<?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>154254</bug_id>
          
          <creation_ts>2016-02-15 13:31:32 -0800</creation_ts>
          <short_desc>Add mechanism to disable memory pressure handling</short_desc>
          <delta_ts>2018-06-15 09:37:21 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186663</see_also>
          <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="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164869</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-02-15 13:31:32 -0800</bug_when>
    <thetext>For debugging purposes, it would be handy to disable this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164884</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-15 13:58:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/24662616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164885</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-15 13:58:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/24662620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165628</commentid>
    <comment_count>3</comment_count>
      <attachid>271566</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-02-17 10:56:34 -0800</bug_when>
    <thetext>Created attachment 271566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165660</commentid>
    <comment_count>4</comment_count>
      <attachid>271566</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 12:02:43 -0800</bug_when>
    <thetext>Comment on attachment 271566
Patch

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

So this impacts the freeing of memory when the process gets suspended as well. Is it intentional? This is not technically memory pressure even though we use more or less the same code for both cases.

&gt; Source/WebKit/mac/ChangeLog:23
&gt; +        In actuality, only the WebContent and Network processes heed the flag.

How about the UIProcess? See for example on iOS:
/Volumes/Data/WebKit/OpenSource/Source/WebKit2/UIProcess/ios/WebMemoryPressureHandlerIOS.mm

It does not seem to be impacted by your patch but it probably should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165670</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 12:20:35 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 271566 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271566&amp;action=review
&gt; 
&gt; So this impacts the freeing of memory when the process gets suspended as
&gt; well. Is it intentional? This is not technically memory pressure even though
&gt; we use more or less the same code for both cases.
&gt; 

Apparently it is alright. But then, we also want to do it in the WebProcess suspension case as well: see MemoryPressureHandler::singleton().releaseMemory(Critical::Yes, Synchronous::Yes); calls in WebProcess.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166164</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-02-18 13:45:43 -0800</bug_when>
    <thetext>&gt; How about the UIProcess? See for example on iOS:
&gt; /Volumes/Data/WebKit/OpenSource/Source/WebKit2/UIProcess/ios/WebMemoryPressureHandlerIOS.mm

I&apos;ve added a check in that function and updated the check-in comment.

&gt;&gt; So this impacts the freeing of memory when the process gets suspended as
&gt;&gt; well. Is it intentional? This is not technically memory pressure even though
&gt;&gt; we use more or less the same code for both cases.

&gt; Apparently it is alright. But then, we also want to do it in the WebProcess
&gt; suspension case as well: see
&gt; MemoryPressureHandler::singleton().releaseMemory(Critical::Yes, Synchronous::Yes); calls in WebProcess.cpp.

I&apos;ve added a check here, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166166</commentid>
    <comment_count>7</comment_count>
      <attachid>271688</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-02-18 13:47:25 -0800</bug_when>
    <thetext>Created attachment 271688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167055</commentid>
    <comment_count>8</comment_count>
      <attachid>271688</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-22 09:43:59 -0800</bug_when>
    <thetext>Comment on attachment 271688
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167076</commentid>
    <comment_count>9</comment_count>
      <attachid>271688</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 10:30:59 -0800</bug_when>
    <thetext>Comment on attachment 271688
Patch

Clearing flags on attachment: 271688

Committed r196943: &lt;http://trac.webkit.org/changeset/196943&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167077</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 10:31:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271566</attachid>
            <date>2016-02-17 10:56:34 -0800</date>
            <delta_ts>2016-02-18 13:47:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154254-20160217105614.patch</filename>
            <type>text/plain</type>
            <size>17802</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggODFlNzczNzBk
ZGM1ODM0YTIzNjNjMTAxOWRkMGMyMDZmOTc2NTk0ZS4uOTkxNTg2YmJiZDc3NTExYTVjYzJlMDU3
YzBjMmE5OThmMjE5MTlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE2
LTAyLTE3ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
bWVjaGFuaXNtIHRvIGRpc2FibGUgbWVtb3J5IHByZXNzdXJlIGhhbmRsaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQyNTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI0NjYyNjE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSB0byBkaXNhYmxlIFdlYktpdCdzIHJlc3Bv
bnNlIHRvIG1lbW9yeSBwcmVzc3VyZQorICAgICAgICB0cmlnZ2Vycy4gVGhpcyB3YXMgYXNrZWQg
Zm9yIGJ5IGFub3RoZXIgZ3JvdXAgZm9yIHRlc3RpbmcgcHVycG9zZXMuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gZGlzYWJsZSBXZWJLaXQncyBtZW1vcnkgcHJlc3N1cmUgaGFuZGxpbmcsIGV4ZWN1
dGUgdGhlCisgICAgICAgIGZvbGxvd2luZyBmcm9tIHRoZSBjb21tYW5kIGxpbmU6CisKKyAgICAg
ICAgICAgIGRlZmF1bHRzIHdyaXRlIGNvbS5hcHBsZS5TYWZhcmkgV2ViS2l0U3VwcHJlc3NNZW1v
cnlQcmVzc3VyZUhhbmRsZXIgLWJvb2wgdHJ1ZQorCisgICAgICAgIFRvIHJldmVydCB0byBzdGFu
ZGFyZCBiZWhhdmlvciwgZGVsZXRlIHRoZSBrZXkgb3Igc2V0IGl0IHRvIEZhbHNlLgorCisgICAg
ICAgIFRoaXMgZmxhZyBpcyB1c2VkIHdoZW4gYSBuZXcgc3ViLXByb2Nlc3MgaXMgYmVpbmcgc3Bh
d25lZC4gVGhlIHZhbHVlCisgICAgICAgIGlzIHJlYWQgYW5kIHN0b3JlZCBpbiBhbiBpbml0aWFs
aXphdGlvbiBwYXJhbWV0ZXIgYmxvY2ssIHdoaWNoIGlzIHRoZW4KKyAgICAgICAgc2VudCB0byB0
aGUgbmV3IHN1Yi1wcm9jZXNzLgorCisgICAgICAgIEluIGFjdHVhbGl0eSwgb25seSB0aGUgV2Vi
Q29udGVudCBhbmQgTmV0d29yayBwcm9jZXNzZXMgaGVlZCB0aGUgZmxhZy4KKyAgICAgICAgVGhl
IFBsdWdpbiBwcm9jZXNzIGlzbid0IGluc3RydW1lbnRlZCB0byBoZWVkIHRoaXMgZmxhZyBmb3Ig
dGhyZWUKKyAgICAgICAgcmVhc29ucy4gRmlyc3QsIHRoZSBQbHVnaW4gcHJvY2VzcyBpbnN0YWxs
cyBpdHMgbWVtb3J5IHByZXNzdXJlCisgICAgICAgIGhhbmRsZXIgaW4gaW5pdGlhbGl6ZVByb2Nl
c3MsIG5vdCBpbml0aWFsaXplUGx1Z2luUHJvY2Vzcy4gVGhpcyBpcworICAgICAgICBjb250cmFy
eSB0byB3aGVuIHRoZSBvdGhlciBwcm9jZXNzZXMgaW5zdGFsbCB0aGVpciBoYW5kbGVycywgd2hp
Y2ggaXMKKyAgICAgICAgaW4gaW5pdGlhbGl6ZTxQbHVnaW5UeXBlPlByb2Nlc3MsIG5vdCBpbml0
aWFsaXplUHJvY2Vzcy4gU28gaW4gb3JkZXIKKyAgICAgICAgdG8gYWNjb21vZGF0ZSB0aGUgUGx1
Z2luIHByb2Nlc3MsIHdlJ2QgbmVlZCB0byBtb2RpZnkKKyAgICAgICAgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzLiBEb2luZyB0aGlzIGlzIGF3a3dhcmQgYXQgYmVzdCwKKyAg
ICAgICAgYnV0IGFsc28gc2VlbXMgdG8gYmUgb3Bwb3NlZCB0byB3aGF0J3Mgc3VwcG9zZWQgdG8g
YmUgZG9uZSBpbgorICAgICAgICBpbml0aWFsaXplUHJvY2VzcyBhbmQgY29udmV5ZWQgaW4KKyAg
ICAgICAgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLiBBbmQgZXZlbiBpZiB3
ZSBkaWQgYWRkIGEgYm9vbGVhbgorICAgICAgICB0byB0aGlzIHN0cnVjdHVyZSBhbmQgYWRkZWQg
c3VwcG9ydCBmb3IgY29udmV5aW5nIGl0IHRocm91Z2ggdGhlIFhQQworICAgICAgICBwb3J0LCBp
dCB3b3VsZCBlbmQgdXAgYmVpbmcgYSBQbHVnaW4gcHJvY2Vzcy1vbmx5IGJvb2xlYW4gaW4gYSBn
ZW5lcmFsCisgICAgICAgIHBhcmFtZXRlciBibG9jaywgd2hpY2ggc2VlbXMgYXN5bW1ldHJpYyB3
aXRoIHRoZSBvdGhlciBwcm9jZXNzZXMuCisgICAgICAgIFNlY29uZCwgdGhlcmUncyBubyBjb252
ZW5pZW50IENvY29hIGZ1bmN0aW9uIGNhbGxlZCBpbiB0aGUgZmxvdyB0aGF0CisgICAgICAgIHNw
YXducyB0aGUgUGx1Z2luIHByb2Nlc3MsIG1lYW5pbmcgdGhhdCB0aGVyZSdzIG5vIGNvbnZlbmll
bnQgcGxhY2UgdG8KKyAgICAgICAgY2FsbCBOU1VzZXJEZWZhdWx0cyB0byBnZXQgdGhlIGZsYWcn
cyB2YWx1ZS4gQW5kIHRoaXJkLCB0aGUgUGx1Z2luCisgICAgICAgIHByb2Nlc3MgZG9lc24ndCBl
bGVnYW50bHkgcmVzcG9uZCB0byB0aGUgbWVtb3J5IHByZXNzdXJlIHRyaWdnZXIKKyAgICAgICAg
YW55d2F5LiBJdCBtaWdodCB0ZXJtaW5hdGUgaXRzZWxmLCBidXQgdGhhdCdzIGl0LiBBcyBmb3Ig
dGhlIERhdGFiYXNlCisgICAgICAgIHByb2Nlc3MsIGl0IGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0
IHJlc3BvbmRpbmcgdG8gbWVtb3J5IHByZXNzdXJlIGF0CisgICAgICAgIGFsbCwgc28gd2UgZG9u
J3Qgc2VuZCBpdCBhIGZsYWcgdGVsbGluZyBpdCB0byBpZ25vcmUgaXQuCisKKyAgICAgICAgSW50
ZXJuYWxseSwgdGhlIG1lbW9yeSBwcmVzc3VyZSBoYW5kbGVyIGlzIHN1cHByZXNzZWQgYnkgbm90
IGNhbGxpbmcKKyAgICAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkgaWYgdGhl
IGZsYWcgaXMgc2V0LiBJbiB0aGUgY2FzZSBvZgorICAgICAgICB0aGUgTmV0d29yayBwcm9jZXNz
LCB0aGUgZmxhZyBpcyBzYXZlZCBzbyB0aGF0IGl0IGNhbiBiZSBjaGVja2VkIGxhdGVyCisgICAg
ICAgIGluIG90aGVyIHBsYWNlcyB0aGF0IG1hbnVhbGx5IGtpY2sgb2ZmIHRoZSBtZW1vcnkgcHJl
c3N1cmUgaGFuZGxpbmcKKyAgICAgICAgcHJvY2VkdXJlLgorCisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoV2ViSW5zdGFsbE1lbW9yeVByZXNzdXJl
SGFuZGxlcik6CisKIDIwMTYtMDItMTMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCB0aHJlYWQgdmlvbGF0aW9uIGNoZWNrcyB0byBXZWJWaWV3IHB1YmxpYyBB
UElzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGIzMjY0MjQ4MmI4YjBmZjllZmYwMTgxMzAwNDEzOGZkNjQ4NDk2
OTEuLjI2ZTM2YjM4MGYzMGFmNjdiNTY3ODMyOWM5MTYxOGUwNzJkZjJmZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3MSBAQAorMjAxNi0wMi0xNyAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIG1lY2hhbmlzbSB0byBkaXNhYmxlIG1lbW9yeSBwcmVzc3Vy
ZSBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU0MjU0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDY2MjYxNj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBtZWNoYW5pc20gdG8g
ZGlzYWJsZSBXZWJLaXQncyByZXNwb25zZSB0byBtZW1vcnkgcHJlc3N1cmUKKyAgICAgICAgdHJp
Z2dlcnMuIFRoaXMgd2FzIGFza2VkIGZvciBieSBhbm90aGVyIGdyb3VwIGZvciB0ZXN0aW5nIHB1
cnBvc2VzLgorCisgICAgICAgIEluIG9yZGVyIHRvIGRpc2FibGUgV2ViS2l0J3MgbWVtb3J5IHBy
ZXNzdXJlIGhhbmRsaW5nLCBleGVjdXRlIHRoZQorICAgICAgICBmb2xsb3dpbmcgZnJvbSB0aGUg
Y29tbWFuZCBsaW5lOgorCisgICAgICAgICAgICBkZWZhdWx0cyB3cml0ZSBjb20uYXBwbGUuU2Fm
YXJpIFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIC1ib29sIHRydWUKKworICAg
ICAgICBUbyByZXZlcnQgdG8gc3RhbmRhcmQgYmVoYXZpb3IsIGRlbGV0ZSB0aGUga2V5IG9yIHNl
dCBpdCB0byBGYWxzZS4KKworICAgICAgICBUaGlzIGZsYWcgaXMgdXNlZCB3aGVuIGEgbmV3IHN1
Yi1wcm9jZXNzIGlzIGJlaW5nIHNwYXduZWQuIFRoZSB2YWx1ZQorICAgICAgICBpcyByZWFkIGFu
ZCBzdG9yZWQgaW4gYW4gaW5pdGlhbGl6YXRpb24gcGFyYW1ldGVyIGJsb2NrLCB3aGljaCBpcyB0
aGVuCisgICAgICAgIHNlbnQgdG8gdGhlIG5ldyBzdWItcHJvY2Vzcy4KKworICAgICAgICBJbiBh
Y3R1YWxpdHksIG9ubHkgdGhlIFdlYkNvbnRlbnQgYW5kIE5ldHdvcmsgcHJvY2Vzc2VzIGhlZWQg
dGhlIGZsYWcuCisgICAgICAgIFRoZSBQbHVnaW4gcHJvY2VzcyBpc24ndCBpbnN0cnVtZW50ZWQg
dG8gaGVlZCB0aGlzIGZsYWcgZm9yIHRocmVlCisgICAgICAgIHJlYXNvbnMuIEZpcnN0LCB0aGUg
UGx1Z2luIHByb2Nlc3MgaW5zdGFsbHMgaXRzIG1lbW9yeSBwcmVzc3VyZQorICAgICAgICBoYW5k
bGVyIGluIGluaXRpYWxpemVQcm9jZXNzLCBub3QgaW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MuIFRo
aXMgaXMKKyAgICAgICAgY29udHJhcnkgdG8gd2hlbiB0aGUgb3RoZXIgcHJvY2Vzc2VzIGluc3Rh
bGwgdGhlaXIgaGFuZGxlcnMsIHdoaWNoIGlzCisgICAgICAgIGluIGluaXRpYWxpemU8UGx1Z2lu
VHlwZT5Qcm9jZXNzLCBub3QgaW5pdGlhbGl6ZVByb2Nlc3MuIFNvIGluIG9yZGVyCisgICAgICAg
IHRvIGFjY29tb2RhdGUgdGhlIFBsdWdpbiBwcm9jZXNzLCB3ZSdkIG5lZWQgdG8gbW9kaWZ5Cisg
ICAgICAgIENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycy4gRG9pbmcgdGhpcyBp
cyBhd2t3YXJkIGF0IGJlc3QsCisgICAgICAgIGJ1dCBhbHNvIHNlZW1zIHRvIGJlIG9wcG9zZWQg
dG8gd2hhdCdzIHN1cHBvc2VkIHRvIGJlIGRvbmUgaW4KKyAgICAgICAgaW5pdGlhbGl6ZVByb2Nl
c3MgYW5kIGNvbnZleWVkIGluCisgICAgICAgIENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycy4gQW5kIGV2ZW4gaWYgd2UgZGlkIGFkZCBhIGJvb2xlYW4KKyAgICAgICAgdG8gdGhp
cyBzdHJ1Y3R1cmUgYW5kIGFkZGVkIHN1cHBvcnQgZm9yIGNvbnZleWluZyBpdCB0aHJvdWdoIHRo
ZSBYUEMKKyAgICAgICAgcG9ydCwgaXQgd291bGQgZW5kIHVwIGJlaW5nIGEgUGx1Z2luIHByb2Nl
c3Mtb25seSBib29sZWFuIGluIGEgZ2VuZXJhbAorICAgICAgICBwYXJhbWV0ZXIgYmxvY2ssIHdo
aWNoIHNlZW1zIGFzeW1tZXRyaWMgd2l0aCB0aGUgb3RoZXIgcHJvY2Vzc2VzLgorICAgICAgICBT
ZWNvbmQsIHRoZXJlJ3Mgbm8gY29udmVuaWVudCBDb2NvYSBmdW5jdGlvbiBjYWxsZWQgaW4gdGhl
IGZsb3cgdGhhdAorICAgICAgICBzcGF3bnMgdGhlIFBsdWdpbiBwcm9jZXNzLCBtZWFuaW5nIHRo
YXQgdGhlcmUncyBubyBjb252ZW5pZW50IHBsYWNlIHRvCisgICAgICAgIGNhbGwgTlNVc2VyRGVm
YXVsdHMgdG8gZ2V0IHRoZSBmbGFnJ3MgdmFsdWUuIEFuZCB0aGlyZCwgdGhlIFBsdWdpbgorICAg
ICAgICBwcm9jZXNzIGRvZXNuJ3QgZWxlZ2FudGx5IHJlc3BvbmQgdG8gdGhlIG1lbW9yeSBwcmVz
c3VyZSB0cmlnZ2VyCisgICAgICAgIGFueXdheS4gSXQgbWlnaHQgdGVybWluYXRlIGl0c2VsZiwg
YnV0IHRoYXQncyBpdC4gQXMgZm9yIHRoZSBEYXRhYmFzZQorICAgICAgICBwcm9jZXNzLCBpdCBk
b2Vzbid0IHNlZW0gdG8gc3VwcG9ydCByZXNwb25kaW5nIHRvIG1lbW9yeSBwcmVzc3VyZSBhdAor
ICAgICAgICBhbGwsIHNvIHdlIGRvbid0IHNlbmQgaXQgYSBmbGFnIHRlbGxpbmcgaXQgdG8gaWdu
b3JlIGl0LgorCisgICAgICAgIEludGVybmFsbHksIHRoZSBtZW1vcnkgcHJlc3N1cmUgaGFuZGxl
ciBpcyBzdXBwcmVzc2VkIGJ5IG5vdCBjYWxsaW5nCisgICAgICAgIE1lbW9yeVByZXNzdXJlSGFu
ZGxlcjo6aW5zdGFsbCgpIGlmIHRoZSBmbGFnIGlzIHNldC4gSW4gdGhlIGNhc2Ugb2YKKyAgICAg
ICAgdGhlIE5ldHdvcmsgcHJvY2VzcywgdGhlIGZsYWcgaXMgc2F2ZWQgc28gdGhhdCBpdCBjYW4g
YmUgY2hlY2tlZCBsYXRlcgorICAgICAgICBpbiBvdGhlciBwbGFjZXMgdGhhdCBtYW51YWxseSBr
aWNrIG9mZiB0aGUgbWVtb3J5IHByZXNzdXJlIGhhbmRsaW5nCisgICAgICAgIHByb2NlZHVyZS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6Omxvd01lbW9yeUhhbmRsZXIpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMTYtMDItMTUgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDTWFrZV1bTWFjXSBS
ZW1vdmUgV0tOUEFQSVBsdWdJbkNvbnRhaW5lci5tbSBpbiBXZWJLaXQyL1BsYXRmb3JtTWFjLmNt
YWtlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZDExYzIzYjE5NTU3NmNj
ZWVkM2NiZmRmYjhiYzhiZWIzMGRhZjZmYy4uZDkwNzI0ZjIzNDc0Yzc2OWYzMWI5N2E1MWY0NTJh
MzJlZWQzMzBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTA4MCw3
ICsxMDgwLDggQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihO
U1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICBfcHJpdmF0ZS0+cGFnZS0+
c2V0dGluZ3MoKS5zZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHModHJ1ZSk7CiAjZW5k
aWYKIAotICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaW5zdGFsbCgpOwor
ICAgIGlmICghW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktl
eTpAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIl0pCisgICAgICAgIE1lbW9y
eVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaW5zdGFsbCgpOwogCiAgICAgaWYgKCFXZWJL
aXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9MT0NBTF9SRVNPVVJD
RV9TRUNVUklUWV9SRVNUUklDVElPTikpIHsKICAgICAgICAgLy8gT3JpZ2luYWxseSwgd2UgYWxs
b3dlZCBhbGwgbG9jYWwgbG9hZHMuCkBAIC04OTE5LDUgKzg5MjAsNiBAQCBAZW5kCiAKIHZvaWQg
V2ViSW5zdGFsbE1lbW9yeVByZXNzdXJlSGFuZGxlcih2b2lkKQogewotICAgIE1lbW9yeVByZXNz
dXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaW5zdGFsbCgpOworICAgIGlmICghW1tOU1VzZXJEZWZh
dWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIldlYktpdFN1cHByZXNzTWVt
b3J5UHJlc3N1cmVIYW5kbGVyIl0pCisgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2lu
Z2xldG9uKCkuaW5zdGFsbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDJmNWE5YWNiZDQ2OGVlMmFkZmJiMDBjYjg3YTcw
NTViMmI4YWE5MDMuLjg1NzY3NTIyNTlmNzA5NjdlOTQ5Yzc2ZTdmZGM3YjFlNGJhNjA3MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
QEAgLTE3NSw2ICsxNzUsOSBAQCBBdXRoZW50aWNhdGlvbk1hbmFnZXImIE5ldHdvcmtQcm9jZXNz
Ojpkb3dubG9hZHNBdXRoZW50aWNhdGlvbk1hbmFnZXIoKQogCiB2b2lkIE5ldHdvcmtQcm9jZXNz
Ojpsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2FsKQogeworICAgIGlmIChtX3N1cHBy
ZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyKQorICAgICAgICByZXR1cm47CisKICAgICBwbGF0Zm9y
bUxvd01lbW9yeUhhbmRsZXIoY3JpdGljYWwpOwogICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NG
cmVlTWVtb3J5KCk7CiB9CkBAIC0xODUsMTEgKzE4OCwxNCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNz
Ojppbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZQogCiAgICAgV1RGOjpzZXRDdXJyZW50VGhyZWFkSXNVc2VySW5pdGlhdGVkKCk7CiAKLSAg
ICBhdXRvJiBtZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNp
bmdsZXRvbigpOwotICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5zZXRMb3dNZW1vcnlIYW5kbGVy
KFt0aGlzXSAoQ3JpdGljYWwgY3JpdGljYWwsIFN5bmNocm9ub3VzKSB7Ci0gICAgICAgIGxvd01l
bW9yeUhhbmRsZXIoY3JpdGljYWwpOwotICAgIH0pOwotICAgIG1lbW9yeVByZXNzdXJlSGFuZGxl
ci5pbnN0YWxsKCk7CisgICAgbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9IHBhcmFt
ZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXI7CisgICAgaWYgKCFtX3N1
cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyKSB7CisgICAgICAgIGF1dG8mIG1lbW9yeVByZXNz
dXJlSGFuZGxlciA9IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCk7CisgICAgICAg
IG1lbW9yeVByZXNzdXJlSGFuZGxlci5zZXRMb3dNZW1vcnlIYW5kbGVyKFt0aGlzXSAoQ3JpdGlj
YWwgY3JpdGljYWwsIFN5bmNocm9ub3VzKSB7CisgICAgICAgICAgICBsb3dNZW1vcnlIYW5kbGVy
KGNyaXRpY2FsKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5p
bnN0YWxsKCk7CisgICAgfQogCiAgICAgbV9kaXNrQ2FjaGVJc0Rpc2FibGVkRm9yVGVzdGluZyA9
IHBhcmFtZXRlcnMuc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBlNDNhOTFmZTk0
YTk5MDkwNTdhMzgyNGRmNTg3YTllNWIwMzNhN2E3Li5hNGYwZjMyMjdiZTQ3ZmY2NzNjM2RiNDY4
MTFhZjA2MTEyOTMwZTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKQEAgLTE3OSw2ICsxNzksNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9o
YXNTZXRDYWNoZU1vZGVsOwogICAgIENhY2hlTW9kZWwgbV9jYWNoZU1vZGVsOwogICAgIGludDY0
X3QgbV9kaXNrQ2FjaGVTaXplT3ZlcnJpZGUgeyAtMSB9OworICAgIGJvb2wgbV9zdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlz
YWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDc1MWZi
YjExYzRmYTAxMDZhMWE1NmU4MDZhMDM5NGVhODk5NjFjZDUuLjhhZDU3YzQ0NDJjYmM1ZDI3NDNk
NjkwYTk2ZTljOGNlNGVlNDM4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAKQEAgLTY0LDYgKzY0LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb24KICAgICBlbmNvZGVy
IDw8IGNvbnRhaW5lckNhY2hlc0RpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVy
IDw8IHBhcmVudEJ1bmRsZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgorICAgIGVu
Y29kZXIgPDwgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXI7CiAgICAgZW5jb2Rl
ciA8PCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247CiAgICAgZW5jb2RlciA8PCB1cmxT
Y2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29sczsKICNpZiBQTEFURk9STShDT0NPQSkK
QEAgLTEyNiw2ICsxMjcsOCBAQCBib29sIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIE5ldAogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnBhcmVudEJ1bmRsZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgorICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LnNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNob3VsZFVzZVRlc3Rp
bmdOZXR3b3JrU2Vzc2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC51cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29scykp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhNjA1ZDBlZDNlZTJkYTEyOTMy
M2M1ZGY5YzIzMTk5OTc0ZjdjNzU4Li41OGUzYjE4OGIxNTM5MDg0YzM5OTg3OTRkNGY4NTYxYTgw
MGNmZTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTczLDYgKzczLDcg
QEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUgY29udGFpbmVyQ2FjaGVzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxl
OwogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBwYXJlbnRCdW5kbGVEaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGU7CiAjZW5kaWYKKyAgICBib29sIHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vz
c2lvbjsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9t
UHJvdG9jb2xzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDJkNWY1NzY3YWM1ZThkMTljM2Q4M2ExZDJmNGY4
NDQ1ZTViMjEyODIuLjMxNTEwODZmZTE3ZWVmNDQ3MmFlNDg1NGVjY2U4M2MzNDExZDY1MGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKQEAgLTk3LDYgKzk3LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAg
ZW5jb2Rlci5lbmNvZGVFbnVtKGNhY2hlTW9kZWwpOwogICAgIGVuY29kZXIgPDwgc2hvdWxkQWx3
YXlzVXNlQ29tcGxleFRleHRDb2RlUGF0aDsKICAgICBlbmNvZGVyIDw8IHNob3VsZEVuYWJsZU1l
bW9yeVByZXNzdXJlUmVsaWVmTG9nZ2luZzsKKyAgICBlbmNvZGVyIDw8IHNob3VsZFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOwogICAgIGVuY29kZXIgPDwgc2hvdWxkVXNlRm9udFNtb290
aGluZzsKICAgICBlbmNvZGVyIDw8IGZvbnRXaGl0ZWxpc3Q7CiAgICAgZW5jb2RlciA8PCBpY29u
RGF0YWJhc2VFbmFibGVkOwpAQCAtMjE1LDYgKzIxNiw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXZWJQ
cm9jCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFt
ZXRlcnMuc2hvdWxkRW5hYmxlTWVtb3J5UHJlc3N1cmVSZWxpZWZMb2dnaW5nKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5zaG91bGRT
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkVXNlRm9udFNtb290aGluZykp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRl
cnMuZm9udFdoaXRlbGlzdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAyNjdmMGVmMGVmN2U4MDFlOGVlZjUzYzAy
MzA3ZTI0ODVkY2U3ZTBjLi44MTI2YmZiZTA2YzRkNGQ0Y2ZhMjMwNzhmZDdjZjRiMmNjMTExNmVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKQEAgLTEwNSw2ICsxMDUsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyB7CiAKICAgICBib29sIHNob3VsZEFsd2F5c1VzZUNvbXBsZXhUZXh0Q29kZVBh
dGg7CiAgICAgYm9vbCBzaG91bGRFbmFibGVNZW1vcnlQcmVzc3VyZVJlbGllZkxvZ2dpbmc7Cisg
ICAgYm9vbCBzaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAg
ICAgYm9vbCBzaG91bGRVc2VGb250U21vb3RoaW5nOwogCiAgICAgVmVjdG9yPFN0cmluZz4gZm9u
dFdoaXRlbGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggM2Q1ZDNiOGE5NTU0MWY5MTY2MDdmMmRiYTdhMjY5
ZDQzZmQ4OTU3MS4uNzU5YjYzYzc4MDAwYjg5YThkYjU5OGRhODUxZTg5NDJmM2YxNzhhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KQEAgLTg0LDYgKzg0LDggQEAgc3RhdGljIE5TU3RyaW5nICogY29uc3QgV2ViS2l0
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb25FbmFibGVkRGVmYXVsdHMKICNlbmRp
ZgogI2VuZGlmCiAKK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdlYktpdFN1cHByZXNzTWVtb3J5
UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXkgPSBAIldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyIjsKKwogI2lmIFBMQVRGT1JNKE1BQykKIE5TU3RyaW5nICpXZWJLaXRUYWJTdXNw
ZW5zaW9uID0gQCJXZWJLaXRUYWJTdXNwZW5zaW9uIjsKICNlbmRpZgpAQCAtMTc4LDEzICsxODAs
MTYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJgogICAgIHBhcmFtZXRlcnMuYWNjZXNzaWJpbGl0
eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgogCisgICAgTlNV
c2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXTsKKwogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZVRh
YlN1c3BlbnNpb24gPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29s
Rm9yS2V5OldlYktpdFRhYlN1c3BlbnNpb25dOworICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxl
VGFiU3VzcGVuc2lvbiA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFRhYlN1c3BlbnNpb25d
OwogI2VuZGlmCiAKLSAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUpJVCA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViS2l0SlNDSklURW5hYmxl
ZERlZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUZUTEpJVCA9IFtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViS2l0SlNDRlRM
SklURW5hYmxlZERlZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU1lbW9y
eVByZXNzdXJlUmVsaWVmTG9nZ2luZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIGJvb2xGb3JLZXk6QCJMb2dNZW1vcnlKZXRzYW1EZXRhaWxzIl07CisgICAgcGFyYW1l
dGVycy5zaG91bGRFbmFibGVKSVQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRKU0NKSVRF
bmFibGVkRGVmYXVsdHNLZXldOworICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlRlRMSklUID0g
W2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5XTsK
KyAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU1lbW9yeVByZXNzdXJlUmVsaWVmTG9nZ2luZyA9
IFtkZWZhdWx0cyBib29sRm9yS2V5OkAiTG9nTWVtb3J5SmV0c2FtRGV0YWlscyJdOworICAgIHBh
cmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMg
Ym9vbEZvcktleTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5
XTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYXJhbWV0ZXJzLnNob3VsZFJld3JpdGVDb25z
dEFzVmFyID0gYXBwbGljYXRpb25Jc0lCb29rcygpOwpAQCAtMjYwLDYgKzI2NSw4IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKICNlbmRpZgogCisgICAgcGFyYW1ldGVycy5zaG91
bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5Oldl
YktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOworCiAjaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAog
ICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhU
VFBDb29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQs
IFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0
b3JhZ2VdKSk7CiAgICAgQVNTRVJUKHBhcmFtZXRlcnMudWlQcm9jZXNzQ29va2llU3RvcmFnZUlk
ZW50aWZpZXIuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDk2MWM3YjI4NjlhNzJmOWU5NGU1ZDVlZGI4OWJkOWYzMjk1OTkwYWUuLjUzNmVm
ZjUwZDI5NjRlNTk0MmZhMmJjMjZjNWJlNjNkNTg3YmM5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjU0LDcgKzI1NCw4IEBAIHZvaWQgV2ViUHJvY2Vz
czo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMpCiAKICAgICBXVEY6OnNldEN1cnJlbnRUaHJlYWRJc1VzZXJJbml0aWF0ZWQoKTsK
IAotICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaW5zdGFsbCgpOworICAg
IGlmICghcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikKKyAg
ICAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5pbnN0YWxsKCk7CiAKICAg
ICBpZiAoIXBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoLmlzRW1wdHkoKSkKICAgICAgICAg
bV9pbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpjcmVhdGUocGFyYW1ldGVycywgdHJh
bnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhwYXJhbWV0ZXJzLmluaXRpYWxpemF0aW9uVXNlckRhdGEu
b2JqZWN0KCkpLmdldCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271688</attachid>
            <date>2016-02-18 13:47:25 -0800</date>
            <delta_ts>2016-02-22 10:30:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154254-20160218134706.patch</filename>
            <type>text/plain</type>
            <size>19817</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYmIyZjkwYTZk
ODNlN2M1YzkwYjRiMzk1NzJlY2YyNDNlZjNiNWJmNC4uNmI2YTBlOWZlY2NhYTdmNjJmMTAxZDAw
ZDMzOThiMjNmMzA2NDVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE2
LTAyLTE4ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
bWVjaGFuaXNtIHRvIGRpc2FibGUgbWVtb3J5IHByZXNzdXJlIGhhbmRsaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQyNTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI0NjYyNjE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6
LgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSB0byBkaXNhYmxlIFdlYktpdCdzIHJlc3BvbnNl
IHRvIG1lbW9yeSBwcmVzc3VyZQorICAgICAgICB0cmlnZ2Vycy4gVGhpcyB3YXMgYXNrZWQgZm9y
IGJ5IGFub3RoZXIgZ3JvdXAgZm9yIHRlc3RpbmcgcHVycG9zZXMuCisKKyAgICAgICAgSW4gb3Jk
ZXIgdG8gZGlzYWJsZSBXZWJLaXQncyBtZW1vcnkgcHJlc3N1cmUgaGFuZGxpbmcsIGV4ZWN1dGUg
dGhlCisgICAgICAgIGZvbGxvd2luZyBmcm9tIHRoZSBjb21tYW5kIGxpbmU6CisKKyAgICAgICAg
ICAgIGRlZmF1bHRzIHdyaXRlIGNvbS5hcHBsZS5TYWZhcmkgV2ViS2l0U3VwcHJlc3NNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIgLWJvb2wgdHJ1ZQorCisgICAgICAgIFRvIHJldmVydCB0byBzdGFuZGFy
ZCBiZWhhdmlvciwgZGVsZXRlIHRoZSBrZXkgb3Igc2V0IGl0IHRvIEZhbHNlLgorCisgICAgICAg
IFRoaXMgZmxhZyBpcyB1c2VkIHdoZW4gYSBuZXcgc3ViLXByb2Nlc3MgaXMgYmVpbmcgc3Bhd25l
ZC4gVGhlIHZhbHVlCisgICAgICAgIGlzIHJlYWQgYW5kIHN0b3JlZCBpbiBhbiBpbml0aWFsaXph
dGlvbiBwYXJhbWV0ZXIgYmxvY2ssIHdoaWNoIGlzIHRoZW4KKyAgICAgICAgc2VudCB0byB0aGUg
bmV3IHN1Yi1wcm9jZXNzLgorCisgICAgICAgIEluIGFjdHVhbGl0eSwgb25seSB0aGUgVUksIFdl
YkNvbnRlbnQsIGFuZCBOZXR3b3JrIHByb2Nlc3NlcyBoZWVkIHRoZQorICAgICAgICBmbGFnLiBU
aGUgUGx1Z2luIHByb2Nlc3MgaXNuJ3QgaW5zdHJ1bWVudGVkIHRvIGhlZWQgdGhpcyBmbGFnIGZv
cgorICAgICAgICB0aHJlZSByZWFzb25zLiBGaXJzdCwgdGhlIFBsdWdpbiBwcm9jZXNzIGluc3Rh
bGxzIGl0cyBtZW1vcnkgcHJlc3N1cmUKKyAgICAgICAgaGFuZGxlciBpbiBpbml0aWFsaXplUHJv
Y2Vzcywgbm90IGluaXRpYWxpemVQbHVnaW5Qcm9jZXNzLiBUaGlzIGlzCisgICAgICAgIGNvbnRy
YXJ5IHRvIHdoZW4gdGhlIG90aGVyIHByb2Nlc3NlcyBpbnN0YWxsIHRoZWlyIGhhbmRsZXJzLCB3
aGljaCBpcworICAgICAgICBpbiBpbml0aWFsaXplPFBsdWdpblR5cGU+UHJvY2Vzcywgbm90IGlu
aXRpYWxpemVQcm9jZXNzLiBTbyBpbiBvcmRlcgorICAgICAgICB0byBhY2NvbW9kYXRlIHRoZSBQ
bHVnaW4gcHJvY2Vzcywgd2UnZCBuZWVkIHRvIG1vZGlmeQorICAgICAgICBDaGlsZFByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMuIERvaW5nIHRoaXMgaXMgYXdrd2FyZCBhdCBiZXN0LAor
ICAgICAgICBidXQgYWxzbyBzZWVtcyB0byBiZSBvcHBvc2VkIHRvIHdoYXQncyBzdXBwb3NlZCB0
byBiZSBkb25lIGluCisgICAgICAgIGluaXRpYWxpemVQcm9jZXNzIGFuZCBjb252ZXllZCBpbgor
ICAgICAgICBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuIEFuZCBldmVuIGlm
IHdlIGRpZCBhZGQgYSBib29sZWFuCisgICAgICAgIHRvIHRoaXMgc3RydWN0dXJlIGFuZCBhZGRl
ZCBzdXBwb3J0IGZvciBjb252ZXlpbmcgaXQgdGhyb3VnaCB0aGUgWFBDCisgICAgICAgIHBvcnQs
IGl0IHdvdWxkIGVuZCB1cCBiZWluZyBhIFBsdWdpbiBwcm9jZXNzLW9ubHkgYm9vbGVhbiBpbiBh
IGdlbmVyYWwKKyAgICAgICAgcGFyYW1ldGVyIGJsb2NrLCB3aGljaCBzZWVtcyBhc3ltbWV0cmlj
IHdpdGggdGhlIG90aGVyIHByb2Nlc3Nlcy4KKyAgICAgICAgU2Vjb25kLCB0aGVyZSdzIG5vIGNv
bnZlbmllbnQgQ29jb2EgZnVuY3Rpb24gY2FsbGVkIGluIHRoZSBmbG93IHRoYXQKKyAgICAgICAg
c3Bhd25zIHRoZSBQbHVnaW4gcHJvY2VzcywgbWVhbmluZyB0aGF0IHRoZXJlJ3Mgbm8gY29udmVu
aWVudCBwbGFjZSB0bworICAgICAgICBjYWxsIE5TVXNlckRlZmF1bHRzIHRvIGdldCB0aGUgZmxh
ZydzIHZhbHVlLiBBbmQgdGhpcmQsIHRoZSBQbHVnaW4KKyAgICAgICAgcHJvY2VzcyBkb2Vzbid0
IGVsZWdhbnRseSByZXNwb25kIHRvIHRoZSBtZW1vcnkgcHJlc3N1cmUgdHJpZ2dlcgorICAgICAg
ICBhbnl3YXkuIEl0IG1pZ2h0IHRlcm1pbmF0ZSBpdHNlbGYsIGJ1dCB0aGF0J3MgaXQuIEFzIGZv
ciB0aGUgRGF0YWJhc2UKKyAgICAgICAgcHJvY2VzcywgaXQgZG9lc24ndCBzZWVtIHRvIHN1cHBv
cnQgcmVzcG9uZGluZyB0byBtZW1vcnkgcHJlc3N1cmUgYXQKKyAgICAgICAgYWxsLCBzbyB3ZSBk
b24ndCBzZW5kIGl0IGEgZmxhZyB0ZWxsaW5nIGl0IHRvIGlnbm9yZSBpdC4KKworICAgICAgICBJ
bnRlcm5hbGx5LCB0aGUgbWVtb3J5IHByZXNzdXJlIGhhbmRsZXIgaXMgc3VwcHJlc3NlZCBieSBu
b3QgY2FsbGluZworICAgICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwoKSBpZiB0
aGUgZmxhZyBpcyBzZXQuIEluIHRoZSBjYXNlIG9mCisgICAgICAgIHRoZSBOZXR3b3JrIHByb2Nl
c3MsIHRoZSBmbGFnIGlzIHNhdmVkIHNvIHRoYXQgaXQgY2FuIGJlIGNoZWNrZWQgbGF0ZXIKKyAg
ICAgICAgaW4gb3RoZXIgcGxhY2VzIHRoYXQgbWFudWFsbHkga2ljayBvZmYgdGhlIG1lbW9yeSBw
cmVzc3VyZSBoYW5kbGluZworICAgICAgICBwcm9jZWR1cmUuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0
aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgIChXZWJJbnN0YWxsTWVtb3J5UHJlc3N1
cmVIYW5kbGVyKToKKwogMjAxNi0wMi0xNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTWFjXSBHYXRoZXIgc29tZSBydWRpbWVudGFyeSBzdGF0aXN0aWNz
IGR1cmluZyByZXNvdXJjZSBsb2FkIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDYyMmUxNmUyYmRkMjc3ZGY3YmFk
NjBjZjAyZTdjMDUzZjhmNDQyYjYuLjUyY2YxYWFiZDg3MzgzNWVhMzRlZGQyZGVlNmE5MDM3MzQ0
ZTY5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MSBAQAorMjAxNi0wMi0xOCAgS2VpdGggUm9s
bGluICA8a3JvbGxpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1lY2hhbmlzbSB0byBkaXNh
YmxlIG1lbW9yeSBwcmVzc3VyZSBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MjU0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDY2
MjYxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBBZGQg
YSBtZWNoYW5pc20gdG8gZGlzYWJsZSBXZWJLaXQncyByZXNwb25zZSB0byBtZW1vcnkgcHJlc3N1
cmUKKyAgICAgICAgdHJpZ2dlcnMuIFRoaXMgd2FzIGFza2VkIGZvciBieSBhbm90aGVyIGdyb3Vw
IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCisgICAgICAgIEluIG9yZGVyIHRvIGRpc2FibGUgV2Vi
S2l0J3MgbWVtb3J5IHByZXNzdXJlIGhhbmRsaW5nLCBleGVjdXRlIHRoZQorICAgICAgICBmb2xs
b3dpbmcgZnJvbSB0aGUgY29tbWFuZCBsaW5lOgorCisgICAgICAgICAgICBkZWZhdWx0cyB3cml0
ZSBjb20uYXBwbGUuU2FmYXJpIFdlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIC1i
b29sIHRydWUKKworICAgICAgICBUbyByZXZlcnQgdG8gc3RhbmRhcmQgYmVoYXZpb3IsIGRlbGV0
ZSB0aGUga2V5IG9yIHNldCBpdCB0byBGYWxzZS4KKworICAgICAgICBUaGlzIGZsYWcgaXMgdXNl
ZCB3aGVuIGEgbmV3IHN1Yi1wcm9jZXNzIGlzIGJlaW5nIHNwYXduZWQuIFRoZSB2YWx1ZQorICAg
ICAgICBpcyByZWFkIGFuZCBzdG9yZWQgaW4gYW4gaW5pdGlhbGl6YXRpb24gcGFyYW1ldGVyIGJs
b2NrLCB3aGljaCBpcyB0aGVuCisgICAgICAgIHNlbnQgdG8gdGhlIG5ldyBzdWItcHJvY2Vzcy4K
KworICAgICAgICBJbiBhY3R1YWxpdHksIG9ubHkgdGhlIFVJLCBXZWJDb250ZW50LCBhbmQgTmV0
d29yayBwcm9jZXNzZXMgaGVlZCB0aGUKKyAgICAgICAgZmxhZy4gVGhlIFBsdWdpbiBwcm9jZXNz
IGlzbid0IGluc3RydW1lbnRlZCB0byBoZWVkIHRoaXMgZmxhZyBmb3IKKyAgICAgICAgdGhyZWUg
cmVhc29ucy4gRmlyc3QsIHRoZSBQbHVnaW4gcHJvY2VzcyBpbnN0YWxscyBpdHMgbWVtb3J5IHBy
ZXNzdXJlCisgICAgICAgIGhhbmRsZXIgaW4gaW5pdGlhbGl6ZVByb2Nlc3MsIG5vdCBpbml0aWFs
aXplUGx1Z2luUHJvY2Vzcy4gVGhpcyBpcworICAgICAgICBjb250cmFyeSB0byB3aGVuIHRoZSBv
dGhlciBwcm9jZXNzZXMgaW5zdGFsbCB0aGVpciBoYW5kbGVycywgd2hpY2ggaXMKKyAgICAgICAg
aW4gaW5pdGlhbGl6ZTxQbHVnaW5UeXBlPlByb2Nlc3MsIG5vdCBpbml0aWFsaXplUHJvY2Vzcy4g
U28gaW4gb3JkZXIKKyAgICAgICAgdG8gYWNjb21vZGF0ZSB0aGUgUGx1Z2luIHByb2Nlc3MsIHdl
J2QgbmVlZCB0byBtb2RpZnkKKyAgICAgICAgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzLiBEb2luZyB0aGlzIGlzIGF3a3dhcmQgYXQgYmVzdCwKKyAgICAgICAgYnV0IGFsc28g
c2VlbXMgdG8gYmUgb3Bwb3NlZCB0byB3aGF0J3Mgc3VwcG9zZWQgdG8gYmUgZG9uZSBpbgorICAg
ICAgICBpbml0aWFsaXplUHJvY2VzcyBhbmQgY29udmV5ZWQgaW4KKyAgICAgICAgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLiBBbmQgZXZlbiBpZiB3ZSBkaWQgYWRkIGEgYm9v
bGVhbgorICAgICAgICB0byB0aGlzIHN0cnVjdHVyZSBhbmQgYWRkZWQgc3VwcG9ydCBmb3IgY29u
dmV5aW5nIGl0IHRocm91Z2ggdGhlIFhQQworICAgICAgICBwb3J0LCBpdCB3b3VsZCBlbmQgdXAg
YmVpbmcgYSBQbHVnaW4gcHJvY2Vzcy1vbmx5IGJvb2xlYW4gaW4gYSBnZW5lcmFsCisgICAgICAg
IHBhcmFtZXRlciBibG9jaywgd2hpY2ggc2VlbXMgYXN5bW1ldHJpYyB3aXRoIHRoZSBvdGhlciBw
cm9jZXNzZXMuCisgICAgICAgIFNlY29uZCwgdGhlcmUncyBubyBjb252ZW5pZW50IENvY29hIGZ1
bmN0aW9uIGNhbGxlZCBpbiB0aGUgZmxvdyB0aGF0CisgICAgICAgIHNwYXducyB0aGUgUGx1Z2lu
IHByb2Nlc3MsIG1lYW5pbmcgdGhhdCB0aGVyZSdzIG5vIGNvbnZlbmllbnQgcGxhY2UgdG8KKyAg
ICAgICAgY2FsbCBOU1VzZXJEZWZhdWx0cyB0byBnZXQgdGhlIGZsYWcncyB2YWx1ZS4gQW5kIHRo
aXJkLCB0aGUgUGx1Z2luCisgICAgICAgIHByb2Nlc3MgZG9lc24ndCBlbGVnYW50bHkgcmVzcG9u
ZCB0byB0aGUgbWVtb3J5IHByZXNzdXJlIHRyaWdnZXIKKyAgICAgICAgYW55d2F5LiBJdCBtaWdo
dCB0ZXJtaW5hdGUgaXRzZWxmLCBidXQgdGhhdCdzIGl0LiBBcyBmb3IgdGhlIERhdGFiYXNlCisg
ICAgICAgIHByb2Nlc3MsIGl0IGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IHJlc3BvbmRpbmcgdG8g
bWVtb3J5IHByZXNzdXJlIGF0CisgICAgICAgIGFsbCwgc28gd2UgZG9uJ3Qgc2VuZCBpdCBhIGZs
YWcgdGVsbGluZyBpdCB0byBpZ25vcmUgaXQuCisKKyAgICAgICAgSW50ZXJuYWxseSwgdGhlIG1l
bW9yeSBwcmVzc3VyZSBoYW5kbGVyIGlzIHN1cHByZXNzZWQgYnkgbm90IGNhbGxpbmcKKyAgICAg
ICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkgaWYgdGhlIGZsYWcgaXMgc2V0LiBJ
biB0aGUgY2FzZSBvZgorICAgICAgICB0aGUgTmV0d29yayBwcm9jZXNzLCB0aGUgZmxhZyBpcyBz
YXZlZCBzbyB0aGF0IGl0IGNhbiBiZSBjaGVja2VkIGxhdGVyCisgICAgICAgIGluIG90aGVyIHBs
YWNlcyB0aGF0IG1hbnVhbGx5IGtpY2sgb2ZmIHRoZSBtZW1vcnkgcHJlc3N1cmUgaGFuZGxpbmcK
KyAgICAgICAgcHJvY2VkdXJlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6bG93TWVtb3J5SGFu
ZGxlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29y
a1Byb2Nlc3MpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFs
aXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKwog
MjAxNi0wMi0xNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
TW9kZXJuIElEQjogTW9yZSBFbmNvZGVyL0RlY29kZXIvTWVzc2FnaW5nIHNjYWZmb2xkaW5nIGZv
ciBXSzIgSVBDLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGYzMmRlODhl
NzY0MDkwYjU5OTY5MGEyNWE5YmM3YTE0MTY5NWI0YTAuLjA3NWQyODY5YjE5NDgxYTgxNWY5ZDg4
MWE5MmVhNWQ4NTkxZmRlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTExMDEsNyArMTEwMSw4IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1l
TmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgX3ByaXZhdGUt
PnBhZ2UtPnNldHRpbmdzKCkuc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKHRydWUp
OwogI2VuZGlmCiAKLSAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmluc3Rh
bGwoKTsKKyAgICBpZiAoIVtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJv
b2xGb3JLZXk6QCJXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciJdKQorICAgICAg
ICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmluc3RhbGwoKTsKIAogICAgIGlm
ICghV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9DQUxf
UkVTT1VSQ0VfU0VDVVJJVFlfUkVTVFJJQ1RJT04pKSB7CiAgICAgICAgIC8vIE9yaWdpbmFsbHks
IHdlIGFsbG93ZWQgYWxsIGxvY2FsIGxvYWRzLgpAQCAtODk0NSw1ICs4OTQ2LDYgQEAgQGVuZAog
CiB2b2lkIFdlYkluc3RhbGxNZW1vcnlQcmVzc3VyZUhhbmRsZXIodm9pZCkKIHsKLSAgICBNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmluc3RhbGwoKTsKKyAgICBpZiAoIVtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJXZWJLaXRTdXBw
cmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciJdKQorICAgICAgICBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OnNpbmdsZXRvbigpLmluc3RhbGwoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCAyZjVhOWFjYmQ0NjhlZTJhZGZiYjAw
Y2I4N2E3MDU1YjJiOGFhOTAzLi44NTc2NzUyMjU5ZjcwOTY3ZTk0OWM3NmU3ZmRjN2IxZTRiYTYw
NzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCkBAIC0xNzUsNiArMTc1LDkgQEAgQXV0aGVudGljYXRpb25NYW5hZ2VyJiBOZXR3b3Jr
UHJvY2Vzczo6ZG93bmxvYWRzQXV0aGVudGljYXRpb25NYW5hZ2VyKCkKIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6bG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCBjcml0aWNhbCkKIHsKKyAgICBpZiAo
bV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikKKyAgICAgICAgcmV0dXJuOworCiAgICAg
cGxhdGZvcm1Mb3dNZW1vcnlIYW5kbGVyKGNyaXRpY2FsKTsKICAgICBXVEY6OnJlbGVhc2VGYXN0
TWFsbG9jRnJlZU1lbW9yeSgpOwogfQpAQCAtMTg1LDExICsxODgsMTQgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWUKIAogICAgIFdURjo6c2V0Q3VycmVudFRocmVhZElzVXNlckluaXRpYXRlZCgp
OwogCi0gICAgYXV0byYgbWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gTWVtb3J5UHJlc3N1cmVIYW5k
bGVyOjpzaW5nbGV0b24oKTsKLSAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIuc2V0TG93TWVtb3J5
SGFuZGxlcihbdGhpc10gKENyaXRpY2FsIGNyaXRpY2FsLCBTeW5jaHJvbm91cykgewotICAgICAg
ICBsb3dNZW1vcnlIYW5kbGVyKGNyaXRpY2FsKTsKLSAgICB9KTsKLSAgICBtZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuaW5zdGFsbCgpOworICAgIG1fc3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIg
PSBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyOworICAgIGlm
ICghbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikgeworICAgICAgICBhdXRvJiBtZW1v
cnlQcmVzc3VyZUhhbmRsZXIgPSBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpOwor
ICAgICAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIuc2V0TG93TWVtb3J5SGFuZGxlcihbdGhpc10g
KENyaXRpY2FsIGNyaXRpY2FsLCBTeW5jaHJvbm91cykgeworICAgICAgICAgICAgbG93TWVtb3J5
SGFuZGxlcihjcml0aWNhbCk7CisgICAgICAgIH0pOworICAgICAgICBtZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaW5zdGFsbCgpOworICAgIH0KIAogICAgIG1fZGlza0NhY2hlSXNEaXNhYmxlZEZvclRl
c3RpbmcgPSBwYXJhbWV0ZXJzLnNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZTQz
YTkxZmU5NGE5OTA5MDU3YTM4MjRkZjU4N2E5ZTViMDMzYTdhNy4uYTRmMGYzMjI3YmU0N2ZmNjcz
YzNkYjQ2ODExYWYwNjExMjkzMGU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xNzksNiArMTc5LDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faGFzU2V0Q2FjaGVNb2RlbDsKICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsKICAg
ICBpbnQ2NF90IG1fZGlza0NhY2hlU2l6ZU92ZXJyaWRlIHsgLTEgfTsKKyAgICBib29sIG1fc3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2Fj
aGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJU
cnVzdEV2YWx1YXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRl
eCA3NTFmYmIxMWM0ZmEwMTA2YTFhNTZlODA2YTAzOTRlYTg5OTYxY2Q1Li44YWQ1N2M0NDQyY2Jj
NWQyNzQzZDY5MGE5NmU5YzhjZTRlZTQzODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCkBAIC02NCw2ICs2NCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uCiAgICAg
ZW5jb2RlciA8PCBjb250YWluZXJDYWNoZXNEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAg
ZW5jb2RlciA8PCBwYXJlbnRCdW5kbGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYK
KyAgICBlbmNvZGVyIDw8IHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyOwogICAg
IGVuY29kZXIgPDwgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGVuY29kZXIg
PDwgdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCkBAIC0xMjYsNiArMTI3LDggQEAgYm9vbCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBOZXQKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wYXJlbnRCdW5kbGVEaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zaG91bGRV
c2VUZXN0aW5nTmV0d29ya1Nlc3Npb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQudXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90
b2NvbHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTYwNWQwZWQzZWUy
ZGExMjkzMjNjNWRmOWMyMzE5OTk3NGY3Yzc1OC4uNThlM2IxODhiMTUzOTA4NGMzOTk4Nzk0ZDRm
ODU2MWE4MDBjZmU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC03Myw2
ICs3Myw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGNvbnRhaW5lckNhY2hlc0RpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgcGFyZW50QnVuZGxlRGlyZWN0
b3J5RXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisgICAgYm9vbCBzaG91bGRTdXBwcmVzc01lbW9y
eVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBzaG91bGRVc2VUZXN0aW5nTmV0
d29ya1Nlc3Npb247CiAKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEZv
ckN1c3RvbVByb3RvY29sczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCAyZDVmNTc2N2FjNWU4ZDE5YzNkODNh
MWQyZjRmODQ0NWU1YjIxMjgyLi4zMTUxMDg2ZmUxN2VlZjQ0NzJhZTQ4NTRlY2NlODNjMzQxMWQ2
NTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCkBAIC05Nyw2ICs5Nyw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIuZW5jb2RlRW51bShjYWNoZU1vZGVsKTsKICAgICBlbmNvZGVyIDw8IHNo
b3VsZEFsd2F5c1VzZUNvbXBsZXhUZXh0Q29kZVBhdGg7CiAgICAgZW5jb2RlciA8PCBzaG91bGRF
bmFibGVNZW1vcnlQcmVzc3VyZVJlbGllZkxvZ2dpbmc7CisgICAgZW5jb2RlciA8PCBzaG91bGRT
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlcjsKICAgICBlbmNvZGVyIDw8IHNob3VsZFVzZUZv
bnRTbW9vdGhpbmc7CiAgICAgZW5jb2RlciA8PCBmb250V2hpdGVsaXN0OwogICAgIGVuY29kZXIg
PDwgaWNvbkRhdGFiYXNlRW5hYmxlZDsKQEAgLTIxNSw2ICsyMTYsOCBAQCBib29sIFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgV2ViUHJvYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU1lbW9yeVByZXNzdXJlUmVsaWVmTG9nZ2luZykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMu
c2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZFVzZUZvbnRTbW9v
dGhpbmcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
YXJhbWV0ZXJzLmZvbnRXaGl0ZWxpc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggMjY3ZjBlZjBlZjdlODAxZThl
ZWY1M2MwMjMwN2UyNDg1ZGNlN2UwYy4uODEyNmJmYmUwNmM0ZDRkNGNmYTIzMDc4ZmQ3Y2Y0YjJj
YzExMTZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMDUsNiArMTA1LDcgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBzaG91bGRBbHdheXNVc2VDb21wbGV4VGV4
dENvZGVQYXRoOwogICAgIGJvb2wgc2hvdWxkRW5hYmxlTWVtb3J5UHJlc3N1cmVSZWxpZWZMb2dn
aW5nOworICAgIGJvb2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxz
ZSB9OwogICAgIGJvb2wgc2hvdWxkVXNlRm9udFNtb290aGluZzsKIAogICAgIFZlY3RvcjxTdHJp
bmc+IGZvbnRXaGl0ZWxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDNkNWQzYjhhOTU1NDFmOTE2NjA3ZjJk
YmE3YTI2OWQ0M2ZkODk1NzEuLjc1OWI2M2M3ODAwMGI4OWE4ZGI1OThkYTg1MWU4OTQyZjNmMTc4
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCkBAIC04NCw2ICs4NCw4IEBAIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0
IFdlYktpdE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uRW5hYmxlZERlZmF1bHRz
CiAjZW5kaWYKICNlbmRpZgogCitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXZWJLaXRTdXBwcmVz
c01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5ID0gQCJXZWJLaXRTdXBwcmVzc01lbW9y
eVByZXNzdXJlSGFuZGxlciI7CisKICNpZiBQTEFURk9STShNQUMpCiBOU1N0cmluZyAqV2ViS2l0
VGFiU3VzcGVuc2lvbiA9IEAiV2ViS2l0VGFiU3VzcGVuc2lvbiI7CiAjZW5kaWYKQEAgLTE3OCwx
MyArMTgwLDE2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYKICAgICBwYXJhbWV0ZXJzLmFjY2Vz
c2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKIAor
ICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c107CisKICNpZiBQTEFURk9STShNQUMpCi0gICAgcGFyYW1ldGVycy5zaG91bGRF
bmFibGVUYWJTdXNwZW5zaW9uID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0
c10gYm9vbEZvcktleTpXZWJLaXRUYWJTdXNwZW5zaW9uXTsKKyAgICBwYXJhbWV0ZXJzLnNob3Vs
ZEVuYWJsZVRhYlN1c3BlbnNpb24gPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRUYWJTdXNw
ZW5zaW9uXTsKICNlbmRpZgogCi0gICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVKSVQgPSBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OldlYktpdEpTQ0pJ
VEVuYWJsZWREZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVGVExKSVQg
PSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OldlYktp
dEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5zaG91bGRFbmFi
bGVNZW1vcnlQcmVzc3VyZVJlbGllZkxvZ2dpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBib29sRm9yS2V5OkAiTG9nTWVtb3J5SmV0c2FtRGV0YWlscyJdOworICAg
IHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlSklUID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0
SlNDSklURW5hYmxlZERlZmF1bHRzS2V5XTsKKyAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUZU
TEpJVCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0
c0tleV07CisgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVNZW1vcnlQcmVzc3VyZVJlbGllZkxv
Z2dpbmcgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkxvZ01lbW9yeUpldHNhbURldGFpbHMiXTsK
KyAgICBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2Rl
ZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZh
dWx0c0tleV07CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFyYW1ldGVycy5zaG91bGRSZXdy
aXRlQ29uc3RBc1ZhciA9IGFwcGxpY2F0aW9uSXNJQm9va3MoKTsKQEAgLTI2MCw2ICsyNjUsOCBA
QCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhO
ZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAjZW5kaWYKIAorICAgIHBhcmFtZXRl
cnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5XTsKKwog
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDExMDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9yYWdlRGF0YSA9IGFkb3B0
Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0YShrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIF9j
b29raWVTdG9yYWdlXSkpOwogICAgIEFTU0VSVChwYXJhbWV0ZXJzLnVpUHJvY2Vzc0Nvb2tpZVN0
b3JhZ2VJZGVudGlmaWVyLmlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCmluZGV4IGIz
NmFmMjc0MDhlN2VmNWQ1ZDU3OGI5Y2U4ZTIwZDNkMWZjMjg4YTAuLjliOWQzZTk3OTZiMDA0ZGNi
NGNiN2UwNjZiMGJjNzhhMjZlMWUyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCkBAIC00NCw2
ICs0NCw5IEBAIFdlYk1lbW9yeVByZXNzdXJlSGFuZGxlcjo6V2ViTWVtb3J5UHJlc3N1cmVIYW5k
bGVyKCkKICAgICAvLyBSaWdodCBub3cgaXQgY2Fubm90IGJlY2F1c2UgV2ViS2l0MSBhbmQgV2Vi
S2l0MiBuZWVkIHRvIGJlIGFibGUgdG8gY29leGlzdCBpbiB0aGUgVUkgcHJvY2VzcywKICAgICAv
LyBhbmQgeW91IGNhbiBvbmx5IGhhdmUgb25lIFdlYkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxl
ci4KIAorICAgIGlmIChbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29s
Rm9yS2V5OkAiV2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIiXSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgX3NvdXJjZSA9IGRpc3BhdGNoX3NvdXJjZV9jcmVhdGUoRElTUEFUQ0hf
U09VUkNFX1RZUEVfTUVNT1JZUFJFU1NVUkUsIDAsIERJU1BBVENIX01FTU9SWVBSRVNTVVJFX1dB
Uk4sIGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkpOwogICAgIGRpc3BhdGNoX3NldF9jb250ZXh0
KF9zb3VyY2UsIHRoaXMpOwogICAgIGRpc3BhdGNoX3NvdXJjZV9zZXRfZXZlbnRfaGFuZGxlcihf
c291cmNlLCBeewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
ZjQxZWE1ZDMzZDFlYTU2NDc3NWE4ZWZmMWQ5ZDlkYjBkZTU3OWE1NC4uMDVkMTc2NmM2NzQ2ZTE5
ZWFkMjkwMTRlMjRlYmFjYmU2YTc1MTJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCkBAIC0yNTIsNyArMjUyLDkgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFs
aXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
IAogICAgIFdURjo6c2V0Q3VycmVudFRocmVhZElzVXNlckluaXRpYXRlZCgpOwogCi0gICAgTWVt
b3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5pbnN0YWxsKCk7CisgICAgbV9zdXBwcmVz
c01lbW9yeVByZXNzdXJlSGFuZGxlciA9IHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI7CisgICAgaWYgKCFtX3N1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVy
KQorICAgICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmluc3RhbGwoKTsK
IAogICAgIGlmICghcGFyYW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGguaXNFbXB0eSgpKQogICAg
ICAgICBtX2luamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OmNyZWF0ZShwYXJhbWV0ZXJz
LCB0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHBhcmFtZXRlcnMuaW5pdGlhbGl6YXRpb25Vc2Vy
RGF0YS5vYmplY3QoKSkuZ2V0KCkpOwpAQCAtMTE3NSw3ICsxMTc3LDkgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpyZXNldEFsbEdlb2xvY2F0aW9uUGVybWlzc2lvbnMoKQogCiB2b2lkIFdlYlByb2Nlc3M6
OmFjdHVhbFByZXBhcmVUb1N1c3BlbmQoU2hvdWxkQWNrbm93bGVkZ2VXaGVuUmVhZHlUb1N1c3Bl
bmQgc2hvdWxkQWNrbm93bGVkZ2VXaGVuUmVhZHlUb1N1c3BlbmQpCiB7Ci0gICAgTWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5yZWxlYXNlTWVtb3J5KENyaXRpY2FsOjpZZXMsIFN5
bmNocm9ub3VzOjpZZXMpOworICAgIGlmICghbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxl
cikKKyAgICAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5yZWxlYXNlTWVt
b3J5KENyaXRpY2FsOjpZZXMsIFN5bmNocm9ub3VzOjpZZXMpOworCiAgICAgc2V0QWxsTGF5ZXJU
cmVlU3RhdGVzRnJvemVuKHRydWUpOwogCiAgICAgaWYgKG1hcmtBbGxMYXllcnNWb2xhdGlsZUlm
UG9zc2libGUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAy
YWNhYTgxZTJjOGQ2YjgzMjE5MjE0MTQ0MWQ1NGNjNmFhYjNkNTMzLi5kN2Q4ZTQ2ODA2ZTVlYTZi
MmJjMWZmNDVkYzZlYjhiNGRiZDBmMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaApAQCAtMzY0LDYgKzM2NCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFNob3Vs
ZEFja25vd2xlZGdlV2hlblJlYWR5VG9TdXNwZW5kIG1fc2hvdWxkQWNrbm93bGVkZ2VXaGVuUmVh
ZHlUb1N1c3BlbmQ7CisgICAgYm9vbCBtX3N1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>