<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>89899</bug_id>
          
          <creation_ts>2012-06-25 11:47:10 -0700</creation_ts>
          <short_desc>Don&apos;t collect non-self-painting subtree in RenderLayer&apos;s normal flow list</short_desc>
          <delta_ts>2017-07-18 08:29:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75001</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>656760</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-25 11:47:10 -0700</bug_when>
    <thetext>Following bug 88888, we don&apos;t walk the non-self-painting subtree as an optimization. We could go one step further and don&apos;t collect them altogether. That should save some memory and remove some of the explicit checks that we have during painting. This also means that the optimization from bug 88888 would apply more broadly - it is an all-or-nothing optimization - as we will only walk the needed layer subtree.

One of the points to be careful with is that the compositing code requires to know if there are any non-composited visible descendant. Because non-self-painting layers are normal flow and cannot be composited, this is just a matter of storing when we skip one in our parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656865</commentid>
    <comment_count>1</comment_count>
      <attachid>149359</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-25 14:29:42 -0700</bug_when>
    <thetext>Created attachment 149359
Proposed change v1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693232</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-12 03:54:44 -0700</bug_when>
    <thetext>I&apos;m interested in this.  We should discuss this in the office this week and get this landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696499</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-15 16:39:32 -0700</bug_when>
    <thetext>The change looks fine to me.  I would like to better understand the justification for it.  Is this a perf win?  You mentioned this uses less memory?  How much?  Maybe just some simple printf() + wc debugging on a couple of popular pages to judge the effect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696500</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-15 16:39:57 -0700</bug_when>
    <thetext>You have my r+ as soon as you justify the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744705</commentid>
    <comment_count>5</comment_count>
      <attachid>149359</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-10-17 15:31:09 -0700</bug_when>
    <thetext>Comment on attachment 149359
Proposed change v1.

Clearing the review flag until I can answer Eric&apos;s valid performance question.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149359</attachid>
            <date>2012-06-25 14:29:42 -0700</date>
            <delta_ts>2012-10-17 15:31:09 -0700</delta_ts>
            <desc>Proposed change v1.</desc>
            <filename>bug-89899-20120625142941.patch</filename>
            <type>text/plain</type>
            <size>32939</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIyNTg0MTBhYWQ0OTBj
NWUwZmYzZWJjNzE1OWZmOTVhYjM1ZGNiMy4uMzk4Y2ZiYjI3NTc1YTZlNWE0MjM5ZGI0MWJiMmNj
ZjBlNTQ4ZGM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTA2LTI1ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIERvbid0IGNv
bGxlY3Qgbm9uLXNlbGYtcGFpbnRpbmcgc3VidHJlZSBpbiBSZW5kZXJMYXllcidzIG5vcm1hbCBm
bG93IGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg5ODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvcmVwYWludC9hZGQtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFs
LWZsb3ctbGlzdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvbW92ZS1zZWxmLXBh
aW50aW5nLWxheWVyLW5vcm1hbC1mbG93LXVwZGF0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3JlcGFpbnQvbm9uLXNlbGYtcGFpbnRpbmctdG8tc2VsZi1wYWludGluZy10cmFuc2l0aW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9yZW1vdmUtc2VsZi1wYWludGluZy1sYXll
ci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFp
bnQvc2VsZi1wYWludGluZy10by1ub24tc2VsZi1wYWludGluZy10cmFuc2l0aW9uLmh0bWwKKwor
ICAgICAgICBUaGlzIGNoYW5nZSBpcyBhIGZvbGxvdy11cCBvZiBidWcgODg4ODguIEl0IG1hZGUg
dXMgc2tpcCBub24tc2VsZi1wYWludGluZworICAgICAgICBzdWJ0cmVlcyB3aGVuIHBhaW50aW5n
LiBUaGlzIGlzIGhvd2V2ZXIgYW4gYWxsLW9yLW5vdC1ub3RoaW5nIG9wdGltaXphdGlvbgorICAg
ICAgICAoaWYgeW91IGhhdmUgYSBzZWxmLXBhaW50aW5nIGRlc2NlbmRhbnQsIHdlIHdvdWxkIHdh
bGsgb3ZlciAqYWxsKiBkZXNjZW5kYW50cworICAgICAgICB3aGljaCBjYW4gYmUgZXhwZW5zaXZl
KS4KKworICAgICAgICBBZnRlciB0aGlzIGNoYW5nZSwgd2UgZG9uJ3QgY29sbGVjdCBub24tc2Vs
Zi1wYWludGluZyBzdWJ0cmVlIHNvIHdlIG9ubHkgZXZlcgorICAgICAgICB3YWxrIHN1YnRyZWVz
IHRoYXQgc2hvdWxkIG5lZWQgdG8gYmUgcmVwYWludGVkIG9yIGhpdC10ZXN0ZWQuIFRoaXMgYWxz
byBtZWFucworICAgICAgICB0aGF0IHNlbGYtcGFpbnRpbmcgdHJhbnNpdGlvbnMgbm93IG5lZWQg
dG8gaW52YWxpZGF0ZSBvdXIgYW5jZXN0b3JzJyBub3JtYWwgZmxvdworICAgICAgICBsaXN0cyBv
ciB3ZSB3b3VsZCBpbXByb3Blcmx5IGJlaGF2ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIp
OgorICAgICAgICBVcGRhdGVkIGFmdGVyIHRoZSBuZXcgYm9vbGVhbiBhZGRpdGlvbi4KKworICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmRpcnR5
QW5jZXN0b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFN0YXR1cyk6CisgICAg
ICAgIEFkZGVkIG5vcm1hbCBmbG93IGludmFsaWRhdGlvbiBhcyB3ZSBuZWVkIHRvIHJlLWNvbGxl
Y3QgdGhlIGxheWVycyBmb3IgY29ycmVjdG5lc3MuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpwYWludExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWlu
dExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50UGFnaW5hdGVkQ2hp
bGRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRDaGlsZExheWVy
SW50b0NvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdENvbnRlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0UGFnaW5hdGVkQ2hpbGRMYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdENoaWxkTGF5ZXJDb2x1bW5z
KToKKyAgICAgICAgQWRkZWQgYSBwZXJmb3JtYW5jZSBBU1NFUlQgaW4gYWxsIHRoZSBwcmV2aW91
cyBmdW5jdGlvbnMuIEFsc28gcmVtb3ZlZCB0aGUgYmFpbC1vdXQKKyAgICAgICAgbG9naWMgYXMg
aXQgaXMgbm90IG5lZWRlZCBhbnltb3JlLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6Y29sbGVjdE5vcm1hbEZsb3dMaXN0Rm9yRHVtcGluZyk6CisgICAgICAgIEFkZGVkIHRoaXMg
ZnVuY3Rpb24gdG8ga2VlcCBSZW5kZXJUcmVlQXNUZXh0J3MgZHVtcGluZyBpZGVudGljYWwuIFRo
aXMgdW5mb3J0dW5hdGVseQorICAgICAgICBtZWFucyB0aGF0IHNob3dMYXllclRyZWUgd2lsbCBs
aWUgdG8gdXMuIE5vdCBkb2luZyB0aGF0IHdvdWxkIGludm9sdmUgYSBtYXNzaXZlIHJlYmFzZWxp
bmUuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVOb3JtYWxGbG93TGlz
dCk6CisgICAgICAgIFJlZmFjdG9yZWQgdGhlIGNvZGUgdG8gc2tpcCBub24tc2VsZi1wYWludGlu
ZyBzdWJ0cmVlcy4gVG8gZW5zdXJlIHRoYXQgd2UgcHJvcGVybHkgY29tcG9zaXRlLAorICAgICAg
ICB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgYW55IHZpc2libGUgc2tpcHBlZCBsYXllcnMuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpoYXNOb25TZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnRWaXNpYmxlKToKKyAg
ICAgICAgQWRkZWQgdGhpcyBnZXR0ZXIuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6aGFz
VmlzaWJsZU5vbkNvbXBvc2l0aW5nRGVzY2VuZGFudExheWVycyk6CisgICAgICAgIFVwZGF0ZWQg
dGhpcyBmdW5jdGlvbiB0byBiYWlsIGVhcmx5IGlmIHdlIGtub3cgd2UgaGF2ZSBza2lwcGVkIGEg
dmlzaWJsZSBzZWxmLXBhaW50aW5nIGxheWVyLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVMYXllcnMpOiBVcGRhdGVk
IHRvIHVzZSBjb2xsZWN0Tm9ybWFsRmxvd0xpc3RGb3JEdW1waW5nLgorCiAyMDEyLTA2LTIyICBK
b2NlbHluIFR1cmNvdHRlICA8dHVyY290dGUuakBnbWFpbC5jb20+CiAKICAgICAgICAgW1F0XSBG
aXggdGhlIHJlbW90ZSBpbnNwZWN0b3IgbG9hZGluZyBwcm9ibGVtcyBvbiBNYWMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDEwMTZkYTUxZmFmNTg4NjcxNjA1
ODRiNzMyMmUyZGFiNmRmYmM3NTkuLjk4NDdkZDY5OWIxNWQ0ZWVkNTlmYTcyOGUwZjJmZWRkZmQ2
ZWU3MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTM0
LDYgKzEzNCw3IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVuZGVyZXIpCiAgICAgOiBtX2luUmVzaXplTW9kZShmYWxzZSkKICAgICAsIG1fc2Nyb2xs
RGltZW5zaW9uc0RpcnR5KHRydWUpCiAgICAgLCBtX25vcm1hbEZsb3dMaXN0RGlydHkodHJ1ZSkK
KyAgICAsIG1faGFzTm9uU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50VmlzaWJsZShmYWxzZSkK
ICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNlKQogICAgICwgbV9o
YXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKICAgICAsIG1faXNSb290
TGF5ZXIocmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQpAQCAtNDU3LDYgKzQ1OCw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRh
bnQoKQogCiAgICAgICAgIGxheWVyLT5tX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERp
cnR5ID0gZmFsc2U7CiAgICAgICAgIGxheWVyLT5tX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCA9IHRydWU7CisgICAgICAgIGxheWVyLT5kaXJ0eU5vcm1hbEZsb3dMaXN0KCk7CiAgICAg
fQogfQogCkBAIC00NjQsNiArNDY2LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRpcnR5QW5jZXN0
b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFN0YXR1cygpCiB7CiAgICAgZm9y
IChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50
KCkpIHsKICAgICAgICAgbGF5ZXItPm1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGly
dHkgPSB0cnVlOworICAgICAgICAvLyBBcyB3ZSBkb24ndCBjb2xsZWN0IG5vbi1zZWxmLXBhaW50
aW5nIHN1YnRyZWVzLCB3ZSBuZWVkIHRvIGRpcnR5IHRoZW0gbm93IHNvIHRoYXQgd2UgcHJvcGVy
bHkKKyAgICAgICAgLy8gdXBkYXRlIG91ciBub3JtYWwtZmxvdyBsaXN0IChyZW1vdmFsIG9mIG5v
bi1zZWxmLXBhaW50aW5nLXN1YnRyZWVzIG9yIGFkZGl0aW9uIG9mIG5ldyBvbmVzKS4KKyAgICAg
ICAgbGF5ZXItPmRpcnR5Tm9ybWFsRmxvd0xpc3QoKTsKKwogICAgICAgICAvLyBJZiB3ZSBoYXZl
IHJlYWNoZWQgYSBzZWxmLXBhaW50aW5nIGxheWVyLCB3ZSBrbm93IG91ciBwYXJlbnQgc2hvdWxk
IGhhdmUgYSBzZWxmLXBhaW50aW5nIGRlc2NlbmRhbnQKICAgICAgICAgLy8gaW4gdGhpcyBjYXNl
LCB0aGVyZSBpcyBubyBuZWVkIHRvIGRpcnR5IG91ciBhbmNlc3RvcnMgZnVydGhlci4KICAgICAg
ICAgaWYgKGxheWVyLT5pc1NlbGZQYWludGluZ0xheWVyKCkpIHsKQEAgLTI5MDgsNiArMjkxNCwx
MCBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyKFJlbmRlckxheWVyKiByb290TGF5ZXIs
IEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRl
ck9iamVjdCogcGFpbnRpbmdSb290LCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgT3ZlcmxhcFRlc3RS
ZXF1ZXN0TWFwKiBvdmVybGFwVGVzdFJlcXVlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAg
UGFpbnRMYXllckZsYWdzIHBhaW50RmxhZ3MpCiB7CisgICAgLy8gV2UgZG9uJ3QgY29sbGVjdCBu
b24tc2VsZiBwYWludGluZyBsYXllcnMgYXMgdGhleSBkb24ndCBuZWVkIHRvIGJlIHBhaW50ZWQK
KyAgICAvLyBieSB0aGUgbGF5ZXIgKHRoZSByZW5kZXJlcigpIGFscmVhZHkgdGFrZXMgY2FyZSBv
ZiB0aGF0KS4KKyAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWlu
dGluZ0xheWVyRGVzY2VuZGFudCgpKTsKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICBpZiAoaXNDb21wb3NpdGVkKCkpIHsKICAgICAgICAgLy8gVGhlIHVwZGF0aW5nQ29u
dHJvbFRpbnRzKCkgcGFpbnRpbmcgcGFzcyBnb2VzIHRocm91Z2ggY29tcG9zaXRpbmcgbGF5ZXJz
LApAQCAtMjkyMSwxMCArMjkzMSw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgIH0KICNl
bmRpZgogCi0gICAgLy8gTm9uIHNlbGYtcGFpbnRpbmcgbGVhZiBsYXllcnMgZG9uJ3QgbmVlZCB0
byBiZSBwYWludGVkIGFzIHRoZWlyIHJlbmRlcmVyKCkgc2hvdWxkIHByb3Blcmx5IHBhaW50IGl0
c2VsZi4KLSAgICBpZiAoIWlzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiAhaGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50KCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIGlmIChzaG91bGRTdXBw
cmVzc1BhaW50aW5nTGF5ZXIodGhpcykpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTMyMDks
OSArMzIxNSw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGlzdChWZWN0b3I8UmVuZGVyTGF5
ZXIqPiogbGlzdCwgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwKICAgICBpZiAoIWxpc3QpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGlmICghaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkp
Ci0gICAgICAgIHJldHVybjsKLQogI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICBMYXllckxpc3RN
dXRhdGlvbkRldGVjdG9yIG11dGF0aW9uQ2hlY2tlcih0aGlzKTsKICNlbmRpZgpAQCAtMzIzMCw2
ICszMjMzLDggQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRQYWdpbmF0ZWRDaGlsZExheWVyKFJl
bmRlckxheWVyKiBjaGlsZExheWVyLCBSZW5kZXJMYXllcioKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHBhaW50aW5nUm9vdCwgUmVuZGVy
UmVnaW9uKiByZWdpb24sIE92ZXJsYXBUZXN0UmVxdWVzdE1hcCogb3ZlcmxhcFRlc3RSZXF1ZXN0
cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWludExheWVy
RmxhZ3MgcGFpbnRGbGFncykKIHsKKyAgICBBU1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8
IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKTsKKwogICAgIC8vIFdlIG5lZWQgdG8g
ZG8gbXVsdGlwbGUgcGFzc2VzLCBicmVha2luZyB1cCBvdXIgY2hpbGQgbGF5ZXIgaW50byBzdHJp
cHMuCiAgICAgVmVjdG9yPFJlbmRlckxheWVyKj4gY29sdW1uTGF5ZXJzOwogICAgIFJlbmRlckxh
eWVyKiBhbmNlc3RvckxheWVyID0gaXNOb3JtYWxGbG93T25seSgpID8gcGFyZW50KCkgOiBzdGFj
a2luZ0NvbnRleHQoKTsKQEAgLTMyNTQsNiArMzI1OSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBh
aW50Q2hpbGRMYXllckludG9Db2x1bW5zKFJlbmRlckxheWVyKiBjaGlsZExheWVyLCBSZW5kZXJM
YXllCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJP
YmplY3QqIHBhaW50aW5nUm9vdCwgUmVuZGVyUmVnaW9uKiByZWdpb24sIE92ZXJsYXBUZXN0UmVx
dWVzdE1hcCogb3ZlcmxhcFRlc3RSZXF1ZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBhaW50TGF5ZXJGbGFncyBwYWludEZsYWdzLCBjb25zdCBWZWN0
b3I8UmVuZGVyTGF5ZXIqPiYgY29sdW1uTGF5ZXJzLCBzaXplX3QgY29sSW5kZXgpCiB7CisgICAg
QVNTRVJUKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2Nl
bmRhbnQoKSk7CisKICAgICBSZW5kZXJCbG9jayogY29sdW1uQmxvY2sgPSB0b1JlbmRlckJsb2Nr
KGNvbHVtbkxheWVyc1tjb2xJbmRleF0tPnJlbmRlcmVyKCkpOwogCiAgICAgQVNTRVJUKGNvbHVt
bkJsb2NrICYmIGNvbHVtbkJsb2NrLT5oYXNDb2x1bW5zKCkpOwpAQCAtMzQ3OCw2ICszNDg1LDgg
QEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIoUmVuZGVyTGF5ZXIqIHJv
b3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKIHsKICAgICAvLyBUaGUgbmF0dXJhbCB0aGluZyB3
b3VsZCBiZSB0byBrZWVwIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZSBvbiB0aGUgc3RhY2ssIGJ1
dCBpdCdzIGJpZywgc28gd2UgaGVhcC1hbGxvY2F0ZS4KIAorICAgIEFTU0VSVChpc1NlbGZQYWlu
dGluZ0xheWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpOworCiAgICAg
Ym9vbCB1c2VUZW1wb3JhcnlDbGlwUmVjdHMgPSByZW5kZXJlcigpLT52aWV3KCktPmZyYW1lVmll
dygpLT5jb250YWluc1Njcm9sbGFibGVBcmVhV2l0aE92ZXJsYXlTY3JvbGxiYXJzKCk7CiAKICAg
ICAvLyBBcHBseSBhIHRyYW5zZm9ybSBpZiB3ZSBoYXZlIG9uZS4KQEAgLTM2NDIsNiArMzY1MSw4
IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKFJlbmRlckxheWVyKiBy
b290TGF5ZXIsIFJlbmRlckxheWVyKiBjb250CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RD
b250ZW50cyhjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCBjb25zdCBMYXlvdXRSZWN0JiBsYXllckJvdW5kcywgY29uc3QgSGl0VGVzdFBvaW50JiBo
aXRUZXN0UG9pbnQsIEhpdFRlc3RGaWx0ZXIgaGl0VGVzdEZpbHRlcikgY29uc3QKIHsKKyAgICBB
U1NFUlQoaXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCgpKTsKKwogICAgIGlmICghcmVuZGVyZXIoKS0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQs
IGhpdFRlc3RQb2ludCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b0xheW91dFBvaW50
KGxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoaXRUZXN0RmlsdGVyKSkgewpAQCAtMzcwNyw2ICszNzE4LDgg
QEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGlzdChWZWN0b3I8UmVuZGVyTGF5
ZXIqPiogbGlzdCwgUmVuZGVyTGF5ZXIqIHIKIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0
VGVzdFBhZ2luYXRlZENoaWxkTGF5ZXIoUmVuZGVyTGF5ZXIqIGNoaWxkTGF5ZXIsIFJlbmRlckxh
eWVyKiByb290TGF5ZXIsIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVz
dWx0JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IExheW91dFJlY3QmIGhpdFRlc3RSZWN0LCBjb25zdCBIaXRUZXN0UG9p
bnQmIGhpdFRlc3RQb2ludCwgY29uc3QgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKiB0cmFuc2Zv
cm1TdGF0ZSwgZG91YmxlKiB6T2Zmc2V0KQogeworICAgIEFTU0VSVChpc1NlbGZQYWludGluZ0xh
eWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpOworCiAgICAgVmVjdG9y
PFJlbmRlckxheWVyKj4gY29sdW1uTGF5ZXJzOwogICAgIFJlbmRlckxheWVyKiBhbmNlc3Rvckxh
eWVyID0gaXNOb3JtYWxGbG93T25seSgpID8gcGFyZW50KCkgOiBzdGFja2luZ0NvbnRleHQoKTsK
ICAgICBmb3IgKFJlbmRlckxheWVyKiBjdXJyID0gY2hpbGRMYXllci0+cGFyZW50KCk7IGN1cnI7
IGN1cnIgPSBjdXJyLT5wYXJlbnQoKSkgewpAQCAtMzcyNSw2ICszNzM4LDggQEAgUmVuZGVyTGF5
ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0Q2hpbGRMYXllckNvbHVtbnMoUmVuZGVyTGF5ZXIqIGNo
aWxkTGF5ZXIsIFJlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IExheW91dFJlY3QmIGhpdFRlc3RSZWN0LCBjb25zdCBIaXRUZXN0UG9p
bnQmIGhpdFRlc3RQb2ludCwgY29uc3QgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKiB0cmFuc2Zv
cm1TdGF0ZSwgZG91YmxlKiB6T2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPFJlbmRlckxheWVyKj4mIGNvbHVtbkxh
eWVycywgc2l6ZV90IGNvbHVtbkluZGV4KQogeworICAgIEFTU0VSVChpc1NlbGZQYWludGluZ0xh
eWVyKCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpOworCiAgICAgUmVuZGVy
QmxvY2sqIGNvbHVtbkJsb2NrID0gdG9SZW5kZXJCbG9jayhjb2x1bW5MYXllcnNbY29sdW1uSW5k
ZXhdLT5yZW5kZXJlcigpKTsKIAogICAgIEFTU0VSVChjb2x1bW5CbG9jayAmJiBjb2x1bW5CbG9j
ay0+aGFzQ29sdW1ucygpKTsKQEAgLTQ1NDIsNiArNDU1NywxNiBAQCB2b2lkIFJlbmRlckxheWVy
OjpkaXJ0eU5vcm1hbEZsb3dMaXN0KCkKICNlbmRpZgogfQogCit2b2lkIFJlbmRlckxheWVyOjpj
b2xsZWN0Tm9ybWFsRmxvd0xpc3RGb3JEdW1waW5nKFZlY3RvcjxSZW5kZXJMYXllcio+JiBsYXll
cnMpIGNvbnN0Cit7CisgICAgZm9yIChSZW5kZXJMYXllciogY2hpbGQgPSBmaXJzdENoaWxkKCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmICghY2hp
bGQtPmlzTm9ybWFsRmxvd09ubHkoKSB8fCByZWZsZWN0aW9uTGF5ZXIoKSA9PSBjaGlsZCkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGxheWVycy5hcHBlbmQoY2hpbGQpOworICAg
IH0KK30KKwogdm9pZCBSZW5kZXJMYXllcjo6cmVidWlsZFpPcmRlckxpc3RzKCkKIHsKICAgICBB
U1NFUlQobV9sYXllckxpc3RNdXRhdGlvbkFsbG93ZWQpOwpAQCAtNDU3MywxMyArNDU5OCwyMiBA
QCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVOb3JtYWxGbG93TGlzdCgpCiAKICAgICBBU1NFUlQo
bV9sYXllckxpc3RNdXRhdGlvbkFsbG93ZWQpOwogCisgICAgbV9oYXNOb25TZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnRWaXNpYmxlID0gZmFsc2U7CisKICAgICBmb3IgKFJlbmRlckxheWVyKiBj
aGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkp
IHsKLSAgICAgICAgLy8gSWdub3JlIG5vbi1vdmVyZmxvdyBsYXllcnMgYW5kIHJlZmxlY3Rpb25z
LgotICAgICAgICBpZiAoY2hpbGQtPmlzTm9ybWFsRmxvd09ubHkoKSAmJiAoIW1fcmVmbGVjdGlv
biB8fCByZWZsZWN0aW9uTGF5ZXIoKSAhPSBjaGlsZCkpIHsKLSAgICAgICAgICAgIGlmICghbV9u
b3JtYWxGbG93TGlzdCkKLSAgICAgICAgICAgICAgICBtX25vcm1hbEZsb3dMaXN0ID0gbmV3IFZl
Y3RvcjxSZW5kZXJMYXllcio+OwotICAgICAgICAgICAgbV9ub3JtYWxGbG93TGlzdC0+YXBwZW5k
KGNoaWxkKTsKKyAgICAgICAgaWYgKCFjaGlsZC0+aXNOb3JtYWxGbG93T25seSgpIHx8IHJlZmxl
Y3Rpb25MYXllcigpID09IGNoaWxkKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
Ly8gSWdub3JlIG5vbi1zZWxmIHBhaW50aW5nIGxheWVycyBidXQgcmVjb3JkIGlmIHdlIGhhdmUg
YSB2aXNpYmxlIG9uZSBmb3IgdGhlIGNvbXBvc2l0aW5nIGNvZGUuCisgICAgICAgIGlmICghY2hp
bGQtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiAhY2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoIWNoaWxkLT5pc0NvbXBvc2l0ZWQo
KSk7CisgICAgICAgICAgICBtX2hhc05vblNlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFZpc2li
bGUgfD0gY2hpbGQtPmhhc1Zpc2libGVDb250ZW50KCkgfHwgY2hpbGQtPmhhc1Zpc2libGVEZXNj
ZW5kYW50KCk7CisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQorCisgICAgICAgIGlm
ICghbV9ub3JtYWxGbG93TGlzdCkKKyAgICAgICAgICAgIG1fbm9ybWFsRmxvd0xpc3QgPSBuZXcg
VmVjdG9yPFJlbmRlckxheWVyKj47CisgICAgICAgIG1fbm9ybWFsRmxvd0xpc3QtPmFwcGVuZChj
aGlsZCk7CiAgICAgfQogICAgIAogICAgIG1fbm9ybWFsRmxvd0xpc3REaXJ0eSA9IGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA1OTljNTE3MTQ1MDNmZThm
NTNlZmNlM2QyNDZlZjc5YmVmNDMzNzA3Li43NTc3NmU5NzYzNzNhZTViNmUwODQwZTgyODQ5NWFj
OTA1NGM0YzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDMz
LDYgKzQzMywxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpcnR5Tm9ybWFsRmxvd0xpc3QoKTsK
ICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbm9ybWFsRmxvd0xpc3QoKSBjb25zdCB7IEFTU0VS
VCghbV9ub3JtYWxGbG93TGlzdERpcnR5KTsgcmV0dXJuIG1fbm9ybWFsRmxvd0xpc3Q7IH0KKyAg
ICBib29sIGhhc05vblNlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFZpc2libGUoKSBjb25zdCB7
IEFTU0VSVCghbV9ub3JtYWxGbG93TGlzdERpcnR5KTsgcmV0dXJuIG1faGFzTm9uU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50VmlzaWJsZTsgfQorCisgICAgLy8gRm9yIHBlcmZvcm1hbmNlLCBu
b3JtYWxGbG93TGlzdCBkb2Vzbid0IGNvbnRhaW4gbm9uLXNlbGYtcGFpbnRpbmcgc3VidHJlZXMg
YW5kIHRodXMgaXNuJ3QgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZHVtcGluZyB0aGUgbGF5ZXIgdHJl
ZS4KKyAgICAvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgcmVtb3ZlZCBidXQgaXQg
d291bGQgcmVxdWlyZSBhIGxvdCBvZiBURVhUIHJlYmFzZWxpbmluZy4KKyAgICB2b2lkIGNvbGxl
Y3ROb3JtYWxGbG93TGlzdEZvckR1bXBpbmcoVmVjdG9yPFJlbmRlckxheWVyKj4mKSBjb25zdDsK
IAogICAgIC8vIFVwZGF0ZSBvdXIgbm9ybWFsIGFuZCB6LWluZGV4IGxpc3RzLgogICAgIHZvaWQg
dXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7CkBAIC04NzksNyArODg0LDkgQEAgcHJvdGVjdGVk
OgogCiAgICAgYm9vbCBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSA6IDE7CiAgICAgYm9vbCBtX3pP
cmRlckxpc3RzRGlydHkgOiAxOworCiAgICAgYm9vbCBtX25vcm1hbEZsb3dMaXN0RGlydHk6IDE7
CisgICAgYm9vbCBtX2hhc05vblNlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudFZpc2libGUgOiAx
OwogICAgIGJvb2wgbV9pc05vcm1hbEZsb3dPbmx5IDogMTsKIAogICAgIGJvb2wgbV9pc1NlbGZQ
YWludGluZ0xheWVyIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKaW5kZXggZjlhODE4YTE1NmQ5Njk1ZWY0ZmUwOTlkYWMxMWVmY2RlYWQx
ZDk2NC4uNzBiYzNhNjU2NTExMjgxZWRkMjMzMTUzMGE4NjNlOGNkYjlhMDYzMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTk0MSw2
ICs5NDEsOSBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6aGFzVmlzaWJsZU5vbkNvbXBvc2l0
aW5nRGVzY2VuZGFudExheWVycygpIGNvbnN0CiAgICAgTGF5ZXJMaXN0TXV0YXRpb25EZXRlY3Rv
ciBtdXRhdGlvbkNoZWNrZXIobV9vd25pbmdMYXllcik7CiAjZW5kaWYKIAorICAgIGlmIChtX293
bmluZ0xheWVyLT5oYXNOb25TZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnRWaXNpYmxlKCkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBub3Jt
YWxGbG93TGlzdCA9IG1fb3duaW5nTGF5ZXItPm5vcm1hbEZsb3dMaXN0KCkpIHsKICAgICAgICAg
c2l6ZV90IGxpc3RTaXplID0gbm9ybWFsRmxvd0xpc3QtPnNpemUoKTsKICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggNTljZWViZDY4NWMyNjU5ZjcwMGI0YjVk
NzQ4MzZiNGFjZjEyYmFlZi4uM2I3YmQ5NzIwM2RjMTIxZWY1NWFiZTY1ODdlMTk3MzMzYmMyMDlk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApA
QCAtNzYwLDE1ICs3NjAsMTcgQEAgc3RhdGljIHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVhbSYg
dHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWUKICAgICBpZiAoc2hv
dWxkUGFpbnQpCiAgICAgICAgIHdyaXRlKHRzLCAqbCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3Qu
cmVjdCgpLCBjbGlwUmVjdFRvQXBwbHkucmVjdCgpLCBvdXRsaW5lUmVjdC5yZWN0KCksIHBhaW50
c0JhY2tncm91bmRTZXBhcmF0ZWx5ID8gTGF5ZXJQYWludFBoYXNlRm9yZWdyb3VuZCA6IExheWVy
UGFpbnRQaGFzZUFsbCwgaW5kZW50LCBiZWhhdmlvcik7CiAKLSAgICBpZiAoVmVjdG9yPFJlbmRl
ckxheWVyKj4qIG5vcm1hbEZsb3dMaXN0ID0gbC0+bm9ybWFsRmxvd0xpc3QoKSkgeworICAgIFZl
Y3RvcjxSZW5kZXJMYXllcio+IG5vcm1hbEZsb3dMaXN0OworICAgIGwtPmNvbGxlY3ROb3JtYWxG
bG93TGlzdEZvckR1bXBpbmcobm9ybWFsRmxvd0xpc3QpOworICAgIGlmIChub3JtYWxGbG93TGlz
dC5zaXplKCkpIHsKICAgICAgICAgaW50IGN1cnJJbmRlbnQgPSBpbmRlbnQ7CiAgICAgICAgIGlm
IChiZWhhdmlvciAmIFJlbmRlckFzVGV4dFNob3dMYXllck5lc3RpbmcpIHsKICAgICAgICAgICAg
IHdyaXRlSW5kZW50KHRzLCBpbmRlbnQpOwotICAgICAgICAgICAgdHMgPDwgIiBub3JtYWwgZmxv
dyBsaXN0KCIgPDwgbm9ybWFsRmxvd0xpc3QtPnNpemUoKSA8PCAiKVxuIjsKKyAgICAgICAgICAg
IHRzIDw8ICIgbm9ybWFsIGZsb3cgbGlzdCgiIDw8IG5vcm1hbEZsb3dMaXN0LnNpemUoKSA8PCAi
KVxuIjsKICAgICAgICAgICAgICsrY3VyckluZGVudDsKICAgICAgICAgfQotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpICE9IG5vcm1hbEZsb3dMaXN0LT5zaXplKCk7ICsraSkKLSAgICAg
ICAgICAgIHdyaXRlTGF5ZXJzKHRzLCByb290TGF5ZXIsIG5vcm1hbEZsb3dMaXN0LT5hdChpKSwg
cGFpbnREaXJ0eVJlY3QsIGN1cnJJbmRlbnQsIGJlaGF2aW9yKTsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSAhPSBub3JtYWxGbG93TGlzdC5zaXplKCk7ICsraSkKKyAgICAgICAgICAg
IHdyaXRlTGF5ZXJzKHRzLCByb290TGF5ZXIsIG5vcm1hbEZsb3dMaXN0LmF0KGkpLCBwYWludERp
cnR5UmVjdCwgY3VyckluZGVudCwgYmVoYXZpb3IpOwogICAgIH0KIAogICAgIGlmIChWZWN0b3I8
UmVuZGVyTGF5ZXIqPiogcG9zTGlzdCA9IGwtPnBvc1pPcmRlckxpc3QoKSkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFl
Zjg1MWQ3MzYzM2FmNDQ4M2Y3ZDZjMDE3ZWEwNjE3MDhjMjg0ZWMuLmUwZmI5NDE3ZDU4MGM3ZTRl
MDdmZWQ2NTkxMzQ1YTA3NTQzM2UzZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wNi0y
NSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBE
b24ndCBjb2xsZWN0IG5vbi1zZWxmLXBhaW50aW5nIHN1YnRyZWUgaW4gUmVuZGVyTGF5ZXIncyBu
b3JtYWwgZmxvdyBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04OTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRob3NlIHRlc3RzIGNvdmVycyBzaW1wbGUgaW52YWxpZGF0aW9uIG9mIHRoZSBsYXll
ciB0cmVlIGludm9sdmluZyBzZWxmLXBhaW50aW5nCisgICAgICAgIGxheWVycy4KKworICAgICAg
ICAqIGZhc3QvcmVwYWludC9hZGQtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZs
b3ctbGlzdC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9hZGQt
c2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9hZGQtc2VsZi1wYWludGluZy1sYXllci11
cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvbW92ZS1zZWxmLXBhaW50aW5nLWxheWVyLW5vcm1hbC1mbG93LXVwZGF0ZS1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9tb3ZlLXNlbGYtcGFpbnRpbmctbGF5
ZXItbm9ybWFsLWZsb3ctdXBkYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9yZXBhaW50L21vdmUtc2VsZi1wYWludGluZy1sYXllci1ub3JtYWwtZmxvdy11cGRhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L25vbi1zZWxmLXBhaW50aW5nLXRvLXNl
bGYtcGFpbnRpbmctdHJhbnNpdGlvbi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVwYWludC9ub24tc2VsZi1wYWludGluZy10by1zZWxmLXBhaW50aW5nLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvbm9uLXNlbGYtcGFp
bnRpbmctdG8tc2VsZi1wYWludGluZy10cmFuc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVwYWludC9yZW1vdmUtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZs
b3ctbGlzdC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9yZW1v
dmUtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9yZW1vdmUtc2VsZi1wYWludGluZy1s
YXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvc2VsZi1wYWludGluZy10by1ub24tc2VsZi1wYWludGluZy10cmFuc2l0aW9uLWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L3NlbGYtcGFpbnRpbmct
dG8tbm9uLXNlbGYtcGFpbnRpbmctdHJhbnNpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcmVwYWludC9zZWxmLXBhaW50aW5nLXRvLW5vbi1zZWxmLXBhaW50aW5nLXRy
YW5zaXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMjIgIFlvc2hpZnVtaSBJbm91ZSAgPHlv
c2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMTc3MzgpOltGb3Jtc10g
dmFsaWRhdGlvbk1lc3NhZ2UgSURMIGF0dHJpYnV0ZSBzaG91bGQgbm90IGhhdmUgcmFuZ2Ugb3Zl
cmZsb3cgbWVzc2FnZSBpZiB2YWx1ZSBpc24ndCByYW5nZSBvdmVyZmxvdwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2FkZC1zZWxmLXBhaW50aW5nLWxheWVyLXVwZGF0ZS1u
b3JtYWwtZmxvdy1saXN0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9h
ZGQtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2FhMmZmNjEzOWE5OGQ1N2QxYjI1Y2RjMzYwM2U5MTExZjQxNzM0YwpH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF6R0MKekxxa2hMJU9xb0NiQ2FaJEck
VGBFTGohWCZCVTF9ZzNybVlzTHlNYDJfMTcyfXhRPV9lSUVHWnJkMyRGZ1ohLWZBCnpnSlY7S25z
Qjk/VDlUfW4pLUxoRDMkZD97Snc0ck9aQGlnLTtYLThuVUl2Qih3PmZrZThmRnx8Vig4JCtWQzBy
Sgp6fEpgbEJeTFlJMSF9Xjh7NDwwcUtHNilEcUZmYlQ0anh2VF5BbCFiKFIoeGkxSDNQJCpIZn1L
bjJjSEIraDlmTWEKeGpMfD9DTyRucDlVXkV3dT03UH4mRnEjVm5OaUtOOUA/JFFTOW48ejE5S2Qh
a2dRdSZYJVF+bG9DSUZZJEgrbGQ3CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYWRkLXNlbGYtcGFpbnRpbmctbGF5ZXItdXBkYXRl
LW5vcm1hbC1mbG93LWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2FkZC1zZWxmLXBhaW50aW5nLWxheWVyLXVwZGF0ZS1ub3JtYWwtZmxvdy1saXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xOTI5MDA1MTM5NTQzOWZkOGM5NGIwMTg4NzUzMjkxNzFlNGU2NGYy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2FkZC1zZWxmLXBh
aW50aW5nLWxheWVyLXVwZGF0ZS1ub3JtYWwtZmxvdy1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDExNgorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTE2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCits
YXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgw
MDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYWRkLXNlbGYtcGFpbnRp
bmctbGF5ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9hZGQtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU1NzgyMmU2NmI2ZDA1OGQ4OGEzNjdkMDE5NjY2NDg2MTA0MmZlYjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYWRkLXNlbGYtcGFp
bnRpbmctbGF5ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QuaHRtbApAQCAtMCwwICsxLDQ0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisuc2VsZlBhaW50aW5n
TGF5ZXIgeworICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOworICAgIGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOworfQorCitkaXYgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBo
ZWlnaHQ6IDEwMHB4OworICAgIC8qIEdpdmUgZWFjaCBkaXYgYSBsYXllciAqLworICAgIG92ZXJm
bG93OiBoaWRkZW47CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorPC9zdHlsZT4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkKKyAgICB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICAgICAgdmFyIG5ld0RpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBuZXdEaXYuY2xhc3NMaXN0LnRvZ2ds
ZSgic2VsZlBhaW50aW5nTGF5ZXIiKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChuZXdE
aXYpOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuUmVw
YWludFRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tCisgICAg
IEJ1ZyA4OTg5OTogRG9uJ3QgY29sbGVjdCBub24tc2VsZi1wYWludGluZyBzdWJ0cmVlIGluIFJl
bmRlckxheWVyJ3Mgbm9ybWFsIGZsb3cgbGlzdAorICAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
YWRkaW5nIGEgc2VsZi1wYWludGluZyBsYXllciBwcm9wZXJseSByZWNvbXB1dGVzIHRoZSBub3Jt
YWwgZmxvdyBsaXN0cy4KKyAgICAgVGhlcmUgc2hvdWxkIGJlIG9ubHkgYSBncmVlbiBzcXVhcmUg
aW4gdGhlIG91dHB1dCwgbm8gcmVkLgorLS0+Cis8ZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxk
aXYgaWQ9InRlc3QiPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L21vdmUtc2Vs
Zi1wYWludGluZy1sYXllci1ub3JtYWwtZmxvdy11cGRhdGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L21vdmUtc2VsZi1wYWludGluZy1sYXllci1ub3JtYWwtZmxvdy11
cGRhdGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhYTJmZjYxMzlhOThkNTdkMWIyNWNkYzM2
MDNlOTExMWY0MTczNGMKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NjkKemNtZUFTQE4/KG9s
SHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhekdDCnpM
cWtoTCVPcW9DYkNhWiRHJFRgRUxqIVgmQlUxfWczcm1Zc0x5TWAyXzE3Mn14UT1fZUlFR1pyZDMk
RmdaIS1mQQp6Z0pWO0tuc0I5P1Q5VH1uKS1MaEQzJGQ/e0p3NHJPWkBpZy07WC04blVJdkIodz5m
a2U4ZkZ8fFYoOCQrVkMwckoKenxKYGxCXkxZSTEhfV44ezQ8MHFLRzYpRHFGZmJUNGp4dlReQWwh
YihSKHhpMUgzUCQqSGZ9S24yY0hCK2g5Zk1hCnhqTHw/Q08kbnA5VV5Fd3U9N1B+JkZxI1ZuTmlL
TjlAPyRRUzluPHoxOUtkIWtnUXUmWCVRfmxvQ0lGWSRIK2xkNwoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L21vdmUtc2VsZi1wYWlu
dGluZy1sYXllci1ub3JtYWwtZmxvdy11cGRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L21vdmUtc2VsZi1wYWludGluZy1sYXllci1ub3JtYWwtZmxvdy11cGRhdGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhN2NhYWU0NzQ0OGMyMzA0OGI0M2ExZDliNjRhYzBh
ZDFkYTI3ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbW92
ZS1zZWxmLXBhaW50aW5nLWxheWVyLW5vcm1hbC1mbG93LXVwZGF0ZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMTYKKyAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDExNgorICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAw
XQorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMTAweDEwMAorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAw
eDEwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L21vdmUtc2VsZi1wYWludGluZy1sYXllci1ub3JtYWwtZmxvdy11
cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9tb3ZlLXNlbGYtcGFpbnRpbmct
bGF5ZXItbm9ybWFsLWZsb3ctdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhjYjcyMjg3NTJkYWNj
MmY0ODE2MTExZWJmZWY1ZjhlMTM1OTdjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9tb3ZlLXNlbGYtcGFpbnRpbmctbGF5ZXItbm9ybWFsLWZsb3ctdXBkYXRl
Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorLnNlbGZQYWludGluZ0xheWVyIHsKKyAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90
YXRlKDkwZGVnKTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKworZGl2IHsKKyAg
ICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAvKiBHaXZlIGVhY2ggZGl2
IGEgbGF5ZXIgKi8KKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGJhY2tncm91bmQtY29sb3I6
IHJlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlcGFpbnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpCisgICAgeworICAg
ICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAg
ICAgIC8vIEtpbGwgdGhlIFJlbmRlckxheWVyLgorICAgICAgICBlbGVtZW50LnN0eWxlLm92ZXJm
bG93ID0gInZpc2libGUiOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuUmVwYWludFRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8IS0tCisgICAgIEJ1ZyA4OTg5OTogRG9uJ3QgY29sbGVjdCBub24tc2VsZi1wYWludGluZyBz
dWJ0cmVlIGluIFJlbmRlckxheWVyJ3Mgbm9ybWFsIGZsb3cgbGlzdAorICAgICBUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgbW92aW5nIGEgc2VsZi1wYWludGluZyBsYXllciBpbiBvdXIgbGF5ZXIgdHJl
ZSAgcHJvcGVybHkgcmVjb21wdXRlcyB0aGUgbm9ybWFsIGZsb3cgbGlzdHMuCisgICAgIFRoZXJl
IHNob3VsZCBiZSBvbmx5IGEgZ3JlZW4gc3F1YXJlIGluIHRoZSBvdXRwdXQsIG5vIHJlZC4KKy0t
PgorPGRpdj4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2IGlkPSJ0ZXN0Ij4KKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9InNlbGZQYWludGluZ0xheWVyIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9ub24tc2VsZi1wYWludGluZy10by1zZWxmLXBhaW50aW5nLXRyYW5z
aXRpb24tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L25vbi1zZWxmLXBh
aW50aW5nLXRvLXNlbGYtcGFpbnRpbmctdHJhbnNpdGlvbi1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2FhMmZmNjEzOWE5OGQ1N2QxYjI1Y2RjMzYwM2U5MTExZjQxNzM0YwpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVCF6R0MKekxxa2hMJU9xb0NiQ2FaJEckVGBFTGohWCZCVTF9
ZzNybVlzTHlNYDJfMTcyfXhRPV9lSUVHWnJkMyRGZ1ohLWZBCnpnSlY7S25zQjk/VDlUfW4pLUxo
RDMkZD97Snc0ck9aQGlnLTtYLThuVUl2Qih3PmZrZThmRnx8Vig4JCtWQzBySgp6fEpgbEJeTFlJ
MSF9Xjh7NDwwcUtHNilEcUZmYlQ0anh2VF5BbCFiKFIoeGkxSDNQJCpIZn1LbjJjSEIraDlmTWEK
eGpMfD9DTyRucDlVXkV3dT03UH4mRnEjVm5OaUtOOUA/JFFTOW48ejE5S2Qha2dRdSZYJVF+bG9D
SUZZJEgrbGQ3CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvbm9uLXNlbGYtcGFpbnRpbmctdG8tc2VsZi1wYWludGluZy10cmFuc2l0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9ub24tc2VsZi1wYWlu
dGluZy10by1zZWxmLXBhaW50aW5nLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE5MjkwMDUxMzk1NDM5ZmQ4Yzk0YjAxODg3NTMyOTE3MWU0ZTY0ZjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm9uLXNlbGYtcGFpbnRpbmctdG8tc2VsZi1w
YWludGluZy10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDExNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4MTE2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXllciBhdCAoOCw4KSBzaXpl
IDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCitsYXll
ciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMDB4MTAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm9uLXNlbGYtcGFpbnRpbmctdG8tc2VsZi1wYWludGlu
Zy10cmFuc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbm9uLXNlbGYtcGFp
bnRpbmctdG8tc2VsZi1wYWludGluZy10cmFuc2l0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE0YmY3
MDhhYjJlODIyYWIyMDQ5ZTA0OTdmNjllNDc1ZDRhZWNhNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9ub24tc2VsZi1wYWludGluZy10by1zZWxmLXBhaW50aW5n
LXRyYW5zaXRpb24uaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c3R5bGU+Cisuc2VsZlBhaW50aW5nTGF5ZXIgeworICAgIC13ZWJraXQtdHJh
bnNmb3JtOiByb3RhdGUoOTBkZWcpOworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQor
CitkaXYgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIC8qIEdp
dmUgZWFjaCBkaXYgYSBsYXllciAqLworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVw
YWludC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkK
KyAgICB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3QiKTsKKyAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJzZWxmUGFpbnRpbmdMYXll
ciIpOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuUmVw
YWludFRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tCisgICAg
IEJ1ZyA4OTg5OTogRG9uJ3QgY29sbGVjdCBub24tc2VsZi1wYWludGluZyBzdWJ0cmVlIGluIFJl
bmRlckxheWVyJ3Mgbm9ybWFsIGZsb3cgbGlzdAorICAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
dHJhbnNpdGlvbmluZyBmcm9tIG5vbi1zZWxmLXBhaW50aW5nIHRvIHNlbGYtcGFpbnRpbmcgbGF5
ZXIgcHJvcGVybHkgcmVjb21wdXRlcyB0aGUgbm9ybWFsIGZsb3cgbGlzdHMuCisgICAgIFRoZXJl
IHNob3VsZCBiZSBvbmx5IGEgZ3JlZW4gc3F1YXJlIGluIHRoZSBvdXRwdXQsIG5vIHJlZC4KKy0t
PgorPGRpdj4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgPGRpdiBpZD0i
dGVzdCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVtb3ZlLXNl
bGYtcGFpbnRpbmctbGF5ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QtZXhwZWN0ZWQucG5nIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbW92ZS1zZWxmLXBhaW50aW5nLWxheWVyLXVwZGF0
ZS1ub3JtYWwtZmxvdy1saXN0LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWEyZmY2MTM5YTk4
ZDU3ZDFiMjVjZGMzNjAzZTkxMTFmNDE3MzRjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY5
CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9r
PG19P29UIXpHQwp6THFraEwlT3FvQ2JDYVokRyRUYEVMaiFYJkJVMX1nM3JtWXNMeU1gMl8xNzJ9
eFE9X2VJRUdacmQzJEZnWiEtZkEKemdKVjtLbnNCOT9UOVR9biktTGhEMyRkP3tKdzRyT1pAaWct
O1gtOG5VSXZCKHc+ZmtlOGZGfHxWKDgkK1ZDMHJKCnp8SmBsQl5MWUkxIX1eOHs0PDBxS0c2KURx
RmZiVDRqeHZUXkFsIWIoUih4aTFIM1AkKkhmfUtuMmNIQitoOWZNYQp4akx8P0NPJG5wOVVeRXd1
PTdQfiZGcSNWbk5pS045QD8kUVM5bjx6MTlLZCFrZ1F1JlglUX5sb0NJRlkkSCtsZDcKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9y
ZW1vdmUtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVtb3ZlLXNlbGYtcGFpbnRpbmctbGF5
ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliOWRm
Y2I0YmEzYTIwMDRiNjdjMzU4NDUxYTMzNjQ5ZTNmZjc5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVtb3ZlLXNlbGYtcGFpbnRpbmctbGF5ZXItdXBkYXRl
LW5vcm1hbC1mbG93LWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTE2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMTYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgx
MDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0ZGMDAwMF0KK2xheWVyIGF0ICg4LDgpIHNpemUg
MTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVtb3ZlLXNlbGYtcGFpbnRpbmct
bGF5ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9yZW1vdmUtc2VsZi1wYWludGluZy1sYXllci11cGRhdGUtbm9ybWFsLWZsb3ctbGlzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY4NTQ4NDA1ZjM1YTMwMjAzZjk1YmY2MTJkYWE4ZGU4ZjA2MzFjOTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVtb3ZlLXNlbGYt
cGFpbnRpbmctbGF5ZXItdXBkYXRlLW5vcm1hbC1mbG93LWxpc3QuaHRtbApAQCAtMCwwICsxLDU3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisuc2VsZlBhaW50
aW5nTGF5ZXIgeworICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOworICAgIGJh
Y2tncm91bmQtY29sb3I6IHB1cnBsZTsKK30KKworLmdyZWVuTWFzayB7CisgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIGxlZnQ6IDhweDsKKyAgICB0b3A6IDhweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKK30KKworZGl2IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAvKiBHaXZlIGVhY2ggZGl2IGEgbGF5ZXIgKi8KKyAgICBvdmVyZmxvdzog
aGlkZGVuOworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpCisgICAgeworICAgICAgICBpZiAoZG9jdW1lbnQuYm9keSkKKyAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOworCisgICAgICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICAgICAg
ZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpOworICAgIH0KKworICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuUmVwYWludFRlc3QsIGZhbHNlKTsKKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tCisgICAgIEJ1ZyA4OTg5OTogRG9uJ3QgY29s
bGVjdCBub24tc2VsZi1wYWludGluZyBzdWJ0cmVlIGluIFJlbmRlckxheWVyJ3Mgbm9ybWFsIGZs
b3cgbGlzdAorICAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVtb3ZpbmcgYSBzZWxmLXBhaW50
aW5nIGxheWVyIHByb3Blcmx5IHJlY29tcHV0ZXMgdGhlIG5vcm1hbCBmbG93IGxpc3RzLgorICAg
ICBUaGVyZSBzaG91bGQgYmUgb25seSBhIGdyZWVuIHNxdWFyZSBpbiB0aGUgb3V0cHV0LCBubyBy
ZWQuCistLT4KKzxkaXYgY2xhc3M9ImdyZWVuTWFzayI+PC9kaXY+Cis8ZGl2PgorICAgIDxkaXY+
CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8ZGl2IGlkPSJ0ZXN0IiBjbGFzcz0ic2VsZlBh
aW50aW5nTGF5ZXIiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3Nl
bGYtcGFpbnRpbmctdG8tbm9uLXNlbGYtcGFpbnRpbmctdHJhbnNpdGlvbi1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvc2VsZi1wYWludGluZy10by1ub24tc2VsZi1wYWlu
dGluZy10cmFuc2l0aW9uLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWEyZmY2MTM5YTk4ZDU3
ZDFiMjVjZGMzNjAzZTkxMTFmNDE3MzRjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY5Cnpj
bWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19
P29UIXpHQwp6THFraEwlT3FvQ2JDYVokRyRUYEVMaiFYJkJVMX1nM3JtWXNMeU1gMl8xNzJ9eFE9
X2VJRUdacmQzJEZnWiEtZkEKemdKVjtLbnNCOT9UOVR9biktTGhEMyRkP3tKdzRyT1pAaWctO1gt
OG5VSXZCKHc+ZmtlOGZGfHxWKDgkK1ZDMHJKCnp8SmBsQl5MWUkxIX1eOHs0PDBxS0c2KURxRmZi
VDRqeHZUXkFsIWIoUih4aTFIM1AkKkhmfUtuMmNIQitoOWZNYQp4akx8P0NPJG5wOVVeRXd1PTdQ
fiZGcSNWbk5pS045QD8kUVM5bjx6MTlLZCFrZ1F1JlglUX5sb0NJRlkkSCtsZDcKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxm
LXBhaW50aW5nLXRvLW5vbi1zZWxmLXBhaW50aW5nLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3NlbGYtcGFpbnRpbmctdG8tbm9uLXNlbGYtcGFpbnRp
bmctdHJhbnNpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkyOTAwNTEzOTU0MzlmZDhj
OTRiMDE4ODc1MzI5MTcxZTRlNjRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9zZWxmLXBhaW50aW5nLXRvLW5vbi1zZWxmLXBhaW50aW5nLXRyYW5zaXRpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTE2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMTYKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMDAKK2xheWVyIGF0ICg4LDgp
IHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAg
W2JnY29sb3I9I0ZGMDAwMF0KK2xheWVyIGF0ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMTAw
eDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0
ICg4LDgpIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEw
MHgxMDAgW2JnY29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9zZWxmLXBhaW50aW5nLXRvLW5vbi1zZWxmLXBhaW50aW5nLXRyYW5zaXRpb24uaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9zZWxmLXBhaW50aW5nLXRvLW5vbi1zZWxmLXBhaW50
aW5nLXRyYW5zaXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzI0MGY1ZGI3OTYzMTU4NzkzMGEwMjEw
NzIyOTE2NTIwNGU5OWU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L3NlbGYtcGFpbnRpbmctdG8tbm9uLXNlbGYtcGFpbnRpbmctdHJhbnNpdGlvbi5odG1sCkBA
IC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4K
Ky5zZWxmUGFpbnRpbmdMYXllciB7CisgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRl
Zyk7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcHVycGxlOworfQorCisuZ3JlZW4geworICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworfQorCitkaXYgeworICAgIHdpZHRoOiAxMDBweDsKKyAg
ICBoZWlnaHQ6IDEwMHB4OworICAgIC8qIEdpdmUgZWFjaCBkaXYgYSBsYXllciAqLworICAgIG92
ZXJmbG93OiBoaWRkZW47CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorPC9zdHlsZT4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkKKyAgICB7CisgICAgICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICAgICAgZWxlbWVudC5jbGFzc0xp
c3QudG9nZ2xlKCJzZWxmUGFpbnRpbmdMYXllciIpOworICAgICAgICBlbGVtZW50LmNsYXNzTGlz
dC50b2dnbGUoImdyZWVuIik7CisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5SZXBhaW50VGVzdCwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwhLS0KKyAgICAgQnVnIDg5ODk5OiBEb24ndCBjb2xsZWN0IG5vbi1zZWxmLXBhaW50aW5n
IHN1YnRyZWUgaW4gUmVuZGVyTGF5ZXIncyBub3JtYWwgZmxvdyBsaXN0CisgICAgIFRoaXMgdGVz
dCBjaGVja3MgdGhhdCB0cmFuc2l0aW9uaW5nIGZyb20gc2VsZi1wYWludGluZyB0byBub24tc2Vs
Zi1wYWludGluZyBsYXllciBwcm9wZXJseSByZWNvbXB1dGVzIHRoZSBub3JtYWwgZmxvdyBsaXN0
cy4KKyAgICAgVGhlcmUgc2hvdWxkIGJlIG9ubHkgYSBncmVlbiBzcXVhcmUgaW4gdGhlIG91dHB1
dCwgbm8gcmVkLgorLS0+Cis8ZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICA8ZGl2IGlkPSJ0ZXN0IiBjbGFzcz0ic2VsZlBhaW50aW5nTGF5ZXIiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>