<?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>184795</bug_id>
          
          <creation_ts>2018-04-19 14:50:44 -0700</creation_ts>
          <short_desc>Remove Strong Password decoration when text field type changes</short_desc>
          <delta_ts>2018-05-08 11:14:04 -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 Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=185433</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1416071</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-19 14:50:44 -0700</bug_when>
    <thetext>Remove Strong Password decoration when text field type changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416075</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-19 14:56:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/38325108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416077</commentid>
    <comment_count>2</comment_count>
      <attachid>338362</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-19 14:56:55 -0700</bug_when>
    <thetext>Created attachment 338362
Patch and layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416097</commentid>
    <comment_count>3</comment_count>
      <attachid>338362</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-19 15:39:16 -0700</bug_when>
    <thetext>Comment on attachment 338362
Patch and layout test

We need to notify the embedding client when the decoration is removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416193</commentid>
    <comment_count>4</comment_count>
      <attachid>338400</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-20 00:09:20 -0700</bug_when>
    <thetext>Created attachment 338400
Patch and tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416399</commentid>
    <comment_count>5</comment_count>
      <attachid>338400</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-20 13:45:57 -0700</bug_when>
    <thetext>Comment on attachment 338400
Patch and tests

Clearing flags on attachment: 338400

Committed r230851: &lt;https://trac.webkit.org/changeset/230851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416400</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-20 13:45:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338362</attachid>
            <date>2018-04-19 14:56:55 -0700</date>
            <delta_ts>2018-04-20 00:09:19 -0700</delta_ts>
            <desc>Patch and layout test</desc>
            <filename>bug-184795-20180419145654.patch</filename>
            <type>text/plain</type>
            <size>9562</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmFkMDY2ZmFkN2NmYzI2
MzBkNjgzMzE5OTc1ZjdkYWU4ODJkZDY1Mi4uZDlhNDA3ZmQ4NjIwOTliYTlmYmU2OTVmNzUxZTkz
ZGI1N2E0OGMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE4LTA0LTE5ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgU3Ryb25nIFBh
c3N3b3JkIGRlY29yYXRpb24gd2hlbiB0ZXh0IGZpZWxkIHR5cGUgY2hhbmdlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0Nzk1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zODMyNTEwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIFN0cm9uZyBQYXNzd29yZCBkZWNvcmF0aW9uIHdo
ZW4gdGhlIHRleHQgZmllbGQncyB0eXBlIGNoYW5nZXMgdG8gYXZvaWQgaW50ZXJmZXJpbmcKKyAg
ICAgICAgd2l0aCB3ZWIgc2l0ZXMgdGhhdCBhbGxvdyBhIHBlcnNvbiB0byBzaG93L2hpZGUgdGhl
aXIgcGFzc3dvcmQuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9u
L2hpZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLmh0bWwKKworICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojp1cGRhdGVUeXBlKToKKworMjAxOC0wNC0xOSAgRGFuaWVsIEJhdGVzICA8
ZGFiYXRlc0BhcHBsZS5jb20+CisKICAgICAgICAgSGlkZSBTdHJvbmcgUGFzc3dvcmQgbGFiZWwg
d2hlbiB0ZXh0IGZpZWxkIGlzIHRvbyBuYXJyb3cKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc4NQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgx
ODM5Mzk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA1YmRh
NzgyMmJmYzUwOTAyMmQ1MzgwYzdkNDMxMzUxM2IzZTBiOWU1Li5jNDEwMjM5N2I3Nzk1MjU5ZjYw
ZTI1MjM3MGYxNmZiMGU4MDEzODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKQEAgLTQ5Myw2ICs0OTMsMTEgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50Ojp1cGRh
dGVUeXBlKCkKIAogICAgIHJlbW92ZUZyb21SYWRpb0J1dHRvbkdyb3VwKCk7CiAKKyAgICBpZiAo
aGFzQXV0b0ZpbGxTdHJvbmdQYXNzd29yZEJ1dHRvbigpKSB7CisgICAgICAgIHNldEF1dG9GaWxs
ZWQoZmFsc2UpOworICAgICAgICBzZXRTaG93QXV0b0ZpbGxCdXR0b24oQXV0b0ZpbGxCdXR0b25U
eXBlOjpOb25lKTsKKyAgICB9CisKICAgICBib29sIGRpZFN0b3JlVmFsdWUgPSBtX2lucHV0VHlw
ZS0+c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKTsKICAgICBib29sIHdpbGxTdG9y
ZVZhbHVlID0gbmV3VHlwZS0+c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKTsKICAg
ICBib29sIG5lZWRlZFN1c3BlbnNpb25DYWxsYmFjayA9IG5lZWRzU3VzcGVuc2lvbkNhbGxiYWNr
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMWEyZjNlYmEyZDUzMTcxMjcyODM4ZGZiMDdjYzBhMDdjZWYzZWM5NC4uNDM0
YzljNGNkZWQyZmVlODA2NjU4YzgyYTUzOWI5OTZlODVlZGQ5NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2
IEBACiAyMDE4LTA0LTE5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAg
ICAgICBSZW1vdmUgU3Ryb25nIFBhc3N3b3JkIGRlY29yYXRpb24gd2hlbiB0ZXh0IGZpZWxkIHR5
cGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg0Nzk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODMyNTEwOD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgdG8gZW5zdXJl
IHRoYXQgd2UgcmVtb3ZlIHRoZSBTdHJvbmcgUGFzc3dvcmQgZGVjb3JhdGlvbiB3aGVuIHRoZSB0
ZXh0IGZpZWxkJ3MgdHlwZSBjaGFuZ2VzLgorCisgICAgICAgIEV4dHJhY3QgY29kZSB0byB0b2dn
bGUgc2hvd2luZyB0aGUgQXV0b0ZpbGwgYnV0dG9uIGZyb20gZmFzdC9mb3Jtcy9hdXRvLWZpbGwt
YnV0dG9uL2lucHV0LXtkaXNhYmxlZCwgcmVhZG9ubHl9LXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ry
b25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1hdXRvLWZpbGwtYnV0dG9ucy5odG1sCisgICAgICAg
IGludG8gYSBuZXcgZmlsZSBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vcmVzb3VyY2VzL3By
b2Nlc3MtYXV0by1maWxsLWJ1dHRvbi10eXBlLWFuZC1pbnZva2UtcnVuVGVzdC5qcworICAgICAg
ICB0aGF0IGNhbiBiZSBzaGFyZWQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1i
dXR0b24vaGlkZS1zdHJvbmctcGFzc3dvcmQtd2hlbi1maWVsZC10eXBlLWNoYW5nZXMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hp
ZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9pbnB1dC1kaXNhYmxlZC1zdHJv
bmctcGFzc3dvcmQtYW5kLXN0cm9uZy1jb25maXJtYXRpb24tcGFzc3dvcmQtYXV0by1maWxsLWJ1
dHRvbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQt
cmVhZG9ubHktc3Ryb25nLXBhc3N3b3JkLWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3Jk
LWF1dG8tZmlsbC1idXR0b25zLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvLWZpbGwt
YnV0dG9uL3Jlc291cmNlcy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tl
LXJ1blRlc3QuanM6IEFkZGVkLgorICAgICAgICAod2luZG93Lm9ubG9hZCk6CisKKzIwMTgtMDQt
MTkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIEhpZGUgU3Ry
b25nIFBhc3N3b3JkIGxhYmVsIHdoZW4gdGV4dCBmaWVsZCBpcyB0b28gbmFycm93CiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ3ODUKICAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzM4MTgzOTM5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlw
ZS1jaGFuZ2VzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmls
bC1idXR0b24vaGlkZS1zdHJvbmctcGFzc3dvcmQtd2hlbi1maWVsZC10eXBlLWNoYW5nZXMtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjEyZGQ2ZGMwOGY2NzhkY2NmZDM2NmYxZTBjOTU1NWFm
YTBiY2JhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZp
bGwtYnV0dG9uL2hpZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3RzIHRoYXQgYSB0ZXh0IGZpZWxkIGRlY29yYXRlZCBhcyBhIFN0cm9u
ZyBQYXNzd29yZCBvciBTdHJvbmcgQ29uZmlybWF0aW9uIFBhc3N3b3JkIGZpZWxkIHJldmVydCB0
byBhIG5vcm1hbCB0ZXh0IGZpZWxkIHdoZW4gdGhlIHR5cGUgb2YgdGhlIHRleHQgZmllbGQgY2hh
bmdlcy4gSXQgY2FuIG9ubHkgYmUgdGVzdGVkIGluIHRoZSB0ZXN0IHRvb2wuPC9wPgorPGlucHV0
IHR5cGU9InRleHQiIHZhbHVlPSJDdXBlcnRpbm8iPgorPGlucHV0IHR5cGU9InRleHQiIHZhbHVl
PSJDdXBlcnRpbm8iPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmll
bGQtdHlwZS1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1i
dXR0b24vaGlkZS1zdHJvbmctcGFzc3dvcmQtd2hlbi1maWVsZC10eXBlLWNoYW5nZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iOTBjNzZlNWE0YWE3Nzg4ZjhlMTE4NjU5OTFiZmQ3YzI5YjBkMWMxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hp
ZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLmh0bWwKQEAgLTAsMCAr
MSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgbGV0
IGlucHV0RWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsK
KyAgICBmb3IgKGxldCBpbnB1dEVsZW1lbnQgb2YgaW5wdXRFbGVtZW50cykKKyAgICAgICAgaW5w
dXRFbGVtZW50LnR5cGUgPSAidGV4dCI7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgIGludGVybmFscy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Q
b3N0TGF5b3V0VGFza3MoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdHMgdGhhdCBhIHRleHQgZmllbGQgZGVjb3JhdGVkIGFzIGEgU3Ryb25nIFBhc3N3
b3JkIG9yIFN0cm9uZyBDb25maXJtYXRpb24gUGFzc3dvcmQgZmllbGQgcmV2ZXJ0IHRvIGEgbm9y
bWFsIHRleHQgZmllbGQgd2hlbiB0aGUgdHlwZSBvZiB0aGUgdGV4dCBmaWVsZCBjaGFuZ2VzLiBJ
dCBjYW4gb25seSBiZSB0ZXN0ZWQgaW4gdGhlIHRlc3QgdG9vbC48L3A+Cis8aW5wdXQgdHlwZT0i
cGFzc3dvcmQiIHZhbHVlPSJDdXBlcnRpbm8iIGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJT
dHJvbmdQYXNzd29yZCI+Cis8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSJDdXBlcnRpbm8i
IGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdDb25maXJtYXRpb25QYXNzd29yZCI+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG8tZmlsbC1idXR0b24vaW5wdXQtZGlzYWJsZWQtc3Ryb25nLXBhc3N3b3JkLWFuZC1zdHJvbmct
Y29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmlsbC1idXR0b25zLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQtZGlzYWJsZWQtc3Ryb25nLXBhc3N3
b3JkLWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmlsbC1idXR0b25zLmh0
bWwKaW5kZXggM2VhYzU2M2I4YjhjNTcxODJhOTZiN2MxNzc2OWI3Y2ZiOTExOWM5Yy4uMDEyYTkz
Y2UyMDU3YjA4NDEyMTVkMWQzY2ZmMGQ4NTEyNzg5YTNiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2lucHV0LWRpc2FibGVkLXN0cm9uZy1wYXNz
d29yZC1hbmQtc3Ryb25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1hdXRvLWZpbGwtYnV0dG9ucy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9pbnB1dC1k
aXNhYmxlZC1zdHJvbmctcGFzc3dvcmQtYW5kLXN0cm9uZy1jb25maXJtYXRpb24tcGFzc3dvcmQt
YXV0by1maWxsLWJ1dHRvbnMuaHRtbApAQCAtMSwxNSArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wcm9jZXNzLWF1dG8tZmls
bC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgog
PGJvZHk+CiA8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIFN0cm9uZyBQYXNzd29yZCBhbmQgU3Ryb25n
IENvbmZpcm1hdGlvbiBQYXNzd29yZCBBdXRvRmlsbCBidXR0b25zIGRvIG5vdCByZW5kZXIgaW4g
YSBkaXNhYmxlZCBmaWVsZC4gSXQgY2FuIG9ubHkgYmUgdGVzdGVkIGluIHRoZSB0ZXN0IHRvb2wu
PC9wPgogPGlucHV0IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iZGlzYWJsZWQiIGRpc2Fi
bGVkIGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdQYXNzd29yZCI+CiA8aW5wdXQg
dHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJkaXNhYmxlZCIgZGlzYWJsZWQgZGF0YS1hdXRv
LWZpbGwtYnV0dG9uLXR5cGU9IlN0cm9uZ0NvbmZpcm1hdGlvblBhc3N3b3JkIj4KLTxzY3JpcHQ+
Ci1pZiAod2luZG93LmludGVybmFscykgewotICAgIHZhciBpbnB1dEVsZW1lbnRzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7Ci0gICAgZm9yIChsZXQgaW5wdXRFbGVt
ZW50IG9mIGlucHV0RWxlbWVudHMpCi0gICAgICAgIGludGVybmFscy5zZXRTaG93QXV0b0ZpbGxC
dXR0b24oaW5wdXRFbGVtZW50LCBpbnB1dEVsZW1lbnQuZGF0YXNldC5hdXRvRmlsbEJ1dHRvblR5
cGUpOwotfQotPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQtcmVhZG9ubHktc3Ryb25nLXBh
c3N3b3JkLWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmlsbC1idXR0b25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQtcmVh
ZG9ubHktc3Ryb25nLXBhc3N3b3JkLWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1
dG8tZmlsbC1idXR0b25zLmh0bWwKaW5kZXggNzY0ZWRlODAxMzRlNjMyMjlhMTA1ODU5YTFjMmUz
ZDFlZWIyOTk0ZC4uYTNkMWMwMzE1OTliZWJkM2ExNzI2ODk5YjRhOWI1MmUxN2FjNmNjYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2lucHV0LXJl
YWRvbmx5LXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ryb25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1h
dXRvLWZpbGwtYnV0dG9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1m
aWxsLWJ1dHRvbi9pbnB1dC1yZWFkb25seS1zdHJvbmctcGFzc3dvcmQtYW5kLXN0cm9uZy1jb25m
aXJtYXRpb24tcGFzc3dvcmQtYXV0by1maWxsLWJ1dHRvbnMuaHRtbApAQCAtMSwxNSArMSwxMSBA
QAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgogPGJvZHk+CiA8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIFN0cm9uZyBQ
YXNzd29yZCBhbmQgU3Ryb25nIENvbmZpcm1hdGlvbiBQYXNzd29yZCBBdXRvRmlsbCBidXR0b25z
IGRvIG5vdCByZW5kZXIgcmVhZCBvbmx5IGZpZWxkLiBJdCBjYW4gb25seSBiZSB0ZXN0ZWQgaW4g
dGhlIHRlc3QgdG9vbC48L3A+CiA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJy
ZWFkIG9ubHkiIHJlYWRvbmx5IGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdQYXNz
d29yZCI+CiA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJyZWFkIG9ubHkiIHJl
YWRvbmx5IGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdDb25maXJtYXRpb25QYXNz
d29yZCI+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICB2YXIgaW5wdXRF
bGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOwotICAgIGZv
ciAobGV0IGlucHV0RWxlbWVudCBvZiBpbnB1dEVsZW1lbnRzKQotICAgICAgICBpbnRlcm5hbHMu
c2V0U2hvd0F1dG9GaWxsQnV0dG9uKGlucHV0RWxlbWVudCwgaW5wdXRFbGVtZW50LmRhdGFzZXQu
YXV0b0ZpbGxCdXR0b25UeXBlKTsKLX0KLTwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL3Jlc291cmNl
cy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vcmVzb3VyY2VzL3Byb2Nlc3Mt
YXV0by1maWxsLWJ1dHRvbi10eXBlLWFuZC1pbnZva2UtcnVuVGVzdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
YzJlZGUzNGZiOTY1Mjg5M2I4ZGFhYWFkMWE4NTQ0NjE2ZGYxY2Y4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9j
ZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMKQEAgLTAsMCAr
MSwxMiBAQAord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpCit7CisgICAgaWYgKCF3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCJUaGlzIHRlc3QgbXVzdCBiZSBydW4g
aW4gRHVtcFJlbmRlclRyZWUgb3IgV2ViS2l0VGVzdFJ1bm5lci4iKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBsZXQgaW5wdXRFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJpbnB1dCIpOworICAgIGZvciAobGV0IGlucHV0RWxlbWVudCBvZiBpbnB1dEVsZW1l
bnRzKQorICAgICAgICBpbnRlcm5hbHMuc2V0U2hvd0F1dG9GaWxsQnV0dG9uKGlucHV0RWxlbWVu
dCwgaW5wdXRFbGVtZW50LmRhdGFzZXQuYXV0b0ZpbGxCdXR0b25UeXBlKTsKKyAgICBpZiAod2lu
ZG93LnJ1blRlc3QpCisgICAgICAgIHdpbmRvdy5ydW5UZXN0KCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338400</attachid>
            <date>2018-04-20 00:09:20 -0700</date>
            <delta_ts>2018-04-20 13:45:57 -0700</delta_ts>
            <desc>Patch and tests</desc>
            <filename>bug-184795-20180420000920.patch</filename>
            <type>text/plain</type>
            <size>55592</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmFkMDY2ZmFkN2NmYzI2
MzBkNjgzMzE5OTc1ZjdkYWU4ODJkZDY1Mi4uMmM4ODVkMWY4MzIwOWJkMjZlODEwNWFkODBlYzQ4
YjA0NGVlMjJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA0LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU3Ryb25nIFBh
c3N3b3JkIGRlY29yYXRpb24gd2hlbiB0ZXh0IGZpZWxkIHR5cGUgY2hhbmdlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0Nzk1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zODMyNTEwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIFN0cm9uZyBQYXNzd29yZCBkZWNvcmF0aW9uIHdo
ZW4gdGhlIHRleHQgZmllbGQncyB0eXBlIGNoYW5nZXMgdG8gYXZvaWQgaW50ZXJmZXJpbmcKKyAg
ICAgICAgd2l0aCB3ZWIgc2l0ZXMgdGhhdCBhbGxvdyBhIHBlcnNvbiB0byBzaG93L2hpZGUgdGhl
aXIgcGFzc3dvcmQuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9u
L2hpZGUtc3Ryb25nLXBhc3N3b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLmh0bWwKKworICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojp1cGRhdGVUeXBlKToKKwogMjAxOC0wNC0xOSAgRGFuaWVsIEJhdGVzICA8
ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgSGlkZSBTdHJvbmcgUGFzc3dvcmQgbGFiZWwg
d2hlbiB0ZXh0IGZpZWxkIGlzIHRvbyBuYXJyb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggN2I1ZmJiZjJjYmFjOTIw
YzRiMDUwZTJiNGU5YzcxMGY0M2RmNjlmNC4uYzJkM2EzOWU4NjY2ZjFmMmY4NjM4NzQzOWFmMzMw
MzNjMWQwY2VkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxOC0wNC0yMCAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFN0cm9uZyBQYXNz
d29yZCBkZWNvcmF0aW9uIHdoZW4gdGV4dCBmaWVsZCB0eXBlIGNoYW5nZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc5NQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzgzMjUxMDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGluamVjdGVkIGJ1bmRsZSBBUEkgYW5kIFdlYktpdCBVSSBkZWxl
Z2F0ZSBTUEkgdG8gbm90aWZ5IHRoZSBlbWJlZGRpbmcgY2xpZW50IHdoZW4gdGhlCisgICAgICAg
IFN0cm9uZyBQYXNzd29yZCBhcHBlYXJhbmNlIG9mIGFuIEhUTUwgaW5wdXQgZWxlbWVudCBpcyBy
ZXNpZ25lZC4KKworICAgICAgICBXZSBhZGQgQyBTUEkgZm9yIFNhZmFyaSBvbiBNYWMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xp
ZW50OjpkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFn
ZVVJQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXRE
ZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRSZXNp
Z25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
QVBJSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRC
dW5kbGU6OlBhZ2VVSUNsaWVudDo6ZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRB
cHBlYXJhbmNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZVVJQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVj
dGVkQnVuZGxlUGFnZVVJQ2xpZW50OjpkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29y
ZEFwcGVhcmFuY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVu
dDo6aW5wdXRFbGVtZW50RGlkUmVzaWduU3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDE4
LTA0LTEwICBNaWd1ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S11bV1BFXSBSYWNlIGNvbmRpdGlvbiB3aGVuIGRlc3Ryb3lpbmcgd2VicHJvY2Vzc2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA1YmRhNzgyMmJmYzUwOTAy
MmQ1MzgwYzdkNDMxMzUxM2IzZTBiOWU1Li43YWE3MWIyYzQ0NjFjNTBkYTBmMzc1YTM3Nzk5YTM0
MjY2NzZjZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAg
LTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2Rl
Lm9yZykKICAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9y
ZykKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqICAgICAgICAgICAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IChhcEBu
eXBvcC5jb20pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2FtdWVsIFdlaW5pZyAoc2FtQHdlYmtp
dC5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgor
I2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUg
IkRhdGVUaW1lQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWRp
dG9yLmgiCkBAIC01Myw2ICs1NSw3IEBACiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2lu
Y2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2luY2x1ZGUg
IlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgi
CkBAIC00OTMsNiArNDk2LDEzIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6dXBkYXRlVHlwZSgp
CiAKICAgICByZW1vdmVGcm9tUmFkaW9CdXR0b25Hcm91cCgpOwogCisgICAgaWYgKGhhc0F1dG9G
aWxsU3Ryb25nUGFzc3dvcmRCdXR0b24oKSkgeworICAgICAgICBzZXRBdXRvRmlsbGVkKGZhbHNl
KTsKKyAgICAgICAgc2V0U2hvd0F1dG9GaWxsQnV0dG9uKEF1dG9GaWxsQnV0dG9uVHlwZTo6Tm9u
ZSk7CisgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5pbnB1dEVsZW1lbnREaWRSZXNpZ25TdHJvbmdQ
YXNzd29yZEFwcGVhcmFuY2UoKnRoaXMpOworICAgIH0KKwogICAgIGJvb2wgZGlkU3RvcmVWYWx1
ZSA9IG1faW5wdXRUeXBlLT5zdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpOwogICAg
IGJvb2wgd2lsbFN0b3JlVmFsdWUgPSBuZXdUeXBlLT5zdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0
dHJpYnV0ZSgpOwogICAgIGJvb2wgbmVlZGVkU3VzcGVuc2lvbkNhbGxiYWNrID0gbmVlZHNTdXNw
ZW5zaW9uQ2FsbGJhY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDUzNDEz
ZTU3NjhjODBhNGJhZTc2N2E0OGExY2U1MWQ1ODY2YjRlMjQuLmE1MTI1NDAyMDMwNjI3MDU2ODU4
NjFjNDg1ZDEwNTA0MDYyZjdlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNyBBcHBsZSwgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTggQXBwbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC00NDcs
NiArNDQ3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF1dG9GaWxsQnV0
dG9uQ2xpY2soSFRNTElucHV0RWxlbWVudCYpIHsgfQogCisgICAgdmlydHVhbCB2b2lkIGlucHV0
RWxlbWVudERpZFJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZShIVE1MSW5wdXRFbGVtZW50
JikgeyB9OworCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2aXJ0
dWFsIHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQodWludDY0X3QgLypjb250ZXh0
SWQqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xp
ZW50KHVpbnQ2NF90IC8qY29udGV4dElkKi8pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJVUlDbGllbnQuaAppbmRleCA2OGRkZGY5Y2Y4MjllNDM4MTVmNDY2Zjc0NTZmNWZkYjlj
YTEyNTM2Li5kMGJjYTc2YTAyMTQxMTFmZTFmYWQ4OTI1ZmJjN2FmMzE5MWM3YjI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzAsNiArMTcwLDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpX
ZWJQYWdlUHJveHkmLCBPYmplY3QqKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkaWRSZXNpZ25J
bnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UoV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBPYmplY3QqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBpbWFnZU9yTWVkaWFEb2N1bWVudFNp
emVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBkaWRFeGNlZWRCYWNrZ3JvdW5kUmVzb3VyY2VMaW1pdFdoaWxlSW5Gb3JlZ3JvdW5kKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV0tSZXNvdXJjZUxpbWl0KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDZhNjU1ZmQyODIyNjQ0MWRkMDY2ZWQwYmJiN2Rk
MGZlODc0MzI5NzkuLmJhNGFhYmE3MzhhYWJlZWE3MTRhYWM4OTBmNjBmNWY0Y2Q1ZWMwZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTAs
NyArMTEwLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVBvbGljeUNs
aWVudEJhc2U+IHsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VV
SUNsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwg
V0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRWMywgV0tQ
YWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwgV0tQYWdlVUlDbGllbnRWNiwgV0tQYWdl
VUlDbGllbnRWNywgV0tQYWdlVUlDbGllbnRWOCwgV0tQYWdlVUlDbGllbnRWOSwgV0tQYWdlVUlD
bGllbnRWMTA+IFZlcnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVu
dFYwLCBXS1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYz
LCBXS1BhZ2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNsaWVudFY2LCBX
S1BhZ2VVSUNsaWVudFY3LCBXS1BhZ2VVSUNsaWVudFY4LCBXS1BhZ2VVSUNsaWVudFY5LCBXS1Bh
Z2VVSUNsaWVudFYxMCwgV0tQYWdlVUlDbGllbnRWMTE+IFZlcnNpb25zOwogfTsKIAogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQpAQCAtMjA2Nyw2ICsyMDY3LDE0IEBAIHZvaWQgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2Uq
IHdrQ2xpZW50CiAgICAgICAgICAgICBtX2NsaWVudC5kaWRDbGlja0F1dG9GaWxsQnV0dG9uKHRv
QVBJKCZwYWdlKSwgdG9BUEkodXNlckluZm8pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwog
ICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNz
d29yZEFwcGVhcmFuY2UoV2ViUGFnZVByb3h5JiBwYWdlLCBBUEk6Ok9iamVjdCogdXNlckluZm8p
IGZpbmFsCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkUmVzaWduSW5w
dXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKQorICAgICAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFz
c3dvcmRBcHBlYXJhbmNlKHRvQVBJKCZwYWdlKSwgdG9BUEkodXNlckluZm8pLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOworICAgICAgICB9CisKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikK
ICAgICAgICAgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJQYWdlUHJveHkm
IHBhZ2UsIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhKiBtZXRhZGF0YSkgZmluYWwKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5k
ZXggY2U0ZTI4ZmExYjY4OTc3MTIwZTZjYzI5ZWZjZjk4NGMwNmFiYWY2Zi4uYTY0OWIxZDdkY2Ni
MTI5ZmQzNjZkZDliNDVmNzMxYjNiNjhhYWE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEyNyw2ICsxMjcsNyBAQCB0eXBlZGVmIHZvaWQg
KCpXS1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9p
ZCogY2xpZW50SQogdHlwZWRlZiB2b2lkICgqV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgq
V0tIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgYm9vbCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0RpZEV4Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0
V2hpbGVJbkZvcmVncm91bmRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUmVzb3VyY2VMaW1p
dCBsaW1pdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VE
aWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2VDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CiAKIC8vIERlcHJlY2F0ZWQKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFn
ZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rp
b25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtOTM0LDYg
KzkzNSwxMDQgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWMTAgewogICAgIFdLRGlk
RXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGltaXRXaGlsZUluRm9yZWdyb3VuZENhbGxiYWNrICAg
ICAgICAgZGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGltaXRXaGlsZUluRm9yZWdyb3VuZDsK
IH0gV0tQYWdlVUlDbGllbnRWMTA7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjEx
IHsKKyAgICBXS1BhZ2VVSUNsaWVudEJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAg
ICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlVUlD
bGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaG93UGFnZTsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOworICAgIFdLUGFnZVRha2VGb2N1c0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZv
Y3VzOworICAgIFdLUGFnZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9jdXM7CisgICAgV0tQYWdlVW5mb2N1c0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmZvY3VzOworICAg
IFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAg
ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7Cisg
ICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFYwICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFYw
OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYwICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0
aFYwOworICAgIFdLUGFnZVNldFN0YXR1c1RleHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzVGV4dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1v
dmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgIG1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlTWlz
c2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAg
ICBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAg
IFdLUGFnZURpZE5vdEhhbmRsZUtleUV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlkTm90SGFuZGxlS2V5RXZlbnQ7CisgICAgV0tQYWdlRGlkTm90SGFuZGxl
V2hlZWxFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RI
YW5kbGVXaGVlbEV2ZW50OworICAgIFdLUGFnZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOworICAg
IFdLUGFnZVNldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0VG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZUdldE1lbnVCYXJJ
c1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJh
cklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQ
YWdlR2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0U3RhdHVzQmFySXNWaXNp
YmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNCYXJJ
c1Zpc2libGU7CisgICAgV0tQYWdlR2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jl
c2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dElzUmVzaXphYmxlOworICAgIFdLUGFnZUdldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdl
U2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWxDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY2ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbF9kZXByZWNhdGVkRm9yVXNlV2l0aFY2OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRHJhdzsK
KyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFz
ZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlZWRlZERh
dGFiYXNlUXVvdGE7CisgICAgV0tQYWdlUnVuT3BlblBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVj
aWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAg
ICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFn
ZUhlYWRlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVhZGVySGVpZ2h0OworICAgIFdLUGFnZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdL
UGFnZURyYXdIZWFkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHJhd0hlYWRlcjsKKyAgICBXS1BhZ2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQ
YWdlUHJpbnRGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwcmludEZyYW1lOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnVzZWQxOyAvLyBVc2VkIHRvIGJlIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5G
cmFtZQorICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAg
ICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEludGVycnVwdEphdmFTY3JpcHRfdW5hdmFpbGFibGU7CisKKyAg
ICAvLyBWZXJzaW9uIDEuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjEgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjE7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAg
ICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxi
YWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjE7CisKKyAgICAvLyBWZXJzaW9uIDIuCisgICAgV0tQYWdlU2hvd0NvbG9y
UGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93
Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CisgICAgV0tQYWdl
VW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7CisKKyAgICAvLyBWZXJzaW9uIDMu
CisgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKKworICAgIC8vIFZlcnNpb24g
NC4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVudXNlZDI7IC8vIFVzZWQgdG8gYmUgZGlkQmVnaW5UcmFja2lu
Z1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMzsgLy8gVXNl
ZCB0byBiZSBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNl
ZDQ7IC8vIFVzZWQgdG8gYmUgZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVz
cy4KKyAgICBXS1BhZ2VJc1BsYXlpbmdBdWRpb0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlOworCisgICAgLy8gVmVy
c2lvbiA1LgorICAgIFdLUGFnZURlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0Q2FsbGJhY2sgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3Q7CisgICAgV0tQYWdlRGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbkNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDbGlja0F1dG9GaWxsQnV0dG9uOworICAgIFdL
UGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAg
ICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAg
V0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1
ICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFY1Owor
ICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFY1ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1
OworICAgIFdLUGFnZU1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2U7CisKKyAgICAv
LyBWZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOworICAgIFdLUGFnZVJ1
bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZp
cm07CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0OworICAgIFdLQ2hlY2tVc2Vy
TWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luOworCisgICAgLy8gVmVyc2lvbiA3Lgor
ICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsOworICAgIFdLRnVsbHNj
cmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOworCisgICAgLy8gVmVyc2lvbiA4LgorICAg
IFdLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrOworICAgIFdLRGlkTG9zZVBvaW50ZXJMb2Nr
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTG9zZVBv
aW50ZXJMb2NrOworCisgICAgLy8gVmVyc2lvbiA5LgorICAgIFdLSGFuZGxlQXV0b3BsYXlFdmVu
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQXV0
b3BsYXlFdmVudDsKKworICAgIC8vIFZlcnNpb24gMTAuCisgICAgV0tIYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBoYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTsKKyAgICBXS0RpZEV4Y2VlZEJhY2tncm91bmRS
ZXNvdXJjZUxpbWl0V2hpbGVJbkZvcmVncm91bmRDYWxsYmFjayAgICAgICAgIGRpZEV4Y2VlZEJh
Y2tncm91bmRSZXNvdXJjZUxpbWl0V2hpbGVJbkZvcmVncm91bmQ7CisKKyAgICAvLyBWZXJzaW9u
IDExLgorICAgIFdLUGFnZURpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFy
YW5jZUNhbGxiYWNrICAgICAgICAgZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRB
cHBlYXJhbmNlOworfSBXS1BhZ2VVSUNsaWVudFYxMTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGQxMmFhMjBkZDFmNzg1NzRjM2M5YzY5Mjg1MWU3
MGU1NzI2MDU1MGYuLjEzMmZkMmUwOTJjNjM5MWRmOGExMWJmNDMyMzljNTgyYmUyYzNhYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxl
Z2F0ZVByaXZhdGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkSW5zZXJ0QXR0YWNobWVudDooX1dL
QXR0YWNobWVudCAqKWF0dGFjaG1lbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCks
IGlvcygxMS4zKSk7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZElu
c2VydEF0dGFjaG1lbnQ6KF9XS0F0dGFjaG1lbnQgKilhdHRhY2htZW50IHdpdGhTb3VyY2U6KE5T
U3RyaW5nICopc291cmNlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwogCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRp
ZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZVdpdGhVc2VySW5mbzoo
aWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogI2lmIFRBUkdFVF9PU19JUEhPTkUKIC0gKEJP
T0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkSW5jbHVkZUFwcExpbmtBY3Rp
b25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDkuMCkpOwogLSAoTlNBcnJheSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IGFjdGlvbnNGb3JFbGVtZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1l
bnQgZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXk8X1dLRWxlbWVudEFjdGlvbiAqPiAqKWRlZmF1bHRB
Y3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCmluZGV4
IDI4OTkwZWQyMDc1YmI4NmZhNzg1NTZiMDFiMjNkY2FjYTcyYjhkZDAuLjI2NWRhYzlhZWM4MDFm
OWJkNjhjNTEwODA4OWJkYTEzOWQwYTUzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMTE0LDYgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQg
dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKFdlYlBhZ2VQcm94eSYsIFdLUGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24sIEFQSTo6RGljdGlvbmFyeSYpIGZpbmFsOwogICAgICAgICB2b2lk
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KFdlYlBhZ2VQcm94eSYsIGNvbnN0IFdlYkhpdFRlc3RS
ZXN1bHREYXRhJiwgV2ViRXZlbnQ6Ok1vZGlmaWVycywgQVBJOjpPYmplY3QqKTsKICAgICAgICAg
dm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYlBhZ2VQcm94eSYsIEFQSTo6T2JqZWN0Kikg
ZmluYWw7CisgICAgICAgIHZvaWQgZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRB
cHBlYXJhbmNlKFdlYlBhZ2VQcm94eSYsIEFQSTo6T2JqZWN0KikgZmluYWw7CiAgICAgICAgIHZv
aWQgdG9vbGJhcnNBcmVWaXNpYmxlKFdlYlBhZ2VQcm94eSYsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+
JiYpIGZpbmFsOwogICAgICAgICBib29sIHJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJG
cmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwgQVBJOjpPcGVu
UGFuZWxQYXJhbWV0ZXJzKiwgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopIGZpbmFs
OwogICAgICAgICB2b2lkIGRpZEV4Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0V2hpbGVJbkZv
cmVncm91bmQoV2ViUGFnZVByb3h5JiwgV0tSZXNvdXJjZUxpbWl0KSBmaW5hbDsKQEAgLTE3Miw2
ICsxNzMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdIYW5kbGVBdXRvcGxheUV2
ZW50V2l0aEZsYWdzIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3VW5hdmFpbGFibGVQbHVnSW5C
dXR0b25DbGlja2VkIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkQ2xpY2tBdXRvRmlsbEJ1
dHRvbldpdGhVc2VySW5mbyA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld0RpZFJlc2lnbklucHV0
RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZVdpdGhVc2VySW5mbyA6IDE7CiAgICAgICAg
IGJvb2wgd2ViVmlld0RyYXdIZWFkZXJJblJlY3RGb3JQYWdlV2l0aFRpdGxlVVJMIDogMTsKICAg
ICAgICAgYm9vbCB3ZWJWaWV3RHJhd0Zvb3RlckluUmVjdEZvclBhZ2VXaXRoVGl0bGVVUkwgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdHZXRXaW5kb3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxl
ciA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRl
eCA0Yzg2NTJmMjkwMzlhZTc2N2RiOWY2Y2M3OTg5ZjJmOGUyN2Q4N2Y4Li5lYmIyZjEzOGViNjYw
MjE0MGVmYWJiYjgxZWU0MGYyZDRhNjdjNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjAsNiArMTIwLDcgQEAgdm9pZCBVSURlbGVnYXRl
OjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3VW5hdmFpbGFibGVQbHVnSW5CdXR0b25DbGlja2VkID0gW2RlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dW5hdmFpbGFibGVQbHVnSW5C
dXR0b25DbGlja2VkV2l0aFJlYXNvbjpwbHVnSW5JbmZvOildOwogICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdIYW5kbGVBdXRvcGxheUV2ZW50V2l0aEZsYWdzID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6aGFuZGxlQXV0b3BsYXlFdmVudDp3aXRo
RmxhZ3M6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZENsaWNrQXV0b0ZpbGxC
dXR0b25XaXRoVXNlckluZm8gPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpkaWRDbGlja0F1dG9GaWxsQnV0dG9uV2l0aFVzZXJJbmZvOildOworICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29y
ZEFwcGVhcmFuY2VXaXRoVXNlckluZm8gPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVh
cmFuY2VXaXRoVXNlckluZm86KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RyYXdI
ZWFkZXJJblJlY3RGb3JQYWdlV2l0aFRpdGxlVVJMID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZHJhd0hlYWRlckluUmVjdDpmb3JQYWdlV2l0aFRpdGxl
OlVSTDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RHJhd0Zvb3RlckluUmVjdEZv
clBhZ2VXaXRoVGl0bGVVUkwgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpkcmF3Rm9vdGVySW5SZWN0OmZvclBhZ2VXaXRoVGl0bGU6VVJMOildOwogICAg
IG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIZWFkZXJIZWlnaHQgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlld0hlYWRlckhlaWdodDopXTsKQEAgLTY5Nyw2
ICs2OTgsMTggQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkQ2xpY2tBdXRvRmlsbEJ1
dHRvbihXZWJQYWdlUHJveHkmLCBBUEk6Ok9iamVjdCogdXMKICAgICBbKGlkIDxXS1VJRGVsZWdh
dGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IGRpZENs
aWNrQXV0b0ZpbGxCdXR0b25XaXRoVXNlckluZm86dXNlckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8
TlNTZWN1cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF07CiB9CiAKK3ZvaWQg
VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3Jk
QXBwZWFyYW5jZShXZWJQYWdlUHJveHkmLCBBUEk6Ok9iamVjdCogdXNlckluZm8pCit7CisgICAg
aWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZFJlc2lnbklucHV0
RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZVdpdGhVc2VySW5mbykKKyAgICAgICAgcmV0
dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgp
OworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIFsoaWQgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcg
ZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlV2l0aFVzZXJJbmZv
OnVzZXJJbmZvID8gc3RhdGljX2Nhc3Q8aWQgPE5TU2VjdXJlQ29kaW5nPj4odXNlckluZm8tPndy
YXBwZXIoKSkgOiBuaWxdOworfQorCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpoYW5kbGVB
dXRvcGxheUV2ZW50KFdlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQgZXZlbnQs
IE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+IGZsYWdzKQogewogICAgIGlm
ICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYW5kbGVBdXRvcGxheUV2
ZW50V2l0aEZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggNWNhMWJkMjgwMjRjM2Y2ZDczMGEzMmE2MmYyZjc5YTE4ZTUzMzU1Yi4uZmQ5YjBhZjQzMjUx
NWIyNWViZjJmYTY0MzM4YWYyNjhhODA1MmQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC03MDU0LDYgKzcwNTQsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmhhbmRsZUF1dG9GaWxsQnV0dG9uQ2xpY2soY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQogICAg
IG1fdWlDbGllbnQtPmRpZENsaWNrQXV0b0ZpbGxCdXR0b24oKnRoaXMsIG1fcHJvY2Vzcy0+dHJh
bnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBl
YXJhbmNlKGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKK3sKKyAgICBtX3VpQ2xpZW50LT5kaWRS
ZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UoKnRoaXMsIG1fcHJvY2Vz
cy0+dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwor
fQorCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElP
UykKIHZvaWQgV2ViUGFnZVByb3h5OjphZGRQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCh1aW50
NjRfdCBjb250ZXh0SWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDE2NmJmOTBjMDg4NDExZTc5OTYzNDViYmI0OTlmZDFlNzUwNjkxMzAuLmM0OWRkNjk5NmFh
NDA4ZmExNmJjZWZmMWE0YTZjYWNkYWNiYWRmOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC0xNzE2LDYgKzE3MTYsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBo
YW5kbGVBdXRvRmlsbEJ1dHRvbkNsaWNrKGNvbnN0IFVzZXJEYXRhJik7CiAKKyAgICB2b2lkIGRp
ZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZShjb25zdCBVc2VyRGF0
YSYpOworCiAgICAgdm9pZCBmaW5pc2hJbml0aWFsaXppbmdXZWJQYWdlQWZ0ZXJQcm9jZXNzTGF1
bmNoKCk7CiAKICAgICB2b2lkIGhhbmRsZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlTmFtZSwgY29uc3QgVXNlckRhdGEmIG1lc3NhZ2VCb2R5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBl
MjYyMjc3M2NmOWM5ZjJjMjIxNzkzMTA4NjdhMzEwOWQ2YmFlNTZjLi42NzIwMmYxZDZmMzBiODhi
MjQwYTIxZGUwMWE2ZGFlOTUzZmJkYWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00NjYsNyArNDY2LDEwIEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgSGFuZGxlTWVzc2FnZShTdHJpbmcgbWVzc2FnZU5hbWUs
IFdlYktpdDo6VXNlckRhdGEgbWVzc2FnZUJvZHkpIFdhbnRzQ29ubmVjdGlvbgogICAgIEhhbmRs
ZVN5bmNocm9ub3VzTWVzc2FnZShTdHJpbmcgbWVzc2FnZU5hbWUsIFdlYktpdDo6VXNlckRhdGEg
bWVzc2FnZUJvZHkpIC0+IChXZWJLaXQ6OlVzZXJEYXRhIHJldHVybkRhdGEpIFdhbnRzQ29ubmVj
dGlvbgogCi0gICAgSGFuZGxlQXV0b0ZpbGxCdXR0b25DbGljayhXZWJLaXQ6OlVzZXJEYXRhIHVz
ZXJEYXRhKTsKKyAgICBIYW5kbGVBdXRvRmlsbEJ1dHRvbkNsaWNrKFdlYktpdDo6VXNlckRhdGEg
dXNlckRhdGEpCisKKyAgICBEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVh
cmFuY2UoV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKKwogICAgIENvbnRlbnRSdWxlTGlzdE5v
dGlmaWNhdGlvbihXZWJDb3JlOjpVUkwgdXJsLCBWZWN0b3I8U3RyaW5nPiBpZGVudGlmaWVycywg
VmVjdG9yPFN0cmluZz4gbm90aWZpY2F0aW9ucykKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUluamVjdGVkQnVuZGxlUGFnZVVJQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUlu
amVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmgKaW5kZXggNDIwMjA5NDE0MzFhMzE1MGQ0NTMzM2Q2
NTIyNTAxNTgyZDUxZGY2YS4uYTA5YTkzZWY3NGRkMzA0NzFkNTNjMDczNDZkZjg4NDVkZTU3M2Vl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9BUElJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQu
aApAQCAtODgsNiArODgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXVEY6OlN0cmluZyBwbHVn
SW5FeHRyYVNjcmlwdCgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYktpdDo6V2ViUGFnZSYsIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlJiwgUmVmUHRyPEFQSTo6T2JqZWN0PiYpIHsgfQor
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBw
ZWFyYW5jZShXZWJLaXQ6OldlYlBhZ2UmLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZSYsIFJlZlB0cjxBUEk6Ok9iamVjdD4mKSB7IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbmpl
Y3RlZEJ1bmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlVUlDbGllbnQuaAppbmRleCBl
ODZiODJlNjcyMTA2MzBmMzRkNGFlNjczNmI4OTA3N2ZkY2ViYTE1Li5mNTY2YmJkNmFkMTllOTY1
MmJkZTc0NzhiMGY5MGE4OTBhNGU0ZTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlVUlDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdl
VUlDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC01NCw2ICs1NCw3IEBAIHR5cGVkZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBh
Z2VQbHVnSW5DcmVhdGVTdGFydExhYmVsU3VidGl0bGVDYWxsYmFjaykoV0tTdHJpCiB0eXBlZGVm
IFdLU3RyaW5nUmVmICgqV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFTdHlsZVNoZWV0Q2Fs
bGJhY2spKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiBXS1N0cmluZ1JlZiAoKldL
QnVuZGxlUGFnZVBsdWdJbkNyZWF0ZUV4dHJhU2NyaXB0Q2FsbGJhY2spKGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ2xpY2tBdXRvRmlsbEJ1
dHRvbkNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVm
IGlucHV0RWxlbWVudCwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJv
bmdQYXNzd29yZEFwcGVhcmFuY2UpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVI
YW5kbGVSZWYgaW5wdXRFbGVtZW50LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlVUlDbGllbnRCYXNlIHsK
ICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC0xNzAsMyArMTcxLDQyIEBAIHR5cGVkZWYgc3Ry
dWN0IFdLQnVuZGxlUGFnZVVJQ2xpZW50VjMgewogICAgIFdLQnVuZGxlUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRv
RmlsbEJ1dHRvbjsKIH0gV0tCdW5kbGVQYWdlVUlDbGllbnRWMzsKIAordHlwZWRlZiBzdHJ1Y3Qg
V0tCdW5kbGVQYWdlVUlDbGllbnRWNCB7CisgICAgV0tCdW5kbGVQYWdlVUlDbGllbnRCYXNlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8g
VmVyc2lvbiAwLgorICAgIFdLQnVuZGxlUGFnZVdpbGxBZGRNZXNzYWdlVG9Db25zb2xlQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbEFkZE1lc3NhZ2VUb0NvbnNvbGU7CisgICAg
V0tCdW5kbGVQYWdlV2lsbFNldFN0YXR1c2JhclRleHRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWxsU2V0U3RhdHVzYmFyVGV4dDsKKyAgICBXS0J1bmRsZVBhZ2VXaWxsUnVu
SmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxSdW5K
YXZhU2NyaXB0QWxlcnQ7CisgICAgV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFTY3JpcHRDb25maXJt
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB3aWxsUnVuSmF2YVNjcmlwdENvbmZpcm07
CisgICAgV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWxsUnVuSmF2YVNjcmlwdFByb21wdDsKKyAgICBXS0J1bmRsZVBh
Z2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50OworICAgIFdLQnVuZGxlUGFnZURpZFNjcm9sbENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURpZFNjcm9sbDsK
KyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVudXNlZDE7CisgICAgV0tCdW5kbGVQYWdlR2VuZXJhdGVGaWxlRm9y
VXBsb2FkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRHZW5lcmF0ZUZp
bGVGb3JVcGxvYWQ7CisgICAgV0tCdW5kbGVQYWdlR2VuZXJhdGVGaWxlRm9yVXBsb2FkQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZpbGVGb3JVcGxvYWQ7CisgICAg
dm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnVzZWQyOworICAgIFdLQnVuZGxlUGFnZVN0YXR1c0JhcklzVmlzaWJsZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFySXNWaXNpYmxlOwor
ICAgIFdLQnVuZGxlUGFnZU1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKKyAgICBXS0J1bmRsZVBhZ2VUb29sYmFy
c0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xiYXJz
QXJlVmlzaWJsZTsKKworICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS0J1bmRsZVBhZ2VSZWFjaGVk
QXBwQ2FjaGVPcmlnaW5RdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgIGRpZFJlYWNo
QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhOworCisgICAgLy8gVmVyc2lvbiAyLgorICAgIFdL
QnVuZGxlUGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkRXhjZWVkRGF0YWJhc2VRdW90YTsKKyAgICBXS0J1bmRsZVBhZ2VQbHVnSW5D
cmVhdGVTdGFydExhYmVsVGl0bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVBs
dWdJblN0YXJ0TGFiZWxUaXRsZTsKKyAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVTdGFydExh
YmVsU3VidGl0bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJblN0YXJ0TGFi
ZWxTdWJ0aXRsZTsKKyAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRyYVN0eWxlU2hlZXRD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJbkV4dHJhU3R5bGVTaGVldDsK
KyAgICBXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRyYVNjcmlwdENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgIGNyZWF0ZVBsdWdJbkV4dHJhU2NyaXB0OworCisgICAgLy8gVmVyc2lv
biAzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW51c2VkMzsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDQ7Cisg
ICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnVzZWQ1OworCisgICAgV0tCdW5kbGVQYWdlRGlkQ2xpY2tBdXRvRmls
bEJ1dHRvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDbGlja0F1dG9GaWxs
QnV0dG9uOworCisgICAgLy8gVmVyc2lvbiA0LgorICAgIFdLQnVuZGxlUGFnZURpZFJlc2lnbklu
cHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSAgICAgICAgICAgZGlkUmVzaWduSW5w
dXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlOworfSBXS0J1bmRsZVBhZ2VVSUNsaWVu
dFY0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5jcHAKaW5kZXggMzhl
NmMyM2FlYWJiYjg0Y2ZkODk5YWZjZDNlODU3MjZkYTZhNmM2My4uNmEzMDZjNWQ5NmZjY2ZmYWZm
ZmJkOTdmNWQxOWQ5YjIxMTk0MjQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
VUlDbGllbnQuY3BwCkBAIC0yMTIsNCArMjEyLDE0IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
VUlDbGllbnQ6OmRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViUGFnZSYgcGFnZSwgSW5qZWN0ZWRC
CiAgICAgdXNlckRhdGEgPSBhZG9wdFJlZih0b0ltcGwodXNlckRhdGFUb1Bhc3MpKTsKIH0KIAor
dm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudDo6ZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ry
b25nUGFzc3dvcmRBcHBlYXJhbmNlKFdlYlBhZ2UmIHBhZ2UsIEluamVjdGVkQnVuZGxlTm9kZUhh
bmRsZSYgbm9kZUhhbmRsZSwgUmVmUHRyPEFQSTo6T2JqZWN0PiYgdXNlckRhdGEpCit7CisgICAg
aWYgKCFtX2NsaWVudC5kaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFu
Y2UpCisgICAgICAgIHJldHVybjsKKworICAgIFdLVHlwZVJlZiB1c2VyRGF0YVRvUGFzcyA9IG51
bGxwdHI7CisgICAgbV9jbGllbnQuZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRB
cHBlYXJhbmNlKHRvQVBJKCZwYWdlKSwgdG9BUEkoJm5vZGVIYW5kbGUpLCAmdXNlckRhdGFUb1Bh
c3MsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgdXNlckRhdGEgPSBhZG9wdFJlZih0
b0ltcGwodXNlckRhdGFUb1Bhc3MpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oCmluZGV4IGYxNTdjODI1ZTBmYTEwMmEz
ZDdhNmJlYjE0M2JkYjMzNGQ0YjliZjUuLjBhMzM0NTVmYTBhMDBiMmY4MDNlYjg0ZDQ1ZDhhY2Vk
M2ZmNmM0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oCkBAIC0z
Niw3ICszNiw3IEBAIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgT2JqZWN0OwogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tCdW5kbGVQYWdlVUlDbGllbnRCYXNlPiB7Ci0gICAgdHlw
ZWRlZiBzdGQ6OnR1cGxlPFdLQnVuZGxlUGFnZVVJQ2xpZW50VjAsIFdLQnVuZGxlUGFnZVVJQ2xp
ZW50VjEsIFdLQnVuZGxlUGFnZVVJQ2xpZW50VjIsIFdLQnVuZGxlUGFnZVVJQ2xpZW50VjM+IFZl
cnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS0J1bmRsZVBhZ2VVSUNsaWVudFYwLCBX
S0J1bmRsZVBhZ2VVSUNsaWVudFYxLCBXS0J1bmRsZVBhZ2VVSUNsaWVudFYyLCBXS0J1bmRsZVBh
Z2VVSUNsaWVudFYzLCBXS0J1bmRsZVBhZ2VVSUNsaWVudFY0PiBWZXJzaW9uczsKIH07CiB9CiAK
QEAgLTcwLDYgKzcwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBwbHVnSW5FeHRyYVNjcmlwdCgp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYlBh
Z2UmLCBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUmLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2Vy
RGF0YSkgb3ZlcnJpZGU7CisKKyAgICB2b2lkIGRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bh
c3N3b3JkQXBwZWFyYW5jZShXZWJQYWdlJiwgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlJiwgUmVm
UHRyPEFQSTo6T2JqZWN0PiYgdXNlckRhdGEpIG92ZXJyaWRlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDRiNzU3YzgxNTQ4YTI1MjJkZTY4
MTI0Y2M4OTcyYTllYjMyODU3OTQuLmUyNTBhNjExZDQyNWVmNzhjNzVmYmMyZWRjMThmOWU0NzI3
NTI3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjExLDYgKzEyMTEsMTggQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmhhbmRsZUF1dG9GaWxsQnV0dG9uQ2xpY2soSFRNTElucHV0RWxl
bWVudCYgaW5wdXRFbGVtZW50KQogICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkhhbmRsZUF1dG9GaWxsQnV0dG9uQ2xpY2soVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSk7
CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnB1dEVsZW1lbnREaWRSZXNpZ25TdHJvbmdQ
YXNzd29yZEFwcGVhcmFuY2UoSFRNTElucHV0RWxlbWVudCYgaW5wdXRFbGVtZW50KQoreworICAg
IFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CisKKyAgICAvLyBOb3RpZnkgdGhlIGJ1bmRs
ZSBjbGllbnQuCisgICAgYXV0byBub2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxl
OjpnZXRPckNyZWF0ZShpbnB1dEVsZW1lbnQpOworICAgIG1fcGFnZS5pbmplY3RlZEJ1bmRsZVVJ
Q2xpZW50KCkuZGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKG1f
cGFnZSwgbm9kZUhhbmRsZS5nZXQoKSwgdXNlckRhdGEpOworCisgICAgLy8gTm90aWZ5IHRoZSBV
SVByb2Nlc3MuCisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlIHsgVXNlckRhdGEgeyBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdl
dCgpKS5nZXQoKSB9IH0pOworfQorCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJiYgIVBMQVRGT1JNKElPUykKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZFBsYXliYWNr
VGFyZ2V0UGlja2VyQ2xpZW50KHVpbnQ2NF90IGNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCBjM2MyOWIwNzczOGI4Y2RhNGY2NDEzOWFjMjM0YjM5NjhiMTNkNTQ5Li4zY2I3YjE5OWM3
ZmE1YzFlZTk2ZmU0ZjUyYzNmYzRjYTM2M2ZjZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0z
MzIsNiArMzMyLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaGFuZGxlQXV0b0ZpbGxCdXR0b25D
bGljayhXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50JikgZmluYWw7CiAKKyAgICB2b2lkIGlucHV0
RWxlbWVudERpZFJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZShXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50JikgZmluYWw7CisKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAmJiAhUExBVEZPUk0oSU9TKQogICAgIHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnQodWludDY0X3QgLypjb250ZXh0SWQqLykgZmluYWw7CiAgICAgdm9pZCByZW1vdmVQbGF5YmFj
a1RhcmdldFBpY2tlckNsaWVudCh1aW50NjRfdCAvKmNvbnRleHRJZCovKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxZDZlNTQxMzc5
YmZjZWI2NWE2NmQyOTZiOTFjNGU3N2NhMmVkZGNhLi40MzAzOTU1MTljMGJjZmNiZmM3MmExOTBm
ZTFmZDE3MTJhOTZlZWI4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMDQtMjAgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBTdHJvbmcgUGFzc3dvcmQgZGVjb3Jh
dGlvbiB3aGVuIHRleHQgZmllbGQgdHlwZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ3OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM4MzI1MTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHVuaXQgdGVzdCB0byBlbnN1cmUgdGhlIGluamVjdGVkIGJ1bmRsZSBBUEkgYW5k
IFdlYktpdCBVSSBkZWxlZ2F0ZSBTUEkgaXMgaW52b2tlZAorICAgICAgICB3aGVuIHRoZSBmaWVs
ZCBoYXMgdGhlIFN0cm9uZyBQYXNzd29yZCBidXR0b24gYW5kIGl0cyB0eXBlIGNoYW5nZXMuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RpZFJl
c2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZS5tbTogQWRkZWQuCisgICAg
ICAgIChkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UpOgorICAg
ICAgICAoLVtEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2Ugd2Vi
UHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6XSk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tOgorICAg
ICAgICAoLVtEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2VEZWxl
Z2F0ZSBfd2ViVmlldzpkaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFu
Y2VXaXRoVXNlckluZm86XSk6CisgICAgICAgICgtW0RpZFJlc2lnbklucHV0RWxlbWVudFN0cm9u
Z1Bhc3N3b3JkQXBwZWFyYW5jZURlbGVnYXRlIHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFu
ZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAoVEVTVCk6CisKIDIwMTgtMDQtMTAgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTGF5b3V0UmVsb2FkZWRdIEFkZCBzdXBwb3J0IGZvciBvdXQtb2YtZmxv
dyBkZXNjZW5kYW50cyBpbiBpbmxpbmUgZm9ybWF0dGluZyBjb250ZXh0LgpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAyMzFhZDg0MjIzZGU1NmE4YWZjMTg4N2FlYzBhOGI3MjcyZDYxM2Q5Li44
YzM0MzY4ZGIzNTNmZTIzNjUxNzI1ZGU0ZWQ1MWU2NmUyMzNiMDM3IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzIxLDYgKzcyMSw3IEBACiAJCUNFMzUyNEZBMUIxNDQzODkwMDI4QTdDNSAv
KiBpbnB1dC1mb2N1cy1ibHVyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0LWZv
Y3VzLWJsdXIuaHRtbCAqLzsgfTsKIAkJQ0U0RDVERTcxRjY3NDNCQTAwNzJDRkM2IC8qIFN0cmlu
Z1dpdGhEaXJlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U0RDVERTUxRjY3NDNCQTAwNzJDRkM2IC8qIFN0cmluZ1dpdGhEaXJlY3Rpb24u
Y3BwICovOyB9OwogCQlDRUE2Q0YyODE5Q0NGNjlEMDA2NEY1QTcgLyogb3Blbi1hbmQtY2xvc2Ut
d2luZG93Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0VBNkNGMjcxOUNDRjY5RDAwNjRGNUE3IC8qIG9wZW4tYW5kLWNsb3NlLXdpbmRv
dy5odG1sICovOyB9OworCQlDRUE3RjU3RDIwODk2MjRCMDA3OEVGNkUgLyogRGlkUmVzaWduSW5w
dXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VBN0Y1N0IyMDg5NUY1QjAwNzhFRjZFIC8qIERp
ZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZS5tbSAqLzsgfTsKIAkJ
Q0VCQUJENDkxQjcxNjg3QzAwNTEyMTBBIC8qIHNob3VsZC1vcGVuLWV4dGVybmFsLXNjaGVtZXMu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRUJBQkQ0ODFCNzE2ODdDMDA1MTIxMEEgLyogc2hvdWxkLW9wZW4tZXh0ZXJuYWwtc2NoZW1l
cy5odG1sICovOyB9OwogCQlDRUJDQTEyRjFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJpZGVDb250
ZW50U2VjdXJpdHlQb2xpY3kubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRUJDQTEyRTFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJpZGVDb250ZW50U2Vj
dXJpdHlQb2xpY3kubW0gKi87IH07CiAJCUNFQkNBMTM4MUUzQTgwN0EwMEM3MzI5MyAvKiBwYWdl
LXdpdGgtY3NwLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0VCQ0ExMzUxRTNBODAzNDAwQzczMjkzIC8qIHBhZ2Utd2l0aC1jc3AuaHRt
bCAqLzsgfTsKQEAgLTE4NjQsNiArMTg2NSw3IEBACiAJCUNFNTBEOEM4MUM4NjY1Q0UwMDcyRUE1
QSAvKiBPcHRpb25TZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
T3B0aW9uU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VBNkNGMjIxOUND
RjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IE9wZW5BbmRDbG9zZVdpbmRvdy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0VBNkNGMjcxOUNDRjY5RDAwNjRGNUE3IC8qIG9wZW4tYW5kLWNs
b3NlLXdpbmRvdy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm9wZW4tYW5kLWNsb3NlLXdpbmRvdy5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0VBN0Y1N0IyMDg5NUY1QjAwNzhFRjZFIC8q
IERpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFy
YW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VCQUJENDgxQjcxNjg3QzAw
NTEyMTBBIC8qIHNob3VsZC1vcGVuLWV4dGVybmFsLXNjaGVtZXMuaHRtbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJz
aG91bGQtb3Blbi1leHRlcm5hbC1zY2hlbWVzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRUJDQTEyRTFFM0E2NjAxMDBDNzMyOTMgLyogT3ZlcnJpZGVDb250ZW50U2VjdXJp
dHlQb2xpY3kubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBPdmVy
cmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0VCQ0ExMzQxRTNBODAzNDAwQzczMjkzIC8qIHBhZ2Utd2l0aC1jc3AtaWZyYW1lLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAicGFnZS13aXRoLWNzcC1pZnJhbWUuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTU1LDYgKzIxNTcsNyBAQAogCQkJCTlC
N0EzN0MyMUY4QUVCQTUwMDRBQTIyOCAvKiBDb3B5VVJMLm1tICovLAogCQkJCTJEQzRDRjc2MUQy
RDlERDgwMEVDQ0M5NCAvKiBEYXRhRGV0ZWN0aW9uLm1tICovLAogCQkJCUNFQzE2RUE0MUVFODYz
QkYwMERFNDc5QSAvKiBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uLm1tICovLAorCQkJ
CUNFQTdGNTdCMjA4OTVGNUIwMDc4RUY2RSAvKiBEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQ
YXNzd29yZEFwcGVhcmFuY2UubW0gKi8sCiAJCQkJMkRDNjBFMjIxRTc5Rjg4QzAwRkE2QzdEIC8q
IERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlQWZ0ZXJDcmFzaC5tbSAqLywKIAkJCQlBMUE0
RkU1RDE4REQzREI3MDBCNUVBOEEgLyogRG93bmxvYWQubW0gKi8sCiAJCQkJQTE1NTAyMjgxRTA1
MDIwQjAwQTI0QzU3IC8qIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0gKi8sCkBA
IC0zODQxLDYgKzM4NDQsNyBAQAogCQkJCTFDMkI4MTgzMUM4OTFGMDkwMEE1NTI5RiAvKiBDYW5j
ZWxGb250U3VicmVzb3VyY2VQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1Q0IxOEJBODFG
NTY0NUUzMDBFRTIzQzQgLyogQ2xpY2tBdXRvRmlsbEJ1dHRvbi5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUExNEZDNThCMUI4OTkyNzEwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nUGx1Z0luLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJQ0VBN0Y1N0QyMDg5NjI0QjAwNzhFRjZFIC8qIERpZFJlc2ln
bklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTVDQjVCM0MyMUZGQzU1Q0YwMEMyN0JCMCAvKiBGcmFtZUhhbmRsZVNlcmlhbGl6YXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQlBMTNFQkJBQjFCODc0MzQ2MDAwOTcxMTAgLyogUGxhdGZv
cm1VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNEY4MUNGMUJERkZENTMw
MDRFNjcyRSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeVBsdWdJbi5tbSBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EaWRSZXNp
Z25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3
b3JkQXBwZWFyYW5jZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2EwMjVjMjY2MWVmNDI0ZmFmZjYwYTM0YmI3
OTUyODk0MmQ4N2QwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9EaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFu
Y2UubW0KQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2ltcG9ydCAiY29uZmlnLmgi
CisKKyNpZiBXS19BUElfRU5BQkxFRAorCisjaW1wb3J0IDxXZWJLaXQvV0tCdW5kbGVQYWdlLmg+
CisjaW1wb3J0IDxXZWJLaXQvV0tCdW5kbGVQYWdlVUlDbGllbnQuaD4KKyNpbXBvcnQgPFdlYktp
dC9XS0RPTURvY3VtZW50Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tET01FbGVtZW50Lmg+CisjaW1w
b3J0IDxXZWJLaXQvV0tET01Ob2RlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRE9NVGV4
dC5oPgorI2ltcG9ydCA8V2ViS2l0L1dLU3RyaW5nLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJQ
cm9jZXNzUGx1Z0luLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vz
c1BsdWdJbkZyYW1lLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhh
bmRsZVByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRX
b3JsZC5oPgorCit2b2lkIGRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFy
YW5jZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqKQoreworICAgICp1c2VyRGF0YSA9IFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJ1c2VyIGRhdGEgc3RyaW5nIik7Cit9CisKK0BpbnRlcmZhY2UgRGlk
UmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlIDogTlNPYmplY3QgPFdL
V2ViUHJvY2Vzc1BsdWdJbj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIERpZFJlc2lnbklucHV0
RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZQorCistICh2b2lkKXdlYlByb2Nlc3NQbHVn
SW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENy
ZWF0ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyCit7CisgICAgV0tCdW5k
bGVQYWdlVUlDbGllbnRWNCBjbGllbnQ7CisgICAgbWVtc2V0KCZjbGllbnQsIDAsIHNpemVvZihj
bGllbnQpKTsKKyAgICBjbGllbnQuYmFzZS52ZXJzaW9uID0gNDsKKyAgICBjbGllbnQuZGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlID0gZGlkUmVzaWduSW5wdXRF
bGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlOworICAgIFdLQnVuZGxlUGFnZVNldFVJQ2xp
ZW50KFticm93c2VyQ29udGV4dENvbnRyb2xsZXIgX2J1bmRsZVBhZ2VSZWZdLCAmY2xpZW50LmJh
c2UpOworCisgICAgV0tET01Eb2N1bWVudCAqZG9jdW1lbnQgPSBbYnJvd3NlckNvbnRleHRDb250
cm9sbGVyIG1haW5GcmFtZURvY3VtZW50XTsKKyAgICBXS0RPTUVsZW1lbnQgKmlucHV0RWxlbWVu
dCA9IFtkb2N1bWVudCBjcmVhdGVFbGVtZW50OkAiaW5wdXQiXTsKKyAgICBbaW5wdXRFbGVtZW50
IHNldEF0dHJpYnV0ZTpAInR5cGUiIHZhbHVlOkAicGFzc3dvcmQiXTsKKyAgICBbW2RvY3VtZW50
IGJvZHldIGFwcGVuZENoaWxkOmlucHV0RWxlbWVudF07CisKKyAgICBhdXRvICpqc0NvbnRleHQg
PSBbW2Jyb3dzZXJDb250ZXh0Q29udHJvbGxlciBtYWluRnJhbWVdIGpzQ29udGV4dEZvcldvcmxk
OltXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZCBub3JtYWxXb3JsZF1dOworICAgIGF1dG8g
KmpzVmFsdWUgPSBbanNDb250ZXh0IGV2YWx1YXRlU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignaW5wdXQnKSJdOworICAgIGF1dG8qIG5vZGVIYW5kbGUgPSBbV0tXZWJQcm9jZXNzUGx1
Z0luTm9kZUhhbmRsZSBub2RlSGFuZGxlV2l0aEpTVmFsdWU6anNWYWx1ZSBpbkNvbnRleHQ6anND
b250ZXh0XTsKKyAgICBbbm9kZUhhbmRsZSBzZXRIVE1MSW5wdXRFbGVtZW50SXNBdXRvRmlsbGVk
OllFU107CisgICAgW25vZGVIYW5kbGUgc2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9u
RW5hYmxlZFdpdGhCdXR0b25UeXBlOl9XS0F1dG9GaWxsQnV0dG9uVHlwZVN0cm9uZ1Bhc3N3b3Jk
XTsKKyAgICBbW1ticm93c2VyQ29udGV4dENvbnRyb2xsZXIgbWFpbkZyYW1lXSBqc0NvbnRleHRG
b3JXb3JsZDpbV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQgbm9ybWFsV29ybGRdXSBldmFs
dWF0ZVNjcmlwdDpAImFsZXJ0KCdyZWFkeSB0byByZXNpZ24hJykiXTsKK30KKworQGVuZAorCisj
ZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDJmMzU3NWI3YmE4Y2NkMzNkNTAw
MDU1YmIyOTlkMzFjZWU3ZmM2NzIuLjM4NmU3MjdiOTgxMzcwYTI4OWFlMDc2NzliN2U0MDc1NTc5
NmE5ZGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
VUlEZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1VJRGVsZWdhdGUubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNTUxLDYgKzU1MSw0MiBAQCBURVNUKFdlYktpdCwgQ2xpY2tBdXRvRmls
bEJ1dHRvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQogCitzdGF0
aWMgYm9vbCByZWFkeXRvUmVzaWduOworCitAaW50ZXJmYWNlIERpZFJlc2lnbklucHV0RWxlbWVu
dFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0
ZVByaXZhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBEaWRSZXNpZ25JbnB1dEVsZW1lbnRT
dHJvbmdQYXNzd29yZEFwcGVhcmFuY2VEZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFy
YW5jZVdpdGhVc2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbworeworICAgIEFT
U0VSVF9UUlVFKFsoaWQ8TlNPYmplY3Q+KXVzZXJJbmZvIGlzS2luZE9mQ2xhc3M6W05TU3RyaW5n
IGNsYXNzXV0pOworICAgIEFTU0VSVF9TVFJFUShbKE5TU3RyaW5nKil1c2VySW5mbyBVVEY4U3Ry
aW5nXSwgInVzZXIgZGF0YSBzdHJpbmciKTsKKyAgICBkb25lID0gdHJ1ZTsKK30KKworLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0
aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5m
byAqKWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgQVNTRVJUX1NUUkVRKG1lc3Nh
Z2UuVVRGOFN0cmluZywgInJlYWR5IHRvIHJlc2lnbiEiKTsKKyAgICByZWFkeXRvUmVzaWduID0g
dHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdlYktpdCwgRGlkUmVzaWduSW5wdXRFbGVtZW50U3Ry
b25nUGFzc3dvcmRBcHBlYXJhbmNlKQoreworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBXS1dlYlZp
ZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
X3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiRGlkUmVzaWduSW5w
dXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlIl07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtl
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW0RpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3Jk
QXBwZWFyYW5jZURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxl
Z2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWFk
eXRvUmVzaWduKTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpbnB1dCcpLnR5cGUgPSAndGV4dCciIGNvbXBsZXRpb25IYW5kbGVyOm5p
bF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30KKwogQGludGVyZmFj
ZSBBdXRvRmlsbEF2YWlsYWJsZURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZVByaXZh
dGU+CiBAZW5kCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxYTJmM2ViYTJkNTMxNzEyNzI4MzhkZmIwN2NjMGEwN2NlZjNl
Yzk0Li5jMjc2NzM4ZTFlNjA2NzlmMzI0OWVmNjY1NDJiZGVlOWMxYWE3OWM3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTgtMDQtMjAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBTdHJvbmcgUGFzc3dvcmQgZGVjb3JhdGlvbiB3aGVuIHRleHQg
ZmllbGQgdHlwZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQ3OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MzI1MTA4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0
byBlbnN1cmUgdGhhdCB3ZSByZW1vdmUgdGhlIFN0cm9uZyBQYXNzd29yZCBkZWNvcmF0aW9uIHdo
ZW4gdGhlIHRleHQgZmllbGQncyB0eXBlIGNoYW5nZXMuCisKKyAgICAgICAgRXh0cmFjdCBjb2Rl
IHRvIHRvZ2dsZSBzaG93aW5nIHRoZSBBdXRvRmlsbCBidXR0b24gZnJvbSBmYXN0L2Zvcm1zL2F1
dG8tZmlsbC1idXR0b24vaW5wdXQte2Rpc2FibGVkLCByZWFkb25seX0tc3Ryb25nLXBhc3N3b3Jk
LWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmlsbC1idXR0b25zLmh0bWwK
KyAgICAgICAgaW50byBhIG5ldyBmaWxlIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9yZXNv
dXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9uLXR5cGUtYW5kLWludm9rZS1ydW5UZXN0Lmpz
CisgICAgICAgIHRoYXQgY2FuIGJlIHNoYXJlZC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvYXV0
by1maWxsLWJ1dHRvbi9oaWRlLXN0cm9uZy1wYXNzd29yZC13aGVuLWZpZWxkLXR5cGUtY2hhbmdl
cy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1i
dXR0b24vaGlkZS1zdHJvbmctcGFzc3dvcmQtd2hlbi1maWVsZC10eXBlLWNoYW5nZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2lucHV0LWRpc2Fi
bGVkLXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ryb25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1hdXRv
LWZpbGwtYnV0dG9ucy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRv
bi9pbnB1dC1yZWFkb25seS1zdHJvbmctcGFzc3dvcmQtYW5kLXN0cm9uZy1jb25maXJtYXRpb24t
cGFzc3dvcmQtYXV0by1maWxsLWJ1dHRvbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1
dG8tZmlsbC1idXR0b24vcmVzb3VyY2VzL3Byb2Nlc3MtYXV0by1maWxsLWJ1dHRvbi10eXBlLWFu
ZC1pbnZva2UtcnVuVGVzdC5qczogQWRkZWQuCisgICAgICAgICh3aW5kb3cub25sb2FkKToKKwog
MjAxOC0wNC0xOSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
SGlkZSBTdHJvbmcgUGFzc3dvcmQgbGFiZWwgd2hlbiB0ZXh0IGZpZWxkIGlzIHRvbyBuYXJyb3cK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRl
LXN0cm9uZy1wYXNzd29yZC13aGVuLWZpZWxkLXR5cGUtY2hhbmdlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtc3Ryb25nLXBhc3N3
b3JkLXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYx
MmRkNmRjMDhmNjc4ZGNjZmQzNjZmMWUwYzk1NTVhZmEwYmNiYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLXN0cm9uZy1wYXNz
d29yZC13aGVuLWZpZWxkLXR5cGUtY2hhbmdlcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IGEg
dGV4dCBmaWVsZCBkZWNvcmF0ZWQgYXMgYSBTdHJvbmcgUGFzc3dvcmQgb3IgU3Ryb25nIENvbmZp
cm1hdGlvbiBQYXNzd29yZCBmaWVsZCByZXZlcnQgdG8gYSBub3JtYWwgdGV4dCBmaWVsZCB3aGVu
IHRoZSB0eXBlIG9mIHRoZSB0ZXh0IGZpZWxkIGNoYW5nZXMuIEl0IGNhbiBvbmx5IGJlIHRlc3Rl
ZCBpbiB0aGUgdGVzdCB0b29sLjwvcD4KKzxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iQ3VwZXJ0
aW5vIj4KKzxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iQ3VwZXJ0aW5vIj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRv
bi9oaWRlLXN0cm9uZy1wYXNzd29yZC13aGVuLWZpZWxkLXR5cGUtY2hhbmdlcy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtc3Ryb25nLXBhc3N3b3Jk
LXdoZW4tZmllbGQtdHlwZS1jaGFuZ2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjkwYzc2ZTVhNGFhNzc4
OGY4ZTExODY1OTkxYmZkN2MyOWIwZDFjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLXN0cm9uZy1wYXNzd29yZC13aGVuLWZp
ZWxkLXR5cGUtY2hhbmdlcy5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwt
YnV0dG9uLXR5cGUtYW5kLWludm9rZS1ydW5UZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGxldCBpbnB1dEVsZW1lbnRzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7CisgICAgZm9yIChsZXQgaW5wdXRFbGVtZW50
IG9mIGlucHV0RWxlbWVudHMpCisgICAgICAgIGlucHV0RWxlbWVudC50eXBlID0gInRleHQiOwor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKCk7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIHRoYXQgYSB0ZXh0IGZp
ZWxkIGRlY29yYXRlZCBhcyBhIFN0cm9uZyBQYXNzd29yZCBvciBTdHJvbmcgQ29uZmlybWF0aW9u
IFBhc3N3b3JkIGZpZWxkIHJldmVydCB0byBhIG5vcm1hbCB0ZXh0IGZpZWxkIHdoZW4gdGhlIHR5
cGUgb2YgdGhlIHRleHQgZmllbGQgY2hhbmdlcy4gSXQgY2FuIG9ubHkgYmUgdGVzdGVkIGluIHRo
ZSB0ZXN0IHRvb2wuPC9wPgorPGlucHV0IHR5cGU9InBhc3N3b3JkIiB2YWx1ZT0iQ3VwZXJ0aW5v
IiBkYXRhLWF1dG8tZmlsbC1idXR0b24tdHlwZT0iU3Ryb25nUGFzc3dvcmQiPgorPGlucHV0IHR5
cGU9InBhc3N3b3JkIiB2YWx1ZT0iQ3VwZXJ0aW5vIiBkYXRhLWF1dG8tZmlsbC1idXR0b24tdHlw
ZT0iU3Ryb25nQ29uZmlybWF0aW9uUGFzc3dvcmQiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2lucHV0LWRpc2Fi
bGVkLXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ryb25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1hdXRv
LWZpbGwtYnV0dG9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0
dG9uL2lucHV0LWRpc2FibGVkLXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ryb25nLWNvbmZpcm1hdGlv
bi1wYXNzd29yZC1hdXRvLWZpbGwtYnV0dG9ucy5odG1sCmluZGV4IDNlYWM1NjNiOGI4YzU3MTgy
YTk2YjdjMTc3NjliN2NmYjkxMTljOWMuLjAxMmE5M2NlMjA1N2IwODQxMjE1ZDFkM2NmZjBkODUx
Mjc4OWEzYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1
dHRvbi9pbnB1dC1kaXNhYmxlZC1zdHJvbmctcGFzc3dvcmQtYW5kLXN0cm9uZy1jb25maXJtYXRp
b24tcGFzc3dvcmQtYXV0by1maWxsLWJ1dHRvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQtZGlzYWJsZWQtc3Ryb25nLXBhc3N3b3JkLWFu
ZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmlsbC1idXR0b25zLmh0bWwKQEAg
LTEsMTUgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9uLXR5cGUtYW5kLWludm9rZS1y
dW5UZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KIDxib2R5PgogPHA+VGhpcyB0ZXN0cyB0aGF0
IHRoZSBTdHJvbmcgUGFzc3dvcmQgYW5kIFN0cm9uZyBDb25maXJtYXRpb24gUGFzc3dvcmQgQXV0
b0ZpbGwgYnV0dG9ucyBkbyBub3QgcmVuZGVyIGluIGEgZGlzYWJsZWQgZmllbGQuIEl0IGNhbiBv
bmx5IGJlIHRlc3RlZCBpbiB0aGUgdGVzdCB0b29sLjwvcD4KIDxpbnB1dCB0eXBlPSJwYXNzd29y
ZCIgcGxhY2Vob2xkZXI9ImRpc2FibGVkIiBkaXNhYmxlZCBkYXRhLWF1dG8tZmlsbC1idXR0b24t
dHlwZT0iU3Ryb25nUGFzc3dvcmQiPgogPGlucHV0IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRl
cj0iZGlzYWJsZWQiIGRpc2FibGVkIGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdD
b25maXJtYXRpb25QYXNzd29yZCI+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
LSAgICB2YXIgaW5wdXRFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJp
bnB1dCIpOwotICAgIGZvciAobGV0IGlucHV0RWxlbWVudCBvZiBpbnB1dEVsZW1lbnRzKQotICAg
ICAgICBpbnRlcm5hbHMuc2V0U2hvd0F1dG9GaWxsQnV0dG9uKGlucHV0RWxlbWVudCwgaW5wdXRF
bGVtZW50LmRhdGFzZXQuYXV0b0ZpbGxCdXR0b25UeXBlKTsKLX0KLTwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwt
YnV0dG9uL2lucHV0LXJlYWRvbmx5LXN0cm9uZy1wYXNzd29yZC1hbmQtc3Ryb25nLWNvbmZpcm1h
dGlvbi1wYXNzd29yZC1hdXRvLWZpbGwtYnV0dG9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2lucHV0LXJlYWRvbmx5LXN0cm9uZy1wYXNzd29yZC1hbmQt
c3Ryb25nLWNvbmZpcm1hdGlvbi1wYXNzd29yZC1hdXRvLWZpbGwtYnV0dG9ucy5odG1sCmluZGV4
IDc2NGVkZTgwMTM0ZTYzMjI5YTEwNTg1OWExYzJlM2QxZWViMjk5NGQuLmEzZDFjMDMxNTk5YmVi
ZDNhMTcyNjg5OWI0YTliNTJlMTdhYzZjY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0by1maWxsLWJ1dHRvbi9pbnB1dC1yZWFkb25seS1zdHJvbmctcGFzc3dvcmQtYW5k
LXN0cm9uZy1jb25maXJtYXRpb24tcGFzc3dvcmQtYXV0by1maWxsLWJ1dHRvbnMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaW5wdXQtcmVhZG9ubHkt
c3Ryb25nLXBhc3N3b3JkLWFuZC1zdHJvbmctY29uZmlybWF0aW9uLXBhc3N3b3JkLWF1dG8tZmls
bC1idXR0b25zLmh0bWwKQEAgLTEsMTUgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9u
LXR5cGUtYW5kLWludm9rZS1ydW5UZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KIDxib2R5Pgog
PHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBTdHJvbmcgUGFzc3dvcmQgYW5kIFN0cm9uZyBDb25maXJt
YXRpb24gUGFzc3dvcmQgQXV0b0ZpbGwgYnV0dG9ucyBkbyBub3QgcmVuZGVyIHJlYWQgb25seSBm
aWVsZC4gSXQgY2FuIG9ubHkgYmUgdGVzdGVkIGluIHRoZSB0ZXN0IHRvb2wuPC9wPgogPGlucHV0
IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0icmVhZCBvbmx5IiByZWFkb25seSBkYXRhLWF1
dG8tZmlsbC1idXR0b24tdHlwZT0iU3Ryb25nUGFzc3dvcmQiPgogPGlucHV0IHR5cGU9InBhc3N3
b3JkIiBwbGFjZWhvbGRlcj0icmVhZCBvbmx5IiByZWFkb25seSBkYXRhLWF1dG8tZmlsbC1idXR0
b24tdHlwZT0iU3Ryb25nQ29uZmlybWF0aW9uUGFzc3dvcmQiPgotPHNjcmlwdD4KLWlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgdmFyIGlucHV0RWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKLSAgICBmb3IgKGxldCBpbnB1dEVsZW1lbnQgb2YgaW5w
dXRFbGVtZW50cykKLSAgICAgICAgaW50ZXJuYWxzLnNldFNob3dBdXRvRmlsbEJ1dHRvbihpbnB1
dEVsZW1lbnQsIGlucHV0RWxlbWVudC5kYXRhc2V0LmF1dG9GaWxsQnV0dG9uVHlwZSk7Ci19Ci08
L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0by1maWxsLWJ1dHRvbi9yZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9u
LXR5cGUtYW5kLWludm9rZS1ydW5UZXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
LWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQt
aW52b2tlLXJ1blRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMyZWRlMzRmYjk2NTI4OTNiOGRhYWFhZDFh
ODU0NDYxNmRmMWNmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0by1maWxsLWJ1dHRvbi9yZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9uLXR5cGUt
YW5kLWludm9rZS1ydW5UZXN0LmpzCkBAIC0wLDAgKzEsMTIgQEAKK3dpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKQoreworICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICBjb25z
b2xlLmxvZygiVGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlIG9yIFdlYktp
dFRlc3RSdW5uZXIuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbGV0IGlucHV0RWxl
bWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKKyAgICBmb3Ig
KGxldCBpbnB1dEVsZW1lbnQgb2YgaW5wdXRFbGVtZW50cykKKyAgICAgICAgaW50ZXJuYWxzLnNl
dFNob3dBdXRvRmlsbEJ1dHRvbihpbnB1dEVsZW1lbnQsIGlucHV0RWxlbWVudC5kYXRhc2V0LmF1
dG9GaWxsQnV0dG9uVHlwZSk7CisgICAgaWYgKHdpbmRvdy5ydW5UZXN0KQorICAgICAgICB3aW5k
b3cucnVuVGVzdCgpOworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>