<?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>8736</bug_id>
          
          <creation_ts>2006-05-04 12:07:47 -0700</creation_ts>
          <short_desc>webkit-border-radius does not show if radius is more than half the side length</short_desc>
          <delta_ts>2009-05-28 10:47:15 -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>CSS</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lewis Francis">lewis</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>aroben</cc>
    
    <cc>emacemac7</cc>
    
    <cc>hmurr</cc>
    
    <cc>ian</cc>
    
    <cc>joost</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>41256</commentid>
    <comment_count>0</comment_count>
    <who name="Lewis Francis">lewis</who>
    <bug_when>2006-05-04 12:07:47 -0700</bug_when>
    <thetext>There seems to be some sort of relationship between font size and the webkit-border-radius property value for form fields. In the test case, having a smaller font size than the radius value prevents rounding of the field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41257</commentid>
    <comment_count>1</comment_count>
      <attachid>8108</attachid>
    <who name="Lewis Francis">lewis</who>
    <bug_when>2006-05-04 12:08:52 -0700</bug_when>
    <thetext>Created attachment 8108
Test case for bug #8736</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44617</commentid>
    <comment_count>2</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2006-06-04 09:27:43 -0700</bug_when>
    <thetext>If i&apos;m not mistaken, this is because the second box is not tall enough to have 20px borders, so they get turned off. I think it&apos;s only indirectly related to the text size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48497</commentid>
    <comment_count>3</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-07-06 05:46:48 -0700</bug_when>
    <thetext>Sent the following message to www-style, i propose waiting for an answer on it before we do anything with this bug:

When an element has a border-radius that is more than half the the element&apos;s width or height, should it draw a border at all? 

F/I:

&lt;div style=&quot;height: 50px; width: 50px; border-radius: 30px; background-color: #0f0;&quot;&gt;&lt;/div&gt;

In WebKit, this div will not be rounded, since it&apos;s height is to low to have a rounded with a radius of 30px. The spec, up till now, says nothing of how to behave in this situation. My suggestion would be to add:

&quot;If the border-radius is more than half of the width or height of an element, the border-radius is not drawn at all.&quot;

I&apos;d like to hear your opinion on this situation.

For reference, this is bug 8736 in WebKit&apos;s bugzilla.

Kind regards,
Joost</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48507</commentid>
    <comment_count>4</comment_count>
    <who name="Lewis Francis">lewis</who>
    <bug_when>2006-07-06 06:25:22 -0700</bug_when>
    <thetext>We might also look towards how Firefox handles this; changing &apos;-webkit&apos; to &apos;-moz&apos; for either test case results in a rounded border; in the case of Joost&apos;s example, a circle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48695</commentid>
    <comment_count>5</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2006-07-07 05:20:29 -0700</bug_when>
    <thetext>Discussion is going on on www-style about this, my guess is info on how to handle this will be added to the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5733</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-07-02 05:24:07 -0700</bug_when>
    <thetext>www-style archive link: &lt;http://lists.w3.org/Archives/Public/www-style/2006Jul/0017.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121552</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-15 11:58:16 -0700</bug_when>
    <thetext>The latest CSS3 draft says:
&quot;Corners do not overlap: When the sum of two adjacent corner radii exceeds the size of the border box, UAs must reduce one or more of the radii. The algorithm for reducing radii is as follows:
The sum of two adjacent radii may not be more than the width or height (whichever is relevant) of the box. If any sum exceeds that value, all radii are reduced according to the following formula: Let f = min(Li/Si), where i &amp;#8712; {top, right, bottom, left}, Si is the sum of the radii of the corners on side i, and Ltop = Lbottom = the width of the box, and Lleft = Lright = the height of the box. If f &lt; 1, then all corner radii are reduced by multiplying them by f.&quot;

http://www.w3.org/TR/css3-background/#the-border-radius</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121622</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-15 23:23:18 -0700</bug_when>
    <thetext>I&apos;m working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121624</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-15 23:26:45 -0700</bug_when>
    <thetext>*** Bug 21332 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121667</commentid>
    <comment_count>10</comment_count>
      <attachid>30419</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-16 20:38:27 -0700</bug_when>
    <thetext>Created attachment 30419
Patch, changelog, 2 new testcases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121668</commentid>
    <comment_count>11</comment_count>
      <attachid>30419</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-16 20:43:15 -0700</bug_when>
    <thetext>Comment on attachment 30419
Patch, changelog, 2 new testcases

I think I got the algorithm wrong. Stand by.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121673</commentid>
    <comment_count>12</comment_count>
      <attachid>30420</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-16 21:37:16 -0700</bug_when>
    <thetext>Created attachment 30420
New patch, changelog, testcases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122081</commentid>
    <comment_count>13</comment_count>
      <attachid>30420</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-05-19 23:21:24 -0700</bug_when>
    <thetext>Comment on attachment 30420
New patch, changelog, testcases

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123428</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-05-28 09:55:35 -0700</bug_when>
    <thetext>Committed in r44235.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123435</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-28 10:47:15 -0700</bug_when>
    <thetext>Thanks Brent, and sorry I didn&apos;t commit this earlier.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8108</attachid>
            <date>2006-05-04 12:08:52 -0700</date>
            <delta_ts>2006-06-04 08:46:10 -0700</delta_ts>
            <desc>Test case for bug #8736</desc>
            <filename>8736_test.html</filename>
            <type>text/html</type>
            <size>1009</size>
            <attacher name="Lewis Francis">lewis</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIK
ICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0
ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+Cgk8
dGl0bGU+VW50aXRsZWQ8L3RpdGxlPgoJPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJC
QkVkaXQgOC4yIiAvPgoJCjxzdHlsZT4gCgouYmx1ZV9yb3VuZGVkMSB7Cgl3aWR0aDoxMDAlOwog
ICAgcGFkZGluZzogNXB4OwogICAgYm9yZGVyOiAwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBs
aWdodGJsdWU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBmb250LXNpemU6
IDMwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIHRleHQt
YWxpZ246IGNlbnRlcjsKfQoKLmJsdWVfcm91bmRlZDIgewoJd2lkdGg6MTAwJTsKICAgIHBhZGRp
bmc6IDVweDsKICAgIGJvcmRlcjogMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVl
OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogICAgZm9udC1zaXplOiAyMHB4Owog
ICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBjb2xvcjogd2hpdGU7CiAgICB0ZXh0LWFsaWduOiBj
ZW50ZXI7Cn0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGZvcm0gbWV0aG9kPSJnZXQiPgo8aW5w
dXQgbmFtZT0idGVzdCIgdHlwZT0idGV4dCIgdmFsdWU9Ii13ZWJraXQtYm9yZGVyLXJhZGl1czog
MjBweDtmb250LXNpemU6IDMwcHg7IiBjbGFzcz0iYmx1ZV9yb3VuZGVkMSIgLz4KPC9mb3JtPgoK
PGZvcm0gbWV0aG9kPSJnZXQiPgo8aW5wdXQgbmFtZT0idGVzdCIgdHlwZT0idGV4dCIgdmFsdWU9
Ii13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDtmb250LXNpemU6IDIwcHg7IiBjbGFzcz0iYmx1
ZV9yb3VuZGVkMiIgLz4KPC9mb3JtPgoKPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30419</attachid>
            <date>2009-05-16 20:38:27 -0700</date>
            <delta_ts>2009-05-16 20:43:15 -0700</delta_ts>
            <desc>Patch, changelog, 2 new testcases</desc>
            <filename>8736_patch.txt</filename>
            <type>text/plain</type>
            <size>27462</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTBiMzkyLi4xMjk1Y2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMDktMDUt
MTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczNgorCisgICAgICAgICogZmFzdC9ib3JkZXJz
L2JvcmRlci1yYWRpdXMtY29uc3RyYWludHMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLmNo
ZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgCisgICAgICAgIFRlc3QgdGhhdCBjb3JuZXIgcmFkaWkgYXJl
IGNvbnN0cmFpbmVkIGFjY29yZGluZyB0byBDU1MzIHJ1bGVzLgorCisgICAgICAgICogZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQuY2hl
Y2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVz
LWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAK
KyAgICAgICAgTm93IHRoYXQgd2UgY29uc3RyYWluIGJvcmRlci1yYWRpdXMsIHVwZGF0ZSB0aGUg
dGV4dCBvZiB0aGUgdGVzdCwgYW5kIHRoZQorICAgICAgICBleHBlY3RlZCByZXN1bHQuCisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1y
YWRpdXMtc3BsaXQtaW5saW5lLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLXNwbGl0LWlubGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAKKyAg
ICAgICAgTmV3IHRlc3QgZm9yIGJvcmRlci1yYWRpdXMgb24gYSBzcGxpdCBpbmxpbmUuCisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1iaWct
ZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRv
dy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC50eHQ6CisKKyAgICAg
ICAgTm93IHRoYXQgd2UgY29uc3RyYWluIGJvcmRlci1yYWRpdXMsIHVwZGF0ZSB0aGUgdGV4dCBv
ZiB0aGUgdGVzdCwgYW5kIHRoZQorICAgICAgICBleHBlY3RlZCByZXN1bHQuCisKIDIwMDktMDUt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLWNvbnN0cmFpbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvYm9y
ZGVyLXJhZGl1cy1jb25zdHJhaW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjZiOTQxODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2JvcmRl
cnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzxodG1s
PgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAg
ZGl2IHsKKyAgICAgIG1hcmdpbjogMjBweDsKKyAgICB9CisgICAgI3NwZWNib3gxIHsKKyAgICAg
IC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICBib3JkZXI6IDIwcHggc29saWQgYmxhY2s7CisgICAg
ICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMwcHg7CisgICAgICAtd2Via2l0LWJv
cmRlci10b3AtcmlnaHQtcmFkaXVzOiA4MHB4OworICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9t
LWxlZnQtcmFkaXVzOiA4MHB4OworICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJh
ZGl1czogMzBweDsKKyAgICB9CisgICAgCisgICAgI3NwZWNib3gyIHsKKyAgICAgIC13ZWJraXQt
Ym94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIGhlaWdo
dDogMjAwcHg7CisgICAgICBib3JkZXI6IDIwcHggc29saWQgYmxhY2s7CisgICAgICAtd2Via2l0
LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMwcHg7CisgICAgICAtd2Via2l0LWJvcmRlci10b3At
cmlnaHQtcmFkaXVzOiA4MHB4OworICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFk
aXVzOiA4MHB4OworICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMzBw
eDsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGVzdCB0aGF0IGNv
cm5lci1yYWRpaSBhcmUgY29uc3RyYWluZWQgYWNjb3JkaW5nIHRvIHRoZSBDU1MzIHJ1bGVzLjwv
cD4KKyAgPGRpdiBpZD0ic3BlY2JveDEiPjwvZGl2PgorICA8ZGl2IGlkPSJzcGVjYm94MiI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0
Lmh0bWwKaW5kZXggODY3MzY3Zi4uNjk2Y2ZhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1odWdlLWFzc2VydC5odG1sCkBAIC0xMiw3ICsx
Miw3IEBACiAgICAgICAgIEFub3RoZXIgYXNzZXJ0aW9uIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0OjpkcmF3Qm9yZGVyPC9pPi4KICAgICA8L3A+CiAgICAgPHA+Ci0gICAgICAgIFRo
ZXJlIHNob3VsZCBiZSBmb3VyIGlkZW50aWNhbCBzcXVhcmVzIGJlbG93LgorICAgICAgICBUaGVy
ZSBzaG91bGQgYmUgZm91ciBlbGVtZW50cyBiZWxvdzogYSBzcXVhcmUsIGEgYm94IHdpdGggcm91
bmRlZCB0b3AgYW5kIGJvdHRvbSwgYSBib3ggd2l0aCByb3VuZGVkIGxlZnQgYW5kIHJpZ2h0LCBh
bmQgYSBjaXJjbGUuCiAgICAgPC9wPgogICAgIDxkaXY+PC9kaXY+CiAgICAgPGRpdiBzdHlsZT0i
LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA5MjYxNzkxMDNwdCAxMHB4OyI+PC9kaXY+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGlu
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NjFjMzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxp
dC1pbmxpbmUuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgImh0dHA6Ly93d3cudzMu
b3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CisKKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICNzcGxpdCB7CisgICAg
ICB3aWR0aDogMjAwcHg7CisgICAgICBmb250LXNpemU6IDI0cHQ7CisgICAgfQorCisgICAgI3Nw
bGl0ID4gc3BhbiB7CisgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgIGxpbmUt
aGVpZ2h0OiAxLjdlbTsKKyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTRweDsKKyAgICAg
IC13ZWJraXQtYm94LXNoYWRvdzogYmxhY2sgM3B4IDNweCA1cHg7CisgICAgfQorICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CisgIDxwPlRlc3RzIGJvcmRlci1yYWRpdXMgYW5kIGJveC1zaGFk
b3cgb24gYSBzcGxpdCBpbmxpbmUuPC9wPgorICA8ZGl2IGlkPSJzcGxpdCI+CisgICAgPHNwYW4+
SSBhbSBhIHNwYW4gd2hpY2ggaXMgc3BsaXQgb3ZlciB0aHJlZSBsaW5lczwvc3Bhbj4KKyAgPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2JveC1z
aGFkb3cvYm9yZGVyLXJhZGl1cy1iaWcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYm94LXNoYWRv
dy9ib3JkZXItcmFkaXVzLWJpZy5odG1sCmluZGV4IGI1N2E5MWUuLjllMmMyOGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy5odG1sCkBA
IC0xLDggKzEsNSBAQAogPHA+Ci0gICAgVGhpczoKKyAgICBZb3Ugc2hvdWxkIHNlZSBhIGNpcmNs
ZSB3aXRoIGEgc2hhZG93IGFib3ZlIGEgc3F1YXJlIHdpdGggYSBzaGFkb3cuCiA8L3A+CiA8ZGl2
IHN0eWxlPSJtYXJnaW46IDQwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyAtd2Via2l0LWJvcmRlci1y
YWRpdXM6IDQwcHg7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IC13ZWJraXQtYm94LXNoYWRv
dzogYmxhY2sgMTBweCAxMHB4IDA7Ij48L2Rpdj4KLTxwPgotICAgIFNob3VsZCBsb29rIGxpa2Ug
dGhpczoKLTwvcD4KIDxkaXYgc3R5bGU9Im1hcmdpbjogNDBweDsgYmFja2dyb3VuZDogZ3JlZW47
IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IC13ZWJraXQtYm94LXNoYWRvdzogYmxhY2sgMTBw
eCAxMHB4IDA7Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy1leHBlY3RlZC5jaGVja3N1bSBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25z
dHJhaW50cy1leHBlY3RlZC5jaGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5lY2FkNDJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLmNoZWNrc3Vt
CkBAIC0wLDAgKzEgQEAKKzQ1M2E3MWE4YzE5YzUyNDkxZjU3MTVmMjhkMmY0NGIwClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLnBuZyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJh
aW50cy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdj
YWVlYgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy1leHBlY3RlZC5wbmcgZGlm
ZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2Jv
cmRlci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDczMWFmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFk
aXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTcy
CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDE0eDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNDE0OiAiVGVzdCB0aGF0IGNvcm5lci1yYWRpaSBhcmUgY29uc3RyYWlu
ZWQgYWNjb3JkaW5nIHRvIHRoZSBDU1MzIHJ1bGVzLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgyMCwzOCkgc2l6ZSAyMDB4MTAwIFtib3JkZXI6ICgyMHB4IHNvbGlkICMwMDAwMDApXQor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIwLDE1OCkgc2l6ZSAxMDB4MjAwIFtib3JkZXI6
ICgyMHB4IHNvbGlkICMwMDAwMDApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLmNoZWNr
c3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVz
LWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IDkxNmYwMjQuLjUwYzBhZDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy1odWdlLWFzc2VydC1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQu
Y2hlY2tzdW0KQEAgLTEgKzEgQEAKLWY1YmZmNDRhYjY0MDdkYTEzYWQ2NTA1Yjk1YWE4N2E5Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorOGU2Nzg0ZDA5ZWQ2Yzg4Y2IyZjVhYjM3NTA4Njlh
NTIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFk
aXVzLWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLnBuZwppbmRleCAwMzZmMDJlLi5hMzQ4NWFkIDEwMDY0
NApCaW5hcnkgZmlsZXMgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2Jv
cmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQucG5nIGFuZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1odWdlLWFzc2VydC1leHBlY3Rl
ZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0LWV4
cGVjdGVkLnR4dAppbmRleCA2MzQ1ZDczLi4zOWFlMWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9y
ZGVyLXJhZGl1cy1odWdlLWFzc2VydC1leHBlY3RlZC50eHQKQEAgLTE2LDEwICsxNiwxMSBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCAyNDY6ICJXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmRyYXdCb3JkZXIiCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQ2LDE4KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjQ2LDE4KSB3aWR0aCA0OiAiLiIKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCw1Mikgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMjg3eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjg3OiAiVGhlcmUg
c2hvdWxkIGJlIGZvdXIgaWRlbnRpY2FsIHNxdWFyZXMgYmVsb3cuIgotICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsODYpIHNpemUgNTZ4NTYgW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjog
KDNweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE1Mikg
c2l6ZSA1Nng1NiBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDAp
XQotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjE4KSBzaXplIDU2eDU2IFtiZ2NvbG9y
PSNDMEMwQzBdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCi0gICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwyODQpIHNpemUgNTZ4NTYgW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjog
KDNweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1Mikgc2l6
ZSA3ODR4MzYKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzgxeDM2
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzgxOiAiVGhlcmUgc2hvdWxkIGJl
IGZvdXIgZWxlbWVudHMgYmVsb3c6IGEgc3F1YXJlLCBhIGJveCB3aXRoIHJvdW5kZWQgdG9wIGFu
ZCBib3R0b20sIGEgYm94IHdpdGggcm91bmRlZCBsZWZ0IGFuZCByaWdodCwgYW5kIGEiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDM4OiAiY2lyY2xlLiIKKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDEwNCkgc2l6ZSA1Nng1NiBbYmdjb2xvcj0jQzBDMEMwXSBbYm9y
ZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MTcwKSBzaXplIDU2eDU2IFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgzcHggc29saWQgIzAw
MDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyMzYpIHNpemUgNTZ4NTYgW2Jn
Y29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDNweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDMwMikgc2l6ZSA1Nng1NiBbYmdjb2xvcj0jQzBDMEMwXSBbYm9y
ZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS1leHBlY3RlZC5j
aGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMTE5ODU5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0
ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBAQAorZGRiMjg4NTFlZjE1YThkM2ExZTRmNmRlZDlhMTE5
MDIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4cGVj
dGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjlmNDA5OWQKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4
cGVjdGVkLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlu
bGluZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY4
ZDFiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jv
cmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjIwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyMjAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCwxNikgc2l6ZSA3ODR4MTk2CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzM0eDE4Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzM0OiAiVGVzdHMgYm9yZGVyLXJhZGl1
cyBhbmQgYm94LXNoYWRvdyBvbiBhIHNwbGl0IGlubGluZS4iCisgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCwzNCkgc2l6ZSAyMDB4MTYyCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSAxOTl4MTQ5IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDgpIHNpemUgMTk3eDE0NQorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIsOCkgd2lkdGggMTQ2OiAiSSBhbSBhIHNwYW4iCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCw2Mikgd2lkdGggMTcwOiAid2hpY2ggaXMgc3BsaXQiCisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxMTYpIHdpZHRoIDE5NzogIm92ZXIgdGhyZWUgbGluZXMiCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJp
Zy1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1z
aGFkb3cvYm9yZGVyLXJhZGl1cy1iaWctZXhwZWN0ZWQuY2hlY2tzdW0KaW5kZXggMGNjN2IwYS4u
MzQ0MjNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNo
YWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1yYWRpdXMtYmlnLWV4cGVjdGVk
LmNoZWNrc3VtCkBAIC0xICsxIEBACi1iN2JhZjljYzU3Yjg0YmJmMzlhNjM4M2FmNzdmYTlkOQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzA3OTgzZTEzNmUyZDE3M2I2YzczZDE3YTI5M2U0
NDcxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5w
bmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1yYWRp
dXMtYmlnLWV4cGVjdGVkLnBuZwppbmRleCBkMmQ5NmM3Li4zMzQzZDdiIDEwMDY0NApCaW5hcnkg
ZmlsZXMgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1y
YWRpdXMtYmlnLWV4cGVjdGVkLnBuZyBhbmQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ib3gtc2hhZG93L2JvcmRlci1yYWRpdXMtYmlnLWV4cGVjdGVkLnBuZyBkaWZmZXIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJh
ZGl1cy1iaWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94
LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC50eHQKaW5kZXggNWE0Zjc2MS4uOThh
YzY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRv
dy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC50eHQKQEAg
LTQsMTAgKzQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU1MgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0
eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyeDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI6ICJUaGlzOiIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDQxeDE4CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNDQxOiAiWW91IHNob3VsZCBzZWUgYSBjaXJjbGUgd2l0aCBhIHNoYWRvdyBh
Ym92ZSBhIHNxdWFyZSB3aXRoIGEgc2hhZG93LiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICg0MCw1OCkgc2l6ZSA2MHg2MCBbYmdjb2xvcj0jMDA4MDAwXQotICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDE1OCkgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTM0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTM0
OiAiU2hvdWxkIGxvb2sgbGlrZSB0aGlzOiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0
MCwyMTYpIHNpemUgNjB4NjAgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICg0MCwxNTgpIHNpemUgNjB4NjAgW2JnY29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQwZGY0Mi4uZDAx
NWIzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1MSBAQAorMjAwOS0wNS0xNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAg
ICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NzM2CisKKyAgICAgICAgVGVzdHM6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFp
bnRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0
LWlubGluZS5odG1sCisgICAgICAgICAgICAgICAKKyAgICAgICAgV2hlbiB0aGUgc3VtIG9mIHRo
ZSBjb3JuZXIgcmFkaWkgb24gYSBzaWRlIGV4Y2VlZCB0aGUgbGVuZ3RoIG9mIHRoZSBzaWRlLAor
ICAgICAgICByZWR1Y2UgdGhlIHJhZGlpIGFjY29yZGluZyB0byBDU1MgMyBydWxlcy4KKyAgICAg
ICAgCisgICAgICAgIEFkZCBSZW5kZXJTdHlsZTo6Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KCkgdG8g
ZmV0Y2ggY29ybmVyIHJhZGlpLCBhcHBseWluZworICAgICAgICB0aGUgY29uc3RyYWludHMuIFVz
ZSB0aGF0IGZvciBwYWludGluZyBib3JkZXJzLCBib3gtc2hhZG93LCBjbGlwcGluZyByZXBsYWNl
ZAorICAgICAgICBlbGVtZW50cworCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnB1c2hDb250ZW50c0NsaXApOgorICAgICAg
ICBVc2UgZ2V0Qm9yZGVyUmFkaWlGb3JSZWN0IHRvIGZldGNoIGJvcmRlciByYWRpaS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZCk6CisgICAg
ICAgIFVzZSBnZXRCb3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2ggYm9yZGVyIHJhZGlpLgorCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRCb3JkZXIpOgorICAg
ICAgICBVc2UgZ2V0Qm9yZGVyUmFkaWlGb3JSZWN0IHRvIGZldGNoIGJvcmRlciByYWRpaSwgYW5k
IGZpeCBhIGJ1ZyB3aGVuIGRyYXdpbmcKKyAgICAgICAgYm9yZGVycyBmb3Igc3BsaXQgaW5saW5l
cywgd2hpY2ggdXNlZCB0byBhcHBseSB0aGUgcmFkaWkgZm9yIGVhY2ggc2VnbWVudCwKKyAgICAg
ICAgYW5kIG5vIGxvbmdlciBkb2VzLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6cGFpbnRCb3hTaGFkb3cpOgorICAgICAgICBVc2UgZ2V0Qm9yZGVyUmFkaWlGb3JS
ZWN0IHRvIGZldGNoIGJvcmRlciByYWRpaS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cGFpbnQpOgor
ICAgICAgICBVc2UgZ2V0Qm9yZGVyUmFkaWlGb3JSZWN0IHRvIGZldGNoIGJvcmRlciByYWRpaSBm
b3IgY2xpcHBpbmcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6cGFpbnQpOgorICAgICAgICBVc2UgZ2V0Qm9y
ZGVyUmFkaWlGb3JSZWN0IHRvIGZldGNoIGJvcmRlciByYWRpaSBmb3IgY2xpcHBpbmcuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RyYWluUmFk
aXVzV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cmFpblJhZGl1c0hlaWdodHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmdldEJvcmRlclJhZGlpRm9yUmVjdCk6Cisg
ICAgICAgIE5ldyBib3R0bGVuZWNrIG1ldGhvZCB0byBmZXRjaCBjb3JuZXIgcmFkaWlsIGdpdmVu
IGEgcmVjdCwgYXBwbHlpbmcgdGhlIGNvbnN0cmFpbnQKKyAgICAgICAgcnVsZXMuCisKIDIwMDkt
MDUtMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDZiNzQwMWQuLmQ2
YTczMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtODI3LDExICs4MjcsMTQgQEAgYm9v
bCBSZW5kZXJCb3g6OnB1c2hDb250ZW50c0NsaXAoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0
eCwgaW50IHR5KQogICAgIH0KICAgICBJbnRSZWN0IGNsaXBSZWN0KGlzQ29udHJvbENsaXAgPyBj
b250cm9sQ2xpcFJlY3QodHgsIHR5KSA6IG92ZXJmbG93Q2xpcFJlY3QodHgsIHR5KSk7CiAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKLSAgICBpZiAoc3R5bGUoKS0+aGFzQm9yZGVyUmFk
aXVzKCkpCi0gICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoSW50
UmVjdCh0eCwgdHksIHdpZHRoKCksIGhlaWdodCgpKSwgc3R5bGUoKS0+Ym9yZGVyVG9wTGVmdFJh
ZGl1cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
eWxlKCktPmJvcmRlclRvcFJpZ2h0UmFkaXVzKCksIAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKCktPmJvcmRlckJvdHRvbUxlZnRSYWRpdXMoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSgpLT5i
b3JkZXJCb3R0b21SaWdodFJhZGl1cygpKTsKKyAgICBpZiAoc3R5bGUoKS0+aGFzQm9yZGVyUmFk
aXVzKCkpIHsKKyAgICAgICAgSW50U2l6ZSB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwg
Ym90dG9tUmlnaHQ7CisgICAgICAgIEludFJlY3QgYm9yZGVyUmVjdCA9IEludFJlY3QodHgsIHR5
LCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgIHN0eWxlKCktPmdldEJvcmRlclJhZGlpRm9y
UmVjdChib3JkZXJSZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmln
aHQpOworCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoYm9y
ZGVyUmVjdCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0KTsKKyAg
ICB9CisgICAgCiAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAoY2xpcFJlY3QpOwogICAgIHJl
dHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
CmluZGV4IDI4MGMzNjQuLjk1NDRiMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKQEAgLTMxMSwxMSArMzExLDE1IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxP
YmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQoY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvCiAgICAgYm9vbCBjbGlwcGVkVG9Cb3JkZXJSYWRpdXMgPSBmYWxzZTsKICAgICBpZiAoc3R5
bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkgJiYgKGluY2x1ZGVMZWZ0RWRnZSB8fCBpbmNsdWRlUmln
aHRFZGdlKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIGNvbnRleHQtPmFk
ZFJvdW5kZWRSZWN0Q2xpcChJbnRSZWN0KHR4LCB0eSwgdywgaCksCi0gICAgICAgICAgICBpbmNs
dWRlTGVmdEVkZ2UgPyBzdHlsZSgpLT5ib3JkZXJUb3BMZWZ0UmFkaXVzKCkgOiBJbnRTaXplKCks
Ci0gICAgICAgICAgICBpbmNsdWRlUmlnaHRFZGdlID8gc3R5bGUoKS0+Ym9yZGVyVG9wUmlnaHRS
YWRpdXMoKSA6IEludFNpemUoKSwKLSAgICAgICAgICAgIGluY2x1ZGVMZWZ0RWRnZSA/IHN0eWxl
KCktPmJvcmRlckJvdHRvbUxlZnRSYWRpdXMoKSA6IEludFNpemUoKSwKLSAgICAgICAgICAgIGlu
Y2x1ZGVSaWdodEVkZ2UgPyBzdHlsZSgpLT5ib3JkZXJCb3R0b21SaWdodFJhZGl1cygpIDogSW50
U2l6ZSgpKTsKKworICAgICAgICBJbnRTaXplIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0
LCBib3R0b21SaWdodDsKKyAgICAgICAgSW50UmVjdCBib3JkZXJSZWN0KHR4LCB0eSwgdywgaCk7
CisgICAgICAgIHN0eWxlKCktPmdldEJvcmRlclJhZGlpRm9yUmVjdChib3JkZXJSZWN0LCB0b3BM
ZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOworCisgICAgICAgIGNvbnRl
eHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChib3JkZXJSZWN0LCBpbmNsdWRlTGVmdEVkZ2UgPyB0b3BM
ZWZ0IDogSW50U2l6ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW5jbHVkZVJpZ2h0RWRnZSA/IHRvcFJpZ2h0IDogSW50U2l6ZSgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUxlZnRFZGdl
ID8gYm90dG9tTGVmdCA6IEludFNpemUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluY2x1ZGVSaWdodEVkZ2UgPyBib3R0b21SaWdodCA6IEludFNp
emUoKSk7CiAgICAgICAgIGNsaXBwZWRUb0JvcmRlclJhZGl1cyA9IHRydWU7CiAgICAgfQogCkBA
IC03NzcsMjYgKzc4MSwyOSBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEJvcmRl
cihHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgaW50IHR4LAogICAgIGJvb2wgcmVu
ZGVyUmlnaHQgPSBycyA+IEJISURERU4gJiYgZW5kICYmICFydDsKICAgICBib29sIHJlbmRlckJv
dHRvbSA9IGJzID4gQkhJRERFTiAmJiAhYnQ7CiAKLSAgICAvLyBOZWVkIHN1ZmZpY2llbnQgd2lk
dGggYW5kIGhlaWdodCB0byBjb250YWluIGJvcmRlciByYWRpdXMgY3VydmVzLiAgU2FuaXR5IGNo
ZWNrIG91ciBib3JkZXIgcmFkaWkKLSAgICAvLyBhbmQgb3VyIHdpZHRoL2hlaWdodCB2YWx1ZXMg
dG8gbWFrZSBzdXJlIHRoZSBjdXJ2ZXMgY2FuIGFsbCBmaXQuIElmIG5vdCwgdGhlbiB3ZSB3b24n
dCBwYWludAotICAgIC8vIGFueSBib3JkZXIgcmFkaWkuCiAgICAgYm9vbCByZW5kZXJSYWRpaSA9
IGZhbHNlOwotICAgIEludFNpemUgdG9wTGVmdCA9IHN0eWxlLT5ib3JkZXJUb3BMZWZ0UmFkaXVz
KCk7Ci0gICAgSW50U2l6ZSB0b3BSaWdodCA9IHN0eWxlLT5ib3JkZXJUb3BSaWdodFJhZGl1cygp
OwotICAgIEludFNpemUgYm90dG9tTGVmdCA9IHN0eWxlLT5ib3JkZXJCb3R0b21MZWZ0UmFkaXVz
KCk7Ci0gICAgSW50U2l6ZSBib3R0b21SaWdodCA9IHN0eWxlLT5ib3JkZXJCb3R0b21SaWdodFJh
ZGl1cygpOwotCi0gICAgaWYgKHN0eWxlLT5oYXNCb3JkZXJSYWRpdXMoKSAmJgotICAgICAgICBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4odykgPj0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHRvcExlZnQu
d2lkdGgoKSkgKyBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odG9wUmlnaHQud2lkdGgoKSkgJiYKLSAg
ICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHcpID49IHN0YXRpY19jYXN0PHVuc2lnbmVkPihi
b3R0b21MZWZ0LndpZHRoKCkpICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGJvdHRvbVJpZ2h0Lndp
ZHRoKCkpICYmCi0gICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPihoKSA+PSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4odG9wTGVmdC5oZWlnaHQoKSkgKyBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYm90
dG9tTGVmdC5oZWlnaHQoKSkgJiYKLSAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGgpID49
IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0b3BSaWdodC5oZWlnaHQoKSkgKyBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oYm90dG9tUmlnaHQuaGVpZ2h0KCkpKQorICAgIEludFNpemUgdG9wTGVmdCwgdG9w
UmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0OworCisgICAgaWYgKHN0eWxlLT5oYXNCb3Jk
ZXJSYWRpdXMoKSkgeworICAgICAgICBJbnRSZWN0IGJvcmRlclJlY3QgPSBJbnRSZWN0KHR4LCB0
eSwgdywgaCk7CisKKyAgICAgICAgSW50U2l6ZSB0b3BMZWZ0UmFkaXVzLCB0b3BSaWdodFJhZGl1
cywgYm90dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRpdXM7CisgICAgICAgIHN0eWxlLT5n
ZXRCb3JkZXJSYWRpaUZvclJlY3QoYm9yZGVyUmVjdCwgdG9wTGVmdFJhZGl1cywgdG9wUmlnaHRS
YWRpdXMsIGJvdHRvbUxlZnRSYWRpdXMsIGJvdHRvbVJpZ2h0UmFkaXVzKTsKKworICAgICAgICBp
ZiAoYmVnaW4pIHsKKyAgICAgICAgICAgIHRvcExlZnQgPSB0b3BMZWZ0UmFkaXVzOworICAgICAg
ICAgICAgYm90dG9tTGVmdCA9IGJvdHRvbUxlZnRSYWRpdXM7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGVuZCkgeworICAgICAgICAgICAgdG9wUmlnaHQgPSB0b3BSaWdodFJhZGl1czsKKyAgICAg
ICAgICAgIGJvdHRvbVJpZ2h0ID0gYm90dG9tUmlnaHRSYWRpdXM7CisgICAgICAgIH0KKwogICAg
ICAgICByZW5kZXJSYWRpaSA9IHRydWU7CiAKLSAgICAvLyBDbGlwIHRvIHRoZSByb3VuZGVkIHJl
Y3RhbmdsZS4KLSAgICBpZiAocmVuZGVyUmFkaWkpIHsKKyAgICAgICAgLy8gQ2xpcCB0byB0aGUg
cm91bmRlZCByZWN0YW5nbGUuCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+c2F2ZSgpOwotICAg
ICAgICBncmFwaGljc0NvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChJbnRSZWN0KHR4LCB0eSwg
dywgaCksIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodCk7CisgICAg
ICAgIGdyYXBoaWNzQ29udGV4dC0+YWRkUm91bmRlZFJlY3RDbGlwKGJvcmRlclJlY3QsIHRvcExl
ZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodCk7CiAgICAgfQogCiAgICAgaW50
IGZpcnN0QW5nbGVTdGFydCwgc2Vjb25kQW5nbGVTdGFydCwgZmlyc3RBbmdsZVNwYW4sIHNlY29u
ZEFuZ2xlU3BhbjsKQEAgLTExMjYsMTAgKzExMzMsMTQgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6cGFpbnRCb3hTaGFkb3coR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBpbnQgdHgsIGlu
dAogCiAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhzaGFkb3dPZmZzZXQsIHNoYWRvd0JsdXIs
IHNoYWRvdy0+Y29sb3IpOwogICAgICAgICBpZiAoaGFzQm9yZGVyUmFkaXVzKSB7Ci0gICAgICAg
ICAgICBJbnRTaXplIHRvcExlZnQgPSBiZWdpbiA/IHMtPmJvcmRlclRvcExlZnRSYWRpdXMoKSA6
IEludFNpemUoKTsKLSAgICAgICAgICAgIEludFNpemUgdG9wUmlnaHQgPSBlbmQgPyBzLT5ib3Jk
ZXJUb3BSaWdodFJhZGl1cygpIDogSW50U2l6ZSgpOwotICAgICAgICAgICAgSW50U2l6ZSBib3R0
b21MZWZ0ID0gYmVnaW4gPyBzLT5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzKCkgOiBJbnRTaXplKCk7
Ci0gICAgICAgICAgICBJbnRTaXplIGJvdHRvbVJpZ2h0ID0gZW5kID8gcy0+Ym9yZGVyQm90dG9t
UmlnaHRSYWRpdXMoKSA6IEludFNpemUoKTsKKyAgICAgICAgICAgIEludFNpemUgdG9wTGVmdFJh
ZGl1cywgdG9wUmlnaHRSYWRpdXMsIGJvdHRvbUxlZnRSYWRpdXMsIGJvdHRvbVJpZ2h0UmFkaXVz
OworICAgICAgICAgICAgcy0+Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KHJlY3QsIHRvcExlZnRSYWRp
dXMsIHRvcFJpZ2h0UmFkaXVzLCBib3R0b21MZWZ0UmFkaXVzLCBib3R0b21SaWdodFJhZGl1cyk7
CisKKyAgICAgICAgICAgIEludFNpemUgdG9wTGVmdCA9IGJlZ2luID8gdG9wTGVmdFJhZGl1cyA6
IEludFNpemUoKTsKKyAgICAgICAgICAgIEludFNpemUgdG9wUmlnaHQgPSBlbmQgPyB0b3BSaWdo
dFJhZGl1cyA6IEludFNpemUoKTsKKyAgICAgICAgICAgIEludFNpemUgYm90dG9tTGVmdCA9IGJl
Z2luID8gYm90dG9tTGVmdFJhZGl1cyA6IEludFNpemUoKTsKKyAgICAgICAgICAgIEludFNpemUg
Ym90dG9tUmlnaHQgPSBlbmQgPyBib3R0b21SaWdodFJhZGl1cyA6IEludFNpemUoKTsKKwogICAg
ICAgICAgICAgaWYgKCFoYXNPcGFxdWVCYWNrZ3JvdW5kKQogICAgICAgICAgICAgICAgIGNvbnRl
eHQtPmNsaXBPdXRSb3VuZGVkUmVjdChyZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVm
dCwgYm90dG9tUmlnaHQpOwogICAgICAgICAgICAgY29udGV4dC0+ZmlsbFJvdW5kZWRSZWN0KGZp
bGxSZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQsIENvbG9y
OjpibGFjayk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNzgzZmMyNi4u
ZTYxYWM4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMTMxLDExICsx
MzEsMTIgQEAgdm9pZCBSZW5kZXJSZXBsYWNlZDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGludCB0eCwgaW50IHR5KQogICAgIGlmIChjbGlwVG9Cb3JkZXJSYWRpdXMpIHsKICAgICAgICAg
Ly8gUHVzaCBhIGNsaXAgaWYgd2UgaGF2ZSBhIGJvcmRlciByYWRpdXMsIHNpbmNlIHdlIHdhbnQg
dG8gcm91bmQgdGhlIGZvcmVncm91bmQgY29udGVudCB0aGF0IGdldHMgcGFpbnRlZC4KICAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQt
PmFkZFJvdW5kZWRSZWN0Q2xpcChJbnRSZWN0KHR4LCB0eSwgd2lkdGgoKSwgaGVpZ2h0KCkpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKCktPmJv
cmRlclRvcExlZnRSYWRpdXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHlsZSgpLT5ib3JkZXJUb3BSaWdodFJhZGl1cygpLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSgpLT5ib3JkZXJCb3R0b21M
ZWZ0UmFkaXVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3R5bGUoKS0+Ym9yZGVyQm90dG9tUmlnaHRSYWRpdXMoKSk7CisgICAgICAgIAorICAgICAg
ICBJbnRTaXplIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodDsKKyAg
ICAgICAgSW50UmVjdCBib3JkZXJSZWN0ID0gSW50UmVjdCh0eCwgdHksIHdpZHRoKCksIGhlaWdo
dCgpKTsKKyAgICAgICAgc3R5bGUoKS0+Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KGJvcmRlclJlY3Qs
IHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodCk7CisKKyAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChib3JkZXJSZWN0LCB0b3BMZWZ0
LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOwogICAgIH0KIAogICAgIHBhaW50
UmVwbGFjZWQocGFpbnRJbmZvLCB0eCwgdHkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAK
aW5kZXggN2Q5NDE4Yy4uYTUyMzgwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBA
IC0xOTYsMTEgKzE5NiwxMiBAQCB2b2lkIFJlbmRlcldpZGdldDo6cGFpbnQoUGFpbnRJbmZvJiBw
YWludEluZm8sIGludCB0eCwgaW50IHR5KQogICAgIGlmIChjbGlwVG9Cb3JkZXJSYWRpdXMpIHsK
ICAgICAgICAgLy8gUHVzaCBhIGNsaXAgaWYgd2UgaGF2ZSBhIGJvcmRlciByYWRpdXMsIHNpbmNl
IHdlIHdhbnQgdG8gcm91bmQgdGhlIGZvcmVncm91bmQgY29udGVudCB0aGF0IGdldHMgcGFpbnRl
ZC4KICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChJbnRSZWN0KHR4LCB0eSwgd2lkdGgoKSwgaGVp
Z2h0KCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
eWxlKCktPmJvcmRlclRvcExlZnRSYWRpdXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHlsZSgpLT5ib3JkZXJUb3BSaWdodFJhZGl1cygpLCAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSgpLT5ib3Jk
ZXJCb3R0b21MZWZ0UmFkaXVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3R5bGUoKS0+Ym9yZGVyQm90dG9tUmlnaHRSYWRpdXMoKSk7CisgICAgICAg
IAorICAgICAgICBJbnRTaXplIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21S
aWdodDsKKyAgICAgICAgSW50UmVjdCBib3JkZXJSZWN0ID0gSW50UmVjdCh0eCwgdHksIHdpZHRo
KCksIGhlaWdodCgpKTsKKyAgICAgICAgc3R5bGUoKS0+Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KGJv
cmRlclJlY3QsIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodCk7CisK
KyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChib3JkZXJSZWN0
LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOwogICAgIH0KIAog
ICAgIGlmIChtX3dpZGdldCkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CmluZGV4IGU1MmE2ZTAuLjk2NjdmYjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKQEAgLTcwOSw2ICs3MDksNDcgQEAgdm9pZCBSZW5kZXJTdHlsZTo6c2V0Qm94U2hh
ZG93KFNoYWRvd0RhdGEqIHNoYWRvd0RhdGEsIGJvb2wgYWRkKQogICAgIHJhcmVEYXRhLT5tX2Jv
eFNoYWRvdy5zZXQoc2hhZG93RGF0YSk7CiB9CiAKKworc3RhdGljIHZvaWQgY29uc3RyYWluUmFk
aXVzV2lkdGhzKGludCB3aWR0aCwgSW50U2l6ZSYgcmFkaXVzMSwgSW50U2l6ZSYgcmFkaXVzMikK
K3sKKyAgICAvLyBDYXN0IHRvIHVuc2lnbmVkIHRvIGF2b2lkIGludGVnZXIgb3ZlcmZsb3cuCisg
ICAgdW5zaWduZWQgdG90YWxXaWR0aCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYWRpdXMxLndp
ZHRoKCkpICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhZGl1czIud2lkdGgoKSk7CisgICAgaWYg
KHRvdGFsV2lkdGggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4od2lkdGgpKSB7CisgICAgICAgIGZs
b2F0IGZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0Pih3aWR0aCkgLyB0b3RhbFdpZHRoOworICAg
ICAgICByYWRpdXMxLnNldFdpZHRoKHJhZGl1czEud2lkdGgoKSAqIGZhY3Rvcik7CisgICAgICAg
IHJhZGl1czIuc2V0V2lkdGgocmFkaXVzMi53aWR0aCgpICogZmFjdG9yKTsKKyAgICB9Cit9CisK
K3N0YXRpYyB2b2lkIGNvbnN0cmFpblJhZGl1c0hlaWdodHMoaW50IGhlaWdodCwgSW50U2l6ZSYg
cmFkaXVzMSwgSW50U2l6ZSYgcmFkaXVzMikKK3sKKyAgICAvLyBDYXN0IHRvIHVuc2lnbmVkIHRv
IGF2b2lkIGludGVnZXIgb3ZlcmZsb3cuCisgICAgdW5zaWduZWQgdG90YWxIZWlnaHQgPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4ocmFkaXVzMS5oZWlnaHQoKSkgKyBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4ocmFkaXVzMi5oZWlnaHQoKSk7CisgICAgaWYgKHRvdGFsSGVpZ2h0ID4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KGhlaWdodCkpIHsKKyAgICAgICAgZmxvYXQgZmFjdG9yID0gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGhlaWdodCkgLyB0b3RhbEhlaWdodDsKKyAgICAgICAgcmFkaXVzMS5zZXRIZWlnaHQo
cmFkaXVzMS5oZWlnaHQoKSAqIGZhY3Rvcik7CisgICAgICAgIHJhZGl1czIuc2V0SGVpZ2h0KHJh
ZGl1czIuaGVpZ2h0KCkgKiBmYWN0b3IpOworICAgIH0KK30KKwordm9pZCBSZW5kZXJTdHlsZTo6
Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KGNvbnN0IEludFJlY3QmIHIsIEludFNpemUmIHRvcExlZnQs
IEludFNpemUmIHRvcFJpZ2h0LCBJbnRTaXplJiBib3R0b21MZWZ0LCBJbnRTaXplJiBib3R0b21S
aWdodCkgY29uc3QKK3sKKyAgICB0b3BMZWZ0ID0gc3Vycm91bmQtPmJvcmRlci50b3BMZWZ0Owor
ICAgIHRvcFJpZ2h0ID0gc3Vycm91bmQtPmJvcmRlci50b3BSaWdodDsKKyAgICAKKyAgICBib3R0
b21MZWZ0ID0gc3Vycm91bmQtPmJvcmRlci5ib3R0b21MZWZ0OworICAgIGJvdHRvbVJpZ2h0ID0g
c3Vycm91bmQtPmJvcmRlci5ib3R0b21SaWdodDsKKworICAgIC8vIENvbnN0cmFpbiBjb3JuZXIg
cmFkaWkgdXNpbmcgQ1NTMyBydWxlczoKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3Mz
LWJhY2tncm91bmQvI3RoZS1ib3JkZXItcmFkaXVzCisgICAgCisgICAgY29uc3RyYWluUmFkaXVz
V2lkdGhzKHIud2lkdGgoKSwgdG9wTGVmdCwgdG9wUmlnaHQpOworICAgIGNvbnN0cmFpblJhZGl1
c1dpZHRocyhyLndpZHRoKCksIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0KTsKKworICAgIGNvbnN0
cmFpblJhZGl1c0hlaWdodHMoci5oZWlnaHQoKSwgdG9wTGVmdCwgYm90dG9tTGVmdCk7CisgICAg
Y29uc3RyYWluUmFkaXVzSGVpZ2h0cyhyLmhlaWdodCgpLCB0b3BSaWdodCwgYm90dG9tUmlnaHQp
OworfQorCiBjb25zdCBDb3VudGVyRGlyZWN0aXZlTWFwKiBSZW5kZXJTdHlsZTo6Y291bnRlckRp
cmVjdGl2ZXMoKSBjb25zdAogewogICAgIHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9j
b3VudGVyRGlyZWN0aXZlcy5nZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CmluZGV4IGMzZWNlZTUuLmEzOTBlYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaApAQCAtNzU5LDYgKzc1OSw4IEBAIHB1YmxpYzoKICAgICAgICAgc2V0Qm9yZGVyQm90dG9t
TGVmdFJhZGl1cyhzKTsKICAgICAgICAgc2V0Qm9yZGVyQm90dG9tUmlnaHRSYWRpdXMocyk7CiAg
ICAgfQorICAgIAorICAgIHZvaWQgZ2V0Qm9yZGVyUmFkaWlGb3JSZWN0KGNvbnN0IEludFJlY3Qm
LCBJbnRTaXplJiB0b3BMZWZ0LCBJbnRTaXplJiB0b3BSaWdodCwgSW50U2l6ZSYgYm90dG9tTGVm
dCwgSW50U2l6ZSYgYm90dG9tUmlnaHQpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRCb3JkZXJMZWZ0
V2lkdGgodW5zaWduZWQgc2hvcnQgdikgeyBTRVRfVkFSKHN1cnJvdW5kLCBib3JkZXIubGVmdC53
aWR0aCwgdikgfQogICAgIHZvaWQgc2V0Qm9yZGVyTGVmdFN0eWxlKEVCb3JkZXJTdHlsZSB2KSB7
IFNFVF9WQVIoc3Vycm91bmQsIGJvcmRlci5sZWZ0Lm1fc3R5bGUsIHYpIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30420</attachid>
            <date>2009-05-16 21:37:16 -0700</date>
            <delta_ts>2009-05-19 23:21:24 -0700</delta_ts>
            <desc>New patch, changelog, testcases</desc>
            <filename>8736_patch.txt</filename>
            <type>text/plain</type>
            <size>28880</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTBiMzkyLi4xMjk1Y2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMDktMDUt
MTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczNgorCisgICAgICAgICogZmFzdC9ib3JkZXJz
L2JvcmRlci1yYWRpdXMtY29uc3RyYWludHMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLmNo
ZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgCisgICAgICAgIFRlc3QgdGhhdCBjb3JuZXIgcmFkaWkgYXJl
IGNvbnN0cmFpbmVkIGFjY29yZGluZyB0byBDU1MzIHJ1bGVzLgorCisgICAgICAgICogZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQuY2hl
Y2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVz
LWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAK
KyAgICAgICAgTm93IHRoYXQgd2UgY29uc3RyYWluIGJvcmRlci1yYWRpdXMsIHVwZGF0ZSB0aGUg
dGV4dCBvZiB0aGUgdGVzdCwgYW5kIHRoZQorICAgICAgICBleHBlY3RlZCByZXN1bHQuCisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1y
YWRpdXMtc3BsaXQtaW5saW5lLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLXNwbGl0LWlubGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAKKyAg
ICAgICAgTmV3IHRlc3QgZm9yIGJvcmRlci1yYWRpdXMgb24gYSBzcGxpdCBpbmxpbmUuCisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1iaWct
ZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRv
dy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC50eHQ6CisKKyAgICAg
ICAgTm93IHRoYXQgd2UgY29uc3RyYWluIGJvcmRlci1yYWRpdXMsIHVwZGF0ZSB0aGUgdGV4dCBv
ZiB0aGUgdGVzdCwgYW5kIHRoZQorICAgICAgICBleHBlY3RlZCByZXN1bHQuCisKIDIwMDktMDUt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLWNvbnN0cmFpbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvYm9y
ZGVyLXJhZGl1cy1jb25zdHJhaW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjI2ZDdmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2JvcmRl
cnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1s
PgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAg
ZGl2IHsKKyAgICAgIG1hcmdpbjogMjBweDsKKyAgICB9CisgICAgI3NwZWNib3gxIHsKKyAgICAg
IHdpZHRoOiAyMDBweDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICAgIGJvcmRlcjogMjBweCBz
b2xpZCBibGFjazsKKyAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMzBweDsK
KyAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDgwcHg7CisgICAgICAtd2Vi
a2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDgwcHg7CisgICAgICAtd2Via2l0LWJvcmRl
ci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzMHB4OworICAgIH0KKyAgICAKKyAgICAjc3BlY2JveDIg
eworICAgICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgYm9yZGVy
OiAyMHB4IHNvbGlkIGJsYWNrOworICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVz
OiAzMHB4OworICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogODBweDsKKyAg
ICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogODBweDsKKyAgICAgIC13ZWJr
aXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDMwcHg7CisgICAgfQorICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgIDxwPlRlc3QgdGhhdCBjb3JuZXItcmFkaWkgYXJlIGNvbnN0cmFp
bmVkIGFjY29yZGluZyB0byB0aGUgQ1NTMyBydWxlcy48L3A+CisgIDxkaXYgaWQ9InNwZWNib3gx
Ij48L2Rpdj4KKyAgPGRpdiBpZD0ic3BlY2JveDIiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Ym9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1odWdlLWFzc2VydC5odG1sCmluZGV4IDg2NzM2N2YuLmY5
YTQ4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVz
LWh1Z2UtYXNzZXJ0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJzL2JvcmRlci1y
YWRpdXMtaHVnZS1hc3NlcnQuaHRtbApAQCAtMyw3ICszLDYgQEAKICAgICA8dGl0bGU+PC90aXRs
ZT4KICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICBkaXYgeyB3aWR0aDogNTBw
eDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7IGJvcmRlcjogbWVkaXVt
IHNvbGlkOyBtYXJnaW46IDEwcHggMCAxMHB4IDA7IH0KLSAgICAgICAgYnV0dG9uIHsgLXdlYmtp
dC1ib3JkZXItcmFkaXVzOjkyNjE3OTEwM3B0OyB9CiAgICAgPC9zdHlsZT4KIDwvaGVhZD4KIDxi
b2R5PgpAQCAtMTIsMTEgKzExLDEyIEBACiAgICAgICAgIEFub3RoZXIgYXNzZXJ0aW9uIGZhaWx1
cmUgaW4gV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpkcmF3Qm9yZGVyPC9pPi4KICAgICA8L3A+CiAg
ICAgPHA+Ci0gICAgICAgIFRoZXJlIHNob3VsZCBiZSBmb3VyIGlkZW50aWNhbCBzcXVhcmVzIGJl
bG93LgorICAgICAgICBUaGVyZSBzaG91bGQgYmUgdGhyZWUgc3F1cmVzIGFuZCBhIGNpcmNsZSBi
ZWxvdy4KICAgICA8L3A+CiAgICAgPGRpdj48L2Rpdj4KICAgICA8ZGl2IHN0eWxlPSItd2Via2l0
LWJvcmRlci1yYWRpdXM6IDkyNjE3OTEwM3B0IDEwcHg7Ij48L2Rpdj4KICAgICA8ZGl2IHN0eWxl
PSItd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHggOTI2MTc5MTAzcHQ7Ij48L2Rpdj4KICAgICA8
ZGl2IHN0eWxlPSItd2Via2l0LWJvcmRlci1yYWRpdXM6IDkyNjE3OTEwM3B0OyI+PC9kaXY+CisK
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9i
b3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJz
L2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMTc2MWMzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Ym9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS5odG1sCkBAIC0wLDAgKzEsMjYgQEAK
KzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25h
bC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKworPGh0
bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNj
cmVlbiI+CisgICAgI3NwbGl0IHsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIGZvbnQtc2l6
ZTogMjRwdDsKKyAgICB9CisKKyAgICAjc3BsaXQgPiBzcGFuIHsKKyAgICAgIGJvcmRlcjogMnB4
IHNvbGlkIGdyZWVuOworICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtOworICAgICAgLXdlYmtpdC1i
b3JkZXItcmFkaXVzOiAxNHB4OworICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBibGFjayAzcHgg
M3B4IDVweDsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+VGVzdHMg
Ym9yZGVyLXJhZGl1cyBhbmQgYm94LXNoYWRvdyBvbiBhIHNwbGl0IGlubGluZS48L3A+CisgIDxk
aXYgaWQ9InNwbGl0Ij4KKyAgICA8c3Bhbj5JIGFtIGEgc3BhbiB3aGljaCBpcyBzcGxpdCBvdmVy
IHRocmVlIGxpbmVzPC9zcGFuPgorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1yYWRpdXMtYmlnLmh0bWwKaW5kZXgg
YjU3YTkxZS4uOWUyYzI4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ib3gtc2hhZG93
L2JvcmRlci1yYWRpdXMtYmlnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ib3gtc2hhZG93
L2JvcmRlci1yYWRpdXMtYmlnLmh0bWwKQEAgLTEsOCArMSw1IEBACiA8cD4KLSAgICBUaGlzOgor
ICAgIFlvdSBzaG91bGQgc2VlIGEgY2lyY2xlIHdpdGggYSBzaGFkb3cgYWJvdmUgYSBzcXVhcmUg
d2l0aCBhIHNoYWRvdy4KIDwvcD4KIDxkaXYgc3R5bGU9Im1hcmdpbjogNDBweDsgYmFja2dyb3Vu
ZDogZ3JlZW47IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNDBweDsgd2lkdGg6IDYwcHg7IGhlaWdo
dDogNjBweDsgLXdlYmtpdC1ib3gtc2hhZG93OiBibGFjayAxMHB4IDEwcHggMDsiPjwvZGl2Pgot
PHA+Ci0gICAgU2hvdWxkIGxvb2sgbGlrZSB0aGlzOgotPC9wPgogPGRpdiBzdHlsZT0ibWFyZ2lu
OiA0MHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgLXdl
YmtpdC1ib3gtc2hhZG93OiBibGFjayAxMHB4IDEwcHggMDsiPjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0
cmFpbnRzLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Ym9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YmNlZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY29u
c3RyYWludHMtZXhwZWN0ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBAQAorYTI0MDgxYTQ0MTY4MWUx
M2IxMjU4ZjkwMDQ4OTM5ODEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY29u
c3RyYWludHMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9y
ZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTVjMDA3CkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5k
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNv
bnN0cmFpbnRzLWV4cGVjdGVkLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRp
dXMtY29uc3RyYWludHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjk2MTAxODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY29uc3RyYWludHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0
MTR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0MTQ6ICJUZXN0IHRoYXQg
Y29ybmVyLXJhZGlpIGFyZSBjb25zdHJhaW5lZCBhY2NvcmRpbmcgdG8gdGhlIENTUzMgcnVsZXMu
IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIwLDM4KSBzaXplIDI0MHg4MCBbYm9yZGVy
OiAoMjBweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMCwx
MzgpIHNpemUgODB4MjQwIFtib3JkZXI6ICgyMHB4IHNvbGlkICMwMDAwMDApXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1
Z2UtYXNzZXJ0LWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLmNoZWNrc3VtCmlu
ZGV4IDkxNmYwMjQuLjVlMDEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1odWdlLWFzc2VydC1leHBlY3RlZC5jaGVja3N1
bQorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRp
dXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQuY2hlY2tzdW0KQEAgLTEgKzEgQEAKLWY1YmZmNDRhYjY0
MDdkYTEzYWQ2NTA1Yjk1YWE4N2E5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorMGZlOTNi
MzJhOWY4ZjRiZjFiOGJlNmQyNGYzYTQ2NWIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1y
YWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLnBuZwppbmRl
eCAwMzZmMDJlLi4yMDU1NGFkIDEwMDY0NApCaW5hcnkgZmlsZXMgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQu
cG5nIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy1odWdlLWFzc2VydC1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtaHVnZS1hc3NlcnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLWh1Z2UtYXNzZXJ0LWV4cGVjdGVkLnR4dAppbmRleCA2MzQ1ZDczLi5lYzg4NDk2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtaHVnZS1hc3NlcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1odWdlLWFzc2VydC1leHBlY3RlZC50
eHQKQEAgLTE3LDggKzE3LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQ2LDE4KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjQ2LDE4KSB3aWR0aCA0OiAiLiIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCw1Mikgc2l6ZSA3ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMjg3eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjg3OiAiVGhlcmUg
c2hvdWxkIGJlIGZvdXIgaWRlbnRpY2FsIHNxdWFyZXMgYmVsb3cuIgorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAzMDQ6ICJUaGVyZSBzaG91bGQgYmUgdGhyZWUgc3F1cmVzIGFuZCBhIGNpcmNs
ZSBiZWxvdy4iCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4Nikgc2l6ZSA1Nng1NiBb
Ymdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQogICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMTUyKSBzaXplIDU2eDU2IFtiZ2NvbG9yPSNDMEMwQzBdIFti
b3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwyMTgpIHNpemUgNTZ4NTYgW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDNweCBzb2xpZCAj
MDAwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRl
cnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5l
LWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEx
OTg1OTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0w
LDAgKzEgQEAKK2RkYjI4ODUxZWYxNWE4ZDNhMWU0ZjZkZWQ5YTExOTAyClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Ym9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtc3BsaXQtaW5saW5l
LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjQwOTlk
CkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS1leHBlY3RlZC5wbmcgZGlmZmVy
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtc3BsaXQtaW5saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmOGQxYmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRp
dXMtc3BsaXQtaW5saW5lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDIyMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MjIwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE5
NgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMzNHgxOAorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDMzNDogIlRlc3RzIGJvcmRlci1yYWRpdXMgYW5kIGJveC1zaGFkb3cg
b24gYSBzcGxpdCBpbmxpbmUuIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNp
emUgMjAweDE2MgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTk5
eDE0OSBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMiw4KSBzaXplIDE5N3gxNDUKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
LDgpIHdpZHRoIDE0NjogIkkgYW0gYSBzcGFuIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NjIpIHdpZHRoIDE3MDogIndoaWNoIGlzIHNwbGl0IgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTE2KSB3aWR0aCAxOTc6ICJvdmVyIHRocmVlIGxpbmVzIgorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1iaWctZXhwZWN0ZWQuY2hlY2tz
dW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1yYWRp
dXMtYmlnLWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IDBjYzdiMGEuLjM0NDIzYmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1
cy1iaWctZXhwZWN0ZWQuY2hlY2tzdW0KKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5jaGVja3N1bQpAQCAtMSAr
MSBAQAotYjdiYWY5Y2M1N2I4NGJiZjM5YTYzODNhZjc3ZmE5ZDkKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCiswNzk4M2UxMzZlMmQxNzNiNmM3M2QxN2EyOTNlNDQ3MQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1iaWctZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3RlZC5w
bmcKaW5kZXggZDJkOTZjNy4uMzM0M2Q3YiAxMDA2NDQKQmluYXJ5IGZpbGVzIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3JkZXItcmFkaXVzLWJpZy1leHBlY3Rl
ZC5wbmcgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9ib3Jk
ZXItcmFkaXVzLWJpZy1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2JvcmRlci1yYWRpdXMtYmlnLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJh
ZGl1cy1iaWctZXhwZWN0ZWQudHh0CmluZGV4IDVhNGY3NjEuLjk4YWM2NWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1i
aWctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1z
aGFkb3cvYm9yZGVyLXJhZGl1cy1iaWctZXhwZWN0ZWQudHh0CkBAIC00LDEwICs0LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NTIK
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMngxOAotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDMyOiAiVGhpczoiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDQ0MXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ0MTog
IllvdSBzaG91bGQgc2VlIGEgY2lyY2xlIHdpdGggYSBzaGFkb3cgYWJvdmUgYSBzcXVhcmUgd2l0
aCBhIHNoYWRvdy4iCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNDAsNTgpIHNpemUgNjB4
NjAgW2JnY29sb3I9IzAwODAwMF0KLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNTgpIHNp
emUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNHgx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEzNDogIlNob3VsZCBsb29rIGxp
a2UgdGhpczoiCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNDAsMjE2KSBzaXplIDYweDYw
IFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNDAsMTU4KSBz
aXplIDYweDYwIFtiZ2NvbG9yPSMwMDgwMDBdCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkMGRmNDIuLjNlNDg0NzYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYg
QEAKKzIwMDktMDUtMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczNgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50cy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxpbmUuaHRtbAorICAg
ICAgICAgICAgICAgCisgICAgICAgIFdoZW4gdGhlIHN1bSBvZiB0aGUgY29ybmVyIHJhZGlpIG9u
IGEgc2lkZSBleGNlZWQgdGhlIGxlbmd0aCBvZiB0aGUgc2lkZSwKKyAgICAgICAgcmVkdWNlIHRo
ZSByYWRpaSBhY2NvcmRpbmcgdG8gQ1NTIDMgcnVsZXMuCisgICAgICAgIAorICAgICAgICBBZGQg
UmVuZGVyU3R5bGU6OmdldEJvcmRlclJhZGlpRm9yUmVjdCgpIHRvIGZldGNoIGNvcm5lciByYWRp
aSwgYXBwbHlpbmcKKyAgICAgICAgdGhlIGNvbnN0cmFpbnRzLiBVc2UgdGhhdCBmb3IgcGFpbnRp
bmcgYm9yZGVycywgYm94LXNoYWRvdywgY2xpcHBpbmcgcmVwbGFjZWQKKyAgICAgICAgZWxlbWVu
dHMKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkludFNpemU6OnNjYWxlKToKKyAgICAgICAgQWRkIGEgc2NhbGUgbWV0aG9kIHRoYXQg
c2NhbGVzIGJ5IGEgZmxvYXQgKHVzaW5nIEMgcm91bmRpbmcgcnVsZXMsIGxpa2UgSW50UmVjdDo6
c2NhbGUoKSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcDoKKyAgICAg
ICAgTWFrZSB0aGUgUVVBUlRFUiBjb25zdCBzdGF0aWMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cHVzaENvbnRlbnRz
Q2xpcCk6CisgICAgICAgIFVzZSBnZXRCb3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2ggYm9yZGVy
IHJhZGlpLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllckV4
dGVuZGVkKToKKyAgICAgICAgVXNlIGdldEJvcmRlclJhZGlpRm9yUmVjdCB0byBmZXRjaCBib3Jk
ZXIgcmFkaWkuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWlu
dEJvcmRlcik6CisgICAgICAgIFVzZSBnZXRCb3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2ggYm9y
ZGVyIHJhZGlpLCBhbmQgZml4IGEgYnVnIHdoZW4gZHJhd2luZworICAgICAgICBib3JkZXJzIGZv
ciBzcGxpdCBpbmxpbmVzLCB3aGljaCB1c2VkIHRvIGFwcGx5IHRoZSByYWRpaSBmb3IgZWFjaCBz
ZWdtZW50LAorICAgICAgICBhbmQgbm8gbG9uZ2VyIGRvZXMuCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEJveFNoYWRvdyk6CisgICAgICAgIFVzZSBnZXRC
b3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2ggYm9yZGVyIHJhZGlpLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxh
Y2VkOjpwYWludCk6CisgICAgICAgIFVzZSBnZXRCb3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2gg
Ym9yZGVyIHJhZGlpIGZvciBjbGlwcGluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJX
aWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyV2lkZ2V0OjpwYWludCk6CisgICAg
ICAgIFVzZSBnZXRCb3JkZXJSYWRpaUZvclJlY3QgdG8gZmV0Y2ggYm9yZGVyIHJhZGlpIGZvciBj
bGlwcGluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KToKKyAgICAgICAgTmV3IGJvdHRs
ZW5lY2sgbWV0aG9kIHRvIGZldGNoIGNvcm5lciByYWRpaWwgZ2l2ZW4gYSByZWN0LCBhcHBseWlu
ZyB0aGUgY29uc3RyYWludAorICAgICAgICBydWxlcy4KKwogMjAwOS0wNS0xNSAgQWRhbSBCYXJ0
aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAppbmRleCA0ZDM2NTQ1Li42MGE3NjEwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaApAQCAtNzMsNiArNzMsMTIgQEAgcHVibGlj
OgogICAgICAgICBtX2hlaWdodCArPSBoZWlnaHQ7CiAgICAgfQogICAgIAorICAgIHZvaWQgc2Nh
bGUoZmxvYXQgc2NhbGUpCisgICAgeworICAgICAgICBtX3dpZHRoICo9IHNjYWxlOworICAgICAg
ICBtX2hlaWdodCAqPSBzY2FsZTsKKyAgICB9CisgICAgCiAgICAgSW50U2l6ZSBleHBhbmRlZFRv
KGNvbnN0IEludFNpemUmIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIEludFNp
emUobV93aWR0aCA+IG90aGVyLm1fd2lkdGggPyBtX3dpZHRoIDogb3RoZXIubV93aWR0aCwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1BhdGguY3BwCmluZGV4IGYzNDUwYmUuLmUzMDcwM2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9QYXRoLmNwcApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgPG1hdGgu
aD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCi1jb25zdCBmbG9hdCBRVUFSVEVSID0g
MC41NTJmOyAvLyBhcHByb3hpbWF0aW9uIG9mIGNvbnRyb2wgcG9pbnQgcG9zaXRpb25zIG9uIGEg
YmV6aWVyCitzdGF0aWMgY29uc3QgZmxvYXQgUVVBUlRFUiA9IDAuNTUyZjsgLy8gYXBwcm94aW1h
dGlvbiBvZiBjb250cm9sIHBvaW50IHBvc2l0aW9ucyBvbiBhIGJlemllcgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gdG8gc2ltdWxhdGUgYSBxdWFydGVyIG9mIGEgY2lyY2xlLgog
bmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2Yjc0MDFk
Li5kNmE3MzA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTgyNywxMSArODI3LDE0IEBA
IGJvb2wgUmVuZGVyQm94OjpwdXNoQ29udGVudHNDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBp
bnQgdHgsIGludCB0eSkKICAgICB9CiAgICAgSW50UmVjdCBjbGlwUmVjdChpc0NvbnRyb2xDbGlw
ID8gY29udHJvbENsaXBSZWN0KHR4LCB0eSkgOiBvdmVyZmxvd0NsaXBSZWN0KHR4LCB0eSkpOwog
ICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7Ci0gICAgaWYgKHN0eWxlKCktPmhhc0JvcmRl
clJhZGl1cygpKQotICAgICAgICBwYWludEluZm8uY29udGV4dC0+YWRkUm91bmRlZFJlY3RDbGlw
KEludFJlY3QodHgsIHR5LCB3aWR0aCgpLCBoZWlnaHQoKSksIHN0eWxlKCktPmJvcmRlclRvcExl
ZnRSYWRpdXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHlsZSgpLT5ib3JkZXJUb3BSaWdodFJhZGl1cygpLCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSgpLT5ib3JkZXJCb3R0b21MZWZ0UmFkaXVz
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUo
KS0+Ym9yZGVyQm90dG9tUmlnaHRSYWRpdXMoKSk7CisgICAgaWYgKHN0eWxlKCktPmhhc0JvcmRl
clJhZGl1cygpKSB7CisgICAgICAgIEludFNpemUgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxl
ZnQsIGJvdHRvbVJpZ2h0OworICAgICAgICBJbnRSZWN0IGJvcmRlclJlY3QgPSBJbnRSZWN0KHR4
LCB0eSwgd2lkdGgoKSwgaGVpZ2h0KCkpOworICAgICAgICBzdHlsZSgpLT5nZXRCb3JkZXJSYWRp
aUZvclJlY3QoYm9yZGVyUmVjdCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRv
bVJpZ2h0KTsKKworICAgICAgICBwYWludEluZm8uY29udGV4dC0+YWRkUm91bmRlZFJlY3RDbGlw
KGJvcmRlclJlY3QsIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodCk7
CisgICAgfQorICAgIAogICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGlwKGNsaXBSZWN0KTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCAyODBjMzY0Li45NTQ0YjM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCkBAIC0zMTEsMTEgKzMxMSwxNSBAQCB2b2lkIFJlbmRlckJveE1v
ZGVsT2JqZWN0OjpwYWludEZpbGxMYXllckV4dGVuZGVkKGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjbwogICAgIGJvb2wgY2xpcHBlZFRvQm9yZGVyUmFkaXVzID0gZmFsc2U7CiAgICAgaWYg
KHN0eWxlKCktPmhhc0JvcmRlclJhZGl1cygpICYmIChpbmNsdWRlTGVmdEVkZ2UgfHwgaW5jbHVk
ZVJpZ2h0RWRnZSkpIHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwotICAgICAgICBjb250ZXh0
LT5hZGRSb3VuZGVkUmVjdENsaXAoSW50UmVjdCh0eCwgdHksIHcsIGgpLAotICAgICAgICAgICAg
aW5jbHVkZUxlZnRFZGdlID8gc3R5bGUoKS0+Ym9yZGVyVG9wTGVmdFJhZGl1cygpIDogSW50U2l6
ZSgpLAotICAgICAgICAgICAgaW5jbHVkZVJpZ2h0RWRnZSA/IHN0eWxlKCktPmJvcmRlclRvcFJp
Z2h0UmFkaXVzKCkgOiBJbnRTaXplKCksCi0gICAgICAgICAgICBpbmNsdWRlTGVmdEVkZ2UgPyBz
dHlsZSgpLT5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzKCkgOiBJbnRTaXplKCksCi0gICAgICAgICAg
ICBpbmNsdWRlUmlnaHRFZGdlID8gc3R5bGUoKS0+Ym9yZGVyQm90dG9tUmlnaHRSYWRpdXMoKSA6
IEludFNpemUoKSk7CisKKyAgICAgICAgSW50U2l6ZSB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9t
TGVmdCwgYm90dG9tUmlnaHQ7CisgICAgICAgIEludFJlY3QgYm9yZGVyUmVjdCh0eCwgdHksIHcs
IGgpOworICAgICAgICBzdHlsZSgpLT5nZXRCb3JkZXJSYWRpaUZvclJlY3QoYm9yZGVyUmVjdCwg
dG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0KTsKKworICAgICAgICBj
b250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoYm9yZGVyUmVjdCwgaW5jbHVkZUxlZnRFZGdlID8g
dG9wTGVmdCA6IEludFNpemUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluY2x1ZGVSaWdodEVkZ2UgPyB0b3BSaWdodCA6IEludFNpemUoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVMZWZ0
RWRnZSA/IGJvdHRvbUxlZnQgOiBJbnRTaXplKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlUmlnaHRFZGdlID8gYm90dG9tUmlnaHQgOiBJ
bnRTaXplKCkpOwogICAgICAgICBjbGlwcGVkVG9Cb3JkZXJSYWRpdXMgPSB0cnVlOwogICAgIH0K
IApAQCAtNzc3LDI2ICs3ODEsMjkgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRC
b3JkZXIoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGludCB0eCwKICAgICBib29s
IHJlbmRlclJpZ2h0ID0gcnMgPiBCSElEREVOICYmIGVuZCAmJiAhcnQ7CiAgICAgYm9vbCByZW5k
ZXJCb3R0b20gPSBicyA+IEJISURERU4gJiYgIWJ0OwogCi0gICAgLy8gTmVlZCBzdWZmaWNpZW50
IHdpZHRoIGFuZCBoZWlnaHQgdG8gY29udGFpbiBib3JkZXIgcmFkaXVzIGN1cnZlcy4gIFNhbml0
eSBjaGVjayBvdXIgYm9yZGVyIHJhZGlpCi0gICAgLy8gYW5kIG91ciB3aWR0aC9oZWlnaHQgdmFs
dWVzIHRvIG1ha2Ugc3VyZSB0aGUgY3VydmVzIGNhbiBhbGwgZml0LiBJZiBub3QsIHRoZW4gd2Ug
d29uJ3QgcGFpbnQKLSAgICAvLyBhbnkgYm9yZGVyIHJhZGlpLgogICAgIGJvb2wgcmVuZGVyUmFk
aWkgPSBmYWxzZTsKLSAgICBJbnRTaXplIHRvcExlZnQgPSBzdHlsZS0+Ym9yZGVyVG9wTGVmdFJh
ZGl1cygpOwotICAgIEludFNpemUgdG9wUmlnaHQgPSBzdHlsZS0+Ym9yZGVyVG9wUmlnaHRSYWRp
dXMoKTsKLSAgICBJbnRTaXplIGJvdHRvbUxlZnQgPSBzdHlsZS0+Ym9yZGVyQm90dG9tTGVmdFJh
ZGl1cygpOwotICAgIEludFNpemUgYm90dG9tUmlnaHQgPSBzdHlsZS0+Ym9yZGVyQm90dG9tUmln
aHRSYWRpdXMoKTsKLQotICAgIGlmIChzdHlsZS0+aGFzQm9yZGVyUmFkaXVzKCkgJiYKLSAgICAg
ICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHcpID49IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0b3BM
ZWZ0LndpZHRoKCkpICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHRvcFJpZ2h0LndpZHRoKCkpICYm
Ci0gICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPih3KSA+PSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oYm90dG9tTGVmdC53aWR0aCgpKSArIHN0YXRpY19jYXN0PHVuc2lnbmVkPihib3R0b21SaWdo
dC53aWR0aCgpKSAmJgotICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oaCkgPj0gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHRvcExlZnQuaGVpZ2h0KCkpICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGJvdHRvbUxlZnQuaGVpZ2h0KCkpICYmCi0gICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPiho
KSA+PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odG9wUmlnaHQuaGVpZ2h0KCkpICsgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KGJvdHRvbVJpZ2h0LmhlaWdodCgpKSkKKyAgICBJbnRTaXplIHRvcExlZnQs
IHRvcFJpZ2h0LCBib3R0b21MZWZ0LCBib3R0b21SaWdodDsKKworICAgIGlmIChzdHlsZS0+aGFz
Qm9yZGVyUmFkaXVzKCkpIHsKKyAgICAgICAgSW50UmVjdCBib3JkZXJSZWN0ID0gSW50UmVjdCh0
eCwgdHksIHcsIGgpOworCisgICAgICAgIEludFNpemUgdG9wTGVmdFJhZGl1cywgdG9wUmlnaHRS
YWRpdXMsIGJvdHRvbUxlZnRSYWRpdXMsIGJvdHRvbVJpZ2h0UmFkaXVzOworICAgICAgICBzdHls
ZS0+Z2V0Qm9yZGVyUmFkaWlGb3JSZWN0KGJvcmRlclJlY3QsIHRvcExlZnRSYWRpdXMsIHRvcFJp
Z2h0UmFkaXVzLCBib3R0b21MZWZ0UmFkaXVzLCBib3R0b21SaWdodFJhZGl1cyk7CisKKyAgICAg
ICAgaWYgKGJlZ2luKSB7CisgICAgICAgICAgICB0b3BMZWZ0ID0gdG9wTGVmdFJhZGl1czsKKyAg
ICAgICAgICAgIGJvdHRvbUxlZnQgPSBib3R0b21MZWZ0UmFkaXVzOworICAgICAgICB9CisgICAg
ICAgIGlmIChlbmQpIHsKKyAgICAgICAgICAgIHRvcFJpZ2h0ID0gdG9wUmlnaHRSYWRpdXM7Cisg
ICAgICAgICAgICBib3R0b21SaWdodCA9IGJvdHRvbVJpZ2h0UmFkaXVzOworICAgICAgICB9CisK
ICAgICAgICAgcmVuZGVyUmFkaWkgPSB0cnVlOwogCi0gICAgLy8gQ2xpcCB0byB0aGUgcm91bmRl
ZCByZWN0YW5nbGUuCi0gICAgaWYgKHJlbmRlclJhZGlpKSB7CisgICAgICAgIC8vIENsaXAgdG8g
dGhlIHJvdW5kZWQgcmVjdGFuZ2xlLgogICAgICAgICBncmFwaGljc0NvbnRleHQtPnNhdmUoKTsK
LSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoSW50UmVjdCh0eCwg
dHksIHcsIGgpLCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOwor
ICAgICAgICBncmFwaGljc0NvbnRleHQtPmFkZFJvdW5kZWRSZWN0Q2xpcChib3JkZXJSZWN0LCB0
b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOwogICAgIH0KIAogICAg
IGludCBmaXJzdEFuZ2xlU3RhcnQsIHNlY29uZEFuZ2xlU3RhcnQsIGZpcnN0QW5nbGVTcGFuLCBz
ZWNvbmRBbmdsZVNwYW47CkBAIC0xMTI2LDEwICsxMTMzLDE0IEBAIHZvaWQgUmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50Qm94U2hhZG93KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgaW50IHR4
LCBpbnQKIAogICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coc2hhZG93T2Zmc2V0LCBzaGFkb3dC
bHVyLCBzaGFkb3ctPmNvbG9yKTsKICAgICAgICAgaWYgKGhhc0JvcmRlclJhZGl1cykgewotICAg
ICAgICAgICAgSW50U2l6ZSB0b3BMZWZ0ID0gYmVnaW4gPyBzLT5ib3JkZXJUb3BMZWZ0UmFkaXVz
KCkgOiBJbnRTaXplKCk7Ci0gICAgICAgICAgICBJbnRTaXplIHRvcFJpZ2h0ID0gZW5kID8gcy0+
Ym9yZGVyVG9wUmlnaHRSYWRpdXMoKSA6IEludFNpemUoKTsKLSAgICAgICAgICAgIEludFNpemUg
Ym90dG9tTGVmdCA9IGJlZ2luID8gcy0+Ym9yZGVyQm90dG9tTGVmdFJhZGl1cygpIDogSW50U2l6
ZSgpOwotICAgICAgICAgICAgSW50U2l6ZSBib3R0b21SaWdodCA9IGVuZCA/IHMtPmJvcmRlckJv
dHRvbVJpZ2h0UmFkaXVzKCkgOiBJbnRTaXplKCk7CisgICAgICAgICAgICBJbnRTaXplIHRvcExl
ZnRSYWRpdXMsIHRvcFJpZ2h0UmFkaXVzLCBib3R0b21MZWZ0UmFkaXVzLCBib3R0b21SaWdodFJh
ZGl1czsKKyAgICAgICAgICAgIHMtPmdldEJvcmRlclJhZGlpRm9yUmVjdChyZWN0LCB0b3BMZWZ0
UmFkaXVzLCB0b3BSaWdodFJhZGl1cywgYm90dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRp
dXMpOworCisgICAgICAgICAgICBJbnRTaXplIHRvcExlZnQgPSBiZWdpbiA/IHRvcExlZnRSYWRp
dXMgOiBJbnRTaXplKCk7CisgICAgICAgICAgICBJbnRTaXplIHRvcFJpZ2h0ID0gZW5kID8gdG9w
UmlnaHRSYWRpdXMgOiBJbnRTaXplKCk7CisgICAgICAgICAgICBJbnRTaXplIGJvdHRvbUxlZnQg
PSBiZWdpbiA/IGJvdHRvbUxlZnRSYWRpdXMgOiBJbnRTaXplKCk7CisgICAgICAgICAgICBJbnRT
aXplIGJvdHRvbVJpZ2h0ID0gZW5kID8gYm90dG9tUmlnaHRSYWRpdXMgOiBJbnRTaXplKCk7CisK
ICAgICAgICAgICAgIGlmICghaGFzT3BhcXVlQmFja2dyb3VuZCkKICAgICAgICAgICAgICAgICBj
b250ZXh0LT5jbGlwT3V0Um91bmRlZFJlY3QocmVjdCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRv
bUxlZnQsIGJvdHRvbVJpZ2h0KTsKICAgICAgICAgICAgIGNvbnRleHQtPmZpbGxSb3VuZGVkUmVj
dChmaWxsUmVjdCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0LCBD
b2xvcjo6YmxhY2spOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDc4M2Zj
MjYuLmU2MWFjOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTEzMSwx
MSArMTMxLDEyIEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBpbnQgdHgsIGludCB0eSkKICAgICBpZiAoY2xpcFRvQm9yZGVyUmFkaXVzKSB7CiAgICAg
ICAgIC8vIFB1c2ggYSBjbGlwIGlmIHdlIGhhdmUgYSBib3JkZXIgcmFkaXVzLCBzaW5jZSB3ZSB3
YW50IHRvIHJvdW5kIHRoZSBmb3JlZ3JvdW5kIGNvbnRlbnQgdGhhdCBnZXRzIHBhaW50ZWQuCiAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIHBhaW50SW5mby5jb250
ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoSW50UmVjdCh0eCwgdHksIHdpZHRoKCksIGhlaWdodCgp
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSgp
LT5ib3JkZXJUb3BMZWZ0UmFkaXVzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3R5bGUoKS0+Ym9yZGVyVG9wUmlnaHRSYWRpdXMoKSwgCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoKS0+Ym9yZGVyQm90
dG9tTGVmdFJhZGl1cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0eWxlKCktPmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzKCkpOworICAgICAgICAKKyAg
ICAgICAgSW50U2l6ZSB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQ7
CisgICAgICAgIEludFJlY3QgYm9yZGVyUmVjdCA9IEludFJlY3QodHgsIHR5LCB3aWR0aCgpLCBo
ZWlnaHQoKSk7CisgICAgICAgIHN0eWxlKCktPmdldEJvcmRlclJhZGlpRm9yUmVjdChib3JkZXJS
ZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQpOworCisgICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoYm9yZGVyUmVjdCwgdG9w
TGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0KTsKICAgICB9CiAKICAgICBw
YWludFJlcGxhY2VkKHBhaW50SW5mbywgdHgsIHR5KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQu
Y3BwCmluZGV4IDdkOTQxOGMuLmE1MjM4MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNw
cApAQCAtMTk2LDExICsxOTYsMTIgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5m
byYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKICAgICBpZiAoY2xpcFRvQm9yZGVyUmFkaXVz
KSB7CiAgICAgICAgIC8vIFB1c2ggYSBjbGlwIGlmIHdlIGhhdmUgYSBib3JkZXIgcmFkaXVzLCBz
aW5jZSB3ZSB3YW50IHRvIHJvdW5kIHRoZSBmb3JlZ3JvdW5kIGNvbnRlbnQgdGhhdCBnZXRzIHBh
aW50ZWQuCiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIHBhaW50
SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoSW50UmVjdCh0eCwgdHksIHdpZHRoKCks
IGhlaWdodCgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHlsZSgpLT5ib3JkZXJUb3BMZWZ0UmFkaXVzKCksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoKS0+Ym9yZGVyVG9wUmlnaHRSYWRpdXMoKSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoKS0+
Ym9yZGVyQm90dG9tTGVmdFJhZGl1cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0eWxlKCktPmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzKCkpOworICAg
ICAgICAKKyAgICAgICAgSW50U2l6ZSB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90
dG9tUmlnaHQ7CisgICAgICAgIEludFJlY3QgYm9yZGVyUmVjdCA9IEludFJlY3QodHgsIHR5LCB3
aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgIHN0eWxlKCktPmdldEJvcmRlclJhZGlpRm9yUmVj
dChib3JkZXJSZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90dG9tUmlnaHQp
OworCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5hZGRSb3VuZGVkUmVjdENsaXAoYm9yZGVy
UmVjdCwgdG9wTGVmdCwgdG9wUmlnaHQsIGJvdHRvbUxlZnQsIGJvdHRvbVJpZ2h0KTsKICAgICB9
CiAKICAgICBpZiAobV93aWRnZXQpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcAppbmRleCBlNTJhNmUwLi5mM2EyY2Q5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgUmVuZGVyU3R5bGUqIGRlZmF1bHRTdHlsZSgpCkBA
IC03MDksNiArNzExLDU4IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldEJveFNoYWRvdyhTaGFkb3dE
YXRhKiBzaGFkb3dEYXRhLCBib29sIGFkZCkKICAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cuc2V0
KHNoYWRvd0RhdGEpOwogfQogCit2b2lkIFJlbmRlclN0eWxlOjpnZXRCb3JkZXJSYWRpaUZvclJl
Y3QoY29uc3QgSW50UmVjdCYgciwgSW50U2l6ZSYgdG9wTGVmdCwgSW50U2l6ZSYgdG9wUmlnaHQs
IEludFNpemUmIGJvdHRvbUxlZnQsIEludFNpemUmIGJvdHRvbVJpZ2h0KSBjb25zdAoreworICAg
IHRvcExlZnQgPSBzdXJyb3VuZC0+Ym9yZGVyLnRvcExlZnQ7CisgICAgdG9wUmlnaHQgPSBzdXJy
b3VuZC0+Ym9yZGVyLnRvcFJpZ2h0OworICAgIAorICAgIGJvdHRvbUxlZnQgPSBzdXJyb3VuZC0+
Ym9yZGVyLmJvdHRvbUxlZnQ7CisgICAgYm90dG9tUmlnaHQgPSBzdXJyb3VuZC0+Ym9yZGVyLmJv
dHRvbVJpZ2h0OworCisgICAgLy8gQ29uc3RyYWluIGNvcm5lciByYWRpaSB1c2luZyBDU1MzIHJ1
bGVzOgorICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYmFja2dyb3VuZC8jdGhlLWJv
cmRlci1yYWRpdXMKKyAgICAKKyAgICBmbG9hdCBmYWN0b3IgPSAxOworICAgIHVuc2lnbmVkIHJh
ZGlpU3VtOworCisgICAgLy8gdG9wCisgICAgcmFkaWlTdW0gPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4odG9wTGVmdC53aWR0aCgpKSArIHN0YXRpY19jYXN0PHVuc2lnbmVkPih0b3BSaWdodC53aWR0
aCgpKTsgLy8gQ2FzdHMgdG8gYXZvaWQgaW50ZWdlciBvdmVyZmxvdy4KKyAgICBpZiAocmFkaWlT
dW0gPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oci53aWR0aCgpKSkKKyAgICAgICAgZmFjdG9yID0g
bWluKHN0YXRpY19jYXN0PGZsb2F0PihyLndpZHRoKCkpIC8gcmFkaWlTdW0sIGZhY3Rvcik7CisK
KyAgICAvLyBib3R0b20KKyAgICByYWRpaVN1bSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihib3R0
b21MZWZ0LndpZHRoKCkpICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGJvdHRvbVJpZ2h0LndpZHRo
KCkpOworICAgIGlmIChyYWRpaVN1bSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyLndpZHRoKCkp
KQorICAgICAgICBmYWN0b3IgPSBtaW4oc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIud2lkdGgoKSkgLyBy
YWRpaVN1bSwgZmFjdG9yKTsKKyAgICAKKyAgICAvLyBsZWZ0CisgICAgcmFkaWlTdW0gPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4odG9wTGVmdC5oZWlnaHQoKSkgKyBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oYm90dG9tTGVmdC5oZWlnaHQoKSk7CisgICAgaWYgKHJhZGlpU3VtID4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHIuaGVpZ2h0KCkpKQorICAgICAgICBmYWN0b3IgPSBtaW4oc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHIuaGVpZ2h0KCkpIC8gcmFkaWlTdW0sIGZhY3Rvcik7CisgICAgCisgICAgLy8gcmln
aHQKKyAgICByYWRpaVN1bSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0b3BSaWdodC5oZWlnaHQo
KSkgKyBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYm90dG9tUmlnaHQuaGVpZ2h0KCkpOworICAgIGlm
IChyYWRpaVN1bSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyLmhlaWdodCgpKSkKKyAgICAgICAg
ZmFjdG9yID0gbWluKHN0YXRpY19jYXN0PGZsb2F0PihyLmhlaWdodCgpKSAvIHJhZGlpU3VtLCBm
YWN0b3IpOworICAgIAorICAgIC8vIFNjYWxlIGFsbCByYWRpaSBieSBmIGlmIG5lY2Vzc2FyeS4K
KyAgICBpZiAoZmFjdG9yIDwgMSkgeworICAgICAgICAvLyBJZiBlaXRoZXIgcmFkaXVzIG9uIGEg
Y29ybmVyIGJlY29tZXMgemVybywgcmVzZXQgYm90aCByYWRpaSBvbiB0aGF0IGNvcm5lci4KKyAg
ICAgICAgdG9wTGVmdC5zY2FsZShmYWN0b3IpOworICAgICAgICBpZiAoIXRvcExlZnQud2lkdGgo
KSB8fCAhdG9wTGVmdC5oZWlnaHQoKSkKKyAgICAgICAgICAgIHRvcExlZnQgPSBJbnRTaXplKCk7
CisgICAgICAgIHRvcFJpZ2h0LnNjYWxlKGZhY3Rvcik7CisgICAgICAgIGlmICghdG9wUmlnaHQu
d2lkdGgoKSB8fCAhdG9wUmlnaHQuaGVpZ2h0KCkpCisgICAgICAgICAgICB0b3BSaWdodCA9IElu
dFNpemUoKTsKKyAgICAgICAgYm90dG9tTGVmdC5zY2FsZShmYWN0b3IpOworICAgICAgICBpZiAo
IWJvdHRvbUxlZnQud2lkdGgoKSB8fCAhYm90dG9tTGVmdC5oZWlnaHQoKSkKKyAgICAgICAgICAg
IGJvdHRvbUxlZnQgPSBJbnRTaXplKCk7CisgICAgICAgIGJvdHRvbVJpZ2h0LnNjYWxlKGZhY3Rv
cik7CisgICAgICAgIGlmICghYm90dG9tUmlnaHQud2lkdGgoKSB8fCAhYm90dG9tUmlnaHQuaGVp
Z2h0KCkpCisgICAgICAgICAgICBib3R0b21SaWdodCA9IEludFNpemUoKTsKKyAgICB9Cit9CisK
IGNvbnN0IENvdW50ZXJEaXJlY3RpdmVNYXAqIFJlbmRlclN0eWxlOjpjb3VudGVyRGlyZWN0aXZl
cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2NvdW50ZXJE
aXJlY3RpdmVzLmdldCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
YzNlY2VlNS4uYTM5MGVhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBA
IC03NTksNiArNzU5LDggQEAgcHVibGljOgogICAgICAgICBzZXRCb3JkZXJCb3R0b21MZWZ0UmFk
aXVzKHMpOwogICAgICAgICBzZXRCb3JkZXJCb3R0b21SaWdodFJhZGl1cyhzKTsKICAgICB9Cisg
ICAgCisgICAgdm9pZCBnZXRCb3JkZXJSYWRpaUZvclJlY3QoY29uc3QgSW50UmVjdCYsIEludFNp
emUmIHRvcExlZnQsIEludFNpemUmIHRvcFJpZ2h0LCBJbnRTaXplJiBib3R0b21MZWZ0LCBJbnRT
aXplJiBib3R0b21SaWdodCkgY29uc3Q7CiAKICAgICB2b2lkIHNldEJvcmRlckxlZnRXaWR0aCh1
bnNpZ25lZCBzaG9ydCB2KSB7IFNFVF9WQVIoc3Vycm91bmQsIGJvcmRlci5sZWZ0LndpZHRoLCB2
KSB9CiAgICAgdm9pZCBzZXRCb3JkZXJMZWZ0U3R5bGUoRUJvcmRlclN0eWxlIHYpIHsgU0VUX1ZB
UihzdXJyb3VuZCwgYm9yZGVyLmxlZnQubV9zdHlsZSwgdikgfQo=
</data>
<flag name="review"
          id="15337"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>