<?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>219688</bug_id>
          
          <creation_ts>2020-12-09 08:32:51 -0800</creation_ts>
          <short_desc>Pass an isolated copy of Settings to workers and worklets.</short_desc>
          <delta_ts>2024-01-06 21:25:14 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>219252</blocked>
    
    <blocked>267196</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713161</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-09 08:32:51 -0800</bug_when>
    <thetext>Pass an isolated copy of Settings to workers and worklets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713174</commentid>
    <comment_count>1</comment_count>
      <attachid>415763</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-09 08:49:46 -0800</bug_when>
    <thetext>Created attachment 415763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714314</commentid>
    <comment_count>2</comment_count>
      <attachid>415763</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-12-13 08:36:28 -0800</bug_when>
    <thetext>Comment on attachment 415763
Patch

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

This is fantastic work! Thanks Youenn!

&gt; Source/WebCore/ChangeLog:10
&gt; +
&gt; +        Generate a Settings::Values struct containing all setting values.
&gt; +        Workers and worklets get that structure from their document and do a thread safe copy to use it in the background thread.
&gt; +        Covered by existing tests in workers.

Got a case of the double ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714387</commentid>
    <comment_count>3</comment_count>
      <attachid>416139</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-14 00:21:04 -0800</bug_when>
    <thetext>Created attachment 416139
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714396</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-14 01:44:22 -0800</bug_when>
    <thetext>Committed r270762: &lt;https://trac.webkit.org/changeset/270762&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416139.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714397</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-14 01:45:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/72288687&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415763</attachid>
            <date>2020-12-09 08:49:46 -0800</date>
            <delta_ts>2020-12-14 00:21:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219688-20201209174944.patch</filename>
            <type>text/plain</type>
            <size>34793</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZjRlZTUzMTNkNzA1YWI4NTliMjQ0YjhiZjNmNDc2NGM2MzkwYTFmLi41YzJjMzQ3NjgwN2Y1ZDhl
MzY4NDU2ZjRkY2JkNzQxNzI0YjY4OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0xMi0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgUGFzcyBhbiBpc29sYXRlZCBjb3B5IG9mIFNldHRpbmdzIHRvIHdvcmtlcnMg
YW5kIHdvcmtsZXRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBydW50aW1lL1J1bnRpbWVGbGFncy5oOgorICAgICAgICAoSlNDOjpSdW50aW1lRmxh
Z3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisKIDIwMjAtMTItMDggIFJvc3MgS2lyc2xpbmcgIDxy
b3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZGVidWcgdGVzdCBm
aXggZm9sbG93aW5nIHIyNzA1NTIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhMzg2NzgyZmFiMWQ1ODFlY2M4NTM5MmJlNGVh
MmQ2MjYzYzQ2N2MuLjJmYzJkYmJhN2NhZGFhN2E3ZDJjNzJmN2QyODRjNWI1NTE4Y2U5N2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMTItMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFBhc3MgYW4gaXNvbGF0ZWQgY29weSBvZiBTZXR0aW5ncyB0byB3
b3JrZXJzIGFuZCB3b3JrbGV0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxOTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBtaXNzaW5nIGRlZmF1bHQgdmFsdWVzLgorCisgICAgICAgICogU2Ny
aXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDIwLTEyLTA4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjQ2F0YWx5c3RdIEVu
YWJsZSBjb250ZXh0IG1lbnVzIGZvciBXS1dlYlZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMzkxZjMxYjk3
YTY4YzY2NjNkMzdjMjRkZjViMDFjYzc1OTI4OWZmLi41ODE1OGU1NTQ5MGZjMmMwNmJjMTFmNTkz
YzBlMTJmNTQ5MThjODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTI3IEBACisyMDIwLTEyLTA5
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIGFuIGlz
b2xhdGVkIGNvcHkgb2YgU2V0dGluZ3MgdG8gd29ya2VycyBhbmQgd29ya2xldHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk2ODgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZSBhIFNldHRp
bmdzOjpWYWx1ZXMgc3RydWN0IGNvbnRhaW5pbmcgYWxsIHNldHRpbmcgdmFsdWVzLgorICAgICAg
ICBXb3JrZXJzIGFuZCB3b3JrbGV0cyBnZXQgdGhhdCBzdHJ1Y3R1cmUgZnJvbSB0aGVpciBkb2N1
bWVudCBhbmQgZG8gYSB0aHJlYWQgc2FmZSBjb3B5IHRvIHVzZSBpdCBpbiB0aGUgYmFja2dyb3Vu
ZCB0aHJlYWQuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgaW4gd29ya2Vycy4K
KworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0TWVzc2FnaW5nUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2VuZXJhdGVXb3JrbGV0UGFyYW1ldGVycyk6CisgICAg
ICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiOgorICAgICAg
ICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmI6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0VtcHR5U2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy55YW1sOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNj
b3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6YWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGU6OndlYkdMRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNv
bnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWRQcm94eSk6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6V29ya2xldEdsb2JhbFNj
b3BlKToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAg
KiB3b3JrbGV0cy9Xb3JrbGV0UGFyYW1ldGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xl
dFBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSBjb25zdCk6CisKKzIwMjAtMTItMDkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugd29ya2VyIFJUQyBpbnNl
cnRhYmxlIHN0cmVhbXMgY29uc3RydWN0cyBjb250cm9sbGVkIGJ5IHdlYnJ0YyBpbnNlcnRhYmxl
IHN0cmVhbXMgZmVhdHVyZSBzZXR0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTkyNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgc2V0dGluZ3MgZ2VuZXJhdG9yIHRvIG1vdmUgYWxsIGJv
b2xlYW4gc2V0dGluZ3MgaW4gU2V0dGluZ3M6OkVuYWJsZWRGZWF0dXJlcy4KKyAgICAgICAgTWFr
ZSBTZXR0aW5ncyBvd24gYSBTZXR0aW5nczo6RW5hYmxlZEZlYXR1cmVzLgorCisgICAgICAgIFVw
ZGF0ZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHRvIGJlIGFibGUgdG8gcmV0dXJuIGEgU2V0dGlu
Z3M6OkVuYWJsZWRGZWF0dXJlcy4KKyAgICAgICAgRm9yIERvY3VtZW50LCB0aGlzIGlzIGp1c3Qg
cmV0dXJuaW5nIHRoZSBTZXR0aW5nczo6RW5hYmxlZEZlYXR1cmVzIGZyb20gaXRzIFNldHRpbmdz
IG9iamVjdC4KKyAgICAgICAgRm9yIHdvcmtlcnMgYW5kIHdvcmtsZXRzLCBkb2N1bWVudHMgZ2l2
ZSB0aGVpciBFbmFibGVkRmVhdHVyZXMgdG8gd29ya2VycyBhbmQgd29ya2xldHMuCisgICAgICAg
IFRoZXNlIGVuYWJsZWQgZmVhdHVyZXMgdGhlbiBzdGF5IHN0YWJsZSB0aHJvdWdob3V0IHRoZSBs
aWZldGltZSBvZiB3b3JrZXJzIGFuZCB3b3JrbGV0cy4KKworICAgICAgICBVcGRhdGUgYmluZGlu
ZyBnZW5lcmF0b3IgdG8gdXNlIHRoZSBuZXcgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZW5hYmxl
ZEZlYXR1cmVzIGdldHRlci4KKyAgICAgICAgRW5hYmxlIHVzZSBvZiBFbmFibGVkQnlTZXR0aW5n
cyBvdXRzaWRlIHdpbmRvdyBjb250ZXh0LgorICAgICAgICBNYWtlIHVzZSBvZiBpdCBpbiBSVENS
dHBTY3JpcHRUcmFuc2Zvcm1lci4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
IGFuZCByZWJhc2VkIGJpbmRpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvV29ya2xldE1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
bmVyYXRlV29ya2xldFBhcmFtZXRlcnMpOgorICAgICAgICAqIFNjcmlwdHMvR2VuZXJhdGVTZXR0
aW5ncy5yYjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNw
cC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVy
YjoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0
ZVJ1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmluZyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0RPTUNvbnN0cnVjdG9yOjppbml0aWFsaXpl
UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVz
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdERlZmF1bHRUb0pTT05Qcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdERlZmF1bHRUb0pTT05Qcm90
b3R5cGVGdW5jdGlvbl90b0pTT05Cb2R5KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
anNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRQcm90b3R5cGVGdW5jdGlvbl90b0pTT05Cb2R5KToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTklu
aGVyaXRGaW5hbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsUHJvdG90eXBlRnVuY3Rpb25fdG9KU09OQm9keSk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlcml2ZWREaWN0aW9uYXJ5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNvbnZlcnREaWN0aW9uYXJ5VG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERlcml2ZWREaWN0aW9uYXJ5Mi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjb252ZXJ0RGljdGlvbmFyeVRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdEVuYWJsZWRCeVNldHRpbmdET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMp
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFbmFibGVkRm9yQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFbmFibGVk
Rm9yQ29udGV4dDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbmhlcml0ZWREaWN0aW9uYXJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbnZlcnREaWN0aW9uYXJ5VG9KUyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZh
Y2VQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29udmVydERpY3Rpb25hcnlUb0pTKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiBkb20vRW1wdHlTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnJlcXVlc3RBbmltYXRpb25GcmFtZUVu
YWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ckdsb2JhbFNjb3BlOjp3ZWJHTEVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5n
UHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVk
Q29weSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpTZXJ2
aWNlV29ya2VyVGhyZWFkUHJveHkpOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxT
Y29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OldvcmtsZXRH
bG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6Cisg
ICAgICAgICogd29ya2xldHMvV29ya2xldFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtsZXRQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorCiAyMDIwLTEyLTA5ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgYSB3
YXkgdG8gdXBkYXRlIGFkZGl0aW9uYWwgc2V0dGluZ3MgdGhhbiB0aGUgb25lIGhhbmRsZWQgYnkg
cG9saWNpZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1J1bnRp
bWVGbGFncy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUnVudGltZUZsYWdzLmgK
aW5kZXggYTQyM2VhOTEwYmQ3YmZjYmMyN2NiZTE5NTVhYjg1MGJhYTVmNzE5NC4uZGZjODc3MDU0
ODM4YmRhYWQ2OGQ3ZDk3ZWNkYmIzNmJkNDI2ZGM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUnVudGltZUZsYWdzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUnVudGltZUZsYWdzLmgKQEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogICAg
ICAgICApOwogICAgIH0KIAorICAgIFJ1bnRpbWVGbGFncyBpc29sYXRlZENvcHkoKSBjb25zdCB7
IHJldHVybiBSdW50aW1lRmxhZ3MobV9mbGFncyk7IH0KKwogcHJpdmF0ZToKICAgICB1bnNpZ25l
ZCBtX2ZsYWdzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZDFkNjFmOGI0ODRlYTcyMjViN2RiMzhhMWM3YmQ1YmU5
ZjMxNDA1OC4uN2I2NjVhY2M3MmE0OWU4YmExNThiZWY3ZDU1MmFmNzUzMjRlMzgxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwK
KysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwK
QEAgLTYwMCw3ICs2MDAsNyBAQCBEZWZhdWx0VGV4dEVuY29kaW5nTmFtZToKICAgICBXZWJLaXQ6
CiAgICAgICBkZWZhdWx0OiBXZWJDb3JlOjpkZWZhdWx0VGV4dEVuY29kaW5nTmFtZUZvclN5c3Rl
bUxhbmd1YWdlKCkKICAgICBXZWJDb3JlOgotICAgICAgZGVmYXVsdDoKKyAgICAgIGRlZmF1bHQ6
ICd7IH0nCiAKIERlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZDoKICAgdHlwZTogYm9vbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRNZXNzYWdp
bmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xl
dE1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCBiOTAyYTYzMjMxZjFmYzM0YjZkY2E5NDljODRmMTBm
YTQ5MzJiOTA0Li44NzYxNzEwMWUzOTk0OTcyZmZmOTEyZWQzNjI0Yzc0YTc4ODU2MTRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldE1lc3Nh
Z2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
V29ya2xldE1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgV29ya2xl
dFBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrbGV0UGFyYW1ldGVycyhBdWRpb1dvcmtsZXQmIHdvcmts
ZXQpCiAgICAgICAgIGRvY3VtZW50LT51cmwoKSwKICAgICAgICAganNSdW50aW1lRmxhZ3MsCiAg
ICAgICAgIHdvcmtsZXQuYXVkaW9Db250ZXh0KCkgPyB3b3JrbGV0LmF1ZGlvQ29udGV4dCgpLT5z
YW1wbGVSYXRlKCkgOiAwLjBmLAotICAgICAgICB3b3JrbGV0LmlkZW50aWZpZXIoKQorICAgICAg
ICB3b3JrbGV0LmlkZW50aWZpZXIoKSwKKyAgICAgICAgZG9jdW1lbnQtPnNldHRpbmdzVmFsdWVz
KCkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRp
bmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIgYi9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1Nl
dHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKaW5kZXggNmRlOWJjN2ZlMjY3ODc2MjU2
NDg4Mzg3ZWEyNDlmMGE1MmE4OWE1Yi4uZTk5MWExZTBkNDFmYWExZWMxMDk5OTMzMTg0NjBhYTQz
NjkwNWQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBs
YXRlcy9TZXR0aW5ncy5jcHAuZXJiCisrKyBiL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGlu
Z3NUZW1wbGF0ZXMvU2V0dGluZ3MuY3BwLmVyYgpAQCAtNjYsMTMgKzY2LDE5IEBAIFJlZjxTZXR0
aW5ncz4gU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBwYWdlKQogCiBTZXR0aW5nczo6U2V0dGluZ3Mo
UGFnZSogcGFnZSkKICAgICA6IFNldHRpbmdzQmFzZShwYWdlKQoreworICAgIG1fdmFsdWVzLmlu
aXRpYWxpemUoKTsKK30KKwordm9pZCBTZXR0aW5nczo6VmFsdWVzOjppbml0aWFsaXplKCkKK3sK
IDwlLSBmb3IgQGNvbmRpdGlvbiBpbiBAYWxsU2V0dGluZ3NTZXQuY29uZGl0aW9ucyBkbyAtJT4K
IDwlLSBpZiBAY29uZGl0aW9uLm5vbkJvb2xTZXR0aW5nc05lZWRpbmdJbXBsZW1lbnRhdGlvbi5s
ZW5ndGggIT0gMCAtJT4KIDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KICNpZiA8JT0g
QGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiA8JS0gZm9yIEBzZXR0aW5nIGlu
IEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9uIC0lPgotICAg
ICwgbV88JT0gQHNldHRpbmcubmFtZSAlPihTRVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBA
c2V0dGluZy5uYW1lICU+KQorICAgIDwlPSBAc2V0dGluZy5uYW1lICU+ID0gU0VUVElOR19ERUZB
VUxUX1ZBTFVFX0ZPUl88JT0gQHNldHRpbmcubmFtZSAlPjsKIDwlLSBlbmQgLSU+CiA8JS0gaWYg
QGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CiAjZW5kaWYKQEAgLTg1LDE1ICs5MSw0OCBAQCBTZXR0
aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24g
JT4KIDwlLSBlbmQgLSU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24uYm9vbFNldHRp
bmdzTmVlZGluZ0ltcGxlbWVudGF0aW9uIC0lPgotICAgICwgbV88JT0gQHNldHRpbmcubmFtZSAl
PihTRVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+KQorICAgIDwl
PSBAc2V0dGluZy5uYW1lICU+ID0gU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88JT0gQHNldHRp
bmcubmFtZSAlPjsKIDwlLSBlbmQgLSU+CiA8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+
CiAjZW5kaWYKIDwlLSBlbmQgLSU+CiA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KK30KIAorU2V0
dGluZ3M6OlZhbHVlcyBTZXR0aW5nczo6VmFsdWVzOjppc29sYXRlZENvcHkoKSBjb25zdAogewor
ICAgIHJldHVybiB7Cis8JS0gZm9yIEBzZXR0aW5nIGluIEBhbGxTZXR0aW5nc1NldC5pbnNwZWN0
b3JPdmVycmlkZVNldHRpbmdzIGRvIC0lPgorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBz
ZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSksCis8JS0gZW5kIC0lPgorPCUtIGZvciBA
Y29uZGl0aW9uIGluIEBhbGxTZXR0aW5nc1NldC5jb25kaXRpb25zIGRvIC0lPgorPCUtIGlmIEBj
b25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9uLmxlbmd0aCAhPSAw
IC0lPgorPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0lPgorI2lmIDwlPSBAY29uZGl0aW9u
LmNvbmRpdGlvbiAlPgorPCUtIGVuZCAtJT4KKzwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlv
bi5ub25Cb29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+CisgICAgICAgIGNyb3Nz
VGhyZWFkQ29weSg8JT0gQHNldHRpbmcubmFtZSAlPiksCis8JS0gZW5kIC0lPgorPCUtIGlmIEBj
b25kaXRpb24uY29uZGl0aW9uIC0lPgorI2VuZGlmCis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4K
KzwlLSBlbmQgLSU+Cis8JS0gZm9yIEBjb25kaXRpb24gaW4gQGFsbFNldHRpbmdzU2V0LmNvbmRp
dGlvbnMgZG8gLSU+Cis8JS0gaWYgQGNvbmRpdGlvbi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVt
ZW50YXRpb24ubGVuZ3RoICE9IDAgLSU+Cis8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+
CisjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorPCUtIGZvciBA
c2V0dGluZyBpbiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05lZWRpbmdJbXBsZW1lbnRhdGlvbiAt
JT4KKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5uYW1lICU+KSwKKzwlLSBl
bmQgLSU+Cis8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQg
LSU+Cis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4KKyAgICB9OwogfQogCiBTZXR0aW5nczo6flNl
dHRpbmdzKCkKQEAgLTEwOSwyMSArMTQ4LDIxIEBAIFNldHRpbmdzOjp+U2V0dGluZ3MoKQogPCU9
IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gU2V0dGluZ3M6OjwlPSBAc2V0dGluZy5nZXR0ZXJG
dW5jdGlvbk5hbWUgJT4oKSBjb25zdAogewogPCUtIGlmIEBzZXR0aW5nLmhhc0luc3BlY3Rvck92
ZXJyaWRlPyAtJT4KLSAgICBpZiAoVU5MSUtFTFkobV88JT0gQHNldHRpbmcubmFtZSAlPkluc3Bl
Y3Rvck92ZXJyaWRlKSkgeworICAgIGlmIChVTkxJS0VMWShtX3ZhbHVlcy48JT0gQHNldHRpbmcu
bmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKSkgewogICAgICAgICBBU1NFUlQoSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSk7Ci0gICAgICAgIHJldHVybiBtXzwlPSBAc2V0
dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUudmFsdWUoKTsKKyAgICAgICAgcmV0dXJuIG1f
dmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUudmFsdWUoKTsKICAg
ICB9CiA8JS0gZW5kIC0lPgotICAgIHJldHVybiBtXzwlPSBAc2V0dGluZy5uYW1lICU+OworICAg
IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPjsKIH0KIDwlLSBlbmQgLSU+CiAK
IDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbi5zZXR0aW5nc1dpdGhDb21wbGV4U2V0dGVy
c05lZWRpbmdJbXBsZW1lbnRhdGlvbiAtJT4KIHZvaWQgU2V0dGluZ3M6OjwlPSBAc2V0dGluZy5z
ZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBz
ZXR0aW5nLm5hbWUgJT4pCiB7Ci0gICAgaWYgKG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gPT0gPCU9
IEBzZXR0aW5nLm5hbWUgJT4pCisgICAgaWYgKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+
ID09IDwlPSBAc2V0dGluZy5uYW1lICU+KQogICAgICAgICByZXR1cm47Ci0gICAgbV88JT0gQHNl
dHRpbmcubmFtZSAlPiA9IDwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIG1fdmFsdWVzLjwlPSBA
c2V0dGluZy5uYW1lICU+ID0gPCU9IEBzZXR0aW5nLm5hbWUgJT47CiAgICAgPCU9IEBzZXR0aW5n
Lm9uQ2hhbmdlICU+KCk7CiB9CiA8JS0gZW5kIC0lPgpAQCAtMTM3LDkgKzE3Niw5IEBAIHZvaWQg
U2V0dGluZ3M6OjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5n
LnBhcmFtZXRlclR5cGUgJT4KIDwlLSBpZiBAc2V0dGluZy5oYXNDb21wbGV4U2V0dGVyPyAtJT4K
IHZvaWQgU2V0dGluZ3M6OjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT5JbnNwZWN0
b3JPdmVycmlkZShPcHRpb25hbDw8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPj4gPCU9IEBz
ZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSkKIHsKLSAgICBpZiAobV88JT0gQHNldHRp
bmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID09IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVj
dG9yT3ZlcnJpZGUpCisgICAgaWYgKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVj
dG9yT3ZlcnJpZGUgPT0gPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSkKICAg
ICAgICAgcmV0dXJuOwotICAgIG1fPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlk
ZSA9IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7CisgICAgICAgIG1fdmFs
dWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcu
bmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbiAtJT4K
ICNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uICU+CiA8JS0gZW5kIC0lPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYiBi
L1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIK
aW5kZXggMmFmNDU0YTEzMmI1NmExNWMxMmExMjQ5YTFkMTU4OTYwODkxMDE0Mi4uMzcxZjFlNWYy
NWEyMTg4MjNiNTQzNjRhN2M2ZTg5ZDJmOTYxY2UzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCkBAIC00OCwx
MiArNDgsMTIgQEAgcHVibGljOgogICAgIDwlLSBpZiBAc2V0dGluZy5oYXNDb21wbGV4R2V0dGVy
PyAtJT4KICAgICBXRUJDT1JFX0VYUE9SVCA8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8
JT0gQHNldHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1lICU+KCkgY29uc3Q7CiAgICAgPCUtIGVsc2Ug
LSU+Ci0gICAgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLmdldHRl
ckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0IHsgcmV0dXJuIG1fPCU9IEBzZXR0aW5nLm5hbWUgJT47
IH0gCisgICAgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLmdldHRl
ckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5u
YW1lICU+OyB9CiAgICAgPCUtIGVuZCAtJT4KICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxl
eFNldHRlcj8gLSU+CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVy
RnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+KTsKICAgICA8JS0g
ZWxzZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9
IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pIHsgbV88JT0g
QHNldHRpbmcubmFtZSAlPiA9IDwlPSBAc2V0dGluZy5uYW1lICU+OyB9CisgICAgdm9pZCA8JT0g
QHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBl
ICU+IDwlPSBAc2V0dGluZy5uYW1lICU+KSB7IG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+
ID0gPCU9IEBzZXR0aW5nLm5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4K
IDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KQEAgLTY1LDE1ICs2NSwxNiBAQCBwdWJs
aWM6CiAgICAgPCUtIGlmIEBzZXR0aW5nLmhhc0NvbXBsZXhTZXR0ZXI/IC0lPgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPkluc3BlY3Rv
ck92ZXJyaWRlKE9wdGlvbmFsPDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+Pik7CiAgICAg
PCUtIGVsc2UgLSU+Ci0gICAgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+
SW5zcGVjdG9yT3ZlcnJpZGUoT3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4+
IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpIHsgbV88JT0gQHNldHRpbmcu
bmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID0gPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JP
dmVycmlkZTsgfQorICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPklu
c3BlY3Rvck92ZXJyaWRlKE9wdGlvbmFsPDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+PiA8
JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKSB7IG1fdmFsdWVzLjwlPSBAc2V0
dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3Bl
Y3Rvck92ZXJyaWRlOyB9CiAgICAgPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+CiAKLXByaXZhdGU6
Ci0gICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgU2V0dGluZ3MoUGFnZSopOworICAgIHN0cnVj
dCBWYWx1ZXMgeworICAgICAgICB2b2lkIGluaXRpYWxpemUoKTsKKyAgICAgICAgVmFsdWVzIGlz
b2xhdGVkQ29weSgpIGNvbnN0OwogCiA8JS0gZm9yIEBzZXR0aW5nIGluIEBhbGxTZXR0aW5nc1Nl
dC5pbnNwZWN0b3JPdmVycmlkZVNldHRpbmdzIGRvIC0lPgotICAgIE9wdGlvbmFsPDwlPSBAc2V0
dGluZy50eXBlICU+PiBtXzwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7Cisg
ICAgICAgIE9wdGlvbmFsPDwlPSBAc2V0dGluZy50eXBlICU+PiA8JT0gQHNldHRpbmcubmFtZSAl
Pkluc3BlY3Rvck92ZXJyaWRlOwogPCUtIGVuZCAtJT4KIAogPCUtIGZvciBAY29uZGl0aW9uIGlu
IEBhbGxTZXR0aW5nc1NldC5jb25kaXRpb25zIGRvIC0lPgpAQCAtODIsMjggKzgzLDMzIEBAIHBy
aXZhdGU6CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9uICU+CiA8JS0gZW5kIC0lPgogPCUt
IGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLm5vbkJvb2xTZXR0aW5nc05lZWRpbmdJbXBsZW1l
bnRhdGlvbiAtJT4KLSAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBAc2V0dGluZy5uYW1l
ICU+OworICAgICAgICA8JT0gQHNldHRpbmcudHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPjsK
IDwlLSBlbmQgLSU+CiA8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CiAjZW5kaWYKIDwl
LSBlbmQgLSU+CiA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KLQogPCUtIGZvciBAY29uZGl0aW9u
IGluIEBhbGxTZXR0aW5nc1NldC5jb25kaXRpb25zIGRvIC0lPgotPCUtIGlmIEBjb25kaXRpb24u
Ym9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9uLmxlbmd0aCAhPSAwIC0lPgotPCUtIGlm
IEBjb25kaXRpb24uY29uZGl0aW9uIC0lPgorICAgIDwlLSBpZiBAY29uZGl0aW9uLnNldHRpbmdz
TmVlZGluZ0ltcGxlbWVudGF0aW9uLmxlbmd0aCAhPSAwIC0lPgorICAgICAgICA8JS0gaWYgQGNv
bmRpdGlvbi5jb25kaXRpb24gLSU+CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9uICU+Ci08
JS0gZW5kIC0lPgotPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05l
ZWRpbmdJbXBsZW1lbnRhdGlvbiAtJT4KLSAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBA
c2V0dGluZy5uYW1lICU+IDogMTsKLTwlLSBlbmQgLSU+Ci08JS0gaWYgQGNvbmRpdGlvbi5jb25k
aXRpb24gLSU+CisgICAgICAgIDwlLSBlbmQgLSU+CisgICAgICAgIDwlLSBmb3IgQHNldHRpbmcg
aW4gQGNvbmRpdGlvbi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+CisgICAg
ICAgIDwlPSBAc2V0dGluZy50eXBlICU+IDwlPSBAc2V0dGluZy5uYW1lICU+IDogMTsKKyAgICAg
ICAgPCUtIGVuZCAtJT4KKyAgICAgICAgPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0lPgog
I2VuZGlmCisgICAgICAgIDwlLSBlbmQgLSU+CisgICAgPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+
Ci08JS0gZW5kIC0lPgotPCUtIGVuZCAtJT4KKyAgICB9OworICAgIGNvbnN0IFZhbHVlcyYgdmFs
dWVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXM7IH0KKworcHJpdmF0ZToKKyAgICBXRUJDT1JF
X0VYUE9SVCBleHBsaWNpdCBTZXR0aW5ncyhQYWdlKik7CiAKKyAgICBWYWx1ZXMgbV92YWx1ZXM7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGVlMDNmNWY0YmZmYTljMzZlYzI4NGIz
OTkwOTRlM2M1ZThlMTk4OGIuLjllYTUzZTZjZjlkZTcwY2UyMDE3MmY1MTg3ZjE1NzgyYTgzZjFl
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02MjMsNiArNjIzLDggQEAgcHVibGljOgogICAg
IHZvaWQgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cyhSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsK
ICAgICB2b2lkIHN0b3BBY3RpdmVET01PYmplY3RzKCkgZmluYWw7CiAKKyAgICBjb25zdCBTZXR0
aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHNldHRp
bmdzKCkudmFsdWVzKCk7IH0KKwogICAgIHZvaWQgc3VzcGVuZERldmljZU1vdGlvbkFuZE9yaWVu
dGF0aW9uVXBkYXRlcygpOwogICAgIHZvaWQgcmVzdW1lRGV2aWNlTW90aW9uQW5kT3JpZW50YXRp
b25VcGRhdGVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbXB0eVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbXB0eVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAppbmRleCBmYzk1NzQ1Zjk3MzFmOTlkNDg1YmM2NTJjMTNiY2Q5NTk2MzIz
ZjE4Li4zYWU4NjJkM2Q1ZTg2NDllNmU5ZWE1MTIyMGE0OWFjZmFkZDQwNjY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRW1wdHlTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VtcHR5U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC05NCw2
ICs5NCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
ZmluYWwgeyByZWYoKTsgfTsKICAgICB2b2lkIGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGZpbmFsIHsgZGVyZWYoKTsgfTsKIAorICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRp
bmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQorCiAg
ICAgY2xhc3MgRW1wdHlFdmVudExvb3AgZmluYWwgOiBwdWJsaWMgRXZlbnRMb29wIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZWY8RW1wdHlFdmVudExvb3A+IGNyZWF0ZShKU0M6OlZN
JiB2bSkKQEAgLTEwNCw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgICAgICBNaWNyb3Rhc2tRdWV1
ZSYgbWljcm90YXNrUXVldWUoKSBmaW5hbCB7IHJldHVybiBtX3F1ZXVlOyB9OwogCiAgICAgcHJp
dmF0ZToKLSAgICAgICAgRW1wdHlFdmVudExvb3AoSlNDOjpWTSYgdm0pCisgICAgICAgIGV4cGxp
Y2l0IEVtcHR5RXZlbnRMb29wKEpTQzo6Vk0mIHZtKQogICAgICAgICAgICAgOiBtX3F1ZXVlKE1p
Y3JvdGFza1F1ZXVlKHZtKSkKICAgICAgICAgewogICAgICAgICB9CkBAIC0xMjAsNiArMTIyLDcg
QEAgcHJpdmF0ZToKICAgICBVUkwgbV91cmw7CiAgICAgUmVmPEVtcHR5RXZlbnRMb29wPiBtX2V2
ZW50TG9vcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRMb29wVGFza0dyb3VwPiBtX2V2ZW50
TG9vcFRhc2tHcm91cDsKKyAgICBTZXR0aW5nczo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaAppbmRleCAyMTUwZDIyNjExNWYxNTdjNGY2ZGVjOWUxNGFjOGVmODIz
OTVmNjE4Li5kNDY4N2NlNWE2YzMwODljM2UyYmY2ZDM3NzI2NWRkOTkxYzVhYzU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJET01UaW1lci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5Q29udGV4dC5oIgog
I2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSGFuZGxlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRUYXNrLmg+
CkBAIC0xMDMsNiArMTA0LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBSZWZlcnJlclBvbGlj
eSByZWZlcnJlclBvbGljeSgpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgY29uc3QgU2V0dGlu
Z3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9
IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCBiYjYwODRiODgxYjE5OWM1NTMz
ZjE3YzlmMGE2ZWYxNzhmOTQ5M2UxLi41NzUxYWMyMWQxZGJjMjBkYWNlZGRkNjQyMGNkYmU0Yjg4
MjA2N2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0xMDIsNyArMTAyLDcgQEAg
RGVmYXVsdFZpZGVvUG9zdGVyVVJMOgogICB0eXBlOiBTdHJpbmcKICAgZGVmYXVsdFZhbHVlOgog
ICAgIFdlYkNvcmU6Ci0gICAgICBkZWZhdWx0OgorICAgICAgZGVmYXVsdDogJ3sgfScKIAogRGlz
YWJsZVNjcmVlblNpemVPdmVycmlkZToKICAgdHlwZTogYm9vbApAQCAtMzA0LDcgKzMwNCw3IEBA
IEphdmFTY3JpcHRSdW50aW1lRmxhZ3M6CiAgIHJlZmluZWRUeXBlOiBKU0M6OlJ1bnRpbWVGbGFn
cwogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToKLSAgICAgIGRlZmF1bHQ6CisgICAgICBk
ZWZhdWx0OiAneyB9JwogCiBMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDoK
ICAgdHlwZTogYm9vbApAQCAtMzI0LDcgKzMyNCw3IEBAIExvY2FsU3RvcmFnZURhdGFiYXNlUGF0
aDoKICAgdHlwZTogU3RyaW5nCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJDb3JlOgotICAgICAg
ZGVmYXVsdDoKKyAgICAgIGRlZmF1bHQ6ICd7IH0nCiAKIE1heGltdW1BY2NlbGVyYXRlZDJkQ2Fu
dmFzU2l6ZToKICAgdHlwZTogdWludDMyX3QKQEAgLTM1MywxMyArMzUzLDEzIEBAIE1lZGlhRGV2
aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk6CiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElB
X1NUUkVBTSkKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYkNvcmU6Ci0gICAgICBkZWZhdWx0Ogor
ICAgICAgZGVmYXVsdDogJ3sgfScKIAogTWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeToKICAgdHlw
ZTogU3RyaW5nCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJDb3JlOgotICAgICAgZGVmYXVsdDoK
KyAgICAgIGRlZmF1bHQ6ICd7IH0nCiAKIE1lZGlhVHlwZU92ZXJyaWRlOgogICB0eXBlOiBTdHJp
bmcKQEAgLTU3OSw3ICs1NzksNyBAQCBVc2VyU3R5bGVTaGVldExvY2F0aW9uOgogICB3ZWJjb3Jl
T25DaGFuZ2U6IHVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkCiAgIGRlZmF1bHRWYWx1ZToK
ICAgICBXZWJDb3JlOgotICAgICAgZGVmYXVsdDoKKyAgICAgIGRlZmF1bHQ6ICd7IH0nCiAKIFZh
bGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uOgogICBjb21tZW50OiA+LQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCA2ZjBmNjJkNzgz
Yzk0ODFkYmFiMWVmOWUzOGU1NzlmNDBhYTFkMjAxLi5kYmFiMzQ4ZTgwYzlkZTUwYmQyMTU3Nzdh
MTRhMzlhMGY3MGU0OWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcApAQCAtNzMsOSArNzMsNyBAQCBXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xv
YmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSB0eXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZQogICAg
ICwgbV9zb2NrZXRQcm92aWRlcihzb2NrZXRQcm92aWRlcikKICAgICAsIG1fcGVyZm9ybWFuY2Uo
UGVyZm9ybWFuY2U6OmNyZWF0ZSh0aGlzLCBwYXJhbXMudGltZU9yaWdpbikpCiAgICAgLCBtX3Jl
ZmVycmVyUG9saWN5KHBhcmFtcy5yZWZlcnJlclBvbGljeSkKLSAgICAsIG1fcmVxdWVzdEFuaW1h
dGlvbkZyYW1lRW5hYmxlZChwYXJhbXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCkKLSAg
ICAsIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQocGFyYW1zLmFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkKQotICAgICwgbV93ZWJHTEVuYWJsZWQocGFyYW1zLndlYkdMRW5hYmxl
ZCkKKyAgICAsIG1fc2V0dGluZ3NWYWx1ZXMocGFyYW1zLnNldHRpbmdzVmFsdWVzKQogewogI2lm
ICFFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblBy
b3h5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA1
YTIwOGI0YmJkMTQwMDAxZGViNWJkZmI2NTkyNTcxNjE5MzdiYmUyLi4wOWNlOWQzNmQzMDliMDA3
YzBlZGI3ZDZkYjJmNTY4ZmQ0ZGFkYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oCkBAIC0xMjEsOSArMTIxLDkgQEAgcHVibGljOgogCiAgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbDsKIAotICAgIGJvb2wgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdEFuaW1hdGlv
bkZyYW1lRW5hYmxlZDsgfQotICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOyB9Ci0gICAg
Ym9vbCB3ZWJHTEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkdMRW5hYmxlZDsgfQorICAg
IGJvb2wgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0
dGluZ3NWYWx1ZXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZDsgfQorICAgIGJvb2wgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzVmFs
dWVzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJHTEVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzVmFsdWVzLndlYkdMRW5hYmxlZDsgfQogCiBw
cm90ZWN0ZWQ6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyVGhyZWFkVHlwZSwgY29uc3Qg
V29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFkJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqLCBTb2NrZXRQcm92aWRlciopOwpAQCAtMTQyLDYgKzE0Miw4IEBAIHByaXZhdGU6CiAK
ICAgICBVUkwgY29tcGxldGVVUkwoY29uc3QgU3RyaW5nJiwgRm9yY2VVVEY4ID0gRm9yY2VVVEY4
OjpObykgY29uc3QgZmluYWw7CiAgICAgU3RyaW5nIHVzZXJBZ2VudChjb25zdCBVUkwmKSBjb25z
dCBmaW5hbDsKKyAgICBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXM7IH0KKwogICAgIEV2ZW50VGFyZ2V0
KiBlcnJvckV2ZW50VGFyZ2V0KCkgZmluYWw7CiAgICAgU3RyaW5nIHJlc291cmNlUmVxdWVzdElk
ZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBTb2Nr
ZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIoKSBmaW5hbDsKQEAgLTE4Nyw5ICsxODksNyBAQCBw
cml2YXRlOgogI2VuZGlmCiAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1ZhbHVlUG9vbD4gbV9jc3NW
YWx1ZVBvb2w7CiAgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKLSAgICBib29s
IG1fcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZDsKLSAgICBib29sIG1fYWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQ7Ci0gICAgYm9vbCBtX3dlYkdMRW5hYmxlZDsKKyAgICBTZXR0aW5n
czo6VmFsdWVzIG1fc2V0dGluZ3NWYWx1ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmlu
ZGV4IDExZmUwNmZjNmEzNmQ4NGNlN2MyZWFlZWYzOWVjZjYxNDk0MjM1ODMuLjE5ZDRiZTY0OTky
ZjMwZDNjY2U3NjU0N2EzZDIyMThhOThjODQyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBk
b2N1bWVudC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMg
PSB7IHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBkb2N1bWVu
dC5zZXR0aW5ncygpLnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSwgZG9jdW1lbnQuc2V0
dGluZ3MoKS5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpLCBkb2N1bWVudC5zZXR0aW5n
cygpLndlYkdMRW5hYmxlZCgpIH07CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNj
cmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBkb2N1bWVudC5zZXR0
aW5nc1ZhbHVlcygpIH07CiAgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9k
ZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZs
YWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkLmdldCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA5ODc5ZTgwZjYyYzNhYmZlYThmZTll
Zjk3OTc2N2U3Y2JmNjdiYjE0Li4xZjU0YzUzYzgwMmY2MjcwNmVmNDg4ZmI2ODAxNmFkMjU3Y2Iz
NDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC01NSw5ICs1
NSw3IEBAIFdvcmtlclBhcmFtZXRlcnMgV29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKICAgICAgICAgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LAogICAgICAgICB0aW1lT3JpZ2luLAogICAgICAgICByZWZlcnJlclBvbGljeSwKLSAgICAgICAg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCwKLSAgICAgICAgYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQsCi0gICAgICAgIHdlYkdMRW5hYmxlZCwKKyAgICAgICAgc2V0dGluZ3NWYWx1
ZXMuaXNvbGF0ZWRDb3B5KCkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaAppbmRleCBlM2RmMDllNDgzMDE0NWJiYzc0YWQwMWJiZGE0ODYxMmIwOWMwNjE4Li44
OWFhZTkyMjk2ZjM1ZjNkZDZiZjM1NTY4MzcxZjNlNzk1ZWUzZWNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTYzLDkgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5OwogICAgIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbjsKICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeTsKLSAg
ICBib29sIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQ7Ci0gICAgYm9vbCBhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZDsKLSAgICBib29sIHdlYkdMRW5hYmxlZDsKKyAgICBTZXR0aW5n
czo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2VyUGFyYW1ldGVycyBpc29sYXRl
ZENvcHkoKSBjb25zdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGE4NGVh
NGU5NzAzMWQwZWE5MDViMzQwMDk1NjlmM2Y3MzBhMDc0N2YuLmM4YTdhOTk3MmY5Y2M4YzE2YTc5
Njc1MTE1NTJmNTQ5M2E2ODZmOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03
Myw4ICs3Myw4IEBAIHByaXZhdGU6CiAvLyBGSVhNRTogVXNlIGEgdmFsaWQgV29ya2VyT2JqZWN0
UHJveHkKIC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCi1TZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJv
eHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6SURCQ29u
bmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQ
cm92aWRlcikKLSAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmlu
ZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNy
ZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCB0cnVlLCB0cnVlLCB0cnVlIH0s
IGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29y
a2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwg
ZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCks
IGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpj
cmVhdGVBbGxFbmFibGVkKCkpCitTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhy
ZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFn
ZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcywgV29ya2VyTG9hZGVy
UHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBXb3JrZXJUaHJlYWQoeyBkYXRhLnNjcmlw
dFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRp
ZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxh
dGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuY29u
dGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgc2V0
dGluZ3NWYWx1ZXMgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBE
dW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0
TW9kZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlP
cmlnaW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpS
dW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0
TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQo
KSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuaAppbmRleCA4YzUwODNiZTNiNDk0ZWQ1YjExYjA3MzFkYzZmMGUyNzJlYTk0
NWQwLi45NTU3MjRhMzc5NzVhN2E4MTkxODEwZTBmYzAwYzQ1M2JkOTVhYTM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
ckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckZldGNoLmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KQEAgLTc5LDcgKzgwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcnVuRXZl
bnRMb29wKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2Vydmlj
ZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBTdHJpbmcmJiB1
c2VyQWdlbnQsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YSYsIFN0cmluZyYmIHVzZXJBZ2VudCwgY29uc3QgU2V0dGluZ3M6OlZhbHVlcyYsIFdvcmtlckxv
YWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAogICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyVGhy
ZWFkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZmluaXNoZWRFdmFs
dWF0aW5nU2NyaXB0KCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNw
cAppbmRleCAwM2NkMjM5MGQ4OTNkYTA1YjNkYzE3NzJjNTg0MjgxMzMwMzEzYmU3Li5kMmNhZDk2
MTJmMjRjMTUwZGRlZDdhMWNkOThiMjg2Y2ZhODJjNDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWRQcm94eS5jcHAKQEAgLTk3LDcgKzk3LDcgQEAgc3RhdGljIEhhc2hTZXQ8U2Vydmlj
ZVdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94aWVzKCkKIFNl
cnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6U2VydmljZVdvcmtlclRocmVhZFByb3h5KFBhZ2VDb25m
aWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2Fj
aGVTdG9yYWdlUHJvdmlkZXIsIFN0b3JhZ2VCbG9ja2luZ1BvbGljeSBzdG9yYWdlQmxvY2tpbmdQ
b2xpY3kpCiAgICAgOiBtX3BhZ2UoY3JlYXRlUGFnZUZvclNlcnZpY2VXb3JrZXIoV1RGTW92ZShw
YWdlQ29uZmlndXJhdGlvbiksIGRhdGEsIHN0b3JhZ2VCbG9ja2luZ1BvbGljeSkpCiAgICAgLCBt
X2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkpCi0gICAgLCBtX3NlcnZp
Y2VXb3JrZXJUaHJlYWQoU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlKGRhdGEsIFdURk1vdmUo
dXNlckFnZW50KSwgKnRoaXMsICp0aGlzLCBpZGJDb25uZWN0aW9uUHJveHkobV9kb2N1bWVudCks
IG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCkpKQorICAgICwgbV9zZXJ2aWNlV29ya2VyVGhy
ZWFkKFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZShkYXRhLCBXVEZNb3ZlKHVzZXJBZ2VudCks
IG1fZG9jdW1lbnQtPnNldHRpbmdzVmFsdWVzKCksICp0aGlzLCAqdGhpcywgaWRiQ29ubmVjdGlv
blByb3h5KG1fZG9jdW1lbnQpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpKSkKICAgICAs
IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2FjaGVTdG9yYWdlUHJvdmlkZXIpCiAgICAgLCBtX2lu
c3BlY3RvclByb3h5KCp0aGlzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggYzRkYTY1MzMyMjJhYWQ2MTQyZGQ4MTY1ZGQ5OGNiNWZm
YWViMGYxZi4uMTAxOGVkYTk3YzlmNmI2ZTRkYzcyMjMxM2M3MzdhZTI2OTQ4Y2IwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC01NCw2
ICs1NCw3IEBAIFdvcmtsZXRHbG9iYWxTY29wZTo6V29ya2xldEdsb2JhbFNjb3BlKFdvcmtlck9y
V29ya2xldFRocmVhZCYgdGhyZWFkLCBjb25zdCBXb3JrCiAgICAgLCBtX3RvcE9yaWdpbihTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkpCiAgICAgLCBtX3VybChwYXJhbWV0ZXJzLndpbmRv
d1VSTCkKICAgICAsIG1fanNSdW50aW1lRmxhZ3MocGFyYW1ldGVycy5qc1J1bnRpbWVGbGFncykK
KyAgICAsIG1fc2V0dGluZ3NWYWx1ZXMocGFyYW1ldGVycy5zZXR0aW5nc1ZhbHVlcykKIHsKICAg
ICArK2dOdW1iZXJPZldvcmtsZXRHbG9iYWxTY29wZXM7CiAKQEAgLTY4LDYgKzY5LDcgQEAgV29y
a2xldEdsb2JhbFNjb3BlOjpXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQmIGRvY3VtZW50LCBS
ZWY8SlNDOjpWTT4mJiB2bSwgU2MKICAgICAsIG1fdXJsKGNvZGUudXJsKCkpCiAgICAgLCBtX2pz
UnVudGltZUZsYWdzKGRvY3VtZW50LnNldHRpbmdzKCkuamF2YVNjcmlwdFJ1bnRpbWVGbGFncygp
KQogICAgICwgbV9jb2RlKFdURk1vdmUoY29kZSkpCisgICAgLCBtX3NldHRpbmdzVmFsdWVzKGRv
Y3VtZW50LnNldHRpbmdzVmFsdWVzKCkuaXNvbGF0ZWRDb3B5KCkpCiB7CiAgICAgKytnTnVtYmVy
T2ZXb3JrbGV0R2xvYmFsU2NvcGVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5oCmluZGV4IGI4MTg1OWJkZGJkZGNjZTU2Yjc2OWU1OTI5MjU2NDJkNWVj
YTgzN2IuLmU4MDJkNGU4NTlhM2U0NGU2NTI4OWVjNzE4ZWU3YWMxNDI2ODJlZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC0xMjMsNiArMTIz
LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIFVSTCBjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcm
LCBGb3JjZVVURjggPSBGb3JjZVVURjg6Ok5vKSBjb25zdCBmaW5hbDsKICAgICBTdHJpbmcgdXNl
ckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1
ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVl
czsgfQogCiAgICAgc3RydWN0IFNjcmlwdEZldGNoSm9iIHsKICAgICAgICAgVVJMIG1vZHVsZVVS
TDsKQEAgLTE0Niw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXb3JrZXJTY3JpcHRM
b2FkZXI+IG1fc2NyaXB0TG9hZGVyOwogICAgIERlcXVlPFNjcmlwdEZldGNoSm9iPiBtX3Njcmlw
dEZldGNoSm9iczsKICAgICBIYXNoU2V0PFVSTD4gbV9ldmFsdWF0ZWRNb2R1bGVzOworICAgIFNl
dHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRQYXJhbWV0
ZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0UGFyYW1ldGVycy5oCmluZGV4
IGFhYjhkZGJkOTY5Yjk3Zjc1MzMyNGRkNjg3NzQ3NDkzNzk1NDU5YzQuLjE5ZjQ1N2Q4N2IwOWZj
MmI3Y2UwNDk0ZjNjNTNiNTA5M2UwMDM0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1dvcmtsZXRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldFBhcmFtZXRlcnMuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUnVudGltZUZs
YWdzLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogCkBAIC0zNSw2ICszNiw3IEBAIHN0cnVjdCBX
b3JrbGV0UGFyYW1ldGVycyB7CiAgICAgSlNDOjpSdW50aW1lRmxhZ3MganNSdW50aW1lRmxhZ3M7
CiAgICAgZmxvYXQgc2FtcGxlUmF0ZTsKICAgICBTdHJpbmcgaWRlbnRpZmllcjsKKyAgICBTZXR0
aW5nczo6VmFsdWVzIHNldHRpbmdzVmFsdWVzOwogCiAgICAgV29ya2xldFBhcmFtZXRlcnMgaXNv
bGF0ZWRDb3B5KCkgY29uc3QKICAgICB7CkBAIC00Miw3ICs0NCw4IEBAIHN0cnVjdCBXb3JrbGV0
UGFyYW1ldGVycyB7CiAgICAgICAgICAgICB3aW5kb3dVUkwuaXNvbGF0ZWRDb3B5KCksCiAgICAg
ICAgICAgICBqc1J1bnRpbWVGbGFncywKICAgICAgICAgICAgIHNhbXBsZVJhdGUsCi0gICAgICAg
ICAgICBpZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpCisgICAgICAgICAgICBpZGVudGlmaWVyLmlz
b2xhdGVkQ29weSgpLAorICAgICAgICAgICAgc2V0dGluZ3NWYWx1ZXMuaXNvbGF0ZWRDb3B5KCkK
ICAgICAgICAgfTsKICAgICB9CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416139</attachid>
            <date>2020-12-14 00:21:04 -0800</date>
            <delta_ts>2020-12-14 01:44:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219688-20201214092103.patch</filename>
            <type>text/plain</type>
            <size>30187</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZWIwMmQ4YzdhZmM3MmJiMDZhN2QwN2Q3YzY4ODNlODc1ODhjOGYzLi40NjJjMGFhZjdhODRjOTc2
YjBiMzdkYmI1ZjhmYjIyNjRlYTg1MWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0xMi0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgUGFzcyBhbiBpc29sYXRlZCBjb3B5IG9mIFNldHRpbmdzIHRvIHdvcmtlcnMg
YW5kIHdvcmtsZXRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAg
ICAqIHJ1bnRpbWUvUnVudGltZUZsYWdzLmg6CisgICAgICAgIChKU0M6OlJ1bnRpbWVGbGFnczo6
aXNvbGF0ZWRDb3B5IGNvbnN0KToKKwogMjAyMC0xMi0xMyAgU2FtdWVsIFRoaWJhdWx0ICA8c2Ft
dWVsLnRoaWJhdWx0QGVucy1seW9uLm9yZz4KIAogICAgICAgICBbSlNDXSBTZXQgc19tYXhQYXRo
TGVuZ3RoIGZhbGxiYWNrIHdoZW4gT1MgZG9lcyBub3QgaGF2ZSBhIFBBVEhfTUFYIGxpbWl0YXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKaW5kZXggNmVjNDY0YTNjNzUyNzg0Y2Q2ZGQyYzQyOTUxNWMyMWI1YWUzMWQzMi4uMjdlZjU0
YzY3MDQwZWZhYmU2ZTEyOWYzODA1MjZlNTUyZWM5OWNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMC0xMi0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
UGFzcyBhbiBpc29sYXRlZCBjb3B5IG9mIFNldHRpbmdzIHRvIHdvcmtlcnMgYW5kIHdvcmtsZXRz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Njg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBBZGQgbWlzc2lu
ZyBkZWZhdWx0IHZhbHVlcy4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXMueWFtbDoKKwogMjAyMC0xMi0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgW01hY10gUmVnaXN0ZXIgdGhlIGZvcm1hdCByZWFkZXIgcGx1Zy1pbiBm
b3IgV2ViTSBjb250ZW50IHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZmYzNjNDQ4OTM2ZjIxYWM5NDA3
NDE2ZTdlOGM1NTBlOGY3ZjA5Ni4uZjFmMjg1OTVhN2IwMzVlNDQzODBlZjc2NDE3OWY1NTMxOTc0
ZTZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTEyLTE0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIGFuIGlzb2xhdGVkIGNvcHkg
b2YgU2V0dGluZ3MgdG8gd29ya2VycyBhbmQgd29ya2xldHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk2ODgKKworICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgorCisgICAgICAgIEdlbmVyYXRlIGEgU2V0dGluZ3M6OlZhbHVlcyBzdHJ1
Y3QgY29udGFpbmluZyBhbGwgc2V0dGluZyB2YWx1ZXMuCisgICAgICAgIFdvcmtlcnMgYW5kIHdv
cmtsZXRzIGdldCB0aGF0IHN0cnVjdHVyZSBmcm9tIHRoZWlyIGRvY3VtZW50IGFuZCBkbyBhIHRo
cmVhZCBzYWZlIGNvcHkgdG8gdXNlIGl0IGluIHRoZSBiYWNrZ3JvdW5kIHRocmVhZC4KKyAgICAg
ICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBpbiB3b3JrZXJzLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpnZW5lcmF0ZVdvcmtsZXRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBTY3JpcHRzL1Nl
dHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYjoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KyAgICAgICAgKiBkb20vRW1wdHlTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlh
bWw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlOjpyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjphY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6d2ViR0xFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJQYXJhbWV0ZXJzOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6U2VydmljZVdvcmtlclRocmVhZFByb3h5KToK
KyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpXb3JrbGV0R2xvYmFsU2NvcGUpOgorICAgICAgICAq
IHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmts
ZXRQYXJhbWV0ZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0UGFyYW1ldGVyczo6aXNv
bGF0ZWRDb3B5IGNvbnN0KToKKwogMjAyMC0xMi0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW01hY10gQ3JlYXRlIGEgTWVkaWFUb29sYm94IGZvcm1hdCByZWFk
ZXIgcGx1Zy1pbiBmb3IgV2ViTQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUnVudGltZUZsYWdzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SdW50
aW1lRmxhZ3MuaAppbmRleCBhNDIzZWE5MTBiZDdiZmNiYzI3Y2JlMTk1NWFiODUwYmFhNWY3MTk0
Li5kZmM4NzcwNTQ4MzhiZGFhZDY4ZDdkOTdlY2RiYjM2YmQ0MjZkYzZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SdW50aW1lRmxhZ3MuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SdW50aW1lRmxhZ3MuaApAQCAtOTAsNiArOTAsOCBAQCBw
dWJsaWM6CiAgICAgICAgICk7CiAgICAgfQogCisgICAgUnVudGltZUZsYWdzIGlzb2xhdGVkQ29w
eSgpIGNvbnN0IHsgcmV0dXJuIFJ1bnRpbWVGbGFncyhtX2ZsYWdzKTsgfQorCiBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1fZmxhZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJl
ZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBmYzJkZjZmZmIzN2E0YzRjYTQ3OGNk
OTU1ZDg1MGMyOTRmN2IyNTNkLi45YTVjNTY4Zjc4MDAwNzE2M2EwNWQ5ZDc0MWQ1YTQ3ZjBkNmMz
OGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXMueWFtbApAQCAtNjAwLDcgKzYwMCw3IEBAIERlZmF1bHRUZXh0RW5jb2RpbmdOYW1lOgog
ICAgIFdlYktpdDoKICAgICAgIGRlZmF1bHQ6IFdlYkNvcmU6OmRlZmF1bHRUZXh0RW5jb2RpbmdO
YW1lRm9yU3lzdGVtTGFuZ3VhZ2UoKQogICAgIFdlYkNvcmU6Ci0gICAgICBkZWZhdWx0OgorICAg
ICAgZGVmYXVsdDogJ3sgfScKIAogRGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkOgogICB0eXBlOiBi
b29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29y
a2xldE1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Xb3JrbGV0TWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IGI5MDJhNjMyMzFmMWZjMzRiNmRj
YTk0OWM4NGYxMGZhNDkzMmI5MDQuLjg3NjE3MTAxZTM5OTQ5NzJmZmY5MTJlZDM2MjRjNzRhNzg4
NTYxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9X
b3JrbGV0TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Xb3JrbGV0TWVzc2FnaW5nUHJveHkuY3BwCkBAIC01Miw3ICs1Miw4IEBAIHN0
YXRpYyBXb3JrbGV0UGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtsZXRQYXJhbWV0ZXJzKEF1ZGlvV29y
a2xldCYgd29ya2xldCkKICAgICAgICAgZG9jdW1lbnQtPnVybCgpLAogICAgICAgICBqc1J1bnRp
bWVGbGFncywKICAgICAgICAgd29ya2xldC5hdWRpb0NvbnRleHQoKSA/IHdvcmtsZXQuYXVkaW9D
b250ZXh0KCktPnNhbXBsZVJhdGUoKSA6IDAuMGYsCi0gICAgICAgIHdvcmtsZXQuaWRlbnRpZmll
cigpCisgICAgICAgIHdvcmtsZXQuaWRlbnRpZmllcigpLAorICAgICAgICBkb2N1bWVudC0+c2V0
dGluZ3NWYWx1ZXMoKQogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nj
cmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuY3BwLmVyYiBiL1NvdXJjZS9XZWJDb3Jl
L1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuY3BwLmVyYgppbmRleCA2ZGU5YmM3
ZmUyNjc4NzYyNTY0ODgzODdlYTI0OWYwYTUyYTg5YTViLi5lOTkxYTFlMGQ0MWZhYTFlYzEwOTk5
MzMxODQ2MGFhNDM2OTA1ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1Nl
dHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmNwcC5lcmIKKysrIGIvU291cmNlL1dlYkNvcmUvU2Ny
aXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5jcHAuZXJiCkBAIC02NiwxMyArNjYsMTkg
QEAgUmVmPFNldHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiAKIFNldHRpbmdz
OjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogU2V0dGluZ3NCYXNlKHBhZ2UpCit7CisgICAg
bV92YWx1ZXMuaW5pdGlhbGl6ZSgpOworfQorCit2b2lkIFNldHRpbmdzOjpWYWx1ZXM6OmluaXRp
YWxpemUoKQorewogPCUtIGZvciBAY29uZGl0aW9uIGluIEBhbGxTZXR0aW5nc1NldC5jb25kaXRp
b25zIGRvIC0lPgogPCUtIGlmIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxl
bWVudGF0aW9uLmxlbmd0aCAhPSAwIC0lPgogPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0l
PgogI2lmIDwlPSBAY29uZGl0aW9uLmNvbmRpdGlvbiAlPgogPCUtIGVuZCAtJT4KIDwlLSBmb3Ig
QHNldHRpbmcgaW4gQGNvbmRpdGlvbi5ub25Cb29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRp
b24gLSU+Ci0gICAgLCBtXzwlPSBAc2V0dGluZy5uYW1lICU+KFNFVFRJTkdfREVGQVVMVF9WQUxV
RV9GT1JfPCU9IEBzZXR0aW5nLm5hbWUgJT4pCisgICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBT
RVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+OwogPCUtIGVuZCAt
JT4KIDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KICNlbmRpZgpAQCAtODUsMTUgKzkx
LDQ4IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIDwlPSBAY29uZGl0aW9u
LmNvbmRpdGlvbiAlPgogPCUtIGVuZCAtJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlv
bi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgLCBtXzwlPSBAc2V0
dGluZy5uYW1lICU+KFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9IEBzZXR0aW5nLm5hbWUg
JT4pCisgICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBTRVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9S
XzwlPSBAc2V0dGluZy5uYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9uLmNv
bmRpdGlvbiAtJT4KICNlbmRpZgogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+CiA8JS0gZW5kIC0l
PgorfQogCitTZXR0aW5nczo6VmFsdWVzIFNldHRpbmdzOjpWYWx1ZXM6Omlzb2xhdGVkQ29weSgp
IGNvbnN0CiB7CisgICAgcmV0dXJuIHsKKzwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdz
U2V0Lmluc3BlY3Rvck92ZXJyaWRlU2V0dGluZ3MgZG8gLSU+CisgICAgICAgIGNyb3NzVGhyZWFk
Q29weSg8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKSwKKzwlLSBlbmQgLSU+
Cis8JS0gZm9yIEBjb25kaXRpb24gaW4gQGFsbFNldHRpbmdzU2V0LmNvbmRpdGlvbnMgZG8gLSU+
Cis8JS0gaWYgQGNvbmRpdGlvbi5ub25Cb29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24u
bGVuZ3RoICE9IDAgLSU+Cis8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CisjaWYgPCU9
IEBjb25kaXRpb24uY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorPCUtIGZvciBAc2V0dGluZyBp
biBAY29uZGl0aW9uLm5vbkJvb2xTZXR0aW5nc05lZWRpbmdJbXBsZW1lbnRhdGlvbiAtJT4KKyAg
ICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5uYW1lICU+KSwKKzwlLSBlbmQgLSU+
Cis8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQgLSU+Cis8
JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4KKzwlLSBmb3IgQGNvbmRpdGlvbiBpbiBAYWxsU2V0dGlu
Z3NTZXQuY29uZGl0aW9ucyBkbyAtJT4KKzwlLSBpZiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05l
ZWRpbmdJbXBsZW1lbnRhdGlvbi5sZW5ndGggIT0gMCAtJT4KKzwlLSBpZiBAY29uZGl0aW9uLmNv
bmRpdGlvbiAtJT4KKyNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KKzwlLSBlbmQgLSU+
Cis8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24uYm9vbFNldHRpbmdzTmVlZGluZ0ltcGxl
bWVudGF0aW9uIC0lPgorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0aW5nLm5hbWUg
JT4pLAorPCUtIGVuZCAtJT4KKzwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KKyNlbmRp
ZgorPCUtIGVuZCAtJT4KKzwlLSBlbmQgLSU+Cis8JS0gZW5kIC0lPgorICAgIH07CiB9CiAKIFNl
dHRpbmdzOjp+U2V0dGluZ3MoKQpAQCAtMTA5LDIxICsxNDgsMjEgQEAgU2V0dGluZ3M6On5TZXR0
aW5ncygpCiA8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiBTZXR0aW5nczo6PCU9IEBzZXR0
aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0CiB7CiA8JS0gaWYgQHNldHRpbmcuaGFz
SW5zcGVjdG9yT3ZlcnJpZGU/IC0lPgotICAgIGlmIChVTkxJS0VMWShtXzwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpKSB7CisgICAgaWYgKFVOTElLRUxZKG1fdmFsdWVzLjwl
PSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpKSB7CiAgICAgICAgIEFTU0VSVChJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKTsKLSAgICAgICAgcmV0dXJu
IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZS52YWx1ZSgpOworICAgICAg
ICByZXR1cm4gbV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZS52
YWx1ZSgpOwogICAgIH0KIDwlLSBlbmQgLSU+Ci0gICAgcmV0dXJuIG1fPCU9IEBzZXR0aW5nLm5h
bWUgJT47CisgICAgcmV0dXJuIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+OwogfQogPCUt
IGVuZCAtJT4KIAogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLnNldHRpbmdzV2l0aENv
bXBsZXhTZXR0ZXJzTmVlZGluZ0ltcGxlbWVudGF0aW9uIC0lPgogdm9pZCBTZXR0aW5nczo6PCU9
IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlw
ZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPikKIHsKLSAgICBpZiAobV88JT0gQHNldHRpbmcubmFt
ZSAlPiA9PSA8JT0gQHNldHRpbmcubmFtZSAlPikKKyAgICBpZiAobV92YWx1ZXMuPCU9IEBzZXR0
aW5nLm5hbWUgJT4gPT0gPCU9IEBzZXR0aW5nLm5hbWUgJT4pCiAgICAgICAgIHJldHVybjsKLSAg
ICBtXzwlPSBAc2V0dGluZy5uYW1lICU+ID0gPCU9IEBzZXR0aW5nLm5hbWUgJT47CisgICAgbV92
YWx1ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSA8JT0gQHNldHRpbmcubmFtZSAlPjsKICAgICA8
JT0gQHNldHRpbmcub25DaGFuZ2UgJT4oKTsKIH0KIDwlLSBlbmQgLSU+CkBAIC0xMzcsOSArMTc2
LDkgQEAgdm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8
JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPgogPCUtIGlmIEBzZXR0aW5nLmhhc0NvbXBsZXhT
ZXR0ZXI/IC0lPgogdm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPkluc3BlY3Rvck92ZXJyaWRlKE9wdGlvbmFsPDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBl
ICU+PiA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKQogewotICAgIGlmICht
XzwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPT0gPCU9IEBzZXR0aW5nLm5h
bWUgJT5JbnNwZWN0b3JPdmVycmlkZSkKKyAgICBpZiAobV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5h
bWUgJT5JbnNwZWN0b3JPdmVycmlkZSA9PSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlKQogICAgICAgICByZXR1cm47Ci0gICAgbV88JT0gQHNldHRpbmcubmFtZSAlPkluc3Bl
Y3Rvck92ZXJyaWRlID0gPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZTsKKyAg
ICAgICAgbV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSA9IDwl
PSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7CiA8JS0gaWYgQHNldHRpbmcuY29u
ZGl0aW9uIC0lPgogI2lmIDwlPSBAc2V0dGluZy5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRp
bmdzLmguZXJiIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0
aW5ncy5oLmVyYgppbmRleCAyYWY0NTRhMTMyYjU2YTE1YzEyYTEyNDlhMWQxNTg5NjA4OTEwMTQy
Li4zNzFmMWU1ZjI1YTIxODgyM2I1NDM2NGE3YzZlODlkMmY5NjFjZTM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5l
cmIKQEAgLTQ4LDEyICs0OCwxMiBAQCBwdWJsaWM6CiAgICAgPCUtIGlmIEBzZXR0aW5nLmhhc0Nv
bXBsZXhHZXR0ZXI/IC0lPgogICAgIFdFQkNPUkVfRVhQT1JUIDwlPSBAc2V0dGluZy5wYXJhbWV0
ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJGdW5jdGlvbk5hbWUgJT4oKSBjb25zdDsKICAg
ICA8JS0gZWxzZSAtJT4KLSAgICA8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNl
dHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1lICU+KCkgY29uc3QgeyByZXR1cm4gbV88JT0gQHNldHRp
bmcubmFtZSAlPjsgfSAKKyAgICA8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNl
dHRpbmcuZ2V0dGVyRnVuY3Rpb25OYW1lICU+KCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuPCU9
IEBzZXR0aW5nLm5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogICAgIDwlLSBpZiBAc2V0dGlu
Zy5oYXNDb21wbGV4U2V0dGVyPyAtJT4KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIDwlPSBAc2V0
dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4p
OwogICAgIDwlLSBlbHNlIC0lPgotICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9u
TmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAl
PikgeyBtXzwlPSBAc2V0dGluZy5uYW1lICU+ID0gPCU9IEBzZXR0aW5nLm5hbWUgJT47IH0KKyAg
ICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBh
cmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pIHsgbV92YWx1ZXMuPCU9IEBzZXR0
aW5nLm5hbWUgJT4gPSA8JT0gQHNldHRpbmcubmFtZSAlPjsgfQogICAgIDwlLSBlbmQgLSU+CiA8
JS0gZW5kIC0lPgogPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0lPgpAQCAtNjUsMTUgKzY1
LDE2IEBAIHB1YmxpYzoKICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleFNldHRlcj8gLSU+
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1l
ICU+SW5zcGVjdG9yT3ZlcnJpZGUoT3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUg
JT4+KTsKICAgICA8JS0gZWxzZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5j
dGlvbk5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZShPcHRpb25hbDw8JT0gQHNldHRpbmcucGFyYW1l
dGVyVHlwZSAlPj4gPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSkgeyBtXzwl
PSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSA8JT0gQHNldHRpbmcubmFtZSAl
Pkluc3BlY3Rvck92ZXJyaWRlOyB9CisgICAgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rp
b25OYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUoT3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFtZXRl
clR5cGUgJT4+IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpIHsgbV92YWx1
ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZSA9IDwlPSBAc2V0dGluZy5u
YW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7IH0KICAgICA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4K
IAotcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBTZXR0aW5ncyhQYWdlKik7
CisgICAgc3RydWN0IFZhbHVlcyB7CisgICAgICAgIHZvaWQgaW5pdGlhbGl6ZSgpOworICAgICAg
ICBWYWx1ZXMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFs
bFNldHRpbmdzU2V0Lmluc3BlY3Rvck92ZXJyaWRlU2V0dGluZ3MgZG8gLSU+Ci0gICAgT3B0aW9u
YWw8PCU9IEBzZXR0aW5nLnR5cGUgJT4+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT5JbnNwZWN0b3JP
dmVycmlkZTsKKyAgICAgICAgT3B0aW9uYWw8PCU9IEBzZXR0aW5nLnR5cGUgJT4+IDwlPSBAc2V0
dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7CiA8JS0gZW5kIC0lPgogCiA8JS0gZm9yIEBj
b25kaXRpb24gaW4gQGFsbFNldHRpbmdzU2V0LmNvbmRpdGlvbnMgZG8gLSU+CkBAIC04MiwyOCAr
ODMsMzMgQEAgcHJpdmF0ZToKICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBl
bmQgLSU+CiA8JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVl
ZGluZ0ltcGxlbWVudGF0aW9uIC0lPgotICAgIDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBz
ZXR0aW5nLm5hbWUgJT47CisgICAgICAgIDwlPSBAc2V0dGluZy50eXBlICU+IDwlPSBAc2V0dGlu
Zy5uYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4K
ICNlbmRpZgogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+CiA8JS0gZW5kIC0lPgotCiA8JS0gZm9y
IEBjb25kaXRpb24gaW4gQGFsbFNldHRpbmdzU2V0LmNvbmRpdGlvbnMgZG8gLSU+Ci08JS0gaWYg
QGNvbmRpdGlvbi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24ubGVuZ3RoICE9IDAg
LSU+Ci08JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CisgICAgPCUtIGlmIEBjb25kaXRp
b24uc2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24ubGVuZ3RoICE9IDAgLSU+CisgICAgICAg
IDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KICNpZiA8JT0gQGNvbmRpdGlvbi5jb25k
aXRpb24gJT4KLTwlLSBlbmQgLSU+Ci08JS0gZm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24uYm9v
bFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9uIC0lPgotICAgIDwlPSBAc2V0dGluZy50eXBl
ICU+IG1fPCU9IEBzZXR0aW5nLm5hbWUgJT4gOiAxOwotPCUtIGVuZCAtJT4KLTwlLSBpZiBAY29u
ZGl0aW9uLmNvbmRpdGlvbiAtJT4KKyAgICAgICAgPCUtIGVuZCAtJT4KKyAgICAgICAgPCUtIGZv
ciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05lZWRpbmdJbXBsZW1lbnRhdGlv
biAtJT4KKyAgICAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4g
OiAxOworICAgICAgICA8JS0gZW5kIC0lPgorICAgICAgICA8JS0gaWYgQGNvbmRpdGlvbi5jb25k
aXRpb24gLSU+CiAjZW5kaWYKKyAgICAgICAgPCUtIGVuZCAtJT4KKyAgICA8JS0gZW5kIC0lPgog
PCUtIGVuZCAtJT4KLTwlLSBlbmQgLSU+Ci08JS0gZW5kIC0lPgorICAgIH07CisgICAgY29uc3Qg
VmFsdWVzJiB2YWx1ZXMoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlczsgfQorCitwcml2YXRlOgor
ICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIAorICAgIFZhbHVl
cyBtX3ZhbHVlczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTdlNmRhNzdlMGFi
Y2E3MDUxMGQ3MGE1ZTFjZTE3NTkzODY5ZmM2ZC4uNWMxNTQyNGM0ZDkxYmJkNGFlODhlZWY0Mzg3
ODVmYjdjODRhZjZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTYyNCw2ICs2MjQsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCByZXN1bWVBY3RpdmVET01PYmplY3RzKFJlYXNvbkZvclN1c3BlbnNp
b24pIGZpbmFsOwogICAgIHZvaWQgc3RvcEFjdGl2ZURPTU9iamVjdHMoKSBmaW5hbDsKIAorICAg
IGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gc2V0dGluZ3MoKS52YWx1ZXMoKTsgfQorCiAgICAgdm9pZCBzdXNwZW5kRGV2aWNlTW90
aW9uQW5kT3JpZW50YXRpb25VcGRhdGVzKCk7CiAgICAgdm9pZCByZXN1bWVEZXZpY2VNb3Rpb25B
bmRPcmllbnRhdGlvblVwZGF0ZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VtcHR5U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VtcHR5
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGZjOTU3NDVmOTczMWY5OWQ0ODViYzY1MmMx
M2JjZDk1OTYzMjNmMTguLjNhZTg2MmQzZDVlODY0OWU2ZTllYTUxMjIwYTQ5YWNmYWRkNDA2NjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbXB0eVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRW1wdHlTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKQEAgLTk0LDYgKzk0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBmaW5hbCB7IHJlZigpOyB9OwogICAgIHZvaWQgZGVyZWZTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgZmluYWwgeyBkZXJlZigpOyB9OwogCisgICAgY29uc3QgU2V0dGluZ3M6OlZh
bHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NldHRpbmdzVmFs
dWVzOyB9CisKICAgICBjbGFzcyBFbXB0eUV2ZW50TG9vcCBmaW5hbCA6IHB1YmxpYyBFdmVudExv
b3AgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFJlZjxFbXB0eUV2ZW50TG9vcD4gY3Jl
YXRlKEpTQzo6Vk0mIHZtKQpAQCAtMTA0LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgICAgIE1p
Y3JvdGFza1F1ZXVlJiBtaWNyb3Rhc2tRdWV1ZSgpIGZpbmFsIHsgcmV0dXJuIG1fcXVldWU7IH07
CiAKICAgICBwcml2YXRlOgotICAgICAgICBFbXB0eUV2ZW50TG9vcChKU0M6OlZNJiB2bSkKKyAg
ICAgICAgZXhwbGljaXQgRW1wdHlFdmVudExvb3AoSlNDOjpWTSYgdm0pCiAgICAgICAgICAgICA6
IG1fcXVldWUoTWljcm90YXNrUXVldWUodm0pKQogICAgICAgICB7CiAgICAgICAgIH0KQEAgLTEy
MCw2ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIFVSTCBtX3VybDsKICAgICBSZWY8RW1wdHlFdmVu
dExvb3A+IG1fZXZlbnRMb29wOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudExvb3BUYXNrR3Jv
dXA+IG1fZXZlbnRMb29wVGFza0dyb3VwOworICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5n
c1ZhbHVlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDIxNTBkMjI2MTE1ZjE1N2M0ZjZkZWM5
ZTE0YWM4ZWY4MjM5NWY2MTguLmQ0Njg3Y2U1YTZjMzA4OWMzZTJiZjZkMzc3MjY1ZGQ5OTFjNWFj
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAt
MzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlD
b250ZXh0LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCisjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9IYW5kbGVUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1Ro
cmVhZFRhc2suaD4KQEAgLTEwMyw2ICsxMDQsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFJl
ZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCBj
b25zdCBTZXR0aW5nczo6VmFsdWVzJiBzZXR0aW5nc1ZhbHVlcygpIGNvbnN0ID0gMDsKKwogICAg
IHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IGJiNjA4NGI4
ODFiMTk5YzU1MzNmMTdjOWYwYTZlZjE3OGY5NDkzZTEuLjU3NTFhYzIxZDFkYmMyMGRhY2VkZGQ2
NDIwY2RiZTRiODgyMDY3ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTEwMiw3
ICsxMDIsNyBAQCBEZWZhdWx0VmlkZW9Qb3N0ZXJVUkw6CiAgIHR5cGU6IFN0cmluZwogICBkZWZh
dWx0VmFsdWU6CiAgICAgV2ViQ29yZToKLSAgICAgIGRlZmF1bHQ6CisgICAgICBkZWZhdWx0OiAn
eyB9JwogCiBEaXNhYmxlU2NyZWVuU2l6ZU92ZXJyaWRlOgogICB0eXBlOiBib29sCkBAIC0zMDQs
NyArMzA0LDcgQEAgSmF2YVNjcmlwdFJ1bnRpbWVGbGFnczoKICAgcmVmaW5lZFR5cGU6IEpTQzo6
UnVudGltZUZsYWdzCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJDb3JlOgotICAgICAgZGVmYXVs
dDoKKyAgICAgIGRlZmF1bHQ6ICd7IH0nCiAKIExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9s
VUlFbmFibGVkOgogICB0eXBlOiBib29sCkBAIC0zMjQsNyArMzI0LDcgQEAgTG9jYWxTdG9yYWdl
RGF0YWJhc2VQYXRoOgogICB0eXBlOiBTdHJpbmcKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYkNv
cmU6Ci0gICAgICBkZWZhdWx0OgorICAgICAgZGVmYXVsdDogJ3sgfScKIAogTWF4aW11bUFjY2Vs
ZXJhdGVkMmRDYW52YXNTaXplOgogICB0eXBlOiB1aW50MzJfdApAQCAtMzUzLDEzICszNTMsMTMg
QEAgTWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeToKICAgY29uZGl0aW9uOiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToKLSAgICAg
IGRlZmF1bHQ6CisgICAgICBkZWZhdWx0OiAneyB9JwogCiBNZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5OgogICB0eXBlOiBTdHJpbmcKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYkNvcmU6Ci0gICAg
ICBkZWZhdWx0OgorICAgICAgZGVmYXVsdDogJ3sgfScKIAogTWVkaWFUeXBlT3ZlcnJpZGU6CiAg
IHR5cGU6IFN0cmluZwpAQCAtNTc5LDcgKzU3OSw3IEBAIFVzZXJTdHlsZVNoZWV0TG9jYXRpb246
CiAgIHdlYmNvcmVPbkNoYW5nZTogdXNlclN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQKICAgZGVm
YXVsdFZhbHVlOgogICAgIFdlYkNvcmU6Ci0gICAgICBkZWZhdWx0OgorICAgICAgZGVmYXVsdDog
J3sgfScKIAogVmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb246CiAgIGNvbW1lbnQ6
ID4tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4
IDZmMGY2MmQ3ODNjOTQ4MWRiYWIxZWY5ZTM4ZTU3OWY0MGFhMWQyMDEuLmRiYWIzNDhlODBjOWRl
NTBiZDIxNTc3N2ExNGEzOWEwZjcwZTQ5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03Myw5ICs3Myw3IEBAIFdvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRUeXBlIHR5cGUsIGNvbnN0IFdvcmtlclBh
cmFtZXRlCiAgICAgLCBtX3NvY2tldFByb3ZpZGVyKHNvY2tldFByb3ZpZGVyKQogICAgICwgbV9w
ZXJmb3JtYW5jZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBhcmFtcy50aW1lT3JpZ2luKSkK
ICAgICAsIG1fcmVmZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVyUG9saWN5KQotICAgICwgbV9y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKHBhcmFtcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVF
bmFibGVkKQotICAgICwgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChwYXJhbXMuYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpCi0gICAgLCBtX3dlYkdMRW5hYmxlZChwYXJhbXMu
d2ViR0xFbmFibGVkKQorICAgICwgbV9zZXR0aW5nc1ZhbHVlcyhwYXJhbXMuc2V0dGluZ3NWYWx1
ZXMpCiB7CiAjaWYgIUVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShj
b25uZWN0aW9uUHJveHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5oCmluZGV4IDVhMjA4YjRiYmQxNDAwMDFkZWI1YmRmYjY1OTI1NzE2MTkzN2JiZTIuLjA5Y2U5
ZDM2ZDMwOWIwMDdjMGVkYjdkNmRiMmY1NjhmZDRkYWRhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTEyMSw5ICsxMjEsOSBAQCBwdWJsaWM6CiAK
ICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOwogCi0gICAg
Ym9vbCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1
ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkOyB9Ci0gICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQ7IH0KLSAgICBib29sIHdlYkdMRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViR0xFbmFi
bGVkOyB9CisgICAgYm9vbCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXR0aW5nc1ZhbHVlcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkOyB9Cisg
ICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2V0dGluZ3NWYWx1ZXMuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQ7IH0KKyAgICBib29s
IHdlYkdMRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3NWYWx1ZXMud2ViR0xFbmFi
bGVkOyB9CiAKIHByb3RlY3RlZDoKICAgICBXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJUaHJlYWRU
eXBlLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBXb3Jr
ZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CkBAIC0xNDIsNiArMTQyLDggQEAg
cHJpdmF0ZToKIAogICAgIFVSTCBjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmLCBGb3JjZVVURjgg
PSBGb3JjZVVURjg6Ok5vKSBjb25zdCBmaW5hbDsKICAgICBTdHJpbmcgdXNlckFnZW50KGNvbnN0
IFVSTCYpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdz
VmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXR0aW5nc1ZhbHVlczsgfQorCiAgICAg
RXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBmaW5hbDsKICAgICBTdHJpbmcgcmVzb3Vy
Y2VSZXF1ZXN0SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcigpIGZpbmFsOwpAQCAtMTg3LDkg
KzE4OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTVmFsdWVQ
b29sPiBtX2Nzc1ZhbHVlUG9vbDsKICAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5
OwotICAgIGJvb2wgbV9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkOwotICAgIGJvb2wgbV9h
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKLSAgICBib29sIG1fd2ViR0xFbmFibGVkOwor
ICAgIFNldHRpbmdzOjpWYWx1ZXMgbV9zZXR0aW5nc1ZhbHVlczsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAKaW5kZXggMTFmZTA2ZmM2YTM2ZDg0Y2U3YzJlYWVlZjM5ZWNmNjE0OTQyMzU4My4u
MTlkNGJlNjQ5OTJmMzBkM2NjZTc2NTQ3YTNkMjIxOGE5OGM4NDJjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTg5LDcgKzg5LDcg
QEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25z
dCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQ
cm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBXb3JrZXJQYXJhbWV0
ZXJzIHBhcmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlz
T25saW5lLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xp
Y3ksIGRvY3VtZW50LnNldHRpbmdzKCkucmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpLCBk
b2N1bWVudC5zZXR0aW5ncygpLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCksIGRvY3Vt
ZW50LnNldHRpbmdzKCkud2ViR0xFbmFibGVkKCkgfTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBh
cmFtcyA9IHsgc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGRv
Y3VtZW50LnNldHRpbmdzVmFsdWVzKCkgfTsKICAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdv
cmtlclRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhp
cywgc3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJveHksIHNvY2tldFByb3ZpZGVy
LCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDk4NzllODBmNjJj
M2FiZmVhOGZlOWVmOTc5NzY3ZTdjYmY2N2JiMTQuLjFmNTRjNTNjODAyZjYyNzA2ZWY0ODhmYjY4
MDE2YWQyNTdjYjM0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
QEAgLTU1LDkgKzU1LDcgQEAgV29ya2VyUGFyYW1ldGVycyBXb3JrZXJQYXJhbWV0ZXJzOjppc29s
YXRlZENvcHkoKSBjb25zdAogICAgICAgICBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksCiAgICAgICAgIHRpbWVPcmlnaW4sCiAgICAgICAgIHJlZmVycmVyUG9saWN5
LAotICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkLAotICAgICAgICBhY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZCwKLSAgICAgICAgd2ViR0xFbmFibGVkLAorICAgICAgICBz
ZXR0aW5nc1ZhbHVlcy5pc29sYXRlZENvcHkoKQogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGUzZGYwOWU0ODMwMTQ1YmJjNzRhZDAxYmJkYTQ4NjEy
YjA5YzA2MTguLjg5YWFlOTIyOTZmMzVmM2RkNmJmMzU1NjgzNzFmM2U3OTVlZTNlY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaApAQCAtNjMsOSArNjMsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAg
ICAgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luOwogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5OwotICAgIGJvb2wgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZDsKLSAgICBib29s
IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOwotICAgIGJvb2wgd2ViR0xFbmFibGVkOwor
ICAgIFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAKICAgICBXb3JrZXJQYXJhbWV0
ZXJzIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAK
aW5kZXggYTg0ZWE0ZTk3MDMxZDBlYTkwNWIzNDAwOTU2OWYzZjczMGEwNzQ3Zi4uYzhhN2E5OTcy
ZjljYzhjMTZhNzk2NzUxMTU1MmY1NDkzYTY4NmY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5jcHAKQEAgLTczLDggKzczLDggQEAgcHJpdmF0ZToKIC8vIEZJWE1FOiBVc2UgYSB2YWxpZCBX
b3JrZXJPYmplY3RQcm94eQogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKLVNl
cnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxvYWRlclByb3h5
JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKHsgZGF0YS5zY3JpcHRVUkws
IGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJz
RmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLmNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgZmFsc2UsIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIHRydWUsIHRy
dWUsIHRydWUgfSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1t
eVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9k
ZTo6Tm9ybWFsLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmln
aW4oKS5nZXQoKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50
aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKK1NlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZp
Y2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJp
bmcmJiB1c2VyQWdlbnQsIGNvbnN0IFNldHRpbmdzOjpWYWx1ZXMmIHNldHRpbmdzVmFsdWVzLCBX
b3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRlYnVn
Z2VyUHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9uUHJv
eHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtlclRocmVhZCh7
IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVj
dG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2Vy
QWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUo
KSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3co
KSwgeyB9LCBzZXR0aW5nc1ZhbHVlcyB9LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVn
Z2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4o
KS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRh
KGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2Vy
dmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91
dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNo
b3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5oCmluZGV4IDhjNTA4M2JlM2I0OTRlZDViMTFiMDczMWRj
NmYwZTI3MmVhOTQ1ZDAuLjk1NTcyNGEzNzk3NWE3YTgxOTE4MTBlMGZjMDBjNDUzYmQ5NWFhMzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyRmV0Y2gu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNzksNyArODAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VY
UE9SVCBTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYs
IFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclBy
b3h5JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhJiwgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBTZXR0aW5nczo6VmFsdWVz
JiwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCiAgICAgYm9vbCBpc1NlcnZp
Y2VXb3JrZXJUaHJlYWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBm
aW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHkuY3BwCmluZGV4IDAzY2QyMzkwZDg5M2RhMDViM2RjMTc3MmM1ODQyODEzMzAzMTNi
ZTcuLmQyY2FkOTYxMmYyNGMxNTBkZGVkN2ExY2Q5OGIyODZjZmE4MmM0MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtOTcsNyArOTcsNyBAQCBzdGF0aWMgSGFz
aFNldDxTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2VydmljZVdvcmtlclRocmVhZFBy
b3hpZXMoKQogU2VydmljZVdvcmtlclRocmVhZFByb3h5OjpTZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHkoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbiwgY29uc3QgU2VydmljZVdv
cmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVBy
b3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlciwgU3RvcmFnZUJsb2NraW5nUG9saWN5IHN0b3Jh
Z2VCbG9ja2luZ1BvbGljeSkKICAgICA6IG1fcGFnZShjcmVhdGVQYWdlRm9yU2VydmljZVdvcmtl
cihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSwgZGF0YSwgc3RvcmFnZUJsb2NraW5nUG9saWN5
KSkKICAgICAsIG1fZG9jdW1lbnQoKm1fcGFnZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKSkKLSAg
ICAsIG1fc2VydmljZVdvcmtlclRocmVhZChTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGUoZGF0
YSwgV1RGTW92ZSh1c2VyQWdlbnQpLCAqdGhpcywgKnRoaXMsIGlkYkNvbm5lY3Rpb25Qcm94eSht
X2RvY3VtZW50KSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSkpCisgICAgLCBtX3NlcnZp
Y2VXb3JrZXJUaHJlYWQoU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlKGRhdGEsIFdURk1vdmUo
dXNlckFnZW50KSwgbV9kb2N1bWVudC0+c2V0dGluZ3NWYWx1ZXMoKSwgKnRoaXMsICp0aGlzLCBp
ZGJDb25uZWN0aW9uUHJveHkobV9kb2N1bWVudCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVy
KCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNoZVN0b3JhZ2VQcm92aWRlcikK
ICAgICAsIG1faW5zcGVjdG9yUHJveHkoKnRoaXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCBjNGRhNjUzMzIyMmFhZDYxNDJkZDgx
NjVkZDk4Y2I1ZmZhZWIwZjFmLi4xMDE4ZWRhOTdjOWY2YjZlNGRjNzIyMzEzYzczN2FlMjY5NDhj
YjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5j
cHAKQEAgLTU0LDYgKzU0LDcgQEAgV29ya2xldEdsb2JhbFNjb3BlOjpXb3JrbGV0R2xvYmFsU2Nv
cGUoV29ya2VyT3JXb3JrbGV0VGhyZWFkJiB0aHJlYWQsIGNvbnN0IFdvcmsKICAgICAsIG1fdG9w
T3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKSkKICAgICAsIG1fdXJsKHBhcmFt
ZXRlcnMud2luZG93VVJMKQogICAgICwgbV9qc1J1bnRpbWVGbGFncyhwYXJhbWV0ZXJzLmpzUnVu
dGltZUZsYWdzKQorICAgICwgbV9zZXR0aW5nc1ZhbHVlcyhwYXJhbWV0ZXJzLnNldHRpbmdzVmFs
dWVzKQogewogICAgICsrZ051bWJlck9mV29ya2xldEdsb2JhbFNjb3BlczsKIApAQCAtNjgsNiAr
NjksNyBAQCBXb3JrbGV0R2xvYmFsU2NvcGU6OldvcmtsZXRHbG9iYWxTY29wZShEb2N1bWVudCYg
ZG9jdW1lbnQsIFJlZjxKU0M6OlZNPiYmIHZtLCBTYwogICAgICwgbV91cmwoY29kZS51cmwoKSkK
ICAgICAsIG1fanNSdW50aW1lRmxhZ3MoZG9jdW1lbnQuc2V0dGluZ3MoKS5qYXZhU2NyaXB0UnVu
dGltZUZsYWdzKCkpCiAgICAgLCBtX2NvZGUoV1RGTW92ZShjb2RlKSkKKyAgICAsIG1fc2V0dGlu
Z3NWYWx1ZXMoZG9jdW1lbnQuc2V0dGluZ3NWYWx1ZXMoKS5pc29sYXRlZENvcHkoKSkKIHsKICAg
ICArK2dOdW1iZXJPZldvcmtsZXRHbG9iYWxTY29wZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggYjgxODU5YmRkYmRkY2NlNTZiNzY5ZTU5
MjkyNTY0MmQ1ZWNhODM3Yi4uZTgwMmQ0ZTg1OWEzZTQ0ZTY1Mjg5ZWM3MThlZTdhYzE0MjY4MmVm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAg
LTEyMyw2ICsxMjMsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgVVJMIGNvbXBsZXRlVVJMKGNv
bnN0IFN0cmluZyYsIEZvcmNlVVRGOCA9IEZvcmNlVVRGODo6Tm8pIGNvbnN0IGZpbmFsOwogICAg
IFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWw7CisgICAgY29uc3QgU2V0
dGluZ3M6OlZhbHVlcyYgc2V0dGluZ3NWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Nl
dHRpbmdzVmFsdWVzOyB9CiAKICAgICBzdHJ1Y3QgU2NyaXB0RmV0Y2hKb2IgewogICAgICAgICBV
UkwgbW9kdWxlVVJMOwpAQCAtMTQ2LDYgKzE0Nyw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7CiAgICAgRGVxdWU8U2NyaXB0RmV0Y2hK
b2I+IG1fc2NyaXB0RmV0Y2hKb2JzOwogICAgIEhhc2hTZXQ8VVJMPiBtX2V2YWx1YXRlZE1vZHVs
ZXM7CisgICAgU2V0dGluZ3M6OlZhbHVlcyBtX3NldHRpbmdzVmFsdWVzOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRQYXJhbWV0
ZXJzLmgKaW5kZXggYWFiOGRkYmQ5NjliOTdmNzUzMzI0ZGQ2ODc3NDc0OTM3OTU0NTljNC4uMTlm
NDU3ZDg3YjA5ZmMyYjdjZTA0OTRmM2M1M2I1MDkzZTAwMzQwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvV29ya2xldFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9Xb3JrbGV0UGFyYW1ldGVycy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKQEAgLTM1LDYgKzM2LDcg
QEAgc3RydWN0IFdvcmtsZXRQYXJhbWV0ZXJzIHsKICAgICBKU0M6OlJ1bnRpbWVGbGFncyBqc1J1
bnRpbWVGbGFnczsKICAgICBmbG9hdCBzYW1wbGVSYXRlOwogICAgIFN0cmluZyBpZGVudGlmaWVy
OworICAgIFNldHRpbmdzOjpWYWx1ZXMgc2V0dGluZ3NWYWx1ZXM7CiAKICAgICBXb3JrbGV0UGFy
YW1ldGVycyBpc29sYXRlZENvcHkoKSBjb25zdAogICAgIHsKQEAgLTQyLDcgKzQ0LDggQEAgc3Ry
dWN0IFdvcmtsZXRQYXJhbWV0ZXJzIHsKICAgICAgICAgICAgIHdpbmRvd1VSTC5pc29sYXRlZENv
cHkoKSwKICAgICAgICAgICAgIGpzUnVudGltZUZsYWdzLAogICAgICAgICAgICAgc2FtcGxlUmF0
ZSwKLSAgICAgICAgICAgIGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkKKyAgICAgICAgICAgIGlk
ZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCksCisgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlcy5pc29s
YXRlZENvcHkoKQogICAgICAgICB9OwogICAgIH0KIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>