<?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>175528</bug_id>
          
          <creation_ts>2017-08-14 04:23:22 -0700</creation_ts>
          <short_desc>[CoordGraphics] Simplify CoordinatedGraphicsScene state updates</short_desc>
          <delta_ts>2017-08-16 04:21:50 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>magomez</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1338310</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-14 04:23:22 -0700</bug_when>
    <thetext>[CoordGraphics] Simplify CoordinatedGraphicsScene state updates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338315</commentid>
    <comment_count>1</comment_count>
      <attachid>318030</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-14 04:57:16 -0700</bug_when>
    <thetext>Created attachment 318030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338316</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-14 04:58:43 -0700</bug_when>
    <thetext>Attachment 318030 did not pass style-queue:


ERROR: Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:234:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338320</commentid>
    <comment_count>3</comment_count>
      <attachid>318030</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-14 05:10:26 -0700</bug_when>
    <thetext>Comment on attachment 318030
Patch

I never liked that render queue thing \o/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338361</commentid>
    <comment_count>4</comment_count>
      <attachid>318030</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-14 09:41:21 -0700</bug_when>
    <thetext>Comment on attachment 318030
Patch

Clearing flags on attachment: 318030

Committed r220700: &lt;http://trac.webkit.org/changeset/220700&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338362</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-14 09:41:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338363</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-14 09:42:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/33876795&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338633</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-14 23:21:03 -0700</bug_when>
    <thetext>Debug bot is exiting early after this change, hitting an assert:

ASSERTION FAILED: m_surfaces.contains(atlasID)
/home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp(449) : void WebKit::CoordinatedGraphicsScene::removeUpdateAtlas(uint32_t)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338660</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-08-15 07:16:42 -0700</bug_when>
    <thetext>Reverted r220700 for reason:

Broke debug bot

Committed r220742: &lt;http://trac.webkit.org/changeset/220742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339086</commentid>
    <comment_count>9</comment_count>
      <attachid>318240</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-15 23:59:09 -0700</bug_when>
    <thetext>Created attachment 318240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339087</commentid>
    <comment_count>10</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-16 00:00:57 -0700</bug_when>
    <thetext>Attachment 318240 did not pass style-queue:


ERROR: Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:234:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339088</commentid>
    <comment_count>11</comment_count>
      <attachid>318241</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-16 00:01:03 -0700</bug_when>
    <thetext>Created attachment 318241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339090</commentid>
    <comment_count>12</comment_count>
      <attachid>318241</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-16 00:01:31 -0700</bug_when>
    <thetext>Comment on attachment 318241
Patch

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

&gt; Source/WebKit/ChangeLog:28
&gt; +        Outside of CoordinatedGraphicsScene and ThreadedCompositor classes, the
&gt; +        CompositingCoordinator class now passes the atlases-to-remove Vector by
&gt; +        a const lvalue reference down to ThreadedCompositor, and then manually
&gt; +        clears the Vector. Before the Vector was passed as an rvalue reference,
&gt; +        depending on the ThreadedCompositor code to clear out the original Vector
&gt; +        object by moving its resources into the functor object. This doesn&apos;t occur
&gt; +        anymore because the Vector object is now appended to another Vector.

This describes the problem that was causing asserts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339091</commentid>
    <comment_count>13</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-16 00:04:07 -0700</bug_when>
    <thetext>Attachment 318241 did not pass style-queue:


ERROR: Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:234:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339135</commentid>
    <comment_count>14</comment_count>
      <attachid>318241</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-16 04:21:46 -0700</bug_when>
    <thetext>Comment on attachment 318241
Patch

Clearing flags on attachment: 318241

Committed r220792: &lt;http://trac.webkit.org/changeset/220792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339136</commentid>
    <comment_count>15</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-16 04:21:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318030</attachid>
            <date>2017-08-14 04:57:16 -0700</date>
            <delta_ts>2017-08-15 23:59:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175528-20170814135715.patch</filename>
            <type>text/plain</type>
            <size>12874</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEzN2MyY2ExZDE0ZmQyOTU0
MmVkOTc0ZjY1MTMwMDliZjk4MGNiN2IuLjQ5Yjk3MDM3ZDY1MDYwNjgwYTQ4YjE0MzliMTZlYzQz
OTUwMzBkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzkgQEAKIDIwMTctMDgtMTQgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCisgICAgICAgIFtDb29yZEdyYXBoaWNzXSBT
aW1wbGlmeSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgc3RhdGUgdXBkYXRlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTI4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSG9sZCB0aGUgaW5mb3JtYXRp
b24gYWJvdXQgc3RhdGUgdXBkYXRlcyBpbiBUaHJlYWRlZENvbXBvc2l0b3IsIGluIHRoZQorICAg
ICAgICBtX2F0dHJpYnV0ZXMgc3RydWN0LiBUaGlzIHdheSB3ZSBkb24ndCBuZWVkIHRvIHN0b3Jl
IHRoZSB1cGRhdGVzIGluCisgICAgICAgIGZ1bmN0b3JzIGFuZCBhY2N1bXVsYXRlIHRoZW0gaW4g
dGhlIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBjbGFzcywgYnV0CisgICAgICAgIGluc3RlYWQg
anVzdCBhcHBseSBhbnkgcGVuZGluZyBzdGF0ZSB1cGRhdGUgb3IgYXRsYXMgcmVtb3ZhbCBiZWZv
cmUgdGhlCisgICAgICAgIHNjZW5lIGlzIHJlbmRlcmVkLgorCisgICAgICAgIFRoaXMgcmVtb3Zl
cyB0aGUgbmVlZCB0byB1cGRhdGUgdGhlIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBvYmplY3Qg
ZnJvbQorICAgICAgICB0aGUgbWFpbiB0aHJlYWQgd2l0aCBkYXRhIHRoYXQgdWx0aW1hdGVseSBo
YXMgdG8gYmUgaGFuZGxlZCBvbiB0aGUKKyAgICAgICAgY29tcG9zaXRpb24gdGhyZWFkLiBTaW1p
bGFybHksIHdoZW4gdXBkYXRpbmcgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLCB3ZQorICAgICAg
ICBvbmx5IG5lZWQgdG8gc3luY2hyb25pemUgb24gdGhlIG1fYXR0cmlidXRlcyBsb2NrIG9iamVj
dCBvbmNlIGluIG9yZGVyIHRvCisgICAgICAgIHJldHJpZXZlIHRoZSBzY2VuZSB1cGRhdGUgaW5m
b3JtYXRpb24sIGluc3RlYWQgb2YgaGF2aW5nIGVhY2ggZnVuY3RvciBkbworICAgICAgICB0aGF0
IHJlcGVhdGVkbHkuCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OmFwcGx5U3RhdGVDaGFuZ2VzKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGV0YWNoKToKKyAgICAgICAgKFdlYktp
dDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0
OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnN5bmNSZW1vdGVDb250ZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphcHBlbmRVcGRhdGUp
OiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZS5oOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnJlbmRlckxheWVyVHJlZSk6CisgICAgICAgIChXZWJL
aXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6dXBkYXRlU2NlbmVTdGF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6cmVsZWFzZVVwZGF0ZUF0bGFzZXMpOgorICAgICAgICAq
IFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENv
bXBvc2l0b3IuaDoKKworMjAxNy0wOC0xNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxp
YS5jb20+CisKICAgICAgICAgW1RocmVhZGVkQ29tcG9zaXRvcl0gSW1wcm92ZSBjb21wb3NpdGlv
biBhbmQgdXBkYXRlIHN0YXRlIGhhbmRsaW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0NDgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuY3BwCmluZGV4IDM1ZTEyZDc4MmY3YzdhMzRiMDJmZGVmZjllNDliOGE3ZGQ5MWYy
NWQuLjEyZmMwNjMzMDJmNzJhYjM3NDg0ZGVhNTQ1ZGY3YWYyNzA3ZDM0NDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTc3LDE1ICs3NywyMSBAQCBDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU6On5Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKQogewogfQog
Ci12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3Qg
RmxvYXRSZWN0JiBjbGlwUmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBk
cmF3c0JhY2tncm91bmQsIGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVy
ZU1hcHBlcjo6UGFpbnRGbGFncyBQYWludEZsYWdzKQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNz
U2NlbmU6OmFwcGx5U3RhdGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZEdyYXBoaWNz
U3RhdGU+JiBzdGF0ZXMpCiB7CiAgICAgaWYgKCFtX3RleHR1cmVNYXBwZXIpIHsKICAgICAgICAg
bV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlcjo6Y3JlYXRlKCk7CiAgICAgICAgIHN0YXRp
Y19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KG1fdGV4dHVyZU1hcHBlci5nZXQoKSktPnNldEVuYWJs
ZUVkZ2VEaXN0YW5jZUFudGlhbGlhc2luZyh0cnVlKTsKICAgICB9CiAKLSAgICBzeW5jUmVtb3Rl
Q29udGVudCgpOworICAgIGVuc3VyZVJvb3RMYXllcigpOworCisgICAgZm9yIChhdXRvJiBzdGF0
ZSA6IHN0YXRlcykKKyAgICAgICAgY29tbWl0U2NlbmVTdGF0ZShzdGF0ZSk7Cit9CiAKK3ZvaWQg
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFJl
Y3QmIGNsaXBSZWN0LCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFj
a2dyb3VuZCwgY29uc3QgRmxvYXRQb2ludCYgY29udGVudFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVy
OjpQYWludEZsYWdzIFBhaW50RmxhZ3MpCit7CiAgICAgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExh
eWVycyhjb250ZW50UG9zaXRpb24pOwogICAgIFRleHR1cmVNYXBwZXJMYXllciogY3VycmVudFJv
b3RMYXllciA9IHJvb3RMYXllcigpOwogICAgIGlmICghY3VycmVudFJvb3RMYXllcikKQEAgLTU4
MCwyMyArNTg2LDYgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmVuc3VyZVJvb3RM
YXllcigpCiAgICAgbV9yb290TGF5ZXItPnNldFRleHR1cmVNYXBwZXIobV90ZXh0dXJlTWFwcGVy
LmdldCgpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnN5bmNSZW1vdGVD
b250ZW50KCkKLXsKLSAgICAvLyBXZSBlbnF1ZXVlIG1lc3NhZ2VzIGFuZCBleGVjdXRlIHRoZW0g
ZHVyaW5nIHBhaW50LCBhcyB0aGV5IHJlcXVpcmUgYW4gYWN0aXZlIEdMIGNvbnRleHQuCi0gICAg
ZW5zdXJlUm9vdExheWVyKCk7Ci0KLSAgICBWZWN0b3I8RnVuY3Rpb248dm9pZCgpPj4gcmVuZGVy
UXVldWU7Ci0gICAgYm9vbCBjYWxsZWRPbk1haW5UaHJlYWQgPSBSdW5Mb29wOjppc01haW4oKTsK
LSAgICBpZiAoIWNhbGxlZE9uTWFpblRocmVhZCkKLSAgICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4
LmxvY2soKTsKLSAgICByZW5kZXJRdWV1ZSA9IFdURk1vdmUobV9yZW5kZXJRdWV1ZSk7Ci0gICAg
aWYgKCFjYWxsZWRPbk1haW5UaHJlYWQpCi0gICAgICAgIG1fcmVuZGVyUXVldWVNdXRleC51bmxv
Y2soKTsKLQotICAgIGZvciAoYXV0byYgZnVuY3Rpb24gOiByZW5kZXJRdWV1ZSkKLSAgICAgICAg
ZnVuY3Rpb24oKTsKLX0KLQogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnB1cmdlR0xS
ZXNvdXJjZXMoKQogewogICAgIEFTU0VSVCghbV9jbGllbnQpOwpAQCAtNjQyLDMyICs2MzEsMTMg
QEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRldGFjaCgpCiAgICAgQVNTRVJUKFJ1
bkxvb3A6OmlzTWFpbigpKTsKICAgICBtX2lzQWN0aXZlID0gZmFsc2U7CiAgICAgbV9jbGllbnQg
PSBudWxscHRyOwotICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fcmVuZGVyUXVldWVNdXRleCk7Ci0g
ICAgbV9yZW5kZXJRdWV1ZS5jbGVhcigpOwotfQotCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6YXBwZW5kVXBkYXRlKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKLXsKLSAgICBp
ZiAoIW1faXNBY3RpdmUpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVChSdW5Mb29wOjpp
c01haW4oKSk7Ci0gICAgTG9ja0hvbGRlciBsb2NrZXIobV9yZW5kZXJRdWV1ZU11dGV4KTsKLSAg
ICBtX3JlbmRlclF1ZXVlLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiB9CiAKIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCiB7Ci0gICAgaWYg
KCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1faXNBY3RpdmUgPT0gYWN0
aXZlKQorICAgIGlmICghbV9jbGllbnQgfHwgbV9pc0FjdGl2ZSA9PSBhY3RpdmUpCiAgICAgICAg
IHJldHVybjsKIAotICAgIC8vIEhhdmUgdG8gY2xlYXIgcmVuZGVyIHF1ZXVlIGluIGJvdGggY2Fz
ZXMuCi0gICAgLy8gSWYgdGhlcmUgYXJlIHNvbWUgdXBkYXRlcyBpbiBxdWV1ZSBkdXJpbmcgYWN0
aXZhdGlvbiB0aGVuIHRob3NlIHVwZGF0ZXMgYXJlIGZyb20gcHJldmlvdXMgaW5zdGFuY2Ugb2Yg
cGFpbnQgbm9kZQotICAgIC8vIGFuZCBjYW5ub3QgYmUgYXBwbGllZCB0byB0aGUgbmV3bHkgY3Jl
YXRlZCBpbnN0YW5jZS4KLSAgICBtX3JlbmRlclF1ZXVlLmNsZWFyKCk7CiAgICAgbV9pc0FjdGl2
ZSA9IGFjdGl2ZTsKICAgICBpZiAobV9pc0FjdGl2ZSkKICAgICAgICAgcmVuZGVyTmV4dEZyYW1l
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRleCA2NjUzYjEwYjM2
MDUxY2Q2YmZiNzI4NmQ1YTlhZGM5NWNlODVmMWIwLi40YjFmMDQ2MDBhNDE2YzRhNTEyNzc5MTNi
NGIzZDRjMjcwNjRjNmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgK
QEAgLTY4LDkgKzY4LDEwIEBAIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDb29yZGluYXRlZEdyYXBoaWNzCiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOworCisg
ICAgdm9pZCBhcHBseVN0YXRlQ2hhbmdlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlPiYpOwogICAgIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29u
c3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBk
cmF3c0JhY2tncm91bmQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBXZWJDb3JlOjpUZXh0
dXJlTWFwcGVyOjpQYWludEZsYWdzID0gMCk7CiAgICAgdm9pZCBkZXRhY2goKTsKLSAgICB2b2lk
IGFwcGVuZFVwZGF0ZShGdW5jdGlvbjx2b2lkKCk+JiYpOwogCiAgICAgV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlckxheWVyKiBmaW5kU2Nyb2xsYWJsZUNvbnRlbnRzTGF5ZXJBdChjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50Jik7CiAKQEAgLTEyNCw3ICsxMjUsNiBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OlRleHR1cmVNYXBwZXJMYXllciogZ2V0TGF5ZXJCeUlESWZFeGlzdHMoV2ViQ29yZTo6Q29v
cmRpbmF0ZWRMYXllcklEKTsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIHJvb3RM
YXllcigpIHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAKLSAgICB2b2lkIHN5bmNSZW1v
dGVDb250ZW50KCk7CiAgICAgdm9pZCBhZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbik7CiAKICAgICB2b2lkIGRpc3Bh
dGNoT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJik7CkBAIC0xNDksMTAgKzE0OSw2IEBA
IHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMKiB0ZXhtYXBHTCgpIG92ZXJy
aWRlOwogI2VuZGlmCiAKLSAgICAvLyBSZW5kZXIgcXVldWUgY2FuIGJlIGFjY2Vzc2VkIG9ueSBm
cm9tIG1haW4gdGhyZWFkIG9yIHVwZGF0ZVBhaW50Tm9kZSBjYWxsIHN0YWNrIQotICAgIFZlY3Rv
cjxGdW5jdGlvbjx2b2lkKCk+PiBtX3JlbmRlclF1ZXVlOwotICAgIExvY2sgbV9yZW5kZXJRdWV1
ZU11dGV4OwotCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXI+IG1f
dGV4dHVyZU1hcHBlcjsKIAogICAgIEhhc2hNYXA8V2ViQ29yZTo6Q29vcmRpbmF0ZWRJbWFnZUJh
Y2tpbmdJRCwgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPj4gbV9pbWFnZUJhY2tpbmdz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90
aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29t
cG9zaXRvci5jcHAKaW5kZXggYTY0MzU1ZDk3YzUyN2ViYTAxNjU2NWE4YTk0ZDgwN2YzM2ExMGVk
Yi4uNmJmOWRkNDZiMjY3ZmE4ODBmODNiNWVhMGI4ZWE3OGQ4MzdlY2VhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3Bw
CkBAIC0yMDgsNiArMjA4LDkgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnJlbmRlckxheWVy
VHJlZSgpCiAgICAgZmxvYXQgc2NhbGVGYWN0b3I7CiAgICAgYm9vbCBkcmF3c0JhY2tncm91bmQ7
CiAgICAgYm9vbCBuZWVkc1Jlc2l6ZTsKKyAgICBWZWN0b3I8V2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc1N0YXRlPiBzdGF0ZXM7CisgICAgVmVjdG9yPHVpbnQzMl90PiBhdGxhc2VzVG9SZW1v
dmU7CisKICAgICB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2Nr
KTsKICAgICAgICAgdmlld3BvcnRTaXplID0gbV9hdHRyaWJ1dGVzLnZpZXdwb3J0U2l6ZTsKQEAg
LTIxNiw2ICsyMTksMjUgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnJlbmRlckxheWVyVHJl
ZSgpCiAgICAgICAgIGRyYXdzQmFja2dyb3VuZCA9IG1fYXR0cmlidXRlcy5kcmF3c0JhY2tncm91
bmQ7CiAgICAgICAgIG5lZWRzUmVzaXplID0gbV9hdHRyaWJ1dGVzLm5lZWRzUmVzaXplOwogCisg
ICAgICAgIHN0YXRlcyA9IFdURk1vdmUobV9hdHRyaWJ1dGVzLnN0YXRlcyk7CisgICAgICAgIGF0
bGFzZXNUb1JlbW92ZSA9IFdURk1vdmUobV9hdHRyaWJ1dGVzLmF0bGFzZXNUb1JlbW92ZSk7CisK
KyAgICAgICAgaWYgKCFzdGF0ZXMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBDbGllbnQg
aGFzIHRvIGJlIG5vdGlmaWVkIHVwb24gZmluaXNoaW5nIHRoaXMgc2NlbmUgdXBkYXRlLgorICAg
ICAgICAgICAgbV9hdHRyaWJ1dGVzLmNsaWVudFJlbmRlcnNOZXh0RnJhbWUgPSB0cnVlOworCisg
ICAgICAgICAgICAvLyBDb29yZGluYXRlIHNjZW5lIHVwZGF0ZSBjb21wbGV0aW9uIHdpdGggdGhl
IGNsaWVudCBpbiBjYXNlIG9mIGNoYW5nZWQgb3IgdXBkYXRlZCBwbGF0Zm9ybSBsYXllcnMuCisg
ICAgICAgICAgICAvLyBCdXQgZG8gbm90IGNoYW5nZSBjb29yZGluYXRlVXBkYXRlQ29tcGxldGlv
bldpdGhDbGllbnQgd2hpbGUgaW4gZm9yY2UgcmVwYWludCBiZWNhdXNlIHRoYXQKKyAgICAgICAg
ICAgIC8vIGRlbWFuZHMgaW1tZWRpYXRlIHNjZW5lIHVwZGF0ZSBjb21wbGV0aW9uIHJlZ2FyZGxl
c3Mgb2YgcGxhdGZvcm0gbGF5ZXJzLgorICAgICAgICAgICAgaWYgKCFtX2luRm9yY2VSZXBhaW50
KSB7CisgICAgICAgICAgICAgICAgYm9vbCBjb29yZGluYXRlVXBkYXRlID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgZm9yIChhdXRvJiBzdGF0ZSA6IHN0YXRlcykKKyAgICAgICAgICAgICAgICAg
ICAgY29vcmRpbmF0ZVVwZGF0ZSB8PSBzdGQ6OmFueV9vZihzdGF0ZS5sYXllcnNUb1VwZGF0ZS5i
ZWdpbigpLCBzdGF0ZS5sYXllcnNUb1VwZGF0ZS5lbmQoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFtdKGF1dG8mIGl0KSB7IHJldHVybiBpdC5zZWNvbmQucGxhdGZvcm1MYXllckNoYW5nZWQg
fHwgaXQuc2Vjb25kLnBsYXRmb3JtTGF5ZXJVcGRhdGVkOyB9KTsKKyAgICAgICAgICAgICAgICBt
X2F0dHJpYnV0ZXMuY29vcmRpbmF0ZVVwZGF0ZUNvbXBsZXRpb25XaXRoQ2xpZW50ID0gY29vcmRp
bmF0ZVVwZGF0ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8vIFJlc2V0
IHRoZSBuZWVkc1Jlc2l6ZSBhdHRyaWJ1dGUgdG8gZmFsc2UuCiAgICAgICAgIG1fYXR0cmlidXRl
cy5uZWVkc1Jlc2l6ZSA9IGZhbHNlOwogICAgIH0KQEAgLTIzMiw2ICsyNTQsOCBAQCB2b2lkIFRo
cmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJUcmVlKCkKICAgICAgICAgZ2xDbGVhcihHTF9D
T0xPUl9CVUZGRVJfQklUKTsKICAgICB9CiAKKyAgICBtX3NjZW5lLT5hcHBseVN0YXRlQ2hhbmdl
cyhzdGF0ZXMpOworICAgIG1fc2NlbmUtPnJlbGVhc2VVcGRhdGVBdGxhc2VzKGF0bGFzZXNUb1Jl
bW92ZSk7CiAgICAgbV9zY2VuZS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodmlld3BvcnRUcmFu
c2Zvcm0sIDEsIEZsb2F0UmVjdCB7IEZsb2F0UG9pbnQgeyB9LCB2aWV3cG9ydFNpemUgfSwKICAg
ICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NCYWNrZ3JvdW5kLCBzY3JvbGxQb3NpdGlv
biwgbV9wYWludEZsYWdzKTsKIApAQCAtMjc4LDM0ICszMDIsMTUgQEAgdm9pZCBUaHJlYWRlZENv
bXBvc2l0b3I6OnNjZW5lVXBkYXRlRmluaXNoZWQoKQogCiB2b2lkIFRocmVhZGVkQ29tcG9zaXRv
cjo6dXBkYXRlU2NlbmVTdGF0ZShjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmIHN0YXRl
KQogewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgbV9zY2VuZS0+YXBwZW5k
VXBkYXRlKFt0aGlzLCBzY2VuZSA9IG1ha2VSZWYoKm1fc2NlbmUpLCBzdGF0ZV0gewotICAgICAg
ICBzY2VuZS0+Y29tbWl0U2NlbmVTdGF0ZShzdGF0ZSk7Ci0KLSAgICAgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9hdHRyaWJ1dGVzLmxvY2spOwotCi0gICAgICAgIC8vIENsaWVudCBoYXMgdG8gYmUg
bm90aWZpZWQgdXBvbiBmaW5pc2hpbmcgdGhpcyBzY2VuZSB1cGRhdGUuCi0gICAgICAgIG1fYXR0
cmlidXRlcy5jbGllbnRSZW5kZXJzTmV4dEZyYW1lID0gdHJ1ZTsKLQotICAgICAgICAvLyBDb29y
ZGluYXRlIHNjZW5lIHVwZGF0ZSBjb21wbGV0aW9uIHdpdGggdGhlIGNsaWVudCBpbiBjYXNlIG9m
IGNoYW5nZWQgb3IgdXBkYXRlZCBwbGF0Zm9ybSBsYXllcnMuCi0gICAgICAgIC8vIERvIG5vdCBj
aGFuZ2UgbV9jb29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGllbnQgd2hpbGUgaW4gZm9y
Y2UgcmVwYWludC4KLSAgICAgICAgYm9vbCBjb29yZGluYXRlVXBkYXRlID0gIW1faW5Gb3JjZVJl
cGFpbnQgJiYgc3RkOjphbnlfb2Yoc3RhdGUubGF5ZXJzVG9VcGRhdGUuYmVnaW4oKSwgc3RhdGUu
bGF5ZXJzVG9VcGRhdGUuZW5kKCksCi0gICAgICAgICAgICBbXShjb25zdCBzdGQ6OnBhaXI8Q29v
cmRpbmF0ZWRMYXllcklELCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZT4mIGl0KSB7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIGl0LnNlY29uZC5wbGF0Zm9ybUxheWVyQ2hhbmdlZCB8fCBp
dC5zZWNvbmQucGxhdGZvcm1MYXllclVwZGF0ZWQ7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAg
ICBtX2F0dHJpYnV0ZXMuY29vcmRpbmF0ZVVwZGF0ZUNvbXBsZXRpb25XaXRoQ2xpZW50IHw9IGNv
b3JkaW5hdGVVcGRhdGU7Ci0gICAgfSk7Ci0KKyAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2F0dHJp
YnV0ZXMubG9jayk7CisgICAgbV9hdHRyaWJ1dGVzLnN0YXRlcy5hcHBlbmQoc3RhdGUpOwogICAg
IG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zY2hlZHVsZVVwZGF0ZSgpOwogfQogCiB2b2lkIFRocmVh
ZGVkQ29tcG9zaXRvcjo6cmVsZWFzZVVwZGF0ZUF0bGFzZXMoVmVjdG9yPHVpbnQzMl90PiYmIGF0
bGFzZXNUb1JlbW92ZSkKIHsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIG1f
c2NlbmUtPmFwcGVuZFVwZGF0ZShbc2NlbmUgPSBtYWtlUmVmKCptX3NjZW5lKSwgYXRsYXNlc1Rv
UmVtb3ZlID0gV1RGTW92ZShhdGxhc2VzVG9SZW1vdmUpXSB7Ci0gICAgICAgIHNjZW5lLT5yZWxl
YXNlVXBkYXRlQXRsYXNlcyhhdGxhc2VzVG9SZW1vdmUpOwotICAgIH0pOworICAgIExvY2tIb2xk
ZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKKyAgICBtX2F0dHJpYnV0ZXMuYXRsYXNlc1Rv
UmVtb3ZlLmFwcGVuZFZlY3RvcihhdGxhc2VzVG9SZW1vdmUpOwogICAgIG1fY29tcG9zaXRpbmdS
dW5Mb29wLT5zY2hlZHVsZVVwZGF0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENv
bXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCmluZGV4IGU2MTAwZjg3NjhjYjBm
NmZlMGJmYzBlYTVjZjgzZTYyNjRlNDQ1NTIuLjZjNGE5Mjg3MDY2OWIxMDNjMTYyYzUwZTJlNDQ0
NzU3M2NjNjVjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9y
L1RocmVhZGVkQ29tcG9zaXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb21w
b3NpdGluZ1J1bkxvb3AuaCIKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvR0xDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyLmg+CkBAIC00MSwxMCArNDIsNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvRGlzcGxheVJlZnJlc2hNb25pdG9yLmg+CiAjZW5kaWYKIAotbmFtZXNwYWNl
IFdlYkNvcmUgewotc3RydWN0IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZTsKLX0KLQogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTsKQEAgLTEyNiw2
ICsxMjMsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGRyYXdzQmFja2dyb3VuZCB7IHRydWUg
fTsKICAgICAgICAgYm9vbCBuZWVkc1Jlc2l6ZSB7IGZhbHNlIH07CiAKKyAgICAgICAgVmVjdG9y
PFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZT4gc3RhdGVzOworICAgICAgICBWZWN0
b3I8dWludDMyX3Q+IGF0bGFzZXNUb1JlbW92ZTsKKwogICAgICAgICBib29sIGNsaWVudFJlbmRl
cnNOZXh0RnJhbWUgeyBmYWxzZSB9OwogICAgICAgICBib29sIGNvb3JkaW5hdGVVcGRhdGVDb21w
bGV0aW9uV2l0aENsaWVudCB7IGZhbHNlIH07CiAgICAgfSBtX2F0dHJpYnV0ZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318240</attachid>
            <date>2017-08-15 23:59:09 -0700</date>
            <delta_ts>2017-08-16 00:00:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175528-20170816085908.patch</filename>
            <type>text/plain</type>
            <size>19847</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE0NjM5ODRkOGY3M2VhYzIw
OTFjZjdlY2MyM2Y0MzM5MGRjN2E3ZDguLjE5OWI2OWRjNTYyNWFjODY3ZDUwOWVjNWUxOTg1NzJj
ODU1Y2Y4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMTctMDgtMTUgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtDb29yZEdyYXBoaWNzXSBT
aW1wbGlmeSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgc3RhdGUgdXBkYXRlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTI4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMzg3Njc5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBIb2xkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBzdGF0ZSB1cGRhdGVz
IGluIFRocmVhZGVkQ29tcG9zaXRvciwgaW4gdGhlCisgICAgICAgIG1fYXR0cmlidXRlcyBzdHJ1
Y3QuIFRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgdGhlIHVwZGF0ZXMgaW4KKyAgICAg
ICAgZnVuY3RvcnMgYW5kIGFjY3VtdWxhdGUgdGhlbSBpbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lIGNsYXNzLCBidXQKKyAgICAgICAgaW5zdGVhZCBqdXN0IGFwcGx5IGFueSBwZW5kaW5n
IHN0YXRlIHVwZGF0ZSBvciBhdGxhcyByZW1vdmFsIGJlZm9yZSB0aGUKKyAgICAgICAgc2NlbmUg
aXMgcmVuZGVyZWQuCisKKyAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBuZWVkIHRvIHVwZGF0ZSB0
aGUgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lIG9iamVjdCBmcm9tCisgICAgICAgIHRoZSBtYWlu
IHRocmVhZCB3aXRoIGRhdGEgdGhhdCB1bHRpbWF0ZWx5IGhhcyB0byBiZSBoYW5kbGVkIG9uIHRo
ZQorICAgICAgICBjb21wb3NpdGlvbiB0aHJlYWQuIFNpbWlsYXJseSwgd2hlbiB1cGRhdGluZyBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIHdlCisgICAgICAgIG9ubHkgbmVlZCB0byBzeW5jaHJv
bml6ZSBvbiB0aGUgbV9hdHRyaWJ1dGVzIGxvY2sgb2JqZWN0IG9uY2UgaW4gb3JkZXIgdG8KKyAg
ICAgICAgcmV0cmlldmUgdGhlIHNjZW5lIHVwZGF0ZSBpbmZvcm1hdGlvbiwgaW5zdGVhZCBvZiBo
YXZpbmcgZWFjaCBmdW5jdG9yIGRvCisgICAgICAgIHRoYXQgcmVwZWF0ZWRseS4KKworICAgICAg
ICBPdXRzaWRlIG9mIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBhbmQgVGhyZWFkZWRDb21wb3Np
dG9yIGNsYXNzZXMsIHRoZQorICAgICAgICBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yIGNsYXNzIG5v
dyBwYXNzZXMgdGhlIGF0bGFzZXMtdG8tcmVtb3ZlIFZlY3RvciBieQorICAgICAgICBhIGNvbnN0
IGx2YWx1ZSByZWZlcmVuY2UgZG93biB0byBUaHJlYWRlZENvbXBvc2l0b3IsIGFuZCB0aGVuIG1h
bnVhbGx5CisgICAgICAgIGNsZWFycyB0aGUgVmVjdG9yLiBCZWZvcmUgdGhlIFZlY3RvciB3YXMg
cGFzc2VkIGFzIGFuIHJ2YWx1ZSByZWZlcmVuY2UsCisgICAgICAgIGRlcGVuZGluZyBvbiB0aGUg
VGhyZWFkZWRDb21wb3NpdG9yIGNvZGUgdG8gY2xlYXIgb3V0IHRoZSBvcmlnaW5hbCBWZWN0b3IK
KyAgICAgICAgb2JqZWN0IGJ5IG1vdmluZyBpdHMgcmVzb3VyY2VzIGludG8gdGhlIGZ1bmN0b3Ig
b2JqZWN0LgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lOjphcHBseVN0YXRlQ2hhbmdlcyk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViS2l0
OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRldGFjaCk6CisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzeW5jUmVtb3RlQ29udGVudCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YXBwZW5kVXBkYXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuaDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJl
YWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VGhyZWFkZWRDb21wb3NpdG9yOjpyZW5kZXJMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpU
aHJlYWRlZENvbXBvc2l0b3I6OnVwZGF0ZVNjZW5lU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpU
aHJlYWRlZENvbXBvc2l0b3I6OnJlbGVhc2VVcGRhdGVBdGxhc2VzKToKKyAgICAgICAgKiBTaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3Np
dG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29tcG9zaXRpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAgIChXZWJLaXQ6
OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VBdGxhc2VzKToKKyAgICAgICAgKFdlYktp
dDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Y2xlYXJVcGRhdGVBdGxhc2VzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
cmVsZWFzZVVwZGF0ZUF0bGFzZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisKIDIw
MTctMDgtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJLaXQgdW1i
cmVsbGEgaGVhZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKaW5k
ZXggMzVlMTJkNzgyZjdjN2EzNGIwMmZkZWZmOWU0OWI4YTdkZDkxZjI1ZC4uMTJmYzA2MzMwMmY3
MmFiMzc0ODRkZWE1NDVkZjdhZjI3MDdkMzQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lLmNwcApAQCAtNzcsMTUgKzc3LDIxIEBAIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCiB7CiB9CiAKLXZvaWQgQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBS
ZWN0LCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwg
Y29uc3QgRmxvYXRQb2ludCYgY29udGVudFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVyOjpQYWludEZs
YWdzIFBhaW50RmxhZ3MpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YXBwbHlTdGF0
ZUNoYW5nZXMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZT4mIHN0YXRlcykK
IHsKICAgICBpZiAoIW1fdGV4dHVyZU1hcHBlcikgewogICAgICAgICBtX3RleHR1cmVNYXBwZXIg
PSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoKTsKICAgICAgICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1h
cHBlckdMKj4obV90ZXh0dXJlTWFwcGVyLmdldCgpKS0+c2V0RW5hYmxlRWRnZURpc3RhbmNlQW50
aWFsaWFzaW5nKHRydWUpOwogICAgIH0KIAotICAgIHN5bmNSZW1vdGVDb250ZW50KCk7CisgICAg
ZW5zdXJlUm9vdExheWVyKCk7CisKKyAgICBmb3IgKGF1dG8mIHN0YXRlIDogc3RhdGVzKQorICAg
ICAgICBjb21taXRTY2VuZVN0YXRlKHN0YXRlKTsKK30KIAordm9pZCBDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEZsb2F0UmVjdCYgY2xpcFJlY3QsIGNv
bnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIGJvb2wgZHJhd3NCYWNrZ3JvdW5kLCBjb25zdCBG
bG9hdFBvaW50JiBjb250ZW50UG9zaXRpb24sIFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgUGFp
bnRGbGFncykKK3sKICAgICBhZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKGNvbnRlbnRQb3Np
dGlvbik7CiAgICAgVGV4dHVyZU1hcHBlckxheWVyKiBjdXJyZW50Um9vdExheWVyID0gcm9vdExh
eWVyKCk7CiAgICAgaWYgKCFjdXJyZW50Um9vdExheWVyKQpAQCAtNTgwLDIzICs1ODYsNiBAQCB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZW5zdXJlUm9vdExheWVyKCkKICAgICBtX3Jv
b3RMYXllci0+c2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogfQogCi12
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1JlbW90ZUNvbnRlbnQoKQotewotICAg
IC8vIFdlIGVucXVldWUgbWVzc2FnZXMgYW5kIGV4ZWN1dGUgdGhlbSBkdXJpbmcgcGFpbnQsIGFz
IHRoZXkgcmVxdWlyZSBhbiBhY3RpdmUgR0wgY29udGV4dC4KLSAgICBlbnN1cmVSb290TGF5ZXIo
KTsKLQotICAgIFZlY3RvcjxGdW5jdGlvbjx2b2lkKCk+PiByZW5kZXJRdWV1ZTsKLSAgICBib29s
IGNhbGxlZE9uTWFpblRocmVhZCA9IFJ1bkxvb3A6OmlzTWFpbigpOwotICAgIGlmICghY2FsbGVk
T25NYWluVGhyZWFkKQotICAgICAgICBtX3JlbmRlclF1ZXVlTXV0ZXgubG9jaygpOwotICAgIHJl
bmRlclF1ZXVlID0gV1RGTW92ZShtX3JlbmRlclF1ZXVlKTsKLSAgICBpZiAoIWNhbGxlZE9uTWFp
blRocmVhZCkKLSAgICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4LnVubG9jaygpOwotCi0gICAgZm9y
IChhdXRvJiBmdW5jdGlvbiA6IHJlbmRlclF1ZXVlKQotICAgICAgICBmdW5jdGlvbigpOwotfQot
CiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cHVyZ2VHTFJlc291cmNlcygpCiB7CiAg
ICAgQVNTRVJUKCFtX2NsaWVudCk7CkBAIC02NDIsMzIgKzYzMSwxMyBAQCB2b2lkIENvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZTo6ZGV0YWNoKCkKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkp
OwogICAgIG1faXNBY3RpdmUgPSBmYWxzZTsKICAgICBtX2NsaWVudCA9IG51bGxwdHI7Ci0gICAg
TG9ja0hvbGRlciBsb2NrZXIobV9yZW5kZXJRdWV1ZU11dGV4KTsKLSAgICBtX3JlbmRlclF1ZXVl
LmNsZWFyKCk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphcHBlbmRVcGRh
dGUoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQotewotICAgIGlmICghbV9pc0FjdGl2ZSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBM
b2NrSG9sZGVyIGxvY2tlcihtX3JlbmRlclF1ZXVlTXV0ZXgpOwotICAgIG1fcmVuZGVyUXVldWUu
YXBwZW5kKFdURk1vdmUoZnVuY3Rpb24pKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNz
U2NlbmU6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKIHsKLSAgICBpZiAoIW1fY2xpZW50KQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9pc0FjdGl2ZSA9PSBhY3RpdmUpCisgICAgaWYgKCFt
X2NsaWVudCB8fCBtX2lzQWN0aXZlID09IGFjdGl2ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Ly8gSGF2ZSB0byBjbGVhciByZW5kZXIgcXVldWUgaW4gYm90aCBjYXNlcy4KLSAgICAvLyBJZiB0
aGVyZSBhcmUgc29tZSB1cGRhdGVzIGluIHF1ZXVlIGR1cmluZyBhY3RpdmF0aW9uIHRoZW4gdGhv
c2UgdXBkYXRlcyBhcmUgZnJvbSBwcmV2aW91cyBpbnN0YW5jZSBvZiBwYWludCBub2RlCi0gICAg
Ly8gYW5kIGNhbm5vdCBiZSBhcHBsaWVkIHRvIHRoZSBuZXdseSBjcmVhdGVkIGluc3RhbmNlLgot
ICAgIG1fcmVuZGVyUXVldWUuY2xlYXIoKTsKICAgICBtX2lzQWN0aXZlID0gYWN0aXZlOwogICAg
IGlmIChtX2lzQWN0aXZlKQogICAgICAgICByZW5kZXJOZXh0RnJhbWUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4IDY2NTNiMTBiMzYwNTFjZDZiZmI3Mjg2ZDVh
OWFkYzk1Y2U4NWYxYjAuLjRiMWYwNDYwMGE0MTZjNGE1MTI3NzkxM2I0YjNkNGMyNzA2NGM2ZTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApAQCAtNjgsOSArNjgsMTAg
QEAgY2xhc3MgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPENvb3JkaW5hdGVkR3JhcGhpY3MKIHB1YmxpYzoKICAgICBleHBsaWNpdCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUoQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lQ2xpZW50Kik7CiAgICAg
dmlydHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCk7CisKKyAgICB2b2lkIGFwcGx5U3Rh
dGVDaGFuZ2VzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU+
Jik7CiAgICAgdm9pZCBwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25z
dCBXZWJDb3JlOjpDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OlBhaW50
RmxhZ3MgPSAwKTsKICAgICB2b2lkIGRldGFjaCgpOwotICAgIHZvaWQgYXBwZW5kVXBkYXRlKEZ1
bmN0aW9uPHZvaWQoKT4mJik7CiAKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGZp
bmRTY3JvbGxhYmxlQ29udGVudHNMYXllckF0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsK
IApAQCAtMTI0LDcgKzEyNSw2IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBl
ckxheWVyKiBnZXRMYXllckJ5SURJZkV4aXN0cyhXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQp
OwogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogcm9vdExheWVyKCkgeyByZXR1cm4g
bV9yb290TGF5ZXIuZ2V0KCk7IH0KIAotICAgIHZvaWQgc3luY1JlbW90ZUNvbnRlbnQoKTsKICAg
ICB2b2lkIGFkanVzdFBvc2l0aW9uRm9yRml4ZWRMYXllcnMoY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgY29udGVudFBvc2l0aW9uKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hPbk1haW5UaHJlYWQo
RnVuY3Rpb248dm9pZCgpPiYmKTsKQEAgLTE0OSwxMCArMTQ5LDYgQEAgcHJpdmF0ZToKICAgICBX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0wqIHRleG1hcEdMKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAot
ICAgIC8vIFJlbmRlciBxdWV1ZSBjYW4gYmUgYWNjZXNzZWQgb255IGZyb20gbWFpbiB0aHJlYWQg
b3IgdXBkYXRlUGFpbnROb2RlIGNhbGwgc3RhY2shCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQo
KT4+IG1fcmVuZGVyUXVldWU7Ci0gICAgTG9jayBtX3JlbmRlclF1ZXVlTXV0ZXg7Ci0KICAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6VGV4dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFwcGVyOwog
CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lELCBSZWZQdHI8
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+PiBtX2ltYWdlQmFja2luZ3M7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAppbmRl
eCBhNjQzNTVkOTdjNTI3ZWJhMDE2NTY1YThhOTRkODA3ZjMzYTEwZWRiLi4zYzA5MGUxY2QyZmUz
OTM3NDMxMzNjNjAyYzBjZjM2NDA2ZDRkNDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
dGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKQEAgLTIwOCw2ICsyMDgs
OSBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJUcmVlKCkKICAgICBmbG9h
dCBzY2FsZUZhY3RvcjsKICAgICBib29sIGRyYXdzQmFja2dyb3VuZDsKICAgICBib29sIG5lZWRz
UmVzaXplOworICAgIFZlY3RvcjxXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU+IHN0
YXRlczsKKyAgICBWZWN0b3I8dWludDMyX3Q+IGF0bGFzZXNUb1JlbW92ZTsKKwogICAgIHsKICAg
ICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9hdHRyaWJ1dGVzLmxvY2spOwogICAgICAgICB2aWV3
cG9ydFNpemUgPSBtX2F0dHJpYnV0ZXMudmlld3BvcnRTaXplOwpAQCAtMjE2LDYgKzIxOSwyNSBA
QCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJUcmVlKCkKICAgICAgICAgZHJh
d3NCYWNrZ3JvdW5kID0gbV9hdHRyaWJ1dGVzLmRyYXdzQmFja2dyb3VuZDsKICAgICAgICAgbmVl
ZHNSZXNpemUgPSBtX2F0dHJpYnV0ZXMubmVlZHNSZXNpemU7CiAKKyAgICAgICAgc3RhdGVzID0g
V1RGTW92ZShtX2F0dHJpYnV0ZXMuc3RhdGVzKTsKKyAgICAgICAgYXRsYXNlc1RvUmVtb3ZlID0g
V1RGTW92ZShtX2F0dHJpYnV0ZXMuYXRsYXNlc1RvUmVtb3ZlKTsKKworICAgICAgICBpZiAoIXN0
YXRlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIC8vIENsaWVudCBoYXMgdG8gYmUgbm90aWZp
ZWQgdXBvbiBmaW5pc2hpbmcgdGhpcyBzY2VuZSB1cGRhdGUuCisgICAgICAgICAgICBtX2F0dHJp
YnV0ZXMuY2xpZW50UmVuZGVyc05leHRGcmFtZSA9IHRydWU7CisKKyAgICAgICAgICAgIC8vIENv
b3JkaW5hdGUgc2NlbmUgdXBkYXRlIGNvbXBsZXRpb24gd2l0aCB0aGUgY2xpZW50IGluIGNhc2Ug
b2YgY2hhbmdlZCBvciB1cGRhdGVkIHBsYXRmb3JtIGxheWVycy4KKyAgICAgICAgICAgIC8vIEJ1
dCBkbyBub3QgY2hhbmdlIGNvb3JkaW5hdGVVcGRhdGVDb21wbGV0aW9uV2l0aENsaWVudCB3aGls
ZSBpbiBmb3JjZSByZXBhaW50IGJlY2F1c2UgdGhhdAorICAgICAgICAgICAgLy8gZGVtYW5kcyBp
bW1lZGlhdGUgc2NlbmUgdXBkYXRlIGNvbXBsZXRpb24gcmVnYXJkbGVzcyBvZiBwbGF0Zm9ybSBs
YXllcnMuCisgICAgICAgICAgICBpZiAoIW1faW5Gb3JjZVJlcGFpbnQpIHsKKyAgICAgICAgICAg
ICAgICBib29sIGNvb3JkaW5hdGVVcGRhdGUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBmb3Ig
KGF1dG8mIHN0YXRlIDogc3RhdGVzKQorICAgICAgICAgICAgICAgICAgICBjb29yZGluYXRlVXBk
YXRlIHw9IHN0ZDo6YW55X29mKHN0YXRlLmxheWVyc1RvVXBkYXRlLmJlZ2luKCksIHN0YXRlLmxh
eWVyc1RvVXBkYXRlLmVuZCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgW10oYXV0byYgaXQp
IHsgcmV0dXJuIGl0LnNlY29uZC5wbGF0Zm9ybUxheWVyQ2hhbmdlZCB8fCBpdC5zZWNvbmQucGxh
dGZvcm1MYXllclVwZGF0ZWQ7IH0pOworICAgICAgICAgICAgICAgIG1fYXR0cmlidXRlcy5jb29y
ZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGllbnQgPSBjb29yZGluYXRlVXBkYXRlOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgLy8gUmVzZXQgdGhlIG5lZWRzUmVzaXpl
IGF0dHJpYnV0ZSB0byBmYWxzZS4KICAgICAgICAgbV9hdHRyaWJ1dGVzLm5lZWRzUmVzaXplID0g
ZmFsc2U7CiAgICAgfQpAQCAtMjMyLDYgKzI1NCw4IEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9y
OjpyZW5kZXJMYXllclRyZWUoKQogICAgICAgICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQp
OwogICAgIH0KIAorICAgIG1fc2NlbmUtPmFwcGx5U3RhdGVDaGFuZ2VzKHN0YXRlcyk7CisgICAg
bV9zY2VuZS0+cmVsZWFzZVVwZGF0ZUF0bGFzZXMoYXRsYXNlc1RvUmVtb3ZlKTsKICAgICBtX3Nj
ZW5lLT5wYWludFRvQ3VycmVudEdMQ29udGV4dCh2aWV3cG9ydFRyYW5zZm9ybSwgMSwgRmxvYXRS
ZWN0IHsgRmxvYXRQb2ludCB7IH0sIHZpZXdwb3J0U2l6ZSB9LAogICAgICAgICBDb2xvcjo6dHJh
bnNwYXJlbnQsICFkcmF3c0JhY2tncm91bmQsIHNjcm9sbFBvc2l0aW9uLCBtX3BhaW50RmxhZ3Mp
OwogCkBAIC0yNzgsMzQgKzMwMiwxNSBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6c2NlbmVV
cGRhdGVGaW5pc2hlZCgpCiAKIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjp1cGRhdGVTY2VuZVN0
YXRlKGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYgc3RhdGUpCiB7Ci0gICAgQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBtX3NjZW5lLT5hcHBlbmRVcGRhdGUoW3RoaXMsIHNj
ZW5lID0gbWFrZVJlZigqbV9zY2VuZSksIHN0YXRlXSB7Ci0gICAgICAgIHNjZW5lLT5jb21taXRT
Y2VuZVN0YXRlKHN0YXRlKTsKLQotICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2F0dHJpYnV0
ZXMubG9jayk7Ci0KLSAgICAgICAgLy8gQ2xpZW50IGhhcyB0byBiZSBub3RpZmllZCB1cG9uIGZp
bmlzaGluZyB0aGlzIHNjZW5lIHVwZGF0ZS4KLSAgICAgICAgbV9hdHRyaWJ1dGVzLmNsaWVudFJl
bmRlcnNOZXh0RnJhbWUgPSB0cnVlOwotCi0gICAgICAgIC8vIENvb3JkaW5hdGUgc2NlbmUgdXBk
YXRlIGNvbXBsZXRpb24gd2l0aCB0aGUgY2xpZW50IGluIGNhc2Ugb2YgY2hhbmdlZCBvciB1cGRh
dGVkIHBsYXRmb3JtIGxheWVycy4KLSAgICAgICAgLy8gRG8gbm90IGNoYW5nZSBtX2Nvb3JkaW5h
dGVVcGRhdGVDb21wbGV0aW9uV2l0aENsaWVudCB3aGlsZSBpbiBmb3JjZSByZXBhaW50LgotICAg
ICAgICBib29sIGNvb3JkaW5hdGVVcGRhdGUgPSAhbV9pbkZvcmNlUmVwYWludCAmJiBzdGQ6OmFu
eV9vZihzdGF0ZS5sYXllcnNUb1VwZGF0ZS5iZWdpbigpLCBzdGF0ZS5sYXllcnNUb1VwZGF0ZS5l
bmQoKSwKLSAgICAgICAgICAgIFtdKGNvbnN0IHN0ZDo6cGFpcjxDb29yZGluYXRlZExheWVySUQs
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlPiYgaXQpIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gaXQuc2Vjb25kLnBsYXRmb3JtTGF5ZXJDaGFuZ2VkIHx8IGl0LnNlY29uZC5wbGF0Zm9y
bUxheWVyVXBkYXRlZDsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgIG1fYXR0cmlidXRlcy5j
b29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGllbnQgfD0gY29vcmRpbmF0ZVVwZGF0ZTsK
LSAgICB9KTsKLQorICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKKyAg
ICBtX2F0dHJpYnV0ZXMuc3RhdGVzLmFwcGVuZChzdGF0ZSk7CiAgICAgbV9jb21wb3NpdGluZ1J1
bkxvb3AtPnNjaGVkdWxlVXBkYXRlKCk7CiB9CiAKLXZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpy
ZWxlYXNlVXBkYXRlQXRsYXNlcyhWZWN0b3I8dWludDMyX3Q+JiYgYXRsYXNlc1RvUmVtb3ZlKQor
dm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnJlbGVhc2VVcGRhdGVBdGxhc2VzKGNvbnN0IFZlY3Rv
cjx1aW50MzJfdD4mIGF0bGFzZXNUb1JlbW92ZSkKIHsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOwotICAgIG1fc2NlbmUtPmFwcGVuZFVwZGF0ZShbc2NlbmUgPSBtYWtlUmVmKCptX3Nj
ZW5lKSwgYXRsYXNlc1RvUmVtb3ZlID0gV1RGTW92ZShhdGxhc2VzVG9SZW1vdmUpXSB7Ci0gICAg
ICAgIHNjZW5lLT5yZWxlYXNlVXBkYXRlQXRsYXNlcyhhdGxhc2VzVG9SZW1vdmUpOwotICAgIH0p
OworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKKyAgICBtX2F0dHJp
YnV0ZXMuYXRsYXNlc1RvUmVtb3ZlLmFwcGVuZFZlY3RvcihhdGxhc2VzVG9SZW1vdmUpOwogICAg
IG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zY2hlZHVsZVVwZGF0ZSgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9z
aXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCmluZGV4
IGU2MTAwZjg3NjhjYjBmNmZlMGJmYzBlYTVjZjgzZTYyNjRlNDQ1NTIuLmVlMDlkYTQzMGI1MmUz
MDgzOTc5YTlhZDEzMTNiZDJhNDBiZGZkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9z
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAK
ICNpbmNsdWRlICJDb21wb3NpdGluZ1J1bkxvb3AuaCIKICNpbmNsdWRlICJDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR0xDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bnRTaXplLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyLmg+CkBAIC00MSwxMCAr
NDIsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheVJlZnJlc2hNb25pdG9yLmg+CiAjZW5k
aWYKIAotbmFtZXNwYWNlIFdlYkNvcmUgewotc3RydWN0IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTsKQEAgLTgwLDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RHJhd3NCYWNrZ3Jv
dW5kKGJvb2wpOwogCiAgICAgdm9pZCB1cGRhdGVTY2VuZVN0YXRlKGNvbnN0IFdlYkNvcmU6OkNv
b3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYpOwotICAgIHZvaWQgcmVsZWFzZVVwZGF0ZUF0bGFzZXMo
VmVjdG9yPHVpbnQzMl90PiYmKTsKKyAgICB2b2lkIHJlbGVhc2VVcGRhdGVBdGxhc2VzKGNvbnN0
IFZlY3Rvcjx1aW50MzJfdD4mKTsKIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCkBAIC0xMjYs
NiArMTIzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBkcmF3c0JhY2tncm91bmQgeyB0cnVl
IH07CiAgICAgICAgIGJvb2wgbmVlZHNSZXNpemUgeyBmYWxzZSB9OwogCisgICAgICAgIFZlY3Rv
cjxXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU+IHN0YXRlczsKKyAgICAgICAgVmVj
dG9yPHVpbnQzMl90PiBhdGxhc2VzVG9SZW1vdmU7CisKICAgICAgICAgYm9vbCBjbGllbnRSZW5k
ZXJzTmV4dEZyYW1lIHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBjb29yZGluYXRlVXBkYXRlQ29t
cGxldGlvbldpdGhDbGllbnQgeyBmYWxzZSB9OwogICAgIH0gbV9hdHRyaWJ1dGVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5k
ZXggMWNlNzNmY2RiMWUyZmRmYWFhYzZmMTFkNjk0MGM3YThiNDU1ZTEwMi4uMDIyOGEwOTUzMGFl
ZDMwNDdlYWQxYjA1YzhkNzEzNTljMGQ5NDBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xMzgsNyArMTM4LDggQEAg
Ym9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQog
ICAgICAgICBtX2NsaWVudC5jb21taXRTY2VuZVN0YXRlKG1fc3RhdGUpOwogCiAgICAgICAgIGlm
ICghbV9hdGxhc2VzVG9SZW1vdmUuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9jbGllbnQucmVs
ZWFzZVVwZGF0ZUF0bGFzZXMoV1RGTW92ZShtX2F0bGFzZXNUb1JlbW92ZSkpOworICAgICAgICAg
ICAgbV9jbGllbnQucmVsZWFzZVVwZGF0ZUF0bGFzZXMobV9hdGxhc2VzVG9SZW1vdmUpOworICAg
ICAgICBtX2F0bGFzZXNUb1JlbW92ZS5jbGVhcigpOwogCiAgICAgICAgIGNsZWFyUGVuZGluZ1N0
YXRlQ2hhbmdlcygpOwogICAgICAgICBtX3Nob3VsZFN5bmNGcmFtZSA9IGZhbHNlOwpAQCAtNDQy
LDcgKzQ0Myw4IEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cmVsZWFzZUF0bGFzZXMo
UmVsZWFzZUF0bGFzUG9saWN5IHBvbGljeSkKICAgICAgICAgbV9yZWxlYXNlSW5hY3RpdmVBdGxh
c2VzVGltZXIuc3RvcCgpOwogCiAgICAgaWYgKCFtX2F0bGFzZXNUb1JlbW92ZS5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fY2xpZW50LnJlbGVhc2VVcGRhdGVBdGxhc2VzKFdURk1vdmUobV9hdGxhc2Vz
VG9SZW1vdmUpKTsKKyAgICAgICAgbV9jbGllbnQucmVsZWFzZVVwZGF0ZUF0bGFzZXMobV9hdGxh
c2VzVG9SZW1vdmUpOworICAgIG1fYXRsYXNlc1RvUmVtb3ZlLmNsZWFyKCk7CiB9CiAKIHZvaWQg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Y2xlYXJVcGRhdGVBdGxhc2VzKCkKQEAgLTQ1NCw3ICs0
NTYsOCBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmNsZWFyVXBkYXRlQXRsYXNlcygp
CiAgICAgbV91cGRhdGVBdGxhc2VzLmNsZWFyKCk7CiAKICAgICBpZiAoIW1fYXRsYXNlc1RvUmVt
b3ZlLmlzRW1wdHkoKSkKLSAgICAgICAgbV9jbGllbnQucmVsZWFzZVVwZGF0ZUF0bGFzZXMoV1RG
TW92ZShtX2F0bGFzZXNUb1JlbW92ZSkpOworICAgICAgICBtX2NsaWVudC5yZWxlYXNlVXBkYXRl
QXRsYXNlcyhtX2F0bGFzZXNUb1JlbW92ZSk7CisgICAgbV9hdGxhc2VzVG9SZW1vdmUuY2xlYXIo
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRp
bmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4IGZiMjc1NjMxY2ZmMjBmOTkzZjQx
MzEyYzliOTgwM2ZmZGRiNzA3NDIuLjJkOTZkMGE5YzBlMzFkYjQ4ZDJiYjgxMDQ2MzAxZjY0ZTg0
MTVmMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUZsdXNoUmVxdWlyZWQoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb21taXRT
Y2VuZVN0YXRlKGNvbnN0IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50TGF5ZXJDb250ZW50cyhjb25zdCBXZWJDb3JlOjpH
cmFwaGljc0xheWVyKiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgY2xpcFJlY3QpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlbGVhc2VVcGRh
dGVBdGxhc2VzKFZlY3Rvcjx1aW50MzJfdD4mJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVsZWFzZVVwZGF0ZUF0bGFzZXMoY29uc3QgVmVjdG9yPHVpbnQzMl90PiYpID0gMDsKICAgICB9
OwogCiAgICAgQ29tcG9zaXRpbmdDb29yZGluYXRvcihXZWJDb3JlOjpQYWdlKiwgQ29tcG9zaXRp
bmdDb29yZGluYXRvcjo6Q2xpZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCA3NGJiNWQzNTliZjIzZmJjZTY5NjNk
NGZiZGRjOWEwMmMzZGVhZDE2Li5hYTUxY2FjNzJlZGE5MjI2ZTFhZmFjZGI3YjY0YWEzOTA4ODc2
MzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgbm90aWZ5
Rmx1c2hSZXF1aXJlZCgpIG92ZXJyaWRlIHsgc2NoZWR1bGVMYXllckZsdXNoKCk7IH07CiAgICAg
dm9pZCBjb21taXRTY2VuZVN0YXRlKGNvbnN0IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
dGF0ZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcGFpbnRMYXllckNvbnRlbnRzKGNvbnN0IFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXIqLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBjbGlwUmVjdCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCByZWxlYXNlVXBkYXRl
QXRsYXNlcyhWZWN0b3I8dWludDMyX3Q+JiYpIG92ZXJyaWRlIHsgfTsKKyAgICB2b2lkIHJlbGVh
c2VVcGRhdGVBdGxhc2VzKGNvbnN0IFZlY3Rvcjx1aW50MzJfdD4mKSBvdmVycmlkZSB7IH07CiAK
IHByaXZhdGU6CiAgICAgdm9pZCBsYXllckZsdXNoVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJl
YWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcAppbmRleCA3YmVkMzlhMTVkN2EzNjhlM2ZiMWMwYzk1OTM3NDMzMzEwOWY1MWRk
Li42ZjE5OWE1ZjljOTUzMTcwODk2M2RjYmU2ZjkxODY1M2ViMzVhYzEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVh
ZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcApAQCAtMjQ5LDkgKzI0OSw5IEBAIHZvaWQgVGhyZWFkZWRDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OmNvbW1pdFNjZW5lU3RhdGUoY29uc3QgQ29vcmRpbmF0ZWRHcmFwaGlj
CiAgICAgbV9jb21wb3NpdG9yLT51cGRhdGVTY2VuZVN0YXRlKHN0YXRlKTsKIH0KIAotdm9pZCBU
aHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cmVsZWFzZVVwZGF0ZUF0bGFzZXMoVmVj
dG9yPHVpbnQzMl90PiYmIGF0bGFzZXNUb1JlbW92ZSkKK3ZvaWQgVGhyZWFkZWRDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OnJlbGVhc2VVcGRhdGVBdGxhc2VzKGNvbnN0IFZlY3Rvcjx1aW50MzJf
dD4mIGF0bGFzZXNUb1JlbW92ZSkKIHsKLSAgICBtX2NvbXBvc2l0b3ItPnJlbGVhc2VVcGRhdGVB
dGxhc2VzKFdURk1vdmUoYXRsYXNlc1RvUmVtb3ZlKSk7CisgICAgbV9jb21wb3NpdG9yLT5yZWxl
YXNlVXBkYXRlQXRsYXNlcyhhdGxhc2VzVG9SZW1vdmUpOwogfQogCiB2b2lkIFRocmVhZGVkQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRJc0Rpc2NhcmRhYmxlKGJvb2wgZGlzY2FyZGFibGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmgKaW5kZXggOTNkZWJkY2Y4YjYyMTY2MjA3NGIxNDQzNDExYmU2
YzRkZTNkY2ZjYy4uMmYyYmM0NmRkYjhkNWVkMTJmOWM0NDQ4OTE4Nzc2MWU2YzhiN2VkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29yZGlu
YXRlZExheWVyVHJlZUhvc3QuaApAQCAtMTE4LDcgKzExOCw3IEBAIHByaXZhdGU6CiAgICAgLy8g
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6Q2xpZW50CiAgICAgdm9pZCBkaWRGbHVzaFJvb3RMYXll
cihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSBvdmVycmlkZSB7IH0KICAgICB2b2lkIGNvbW1p
dFNjZW5lU3RhdGUoY29uc3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCByZWxlYXNlVXBkYXRlQXRsYXNlcyhWZWN0b3I8dWludDMyX3Q+JiYp
IG92ZXJyaWRlOworICAgIHZvaWQgcmVsZWFzZVVwZGF0ZUF0bGFzZXMoY29uc3QgVmVjdG9yPHVp
bnQzMl90PiYpIG92ZXJyaWRlOwogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJ
U1BMQVlfTU9OSVRPUikKICAgICBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9y
PiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQp
IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318241</attachid>
            <date>2017-08-16 00:01:03 -0700</date>
            <delta_ts>2017-08-16 04:21:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175528-20170816090102.patch</filename>
            <type>text/plain</type>
            <size>19944</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE0NjM5ODRkOGY3M2VhYzIw
OTFjZjdlY2MyM2Y0MzM5MGRjN2E3ZDguLjg4NjZkNzVmZDUxM2VlYzAxMjcxMTE1M2Q4YzQ2MmE0
OWI0ZmY4OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTctMDgtMTUgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtDb29yZEdyYXBoaWNzXSBT
aW1wbGlmeSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgc3RhdGUgdXBkYXRlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NTI4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMzg3Njc5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBIb2xkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBzdGF0ZSB1cGRhdGVz
IGluIFRocmVhZGVkQ29tcG9zaXRvciwgaW4gdGhlCisgICAgICAgIG1fYXR0cmlidXRlcyBzdHJ1
Y3QuIFRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgdGhlIHVwZGF0ZXMgaW4KKyAgICAg
ICAgZnVuY3RvcnMgYW5kIGFjY3VtdWxhdGUgdGhlbSBpbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lIGNsYXNzLCBidXQKKyAgICAgICAgaW5zdGVhZCBqdXN0IGFwcGx5IGFueSBwZW5kaW5n
IHN0YXRlIHVwZGF0ZSBvciBhdGxhcyByZW1vdmFsIGJlZm9yZSB0aGUKKyAgICAgICAgc2NlbmUg
aXMgcmVuZGVyZWQuCisKKyAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBuZWVkIHRvIHVwZGF0ZSB0
aGUgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lIG9iamVjdCBmcm9tCisgICAgICAgIHRoZSBtYWlu
IHRocmVhZCB3aXRoIGRhdGEgdGhhdCB1bHRpbWF0ZWx5IGhhcyB0byBiZSBoYW5kbGVkIG9uIHRo
ZQorICAgICAgICBjb21wb3NpdGlvbiB0aHJlYWQuIFNpbWlsYXJseSwgd2hlbiB1cGRhdGluZyBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIHdlCisgICAgICAgIG9ubHkgbmVlZCB0byBzeW5jaHJv
bml6ZSBvbiB0aGUgbV9hdHRyaWJ1dGVzIGxvY2sgb2JqZWN0IG9uY2UgaW4gb3JkZXIgdG8KKyAg
ICAgICAgcmV0cmlldmUgdGhlIHNjZW5lIHVwZGF0ZSBpbmZvcm1hdGlvbiwgaW5zdGVhZCBvZiBo
YXZpbmcgZWFjaCBmdW5jdG9yIGRvCisgICAgICAgIHRoYXQgcmVwZWF0ZWRseS4KKworICAgICAg
ICBPdXRzaWRlIG9mIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBhbmQgVGhyZWFkZWRDb21wb3Np
dG9yIGNsYXNzZXMsIHRoZQorICAgICAgICBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yIGNsYXNzIG5v
dyBwYXNzZXMgdGhlIGF0bGFzZXMtdG8tcmVtb3ZlIFZlY3RvciBieQorICAgICAgICBhIGNvbnN0
IGx2YWx1ZSByZWZlcmVuY2UgZG93biB0byBUaHJlYWRlZENvbXBvc2l0b3IsIGFuZCB0aGVuIG1h
bnVhbGx5CisgICAgICAgIGNsZWFycyB0aGUgVmVjdG9yLiBCZWZvcmUgdGhlIFZlY3RvciB3YXMg
cGFzc2VkIGFzIGFuIHJ2YWx1ZSByZWZlcmVuY2UsCisgICAgICAgIGRlcGVuZGluZyBvbiB0aGUg
VGhyZWFkZWRDb21wb3NpdG9yIGNvZGUgdG8gY2xlYXIgb3V0IHRoZSBvcmlnaW5hbCBWZWN0b3IK
KyAgICAgICAgb2JqZWN0IGJ5IG1vdmluZyBpdHMgcmVzb3VyY2VzIGludG8gdGhlIGZ1bmN0b3Ig
b2JqZWN0LiBUaGlzIGRvZXNuJ3Qgb2NjdXIKKyAgICAgICAgYW55bW9yZSBiZWNhdXNlIHRoZSBW
ZWN0b3Igb2JqZWN0IGlzIG5vdyBhcHBlbmRlZCB0byBhbm90aGVyIFZlY3Rvci4KKworICAgICAg
ICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YXBwbHlTdGF0
ZUNoYW5nZXMpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBh
aW50VG9DdXJyZW50R0xDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpkZXRhY2gpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNz
U2NlbmU6OnNldEFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6c3luY1JlbW90ZUNvbnRlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFwcGVuZFVwZGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICog
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6Cisg
ICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1Ro
cmVhZGVkQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRv
cjo6cmVuZGVyTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWRDb21wb3NpdG9y
Ojp1cGRhdGVTY2VuZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWRDb21wb3NpdG9y
OjpyZWxlYXNlVXBkYXRlQXRsYXNlcyk6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpmbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMpOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yOjpyZWxlYXNlQXRsYXNlcyk6CisgICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OmNsZWFyVXBkYXRlQXRsYXNlcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnJlbGVhc2VVcGRhdGVBdGxh
c2VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9U
aHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oOgorCiAyMDE3LTA4LTE1ICBUaW0gSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFdLU25hcHNob3RDb25m
aWd1cmF0aW9uIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViS2l0IHVtYnJlbGxhIGhlYWRlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IDM1ZTEyZDc4MmY3Yzdh
MzRiMDJmZGVmZjllNDliOGE3ZGQ5MWYyNWQuLjEyZmMwNjMzMDJmNzJhYjM3NDg0ZGVhNTQ1ZGY3
YWYyNzA3ZDM0NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAK
QEAgLTc3LDE1ICs3NywyMSBAQCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6On5Db29yZGluYXRl
ZEdyYXBoaWNzU2NlbmUoKQogewogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJp
eCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgY29uc3QgQ29sb3Im
IGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0JhY2tncm91bmQsIGNvbnN0IEZsb2F0UG9pbnQm
IGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVyZU1hcHBlcjo6UGFpbnRGbGFncyBQYWludEZsYWdzKQor
dm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFwcGx5U3RhdGVDaGFuZ2VzKGNvbnN0IFZl
Y3RvcjxDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU+JiBzdGF0ZXMpCiB7CiAgICAgaWYgKCFtX3Rl
eHR1cmVNYXBwZXIpIHsKICAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlcjo6
Y3JlYXRlKCk7CiAgICAgICAgIHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KG1fdGV4dHVy
ZU1hcHBlci5nZXQoKSktPnNldEVuYWJsZUVkZ2VEaXN0YW5jZUFudGlhbGlhc2luZyh0cnVlKTsK
ICAgICB9CiAKLSAgICBzeW5jUmVtb3RlQ29udGVudCgpOworICAgIGVuc3VyZVJvb3RMYXllcigp
OworCisgICAgZm9yIChhdXRvJiBzdGF0ZSA6IHN0YXRlcykKKyAgICAgICAgY29tbWl0U2NlbmVT
dGF0ZShzdGF0ZSk7Cit9CiAKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRv
Q3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9h
dCBvcGFjaXR5LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBjb25zdCBDb2xvciYgYmFja2dy
b3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgY29uc3QgRmxvYXRQb2ludCYgY29udGVu
dFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzIFBhaW50RmxhZ3MpCit7CiAgICAg
YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycyhjb250ZW50UG9zaXRpb24pOwogICAgIFRleHR1
cmVNYXBwZXJMYXllciogY3VycmVudFJvb3RMYXllciA9IHJvb3RMYXllcigpOwogICAgIGlmICgh
Y3VycmVudFJvb3RMYXllcikKQEAgLTU4MCwyMyArNTg2LDYgQEAgdm9pZCBDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OmVuc3VyZVJvb3RMYXllcigpCiAgICAgbV9yb290TGF5ZXItPnNldFRleHR1
cmVNYXBwZXIobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OnN5bmNSZW1vdGVDb250ZW50KCkKLXsKLSAgICAvLyBXZSBlbnF1ZXVlIG1l
c3NhZ2VzIGFuZCBleGVjdXRlIHRoZW0gZHVyaW5nIHBhaW50LCBhcyB0aGV5IHJlcXVpcmUgYW4g
YWN0aXZlIEdMIGNvbnRleHQuCi0gICAgZW5zdXJlUm9vdExheWVyKCk7Ci0KLSAgICBWZWN0b3I8
RnVuY3Rpb248dm9pZCgpPj4gcmVuZGVyUXVldWU7Ci0gICAgYm9vbCBjYWxsZWRPbk1haW5UaHJl
YWQgPSBSdW5Mb29wOjppc01haW4oKTsKLSAgICBpZiAoIWNhbGxlZE9uTWFpblRocmVhZCkKLSAg
ICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4LmxvY2soKTsKLSAgICByZW5kZXJRdWV1ZSA9IFdURk1v
dmUobV9yZW5kZXJRdWV1ZSk7Ci0gICAgaWYgKCFjYWxsZWRPbk1haW5UaHJlYWQpCi0gICAgICAg
IG1fcmVuZGVyUXVldWVNdXRleC51bmxvY2soKTsKLQotICAgIGZvciAoYXV0byYgZnVuY3Rpb24g
OiByZW5kZXJRdWV1ZSkKLSAgICAgICAgZnVuY3Rpb24oKTsKLX0KLQogdm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmU6OnB1cmdlR0xSZXNvdXJjZXMoKQogewogICAgIEFTU0VSVCghbV9jbGll
bnQpOwpAQCAtNjQyLDMyICs2MzEsMTMgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmRldGFjaCgpCiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBtX2lzQWN0aXZl
ID0gZmFsc2U7CiAgICAgbV9jbGllbnQgPSBudWxscHRyOwotICAgIExvY2tIb2xkZXIgbG9ja2Vy
KG1fcmVuZGVyUXVldWVNdXRleCk7Ci0gICAgbV9yZW5kZXJRdWV1ZS5jbGVhcigpOwotfQotCi12
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YXBwZW5kVXBkYXRlKEZ1bmN0aW9uPHZvaWQo
KT4mJiBmdW5jdGlvbikKLXsKLSAgICBpZiAoIW1faXNBY3RpdmUpCi0gICAgICAgIHJldHVybjsK
LQotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgTG9ja0hvbGRlciBsb2NrZXIo
bV9yZW5kZXJRdWV1ZU11dGV4KTsKLSAgICBtX3JlbmRlclF1ZXVlLmFwcGVuZChXVEZNb3ZlKGZ1
bmN0aW9uKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3RpdmUo
Ym9vbCBhY3RpdmUpCiB7Ci0gICAgaWYgKCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKG1faXNBY3RpdmUgPT0gYWN0aXZlKQorICAgIGlmICghbV9jbGllbnQgfHwgbV9pc0Fj
dGl2ZSA9PSBhY3RpdmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8vIEhhdmUgdG8gY2xlYXIg
cmVuZGVyIHF1ZXVlIGluIGJvdGggY2FzZXMuCi0gICAgLy8gSWYgdGhlcmUgYXJlIHNvbWUgdXBk
YXRlcyBpbiBxdWV1ZSBkdXJpbmcgYWN0aXZhdGlvbiB0aGVuIHRob3NlIHVwZGF0ZXMgYXJlIGZy
b20gcHJldmlvdXMgaW5zdGFuY2Ugb2YgcGFpbnQgbm9kZQotICAgIC8vIGFuZCBjYW5ub3QgYmUg
YXBwbGllZCB0byB0aGUgbmV3bHkgY3JlYXRlZCBpbnN0YW5jZS4KLSAgICBtX3JlbmRlclF1ZXVl
LmNsZWFyKCk7CiAgICAgbV9pc0FjdGl2ZSA9IGFjdGl2ZTsKICAgICBpZiAobV9pc0FjdGl2ZSkK
ICAgICAgICAgcmVuZGVyTmV4dEZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuaAppbmRleCA2NjUzYjEwYjM2MDUxY2Q2YmZiNzI4NmQ1YTlhZGM5NWNlODVmMWIwLi40
YjFmMDQ2MDBhNDE2YzRhNTEyNzc5MTNiNGIzZDRjMjcwNjRjNmU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTY4LDkgKzY4LDEwIEBAIGNsYXNzIENvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDb29yZGluYXRl
ZEdyYXBoaWNzCiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSgpOworCisgICAgdm9pZCBhcHBseVN0YXRlQ2hhbmdlcyhjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlPiYpOwogICAgIHZvaWQgcGFp
bnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgm
LCBmbG9hdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Q29sb3Im
IGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0JhY2tncm91bmQsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmLCBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzID0gMCk7CiAgICAg
dm9pZCBkZXRhY2goKTsKLSAgICB2b2lkIGFwcGVuZFVwZGF0ZShGdW5jdGlvbjx2b2lkKCk+JiYp
OwogCiAgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiBmaW5kU2Nyb2xsYWJsZUNvbnRl
bnRzTGF5ZXJBdChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAKQEAgLTEyNCw3ICsxMjUs
NiBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZ2V0TGF5ZXJC
eUlESWZFeGlzdHMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklEKTsKICAgICBXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyTGF5ZXIqIHJvb3RMYXllcigpIHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgp
OyB9CiAKLSAgICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgdm9pZCBhZGp1c3RQb3Np
dGlvbkZvckZpeGVkTGF5ZXJzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGNvbnRlbnRQb3Np
dGlvbik7CiAKICAgICB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4m
Jik7CkBAIC0xNDksMTAgKzE0OSw2IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGV4dHVyZU1h
cHBlckdMKiB0ZXhtYXBHTCgpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICAvLyBSZW5kZXIgcXVl
dWUgY2FuIGJlIGFjY2Vzc2VkIG9ueSBmcm9tIG1haW4gdGhyZWFkIG9yIHVwZGF0ZVBhaW50Tm9k
ZSBjYWxsIHN0YWNrIQotICAgIFZlY3RvcjxGdW5jdGlvbjx2b2lkKCk+PiBtX3JlbmRlclF1ZXVl
OwotICAgIExvY2sgbV9yZW5kZXJRdWV1ZU11dGV4OwotCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OlRleHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1hcHBlcjsKIAogICAgIEhhc2hNYXA8V2Vi
Q29yZTo6Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVmUHRyPENvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlPj4gbV9pbWFnZUJhY2tpbmdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3Np
dG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFk
ZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKaW5kZXggYTY0MzU1ZDk3YzUyN2Vi
YTAxNjU2NWE4YTk0ZDgwN2YzM2ExMGVkYi4uM2MwOTBlMWNkMmZlMzkzNzQzMTMzYzYwMmMwY2Yz
NjQwNmQ0ZDQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgdm9pZCBUaHJlYWRl
ZENvbXBvc2l0b3I6OnJlbmRlckxheWVyVHJlZSgpCiAgICAgZmxvYXQgc2NhbGVGYWN0b3I7CiAg
ICAgYm9vbCBkcmF3c0JhY2tncm91bmQ7CiAgICAgYm9vbCBuZWVkc1Jlc2l6ZTsKKyAgICBWZWN0
b3I8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlPiBzdGF0ZXM7CisgICAgVmVjdG9y
PHVpbnQzMl90PiBhdGxhc2VzVG9SZW1vdmU7CisKICAgICB7CiAgICAgICAgIExvY2tIb2xkZXIg
bG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKICAgICAgICAgdmlld3BvcnRTaXplID0gbV9hdHRy
aWJ1dGVzLnZpZXdwb3J0U2l6ZTsKQEAgLTIxNiw2ICsyMTksMjUgQEAgdm9pZCBUaHJlYWRlZENv
bXBvc2l0b3I6OnJlbmRlckxheWVyVHJlZSgpCiAgICAgICAgIGRyYXdzQmFja2dyb3VuZCA9IG1f
YXR0cmlidXRlcy5kcmF3c0JhY2tncm91bmQ7CiAgICAgICAgIG5lZWRzUmVzaXplID0gbV9hdHRy
aWJ1dGVzLm5lZWRzUmVzaXplOwogCisgICAgICAgIHN0YXRlcyA9IFdURk1vdmUobV9hdHRyaWJ1
dGVzLnN0YXRlcyk7CisgICAgICAgIGF0bGFzZXNUb1JlbW92ZSA9IFdURk1vdmUobV9hdHRyaWJ1
dGVzLmF0bGFzZXNUb1JlbW92ZSk7CisKKyAgICAgICAgaWYgKCFzdGF0ZXMuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICAvLyBDbGllbnQgaGFzIHRvIGJlIG5vdGlmaWVkIHVwb24gZmluaXNoaW5n
IHRoaXMgc2NlbmUgdXBkYXRlLgorICAgICAgICAgICAgbV9hdHRyaWJ1dGVzLmNsaWVudFJlbmRl
cnNOZXh0RnJhbWUgPSB0cnVlOworCisgICAgICAgICAgICAvLyBDb29yZGluYXRlIHNjZW5lIHVw
ZGF0ZSBjb21wbGV0aW9uIHdpdGggdGhlIGNsaWVudCBpbiBjYXNlIG9mIGNoYW5nZWQgb3IgdXBk
YXRlZCBwbGF0Zm9ybSBsYXllcnMuCisgICAgICAgICAgICAvLyBCdXQgZG8gbm90IGNoYW5nZSBj
b29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGllbnQgd2hpbGUgaW4gZm9yY2UgcmVwYWlu
dCBiZWNhdXNlIHRoYXQKKyAgICAgICAgICAgIC8vIGRlbWFuZHMgaW1tZWRpYXRlIHNjZW5lIHVw
ZGF0ZSBjb21wbGV0aW9uIHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0gbGF5ZXJzLgorICAgICAgICAg
ICAgaWYgKCFtX2luRm9yY2VSZXBhaW50KSB7CisgICAgICAgICAgICAgICAgYm9vbCBjb29yZGlu
YXRlVXBkYXRlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBzdGF0ZSA6IHN0
YXRlcykKKyAgICAgICAgICAgICAgICAgICAgY29vcmRpbmF0ZVVwZGF0ZSB8PSBzdGQ6OmFueV9v
ZihzdGF0ZS5sYXllcnNUb1VwZGF0ZS5iZWdpbigpLCBzdGF0ZS5sYXllcnNUb1VwZGF0ZS5lbmQo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFtdKGF1dG8mIGl0KSB7IHJldHVybiBpdC5zZWNv
bmQucGxhdGZvcm1MYXllckNoYW5nZWQgfHwgaXQuc2Vjb25kLnBsYXRmb3JtTGF5ZXJVcGRhdGVk
OyB9KTsKKyAgICAgICAgICAgICAgICBtX2F0dHJpYnV0ZXMuY29vcmRpbmF0ZVVwZGF0ZUNvbXBs
ZXRpb25XaXRoQ2xpZW50ID0gY29vcmRpbmF0ZVVwZGF0ZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorCiAgICAgICAgIC8vIFJlc2V0IHRoZSBuZWVkc1Jlc2l6ZSBhdHRyaWJ1dGUgdG8gZmFs
c2UuCiAgICAgICAgIG1fYXR0cmlidXRlcy5uZWVkc1Jlc2l6ZSA9IGZhbHNlOwogICAgIH0KQEAg
LTIzMiw2ICsyNTQsOCBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVuZGVyTGF5ZXJUcmVl
KCkKICAgICAgICAgZ2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKICAgICB9CiAKKyAgICBt
X3NjZW5lLT5hcHBseVN0YXRlQ2hhbmdlcyhzdGF0ZXMpOworICAgIG1fc2NlbmUtPnJlbGVhc2VV
cGRhdGVBdGxhc2VzKGF0bGFzZXNUb1JlbW92ZSk7CiAgICAgbV9zY2VuZS0+cGFpbnRUb0N1cnJl
bnRHTENvbnRleHQodmlld3BvcnRUcmFuc2Zvcm0sIDEsIEZsb2F0UmVjdCB7IEZsb2F0UG9pbnQg
eyB9LCB2aWV3cG9ydFNpemUgfSwKICAgICAgICAgQ29sb3I6OnRyYW5zcGFyZW50LCAhZHJhd3NC
YWNrZ3JvdW5kLCBzY3JvbGxQb3NpdGlvbiwgbV9wYWludEZsYWdzKTsKIApAQCAtMjc4LDM0ICsz
MDIsMTUgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnNjZW5lVXBkYXRlRmluaXNoZWQoKQog
CiB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6dXBkYXRlU2NlbmVTdGF0ZShjb25zdCBDb29yZGlu
YXRlZEdyYXBoaWNzU3RhdGUmIHN0YXRlKQogewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7Ci0gICAgbV9zY2VuZS0+YXBwZW5kVXBkYXRlKFt0aGlzLCBzY2VuZSA9IG1ha2VSZWYoKm1f
c2NlbmUpLCBzdGF0ZV0gewotICAgICAgICBzY2VuZS0+Y29tbWl0U2NlbmVTdGF0ZShzdGF0ZSk7
Ci0KLSAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9hdHRyaWJ1dGVzLmxvY2spOwotCi0gICAg
ICAgIC8vIENsaWVudCBoYXMgdG8gYmUgbm90aWZpZWQgdXBvbiBmaW5pc2hpbmcgdGhpcyBzY2Vu
ZSB1cGRhdGUuCi0gICAgICAgIG1fYXR0cmlidXRlcy5jbGllbnRSZW5kZXJzTmV4dEZyYW1lID0g
dHJ1ZTsKLQotICAgICAgICAvLyBDb29yZGluYXRlIHNjZW5lIHVwZGF0ZSBjb21wbGV0aW9uIHdp
dGggdGhlIGNsaWVudCBpbiBjYXNlIG9mIGNoYW5nZWQgb3IgdXBkYXRlZCBwbGF0Zm9ybSBsYXll
cnMuCi0gICAgICAgIC8vIERvIG5vdCBjaGFuZ2UgbV9jb29yZGluYXRlVXBkYXRlQ29tcGxldGlv
bldpdGhDbGllbnQgd2hpbGUgaW4gZm9yY2UgcmVwYWludC4KLSAgICAgICAgYm9vbCBjb29yZGlu
YXRlVXBkYXRlID0gIW1faW5Gb3JjZVJlcGFpbnQgJiYgc3RkOjphbnlfb2Yoc3RhdGUubGF5ZXJz
VG9VcGRhdGUuYmVnaW4oKSwgc3RhdGUubGF5ZXJzVG9VcGRhdGUuZW5kKCksCi0gICAgICAgICAg
ICBbXShjb25zdCBzdGQ6OnBhaXI8Q29vcmRpbmF0ZWRMYXllcklELCBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXJTdGF0ZT4mIGl0KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGl0LnNlY29uZC5w
bGF0Zm9ybUxheWVyQ2hhbmdlZCB8fCBpdC5zZWNvbmQucGxhdGZvcm1MYXllclVwZGF0ZWQ7Ci0g
ICAgICAgICAgICB9KTsKLQotICAgICAgICBtX2F0dHJpYnV0ZXMuY29vcmRpbmF0ZVVwZGF0ZUNv
bXBsZXRpb25XaXRoQ2xpZW50IHw9IGNvb3JkaW5hdGVVcGRhdGU7Ci0gICAgfSk7Ci0KKyAgICBM
b2NrSG9sZGVyIGxvY2tlcihtX2F0dHJpYnV0ZXMubG9jayk7CisgICAgbV9hdHRyaWJ1dGVzLnN0
YXRlcy5hcHBlbmQoc3RhdGUpOwogICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zY2hlZHVsZVVw
ZGF0ZSgpOwogfQogCi12b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6cmVsZWFzZVVwZGF0ZUF0bGFz
ZXMoVmVjdG9yPHVpbnQzMl90PiYmIGF0bGFzZXNUb1JlbW92ZSkKK3ZvaWQgVGhyZWFkZWRDb21w
b3NpdG9yOjpyZWxlYXNlVXBkYXRlQXRsYXNlcyhjb25zdCBWZWN0b3I8dWludDMyX3Q+JiBhdGxh
c2VzVG9SZW1vdmUpCiB7Ci0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBtX3Nj
ZW5lLT5hcHBlbmRVcGRhdGUoW3NjZW5lID0gbWFrZVJlZigqbV9zY2VuZSksIGF0bGFzZXNUb1Jl
bW92ZSA9IFdURk1vdmUoYXRsYXNlc1RvUmVtb3ZlKV0gewotICAgICAgICBzY2VuZS0+cmVsZWFz
ZVVwZGF0ZUF0bGFzZXMoYXRsYXNlc1RvUmVtb3ZlKTsKLSAgICB9KTsKKyAgICBMb2NrSG9sZGVy
IGxvY2tlcihtX2F0dHJpYnV0ZXMubG9jayk7CisgICAgbV9hdHRyaWJ1dGVzLmF0bGFzZXNUb1Jl
bW92ZS5hcHBlbmRWZWN0b3IoYXRsYXNlc1RvUmVtb3ZlKTsKICAgICBtX2NvbXBvc2l0aW5nUnVu
TG9vcC0+c2NoZWR1bGVVcGRhdGUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21w
b3NpdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVh
ZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaAppbmRleCBlNjEwMGY4NzY4Y2IwZjZm
ZTBiZmMwZWE1Y2Y4M2U2MjY0ZTQ0NTUyLi5lZTA5ZGE0MzBiNTJlMzA4Mzk3OWE5YWQxMzEzYmQy
YTQwYmRmZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9U
aHJlYWRlZENvbXBvc2l0b3IuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ29tcG9z
aXRpbmdSdW5Mb29wLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRlZEdyYXBoaWNzU3RhdGUuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0dMQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvVGV4dHVyZU1hcHBlci5oPgpAQCAtNDEsMTAgKzQyLDYgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oPgogI2VuZGlmCiAKLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLXN0cnVjdCBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU7Ci19Ci0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU7CkBAIC04MCw3ICs3
Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERyYXdzQmFja2dyb3VuZChib29sKTsKIAogICAg
IHZvaWQgdXBkYXRlU2NlbmVTdGF0ZShjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNz
U3RhdGUmKTsKLSAgICB2b2lkIHJlbGVhc2VVcGRhdGVBdGxhc2VzKFZlY3Rvcjx1aW50MzJfdD4m
Jik7CisgICAgdm9pZCByZWxlYXNlVXBkYXRlQXRsYXNlcyhjb25zdCBWZWN0b3I8dWludDMyX3Q+
Jik7CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIApAQCAtMTI2LDYgKzEyMyw5IEBAIHByaXZh
dGU6CiAgICAgICAgIGJvb2wgZHJhd3NCYWNrZ3JvdW5kIHsgdHJ1ZSB9OwogICAgICAgICBib29s
IG5lZWRzUmVzaXplIHsgZmFsc2UgfTsKIAorICAgICAgICBWZWN0b3I8V2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlPiBzdGF0ZXM7CisgICAgICAgIFZlY3Rvcjx1aW50MzJfdD4gYXRs
YXNlc1RvUmVtb3ZlOworCiAgICAgICAgIGJvb2wgY2xpZW50UmVuZGVyc05leHRGcmFtZSB7IGZh
bHNlIH07CiAgICAgICAgIGJvb2wgY29vcmRpbmF0ZVVwZGF0ZUNvbXBsZXRpb25XaXRoQ2xpZW50
IHsgZmFsc2UgfTsKICAgICB9IG1fYXR0cmlidXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDFjZTczZmNkYjFlMmZk
ZmFhYWM2ZjExZDY5NDBjN2E4YjQ1NWUxMDIuLjAyMjhhMDk1MzBhZWQzMDQ3ZWFkMWIwNWM4ZDcx
MzU5YzBkOTQwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3Np
dGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTM4LDcgKzEzOCw4IEBAIGJvb2wgQ29tcG9zaXRpbmdD
b29yZGluYXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKICAgICAgICAgbV9jbGllbnQu
Y29tbWl0U2NlbmVTdGF0ZShtX3N0YXRlKTsKIAogICAgICAgICBpZiAoIW1fYXRsYXNlc1RvUmVt
b3ZlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fY2xpZW50LnJlbGVhc2VVcGRhdGVBdGxhc2Vz
KFdURk1vdmUobV9hdGxhc2VzVG9SZW1vdmUpKTsKKyAgICAgICAgICAgIG1fY2xpZW50LnJlbGVh
c2VVcGRhdGVBdGxhc2VzKG1fYXRsYXNlc1RvUmVtb3ZlKTsKKyAgICAgICAgbV9hdGxhc2VzVG9S
ZW1vdmUuY2xlYXIoKTsKIAogICAgICAgICBjbGVhclBlbmRpbmdTdGF0ZUNoYW5nZXMoKTsKICAg
ICAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSBmYWxzZTsKQEAgLTQ0Miw3ICs0NDMsOCBAQCB2b2lk
IENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VBdGxhc2VzKFJlbGVhc2VBdGxhc1BvbGlj
eSBwb2xpY3kpCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLnN0b3AoKTsK
IAogICAgIGlmICghbV9hdGxhc2VzVG9SZW1vdmUuaXNFbXB0eSgpKQotICAgICAgICBtX2NsaWVu
dC5yZWxlYXNlVXBkYXRlQXRsYXNlcyhXVEZNb3ZlKG1fYXRsYXNlc1RvUmVtb3ZlKSk7CisgICAg
ICAgIG1fY2xpZW50LnJlbGVhc2VVcGRhdGVBdGxhc2VzKG1fYXRsYXNlc1RvUmVtb3ZlKTsKKyAg
ICBtX2F0bGFzZXNUb1JlbW92ZS5jbGVhcigpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OmNsZWFyVXBkYXRlQXRsYXNlcygpCkBAIC00NTQsNyArNDU2LDggQEAgdm9pZCBDb21w
b3NpdGluZ0Nvb3JkaW5hdG9yOjpjbGVhclVwZGF0ZUF0bGFzZXMoKQogICAgIG1fdXBkYXRlQXRs
YXNlcy5jbGVhcigpOwogCiAgICAgaWYgKCFtX2F0bGFzZXNUb1JlbW92ZS5pc0VtcHR5KCkpCi0g
ICAgICAgIG1fY2xpZW50LnJlbGVhc2VVcGRhdGVBdGxhc2VzKFdURk1vdmUobV9hdGxhc2VzVG9S
ZW1vdmUpKTsKKyAgICAgICAgbV9jbGllbnQucmVsZWFzZVVwZGF0ZUF0bGFzZXMobV9hdGxhc2Vz
VG9SZW1vdmUpOworICAgIG1fYXRsYXNlc1RvUmVtb3ZlLmNsZWFyKCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuaAppbmRleCBmYjI3NTYzMWNmZjIwZjk5M2Y0MTMxMmM5Yjk4MDNmZmRkYjcw
NzQyLi4yZDk2ZDBhOWMwZTMxZGI0OGQyYmI4MTA0NjMwMWY2NGU4NDE1ZjE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaApAQCAtNjAs
NyArNjAsNyBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGbHVzaFJlcXVp
cmVkKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2NlbmVTdGF0ZShjb25zdCBX
ZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBwYWludExheWVyQ29udGVudHMoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0
KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlVXBkYXRlQXRsYXNlcyhWZWN0b3I8
dWludDMyX3Q+JiYpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlbGVhc2VVcGRhdGVBdGxh
c2VzKGNvbnN0IFZlY3Rvcjx1aW50MzJfdD4mKSA9IDA7CiAgICAgfTsKIAogICAgIENvbXBvc2l0
aW5nQ29vcmRpbmF0b3IoV2ViQ29yZTo6UGFnZSosIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OkNs
aWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmgKaW5kZXggNzRiYjVkMzU5YmYyM2ZiY2U2OTYzZDRmYmRkYzlhMDJjM2RlYWQx
Ni4uYWE1MWNhYzcyZWRhOTIyNmUxYWZhY2RiN2I2NGFhMzkwODg3NjM2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBAIC03
NSw3ICs3NSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoKSBv
dmVycmlkZSB7IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOyB9OwogICAgIHZvaWQgY29tbWl0U2NlbmVT
dGF0ZShjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHBhaW50TGF5ZXJDb250ZW50cyhjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
KiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xp
cFJlY3QpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVsZWFzZVVwZGF0ZUF0bGFzZXMoVmVjdG9yPHVp
bnQzMl90PiYmKSBvdmVycmlkZSB7IH07CisgICAgdm9pZCByZWxlYXNlVXBkYXRlQXRsYXNlcyhj
b25zdCBWZWN0b3I8dWludDMyX3Q+Jikgb3ZlcnJpZGUgeyB9OwogCiBwcml2YXRlOgogICAgIHZv
aWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExh
eWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXgg
N2JlZDM5YTE1ZDdhMzY4ZTNmYjFjMGM5NTkzNzQzMzMxMDlmNTFkZC4uNmYxOTlhNWY5Yzk1MzE3
MDg5NjNkY2JlNmY5MTg2NTNlYjM1YWMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAg
LTI0OSw5ICsyNDksOSBAQCB2b2lkIFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpj
b21taXRTY2VuZVN0YXRlKGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpYwogICAgIG1fY29tcG9zaXRv
ci0+dXBkYXRlU2NlbmVTdGF0ZShzdGF0ZSk7CiB9CiAKLXZvaWQgVGhyZWFkZWRDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OnJlbGVhc2VVcGRhdGVBdGxhc2VzKFZlY3Rvcjx1aW50MzJfdD4mJiBh
dGxhc2VzVG9SZW1vdmUpCit2b2lkIFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpy
ZWxlYXNlVXBkYXRlQXRsYXNlcyhjb25zdCBWZWN0b3I8dWludDMyX3Q+JiBhdGxhc2VzVG9SZW1v
dmUpCiB7Ci0gICAgbV9jb21wb3NpdG9yLT5yZWxlYXNlVXBkYXRlQXRsYXNlcyhXVEZNb3ZlKGF0
bGFzZXNUb1JlbW92ZSkpOworICAgIG1fY29tcG9zaXRvci0+cmVsZWFzZVVwZGF0ZUF0bGFzZXMo
YXRsYXNlc1RvUmVtb3ZlKTsKIH0KIAogdm9pZCBUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdDo6c2V0SXNEaXNjYXJkYWJsZShib29sIGRpc2NhcmRhYmxlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRl
ZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5oCmluZGV4IDkzZGViZGNmOGI2MjE2NjIwNzRiMTQ0MzQxMWJlNmM0ZGUzZGNmY2MuLjJmMmJj
NDZkZGI4ZDVlZDEyZjljNDQ0ODkxODc3NjFlNmM4YjdlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmgKQEAgLTExOCw3ICsxMTgsNyBAQCBwcml2YXRlOgogICAgIC8vIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OkNsaWVudAogICAgIHZvaWQgZGlkRmx1c2hSb290TGF5ZXIoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0Jikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBjb21taXRTY2VuZVN0YXRlKGNvbnN0
IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYpIG92ZXJyaWRlOwotICAgIHZvaWQg
cmVsZWFzZVVwZGF0ZUF0bGFzZXMoVmVjdG9yPHVpbnQzMl90PiYmKSBvdmVycmlkZTsKKyAgICB2
b2lkIHJlbGVhc2VVcGRhdGVBdGxhc2VzKGNvbnN0IFZlY3Rvcjx1aW50MzJfdD4mKSBvdmVycmlk
ZTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAg
ICAgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJl
ZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>