<?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>94358</bug_id>
          
          <creation_ts>2012-08-17 10:00:32 -0700</creation_ts>
          <short_desc>[CSS Shaders] Get rid of internal tex coord attribute</short_desc>
          <delta_ts>2012-11-01 16:59:26 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>93869</dependson>
    
    <dependson>98972</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Max Vujovic">mvujovic</reporter>
          <assigned_to name="Max Vujovic">mvujovic</assigned_to>
          <cc>dino</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>698437</commentid>
    <comment_count>0</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-08-17 10:00:32 -0700</bug_when>
    <thetext>We should get rid of the internal tex coord attribute &quot;css_a_texCoord&quot; that we needed to introduce in bug 93869.

If the author defines &quot;a_texCoord&quot;, we should leverage that. If not, we should add &quot;a_texCoord&quot; to the shader. This requires us to first get the list of attributes from the vertex shader using ANGLE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754673</commentid>
    <comment_count>1</comment_count>
      <attachid>171524</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-30 14:43:37 -0700</bug_when>
    <thetext>Created attachment 171524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754729</commentid>
    <comment_count>2</comment_count>
      <attachid>171524</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-10-30 15:35:30 -0700</bug_when>
    <thetext>Comment on attachment 171524
Patch

Attachment 171524 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14664020</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754800</commentid>
    <comment_count>3</comment_count>
      <attachid>171552</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-30 16:57:57 -0700</bug_when>
    <thetext>Created attachment 171552
Patch

Trying the GTK bot again with the same patch. The failure seems unrelated to this patch&apos;s contents:
&quot;&quot;&quot;
Failed to create file &apos;Programs/resources/webkit2gtk-tests-resourcFailed to run &quot;[&apos;Tools/Scripts/build-webkit&apos;, &apos;--release&apos;, &apos;--gtk&apos;, &apos;--update-gtk&apos;, &apos;--makeargs=&quot;-j8&quot;&apos;]&quot; exit_code: 2
&quot;&quot;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755498</commentid>
    <comment_count>4</comment_count>
      <attachid>171552</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-10-31 11:40:51 -0700</bug_when>
    <thetext>Comment on attachment 171552
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171552&amp;action=review

Looks good!

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:212
&gt; +    if (!texCoordAttributeDefined)
&gt; +        m_validatedVertexShader.append(&quot;attribute mediump vec2 a_texCoord;&quot;);

Add a comment explaining that a_texCoord is read-only and that even if we reuse the same one that the user had access to, it&apos;s not going to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755651</commentid>
    <comment_count>5</comment_count>
      <attachid>171728</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-31 15:04:15 -0700</bug_when>
    <thetext>Created attachment 171728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755652</commentid>
    <comment_count>6</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-31 15:06:26 -0700</bug_when>
    <thetext>Thanks for looking at this!

(In reply to comment #4)
&gt; (From update of attachment 171552 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171552&amp;action=review
&gt; 
&gt; Looks good!
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:212
&gt; &gt; +    if (!texCoordAttributeDefined)
&gt; &gt; +        m_validatedVertexShader.append(&quot;attribute mediump vec2 a_texCoord;&quot;);
&gt; 
&gt; Add a comment explaining that a_texCoord is read-only and that even if we reuse the same one that the user had access to, it&apos;s not going to change.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756733</commentid>
    <comment_count>7</comment_count>
      <attachid>171728</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 16:59:22 -0700</bug_when>
    <thetext>Comment on attachment 171728
Patch

Clearing flags on attachment: 171728

Committed r133241: &lt;http://trac.webkit.org/changeset/133241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756734</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 16:59:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171524</attachid>
            <date>2012-10-30 14:43:37 -0700</date>
            <delta_ts>2012-10-30 16:57:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94358-1.patch</filename>
            <type>text/plain</type>
            <size>15450</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTYzNWRjLi41OWU0N2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTAt
MzAgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gR2V0IHJpZCBvZiBpbnRlcm5hbCB0ZXggY29vcmQgYXR0cmlidXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3Qgd2hpY2ggdmVy
aWZpZXMgdGhhdCBhIGN1c3RvbSBmaWx0ZXIgZXhlY3V0ZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBhdXRob3IKKyAgICAgICAgZGVmaW5lcyBhX3RleENvb3JkIGluIHRoZSB2ZXJ0ZXggc2hh
ZGVyLiBXZSBjaGVjayB0aGlzIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHVzZXMKKyAgICAg
ICAgdGhlIGF1dGhvcidzIGFfdGV4Q29vcmQgZGVmaW5pdGlvbiBpZiBpdCBleGlzdHMuIElmIGl0
IGRvZXNuJ3QgZXhpc3QsIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBhZGRzIGl0cyBvd24g
YV90ZXhDb29yZCBkZWZpbml0aW9uIHRvIHRoZSBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYS10ZXgtY29vcmQtb3B0aW9uYWwt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52czogQWRkZWQuCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnM6IEFk
ZGVkLgorCiAyMDEyLTEwLTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwIGlubGluZSBlbGVtZW50IGJlc2lkZSBhIGZsb2F0
ZWQgZWxlbWVudCB3cmFwcyBpbmNvcnJlY3RseSB3aXRob3V0IHRyYWlsaW5nIHRleHRub2RlL25l
d2xpbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ5MDRiMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhh
dCBjdXN0b20gZmlsdGVycyB3aXRoIGJsZW5kaW5nIGFuZCBjb21wb3NpdGluZyBleGVjdXRlIHdo
ZXRoZXIgb3Igbm90IHRoZSBhdXRob3IgZGVmaW5lcyBhX3RleENvb3JkLjwvdGl0bGU+CisgICAg
PCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDIgdmVydGljYWxseS1zdGFj
a2VkIGdyZWVuIGJveGVzLiAtLT4KKyAgICA8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDAsIDI1NSwgMCk7CisgICAgICAgIHdpZHRoOiA1MHB4OworICAg
ICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICB9CisgICAgPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0NmI5MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVy
cyB3aXRoIGJsZW5kaW5nIGFuZCBjb21wb3NpdGluZyBleGVjdXRlIHdoZXRoZXIgb3Igbm90IHRo
ZSBhdXRob3IgZGVmaW5lcyBhX3RleENvb3JkLjwvdGl0bGU+CisgICAgPCEtLSBJZiB0aGUgdGVz
dCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDIgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVz
LiAtLT4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NT
Q3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAg
ICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICAv
LyBXZSBuZWVkIHRvIHJ1biB0aGUgdGVzdHMgYWZ0ZXIgdGhlIHNoYWRlcnMgZG93bmxvYWQuCisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93
LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAg
PHN0eWxlPgorICAgIGRpdiB7CisgICAgICAgIC8qIElmIHRoZSBzaGFkZXJzIGV4ZWN1dGUsIHRo
ZXkgd2lsbCB0dXJuIHRoZSBlbGVtZW50J3MgY29sb3IgZnJvbSByZWQgdG8gZ3JlZW4uICovCisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDAsIDApOworICAgICAgICB3aWR0aDog
NTBweDsKKyAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAg
fQorICAgIC5hLXRleC1jb29yZC1kZWZpbmVkIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9hLXRleC1jb29yZC1kZWZpbmVkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAwLjAgMS4wIDAuMCAxLjApOworICAgIH0KKyAgICAuYS10ZXgtY29vcmQtdW5kZWZpbmVkIHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9hLXRleC1j
b29yZC11bmRlZmluZWQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykg
bm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDAuMCAxLjAgMC4wIDEuMCk7CisgICAgfQor
ICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRp
diBjbGFzcz0iYS10ZXgtY29vcmQtZGVmaW5lZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iYS10
ZXgtY29vcmQtdW5kZWZpbmVkIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52
cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5l
ZC52cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmQ2NDI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29y
ZC1kZWZpbmVkLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMgc2hhZGVyIGRlZmluZXMgYV90
ZXhDb29yZC4gSXQncyBhc3NvY2lhdGVkIGN1c3RvbSBmaWx0ZXIgc2hvdWxkIGV4ZWN1dGUgcHJv
cGVybHkuCisKK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgdmVjMiBhX3Rl
eENvb3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2pl
Y3Rpb25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2pl
Y3Rpb25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2EtdGV4LWNvb3JkLXVuZGVmaW5lZC52cwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjA4YTM5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQu
dnMKQEAgLTAsMCArMSwxMSBAQAorLy8gVGhpcyBzaGFkZXIgZG9lcyBub3QgZGVmaW5lIGFfdGV4
Q29vcmQuIEl0J3MgYXNzb2NpYXRlZCBjdXN0b20gZmlsdGVyIHNob3VsZCBleGVjdXRlIHByb3Bl
cmx5LgorCitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzQgYV9wb3Np
dGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDg5MmZmZTUuLjgxMGE0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBA
QAorMjAxMi0xMC0zMCAgTWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBTaGFkZXJzXSBHZXQgcmlkIG9mIGludGVybmFsIHRleCBjb29yZCBhdHRyaWJ1dGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBpbnRlcm5hbCBjc3NfYV90ZXhDb29yZCBhdHRyaWJ1dGUgdGhhdCBXZWJLaXQgYWRkZWQgdG8g
c2hhZGVycyBpbiBvcmRlciB0bworICAgICAgICBzYW1wbGUgdGhlIGVsZW1lbnQgdGV4dHVyZSBi
eSB0ZXh0dXJlIGNvb3JkaW5hdGUuCisKKyAgICAgICAgTm93LCB0aGUgV2ViS2l0LWFkZGVkIHNh
bXBsaW5nIGNvZGUgY2FuIGxldmVyYWdlIGFfdGV4Q29vcmQgaWYgdGhlIGF1dGhvciBkZWZpbmVk
IGl0LCBvcgorICAgICAgICBXZWJLaXQgY2FuIGFkZCBpdHMgb3duIGFfdGV4Q29vcmQgZGVmaW5p
dGlvbiB0byB0aGUgYXV0aG9yJ3Mgc2hhZGVyLgorCisgICAgICAgIE5vdGUgdGhhdCB2ZXJ0ZXgg
YXR0cmlidXRlcyBhcmUgcmVhZC1vbmx5IGluIEdMU0wuIEFsc28sIG5vdGUgdGhhdCB3ZSBhbHJl
YWR5IHJlamVjdCB0aGUKKyAgICAgICAgc2hhZGVyIGlmIHRoZSBhdXRob3IgZGlkIG5vdCBkZWZp
bmUgYV90ZXhDb29yZCB3aXRoIHRoZSBjb3JyZWN0IHR5cGUuIEVzc2VudGlhbGx5LCBpZgorICAg
ICAgICBhX3RleENvb3JkIGV4aXN0cyBpbiB0aGUgYXV0aG9yJ3MgdmFsaWRhdGVkIHNoYWRlciwg
d2UgYXJlIGd1YXJhbnRlZWQgdGhhdCBpdCdzIHRoZSBjb3JyZWN0CisgICAgICAgIHR5cGUgYW5k
IHRoYXQgaXRzIHZhbHVlIGlzIHVubW9kaWZpZWQuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9n
cmFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTo6
Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtKToKKyAgICAgICAgICAgIFJlbW92ZSB0aGUgcmVm
ZXJlbmNlcyB0byBtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTo6aW5pdGlhbGl6ZVBhcmFtZXRlckxv
Y2F0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VzdG9tRmlsdGVyUmVuZGVyZXI6OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUmVuZGVyZXI6OnVuYmluZFZlcnRleEF0dHJp
YnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAg
ICAgICAgICBQYXNzIHRoZSBzZXQgb2Ygc3ltYm9scyBmb3VuZCBpbiB0aGUgYXV0aG9yJ3Mgc2hh
ZGVycyB0byB0aGUgcmV3cml0ZU1peFZlcnRleFNoYWRlcgorICAgICAgICAgICAgbWV0aG9kLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6cmV3cml0ZU1p
eFZlcnRleFNoYWRlcik6CisgICAgICAgICAgICBJZiB0aGUgYXV0aG9yIGRpZG4ndCBkZWZpbmUg
YV90ZXhDb29yZCwgYWRkIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGF1dGhvcidzIHZlcnRleCAKKyAg
ICAgICAgICAgIHNoYWRlciwgYnV0IGJlZm9yZSB0aGUgc2hhZGVyJ3MgbmV3IG1haW4gZnVuY3Rp
b24uIEFzIGJlZm9yZSwgdGhlIG5ldyBtYWluIGZ1bmN0aW9uCisgICAgICAgICAgICB3aWxsIHBh
c3MgdGhlIHRleHR1cmUgY29vcmRpbmF0ZSB0byB0aGUgZnJhZ21lbnQgc2hhZGVyIHZpYSB0aGUg
Y3NzX3ZfdGV4Q29vcmQgdmFyeWluZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAgICAgQWRkIGEgZm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgQU5HTEVTaGFkZXJTeW1i
b2wuCisgICAgICAgIChDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtKToKKyAgICAgICAgICAg
IFVwZGF0ZSB0aGUgbWV0aG9kIHByb3RvdHlwZSBmb3IgcmV3cml0ZU1peFZlcnRleFNoYWRlci4K
KwogMjAxMi0xMC0zMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQXZvaWQgdW5uZWNlc3Nhcnkgc3R5bGUgcmVjYWxjcyBvbiBjbGFzcyBhdHRyaWJ1dGUgbXV0
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcAppbmRl
eCAwYWFhYjk2Li4yNjk2NWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21waWxl
ZFByb2dyYW0uY3BwCkBAIC01MCw3ICs1MCw2IEBAIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3Jh
bTo6Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250CiAg
ICAgLCBtX3NhbXBsZXJMb2NhdGlvbigtMSkKICAgICAsIG1fc2FtcGxlclNpemVMb2NhdGlvbigt
MSkKICAgICAsIG1fY29udGVudFNhbXBsZXJMb2NhdGlvbigtMSkKLSAgICAsIG1faW50ZXJuYWxU
ZXhDb29yZEF0dHJpYkxvY2F0aW9uKC0xKQogICAgICwgbV9pc0luaXRpYWxpemVkKGZhbHNlKQog
ewogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC0xMzAsMTAgKzEyOSw5
IEBAIHZvaWQgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjppbml0aWFsaXplUGFyYW1ldGVy
TG9jYXRpb25zKEN1c3RvbUZpbHRlclByb2dyCiAgICAgbV9zYW1wbGVyU2l6ZUxvY2F0aW9uID0g
bV9jb250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24obV9wcm9ncmFtLCAidV90ZXh0dXJlU2l6ZSIp
OwogICAgIG1fY29udGVudFNhbXBsZXJMb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxv
Y2F0aW9uKG1fcHJvZ3JhbSwgInVfY29udGVudFRleHR1cmUiKTsKICAgICBpZiAocHJvZ3JhbVR5
cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUpIHsKLSAgICAgICAgLy8g
V2hlbiB0aGUgYXV0aG9yIHVzZXMgdGhlIENTUyBtaXggZnVuY3Rpb24gaW4gYSBjdXN0b20gZmls
dGVyLCB3ZSBhZGQgaW50ZXJuYWwgc3ltYm9scyB0byB0aGUgc2hhZGVyIGNvZGUuCi0gICAgICAg
IC8vIE9uZSBvZiB0aGVtLCBjc3NfdV90ZXh0dXJlLCByZWZlcmVuY2VzIHRoZSB0ZXh0dXJlIG9m
IHRoZSBlbGVtZW50LgorICAgICAgICAvLyBXaGVuIHRoZSBhdXRob3IgdXNlcyB0aGUgQ1NTIG1p
eCBmdW5jdGlvbiBpbiBhIGN1c3RvbSBmaWx0ZXIsIFdlYktpdCBhZGRzIHRoZSBpbnRlcm5hbAor
ICAgICAgICAvLyBzeW1ib2wgY3NzX3VfdGV4dHVyZSB0byB0aGUgc2hhZGVyIGNvZGUsIHdoaWNo
IHJlZmVyZW5jZXMgdGhlIHRleHR1cmUgb2YgdGhlIGVsZW1lbnQuCiAgICAgICAgIG1fc2FtcGxl
ckxvY2F0aW9uID0gbV9jb250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24obV9wcm9ncmFtLCAiY3Nz
X3VfdGV4dHVyZSIpOwotICAgICAgICBtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbiA9
IG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24obV9wcm9ncmFtLCAiY3NzX2FfdGV4Q29vcmQi
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5o
CmluZGV4IGYzMWZkZjAuLjVkYmYwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21w
aWxlZFByb2dyYW0uaApAQCAtNjEsMTIgKzYxLDYgQEAgcHVibGljOgogICAgIGludCBzYW1wbGVy
TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXJMb2NhdGlvbjsgfQogICAgIGludCBj
b250ZW50U2FtcGxlckxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2FtcGxlckxv
Y2F0aW9uOyB9CiAgICAgaW50IHNhbXBsZXJTaXplTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X3NhbXBsZXJTaXplTG9jYXRpb247IH0KLSAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiB0aGUgaW50
ZXJuYWwgdGV4IGNvb3JkIGF0dHJpYnV0ZSAiY3NzX2FfdGV4Q29vcmQiLgotICAgIC8vIElmIHRo
ZSBhdXRob3IgZGVmaW5lZCAiYV90ZXhDb29yZCIsIHdlIHNob3VsZCBsZXZlcmFnZSB0aGF0Lgot
ICAgIC8vIElmIG5vdCwgd2Ugc2hvdWxkIHdyaXRlICJhX3RleENvb3JkIiBpbiB0aGUgc2hhZGVy
LgotICAgIC8vIFRoaXMgcmVxdWlyZXMgdXMgdG8gZmlyc3QgZ2V0IHRoZSBsaXN0IG9mIGF0dHJp
YnV0ZXMgZnJvbSB0aGUgdmVydGV4IHNoYWRlciB1c2luZyBBTkdMRS4KLSAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzNTgKLSAgICBpbnQgaW50ZXJuYWxU
ZXhDb29yZEF0dHJpYkxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFRleENvb3Jk
QXR0cmliTG9jYXRpb247IH0KIAogICAgIGludCB1bmlmb3JtTG9jYXRpb25CeU5hbWUoY29uc3Qg
U3RyaW5nJik7CiAgICAgCkBAIC05NCw5ICs4OCw2IEBAIHByaXZhdGU6CiAgICAgaW50IG1fc2Ft
cGxlckxvY2F0aW9uOwogICAgIGludCBtX3NhbXBsZXJTaXplTG9jYXRpb247CiAgICAgaW50IG1f
Y29udGVudFNhbXBsZXJMb2NhdGlvbjsKLSAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiB0aGUgaW50
ZXJuYWwgdGV4IGNvb3JkIGF0dHJpYnV0ZSAiY3NzX2FfdGV4Q29vcmQiLgotICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAotICAgIGludCBtX2ludGVy
bmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbjsKICAgICAKICAgICBib29sIG1faXNJbml0aWFsaXpl
ZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCmluZGV4IGJkOTZlYjYuLjFj
NjcxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCkBAIC0yODQsOSArMjg0
LDYgQEAgdm9pZCBDdXN0b21GaWx0ZXJSZW5kZXJlcjo6YmluZFByb2dyYW1BbmRCdWZmZXJzKFBs
YXRmb3JtM0RPYmplY3QgaW5wdXRUZXh0dXJlKQogCiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZSht
X2NvbXBpbGVkUHJvZ3JhbS0+cG9zaXRpb25BdHRyaWJMb2NhdGlvbigpLCBQb3NpdGlvbkF0dHJp
YlNpemUsIFBvc2l0aW9uQXR0cmliT2Zmc2V0KTsKICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1f
Y29tcGlsZWRQcm9ncmFtLT50ZXhBdHRyaWJMb2NhdGlvbigpLCBUZXhBdHRyaWJTaXplLCBUZXhB
dHRyaWJPZmZzZXQpOwotICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoZSBpbnRlcm5hbCB0ZXgg
Y29vcmQgYXR0cmlidXRlICJjc3NfYV90ZXhDb29yZCIuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4Ci0gICAgYmluZFZlcnRleEF0dHJpYnV0ZSht
X2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCksIFRleEF0
dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2Nv
bXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hBdHRyaWJTaXplLCBNZXNo
QXR0cmliT2Zmc2V0KTsKICAgICBpZiAobV9tZXNoVHlwZSA9PSBNZXNoVHlwZURldGFjaGVkKQog
ICAgICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0
dHJpYkxvY2F0aW9uKCksIFRyaWFuZ2xlQXR0cmliU2l6ZSwgVHJpYW5nbGVBdHRyaWJPZmZzZXQp
OwpAQCAtMjk4LDcgKzI5NSw2IEBAIHZvaWQgQ3VzdG9tRmlsdGVyUmVuZGVyZXI6OnVuYmluZFZl
cnRleEF0dHJpYnV0ZXMoKQogewogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVk
UHJvZ3JhbS0+cG9zaXRpb25BdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRy
aWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRleEF0dHJpYkxvY2F0aW9uKCkpOwotICAgIHVuYmlu
ZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJp
YkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3Jh
bS0+bWVzaEF0dHJpYkxvY2F0aW9uKCkpOwogICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBl
RGV0YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3Jh
bS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4IDQwZjQ4ODYuLjkxNTllMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0xNzMsNyArMTc0LDcgQEAgQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbShDdXN0b21GaWx0ZXJH
bG9iYWxDb24KIAogICAgIC8vIFdlIG5lZWQgdG8gYWRkIHRleHR1cmUgYWNjZXNzLCBibGVuZGlu
ZywgYW5kIGNvbXBvc2l0aW5nIGNvZGUgdG8gc2hhZGVycyB0aGF0IGFyZSByZWZlcmVuY2VkIGZy
b20gdGhlIENTUyBtaXggZnVuY3Rpb24uCiAgICAgaWYgKGJsZW5kc0VsZW1lbnRUZXh0dXJlKSB7
Ci0gICAgICAgIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIoKTsKKyAgICAgICAgcmV3cml0ZU1peFZl
cnRleFNoYWRlcihzeW1ib2xzKTsKICAgICAgICAgcmV3cml0ZU1peEZyYWdtZW50U2hhZGVyKCk7
CiAgICAgfQogCkBAIC0xOTcsMjEgKzE5OCwyOSBAQCBib29sIEN1c3RvbUZpbHRlclZhbGlkYXRl
ZFByb2dyYW06Om5lZWRzSW5wdXRUZXh0dXJlKCkgY29uc3QKICAgICAgICAgJiYgbV9wcm9ncmFt
SW5mby5taXhTZXR0aW5ncygpLmNvbXBvc2l0ZU9wZXJhdG9yICE9IENvbXBvc2l0ZUNvcHk7CiB9
CiAKLXZvaWQgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6cmV3cml0ZU1peFZlcnRleFNo
YWRlcigpCit2b2lkIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OnJld3JpdGVNaXhWZXJ0
ZXhTaGFkZXIoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykKIHsKICAg
ICBBU1NFUlQobV9wcm9ncmFtSW5mby5wcm9ncmFtVHlwZSgpID09IFBST0dSQU1fVFlQRV9CTEVO
RFNfRUxFTUVOVF9URVhUVVJFKTsKIAorICAgIGJvb2wgdGV4Q29vcmRBdHRyaWJ1dGVEZWZpbmVk
ID0gZmFsc2U7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1ib2xzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIGlmIChzeW1ib2xzW2ldLm5hbWUgPT0gImFfdGV4Q29vcmQiKQorICAgICAg
ICAgICAgdGV4Q29vcmRBdHRyaWJ1dGVEZWZpbmVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAo
IXRleENvb3JkQXR0cmlidXRlRGVmaW5lZCkKKyAgICAgICAgbV92YWxpZGF0ZWRWZXJ0ZXhTaGFk
ZXIuYXBwZW5kKCJhdHRyaWJ1dGUgbWVkaXVtcCB2ZWMyIGFfdGV4Q29vcmQ7Iik7CisKICAgICAv
LyBEdXJpbmcgdmFsaWRhdGlvbiwgQU5HTEUgcmVuYW1lZCB0aGUgYXV0aG9yJ3MgIm1haW4iIGZ1
bmN0aW9uIHRvICJjc3NfbWFpbiIuCiAgICAgLy8gV2Ugd3JpdGUgb3VyIG93biAibWFpbiIgZnVu
Y3Rpb24gYW5kIGNhbGwgImNzc19tYWluIiBmcm9tIGl0LgogICAgIC8vIFRoaXMgbWFrZXMgcmV3
cml0aW5nIGVhc3kgYW5kIGVuc3VyZXMgdGhhdCBvdXIgY29kZSBydW5zIGFmdGVyIGFsbCBhdXRo
b3IgY29kZS4KICAgICBtX3ZhbGlkYXRlZFZlcnRleFNoYWRlci5hcHBlbmQoU0hBREVSKAotICAg
ICAgICBhdHRyaWJ1dGUgbWVkaXVtcCB2ZWMyIGNzc19hX3RleENvb3JkOwogICAgICAgICB2YXJ5
aW5nIG1lZGl1bXAgdmVjMiBjc3Nfdl90ZXhDb29yZDsKIAogICAgICAgICB2b2lkIG1haW4oKQog
ICAgICAgICB7CiAgICAgICAgICAgICBjc3NfbWFpbigpOwotICAgICAgICAgICAgY3NzX3ZfdGV4
Q29vcmQgPSBjc3NfYV90ZXhDb29yZDsKKyAgICAgICAgICAgIGNzc192X3RleENvb3JkID0gYV90
ZXhDb29yZDsKICAgICAgICAgfQogICAgICkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFt
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaAppbmRleCAxNzQ2MWU3Li5iNzIyYWMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaApAQCAtNDksNiArNDksNyBAQCB0eXBl
ZGVmIFdlYkNvcmU6OkxheWVyQ29tcGlsZWRQcm9ncmFtIFBsYXRmb3JtQ29tcGlsZWRQcm9ncmFt
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVjdCBBTkdMRVNoYWRlclN5bWJvbDsKIGNs
YXNzIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTsKIGNsYXNzIEN1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQ7CiAKQEAgLTk5LDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmlu
ZyBibGVuZEZ1bmN0aW9uU3RyaW5nKEJsZW5kTW9kZSk7CiAgICAgc3RhdGljIFN0cmluZyBjb21w
b3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvcik7CiAKLSAgICB2b2lkIHJld3Jp
dGVNaXhWZXJ0ZXhTaGFkZXIoKTsKKyAgICB2b2lkIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIoY29u
c3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scyk7CiAgICAgdm9pZCByZXdyaXRl
TWl4RnJhZ21lbnRTaGFkZXIoKTsKIAogICAgIGJvb2wgbmVlZHNJbnB1dFRleHR1cmUoKSBjb25z
dDsK
</data>
<flag name="commit-queue"
          id="185495"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171552</attachid>
            <date>2012-10-30 16:57:57 -0700</date>
            <delta_ts>2012-10-31 15:04:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94358-1.patch</filename>
            <type>text/plain</type>
            <size>15450</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTYzNWRjLi41OWU0N2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTAt
MzAgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gR2V0IHJpZCBvZiBpbnRlcm5hbCB0ZXggY29vcmQgYXR0cmlidXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3Qgd2hpY2ggdmVy
aWZpZXMgdGhhdCBhIGN1c3RvbSBmaWx0ZXIgZXhlY3V0ZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBhdXRob3IKKyAgICAgICAgZGVmaW5lcyBhX3RleENvb3JkIGluIHRoZSB2ZXJ0ZXggc2hh
ZGVyLiBXZSBjaGVjayB0aGlzIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHVzZXMKKyAgICAg
ICAgdGhlIGF1dGhvcidzIGFfdGV4Q29vcmQgZGVmaW5pdGlvbiBpZiBpdCBleGlzdHMuIElmIGl0
IGRvZXNuJ3QgZXhpc3QsIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBhZGRzIGl0cyBvd24g
YV90ZXhDb29yZCBkZWZpbml0aW9uIHRvIHRoZSBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYS10ZXgtY29vcmQtb3B0aW9uYWwt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52czogQWRkZWQuCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnM6IEFk
ZGVkLgorCiAyMDEyLTEwLTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwIGlubGluZSBlbGVtZW50IGJlc2lkZSBhIGZsb2F0
ZWQgZWxlbWVudCB3cmFwcyBpbmNvcnJlY3RseSB3aXRob3V0IHRyYWlsaW5nIHRleHRub2RlL25l
d2xpbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ5MDRiMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhh
dCBjdXN0b20gZmlsdGVycyB3aXRoIGJsZW5kaW5nIGFuZCBjb21wb3NpdGluZyBleGVjdXRlIHdo
ZXRoZXIgb3Igbm90IHRoZSBhdXRob3IgZGVmaW5lcyBhX3RleENvb3JkLjwvdGl0bGU+CisgICAg
PCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDIgdmVydGljYWxseS1zdGFj
a2VkIGdyZWVuIGJveGVzLiAtLT4KKyAgICA8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDAsIDI1NSwgMCk7CisgICAgICAgIHdpZHRoOiA1MHB4OworICAg
ICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICB9CisgICAgPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0NmI5MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVy
cyB3aXRoIGJsZW5kaW5nIGFuZCBjb21wb3NpdGluZyBleGVjdXRlIHdoZXRoZXIgb3Igbm90IHRo
ZSBhdXRob3IgZGVmaW5lcyBhX3RleENvb3JkLjwvdGl0bGU+CisgICAgPCEtLSBJZiB0aGUgdGVz
dCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDIgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVz
LiAtLT4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NT
Q3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAg
ICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICAv
LyBXZSBuZWVkIHRvIHJ1biB0aGUgdGVzdHMgYWZ0ZXIgdGhlIHNoYWRlcnMgZG93bmxvYWQuCisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93
LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAg
PHN0eWxlPgorICAgIGRpdiB7CisgICAgICAgIC8qIElmIHRoZSBzaGFkZXJzIGV4ZWN1dGUsIHRo
ZXkgd2lsbCB0dXJuIHRoZSBlbGVtZW50J3MgY29sb3IgZnJvbSByZWQgdG8gZ3JlZW4uICovCisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDAsIDApOworICAgICAgICB3aWR0aDog
NTBweDsKKyAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAg
fQorICAgIC5hLXRleC1jb29yZC1kZWZpbmVkIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9hLXRleC1jb29yZC1kZWZpbmVkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAwLjAgMS4wIDAuMCAxLjApOworICAgIH0KKyAgICAuYS10ZXgtY29vcmQtdW5kZWZpbmVkIHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9hLXRleC1j
b29yZC11bmRlZmluZWQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykg
bm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDAuMCAxLjAgMC4wIDEuMCk7CisgICAgfQor
ICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRp
diBjbGFzcz0iYS10ZXgtY29vcmQtZGVmaW5lZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iYS10
ZXgtY29vcmQtdW5kZWZpbmVkIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52
cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5l
ZC52cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmQ2NDI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29y
ZC1kZWZpbmVkLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMgc2hhZGVyIGRlZmluZXMgYV90
ZXhDb29yZC4gSXQncyBhc3NvY2lhdGVkIGN1c3RvbSBmaWx0ZXIgc2hvdWxkIGV4ZWN1dGUgcHJv
cGVybHkuCisKK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgdmVjMiBhX3Rl
eENvb3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2pl
Y3Rpb25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2pl
Y3Rpb25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2EtdGV4LWNvb3JkLXVuZGVmaW5lZC52cwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjA4YTM5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQu
dnMKQEAgLTAsMCArMSwxMSBAQAorLy8gVGhpcyBzaGFkZXIgZG9lcyBub3QgZGVmaW5lIGFfdGV4
Q29vcmQuIEl0J3MgYXNzb2NpYXRlZCBjdXN0b20gZmlsdGVyIHNob3VsZCBleGVjdXRlIHByb3Bl
cmx5LgorCitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzQgYV9wb3Np
dGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDg5MmZmZTUuLjgxMGE0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBA
QAorMjAxMi0xMC0zMCAgTWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBTaGFkZXJzXSBHZXQgcmlkIG9mIGludGVybmFsIHRleCBjb29yZCBhdHRyaWJ1dGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBpbnRlcm5hbCBjc3NfYV90ZXhDb29yZCBhdHRyaWJ1dGUgdGhhdCBXZWJLaXQgYWRkZWQgdG8g
c2hhZGVycyBpbiBvcmRlciB0bworICAgICAgICBzYW1wbGUgdGhlIGVsZW1lbnQgdGV4dHVyZSBi
eSB0ZXh0dXJlIGNvb3JkaW5hdGUuCisKKyAgICAgICAgTm93LCB0aGUgV2ViS2l0LWFkZGVkIHNh
bXBsaW5nIGNvZGUgY2FuIGxldmVyYWdlIGFfdGV4Q29vcmQgaWYgdGhlIGF1dGhvciBkZWZpbmVk
IGl0LCBvcgorICAgICAgICBXZWJLaXQgY2FuIGFkZCBpdHMgb3duIGFfdGV4Q29vcmQgZGVmaW5p
dGlvbiB0byB0aGUgYXV0aG9yJ3Mgc2hhZGVyLgorCisgICAgICAgIE5vdGUgdGhhdCB2ZXJ0ZXgg
YXR0cmlidXRlcyBhcmUgcmVhZC1vbmx5IGluIEdMU0wuIEFsc28sIG5vdGUgdGhhdCB3ZSBhbHJl
YWR5IHJlamVjdCB0aGUKKyAgICAgICAgc2hhZGVyIGlmIHRoZSBhdXRob3IgZGlkIG5vdCBkZWZp
bmUgYV90ZXhDb29yZCB3aXRoIHRoZSBjb3JyZWN0IHR5cGUuIEVzc2VudGlhbGx5LCBpZgorICAg
ICAgICBhX3RleENvb3JkIGV4aXN0cyBpbiB0aGUgYXV0aG9yJ3MgdmFsaWRhdGVkIHNoYWRlciwg
d2UgYXJlIGd1YXJhbnRlZWQgdGhhdCBpdCdzIHRoZSBjb3JyZWN0CisgICAgICAgIHR5cGUgYW5k
IHRoYXQgaXRzIHZhbHVlIGlzIHVubW9kaWZpZWQuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9n
cmFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTo6
Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtKToKKyAgICAgICAgICAgIFJlbW92ZSB0aGUgcmVm
ZXJlbmNlcyB0byBtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTo6aW5pdGlhbGl6ZVBhcmFtZXRlckxv
Y2F0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VzdG9tRmlsdGVyUmVuZGVyZXI6OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUmVuZGVyZXI6OnVuYmluZFZlcnRleEF0dHJp
YnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAg
ICAgICAgICBQYXNzIHRoZSBzZXQgb2Ygc3ltYm9scyBmb3VuZCBpbiB0aGUgYXV0aG9yJ3Mgc2hh
ZGVycyB0byB0aGUgcmV3cml0ZU1peFZlcnRleFNoYWRlcgorICAgICAgICAgICAgbWV0aG9kLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6cmV3cml0ZU1p
eFZlcnRleFNoYWRlcik6CisgICAgICAgICAgICBJZiB0aGUgYXV0aG9yIGRpZG4ndCBkZWZpbmUg
YV90ZXhDb29yZCwgYWRkIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGF1dGhvcidzIHZlcnRleCAKKyAg
ICAgICAgICAgIHNoYWRlciwgYnV0IGJlZm9yZSB0aGUgc2hhZGVyJ3MgbmV3IG1haW4gZnVuY3Rp
b24uIEFzIGJlZm9yZSwgdGhlIG5ldyBtYWluIGZ1bmN0aW9uCisgICAgICAgICAgICB3aWxsIHBh
c3MgdGhlIHRleHR1cmUgY29vcmRpbmF0ZSB0byB0aGUgZnJhZ21lbnQgc2hhZGVyIHZpYSB0aGUg
Y3NzX3ZfdGV4Q29vcmQgdmFyeWluZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAgICAgQWRkIGEgZm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgQU5HTEVTaGFkZXJTeW1i
b2wuCisgICAgICAgIChDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtKToKKyAgICAgICAgICAg
IFVwZGF0ZSB0aGUgbWV0aG9kIHByb3RvdHlwZSBmb3IgcmV3cml0ZU1peFZlcnRleFNoYWRlci4K
KwogMjAxMi0xMC0zMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQXZvaWQgdW5uZWNlc3Nhcnkgc3R5bGUgcmVjYWxjcyBvbiBjbGFzcyBhdHRyaWJ1dGUgbXV0
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcAppbmRl
eCAwYWFhYjk2Li4yNjk2NWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21waWxl
ZFByb2dyYW0uY3BwCkBAIC01MCw3ICs1MCw2IEBAIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3Jh
bTo6Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250CiAg
ICAgLCBtX3NhbXBsZXJMb2NhdGlvbigtMSkKICAgICAsIG1fc2FtcGxlclNpemVMb2NhdGlvbigt
MSkKICAgICAsIG1fY29udGVudFNhbXBsZXJMb2NhdGlvbigtMSkKLSAgICAsIG1faW50ZXJuYWxU
ZXhDb29yZEF0dHJpYkxvY2F0aW9uKC0xKQogICAgICwgbV9pc0luaXRpYWxpemVkKGZhbHNlKQog
ewogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC0xMzAsMTAgKzEyOSw5
IEBAIHZvaWQgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjppbml0aWFsaXplUGFyYW1ldGVy
TG9jYXRpb25zKEN1c3RvbUZpbHRlclByb2dyCiAgICAgbV9zYW1wbGVyU2l6ZUxvY2F0aW9uID0g
bV9jb250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24obV9wcm9ncmFtLCAidV90ZXh0dXJlU2l6ZSIp
OwogICAgIG1fY29udGVudFNhbXBsZXJMb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxv
Y2F0aW9uKG1fcHJvZ3JhbSwgInVfY29udGVudFRleHR1cmUiKTsKICAgICBpZiAocHJvZ3JhbVR5
cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUpIHsKLSAgICAgICAgLy8g
V2hlbiB0aGUgYXV0aG9yIHVzZXMgdGhlIENTUyBtaXggZnVuY3Rpb24gaW4gYSBjdXN0b20gZmls
dGVyLCB3ZSBhZGQgaW50ZXJuYWwgc3ltYm9scyB0byB0aGUgc2hhZGVyIGNvZGUuCi0gICAgICAg
IC8vIE9uZSBvZiB0aGVtLCBjc3NfdV90ZXh0dXJlLCByZWZlcmVuY2VzIHRoZSB0ZXh0dXJlIG9m
IHRoZSBlbGVtZW50LgorICAgICAgICAvLyBXaGVuIHRoZSBhdXRob3IgdXNlcyB0aGUgQ1NTIG1p
eCBmdW5jdGlvbiBpbiBhIGN1c3RvbSBmaWx0ZXIsIFdlYktpdCBhZGRzIHRoZSBpbnRlcm5hbAor
ICAgICAgICAvLyBzeW1ib2wgY3NzX3VfdGV4dHVyZSB0byB0aGUgc2hhZGVyIGNvZGUsIHdoaWNo
IHJlZmVyZW5jZXMgdGhlIHRleHR1cmUgb2YgdGhlIGVsZW1lbnQuCiAgICAgICAgIG1fc2FtcGxl
ckxvY2F0aW9uID0gbV9jb250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24obV9wcm9ncmFtLCAiY3Nz
X3VfdGV4dHVyZSIpOwotICAgICAgICBtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbiA9
IG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24obV9wcm9ncmFtLCAiY3NzX2FfdGV4Q29vcmQi
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5o
CmluZGV4IGYzMWZkZjAuLjVkYmYwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21w
aWxlZFByb2dyYW0uaApAQCAtNjEsMTIgKzYxLDYgQEAgcHVibGljOgogICAgIGludCBzYW1wbGVy
TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZXJMb2NhdGlvbjsgfQogICAgIGludCBj
b250ZW50U2FtcGxlckxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2FtcGxlckxv
Y2F0aW9uOyB9CiAgICAgaW50IHNhbXBsZXJTaXplTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X3NhbXBsZXJTaXplTG9jYXRpb247IH0KLSAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiB0aGUgaW50
ZXJuYWwgdGV4IGNvb3JkIGF0dHJpYnV0ZSAiY3NzX2FfdGV4Q29vcmQiLgotICAgIC8vIElmIHRo
ZSBhdXRob3IgZGVmaW5lZCAiYV90ZXhDb29yZCIsIHdlIHNob3VsZCBsZXZlcmFnZSB0aGF0Lgot
ICAgIC8vIElmIG5vdCwgd2Ugc2hvdWxkIHdyaXRlICJhX3RleENvb3JkIiBpbiB0aGUgc2hhZGVy
LgotICAgIC8vIFRoaXMgcmVxdWlyZXMgdXMgdG8gZmlyc3QgZ2V0IHRoZSBsaXN0IG9mIGF0dHJp
YnV0ZXMgZnJvbSB0aGUgdmVydGV4IHNoYWRlciB1c2luZyBBTkdMRS4KLSAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzNTgKLSAgICBpbnQgaW50ZXJuYWxU
ZXhDb29yZEF0dHJpYkxvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFRleENvb3Jk
QXR0cmliTG9jYXRpb247IH0KIAogICAgIGludCB1bmlmb3JtTG9jYXRpb25CeU5hbWUoY29uc3Qg
U3RyaW5nJik7CiAgICAgCkBAIC05NCw5ICs4OCw2IEBAIHByaXZhdGU6CiAgICAgaW50IG1fc2Ft
cGxlckxvY2F0aW9uOwogICAgIGludCBtX3NhbXBsZXJTaXplTG9jYXRpb247CiAgICAgaW50IG1f
Y29udGVudFNhbXBsZXJMb2NhdGlvbjsKLSAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiB0aGUgaW50
ZXJuYWwgdGV4IGNvb3JkIGF0dHJpYnV0ZSAiY3NzX2FfdGV4Q29vcmQiLgotICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAotICAgIGludCBtX2ludGVy
bmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbjsKICAgICAKICAgICBib29sIG1faXNJbml0aWFsaXpl
ZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCmluZGV4IGJkOTZlYjYuLjFj
NjcxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUmVuZGVyZXIuY3BwCkBAIC0yODQsOSArMjg0
LDYgQEAgdm9pZCBDdXN0b21GaWx0ZXJSZW5kZXJlcjo6YmluZFByb2dyYW1BbmRCdWZmZXJzKFBs
YXRmb3JtM0RPYmplY3QgaW5wdXRUZXh0dXJlKQogCiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZSht
X2NvbXBpbGVkUHJvZ3JhbS0+cG9zaXRpb25BdHRyaWJMb2NhdGlvbigpLCBQb3NpdGlvbkF0dHJp
YlNpemUsIFBvc2l0aW9uQXR0cmliT2Zmc2V0KTsKICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1f
Y29tcGlsZWRQcm9ncmFtLT50ZXhBdHRyaWJMb2NhdGlvbigpLCBUZXhBdHRyaWJTaXplLCBUZXhB
dHRyaWJPZmZzZXQpOwotICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoZSBpbnRlcm5hbCB0ZXgg
Y29vcmQgYXR0cmlidXRlICJjc3NfYV90ZXhDb29yZCIuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4Ci0gICAgYmluZFZlcnRleEF0dHJpYnV0ZSht
X2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCksIFRleEF0
dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2Nv
bXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hBdHRyaWJTaXplLCBNZXNo
QXR0cmliT2Zmc2V0KTsKICAgICBpZiAobV9tZXNoVHlwZSA9PSBNZXNoVHlwZURldGFjaGVkKQog
ICAgICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0
dHJpYkxvY2F0aW9uKCksIFRyaWFuZ2xlQXR0cmliU2l6ZSwgVHJpYW5nbGVBdHRyaWJPZmZzZXQp
OwpAQCAtMjk4LDcgKzI5NSw2IEBAIHZvaWQgQ3VzdG9tRmlsdGVyUmVuZGVyZXI6OnVuYmluZFZl
cnRleEF0dHJpYnV0ZXMoKQogewogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVk
UHJvZ3JhbS0+cG9zaXRpb25BdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRy
aWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRleEF0dHJpYkxvY2F0aW9uKCkpOwotICAgIHVuYmlu
ZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJp
YkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3Jh
bS0+bWVzaEF0dHJpYkxvY2F0aW9uKCkpOwogICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBl
RGV0YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3Jh
bS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4IDQwZjQ4ODYuLjkxNTllMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0xNzMsNyArMTc0LDcgQEAgQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbShDdXN0b21GaWx0ZXJH
bG9iYWxDb24KIAogICAgIC8vIFdlIG5lZWQgdG8gYWRkIHRleHR1cmUgYWNjZXNzLCBibGVuZGlu
ZywgYW5kIGNvbXBvc2l0aW5nIGNvZGUgdG8gc2hhZGVycyB0aGF0IGFyZSByZWZlcmVuY2VkIGZy
b20gdGhlIENTUyBtaXggZnVuY3Rpb24uCiAgICAgaWYgKGJsZW5kc0VsZW1lbnRUZXh0dXJlKSB7
Ci0gICAgICAgIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIoKTsKKyAgICAgICAgcmV3cml0ZU1peFZl
cnRleFNoYWRlcihzeW1ib2xzKTsKICAgICAgICAgcmV3cml0ZU1peEZyYWdtZW50U2hhZGVyKCk7
CiAgICAgfQogCkBAIC0xOTcsMjEgKzE5OCwyOSBAQCBib29sIEN1c3RvbUZpbHRlclZhbGlkYXRl
ZFByb2dyYW06Om5lZWRzSW5wdXRUZXh0dXJlKCkgY29uc3QKICAgICAgICAgJiYgbV9wcm9ncmFt
SW5mby5taXhTZXR0aW5ncygpLmNvbXBvc2l0ZU9wZXJhdG9yICE9IENvbXBvc2l0ZUNvcHk7CiB9
CiAKLXZvaWQgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6cmV3cml0ZU1peFZlcnRleFNo
YWRlcigpCit2b2lkIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OnJld3JpdGVNaXhWZXJ0
ZXhTaGFkZXIoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykKIHsKICAg
ICBBU1NFUlQobV9wcm9ncmFtSW5mby5wcm9ncmFtVHlwZSgpID09IFBST0dSQU1fVFlQRV9CTEVO
RFNfRUxFTUVOVF9URVhUVVJFKTsKIAorICAgIGJvb2wgdGV4Q29vcmRBdHRyaWJ1dGVEZWZpbmVk
ID0gZmFsc2U7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1ib2xzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIGlmIChzeW1ib2xzW2ldLm5hbWUgPT0gImFfdGV4Q29vcmQiKQorICAgICAg
ICAgICAgdGV4Q29vcmRBdHRyaWJ1dGVEZWZpbmVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAo
IXRleENvb3JkQXR0cmlidXRlRGVmaW5lZCkKKyAgICAgICAgbV92YWxpZGF0ZWRWZXJ0ZXhTaGFk
ZXIuYXBwZW5kKCJhdHRyaWJ1dGUgbWVkaXVtcCB2ZWMyIGFfdGV4Q29vcmQ7Iik7CisKICAgICAv
LyBEdXJpbmcgdmFsaWRhdGlvbiwgQU5HTEUgcmVuYW1lZCB0aGUgYXV0aG9yJ3MgIm1haW4iIGZ1
bmN0aW9uIHRvICJjc3NfbWFpbiIuCiAgICAgLy8gV2Ugd3JpdGUgb3VyIG93biAibWFpbiIgZnVu
Y3Rpb24gYW5kIGNhbGwgImNzc19tYWluIiBmcm9tIGl0LgogICAgIC8vIFRoaXMgbWFrZXMgcmV3
cml0aW5nIGVhc3kgYW5kIGVuc3VyZXMgdGhhdCBvdXIgY29kZSBydW5zIGFmdGVyIGFsbCBhdXRo
b3IgY29kZS4KICAgICBtX3ZhbGlkYXRlZFZlcnRleFNoYWRlci5hcHBlbmQoU0hBREVSKAotICAg
ICAgICBhdHRyaWJ1dGUgbWVkaXVtcCB2ZWMyIGNzc19hX3RleENvb3JkOwogICAgICAgICB2YXJ5
aW5nIG1lZGl1bXAgdmVjMiBjc3Nfdl90ZXhDb29yZDsKIAogICAgICAgICB2b2lkIG1haW4oKQog
ICAgICAgICB7CiAgICAgICAgICAgICBjc3NfbWFpbigpOwotICAgICAgICAgICAgY3NzX3ZfdGV4
Q29vcmQgPSBjc3NfYV90ZXhDb29yZDsKKyAgICAgICAgICAgIGNzc192X3RleENvb3JkID0gYV90
ZXhDb29yZDsKICAgICAgICAgfQogICAgICkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFt
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaAppbmRleCAxNzQ2MWU3Li5iNzIyYWMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaApAQCAtNDksNiArNDksNyBAQCB0eXBl
ZGVmIFdlYkNvcmU6OkxheWVyQ29tcGlsZWRQcm9ncmFtIFBsYXRmb3JtQ29tcGlsZWRQcm9ncmFt
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVjdCBBTkdMRVNoYWRlclN5bWJvbDsKIGNs
YXNzIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTsKIGNsYXNzIEN1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQ7CiAKQEAgLTk5LDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmlu
ZyBibGVuZEZ1bmN0aW9uU3RyaW5nKEJsZW5kTW9kZSk7CiAgICAgc3RhdGljIFN0cmluZyBjb21w
b3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvcik7CiAKLSAgICB2b2lkIHJld3Jp
dGVNaXhWZXJ0ZXhTaGFkZXIoKTsKKyAgICB2b2lkIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIoY29u
c3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scyk7CiAgICAgdm9pZCByZXdyaXRl
TWl4RnJhZ21lbnRTaGFkZXIoKTsKIAogICAgIGJvb2wgbmVlZHNJbnB1dFRleHR1cmUoKSBjb25z
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171728</attachid>
            <date>2012-10-31 15:04:15 -0700</date>
            <delta_ts>2012-11-01 16:59:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94358-2.patch</filename>
            <type>text/plain</type>
            <size>15727</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmMjdjYWY4Li40NGY5N2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTAt
MzEgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gR2V0IHJpZCBvZiBpbnRlcm5hbCB0ZXggY29vcmQgYXR0cmlidXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3Qgd2hpY2ggdmVy
aWZpZXMgdGhhdCBhIGN1c3RvbSBmaWx0ZXIgZXhlY3V0ZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBhdXRob3IKKyAgICAgICAgZGVmaW5lcyBhX3RleENvb3JkIGluIHRoZSB2ZXJ0ZXggc2hh
ZGVyLiBXZSBjaGVjayB0aGlzIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHVzZXMKKyAgICAg
ICAgdGhlIGF1dGhvcidzIGFfdGV4Q29vcmQgZGVmaW5pdGlvbiBpZiBpdCBleGlzdHMuIElmIGl0
IGRvZXNuJ3QgZXhpc3QsIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBhZGRzIGl0cyBvd24g
YV90ZXhDb29yZCBkZWZpbml0aW9uIHRvIHRoZSBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYS10ZXgtY29vcmQtb3B0aW9uYWwt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52czogQWRkZWQuCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnM6IEFk
ZGVkLgorCiAyMDEyLTEwLTMxICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTmV3IGJhc2VsaW5lcyBmb3IKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hLXRleC1jb29y
ZC1vcHRpb25hbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ5MDRiMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hLXRleC1jb29y
ZC1vcHRpb25hbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyB3
aXRoIGJsZW5kaW5nIGFuZCBjb21wb3NpdGluZyBleGVjdXRlIHdoZXRoZXIgb3Igbm90IHRoZSBh
dXRob3IgZGVmaW5lcyBhX3RleENvb3JkLjwvdGl0bGU+CisgICAgPCEtLSBJZiB0aGUgdGVzdCBw
YXNzZXMsIHlvdSBzaG91bGQgc2VlIDIgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLiAt
LT4KKyAgICA8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
KDAsIDI1NSwgMCk7CisgICAgICAgIHdpZHRoOiA1MHB4OworICAgICAgICBoZWlnaHQ6IDUwcHg7
CisgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4LWNvb3JkLW9wdGlvbmFsLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0NmI5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hLXRleC1jb29yZC1vcHRp
b25hbC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyB3aXRoIGJsZW5kaW5nIGFu
ZCBjb21wb3NpdGluZyBleGVjdXRlIHdoZXRoZXIgb3Igbm90IHRoZSBhdXRob3IgZGVmaW5lcyBh
X3RleENvb3JkLjwvdGl0bGU+CisgICAgPCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91
bGQgc2VlIDIgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLiAtLT4KKyAgICA8c2NyaXB0
PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHdpbmRvdy50
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxl
ZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHJ1biB0
aGUgdGVzdHMgYWZ0ZXIgdGhlIHNoYWRlcnMgZG93bmxvYWQuCisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgIGRpdiB7
CisgICAgICAgIC8qIElmIHRoZSBzaGFkZXJzIGV4ZWN1dGUsIHRoZXkgd2lsbCB0dXJuIHRoZSBl
bGVtZW50J3MgY29sb3IgZnJvbSByZWQgdG8gZ3JlZW4uICovCisgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYigyNTUsIDAsIDApOworICAgICAgICB3aWR0aDogNTBweDsKKyAgICAgICAgaGVp
Z2h0OiA1MHB4OworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgfQorICAgIC5hLXRleC1jb29y
ZC1kZWZpbmVkIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291
cmNlcy9hLXRleC1jb29yZC1kZWZpbmVkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1j
b2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAwLjAgMS4wIDAuMCAxLjAp
OworICAgIH0KKyAgICAuYS10ZXgtY29vcmQtdW5kZWZpbmVkIHsKKyAgICAgICAgLXdlYmtpdC1m
aWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9hLXRleC1jb29yZC11bmRlZmluZWQudnMn
KSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9w
KSwgbWl4X2NvbG9yIDAuMCAxLjAgMC4wIDEuMCk7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRpdiBjbGFzcz0iYS10ZXgtY29v
cmQtZGVmaW5lZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iYS10ZXgtY29vcmQtdW5kZWZpbmVk
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52cyBiL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9yZXNvdXJjZXMvYS10ZXgtY29vcmQtZGVmaW5lZC52cwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDAyZGRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9hLXRleC1jb29yZC1kZWZpbmVkLnZzCkBAIC0w
LDAgKzEsMTIgQEAKKy8vIFRoaXMgc2hhZGVyIGRlZmluZXMgYV90ZXhDb29yZC4gSXRzIGFzc29j
aWF0ZWQgY3VzdG9tIGZpbHRlciBzaG91bGQgZXhlY3V0ZSBwcm9wZXJseS4KKworcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CisKK2F0dHJpYnV0ZSB2ZWMyIGFfdGV4Q29vcmQ7CithdHRyaWJ1dGUg
dmVjNCBhX3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFfcG9z
aXRpb247Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2EtdGV4LWNvb3JkLXVuZGVmaW5lZC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNv
dXJjZXMvYS10ZXgtY29vcmQtdW5kZWZpbmVkLnZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjJjMmI3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2EtdGV4LWNvb3JkLXVuZGVmaW5lZC52cwpAQCAtMCwwICsxLDExIEBA
CisvLyBUaGlzIHNoYWRlciBkb2VzIG5vdCBkZWZpbmUgYV90ZXhDb29yZC4gSXRzIGFzc29jaWF0
ZWQgY3VzdG9tIGZpbHRlciBzaG91bGQgZXhlY3V0ZSBwcm9wZXJseS4KKworcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisKK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit1bmlmb3JtIG1hdDQg
dV9wcm9qZWN0aW9uTWF0cml4OworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0g
dV9wcm9qZWN0aW9uTWF0cml4ICogYV9wb3NpdGlvbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZjc4NjQ1
Li45NjY0OTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMTAtMzEgIE1heCBW
dWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gR2V0
IHJpZCBvZiBpbnRlcm5hbCB0ZXggY29vcmQgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDM1OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgaW50ZXJuYWwgY3NzX2FfdGV4
Q29vcmQgYXR0cmlidXRlIHRoYXQgV2ViS2l0IGFkZGVkIHRvIHNoYWRlcnMgaW4gb3JkZXIgdG8K
KyAgICAgICAgc2FtcGxlIHRoZSBlbGVtZW50IHRleHR1cmUgYnkgdGV4dHVyZSBjb29yZGluYXRl
LgorCisgICAgICAgIE5vdywgdGhlIFdlYktpdC1hZGRlZCBzYW1wbGluZyBjb2RlIGNhbiBsZXZl
cmFnZSBhX3RleENvb3JkIGlmIHRoZSBhdXRob3IgZGVmaW5lZCBpdCwgb3IKKyAgICAgICAgV2Vi
S2l0IGNhbiBhZGQgaXRzIG93biBhX3RleENvb3JkIGRlZmluaXRpb24gdG8gdGhlIGF1dGhvcidz
IHNoYWRlci4KKworICAgICAgICBOb3RlIHRoYXQgdmVydGV4IGF0dHJpYnV0ZXMgYXJlIHJlYWQt
b25seSBpbiBHTFNMLiBBbHNvLCBub3RlIHRoYXQgd2UgYWxyZWFkeSByZWplY3QgdGhlCisgICAg
ICAgIHNoYWRlciBpZiB0aGUgYXV0aG9yIGRpZCBub3QgZGVmaW5lIGFfdGV4Q29vcmQgd2l0aCB0
aGUgY29ycmVjdCB0eXBlLiBFc3NlbnRpYWxseSwgaWYKKyAgICAgICAgYV90ZXhDb29yZCBleGlz
dHMgaW4gdGhlIGF1dGhvcidzIHZhbGlkYXRlZCBzaGFkZXIsIHdlIGFyZSBndWFyYW50ZWVkIHRo
YXQgaXQncyB0aGUgY29ycmVjdAorICAgICAgICB0eXBlIGFuZCB0aGF0IGl0cyB2YWx1ZSBpcyB1
bm1vZGlmaWVkLgorCisgICAgICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci1hLXRleC1jb29yZC1vcHRpb25hbC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW06OkN1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbSk6CisgICAgICAgICAgICBSZW1vdmUgdGhlIHJlZmVyZW5jZXMgdG8gbV9pbnRlcm5h
bFRleENvb3JkQXR0cmliTG9jYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJD
b21waWxlZFByb2dyYW06OmluaXRpYWxpemVQYXJhbWV0ZXJMb2NhdGlvbnMpOiBEaXR0by4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJv
Z3JhbS5oOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclJlbmRl
cmVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlclJlbmRlcmVyOjp1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGVzKTogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9n
cmFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06
OkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0pOgorICAgICAgICAgICAgUGFzcyB0aGUgc2V0
IG9mIHN5bWJvbHMgZm91bmQgaW4gdGhlIGF1dGhvcidzIHNoYWRlcnMgdG8gdGhlIHJld3JpdGVN
aXhWZXJ0ZXhTaGFkZXIKKyAgICAgICAgICAgIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OnJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIpOgorICAg
ICAgICAgICAgSWYgdGhlIGF1dGhvciBkaWRuJ3QgZGVmaW5lIGFfdGV4Q29vcmQsIGFkZCBpdCB0
byB0aGUgZW5kIG9mIHRoZSBhdXRob3IncyB2ZXJ0ZXggCisgICAgICAgICAgICBzaGFkZXIsIGJ1
dCBiZWZvcmUgdGhlIHNoYWRlcidzIG5ldyBtYWluIGZ1bmN0aW9uLiBBcyBiZWZvcmUsIHRoZSBu
ZXcgbWFpbiBmdW5jdGlvbgorICAgICAgICAgICAgd2lsbCBwYXNzIHRoZSB0ZXh0dXJlIGNvb3Jk
aW5hdGUgdG8gdGhlIGZyYWdtZW50IHNoYWRlciB2aWEgdGhlIGNzc192X3RleENvb3JkIHZhcnlp
bmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgICAgIEFkZCBhIGZv
cndhcmQgZGVjbGFyYXRpb24gZm9yIEFOR0xFU2hhZGVyU3ltYm9sLgorICAgICAgICAoQ3VzdG9t
RmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAgICAgICAgICBVcGRhdGUgdGhlIG1ldGhvZCBw
cm90b3R5cGUgZm9yIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIuCisKIDIwMTItMTAtMzEgIEFsZXhl
aSBGaWxpcHBvdiAgPGFscGhAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCB0b3RhbCBub2RlIHRvIG5hdGl2ZSBtZW1vcnkgc25hcHNob3QgdHJlZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b21waWxlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uY3BwCmluZGV4IDBhYWFiOTYuLjI2OTY1
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHAKQEAg
LTUwLDcgKzUwLDYgQEAgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjpDdXN0b21GaWx0ZXJD
b21waWxlZFByb2dyYW0oUGFzc1JlZlB0cjxHcmFwaGljc0NvbnQKICAgICAsIG1fc2FtcGxlckxv
Y2F0aW9uKC0xKQogICAgICwgbV9zYW1wbGVyU2l6ZUxvY2F0aW9uKC0xKQogICAgICwgbV9jb250
ZW50U2FtcGxlckxvY2F0aW9uKC0xKQotICAgICwgbV9pbnRlcm5hbFRleENvb3JkQXR0cmliTG9j
YXRpb24oLTEpCiAgICAgLCBtX2lzSW5pdGlhbGl6ZWQoZmFsc2UpCiB7CiAgICAgbV9jb250ZXh0
LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTEzMCwxMCArMTI5LDkgQEAgdm9pZCBDdXN0b21G
aWx0ZXJDb21waWxlZFByb2dyYW06OmluaXRpYWxpemVQYXJhbWV0ZXJMb2NhdGlvbnMoQ3VzdG9t
RmlsdGVyUHJvZ3IKICAgICBtX3NhbXBsZXJTaXplTG9jYXRpb24gPSBtX2NvbnRleHQtPmdldFVu
aWZvcm1Mb2NhdGlvbihtX3Byb2dyYW0sICJ1X3RleHR1cmVTaXplIik7CiAgICAgbV9jb250ZW50
U2FtcGxlckxvY2F0aW9uID0gbV9jb250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24obV9wcm9ncmFt
LCAidV9jb250ZW50VGV4dHVyZSIpOwogICAgIGlmIChwcm9ncmFtVHlwZSA9PSBQUk9HUkFNX1RZ
UEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSkgewotICAgICAgICAvLyBXaGVuIHRoZSBhdXRob3Ig
dXNlcyB0aGUgQ1NTIG1peCBmdW5jdGlvbiBpbiBhIGN1c3RvbSBmaWx0ZXIsIHdlIGFkZCBpbnRl
cm5hbCBzeW1ib2xzIHRvIHRoZSBzaGFkZXIgY29kZS4KLSAgICAgICAgLy8gT25lIG9mIHRoZW0s
IGNzc191X3RleHR1cmUsIHJlZmVyZW5jZXMgdGhlIHRleHR1cmUgb2YgdGhlIGVsZW1lbnQuCisg
ICAgICAgIC8vIFdoZW4gdGhlIGF1dGhvciB1c2VzIHRoZSBDU1MgbWl4IGZ1bmN0aW9uIGluIGEg
Y3VzdG9tIGZpbHRlciwgV2ViS2l0IGFkZHMgdGhlIGludGVybmFsCisgICAgICAgIC8vIHN5bWJv
bCBjc3NfdV90ZXh0dXJlIHRvIHRoZSBzaGFkZXIgY29kZSwgd2hpY2ggcmVmZXJlbmNlcyB0aGUg
dGV4dHVyZSBvZiB0aGUgZWxlbWVudC4KICAgICAgICAgbV9zYW1wbGVyTG9jYXRpb24gPSBtX2Nv
bnRleHQtPmdldFVuaWZvcm1Mb2NhdGlvbihtX3Byb2dyYW0sICJjc3NfdV90ZXh0dXJlIik7Ci0g
ICAgICAgIG1faW50ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uID0gbV9jb250ZXh0LT5nZXRB
dHRyaWJMb2NhdGlvbihtX3Byb2dyYW0sICJjc3NfYV90ZXhDb29yZCIpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgKaW5kZXggZjMxZmRmMC4u
NWRiZjBkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oCkBA
IC02MSwxMiArNjEsNiBAQCBwdWJsaWM6CiAgICAgaW50IHNhbXBsZXJMb2NhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fc2FtcGxlckxvY2F0aW9uOyB9CiAgICAgaW50IGNvbnRlbnRTYW1wbGVyTG9j
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRTYW1wbGVyTG9jYXRpb247IH0KICAgICBp
bnQgc2FtcGxlclNpemVMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlclNpemVMb2Nh
dGlvbjsgfQotICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoZSBpbnRlcm5hbCB0ZXggY29vcmQg
YXR0cmlidXRlICJjc3NfYV90ZXhDb29yZCIuCi0gICAgLy8gSWYgdGhlIGF1dGhvciBkZWZpbmVk
ICJhX3RleENvb3JkIiwgd2Ugc2hvdWxkIGxldmVyYWdlIHRoYXQuCi0gICAgLy8gSWYgbm90LCB3
ZSBzaG91bGQgd3JpdGUgImFfdGV4Q29vcmQiIGluIHRoZSBzaGFkZXIuCi0gICAgLy8gVGhpcyBy
ZXF1aXJlcyB1cyB0byBmaXJzdCBnZXQgdGhlIGxpc3Qgb2YgYXR0cmlidXRlcyBmcm9tIHRoZSB2
ZXJ0ZXggc2hhZGVyIHVzaW5nIEFOR0xFLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NDM1OAotICAgIGludCBpbnRlcm5hbFRleENvb3JkQXR0cmliTG9j
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbjsg
fQogCiAgICAgaW50IHVuaWZvcm1Mb2NhdGlvbkJ5TmFtZShjb25zdCBTdHJpbmcmKTsKICAgICAK
QEAgLTk0LDkgKzg4LDYgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9zYW1wbGVyTG9jYXRpb247CiAg
ICAgaW50IG1fc2FtcGxlclNpemVMb2NhdGlvbjsKICAgICBpbnQgbV9jb250ZW50U2FtcGxlckxv
Y2F0aW9uOwotICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoZSBpbnRlcm5hbCB0ZXggY29vcmQg
YXR0cmlidXRlICJjc3NfYV90ZXhDb29yZCIuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk0MzU4Ci0gICAgaW50IG1faW50ZXJuYWxUZXhDb29yZEF0dHJp
YkxvY2F0aW9uOwogICAgIAogICAgIGJvb2wgbV9pc0luaXRpYWxpemVkOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJSZW5kZXJlci5jcHAKaW5kZXggYmQ5NmViNi4uMWM2NzFmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJS
ZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJSZW5kZXJlci5jcHAKQEAgLTI4NCw5ICsyODQsNiBAQCB2b2lkIEN1c3Rv
bUZpbHRlclJlbmRlcmVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0zRE9iamVjdCBp
bnB1dFRleHR1cmUpCiAKICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFt
LT5wb3NpdGlvbkF0dHJpYkxvY2F0aW9uKCksIFBvc2l0aW9uQXR0cmliU2l6ZSwgUG9zaXRpb25B
dHRyaWJPZmZzZXQpOwogICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0t
PnRleEF0dHJpYkxvY2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7Ci0g
ICAgLy8gRklYTUU6IEdldCByaWQgb2YgdGhlIGludGVybmFsIHRleCBjb29yZCBhdHRyaWJ1dGUg
ImNzc19hX3RleENvb3JkIi4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTQzNTgKLSAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFt
LT5pbnRlcm5hbFRleENvb3JkQXR0cmliTG9jYXRpb24oKSwgVGV4QXR0cmliU2l6ZSwgVGV4QXR0
cmliT2Zmc2V0KTsKICAgICBiaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5t
ZXNoQXR0cmliTG9jYXRpb24oKSwgTWVzaEF0dHJpYlNpemUsIE1lc2hBdHRyaWJPZmZzZXQpOwog
ICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRWZXJ0
ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSwg
VHJpYW5nbGVBdHRyaWJTaXplLCBUcmlhbmdsZUF0dHJpYk9mZnNldCk7CkBAIC0yOTgsNyArMjk1
LDYgQEAgdm9pZCBDdXN0b21GaWx0ZXJSZW5kZXJlcjo6dW5iaW5kVmVydGV4QXR0cmlidXRlcygp
CiB7CiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5wb3NpdGlv
bkF0dHJpYkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVk
UHJvZ3JhbS0+dGV4QXR0cmliTG9jYXRpb24oKSk7Ci0gICAgdW5iaW5kVmVydGV4QXR0cmlidXRl
KG1fY29tcGlsZWRQcm9ncmFtLT5pbnRlcm5hbFRleENvb3JkQXR0cmliTG9jYXRpb24oKSk7CiAg
ICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5tZXNoQXR0cmliTG9j
YXRpb24oKSk7CiAgICAgaWYgKG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVEZXRhY2hlZCkKICAgICAg
ICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0dHJp
YkxvY2F0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5jcHAKaW5kZXggNDBmNDg4Ni4uZGFmNzk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm8uaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKQEAgLTE3Myw3ICsxNzQsNyBAQCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpD
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtKEN1c3RvbUZpbHRlckdsb2JhbENvbgogCiAgICAg
Ly8gV2UgbmVlZCB0byBhZGQgdGV4dHVyZSBhY2Nlc3MsIGJsZW5kaW5nLCBhbmQgY29tcG9zaXRp
bmcgY29kZSB0byBzaGFkZXJzIHRoYXQgYXJlIHJlZmVyZW5jZWQgZnJvbSB0aGUgQ1NTIG1peCBm
dW5jdGlvbi4KICAgICBpZiAoYmxlbmRzRWxlbWVudFRleHR1cmUpIHsKLSAgICAgICAgcmV3cml0
ZU1peFZlcnRleFNoYWRlcigpOworICAgICAgICByZXdyaXRlTWl4VmVydGV4U2hhZGVyKHN5bWJv
bHMpOwogICAgICAgICByZXdyaXRlTWl4RnJhZ21lbnRTaGFkZXIoKTsKICAgICB9CiAKQEAgLTE5
NywyMSArMTk4LDMyIEBAIGJvb2wgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6bmVlZHNJ
bnB1dFRleHR1cmUoKSBjb25zdAogICAgICAgICAmJiBtX3Byb2dyYW1JbmZvLm1peFNldHRpbmdz
KCkuY29tcG9zaXRlT3BlcmF0b3IgIT0gQ29tcG9zaXRlQ29weTsKIH0KIAotdm9pZCBDdXN0b21G
aWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpyZXdyaXRlTWl4VmVydGV4U2hhZGVyKCkKK3ZvaWQgQ3Vz
dG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6cmV3cml0ZU1peFZlcnRleFNoYWRlcihjb25zdCBW
ZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzKQogewogICAgIEFTU0VSVChtX3Byb2dy
YW1JbmZvLnByb2dyYW1UeXBlKCkgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRV
UkUpOwogCisgICAgLy8gSWYgdGhlIGF1dGhvciBkZWZpbmVkIGFfdGV4Q29vcmQsIHdlIGNhbiB1
c2UgaXQgdG8gc2h1dHRsZSB0aGUgdGV4dHVyZSBjb29yZGluYXRlIHRvIHRoZSBmcmFnbWVudCBz
aGFkZXIuCisgICAgLy8gTm90ZSB0aGF0IHZlcnRleCBhdHRyaWJ1dGVzIGFyZSByZWFkLW9ubHkg
aW4gR0xTTCwgc28gdGhlIGF1dGhvciBjb3VsZCBub3QgaGF2ZSBjaGFuZ2VkIGFfdGV4Q29vcmQn
cyB2YWx1ZS4KKyAgICAvLyBBbHNvLCBub3RlIHRoYXQgd2Ugd291bGQgaGF2ZSBhbHJlYWR5IHJl
amVjdGVkIHRoZSBzaGFkZXIgaWYgdGhlIGF1dGhvciBkZWZpbmVkIGFfdGV4Q29vcmQgd2l0aCB0
aGUgd3JvbmcgdHlwZS4KKyAgICBib29sIHRleENvb3JkQXR0cmlidXRlRGVmaW5lZCA9IGZhbHNl
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3ltYm9scy5zaXplKCk7ICsraSkgeworICAg
ICAgICBpZiAoc3ltYm9sc1tpXS5uYW1lID09ICJhX3RleENvb3JkIikKKyAgICAgICAgICAgIHRl
eENvb3JkQXR0cmlidXRlRGVmaW5lZCA9IHRydWU7CisgICAgfQorCisgICAgaWYgKCF0ZXhDb29y
ZEF0dHJpYnV0ZURlZmluZWQpCisgICAgICAgIG1fdmFsaWRhdGVkVmVydGV4U2hhZGVyLmFwcGVu
ZCgiYXR0cmlidXRlIG1lZGl1bXAgdmVjMiBhX3RleENvb3JkOyIpOworCiAgICAgLy8gRHVyaW5n
IHZhbGlkYXRpb24sIEFOR0xFIHJlbmFtZWQgdGhlIGF1dGhvcidzICJtYWluIiBmdW5jdGlvbiB0
byAiY3NzX21haW4iLgogICAgIC8vIFdlIHdyaXRlIG91ciBvd24gIm1haW4iIGZ1bmN0aW9uIGFu
ZCBjYWxsICJjc3NfbWFpbiIgZnJvbSBpdC4KICAgICAvLyBUaGlzIG1ha2VzIHJld3JpdGluZyBl
YXN5IGFuZCBlbnN1cmVzIHRoYXQgb3VyIGNvZGUgcnVucyBhZnRlciBhbGwgYXV0aG9yIGNvZGUu
CiAgICAgbV92YWxpZGF0ZWRWZXJ0ZXhTaGFkZXIuYXBwZW5kKFNIQURFUigKLSAgICAgICAgYXR0
cmlidXRlIG1lZGl1bXAgdmVjMiBjc3NfYV90ZXhDb29yZDsKICAgICAgICAgdmFyeWluZyBtZWRp
dW1wIHZlYzIgY3NzX3ZfdGV4Q29vcmQ7CiAKICAgICAgICAgdm9pZCBtYWluKCkKICAgICAgICAg
ewogICAgICAgICAgICAgY3NzX21haW4oKTsKLSAgICAgICAgICAgIGNzc192X3RleENvb3JkID0g
Y3NzX2FfdGV4Q29vcmQ7CisgICAgICAgICAgICBjc3Nfdl90ZXhDb29yZCA9IGFfdGV4Q29vcmQ7
CiAgICAgICAgIH0KICAgICApKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmgKaW5kZXggMTc0NjFlNy4uYjcyMmFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9n
cmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgdHlwZWRlZiBXZWJD
b3JlOjpMYXllckNvbXBpbGVkUHJvZ3JhbSBQbGF0Zm9ybUNvbXBpbGVkUHJvZ3JhbTsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgQU5HTEVTaGFkZXJTeW1ib2w7CiBjbGFzcyBDdXN0
b21GaWx0ZXJDb21waWxlZFByb2dyYW07CiBjbGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
OwogCkBAIC05OSw3ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBTdHJpbmcgYmxlbmRG
dW5jdGlvblN0cmluZyhCbGVuZE1vZGUpOwogICAgIHN0YXRpYyBTdHJpbmcgY29tcG9zaXRlRnVu
Y3Rpb25TdHJpbmcoQ29tcG9zaXRlT3BlcmF0b3IpOwogCi0gICAgdm9pZCByZXdyaXRlTWl4VmVy
dGV4U2hhZGVyKCk7CisgICAgdm9pZCByZXdyaXRlTWl4VmVydGV4U2hhZGVyKGNvbnN0IFZlY3Rv
cjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpOwogICAgIHZvaWQgcmV3cml0ZU1peEZyYWdt
ZW50U2hhZGVyKCk7CiAKICAgICBib29sIG5lZWRzSW5wdXRUZXh0dXJlKCkgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>