<?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>224447</bug_id>
          
          <creation_ts>2021-04-12 13:18:37 -0700</creation_ts>
          <short_desc>Update RTCScriptTransform constructor up to spec</short_desc>
          <delta_ts>2021-04-15 02:10:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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>
          
          
          <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>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1749350</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 13:18:37 -0700</bug_when>
    <thetext>Update RTCScriptTransform constructor up to spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749352</commentid>
    <comment_count>1</comment_count>
      <attachid>425779</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 13:21:42 -0700</bug_when>
    <thetext>Created attachment 425779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749607</commentid>
    <comment_count>2</comment_count>
      <attachid>425849</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-13 02:15:23 -0700</bug_when>
    <thetext>Created attachment 425849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749608</commentid>
    <comment_count>3</comment_count>
      <attachid>425850</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-13 02:24:16 -0700</bug_when>
    <thetext>Created attachment 425850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750215</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-14 10:47:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/76653721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750540</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-15 02:10:50 -0700</bug_when>
    <thetext>Committed r276013 (236565@main): &lt;https://commits.webkit.org/236565@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425850.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425779</attachid>
            <date>2021-04-12 13:21:42 -0700</date>
            <delta_ts>2021-04-13 02:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224447-20210412222140.patch</filename>
            <type>text/plain</type>
            <size>28082</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk0YTA2NzMwMGE0NzQ4
ZGVkNjY4YTg1MDBiZjBlZWQ1YzNhMzg2Ni4uYWE5NzRiOGRlYWMzOTQxODJmMjk0YmQ2NmUwNTNl
NjBmYzY4Njk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDU2NyaXB0
VHJhbnNmb3JtIGNvbnN0cnVjdG9yIHVwIHRvIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBidWlsdC1pbiBzdXBwb3J0IGZvciBtZXNz
YWdlIHBvcnRzIGluIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci4KKyAgICAgICAgSW5zdGVhZCBwYXNzIGEgdHJhbnNmZXIgb2JqZWN0IHRvIFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSBjb25zdHJ1Y3RvciB1c2VkIGpvaW50bHkgd2l0aCBvcHRpb25zIHRvIGVuYWJs
ZSB0aGUgc2FtZSBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGlnbnMgd2l0aCB0aGUgY2hhbmdl
IG1hZGUgaW4gaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJydGMtZW5jb2RlZC10cmFuc2Zvcm0v
cHVsbC85Ni4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdHMuCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9u
cyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OnBvcnQpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcik6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKwogMjAyMS0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU0ZyYW1lVHJhbnNmb3JtIHNob3VsZCBiZSBhYmxl
IHRvIHRha2UgYXJyYXkgYnVmZmVyIHZpZXdzIGFzIGlucHV0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5j
cHAKaW5kZXggMTE3ZTRmMmE1ODlmYzVlYmU1ZWM2N2MyNjBmYTYzZTlmYjY3MjJlMS4uNjNmN2Jl
OWVlMjJhYWZiMmYyYzcxMGE1ZWVkYmU2ZGNiNjAzMmVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
LmNwcApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChSVENSdHBTY3JpcHRUcmFuc2Zvcm0pOwogCi1FeGNlcHRpb25PcjxS
ZWY8UlRDUnRwU2NyaXB0VHJhbnNmb3JtPj4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtOjpjcmVhdGUo
SlNDOjpKU0dsb2JhbE9iamVjdCYgc3RhdGUsIFdvcmtlciYgd29ya2VyLCBKU0M6OkpTVmFsdWUg
b3B0aW9ucykKK0V4Y2VwdGlvbk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm0+PiBSVENSdHBT
Y3JpcHRUcmFuc2Zvcm06OmNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBzdGF0ZSwgV29ya2Vy
JiB3b3JrZXIsIEpTQzo6SlNWYWx1ZSBvcHRpb25zLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpK
U09iamVjdD4+JiYgdHJhbnNmZXIpCiB7CiAgICAgaWYgKCF3b3JrZXIuc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3Is
ICJXb3JrZXIgZnJhbWUgaXMgZGV0YWNoZWQiX3MgfTsKQEAgLTUxLDI2ICs1MSwyNiBAQCBFeGNl
cHRpb25PcjxSZWY8UlRDUnRwU2NyaXB0VHJhbnNmb3JtPj4gUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
OjpjcmVhdGUoSlNDOjpKU0dsbwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiSW52YWxpZCBjb250ZXh0Il9zIH07CiAKLSAg
ICBhdXRvIHNlcmlhbGl6ZWRPcHRpb25zID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUo
c3RhdGUsIG9wdGlvbnMpOwotICAgIGlmICghc2VyaWFsaXplZE9wdGlvbnMpCi0gICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH07CisgICAgVmVjdG9yPFJl
ZlB0cjxNZXNzYWdlUG9ydD4+IHRyYW5zZmVycmVkUG9ydHM7CisgICAgYXV0byBzZXJpYWxpemVk
T3B0aW9ucyA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKHN0YXRlLCBvcHRpb25zLCBX
VEZNb3ZlKHRyYW5zZmVyKSwgdHJhbnNmZXJyZWRQb3J0cyk7CisgICAgaWYgKHNlcmlhbGl6ZWRP
cHRpb25zLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gc2VyaWFsaXplZE9wdGlvbnMu
cmVsZWFzZUV4Y2VwdGlvbigpOwogCi0gICAgYXV0byBtZXNzYWdlQ2hhbm5lbCA9IE1lc3NhZ2VD
aGFubmVsOjpjcmVhdGUoKndvcmtlci5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIGF1
dG8gdHJhbnNmb3JtTWVzc2FnZVBvcnQgPSBtZXNzYWdlQ2hhbm5lbC0+cG9ydDEoKTsKLSAgICBh
dXRvIHRyYW5zZm9ybWVyTWVzc2FnZVBvcnQgPSBtZXNzYWdlQ2hhbm5lbC0+cG9ydDIoKTsKKyAg
ICBhdXRvIGNoYW5uZWxzID0gTWVzc2FnZVBvcnQ6OmRpc2VudGFuZ2xlUG9ydHMoV1RGTW92ZSh0
cmFuc2ZlcnJlZFBvcnRzKSk7CisgICAgaWYgKGNoYW5uZWxzLmhhc0V4Y2VwdGlvbigpKQorICAg
ICAgICByZXR1cm4gY2hhbm5lbHMucmVsZWFzZUV4Y2VwdGlvbigpOwogCi0gICAgYXV0byB0cmFu
c2Zvcm0gPSBhZG9wdFJlZigqbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSgqY29udGV4dCwgbWFr
ZVJlZih3b3JrZXIpLCBtYWtlUmVmKCp0cmFuc2Zvcm1NZXNzYWdlUG9ydCkpKTsKKyAgICBhdXRv
IHRyYW5zZm9ybSA9IGFkb3B0UmVmKCpuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKCpjb250ZXh0
LCBtYWtlUmVmKHdvcmtlcikpKTsKICAgICB0cmFuc2Zvcm0tPnN1c3BlbmRJZk5lZWRlZCgpOwog
Ci0gICAgd29ya2VyLmNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKHRyYW5zZm9ybSwgc2Vy
aWFsaXplZE9wdGlvbnMucmVsZWFzZU5vbk51bGwoKSwgdHJhbnNmb3JtZXJNZXNzYWdlUG9ydC0+
ZGlzZW50YW5nbGUoKSk7CisgICAgd29ya2VyLmNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVy
KHRyYW5zZm9ybSwgeyBzZXJpYWxpemVkT3B0aW9ucy5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgY2hh
bm5lbHMucmVsZWFzZVJldHVyblZhbHVlKCkgfSk7CiAKICAgICByZXR1cm4gdHJhbnNmb3JtOwog
fQogCi1SVENSdHBTY3JpcHRUcmFuc2Zvcm06OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8V29ya2VyPiYmIHdvcmtlciwgUmVmPE1lc3Nh
Z2VQb3J0PiYmIHBvcnQpCitSVENSdHBTY3JpcHRUcmFuc2Zvcm06OlJUQ1J0cFNjcmlwdFRyYW5z
Zm9ybShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8V29ya2VyPiYmIHdvcmtl
cikKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fd29ya2VyKFdURk1v
dmUod29ya2VyKSkKLSAgICAsIG1fcG9ydChXVEZNb3ZlKHBvcnQpKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5z
Zm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRU
cmFuc2Zvcm0uaAppbmRleCBlYjI3NTcyZTYwYTJkYWRhMzE5MDgxZGVkMjFmNGE4YTM5N2JhYzYz
Li40MGJlZGU2OTAwOWYxNjRkNmVmMmI0YTIwN2QyNWQ3Y2YzMGU0MGVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJh
bnNmb3JtLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5o
IgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KQEAgLTQ2LDExICs0NSw5
IEBAIGNsYXNzIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSBmaW5hbAogICAgICwgcHVibGljIEV2ZW50
VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUlRDUnRw
U2NyaXB0VHJhbnNmb3JtKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybT4+IGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV29ya2Vy
JiwgSlNDOjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybT4+IGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV29ya2VyJiwgSlNDOjpK
U1ZhbHVlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYpOwogICAgIH5SVENS
dHBTY3JpcHRUcmFuc2Zvcm0oKTsKIAotICAgIE1lc3NhZ2VQb3J0JiBwb3J0KCkgeyByZXR1cm4g
bV9wb3J0LmdldCgpOyB9Ci0KICAgICB2b2lkIHNldFRyYW5zZm9ybWVyKFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyJik7CiAKICAgICBib29sIGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
QXR0YWNoZWQ7IH0KQEAgLTYyLDcgKzU5LDcgQEAgcHVibGljOgogICAgIHVzaW5nIFRocmVhZFNh
ZmVSZWZDb3VudGVkOjpkZXJlZjsKIAogcHJpdmF0ZToKLSAgICBSVENSdHBTY3JpcHRUcmFuc2Zv
cm0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxXb3JrZXI+JiYsIFJlZjxNZXNzYWdlUG9y
dD4mJik7CisgICAgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBSZWY8V29ya2VyPiYmKTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZVRyYW5zZm9ybWVyKFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQmKTsKICAgICBib29sIHNldHVwVHJhbnNmb3JtZXIoUmVmPFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ+JiYpOwpAQCAtNzgsNyArNzUsNiBAQCBwcml2YXRlOgogICAgIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgUmVmPFdvcmtl
cj4gbV93b3JrZXI7Ci0gICAgUmVmPE1lc3NhZ2VQb3J0PiBtX3BvcnQ7CiAKICAgICBib29sIG1f
aXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+
IG1fYmFja2VuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmlkbAppbmRleCBjZjQ0NzIyZTczMjFkYmU2
NjQ4MzgxMWE0OGU5MTFiNWNmY2Y2Mjc2Li42M2Y0MTVjYzAwYzQ1MzQ0N2E1NDg2MDgwZmZlMDZi
NzY3MDhkYTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaWRsCkBAIC0zMCw3ICszMCw1IEBACiAg
ICAgRXhwb3NlZD1XaW5kb3csCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBpbnRl
cmZhY2UgUlRDUnRwU2NyaXB0VHJhbnNmb3JtIDogRXZlbnRUYXJnZXQgewotICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3RdIGNvbnN0cnVjdG9yKFdvcmtlciB3b3JrZXIsIGFueSBvcHRpb25zKTsK
LQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydCBwb3J0OworICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3RdIGNvbnN0cnVjdG9yKFdvcmtlciB3b3JrZXIsIGFueSBvcHRpb25zLCBv
cHRpb25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuY3BwCmluZGV4IGMxNjVjNDk2MjE3N2VkZTMyNDE5YTZlZGIyMGYyMzk2OWRmY2UzNjQu
LmMxZjNhOTk2N2Q0Y2MyZjBkMjc3ODRjNDJiZmM1MDMwNjc0OGJhYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0
VHJhbnNmb3JtZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJKU1JUQ0VuY29kZWRBdWRpb0ZyYW1lLmgiCiAj
aW5jbHVkZSAiSlNSVENFbmNvZGVkVmlkZW9GcmFtZS5oIgorI2luY2x1ZGUgIk1lc3NhZ2VXaXRo
TWVzc2FnZVBvcnRzLmgiCiAjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCiAj
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbVNvdXJj
ZS5oIgpAQCAtNDAsNyArNDEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUV4Y2VwdGlv
bk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4+IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mJiBvcHRpb25zLCBSZWY8TWVzc2FnZVBvcnQ+JiYgcG9ydCkKK0V4Y2VwdGlv
bk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4+IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVzc2FnZVdpdGhNZXNz
YWdlUG9ydHMmJiBvcHRpb25zKQogewogICAgIGlmICghY29udGV4dC5nbG9iYWxPYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CkBAIC01MSwx
NiArNTIsMTkgQEAgRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPj4gUlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXI6OmNyZWF0ZShTY3JpcHQKICAgICBhdXRvIHJlYWRhYmxlID0g
UmVhZGFibGVTdHJlYW06OmNyZWF0ZShnbG9iYWxPYmplY3QsIHJlYWRhYmxlU291cmNlLmNvcHlS
ZWYoKSk7CiAgICAgaWYgKHJlYWRhYmxlLmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4g
cmVhZGFibGUucmVsZWFzZUV4Y2VwdGlvbigpOworICAgIGlmICghb3B0aW9ucy5tZXNzYWdlKQor
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAotICAgIGF1
dG8gdHJhbnNmb3JtZXIgPSBhZG9wdFJlZigqbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKGNv
bnRleHQsIFdURk1vdmUob3B0aW9ucyksIFdURk1vdmUocG9ydCksIHJlYWRhYmxlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHJlYWRhYmxlU291cmNlKSkpOworICAgIGF1dG8gcG9ydHMg
PSBNZXNzYWdlUG9ydDo6ZW50YW5nbGVQb3J0cyhjb250ZXh0LCBXVEZNb3ZlKG9wdGlvbnMudHJh
bnNmZXJyZWRQb3J0cykpOworICAgIGF1dG8gdHJhbnNmb3JtZXIgPSBhZG9wdFJlZigqbmV3IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyKGNvbnRleHQsIG9wdGlvbnMubWVzc2FnZS5yZWxlYXNlTm9u
TnVsbCgpLCBXVEZNb3ZlKHBvcnRzKSwgcmVhZGFibGUucmVsZWFzZVJldHVyblZhbHVlKCksIFdU
Rk1vdmUocmVhZGFibGVTb3VyY2UpKSk7CiAgICAgdHJhbnNmb3JtZXItPnN1c3BlbmRJZk5lZWRl
ZCgpOwogICAgIHJldHVybiB0cmFuc2Zvcm1lcjsKIH0KIAotUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI6OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgb3B0aW9ucywgUmVmPE1lc3NhZ2VQb3J0
PiYmIHBvcnQsIFJlZjxSZWFkYWJsZVN0cmVhbT4mJiByZWFkYWJsZSwgUmVmPFNpbXBsZVJlYWRh
YmxlU3RyZWFtU291cmNlPiYmIHJlYWRhYmxlU291cmNlKQorUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI6OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgb3B0aW9ucywgVmVjdG9yPFJlZlB0cjxN
ZXNzYWdlUG9ydD4+JiYgcG9ydHMsIFJlZjxSZWFkYWJsZVN0cmVhbT4mJiByZWFkYWJsZSwgUmVm
PFNpbXBsZVJlYWRhYmxlU3RyZWFtU291cmNlPiYmIHJlYWRhYmxlU291cmNlKQogICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9vcHRpb25zKFdURk1vdmUob3B0aW9ucykp
Ci0gICAgLCBtX3BvcnQoV1RGTW92ZShwb3J0KSkKKyAgICAsIG1fcG9ydHMoV1RGTW92ZShwb3J0
cykpCiAgICAgLCBtX3JlYWRhYmxlU291cmNlKFdURk1vdmUocmVhZGFibGVTb3VyY2UpKQogICAg
ICwgbV9yZWFkYWJsZShXVEZNb3ZlKHJlYWRhYmxlKSkKIHsKQEAgLTE1Miw3ICsxNTYsNyBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6cmVxdWVzdEtleUZyYW1l
KCkKIAogSlNDOjpKU1ZhbHVlIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpvcHRpb25zKEpTQzo6
SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gbV9vcHRpb25zLT5k
ZXNlcmlhbGl6ZShnbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QpOworICAgIHJldHVybiBtX29w
dGlvbnMtPmRlc2VyaWFsaXplKGdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVjdCwgbV9wb3J0cyk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaAppbmRl
eCA3NmE0ZGYxOGZjMGY1NDA1NDQxMGFiMzI2ZmMxMzQ0NDg1YzhmOTNjLi5iNTMzYzQxNTkyMGVh
NzI0NjU5YmIxODAzMTk5NmY5YjUxMzc5YTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCkBA
IC00NCwxMiArNDQsMTQgQEAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xhc3MgU2lt
cGxlUmVhZGFibGVTdHJlYW1Tb3VyY2U7CiBjbGFzcyBXcml0YWJsZVN0cmVhbTsKIAorc3RydWN0
IE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzOworCiBjbGFzcyBSVENSdHBTY3JpcHRUcmFuc2Zvcm1l
cgogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+CiAgICAg
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0CiAgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBSZWY8TWVzc2FnZVBvcnQ+JiYpOwor
ICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpOwog
ICAgIH5SVENSdHBTY3JpcHRUcmFuc2Zvcm1lcigpOwogCiAgICAgUmVhZGFibGVTdHJlYW0mIHJl
YWRhYmxlKCk7CkBAIC01NywxNCArNTksMTMgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBv
cHRpb25zKEpTQzo6SlNHbG9iYWxPYmplY3QmKTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJl
cXVlc3RLZXlGcmFtZSgpOwotICAgIE1lc3NhZ2VQb3J0JiBwb3J0KCkgeyByZXR1cm4gbV9wb3J0
LmdldCgpOyB9CiAKICAgICB2b2lkIHN0YXJ0UGVuZGluZ0FjdGl2aXR5KCkgeyBtX3BlbmRpbmdB
Y3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOyB9CiAgICAgdm9pZCBzdGFydChS
ZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4mJik7CiAgICAgdm9pZCBjbGVhcigpOwogCiBwcml2
YXRlOgotICAgIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBSZWY8TWVzc2FnZVBvcnQ+JiYsIFJlZjxS
ZWFkYWJsZVN0cmVhbT4mJiwgUmVmPFNpbXBsZVJlYWRhYmxlU3RyZWFtU291cmNlPiYmKTsKKyAg
ICBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4+JiYsIFJl
ZjxSZWFkYWJsZVN0cmVhbT4mJiwgUmVmPFNpbXBsZVJlYWRhYmxlU3RyZWFtU291cmNlPiYmKTsK
IAogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCB7IHJldHVybiAiUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIiOyB9CkBAIC03
Miw3ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9wUGVuZGluZ0FjdGl2aXR5KCkgeyBh
dXRvIHBlbmRpbmdBY3Rpdml0eSA9IFdURk1vdmUobV9wZW5kaW5nQWN0aXZpdHkpOyB9CiAKICAg
ICBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX29wdGlvbnM7Ci0gICAgUmVmPE1lc3NhZ2VQ
b3J0PiBtX3BvcnQ7CisgICAgVmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4+IG1fcG9ydHM7CiAK
ICAgICBSZWY8U2ltcGxlUmVhZGFibGVTdHJlYW1Tb3VyY2U+IG1fcmVhZGFibGVTb3VyY2U7CiAg
ICAgUmVmPFJlYWRhYmxlU3RyZWFtPiBtX3JlYWRhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVy
LmlkbAppbmRleCAxMjI3NTZkNDRhZThiMTI0NGU0MThlMmMyNmQyZWI3ZjhlNGFlNTcyLi5iN2Yw
MjMzMWI2MWNlYzg1NGZiNzg3NDdjYmE3YWE4YzQ2MDIzNDllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5z
Zm9ybWVyLmlkbApAQCAtMzQsNiArMzQsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0
YWJsZVN0cmVhbSB3cml0YWJsZTsKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBDYWNoZWRB
dHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgb3B0aW9uczsKIAotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydCBwb3J0OwogICAgIHVuZGVmaW5lZCByZXF1ZXN0S2V5RnJh
bWUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGQ0Y2VjNGY0ZjgzYjYzYjhkOGJmNWFmMTk1NjEyZjEz
ZDZhMWMzODguLmE1MTU4Y2RmZTRlMjZmNDZjMDkzMTc5YTdhYmY4ZjExZGU3YjJhMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCkBAIC0xMjIsOSArMTIyLDkgQEAgdm9pZCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZTo6Y2FuY2VsQW5pbWF0aW9uRnJhbWUoQ2FsbGJhY2tJZCBjYWxsYmFja0lkKQogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoV0VCX1JUQykKLVJlZlB0cjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4gRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFJl
ZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgb3B0aW9ucywgVHJhbnNmZXJyZWRNZXNzYWdlUG9y
dCYmIHBvcnQpCitSZWZQdHI8UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+IERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihNZXNzYWdlV2l0aE1l
c3NhZ2VQb3J0cyYmIG9wdGlvbnMpCiB7Ci0gICAgYXV0byB0cmFuc2Zvcm1lck9yRXhjZXB0aW9u
ID0gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShvcHRpb25z
KSwgTWVzc2FnZVBvcnQ6OmVudGFuZ2xlKCp0aGlzLCBXVEZNb3ZlKHBvcnQpKSk7CisgICAgYXV0
byB0cmFuc2Zvcm1lck9yRXhjZXB0aW9uID0gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OmNyZWF0
ZSgqdGhpcywgV1RGTW92ZShvcHRpb25zKSk7CiAgICAgaWYgKHRyYW5zZm9ybWVyT3JFeGNlcHRp
b24uaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGF1dG8gdHJh
bnNmb3JtZXIgPSB0cmFuc2Zvcm1lck9yRXhjZXB0aW9uLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oCmluZGV4IGUzY2NkMDAwNGE1MzkxZDVkZDZmYmVjMzkwNDY1YWZiYmM5ZTFiNWMuLjA0OWMx
NDQ5NmY2OTg5ZWNlMDM0OWRhZmEwNWEyZmZkOTRiZjk1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICBSZWZQdHI8
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+IGNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFJl
ZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFRyYW5zZmVycmVkTWVzc2FnZVBvcnQmJik7Cisg
ICAgUmVmUHRyPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPiBjcmVhdGVSVENSdHBTY3JpcHRUcmFu
c2Zvcm1lcihNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKTsKICNlbmRpZgogCiAgICAgRmV0Y2hP
cHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCmluZGV4IGY5N2U5NTE4Yzg0NmQxZmE3N2ZjODhiNDVjNWNkYzJiZTZjMjRiNzguLjZhNGY5
MjI3YzQwZjk4NTQ2OTNhNjYyMmNiYTc2YTQ5NjVhMTY3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKQEAgLTI0OSwxMyArMjQ5LDEzIEBAIHZvaWQgV29ya2VyOjpkaXNwYXRjaEV2ZW50
KEV2ZW50JiBldmVudCkKIH0KIAogI2lmIEVOQUJMRShXRUJfUlRDKQotdm9pZCBXb3JrZXI6OmNy
ZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSYgdHJhbnNm
b3JtLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG9wdGlvbnMsIFRyYW5zZmVycmVkTWVz
c2FnZVBvcnQmJiBwb3J0KQordm9pZCBXb3JrZXI6OmNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9y
bWVyKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSYgdHJhbnNmb3JtLCBNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dFByb3h5LnBvc3RUYXNrVG9Xb3JrZXJHbG9i
YWxTY29wZShbdHJhbnNmb3JtID0gbWFrZVJlZih0cmFuc2Zvcm0pLCBvcHRpb25zID0gV1RGTW92
ZShvcHRpb25zKSwgcG9ydCA9IFdURk1vdmUocG9ydCldKGF1dG8mIGNvbnRleHQpIG11dGFibGUg
ewotICAgICAgICBpZiAoYXV0byB0cmFuc2Zvcm1lciA9IGRvd25jYXN0PERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KS5jcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihXVEZN
b3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHBvcnQpKSkKKyAgICBtX2NvbnRleHRQcm94eS5wb3N0VGFz
a1RvV29ya2VyR2xvYmFsU2NvcGUoW3RyYW5zZm9ybSA9IG1ha2VSZWYodHJhbnNmb3JtKSwgb3B0
aW9ucyA9IFdURk1vdmUob3B0aW9ucyldKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAg
ICBpZiAoYXV0byB0cmFuc2Zvcm1lciA9IGRvd25jYXN0PERlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlPihjb250ZXh0KS5jcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihXVEZNb3ZlKG9wdGlv
bnMpKSkKICAgICAgICAgICAgIHRyYW5zZm9ybS0+c2V0VHJhbnNmb3JtZXIoKnRyYW5zZm9ybWVy
KTsKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdHJhbnNmb3JtID0gV1RGTW92ZSh0cmFuc2Zv
cm0pXSB7IH0pOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggYWNiOTZlYWI2
YzE5YTJiZWRkZTc5NDU5MWMyYzA0NTc0NTZiZGFlYi4uNTM5NTY4ZjU5MTNiNGI1YzI4NmU3MzYw
NGU2NTMyMTI0OTk3NWJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC03Nyw3ICs3Nyw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBmaW5hbDsKIAogI2lm
IEVOQUJMRShXRUJfUlRDKQotICAgIHZvaWQgY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIo
UlRDUnRwU2NyaXB0VHJhbnNmb3JtJiwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgVHJh
bnNmZXJyZWRNZXNzYWdlUG9ydCYmKTsKKyAgICB2b2lkIGNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5z
Zm9ybWVyKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSYsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYp
OwogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzYyZjMyNTljNzdh
OGEwZmNhNTY0ZmEzMDVhZTk0OTZhNWQ4NGRmMC4uNWZhYjI0MDAwMTJmYWUyMDc4YWRlNzFiY2E0
MjFhZjdlMzI2MjEyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA0LTEyICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDU2NyaXB0VHJh
bnNmb3JtIGNvbnN0cnVjdG9yIHVwIHRvIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvLXNjcmlwdC10cmFu
c2Zvcm0uaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvY29udGV4dC10cmFuc2Zvcm0u
anM6CisgICAgICAgIChNb2NrUlRDUnRwVHJhbnNmb3JtZXIpOgorICAgICAgICAoTW9ja1JUQ1J0
cFRyYW5zZm9ybWVyLnByb3RvdHlwZS5zdGFydCk6CisgICAgICAgIChNb2NrUlRDUnRwVHJhbnNm
b3JtZXIucHJvdG90eXBlLnByb2Nlc3MpOgorICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy9tZXRh
ZGF0YS10cmFuc2Zvcm0td29ya2VyLmpzOgorICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy9zY3Jp
cHQtdHJhbnNmb3JtLmpzOgorICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy92aWRlby1zY3JpcHQt
dHJhbnNmb3JtLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2VicnRjL3dlYnJ0Yy10cmFuc2Zv
cm0uaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvd3JpdGUtdHdpY2UtdHJhbnNmb3Jt
LmpzOgorCiAyMDIxLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTRnJhbWVUcmFuc2Zvcm0gc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBhcnJheSBidWZm
ZXIgdmlld3MgYXMgaW5wdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0
Yy9hdWRpby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJy
dGMvYXVkaW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCmluZGV4IDU3MDZkMmZmNzQzZmQ0NmU4MTY4
YmRkMjEzOTg2MDJlMDUwZmRkN2UuLjU4NDY2NDFkYTE5Nzc1M2U0NDFjZjYzZDBmYzM4ZDYxMTVm
NjVmMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpby1zY3Jp
cHQtdHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1ZGlv
LXNjcmlwdC10cmFuc2Zvcm0uaHRtbApAQCAtMzIsOSArMzIsMTMgQEAgcHJvbWlzZV90ZXN0KGFz
eW5jICh0ZXN0KSA9PiB7CiAKICAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOwogCisgICAgY29uc3Qg
c2VuZGVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBjb25zdCByZWNlaXZlckNo
YW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CiAgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7Ci0g
ICAgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtu
YW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgbWVkaWFUeXBlOidhdWRpbycsIHNpZGU6J3NlbmRl
cid9KTsKLSAgICByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0o
d29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1lZGlhVHlwZTonYXVkaW8nLCBz
aWRlOidyZWNlaXZlcid9KTsKKyAgICBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0
VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRpYVR5cGU6
J2F1ZGlvJywgc2lkZTonc2VuZGVyJywgcG9ydDpzZW5kZXJDaGFubmVsLnBvcnQyfSwgW3NlbmRl
ckNoYW5uZWwucG9ydDJdKTsKKyAgICByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3Jp
cHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1lZGlhVHlw
ZTonYXVkaW8nLCBzaWRlOidyZWNlaXZlcicsIHBvcnQ6cmVjZWl2ZXJDaGFubmVsLnBvcnQyfSwg
W3JlY2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHNlbmRlclRyYW5zZm9ybS5wb3J0ID0gc2Vu
ZGVyQ2hhbm5lbC5wb3J0MTsKKyAgICByZWNlaXZlclRyYW5zZm9ybS5wb3J0ID0gcmVjZWl2ZXJD
aGFubmVsLnBvcnQxOwogCiAgICAgcHJvbWlzZTEgPSB3YWl0Rm9yTWVzc2FnZShzZW5kZXJUcmFu
c2Zvcm0ucG9ydCwgInN0YXJ0ZWQgYXVkaW8gc2VuZGVyIik7CiAgICAgcHJvbWlzZTIgPSB3YWl0
Rm9yTWVzc2FnZShyZWNlaXZlclRyYW5zZm9ybS5wb3J0LCAic3RhcnRlZCBhdWRpbyByZWNlaXZl
ciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJh
bnNmb3JtLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3Jt
LmpzCmluZGV4IGRmZjFhMjU3MWQxNTA1OTBhZTliZGFlZjc1YjIzZmY3MTQzNDhiM2YuLmJhNGFk
NzI3MzYzNDdjOTM0YzFmNWVhMjQ3NjI0YmFmYWVhM2Y5NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qcworKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvY29udGV4dC10cmFuc2Zvcm0uanMKQEAgLTIsNyArMiw3IEBAIGNs
YXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lciB7CiAgICAgY29uc3RydWN0b3IodHJhbnNmb3JtZXIp
IHsKICAgICAgICAgdGhpcy5hc2tLZXlGcmFtZSA9IGZhbHNlOwogICAgICAgICB0aGlzLmNvbnRl
eHQgPSB0cmFuc2Zvcm1lcjsKLSAgICAgICAgdGhpcy5jb250ZXh0LnBvcnQub25tZXNzYWdlID0g
KGV2ZW50KSA9PiB7CisgICAgICAgIHRoaXMuY29udGV4dC5vcHRpb25zLnBvcnQub25tZXNzYWdl
ID0gKGV2ZW50KSA9PiB7CiAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PT0gInN0YXJ0S2V5
RnJhbWVzIikKICAgICAgICAgICAgICAgICB0aGlzLmFza0tleUZyYW1lID0gdHJ1ZTsKICAgICAg
ICAgICAgIGVsc2UgaWYgKGV2ZW50LmRhdGEgPT09ICJlbmRLZXlGcmFtZXMiKQpAQCAtMTUsNyAr
MTUsNyBAQCBjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIgewogICAgICAgICB0aGlzLnJlYWRl
ciA9IHRoaXMuY29udGV4dC5yZWFkYWJsZS5nZXRSZWFkZXIoKTsKICAgICAgICAgdGhpcy53cml0
ZXIgPSB0aGlzLmNvbnRleHQud3JpdGFibGUuZ2V0V3JpdGVyKCk7CiAgICAgICAgIHRoaXMucHJv
Y2VzcygpOwotICAgICAgICB0aGlzLmNvbnRleHQucG9ydC5wb3N0TWVzc2FnZSgic3RhcnRlZCAi
ICsgdGhpcy5jb250ZXh0Lm9wdGlvbnMubWVkaWFUeXBlICsgIiAiICsgdGhpcy5jb250ZXh0Lm9w
dGlvbnMuc2lkZSk7CisgICAgICAgIHRoaXMuY29udGV4dC5vcHRpb25zLnBvcnQucG9zdE1lc3Nh
Z2UoInN0YXJ0ZWQgIiArIHRoaXMuY29udGV4dC5vcHRpb25zLm1lZGlhVHlwZSArICIgIiArIHRo
aXMuY29udGV4dC5vcHRpb25zLnNpZGUpOwogICAgIH0KIAogICAgIHByb2Nlc3MoKQpAQCAtMjgs
NyArMjgsNyBAQCBjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIgewogCiAgICAgICAgICAgICBp
ZiAodGhpcy5jb250ZXh0Lm9wdGlvbnMubWVkaWFUeXBlID09PSAidmlkZW8iKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKGNodW5rLnZhbHVlIGluc3RhbmNlb2YgUlRDRW5jb2RlZFZpZGVvRnJhbWUp
Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5wb3J0LnBvc3RNZXNzYWdlKCJ2aWRl
byBmcmFtZSAiICsgY2h1bmsudmFsdWUudHlwZSk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
Y29udGV4dC5vcHRpb25zLnBvcnQucG9zdE1lc3NhZ2UoInZpZGVvIGZyYW1lICIgKyBjaHVuay52
YWx1ZS50eXBlKTsKIAogICAgICAgICAgICAgICAgIGlmICh0aGlzLmFza0tleUZyYW1lKQogICAg
ICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQucmVxdWVzdEtleUZyYW1lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0td29y
a2VyLmpzCmluZGV4IGM0YjNkNDRjNzM1ZjdiMmJlY2U1YTFlNTlkNGIzMDIyNWQ0NmZhNGUuLjAz
YmExZjRlZTZlMDk3NmE2OGQ2MDdkZTk4MjRkMmZkMjNkYWFjZDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0td29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0td29ya2VyLmpz
CkBAIC0xLDYgKzEsNSBAQAogb25ydGN0cmFuc2Zvcm0gPSAoZXZlbnQpID0+IHsKICAgICBjb25z
dCB0cmFuc2Zvcm1lciA9IGV2ZW50LnRyYW5zZm9ybWVyOwotICAgIHRyYW5zZm9ybWVyLnBvcnQu
b25tZXNzYWdlID0gKGV2ZW50KSA9PiB0cmFuc2Zvcm1lci5wb3J0LnBvc3RNZXNzYWdlKGV2ZW50
LmRhdGEpOwogCiAgICAgdHJhbnNmb3JtZXIucmVhZGVyID0gdHJhbnNmb3JtZXIucmVhZGFibGUu
Z2V0UmVhZGVyKCk7CiAgICAgdHJhbnNmb3JtZXIud3JpdGVyID0gdHJhbnNmb3JtZXIud3JpdGFi
bGUuZ2V0V3JpdGVyKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMv
c2NyaXB0LXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9zY3JpcHQt
dHJhbnNmb3JtLmpzCmluZGV4IDkwMWU2NzY4MThjMWE4MjkyZWUwZGU3YWNlYzAzYWQzY2Q5M2Rl
NjkuLjVlYTk5Y2QyYmY3MzJjZjA1ODJhMmFlZjExOTlhMTQ5NzM4MjY5ZWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9zY3JpcHQtdHJhbnNmb3JtLmpzCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9zY3JpcHQtdHJhbnNmb3JtLmpzCkBAIC0xLDYgKzEs
NiBAQAogb25ydGN0cmFuc2Zvcm0gPSAoZXZlbnQpID0+IHsKICAgICBjb25zdCB0cmFuc2Zvcm1l
ciA9IGV2ZW50LnRyYW5zZm9ybWVyOwotICAgIHRyYW5zZm9ybWVyLnBvcnQub25tZXNzYWdlID0g
KGV2ZW50KSA9PiB0cmFuc2Zvcm1lci5wb3J0LnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAg
IHRyYW5zZm9ybWVyLm9wdGlvbnMucG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRyYW5zZm9y
bWVyLm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZShldmVudC5kYXRhKTsKIAogICAgIHNlbGYucG9z
dE1lc3NhZ2UoInN0YXJ0ZWQiKTsKICAgICB0cmFuc2Zvcm1lci5yZWFkZXIgPSB0cmFuc2Zvcm1l
ci5yZWFkYWJsZS5nZXRSZWFkZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYnJ0Yy92aWRlby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCmluZGV4IDRmNTJhYWI3YjkyMDI1
ZWY4ODZlM2QyY2U0N2UyMWI1MTE4MDQ5YmMuLjYxZWI1OGExYzg0YWUyMWM3MDY4ZDI1ZTg0OTI3
NDg4ZDY1ZGQ4ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy92aWRl
by1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRj
L3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbApAQCAtMzIsOSArMzIsMTMgQEAgcHJvbWlzZV90
ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAKICAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pOwogCisgICAg
Y29uc3Qgc2VuZGVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBjb25zdCByZWNl
aXZlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CiAgICAgbGV0IHNlbmRlciwgcmVjZWl2
ZXI7Ci0gICAgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3Jr
ZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgbWVkaWFUeXBlOid2aWRlbycsIHNpZGU6
J3NlbmRlcid9KTsKLSAgICByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFu
c2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1lZGlhVHlwZTondmlk
ZW8nLCBzaWRlOidyZWNlaXZlcid9KTsKKyAgICBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRw
U2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRp
YVR5cGU6J3ZpZGVvJywgc2lkZTonc2VuZGVyJywgcG9ydDpzZW5kZXJDaGFubmVsLnBvcnQyfSwg
W3NlbmRlckNoYW5uZWwucG9ydDJdKTsKKyAgICByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENS
dHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1l
ZGlhVHlwZTondmlkZW8nLCBzaWRlOidyZWNlaXZlcicsIHBvcnQ6cmVjZWl2ZXJDaGFubmVsLnBv
cnQyfSwgW3JlY2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHNlbmRlclRyYW5zZm9ybS5wb3J0
ID0gc2VuZGVyQ2hhbm5lbC5wb3J0MTsKKyAgICByZWNlaXZlclRyYW5zZm9ybS5wb3J0ID0gcmVj
ZWl2ZXJDaGFubmVsLnBvcnQxOwogCiAgICAgcHJvbWlzZTEgPSB3YWl0Rm9yTWVzc2FnZShzZW5k
ZXJUcmFuc2Zvcm0ucG9ydCwgInN0YXJ0ZWQgdmlkZW8gc2VuZGVyIik7CiAgICAgcHJvbWlzZTIg
PSB3YWl0Rm9yTWVzc2FnZShyZWNlaXZlclRyYW5zZm9ybS5wb3J0LCAic3RhcnRlZCB2aWRlbyBy
ZWNlaXZlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dlYnJ0
Yy10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93ZWJydGMtdHJh
bnNmb3JtLmh0bWwKaW5kZXggN2UzOTNkOWU1NGFlZDgzOTcwNWVjMTFlYjMzODI3NzgwOTBlMWYz
Mi4uNjEyZDI5NGNhNWZkZjUzMWZkMTI5MTJlZDkyOGI1YWRhMzFmMmNmYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCkBAIC0yNCw3
ICsyNCw5IEBAIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogICAgIGNvbnN0IGRhdGEg
PSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQp
ID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOwogICAgIGFzc2VydF9lcXVhbHMoZGF0YSwgInJlZ2lz
dGVyZWQiKTsKIAotICAgIGNvbnN0IHRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zv
cm0od29ya2VyLCAnTW9ja1JUQ1J0cFRyYW5zZm9ybScpOworICAgIGNvbnN0IGNoYW5uZWwgPSBu
ZXcgTWVzc2FnZUNoYW5uZWw7CisgICAgY29uc3QgdHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9ydDogY2hh
bm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CisgICAgdHJhbnNmb3JtLnBvcnQgPSBjaGFu
bmVsLnBvcnQxOwogICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHRy
YW5zZm9ybS5wb3J0Lm9ubWVzc2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7
CiAgICAgdHJhbnNmb3JtLnBvcnQucG9zdE1lc3NhZ2UoInRlc3QiKTsKICAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IHByb21pc2UsICJ0ZXN0Iik7CkBAIC0zNiw4ICszOCwxNCBAQCBwcm9taXNlX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICBhc3NlcnRfZXF1YWxzKGRhdGEsICJyZWdpc3RlcmVk
Iik7CiAKICAgICBjb25zdCBwYyA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbigpOwotICAgIGNvbnN0
IHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCAnTW9j
a1JUQ1J0cFRyYW5zZm9ybScpOwotICAgIGNvbnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJhbnNmb3JtJyk7CisKKyAg
ICBjb25zdCBzZW5kZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0IHJl
Y2VpdmVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBjb25zdCBzZW5kZXJUcmFu
c2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENS
dHBUcmFuc2Zvcm0nLCBwb3J0OiBzZW5kZXJDaGFubmVsLnBvcnQyfSwgW3NlbmRlckNoYW5uZWwu
cG9ydDJdKTsKKyAgICBjb25zdCByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRU
cmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBvcnQ6IHJlY2Vp
dmVyQ2hhbm5lbC5wb3J0Mn0sIFtyZWNlaXZlckNoYW5uZWwucG9ydDJdKTsKKyAgICBzZW5kZXJU
cmFuc2Zvcm0ucG9ydCA9IHNlbmRlckNoYW5uZWwucG9ydDE7CisgICAgcmVjZWl2ZXJUcmFuc2Zv
cm0ucG9ydCA9IHJlY2VpdmVyQ2hhbm5lbC5wb3J0MTsKKwogICAgIGNvbnN0IHNlbmRlcjEgPSBw
Yy5hZGRUcmFuc2NlaXZlcignYXVkaW8nKS5zZW5kZXI7CiAgICAgY29uc3Qgc2VuZGVyMiA9IHBj
LmFkZFRyYW5zY2VpdmVyKCd2aWRlbycpLnNlbmRlcjsKICAgICBjb25zdCByZWNlaXZlcjEgPSBw
Yy5nZXRSZWNlaXZlcnMoKVswXTsKQEAgLTYxLDkgKzY5LDEzIEBAIHByb21pc2VfdGVzdChhc3lu
YyAodGVzdCkgPT4gewogICAgIGFzc2VydF9lcXVhbHMoZGF0YSwgInJlZ2lzdGVyZWQiKTsKICAg
ICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKHthdWRpbzogdHJ1ZX0pOwogCisgICAgY29uc3Qgc2VuZGVyQ2hhbm5lbCA9IG5ldyBN
ZXNzYWdlQ2hhbm5lbDsKKyAgICBjb25zdCByZWNlaXZlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNo
YW5uZWw7CiAgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7Ci0gICAgY29uc3Qgc2VuZGVyVHJhbnNm
b3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJhbnNm
b3JtJyk7Ci0gICAgY29uc3QgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJh
bnNmb3JtKHdvcmtlciwgJ01vY2tSVENSdHBUcmFuc2Zvcm0nKTsKKyAgICBjb25zdCBzZW5kZXJU
cmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tS
VENSdHBUcmFuc2Zvcm0nLCBwb3J0OiBzZW5kZXJDaGFubmVsLnBvcnQyfSwgW3NlbmRlckNoYW5u
ZWwucG9ydDJdKTsKKyAgICBjb25zdCByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3Jp
cHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBvcnQ6IHJl
Y2VpdmVyQ2hhbm5lbC5wb3J0Mn0sIFtyZWNlaXZlckNoYW5uZWwucG9ydDJdKTsKKyAgICBzZW5k
ZXJUcmFuc2Zvcm0ucG9ydCA9IHNlbmRlckNoYW5uZWwucG9ydDE7CisgICAgcmVjZWl2ZXJUcmFu
c2Zvcm0ucG9ydCA9IHJlY2VpdmVyQ2hhbm5lbC5wb3J0MTsKIAogICAgIGNvbnN0IHN0YXJ0ZWRQ
cm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gKGV2ZW50
KSA9PiByZXNvbHZlKGV2ZW50LmRhdGEpKTsKIApAQCAtOTgsOSArMTEwLDEzIEBAIHByb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4gewogCiAgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2FpdCBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKIAorICAg
IGNvbnN0IHNlbmRlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAgY29uc3QgcmVj
ZWl2ZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwogICAgIGxldCBzZW5kZXIsIHJlY2Vp
dmVyOwotICAgIGNvbnN0IHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zv
cm0od29ya2VyLCAnTW9ja1JUQ1J0cFRyYW5zZm9ybScpOwotICAgIGNvbnN0IHJlY2VpdmVyVHJh
bnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJh
bnNmb3JtJyk7CisgICAgY29uc3Qgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9ydDogc2VuZGVy
Q2hhbm5lbC5wb3J0Mn0sIFtzZW5kZXJDaGFubmVsLnBvcnQyXSk7CisgICAgY29uc3QgcmVjZWl2
ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01v
Y2tSVENSdHBUcmFuc2Zvcm0nLCBwb3J0OiByZWNlaXZlckNoYW5uZWwucG9ydDJ9LCBbcmVjZWl2
ZXJDaGFubmVsLnBvcnQyXSk7CisgICAgc2VuZGVyVHJhbnNmb3JtLnBvcnQgPSBzZW5kZXJDaGFu
bmVsLnBvcnQxOworICAgIHJlY2VpdmVyVHJhbnNmb3JtLnBvcnQgPSByZWNlaXZlckNoYW5uZWwu
cG9ydDE7CiAKICAgICBjb25zdCBzdGFydGVkUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gd29ya2VyLm9ubWVzc2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93cml0ZS10d2ljZS10cmFu
c2Zvcm0uanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd3JpdGUtdHdpY2UtdHJhbnNm
b3JtLmpzCmluZGV4IGZjZDc2OGRiMmIxZGQwYWVhODUxM2Y3ZjkwYjZlZjc5ZDY1ODBjYzYuLjVk
NDI4YzgxYjNhYTU0MzQzMTllMTBmYmVjNmEwMDc1YTdkNDBiOTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93cml0ZS10d2ljZS10cmFuc2Zvcm0uanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dyaXRlLXR3aWNlLXRyYW5zZm9ybS5qcwpAQCAtMSw2
ICsxLDUgQEAKIG9ucnRjdHJhbnNmb3JtID0gKGV2ZW50KSA9PiB7CiAgICAgY29uc3QgdHJhbnNm
b3JtZXIgPSBldmVudC50cmFuc2Zvcm1lcjsKLSAgICB0cmFuc2Zvcm1lci5wb3J0Lm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4gdHJhbnNmb3JtZXIucG9ydC5wb3N0TWVzc2FnZShldmVudC5kYXRhKTsK
IAogICAgIHNlbGYucG9zdE1lc3NhZ2UoInN0YXJ0ZWQiKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425849</attachid>
            <date>2021-04-13 02:15:23 -0700</date>
            <delta_ts>2021-04-13 02:33:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224447-20210413111521.patch</filename>
            <type>text/plain</type>
            <size>28660</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhNjc0Yzc0N2UzYzdk
NjczMDI3YzFhNGUwNGVhNjNlYzg5ZTRjMS4uZDY5NDRhYzU5NWI1YjIwZmMzMmI5MTZhMmQ3ZWVj
MDI4M2M3Mjc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDU2NyaXB0
VHJhbnNmb3JtIGNvbnN0cnVjdG9yIHVwIHRvIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBidWlsdC1pbiBzdXBwb3J0IGZvciBtZXNz
YWdlIHBvcnRzIGluIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci4KKyAgICAgICAgSW5zdGVhZCBwYXNzIGEgdHJhbnNmZXIgb2JqZWN0IHRvIFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSBjb25zdHJ1Y3RvciB1c2VkIGpvaW50bHkgd2l0aCBvcHRpb25zIHRvIGVuYWJs
ZSB0aGUgc2FtZSBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGlnbnMgd2l0aCB0aGUgY2hhbmdl
IG1hZGUgaW4gaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJydGMtZW5jb2RlZC10cmFuc2Zvcm0v
cHVsbC85Ni4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdHMuCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9u
cyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OnBvcnQpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcik6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKwogMjAyMS0wNC0xMyAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ2FwdHVyZURldmlj
ZSBtb25pdG9yIHVzZWQgZnJvbSBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmNwcAppbmRl
eCA2ZTVlNjgxNmJlYWQxOThkYzM1ZDQ1MTBiNWUxNmI5YWQ3ZGI0ODZlLi44ZmY5ODhhNDJjMmQw
NzE3NjQ3MWUzZDY2Mzg5MTY1ZDRiZjI0OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uY3BwCkBA
IC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSk7CiAKLUV4Y2VwdGlvbk9yPFJlZjxSVENS
dHBTY3JpcHRUcmFuc2Zvcm0+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0JiBzdGF0ZSwgV29ya2VyJiB3b3JrZXIsIEpTQzo6SlNWYWx1ZSBvcHRpb25z
KQorRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybT4+IFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybTo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QmIHN0YXRlLCBXb3JrZXImIHdvcmtl
ciwgSlNDOjpKU1ZhbHVlIG9wdGlvbnMsIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0
Pj4mJiB0cmFuc2ZlcikKIHsKICAgICBpZiAoIXdvcmtlci5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIldvcmtl
ciBmcmFtZSBpcyBkZXRhY2hlZCJfcyB9OwpAQCAtNTEsMjYgKzUxLDI2IEBAIEV4Y2VwdGlvbk9y
PFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm0+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0
ZShKU0M6OkpTR2xvCiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IsICJJbnZhbGlkIGNvbnRleHQiX3MgfTsKIAotICAgIGF1dG8g
c2VyaWFsaXplZE9wdGlvbnMgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0ZSwg
b3B0aW9ucyk7Ci0gICAgaWYgKCFzZXJpYWxpemVkT3B0aW9ucykKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfTsKKyAgICBWZWN0b3I8UmVmUHRyPE1l
c3NhZ2VQb3J0Pj4gdHJhbnNmZXJyZWRQb3J0czsKKyAgICBhdXRvIHNlcmlhbGl6ZWRPcHRpb25z
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoc3RhdGUsIG9wdGlvbnMsIFdURk1vdmUo
dHJhbnNmZXIpLCB0cmFuc2ZlcnJlZFBvcnRzKTsKKyAgICBpZiAoc2VyaWFsaXplZE9wdGlvbnMu
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBzZXJpYWxpemVkT3B0aW9ucy5yZWxlYXNl
RXhjZXB0aW9uKCk7CiAKLSAgICBhdXRvIG1lc3NhZ2VDaGFubmVsID0gTWVzc2FnZUNoYW5uZWw6
OmNyZWF0ZSgqd29ya2VyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgYXV0byB0cmFu
c2Zvcm1NZXNzYWdlUG9ydCA9IG1lc3NhZ2VDaGFubmVsLT5wb3J0MSgpOwotICAgIGF1dG8gdHJh
bnNmb3JtZXJNZXNzYWdlUG9ydCA9IG1lc3NhZ2VDaGFubmVsLT5wb3J0MigpOworICAgIGF1dG8g
Y2hhbm5lbHMgPSBNZXNzYWdlUG9ydDo6ZGlzZW50YW5nbGVQb3J0cyhXVEZNb3ZlKHRyYW5zZmVy
cmVkUG9ydHMpKTsKKyAgICBpZiAoY2hhbm5lbHMuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBjaGFubmVscy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAKLSAgICBhdXRvIHRyYW5zZm9ybSA9
IGFkb3B0UmVmKCpuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKCpjb250ZXh0LCBtYWtlUmVmKHdv
cmtlciksIG1ha2VSZWYoKnRyYW5zZm9ybU1lc3NhZ2VQb3J0KSkpOworICAgIGF1dG8gdHJhbnNm
b3JtID0gYWRvcHRSZWYoKm5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0oKmNvbnRleHQsIG1ha2VS
ZWYod29ya2VyKSkpOwogICAgIHRyYW5zZm9ybS0+c3VzcGVuZElmTmVlZGVkKCk7CiAKLSAgICB3
b3JrZXIuY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIodHJhbnNmb3JtLCBzZXJpYWxpemVk
T3B0aW9ucy5yZWxlYXNlTm9uTnVsbCgpLCB0cmFuc2Zvcm1lck1lc3NhZ2VQb3J0LT5kaXNlbnRh
bmdsZSgpKTsKKyAgICB3b3JrZXIuY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIodHJhbnNm
b3JtLCB7IHNlcmlhbGl6ZWRPcHRpb25zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBjaGFubmVscy5y
ZWxlYXNlUmV0dXJuVmFsdWUoKSB9KTsKIAogICAgIHJldHVybiB0cmFuc2Zvcm07CiB9CiAKLVJU
Q1J0cFNjcmlwdFRyYW5zZm9ybTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIFJlZjxXb3JrZXI+JiYgd29ya2VyLCBSZWY8TWVzc2FnZVBvcnQ+
JiYgcG9ydCkKK1JUQ1J0cFNjcmlwdFRyYW5zZm9ybTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxXb3JrZXI+JiYgd29ya2VyKQogICAg
IDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV93b3JrZXIoV1RGTW92ZSh3b3Jr
ZXIpKQotICAgICwgbV9wb3J0KFdURk1vdmUocG9ydCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9y
bS5oCmluZGV4IDNlZDRhODQwOWNiYWQ4MWUzNmY3YjNlOTIzMjNmYmNkNTVhYjRlYWQuLjcxNjY0
ZTJjN2M2ZmU4YzY5NjBhNGI4NTNkN2UxNzM1YTM1Y2YyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0u
aApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUg
IlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlND
SlNWYWx1ZS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CkBAIC00NywxMSArNDYsOSBAQCBjbGFz
cyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0gZmluYWwKICAgICAsIHB1YmxpYyBFdmVudFRhcmdldFdp
dGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybSk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxSVENSdHBTY3Jp
cHRUcmFuc2Zvcm0+PiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIFdvcmtlciYsIEpTQzo6
SlNWYWx1ZSk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zv
cm0+PiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIFdvcmtlciYsIEpTQzo6SlNWYWx1ZSwg
VmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmKTsKICAgICB+UlRDUnRwU2NyaXB0
VHJhbnNmb3JtKCk7CiAKLSAgICBNZXNzYWdlUG9ydCYgcG9ydCgpIHsgcmV0dXJuIG1fcG9ydC5n
ZXQoKTsgfQotCiAgICAgdm9pZCBzZXRUcmFuc2Zvcm1lcihSVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ciYpOwogCiAgICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0F0dGFjaGVk
OyB9CkBAIC02NCwxNCArNjEsMTQgQEAgcHVibGljOgogICAgIHVzaW5nIFRocmVhZFNhZmVSZWZD
b3VudGVkOjpkZXJlZjsKIAogcHJpdmF0ZToKLSAgICBSVENSdHBTY3JpcHRUcmFuc2Zvcm0oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxXb3JrZXI+JiYsIFJlZjxNZXNzYWdlUG9ydD4mJik7
CisgICAgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8
V29ya2VyPiYmKTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZVRyYW5zZm9ybWVyKFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQmKTsKICAgICBib29sIHNldHVwVHJhbnNmb3JtZXIoUmVmPFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ+JiYpOwogICAgIHZvaWQgY2xlYXIoUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6
OkNsZWFyQ2FsbGJhY2spOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0gICAgY29uc3QgY2hh
ciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSVENSdHBTY3JpcHRUcmFu
c2Zvcm0iOyB9CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuICJSVENSdHBTY3JpcHRUcmFuc2Zvcm0iOyB9CiAKICAgICAvLyBFdmVudFRh
cmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtRXZlbnRUYXJnZXRJbnRlcmZh
Y2VUeXBlOyB9CkBAIC04MCw3ICs3Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZXJlZkV2ZW50
VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKICAgICBSZWY8V29ya2VyPiBtX3dvcmtlcjsK
LSAgICBSZWY8TWVzc2FnZVBvcnQ+IG1fcG9ydDsKIAogICAgIGJvb2wgbV9pc0F0dGFjaGVkIHsg
ZmFsc2UgfTsKICAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNrZW5kOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3Jp
cHRUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTY3JpcHRUcmFuc2Zvcm0uaWRsCmluZGV4IGNmNDQ3MjJlNzMyMWRiZTY2NDgzODExYTQ4ZTkx
MWI1Y2ZjZjYyNzYuLjYzZjQxNWNjMDBjNDUzNDQ3YTU0ODYwODBmZmUwNmI3NjcwOGRhMDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0
VHJhbnNmb3JtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNjcmlwdFRyYW5zZm9ybS5pZGwKQEAgLTMwLDcgKzMwLDUgQEAKICAgICBFeHBvc2VkPVdp
bmRvdywKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBSVENSdHBT
Y3JpcHRUcmFuc2Zvcm0gOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dF0gY29uc3RydWN0b3IoV29ya2VyIHdvcmtlciwgYW55IG9wdGlvbnMpOwotCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIE1lc3NhZ2VQb3J0IHBvcnQ7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dF0gY29uc3RydWN0b3IoV29ya2VyIHdvcmtlciwgYW55IG9wdGlvbnMsIG9wdGlvbmFsIHNlcXVl
bmNlPG9iamVjdD4gdHJhbnNmZXIpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAKaW5k
ZXggOWVkMDBhMDYxMWI5Yzg2MjM1MmYxMDUxMDkzOTZkM2ZkNDFlMjgxZi4uOTRlYjk2NTc5YzJm
ZGRjMjY1Njg0YTViYzJkZjYyNTc1ZGE0Y2FkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5j
cHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgIkpTUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaCIKICNpbmNsdWRlICJKU1JU
Q0VuY29kZWRWaWRlb0ZyYW1lLmgiCisjaW5jbHVkZSAiTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMu
aCIKICNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKICNpbmNsdWRlICJSZWFk
YWJsZVN0cmVhbS5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtU291cmNlLmgiCkBAIC00MCw3
ICs0MSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRXhjZXB0aW9uT3I8UmVmPFJUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyPj4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYm
IG9wdGlvbnMsIFJlZjxNZXNzYWdlUG9ydD4mJiBwb3J0KQorRXhjZXB0aW9uT3I8UmVmPFJUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyPj4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG9w
dGlvbnMpCiB7CiAgICAgaWYgKCFjb250ZXh0Lmdsb2JhbE9iamVjdCgpKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKQEAgLTUxLDE2ICs1MiwxOSBAQCBF
eGNlcHRpb25PcjxSZWY8UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+PiBSVENSdHBTY3JpcHRUcmFu
c2Zvcm1lcjo6Y3JlYXRlKFNjcmlwdAogICAgIGF1dG8gcmVhZGFibGUgPSBSZWFkYWJsZVN0cmVh
bTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgcmVhZGFibGVTb3VyY2UuY29weVJlZigpKTsKICAgICBp
ZiAocmVhZGFibGUuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiByZWFkYWJsZS5yZWxl
YXNlRXhjZXB0aW9uKCk7CisgICAgaWYgKCFvcHRpb25zLm1lc3NhZ2UpCisgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0gICAgYXV0byB0cmFuc2Zvcm1l
ciA9IGFkb3B0UmVmKCpuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoY29udGV4dCwgV1RGTW92
ZShvcHRpb25zKSwgV1RGTW92ZShwb3J0KSwgcmVhZGFibGUucmVsZWFzZVJldHVyblZhbHVlKCks
IFdURk1vdmUocmVhZGFibGVTb3VyY2UpKSk7CisgICAgYXV0byBwb3J0cyA9IE1lc3NhZ2VQb3J0
OjplbnRhbmdsZVBvcnRzKGNvbnRleHQsIFdURk1vdmUob3B0aW9ucy50cmFuc2ZlcnJlZFBvcnRz
KSk7CisgICAgYXV0byB0cmFuc2Zvcm1lciA9IGFkb3B0UmVmKCpuZXcgUlRDUnRwU2NyaXB0VHJh
bnNmb3JtZXIoY29udGV4dCwgb3B0aW9ucy5tZXNzYWdlLnJlbGVhc2VOb25OdWxsKCksIFdURk1v
dmUocG9ydHMpLCByZWFkYWJsZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RGTW92ZShyZWFkYWJs
ZVNvdXJjZSkpKTsKICAgICB0cmFuc2Zvcm1lci0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgcmV0
dXJuIHRyYW5zZm9ybWVyOwogfQogCi1SVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6UlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBvcHRpb25zLCBSZWY8TWVzc2FnZVBvcnQ+JiYgcG9ydCwgUmVm
PFJlYWRhYmxlU3RyZWFtPiYmIHJlYWRhYmxlLCBSZWY8U2ltcGxlUmVhZGFibGVTdHJlYW1Tb3Vy
Y2U+JiYgcmVhZGFibGVTb3VyY2UpCitSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6UlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBvcHRpb25zLCBWZWN0b3I8UmVmUHRyPE1lc3NhZ2VQb3J0Pj4m
JiBwb3J0cywgUmVmPFJlYWRhYmxlU3RyZWFtPiYmIHJlYWRhYmxlLCBSZWY8U2ltcGxlUmVhZGFi
bGVTdHJlYW1Tb3VyY2U+JiYgcmVhZGFibGVTb3VyY2UpCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
JmNvbnRleHQpCiAgICAgLCBtX29wdGlvbnMoV1RGTW92ZShvcHRpb25zKSkKLSAgICAsIG1fcG9y
dChXVEZNb3ZlKHBvcnQpKQorICAgICwgbV9wb3J0cyhXVEZNb3ZlKHBvcnRzKSkKICAgICAsIG1f
cmVhZGFibGVTb3VyY2UoV1RGTW92ZShyZWFkYWJsZVNvdXJjZSkpCiAgICAgLCBtX3JlYWRhYmxl
KFdURk1vdmUocmVhZGFibGUpKQogewpAQCAtMTUyLDcgKzE1Niw3IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpyZXF1ZXN0S2V5RnJhbWUoKQogCiBKU0M6OkpT
VmFsdWUgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6Om9wdGlvbnMoSlNDOjpKU0dsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBtX29wdGlvbnMtPmRlc2VyaWFsaXplKGds
b2JhbE9iamVjdCwgJmdsb2JhbE9iamVjdCk7CisgICAgcmV0dXJuIG1fb3B0aW9ucy0+ZGVzZXJp
YWxpemUoZ2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBtX3BvcnRzKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCmluZGV4IDY5YWYzNDQ2ZDQ3
NTE2OWY3NGRlZTM3ODc5YWU4NTUwMTYxMjkwMDUuLjZkMzllMjEwMmZhNWMyOTI3NDg2MWFhNTQ3
NmE5NmUyYThlZjc5NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKQEAgLTQ0LDEyICs0NCwx
NCBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBTaW1wbGVSZWFkYWJsZVN0
cmVhbVNvdXJjZTsKIGNsYXNzIFdyaXRhYmxlU3RyZWFtOwogCitzdHJ1Y3QgTWVzc2FnZVdpdGhN
ZXNzYWdlUG9ydHM7CisKIGNsYXNzIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyCiAgICAgOiBwdWJs
aWMgUmVmQ291bnRlZDxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4KICAgICAsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSVENSdHBTY3JpcHRUcmFu
c2Zvcm1lcj4gewogcHVibGljOgotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8UlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXI+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+JiYsIFJlZjxNZXNzYWdlUG9ydD4mJik7CisgICAgc3RhdGljIEV4
Y2VwdGlvbk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJik7CiAgICAgflJUQ1J0cFNj
cmlwdFRyYW5zZm9ybWVyKCk7CiAKICAgICBSZWFkYWJsZVN0cmVhbSYgcmVhZGFibGUoKTsKQEAg
LTU3LDcgKzU5LDYgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBvcHRpb25zKEpTQzo6SlNH
bG9iYWxPYmplY3QmKTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlcXVlc3RLZXlGcmFtZSgp
OwotICAgIE1lc3NhZ2VQb3J0JiBwb3J0KCkgeyByZXR1cm4gbV9wb3J0LmdldCgpOyB9CiAKICAg
ICB2b2lkIHN0YXJ0UGVuZGluZ0FjdGl2aXR5KCkgeyBtX3BlbmRpbmdBY3Rpdml0eSA9IG1ha2VQ
ZW5kaW5nQWN0aXZpdHkoKnRoaXMpOyB9CiAgICAgdm9pZCBzdGFydChSZWY8UlRDUnRwVHJhbnNm
b3JtQmFja2VuZD4mJik7CkBAIC02NiwxNSArNjcsMTYgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXIoQ2xlYXJDYWxsYmFjayk7CiAKIHByaXZhdGU6Ci0gICAgUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYs
IFJlZjxNZXNzYWdlUG9ydD4mJiwgUmVmPFJlYWRhYmxlU3RyZWFtPiYmLCBSZWY8U2ltcGxlUmVh
ZGFibGVTdHJlYW1Tb3VyY2U+JiYpOworICAgIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBWZWN0b3I8
UmVmUHRyPE1lc3NhZ2VQb3J0Pj4mJiwgUmVmPFJlYWRhYmxlU3RyZWFtPiYmLCBSZWY8U2ltcGxl
UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0gICAg
Y29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lciI7IH0KKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyIjsgfQogICAg
IHZvaWQgc3RvcCgpIGZpbmFsIHsgc3RvcFBlbmRpbmdBY3Rpdml0eSgpOyB9CisKICAgICB2b2lk
IHN0b3BQZW5kaW5nQWN0aXZpdHkoKSB7IGF1dG8gcGVuZGluZ0FjdGl2aXR5ID0gV1RGTW92ZSht
X3BlbmRpbmdBY3Rpdml0eSk7IH0KIAogICAgIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1f
b3B0aW9uczsKLSAgICBSZWY8TWVzc2FnZVBvcnQ+IG1fcG9ydDsKKyAgICBWZWN0b3I8UmVmUHRy
PE1lc3NhZ2VQb3J0Pj4gbV9wb3J0czsKIAogICAgIFJlZjxTaW1wbGVSZWFkYWJsZVN0cmVhbVNv
dXJjZT4gbV9yZWFkYWJsZVNvdXJjZTsKICAgICBSZWY8UmVhZGFibGVTdHJlYW0+IG1fcmVhZGFi
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaWRsCmluZGV4IDEyMjc1NmQ0NGFlOGIxMjQ0ZTQx
OGUyYzI2ZDJlYjdmOGU0YWU1NzIuLmI3ZjAyMzMxYjYxY2VjODU0ZmI3ODc0N2NiYTdhYThjNDYw
MjM0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaWRsCkBAIC0zNCw2ICszNCw1IEBACiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFdyaXRhYmxlU3RyZWFtIHdyaXRhYmxlOwogICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3QsIENhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIGFu
eSBvcHRpb25zOwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQb3J0IHBvcnQ7CiAg
ICAgdW5kZWZpbmVkIHJlcXVlc3RLZXlGcmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZDRjZWM0
ZjRmODNiNjNiOGQ4YmY1YWYxOTU2MTJmMTNkNmExYzM4OC4uYTUxNThjZGZlNGUyNmY0NmMwOTMx
NzlhN2FiZjhmMTFkZTdiMmEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTEyMiw5ICsxMjIsOSBAQCB2b2lk
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjYW5jZWxBbmltYXRpb25GcmFtZShDYWxsYmFj
a0lkIGNhbGxiYWNrSWQpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfUlRDKQotUmVmUHRyPFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBvcHRp
b25zLCBUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0JiYgcG9ydCkKK1JlZlB0cjxSVENSdHBTY3JpcHRU
cmFuc2Zvcm1lcj4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZVJUQ1J0cFNjcmlw
dFRyYW5zZm9ybWVyKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgb3B0aW9ucykKIHsKLSAgICBh
dXRvIHRyYW5zZm9ybWVyT3JFeGNlcHRpb24gPSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3Jl
YXRlKCp0aGlzLCBXVEZNb3ZlKG9wdGlvbnMpLCBNZXNzYWdlUG9ydDo6ZW50YW5nbGUoKnRoaXMs
IFdURk1vdmUocG9ydCkpKTsKKyAgICBhdXRvIHRyYW5zZm9ybWVyT3JFeGNlcHRpb24gPSBSVENS
dHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKG9wdGlvbnMpKTsKICAg
ICBpZiAodHJhbnNmb3JtZXJPckV4Y2VwdGlvbi5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgYXV0byB0cmFuc2Zvcm1lciA9IHRyYW5zZm9ybWVyT3JFeGNlcHRp
b24ucmVsZWFzZVJldHVyblZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZTNjY2QwMDA0YTUzOTFkNWRkNmZi
ZWMzOTA0NjVhZmJiYzllMWI1Yy4uMDQ5YzE0NDk2ZjY5ODllY2UwMzQ5ZGFmYTA1YTJmZmQ5NGJm
OTUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShXRUJfUlRDKQotICAgIFJlZlB0cjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4gY3JlYXRl
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgVHJh
bnNmZXJyZWRNZXNzYWdlUG9ydCYmKTsKKyAgICBSZWZQdHI8UlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI+IGNyZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
JiYpOwogI2VuZGlmCiAKICAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggZjk3ZTk1MThjODQ2ZDFmYTc3ZmM4
OGI0NWM1Y2RjMmJlNmMyNGI3OC4uNmE0ZjkyMjdjNDBmOTg1NDY5M2E2NjIyY2JhNzZhNDk2NWEx
NjdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjQ5LDEzICsyNDksMTMgQEAg
dm9pZCBXb3JrZXI6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogfQogCiAjaWYgRU5BQkxF
KFdFQl9SVEMpCi12b2lkIFdvcmtlcjo6Y3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoUlRD
UnRwU2NyaXB0VHJhbnNmb3JtJiB0cmFuc2Zvcm0sIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
JiYgb3B0aW9ucywgVHJhbnNmZXJyZWRNZXNzYWdlUG9ydCYmIHBvcnQpCit2b2lkIFdvcmtlcjo6
Y3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoUlRDUnRwU2NyaXB0VHJhbnNmb3JtJiB0cmFu
c2Zvcm0sIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgb3B0aW9ucykKIHsKICAgICBpZiAoIXNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0
UHJveHkucG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFt0cmFuc2Zvcm0gPSBtYWtlUmVmKHRy
YW5zZm9ybSksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBwb3J0ID0gV1RGTW92ZShwb3J0
KV0oYXV0byYgY29udGV4dCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmIChhdXRvIHRyYW5zZm9ybWVy
ID0gZG93bmNhc3Q8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpLmNyZWF0ZVJU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyKFdURk1vdmUob3B0aW9ucyksIFdURk1vdmUocG9ydCkpKQor
ICAgIG1fY29udGV4dFByb3h5LnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbdHJhbnNmb3Jt
ID0gbWFrZVJlZih0cmFuc2Zvcm0pLCBvcHRpb25zID0gV1RGTW92ZShvcHRpb25zKV0oYXV0byYg
Y29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgIGlmIChhdXRvIHRyYW5zZm9ybWVyID0gZG93bmNh
c3Q8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpLmNyZWF0ZVJUQ1J0cFNjcmlw
dFRyYW5zZm9ybWVyKFdURk1vdmUob3B0aW9ucykpKQogICAgICAgICAgICAgdHJhbnNmb3JtLT5z
ZXRUcmFuc2Zvcm1lcigqdHJhbnNmb3JtZXIpOwogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0
cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSldIHsgfSk7CiAgICAgfSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuaAppbmRleCBhY2I5NmVhYjZjMTlhMmJlZGRlNzk0NTkxYzJjMDQ1NzQ1NmJkYWVi
Li41Mzk1NjhmNTkxM2I0YjVjMjg2ZTczNjA0ZTY1MzIxMjQ5OTc1YmM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hF
dmVudChFdmVudCYpIGZpbmFsOwogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCi0gICAgdm9pZCBjcmVh
dGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihSVENSdHBTY3JpcHRUcmFuc2Zvcm0mLCBSZWY8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmLCBUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0JiYpOworICAgIHZv
aWQgY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoUlRDUnRwU2NyaXB0VHJhbnNmb3JtJiwg
TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJik7CiAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyR2xv
YmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+JiYpOwogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3YzJjMTQzM2NhZGU5YjY3MDk4MWQ2YmJlNzFlZDE4OTJmNzViM2RlLi42
YmM0ZWZkNWYzZTg5ZDM0ZWY5ZTExMDNhMTQ3Nzc4MjcxZmFmZTAzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMjEtMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIFVwZGF0ZSBSVENTY3JpcHRUcmFuc2Zvcm0gY29uc3RydWN0b3IgdXAgdG8gc3BlYwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dw
dC93ZWJydGMvYXVkaW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sOgorICAgICAgICAqIGh0dHAvd3B0
L3dlYnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qczoKKyAgICAgICAgKE1vY2tSVENSdHBUcmFuc2Zv
cm1lcik6CisgICAgICAgIChNb2NrUlRDUnRwVHJhbnNmb3JtZXIucHJvdG90eXBlLnN0YXJ0KToK
KyAgICAgICAgKE1vY2tSVENSdHBUcmFuc2Zvcm1lci5wcm90b3R5cGUucHJvY2Vzcyk6CisgICAg
ICAgICogaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS13b3JrZXIuanM6CisgICAg
ICAgICogaHR0cC93cHQvd2VicnRjL3NjcmlwdC10cmFuc2Zvcm0uanM6CisgICAgICAgICogaHR0
cC93cHQvd2VicnRjL3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbDoKKyAgICAgICAgKiBodHRw
L3dwdC93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dl
YnJ0Yy93cml0ZS10d2ljZS10cmFuc2Zvcm0uanM6CisKIDIwMjEtMDQtMTMgIEFudG9pbmUgUXVp
bnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgY2FsYygpIHNpbXBsaWZpY2F0aW9u
IGZvciBhIG11bHRpcGxpY2F0aW9uIHNob3VsZCBhcHBseSB0aGUgbXVsdGlwbGljYXRpb24gdG8g
ZWFjaCB2YWx1ZSBvZiBhbiBhZGRpdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2VicnRjL2F1ZGlvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYnJ0Yy9hdWRpby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKaW5kZXggNTcwNmQyZmY3NDNm
ZDQ2ZTgxNjhiZGQyMTM5ODYwMmUwNTBmZGQ3ZS4uNTg0NjY0MWRhMTk3NzUzZTQ0MWNmNjNkMGZj
MzhkNjExNWY2NWYzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1
ZGlvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJy
dGMvYXVkaW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCkBAIC0zMiw5ICszMiwxMyBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKIAogICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQg
bmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7CiAKKyAg
ICBjb25zdCBzZW5kZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0IHJl
Y2VpdmVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKICAgICBsZXQgc2VuZGVyLCByZWNl
aXZlcjsKLSAgICBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdv
cmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRpYVR5cGU6J2F1ZGlvJywgc2lk
ZTonc2VuZGVyJ30pOwotICAgIHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgbWVkaWFUeXBlOidh
dWRpbycsIHNpZGU6J3JlY2VpdmVyJ30pOworICAgIHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENS
dHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1l
ZGlhVHlwZTonYXVkaW8nLCBzaWRlOidzZW5kZXInLCBwb3J0OnNlbmRlckNoYW5uZWwucG9ydDJ9
LCBbc2VuZGVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywg
bWVkaWFUeXBlOidhdWRpbycsIHNpZGU6J3JlY2VpdmVyJywgcG9ydDpyZWNlaXZlckNoYW5uZWwu
cG9ydDJ9LCBbcmVjZWl2ZXJDaGFubmVsLnBvcnQyXSk7CisgICAgc2VuZGVyVHJhbnNmb3JtLnBv
cnQgPSBzZW5kZXJDaGFubmVsLnBvcnQxOworICAgIHJlY2VpdmVyVHJhbnNmb3JtLnBvcnQgPSBy
ZWNlaXZlckNoYW5uZWwucG9ydDE7CiAKICAgICBwcm9taXNlMSA9IHdhaXRGb3JNZXNzYWdlKHNl
bmRlclRyYW5zZm9ybS5wb3J0LCAic3RhcnRlZCBhdWRpbyBzZW5kZXIiKTsKICAgICBwcm9taXNl
MiA9IHdhaXRGb3JNZXNzYWdlKHJlY2VpdmVyVHJhbnNmb3JtLnBvcnQsICJzdGFydGVkIGF1ZGlv
IHJlY2VpdmVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29u
dGV4dC10cmFuc2Zvcm0uanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29udGV4dC10
cmFuc2Zvcm0uanMKaW5kZXggZGZmMWEyNTcxZDE1MDU5MGFlOWJkYWVmNzViMjNmZjcxNDM0OGIz
Zi4uYmE0YWQ3MjczNjM0N2M5MzRjMWY1ZWEyNDc2MjRiYWZhZWEzZjk3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qcwpAQCAtMiw3ICsy
LDcgQEAgY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIHsKICAgICBjb25zdHJ1Y3Rvcih0cmFu
c2Zvcm1lcikgewogICAgICAgICB0aGlzLmFza0tleUZyYW1lID0gZmFsc2U7CiAgICAgICAgIHRo
aXMuY29udGV4dCA9IHRyYW5zZm9ybWVyOwotICAgICAgICB0aGlzLmNvbnRleHQucG9ydC5vbm1l
c3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5v
bm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKICAgICAgICAgICAgIGlmIChldmVudC5kYXRhID09PSAi
c3RhcnRLZXlGcmFtZXMiKQogICAgICAgICAgICAgICAgIHRoaXMuYXNrS2V5RnJhbWUgPSB0cnVl
OwogICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gImVuZEtleUZyYW1lcyIpCkBA
IC0xNSw3ICsxNSw3IEBAIGNsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lciB7CiAgICAgICAgIHRo
aXMucmVhZGVyID0gdGhpcy5jb250ZXh0LnJlYWRhYmxlLmdldFJlYWRlcigpOwogICAgICAgICB0
aGlzLndyaXRlciA9IHRoaXMuY29udGV4dC53cml0YWJsZS5nZXRXcml0ZXIoKTsKICAgICAgICAg
dGhpcy5wcm9jZXNzKCk7Ci0gICAgICAgIHRoaXMuY29udGV4dC5wb3J0LnBvc3RNZXNzYWdlKCJz
dGFydGVkICIgKyB0aGlzLmNvbnRleHQub3B0aW9ucy5tZWRpYVR5cGUgKyAiICIgKyB0aGlzLmNv
bnRleHQub3B0aW9ucy5zaWRlKTsKKyAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5w
b3N0TWVzc2FnZSgic3RhcnRlZCAiICsgdGhpcy5jb250ZXh0Lm9wdGlvbnMubWVkaWFUeXBlICsg
IiAiICsgdGhpcy5jb250ZXh0Lm9wdGlvbnMuc2lkZSk7CiAgICAgfQogCiAgICAgcHJvY2Vzcygp
CkBAIC0yOCw3ICsyOCw3IEBAIGNsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lciB7CiAKICAgICAg
ICAgICAgIGlmICh0aGlzLmNvbnRleHQub3B0aW9ucy5tZWRpYVR5cGUgPT09ICJ2aWRlbyIpIHsK
ICAgICAgICAgICAgICAgICBpZiAoY2h1bmsudmFsdWUgaW5zdGFuY2VvZiBSVENFbmNvZGVkVmlk
ZW9GcmFtZSkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnBvcnQucG9zdE1lc3Nh
Z2UoInZpZGVvIGZyYW1lICIgKyBjaHVuay52YWx1ZS50eXBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgidmlkZW8gZnJhbWUgIiAr
IGNodW5rLnZhbHVlLnR5cGUpOwogCiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXNrS2V5RnJh
bWUpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5yZXF1ZXN0S2V5RnJhbWUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zv
cm0td29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5z
Zm9ybS13b3JrZXIuanMKaW5kZXggYzRiM2Q0NGM3MzVmN2IyYmVjZTVhMWU1OWQ0YjMwMjI1ZDQ2
ZmE0ZS4uMDNiYTFmNGVlNmUwOTc2YTY4ZDYwN2RlOTgyNGQyZmQyM2RhYWNkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS13b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS13
b3JrZXIuanMKQEAgLTEsNiArMSw1IEBACiBvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4gewog
ICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gZXZlbnQudHJhbnNmb3JtZXI7Ci0gICAgdHJhbnNmb3Jt
ZXIucG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRyYW5zZm9ybWVyLnBvcnQucG9zdE1lc3Nh
Z2UoZXZlbnQuZGF0YSk7CiAKICAgICB0cmFuc2Zvcm1lci5yZWFkZXIgPSB0cmFuc2Zvcm1lci5y
ZWFkYWJsZS5nZXRSZWFkZXIoKTsKICAgICB0cmFuc2Zvcm1lci53cml0ZXIgPSB0cmFuc2Zvcm1l
ci53cml0YWJsZS5nZXRXcml0ZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYnJ0Yy9zY3JpcHQtdHJhbnNmb3JtLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRj
L3NjcmlwdC10cmFuc2Zvcm0uanMKaW5kZXggOTAxZTY3NjgxOGMxYTgyOTJlZTBkZTdhY2VjMDNh
ZDNjZDkzZGU2OS4uNWVhOTljZDJiZjczMmNmMDU4MmEyYWVmMTE5OWExNDk3MzgyNjllYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NjcmlwdC10cmFuc2Zvcm0uanMK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NjcmlwdC10cmFuc2Zvcm0uanMKQEAg
LTEsNiArMSw2IEBACiBvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4gewogICAgIGNvbnN0IHRy
YW5zZm9ybWVyID0gZXZlbnQudHJhbnNmb3JtZXI7Ci0gICAgdHJhbnNmb3JtZXIucG9ydC5vbm1l
c3NhZ2UgPSAoZXZlbnQpID0+IHRyYW5zZm9ybWVyLnBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0
YSk7CisgICAgdHJhbnNmb3JtZXIub3B0aW9ucy5wb3J0Lm9ubWVzc2FnZSA9IChldmVudCkgPT4g
dHJhbnNmb3JtZXIub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOwogCiAgICAg
c2VsZi5wb3N0TWVzc2FnZSgic3RhcnRlZCIpOwogICAgIHRyYW5zZm9ybWVyLnJlYWRlciA9IHRy
YW5zZm9ybWVyLnJlYWRhYmxlLmdldFJlYWRlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2VicnRjL3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYnJ0Yy92aWRlby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKaW5kZXggNGY1MmFh
YjdiOTIwMjVlZjg4NmUzZDJjZTQ3ZTIxYjUxMTgwNDliYy4uNjFlYjU4YTFjODRhZTIxYzcwNjhk
MjVlODQ5Mjc0ODhkNjVkZDhkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
cnRjL3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCkBAIC0zMiw5ICszMiwxMyBAQCBw
cm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKIAogICAgIGNvbnN0IGxvY2FsU3RyZWFtID0g
YXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlfSk7
CiAKKyAgICBjb25zdCBzZW5kZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNv
bnN0IHJlY2VpdmVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKICAgICBsZXQgc2VuZGVy
LCByZWNlaXZlcjsKLSAgICBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNm
b3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRpYVR5cGU6J3ZpZGVv
Jywgc2lkZTonc2VuZGVyJ30pOwotICAgIHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNj
cmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgbWVkaWFU
eXBlOid2aWRlbycsIHNpZGU6J3JlY2VpdmVyJ30pOworICAgIHNlbmRlclRyYW5zZm9ybSA9IG5l
dyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9y
bScsIG1lZGlhVHlwZTondmlkZW8nLCBzaWRlOidzZW5kZXInLCBwb3J0OnNlbmRlckNoYW5uZWwu
cG9ydDJ9LCBbc2VuZGVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHJlY2VpdmVyVHJhbnNmb3JtID0g
bmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNm
b3JtJywgbWVkaWFUeXBlOid2aWRlbycsIHNpZGU6J3JlY2VpdmVyJywgcG9ydDpyZWNlaXZlckNo
YW5uZWwucG9ydDJ9LCBbcmVjZWl2ZXJDaGFubmVsLnBvcnQyXSk7CisgICAgc2VuZGVyVHJhbnNm
b3JtLnBvcnQgPSBzZW5kZXJDaGFubmVsLnBvcnQxOworICAgIHJlY2VpdmVyVHJhbnNmb3JtLnBv
cnQgPSByZWNlaXZlckNoYW5uZWwucG9ydDE7CiAKICAgICBwcm9taXNlMSA9IHdhaXRGb3JNZXNz
YWdlKHNlbmRlclRyYW5zZm9ybS5wb3J0LCAic3RhcnRlZCB2aWRlbyBzZW5kZXIiKTsKICAgICBw
cm9taXNlMiA9IHdhaXRGb3JNZXNzYWdlKHJlY2VpdmVyVHJhbnNmb3JtLnBvcnQsICJzdGFydGVk
IHZpZGVvIHJlY2VpdmVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJy
dGMvd2VicnRjLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dl
YnJ0Yy10cmFuc2Zvcm0uaHRtbAppbmRleCA3ZTM5M2Q5ZTU0YWVkODM5NzA1ZWMxMWViMzM4Mjc3
ODA5MGUxZjMyLi42MTJkMjk0Y2E1ZmRmNTMxZmQxMjkxMmVkOTI4YjVhZGEzMWYyY2ZjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwK
QEAgLTI0LDcgKzI0LDkgQEAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAgICAgY29u
c3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9
IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CiAgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LCAicmVnaXN0ZXJlZCIpOwogCi0gICAgY29uc3QgdHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJhbnNmb3JtJyk7CisgICAgY29uc3QgY2hh
bm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBjb25zdCB0cmFuc2Zvcm0gPSBuZXcgUlRD
UnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBw
b3J0OiBjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9ydDJdKTsKKyAgICB0cmFuc2Zvcm0ucG9y
dCA9IGNoYW5uZWwucG9ydDE7CiAgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gdHJhbnNmb3JtLnBvcnQub25tZXNzYWdlID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50
LmRhdGEpKTsKICAgICB0cmFuc2Zvcm0ucG9ydC5wb3N0TWVzc2FnZSgidGVzdCIpOwogICAgIGFz
c2VydF9lcXVhbHMoYXdhaXQgcHJvbWlzZSwgInRlc3QiKTsKQEAgLTM2LDggKzM4LDE0IEBAIHBy
b21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogICAgIGFzc2VydF9lcXVhbHMoZGF0YSwgInJl
Z2lzdGVyZWQiKTsKIAogICAgIGNvbnN0IHBjID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7Ci0g
ICAgY29uc3Qgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3Jr
ZXIsICdNb2NrUlRDUnRwVHJhbnNmb3JtJyk7Ci0gICAgY29uc3QgcmVjZWl2ZXJUcmFuc2Zvcm0g
PSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwgJ01vY2tSVENSdHBUcmFuc2Zvcm0n
KTsKKworICAgIGNvbnN0IHNlbmRlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAg
Y29uc3QgcmVjZWl2ZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0IHNl
bmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTon
TW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBvcnQ6IHNlbmRlckNoYW5uZWwucG9ydDJ9LCBbc2VuZGVy
Q2hhbm5lbC5wb3J0Ml0pOworICAgIGNvbnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0
cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9y
dDogcmVjZWl2ZXJDaGFubmVsLnBvcnQyfSwgW3JlY2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOworICAg
IHNlbmRlclRyYW5zZm9ybS5wb3J0ID0gc2VuZGVyQ2hhbm5lbC5wb3J0MTsKKyAgICByZWNlaXZl
clRyYW5zZm9ybS5wb3J0ID0gcmVjZWl2ZXJDaGFubmVsLnBvcnQxOworCiAgICAgY29uc3Qgc2Vu
ZGVyMSA9IHBjLmFkZFRyYW5zY2VpdmVyKCdhdWRpbycpLnNlbmRlcjsKICAgICBjb25zdCBzZW5k
ZXIyID0gcGMuYWRkVHJhbnNjZWl2ZXIoJ3ZpZGVvJykuc2VuZGVyOwogICAgIGNvbnN0IHJlY2Vp
dmVyMSA9IHBjLmdldFJlY2VpdmVycygpWzBdOwpAQCAtNjEsOSArNjksMTMgQEAgcHJvbWlzZV90
ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLCAicmVnaXN0ZXJl
ZCIpOwogICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7CiAKKyAgICBjb25zdCBzZW5kZXJDaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0IHJlY2VpdmVyQ2hhbm5lbCA9IG5ldyBN
ZXNzYWdlQ2hhbm5lbDsKICAgICBsZXQgc2VuZGVyLCByZWNlaXZlcjsKLSAgICBjb25zdCBzZW5k
ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwgJ01vY2tSVENS
dHBUcmFuc2Zvcm0nKTsKLSAgICBjb25zdCByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBT
Y3JpcHRUcmFuc2Zvcm0od29ya2VyLCAnTW9ja1JUQ1J0cFRyYW5zZm9ybScpOworICAgIGNvbnN0
IHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFt
ZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBvcnQ6IHNlbmRlckNoYW5uZWwucG9ydDJ9LCBbc2Vu
ZGVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIGNvbnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywg
cG9ydDogcmVjZWl2ZXJDaGFubmVsLnBvcnQyfSwgW3JlY2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOwor
ICAgIHNlbmRlclRyYW5zZm9ybS5wb3J0ID0gc2VuZGVyQ2hhbm5lbC5wb3J0MTsKKyAgICByZWNl
aXZlclRyYW5zZm9ybS5wb3J0ID0gcmVjZWl2ZXJDaGFubmVsLnBvcnQxOwogCiAgICAgY29uc3Qg
c3RhcnRlZFByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtlci5vbm1lc3NhZ2Ug
PSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOwogCkBAIC05OCw5ICsxMTAsMTMgQEAg
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAKICAgICBjb25zdCBsb2NhbFN0cmVhbSA9
IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0p
OwogCisgICAgY29uc3Qgc2VuZGVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBj
b25zdCByZWNlaXZlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CiAgICAgbGV0IHNlbmRl
ciwgcmVjZWl2ZXI7Ci0gICAgY29uc3Qgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJhbnNmb3JtJyk7Ci0gICAgY29uc3QgcmVj
ZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwgJ01vY2tS
VENSdHBUcmFuc2Zvcm0nKTsKKyAgICBjb25zdCBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRw
U2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBwb3J0
OiBzZW5kZXJDaGFubmVsLnBvcnQyfSwgW3NlbmRlckNoYW5uZWwucG9ydDJdKTsKKyAgICBjb25z
dCByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7
bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBvcnQ6IHJlY2VpdmVyQ2hhbm5lbC5wb3J0Mn0s
IFtyZWNlaXZlckNoYW5uZWwucG9ydDJdKTsKKyAgICBzZW5kZXJUcmFuc2Zvcm0ucG9ydCA9IHNl
bmRlckNoYW5uZWwucG9ydDE7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydCA9IHJlY2VpdmVy
Q2hhbm5lbC5wb3J0MTsKIAogICAgIGNvbnN0IHN0YXJ0ZWRQcm9taXNlID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LmRh
dGEpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dyaXRlLXR3
aWNlLXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93cml0ZS10d2lj
ZS10cmFuc2Zvcm0uanMKaW5kZXggZmNkNzY4ZGIyYjFkZDBhZWE4NTEzZjdmOTBiNmVmNzlkNjU4
MGNjNi4uNWQ0MjhjODFiM2FhNTQzNDMxOWUxMGZiZWM2YTAwNzVhN2Q0MGI5OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dyaXRlLXR3aWNlLXRyYW5zZm9ybS5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd3JpdGUtdHdpY2UtdHJhbnNmb3JtLmpz
CkBAIC0xLDYgKzEsNSBAQAogb25ydGN0cmFuc2Zvcm0gPSAoZXZlbnQpID0+IHsKICAgICBjb25z
dCB0cmFuc2Zvcm1lciA9IGV2ZW50LnRyYW5zZm9ybWVyOwotICAgIHRyYW5zZm9ybWVyLnBvcnQu
b25tZXNzYWdlID0gKGV2ZW50KSA9PiB0cmFuc2Zvcm1lci5wb3J0LnBvc3RNZXNzYWdlKGV2ZW50
LmRhdGEpOwogCiAgICAgc2VsZi5wb3N0TWVzc2FnZSgic3RhcnRlZCIpOwogCg==
</data>
<flag name="commit-queue"
          id="445926"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425850</attachid>
            <date>2021-04-13 02:24:16 -0700</date>
            <delta_ts>2021-04-15 02:10:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224447-20210413112414.patch</filename>
            <type>text/plain</type>
            <size>28776</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhNjc0Yzc0N2UzYzdk
NjczMDI3YzFhNGUwNGVhNjNlYzg5ZTRjMS4uZDY5NDRhYzU5NWI1YjIwZmMzMmI5MTZhMmQ3ZWVj
MDI4M2M3Mjc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDU2NyaXB0
VHJhbnNmb3JtIGNvbnN0cnVjdG9yIHVwIHRvIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBidWlsdC1pbiBzdXBwb3J0IGZvciBtZXNz
YWdlIHBvcnRzIGluIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci4KKyAgICAgICAgSW5zdGVhZCBwYXNzIGEgdHJhbnNmZXIgb2JqZWN0IHRvIFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybSBjb25zdHJ1Y3RvciB1c2VkIGpvaW50bHkgd2l0aCBvcHRpb25zIHRvIGVuYWJs
ZSB0aGUgc2FtZSBiZWhhdmlvci4KKyAgICAgICAgVGhpcyBhbGlnbnMgd2l0aCB0aGUgY2hhbmdl
IG1hZGUgaW4gaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJydGMtZW5jb2RlZC10cmFuc2Zvcm0v
cHVsbC85Ni4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdHMuCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm06OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9u
cyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1l
ci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OnBvcnQpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcik6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKwogMjAyMS0wNC0xMyAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ2FwdHVyZURldmlj
ZSBtb25pdG9yIHVzZWQgZnJvbSBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmNwcAppbmRl
eCA2ZTVlNjgxNmJlYWQxOThkYzM1ZDQ1MTBiNWUxNmI5YWQ3ZGI0ODZlLi44ZmY5ODhhNDJjMmQw
NzE3NjQ3MWUzZDY2Mzg5MTY1ZDRiZjI0OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uY3BwCkBA
IC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSk7CiAKLUV4Y2VwdGlvbk9yPFJlZjxSVENS
dHBTY3JpcHRUcmFuc2Zvcm0+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0JiBzdGF0ZSwgV29ya2VyJiB3b3JrZXIsIEpTQzo6SlNWYWx1ZSBvcHRpb25z
KQorRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybT4+IFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybTo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QmIHN0YXRlLCBXb3JrZXImIHdvcmtl
ciwgSlNDOjpKU1ZhbHVlIG9wdGlvbnMsIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0
Pj4mJiB0cmFuc2ZlcikKIHsKICAgICBpZiAoIXdvcmtlci5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIldvcmtl
ciBmcmFtZSBpcyBkZXRhY2hlZCJfcyB9OwpAQCAtNTEsMjYgKzUxLDI2IEBAIEV4Y2VwdGlvbk9y
PFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm0+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm06OmNyZWF0
ZShKU0M6OkpTR2xvCiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IsICJJbnZhbGlkIGNvbnRleHQiX3MgfTsKIAotICAgIGF1dG8g
c2VyaWFsaXplZE9wdGlvbnMgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0ZSwg
b3B0aW9ucyk7Ci0gICAgaWYgKCFzZXJpYWxpemVkT3B0aW9ucykKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfTsKKyAgICBWZWN0b3I8UmVmUHRyPE1l
c3NhZ2VQb3J0Pj4gdHJhbnNmZXJyZWRQb3J0czsKKyAgICBhdXRvIHNlcmlhbGl6ZWRPcHRpb25z
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoc3RhdGUsIG9wdGlvbnMsIFdURk1vdmUo
dHJhbnNmZXIpLCB0cmFuc2ZlcnJlZFBvcnRzKTsKKyAgICBpZiAoc2VyaWFsaXplZE9wdGlvbnMu
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBzZXJpYWxpemVkT3B0aW9ucy5yZWxlYXNl
RXhjZXB0aW9uKCk7CiAKLSAgICBhdXRvIG1lc3NhZ2VDaGFubmVsID0gTWVzc2FnZUNoYW5uZWw6
OmNyZWF0ZSgqd29ya2VyLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgYXV0byB0cmFu
c2Zvcm1NZXNzYWdlUG9ydCA9IG1lc3NhZ2VDaGFubmVsLT5wb3J0MSgpOwotICAgIGF1dG8gdHJh
bnNmb3JtZXJNZXNzYWdlUG9ydCA9IG1lc3NhZ2VDaGFubmVsLT5wb3J0MigpOworICAgIGF1dG8g
Y2hhbm5lbHMgPSBNZXNzYWdlUG9ydDo6ZGlzZW50YW5nbGVQb3J0cyhXVEZNb3ZlKHRyYW5zZmVy
cmVkUG9ydHMpKTsKKyAgICBpZiAoY2hhbm5lbHMuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBjaGFubmVscy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAKLSAgICBhdXRvIHRyYW5zZm9ybSA9
IGFkb3B0UmVmKCpuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKCpjb250ZXh0LCBtYWtlUmVmKHdv
cmtlciksIG1ha2VSZWYoKnRyYW5zZm9ybU1lc3NhZ2VQb3J0KSkpOworICAgIGF1dG8gdHJhbnNm
b3JtID0gYWRvcHRSZWYoKm5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0oKmNvbnRleHQsIG1ha2VS
ZWYod29ya2VyKSkpOwogICAgIHRyYW5zZm9ybS0+c3VzcGVuZElmTmVlZGVkKCk7CiAKLSAgICB3
b3JrZXIuY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIodHJhbnNmb3JtLCBzZXJpYWxpemVk
T3B0aW9ucy5yZWxlYXNlTm9uTnVsbCgpLCB0cmFuc2Zvcm1lck1lc3NhZ2VQb3J0LT5kaXNlbnRh
bmdsZSgpKTsKKyAgICB3b3JrZXIuY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIodHJhbnNm
b3JtLCB7IHNlcmlhbGl6ZWRPcHRpb25zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBjaGFubmVscy5y
ZWxlYXNlUmV0dXJuVmFsdWUoKSB9KTsKIAogICAgIHJldHVybiB0cmFuc2Zvcm07CiB9CiAKLVJU
Q1J0cFNjcmlwdFRyYW5zZm9ybTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIFJlZjxXb3JrZXI+JiYgd29ya2VyLCBSZWY8TWVzc2FnZVBvcnQ+
JiYgcG9ydCkKK1JUQ1J0cFNjcmlwdFRyYW5zZm9ybTo6UlRDUnRwU2NyaXB0VHJhbnNmb3JtKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxXb3JrZXI+JiYgd29ya2VyKQogICAg
IDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV93b3JrZXIoV1RGTW92ZSh3b3Jr
ZXIpKQotICAgICwgbV9wb3J0KFdURk1vdmUocG9ydCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9y
bS5oCmluZGV4IDNlZDRhODQwOWNiYWQ4MWUzNmY3YjNlOTIzMjNmYmNkNTVhYjRlYWQuLmIyNzdh
NzM3OWUwZGI0NDBlMzIwZjgxNTkzMmE4NWNiNGVlMjdkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0u
aApAQCAtMjksOSArMjksMTAgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRl
ICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
Q0pTVmFsdWUuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKQEAgLTQ3LDExICs0OCw5IEBAIGNs
YXNzIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSBmaW5hbAogICAgICwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUlRDUnRwU2NyaXB0
VHJhbnNmb3JtKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNj
cmlwdFRyYW5zZm9ybT4+IGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV29ya2VyJiwgSlND
OjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlwdFRyYW5z
Zm9ybT4+IGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV29ya2VyJiwgSlNDOjpKU1ZhbHVl
LCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYpOwogICAgIH5SVENSdHBTY3Jp
cHRUcmFuc2Zvcm0oKTsKIAotICAgIE1lc3NhZ2VQb3J0JiBwb3J0KCkgeyByZXR1cm4gbV9wb3J0
LmdldCgpOyB9Ci0KICAgICB2b2lkIHNldFRyYW5zZm9ybWVyKFJUQ1J0cFNjcmlwdFRyYW5zZm9y
bWVyJik7CiAKICAgICBib29sIGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQXR0YWNo
ZWQ7IH0KQEAgLTY0LDE0ICs2MywxNCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ6OmRlcmVmOwogCiBwcml2YXRlOgotICAgIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFdvcmtlcj4mJiwgUmVmPE1lc3NhZ2VQb3J0PiYm
KTsKKyAgICBSVENSdHBTY3JpcHRUcmFuc2Zvcm0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJl
ZjxXb3JrZXI+JiYpOwogCiAgICAgdm9pZCBpbml0aWFsaXplVHJhbnNmb3JtZXIoUlRDUnRwVHJh
bnNmb3JtQmFja2VuZCYpOwogICAgIGJvb2wgc2V0dXBUcmFuc2Zvcm1lcihSZWY8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZD4mJik7CiAgICAgdm9pZCBjbGVhcihSVENSdHBTY3JpcHRUcmFuc2Zvcm1l
cjo6Q2xlYXJDYWxsYmFjayk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKLSAgICBjb25zdCBj
aGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgeyByZXR1cm4gIlJUQ1J0cFNjcmlwdFRy
YW5zZm9ybSI7IH0KKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gIlJUQ1J0cFNjcmlwdFRyYW5zZm9ybSI7IH0KIAogICAgIC8vIEV2ZW50
VGFyZ2V0CiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBSVENSdHBTY3JpcHRUcmFuc2Zvcm1FdmVudFRhcmdldEludGVy
ZmFjZVR5cGU7IH0KQEAgLTgwLDcgKzc5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlcmVmRXZl
bnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIFJlZjxXb3JrZXI+IG1fd29ya2Vy
OwotICAgIFJlZjxNZXNzYWdlUG9ydD4gbV9wb3J0OwogCiAgICAgYm9vbCBtX2lzQXR0YWNoZWQg
eyBmYWxzZSB9OwogICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2JhY2tlbmQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNj
cmlwdFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNjcmlwdFRyYW5zZm9ybS5pZGwKaW5kZXggY2Y0NDcyMmU3MzIxZGJlNjY0ODM4MTFhNDhl
OTExYjVjZmNmNjI3Ni4uNjNmNDE1Y2MwMGM0NTM0NDdhNTQ4NjA4MGZmZTA2Yjc2NzA4ZGEwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3Jp
cHRUcmFuc2Zvcm0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2NyaXB0VHJhbnNmb3JtLmlkbApAQCAtMzAsNyArMzAsNSBAQAogICAgIEV4cG9zZWQ9
V2luZG93LAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIFJUQ1J0
cFNjcmlwdFRyYW5zZm9ybSA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2Jq
ZWN0XSBjb25zdHJ1Y3RvcihXb3JrZXIgd29ya2VyLCBhbnkgb3B0aW9ucyk7Ci0KLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2Jq
ZWN0XSBjb25zdHJ1Y3RvcihXb3JrZXIgd29ya2VyLCBhbnkgb3B0aW9ucywgb3B0aW9uYWwgc2Vx
dWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNwcApp
bmRleCA5ZWQwMGEwNjExYjljODYyMzUyZjEwNTEwOTM5NmQzZmQ0MWUyODFmLi45NGViOTY1Nzlj
MmZkZGMyNjU2ODRhNWJjMmRmNjI1NzVkYTRjYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVy
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmgiCiAjaW5jbHVkZSAiSlNSVENFbmNvZGVkQXVkaW9GcmFtZS5oIgogI2luY2x1ZGUgIkpT
UlRDRW5jb2RlZFZpZGVvRnJhbWUuaCIKKyNpbmNsdWRlICJNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0
cy5oIgogI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgogI2luY2x1ZGUgIlJl
YWRhYmxlU3RyZWFtLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKQEAgLTQw
LDcgKzQxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1FeGNlcHRpb25PcjxSZWY8UlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXI+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
JiYgb3B0aW9ucywgUmVmPE1lc3NhZ2VQb3J0PiYmIHBvcnQpCitFeGNlcHRpb25PcjxSZWY8UlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXI+PiBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYg
b3B0aW9ucykKIHsKICAgICBpZiAoIWNvbnRleHQuZ2xvYmFsT2JqZWN0KCkpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwpAQCAtNTEsMTYgKzUyLDE5IEBA
IEV4Y2VwdGlvbk9yPFJlZjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4+IFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyOjpjcmVhdGUoU2NyaXB0CiAgICAgYXV0byByZWFkYWJsZSA9IFJlYWRhYmxlU3Ry
ZWFtOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCByZWFkYWJsZVNvdXJjZS5jb3B5UmVmKCkpOwogICAg
IGlmIChyZWFkYWJsZS5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHJlYWRhYmxlLnJl
bGVhc2VFeGNlcHRpb24oKTsKKyAgICBpZiAoIW9wdGlvbnMubWVzc2FnZSkKKyAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBhdXRvIHRyYW5zZm9y
bWVyID0gYWRvcHRSZWYoKm5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihjb250ZXh0LCBXVEZN
b3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHBvcnQpLCByZWFkYWJsZS5yZWxlYXNlUmV0dXJuVmFsdWUo
KSwgV1RGTW92ZShyZWFkYWJsZVNvdXJjZSkpKTsKKyAgICBhdXRvIHBvcnRzID0gTWVzc2FnZVBv
cnQ6OmVudGFuZ2xlUG9ydHMoY29udGV4dCwgV1RGTW92ZShvcHRpb25zLnRyYW5zZmVycmVkUG9y
dHMpKTsKKyAgICBhdXRvIHRyYW5zZm9ybWVyID0gYWRvcHRSZWYoKm5ldyBSVENSdHBTY3JpcHRU
cmFuc2Zvcm1lcihjb250ZXh0LCBvcHRpb25zLm1lc3NhZ2UucmVsZWFzZU5vbk51bGwoKSwgV1RG
TW92ZShwb3J0cyksIHJlYWRhYmxlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHJlYWRh
YmxlU291cmNlKSkpOwogICAgIHRyYW5zZm9ybWVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKICAgICBy
ZXR1cm4gdHJhbnNmb3JtZXI7CiB9CiAKLVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpSVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmIG9wdGlvbnMsIFJlZjxNZXNzYWdlUG9ydD4mJiBwb3J0LCBS
ZWY8UmVhZGFibGVTdHJlYW0+JiYgcmVhZGFibGUsIFJlZjxTaW1wbGVSZWFkYWJsZVN0cmVhbVNv
dXJjZT4mJiByZWFkYWJsZVNvdXJjZSkKK1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpSVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmIG9wdGlvbnMsIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+
PiYmIHBvcnRzLCBSZWY8UmVhZGFibGVTdHJlYW0+JiYgcmVhZGFibGUsIFJlZjxTaW1wbGVSZWFk
YWJsZVN0cmVhbVNvdXJjZT4mJiByZWFkYWJsZVNvdXJjZSkKICAgICA6IEFjdGl2ZURPTU9iamVj
dCgmY29udGV4dCkKICAgICAsIG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQotICAgICwgbV9w
b3J0KFdURk1vdmUocG9ydCkpCisgICAgLCBtX3BvcnRzKFdURk1vdmUocG9ydHMpKQogICAgICwg
bV9yZWFkYWJsZVNvdXJjZShXVEZNb3ZlKHJlYWRhYmxlU291cmNlKSkKICAgICAsIG1fcmVhZGFi
bGUoV1RGTW92ZShyZWFkYWJsZSkpCiB7CkBAIC0xNTIsNyArMTU2LDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OnJlcXVlc3RLZXlGcmFtZSgpCiAKIEpTQzo6
SlNWYWx1ZSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9ucyhKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIG1fb3B0aW9ucy0+ZGVzZXJpYWxpemUo
Z2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gbV9vcHRpb25zLT5kZXNl
cmlhbGl6ZShnbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIG1fcG9ydHMpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKaW5kZXggNjlhZjM0NDZk
NDc1MTY5Zjc0ZGVlMzc4NzlhZTg1NTAxNjEyOTAwNS4uNmQzOWUyMTAyZmE1YzI5Mjc0ODYxYWE1
NDc2YTk2ZTJhOGVmNzk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaApAQCAtNDQsMTIgKzQ0
LDE0IEBAIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIGNsYXNzIFNpbXBsZVJlYWRhYmxl
U3RyZWFtU291cmNlOwogY2xhc3MgV3JpdGFibGVTdHJlYW07CiAKK3N0cnVjdCBNZXNzYWdlV2l0
aE1lc3NhZ2VQb3J0czsKKwogY2xhc3MgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIKICAgICA6IHB1
YmxpYyBSZWZDb3VudGVkPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPgogICAgICwgcHVibGljIEFj
dGl2ZURPTU9iamVjdAogICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxSVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lcj4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgUmVmPE1lc3NhZ2VQb3J0PiYmKTsKKyAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPj4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKTsKICAgICB+UlRDUnRw
U2NyaXB0VHJhbnNmb3JtZXIoKTsKIAogICAgIFJlYWRhYmxlU3RyZWFtJiByZWFkYWJsZSgpOwpA
QCAtNTcsNyArNTksNiBAQCBwdWJsaWM6CiAgICAgSlNDOjpKU1ZhbHVlIG9wdGlvbnMoSlNDOjpK
U0dsb2JhbE9iamVjdCYpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcmVxdWVzdEtleUZyYW1l
KCk7Ci0gICAgTWVzc2FnZVBvcnQmIHBvcnQoKSB7IHJldHVybiBtX3BvcnQuZ2V0KCk7IH0KIAog
ICAgIHZvaWQgc3RhcnRQZW5kaW5nQWN0aXZpdHkoKSB7IG1fcGVuZGluZ0FjdGl2aXR5ID0gbWFr
ZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7IH0KICAgICB2b2lkIHN0YXJ0KFJlZjxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kPiYmKTsKQEAgLTY2LDE1ICs2NywxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
bGVhcihDbGVhckNhbGxiYWNrKTsKIAogcHJpdmF0ZToKLSAgICBSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4m
JiwgUmVmPE1lc3NhZ2VQb3J0PiYmLCBSZWY8UmVhZGFibGVTdHJlYW0+JiYsIFJlZjxTaW1wbGVS
ZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CisgICAgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFZlY3Rv
cjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiYmLCBSZWY8UmVhZGFibGVTdHJlYW0+JiYsIFJlZjxTaW1w
bGVSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKLSAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgeyByZXR1cm4gIlJUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyIjsgfQorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIiOyB9CiAg
ICAgdm9pZCBzdG9wKCkgZmluYWwgeyBzdG9wUGVuZGluZ0FjdGl2aXR5KCk7IH0KKwogICAgIHZv
aWQgc3RvcFBlbmRpbmdBY3Rpdml0eSgpIHsgYXV0byBwZW5kaW5nQWN0aXZpdHkgPSBXVEZNb3Zl
KG1fcGVuZGluZ0FjdGl2aXR5KTsgfQogCiAgICAgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
bV9vcHRpb25zOwotICAgIFJlZjxNZXNzYWdlUG9ydD4gbV9wb3J0OworICAgIFZlY3RvcjxSZWZQ
dHI8TWVzc2FnZVBvcnQ+PiBtX3BvcnRzOwogCiAgICAgUmVmPFNpbXBsZVJlYWRhYmxlU3RyZWFt
U291cmNlPiBtX3JlYWRhYmxlU291cmNlOwogICAgIFJlZjxSZWFkYWJsZVN0cmVhbT4gbV9yZWFk
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2NyaXB0VHJhbnNmb3JtZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5pZGwKaW5kZXggMTIyNzU2ZDQ0YWU4YjEyNDRl
NDE4ZTJjMjZkMmViN2Y4ZTRhZTU3Mi4uYjdmMDIzMzFiNjFjZWM4NTRmYjc4NzQ3Y2JhN2FhOGM0
NjAyMzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTY3JpcHRUcmFuc2Zvcm1lci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5pZGwKQEAgLTM0LDYgKzM0LDUgQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgV3JpdGFibGVTdHJlYW0gd3JpdGFibGU7CiAgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdCwgQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUg
YW55IG9wdGlvbnM7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDsK
ICAgICB1bmRlZmluZWQgcmVxdWVzdEtleUZyYW1lKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBkNGNl
YzRmNGY4M2I2M2I4ZDhiZjVhZjE5NTYxMmYxM2Q2YTFjMzg4Li5hNTE1OGNkZmU0ZTI2ZjQ2YzA5
MzE3OWE3YWJmOGYxMWRlN2IyYTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMTIyLDkgKzEyMiw5IEBAIHZv
aWQgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNhbmNlbEFuaW1hdGlvbkZyYW1lKENhbGxi
YWNrSWQgY2FsbGJhY2tJZCkKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCi1SZWZQdHI8
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVh
dGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG9w
dGlvbnMsIFRyYW5zZmVycmVkTWVzc2FnZVBvcnQmJiBwb3J0KQorUmVmUHRyPFJUQ1J0cFNjcmlw
dFRyYW5zZm9ybWVyPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBvcHRpb25zKQogewotICAg
IGF1dG8gdHJhbnNmb3JtZXJPckV4Y2VwdGlvbiA9IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpj
cmVhdGUoKnRoaXMsIFdURk1vdmUob3B0aW9ucyksIE1lc3NhZ2VQb3J0OjplbnRhbmdsZSgqdGhp
cywgV1RGTW92ZShwb3J0KSkpOworICAgIGF1dG8gdHJhbnNmb3JtZXJPckV4Y2VwdGlvbiA9IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpjcmVhdGUoKnRoaXMsIFdURk1vdmUob3B0aW9ucykpOwog
ICAgIGlmICh0cmFuc2Zvcm1lck9yRXhjZXB0aW9uLmhhc0V4Y2VwdGlvbigpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICBhdXRvIHRyYW5zZm9ybWVyID0gdHJhbnNmb3JtZXJPckV4Y2Vw
dGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBlM2NjZDAwMDRhNTM5MWQ1ZGQ2
ZmJlYzM5MDQ2NWFmYmJjOWUxYjVjLi4wNDljMTQ0OTZmNjk4OWVjZTAzNDlkYWZhMDVhMmZmZDk0
YmY5NTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYg
RU5BQkxFKFdFQl9SVEMpCi0gICAgUmVmUHRyPFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyPiBjcmVh
dGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBU
cmFuc2ZlcnJlZE1lc3NhZ2VQb3J0JiYpOworICAgIFJlZlB0cjxSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcj4gY3JlYXRlUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoTWVzc2FnZVdpdGhNZXNzYWdlUG9y
dHMmJik7CiAjZW5kaWYKIAogICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRp
b24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3Jr
ZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBmOTdlOTUxOGM4NDZkMWZhNzdm
Yzg4YjQ1YzVjZGMyYmU2YzI0Yjc4Li42YTRmOTIyN2M0MGY5ODU0NjkzYTY2MjJjYmE3NmE0OTY1
YTE2N2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yNDksMTMgKzI0OSwxMyBA
QCB2b2lkIFdvcmtlcjo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpCiB9CiAKICNpZiBFTkFC
TEUoV0VCX1JUQykKLXZvaWQgV29ya2VyOjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihS
VENSdHBTY3JpcHRUcmFuc2Zvcm0mIHRyYW5zZm9ybSwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4mJiBvcHRpb25zLCBUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0JiYgcG9ydCkKK3ZvaWQgV29ya2Vy
OjpjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihSVENSdHBTY3JpcHRUcmFuc2Zvcm0mIHRy
YW5zZm9ybSwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBvcHRpb25zKQogewogICAgIGlmICgh
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRl
eHRQcm94eS5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoW3RyYW5zZm9ybSA9IG1ha2VSZWYo
dHJhbnNmb3JtKSwgb3B0aW9ucyA9IFdURk1vdmUob3B0aW9ucyksIHBvcnQgPSBXVEZNb3ZlKHBv
cnQpXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKGF1dG8gdHJhbnNmb3Jt
ZXIgPSBkb3duY2FzdDxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkuY3JlYXRl
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIoV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwb3J0KSkp
CisgICAgbV9jb250ZXh0UHJveHkucG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFt0cmFuc2Zv
cm0gPSBtYWtlUmVmKHRyYW5zZm9ybSksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpXShhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGF1dG8gdHJhbnNmb3JtZXIgPSBkb3du
Y2FzdDxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkuY3JlYXRlUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIoV1RGTW92ZShvcHRpb25zKSkpCiAgICAgICAgICAgICB0cmFuc2Zvcm0t
PnNldFRyYW5zZm9ybWVyKCp0cmFuc2Zvcm1lcik7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3RyYW5zZm9ybSA9IFdURk1vdmUodHJhbnNmb3JtKV0geyB9KTsKICAgICB9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5oCmluZGV4IGFjYjk2ZWFiNmMxOWEyYmVkZGU3OTQ1OTFjMmMwNDU3NDU2YmRh
ZWIuLjUzOTU2OGY1OTEzYjRiNWMyODZlNzM2MDRlNjUzMjEyNDk5NzViYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNwYXRj
aEV2ZW50KEV2ZW50JikgZmluYWw7CiAKICNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICB2b2lkIGNy
ZWF0ZVJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyKFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSYsIFJlZjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFRyYW5zZmVycmVkTWVzc2FnZVBvcnQmJik7CisgICAg
dm9pZCBjcmVhdGVSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcihSVENSdHBTY3JpcHRUcmFuc2Zvcm0m
LCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKTsKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJH
bG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDdjMmMxNDMzY2FkZTliNjcwOTgxZDZiYmU3MWVkMTg5MmY3NWIzZGUu
LjZiYzRlZmQ1ZjNlODlkMzRlZjllMTEwM2ExNDc3NzgyNzFmYWZlMDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAyMS0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgVXBkYXRlIFJUQ1NjcmlwdFRyYW5zZm9ybSBjb25zdHJ1Y3RvciB1cCB0byBzcGVj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ0NDcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
d3B0L3dlYnJ0Yy9hdWRpby1zY3JpcHQtdHJhbnNmb3JtLmh0bWw6CisgICAgICAgICogaHR0cC93
cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzOgorICAgICAgICAoTW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyKToKKyAgICAgICAgKE1vY2tSVENSdHBUcmFuc2Zvcm1lci5wcm90b3R5cGUuc3RhcnQp
OgorICAgICAgICAoTW9ja1JUQ1J0cFRyYW5zZm9ybWVyLnByb3RvdHlwZS5wcm9jZXNzKToKKyAg
ICAgICAgKiBodHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtlci5qczoKKyAg
ICAgICAgKiBodHRwL3dwdC93ZWJydGMvc2NyaXB0LXRyYW5zZm9ybS5qczoKKyAgICAgICAgKiBo
dHRwL3dwdC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sOgorICAgICAgICAqIGh0
dHAvd3B0L3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWw6CisgICAgICAgICogaHR0cC93cHQv
d2VicnRjL3dyaXRlLXR3aWNlLXRyYW5zZm9ybS5qczoKKwogMjAyMS0wNC0xMyAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBjYWxjKCkgc2ltcGxpZmljYXRp
b24gZm9yIGEgbXVsdGlwbGljYXRpb24gc2hvdWxkIGFwcGx5IHRoZSBtdWx0aXBsaWNhdGlvbiB0
byBlYWNoIHZhbHVlIG9mIGFuIGFkZGl0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJydGMvYXVkaW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VicnRjL2F1ZGlvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbAppbmRleCA1NzA2ZDJmZjc0
M2ZkNDZlODE2OGJkZDIxMzk4NjAyZTA1MGZkZDdlLi41ODQ2NjQxZGExOTc3NTNlNDQxY2Y2M2Qw
ZmMzOGQ2MTE1ZjY1ZjMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMv
YXVkaW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YnJ0Yy9hdWRpby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKQEAgLTMyLDkgKzMyLDEzIEBAIHByb21p
c2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogCiAgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2Fp
dCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRydWV9KTsKIAor
ICAgIGNvbnN0IHNlbmRlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAgY29uc3Qg
cmVjZWl2ZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwogICAgIGxldCBzZW5kZXIsIHJl
Y2VpdmVyOwotICAgIHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0o
d29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1lZGlhVHlwZTonYXVkaW8nLCBz
aWRlOidzZW5kZXInfSk7Ci0gICAgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0
VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRpYVR5cGU6
J2F1ZGlvJywgc2lkZToncmVjZWl2ZXInfSk7CisgICAgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywg
bWVkaWFUeXBlOidhdWRpbycsIHNpZGU6J3NlbmRlcicsIHBvcnQ6c2VuZGVyQ2hhbm5lbC5wb3J0
Mn0sIFtzZW5kZXJDaGFubmVsLnBvcnQyXSk7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcg
UlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0n
LCBtZWRpYVR5cGU6J2F1ZGlvJywgc2lkZToncmVjZWl2ZXInLCBwb3J0OnJlY2VpdmVyQ2hhbm5l
bC5wb3J0Mn0sIFtyZWNlaXZlckNoYW5uZWwucG9ydDJdKTsKKyAgICBzZW5kZXJUcmFuc2Zvcm0u
cG9ydCA9IHNlbmRlckNoYW5uZWwucG9ydDE7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydCA9
IHJlY2VpdmVyQ2hhbm5lbC5wb3J0MTsKIAogICAgIHByb21pc2UxID0gd2FpdEZvck1lc3NhZ2Uo
c2VuZGVyVHJhbnNmb3JtLnBvcnQsICJzdGFydGVkIGF1ZGlvIHNlbmRlciIpOwogICAgIHByb21p
c2UyID0gd2FpdEZvck1lc3NhZ2UocmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydCwgInN0YXJ0ZWQgYXVk
aW8gcmVjZWl2ZXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9j
b250ZXh0LXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9jb250ZXh0
LXRyYW5zZm9ybS5qcwppbmRleCBkZmYxYTI1NzFkMTUwNTkwYWU5YmRhZWY3NWIyM2ZmNzE0MzQ4
YjNmLi5iYTRhZDcyNzM2MzQ3YzkzNGMxZjVlYTI0NzYyNGJhZmFlYTNmOTc4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29udGV4dC10cmFuc2Zvcm0uanMKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzCkBAIC0yLDcg
KzIsNyBAQCBjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIgewogICAgIGNvbnN0cnVjdG9yKHRy
YW5zZm9ybWVyKSB7CiAgICAgICAgIHRoaXMuYXNrS2V5RnJhbWUgPSBmYWxzZTsKICAgICAgICAg
dGhpcy5jb250ZXh0ID0gdHJhbnNmb3JtZXI7Ci0gICAgICAgIHRoaXMuY29udGV4dC5wb3J0Lm9u
bWVzc2FnZSA9IChldmVudCkgPT4geworICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0
Lm9ubWVzc2FnZSA9IChldmVudCkgPT4gewogICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09
ICJzdGFydEtleUZyYW1lcyIpCiAgICAgICAgICAgICAgICAgdGhpcy5hc2tLZXlGcmFtZSA9IHRy
dWU7CiAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5kYXRhID09PSAiZW5kS2V5RnJhbWVzIikK
QEAgLTE1LDcgKzE1LDcgQEAgY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIHsKICAgICAgICAg
dGhpcy5yZWFkZXIgPSB0aGlzLmNvbnRleHQucmVhZGFibGUuZ2V0UmVhZGVyKCk7CiAgICAgICAg
IHRoaXMud3JpdGVyID0gdGhpcy5jb250ZXh0LndyaXRhYmxlLmdldFdyaXRlcigpOwogICAgICAg
ICB0aGlzLnByb2Nlc3MoKTsKLSAgICAgICAgdGhpcy5jb250ZXh0LnBvcnQucG9zdE1lc3NhZ2Uo
InN0YXJ0ZWQgIiArIHRoaXMuY29udGV4dC5vcHRpb25zLm1lZGlhVHlwZSArICIgIiArIHRoaXMu
Y29udGV4dC5vcHRpb25zLnNpZGUpOworICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0
LnBvc3RNZXNzYWdlKCJzdGFydGVkICIgKyB0aGlzLmNvbnRleHQub3B0aW9ucy5tZWRpYVR5cGUg
KyAiICIgKyB0aGlzLmNvbnRleHQub3B0aW9ucy5zaWRlKTsKICAgICB9CiAKICAgICBwcm9jZXNz
KCkKQEAgLTI4LDcgKzI4LDcgQEAgY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIHsKIAogICAg
ICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5vcHRpb25zLm1lZGlhVHlwZSA9PT0gInZpZGVvIikg
ewogICAgICAgICAgICAgICAgIGlmIChjaHVuay52YWx1ZSBpbnN0YW5jZW9mIFJUQ0VuY29kZWRW
aWRlb0ZyYW1lKQotICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQucG9ydC5wb3N0TWVz
c2FnZSgidmlkZW8gZnJhbWUgIiArIGNodW5rLnZhbHVlLnR5cGUpOworICAgICAgICAgICAgICAg
ICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKCJ2aWRlbyBmcmFtZSAi
ICsgY2h1bmsudmFsdWUudHlwZSk7CiAKICAgICAgICAgICAgICAgICBpZiAodGhpcy5hc2tLZXlG
cmFtZSkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnJlcXVlc3RLZXlGcmFtZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5z
Zm9ybS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJh
bnNmb3JtLXdvcmtlci5qcwppbmRleCBjNGIzZDQ0YzczNWY3YjJiZWNlNWExZTU5ZDRiMzAyMjVk
NDZmYTRlLi4wM2JhMWY0ZWU2ZTA5NzZhNjhkNjA3ZGU5ODI0ZDJmZDIzZGFhY2QwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3Jt
LXdvcmtlci5qcwpAQCAtMSw2ICsxLDUgQEAKIG9ucnRjdHJhbnNmb3JtID0gKGV2ZW50KSA9PiB7
CiAgICAgY29uc3QgdHJhbnNmb3JtZXIgPSBldmVudC50cmFuc2Zvcm1lcjsKLSAgICB0cmFuc2Zv
cm1lci5wb3J0Lm9ubWVzc2FnZSA9IChldmVudCkgPT4gdHJhbnNmb3JtZXIucG9ydC5wb3N0TWVz
c2FnZShldmVudC5kYXRhKTsKIAogICAgIHRyYW5zZm9ybWVyLnJlYWRlciA9IHRyYW5zZm9ybWVy
LnJlYWRhYmxlLmdldFJlYWRlcigpOwogICAgIHRyYW5zZm9ybWVyLndyaXRlciA9IHRyYW5zZm9y
bWVyLndyaXRhYmxlLmdldFdyaXRlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2VicnRjL3NjcmlwdC10cmFuc2Zvcm0uanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJy
dGMvc2NyaXB0LXRyYW5zZm9ybS5qcwppbmRleCA5MDFlNjc2ODE4YzFhODI5MmVlMGRlN2FjZWMw
M2FkM2NkOTNkZTY5Li41ZWE5OWNkMmJmNzMyY2YwNTgyYTJhZWYxMTk5YTE0OTczODI2OWVjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2NyaXB0LXRyYW5zZm9ybS5q
cworKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2NyaXB0LXRyYW5zZm9ybS5qcwpA
QCAtMSw2ICsxLDYgQEAKIG9ucnRjdHJhbnNmb3JtID0gKGV2ZW50KSA9PiB7CiAgICAgY29uc3Qg
dHJhbnNmb3JtZXIgPSBldmVudC50cmFuc2Zvcm1lcjsKLSAgICB0cmFuc2Zvcm1lci5wb3J0Lm9u
bWVzc2FnZSA9IChldmVudCkgPT4gdHJhbnNmb3JtZXIucG9ydC5wb3N0TWVzc2FnZShldmVudC5k
YXRhKTsKKyAgICB0cmFuc2Zvcm1lci5vcHRpb25zLnBvcnQub25tZXNzYWdlID0gKGV2ZW50KSA9
PiB0cmFuc2Zvcm1lci5vcHRpb25zLnBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7CiAKICAg
ICBzZWxmLnBvc3RNZXNzYWdlKCJzdGFydGVkIik7CiAgICAgdHJhbnNmb3JtZXIucmVhZGVyID0g
dHJhbnNmb3JtZXIucmVhZGFibGUuZ2V0UmVhZGVyKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2VicnRjL3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbAppbmRleCA0ZjUy
YWFiN2I5MjAyNWVmODg2ZTNkMmNlNDdlMjFiNTExODA0OWJjLi42MWViNThhMWM4NGFlMjFjNzA2
OGQyNWU4NDkyNzQ4OGQ2NWRkOGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYnJ0Yy92aWRlby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKQEAgLTMyLDkgKzMyLDEzIEBA
IHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogCiAgICAgY29uc3QgbG9jYWxTdHJlYW0g
PSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9
KTsKIAorICAgIGNvbnN0IHNlbmRlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAg
Y29uc3QgcmVjZWl2ZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwogICAgIGxldCBzZW5k
ZXIsIHJlY2VpdmVyOwotICAgIHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFu
c2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIG1lZGlhVHlwZTondmlk
ZW8nLCBzaWRlOidzZW5kZXInfSk7Ci0gICAgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRw
U2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBtZWRp
YVR5cGU6J3ZpZGVvJywgc2lkZToncmVjZWl2ZXInfSk7CisgICAgc2VuZGVyVHJhbnNmb3JtID0g
bmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidNb2NrUlRDUnRwVHJhbnNm
b3JtJywgbWVkaWFUeXBlOid2aWRlbycsIHNpZGU6J3NlbmRlcicsIHBvcnQ6c2VuZGVyQ2hhbm5l
bC5wb3J0Mn0sIFtzZW5kZXJDaGFubmVsLnBvcnQyXSk7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0g
PSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFu
c2Zvcm0nLCBtZWRpYVR5cGU6J3ZpZGVvJywgc2lkZToncmVjZWl2ZXInLCBwb3J0OnJlY2VpdmVy
Q2hhbm5lbC5wb3J0Mn0sIFtyZWNlaXZlckNoYW5uZWwucG9ydDJdKTsKKyAgICBzZW5kZXJUcmFu
c2Zvcm0ucG9ydCA9IHNlbmRlckNoYW5uZWwucG9ydDE7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0u
cG9ydCA9IHJlY2VpdmVyQ2hhbm5lbC5wb3J0MTsKIAogICAgIHByb21pc2UxID0gd2FpdEZvck1l
c3NhZ2Uoc2VuZGVyVHJhbnNmb3JtLnBvcnQsICJzdGFydGVkIHZpZGVvIHNlbmRlciIpOwogICAg
IHByb21pc2UyID0gd2FpdEZvck1lc3NhZ2UocmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydCwgInN0YXJ0
ZWQgdmlkZW8gcmVjZWl2ZXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMv
d2VicnRjLXRyYW5zZm9ybS5odG1sCmluZGV4IDdlMzkzZDllNTRhZWQ4Mzk3MDVlYzExZWIzMzgy
Nzc4MDkwZTFmMzIuLjYxMmQyOTRjYTVmZGY1MzFmZDEyOTEyZWQ5MjhiNWFkYTMxZjJjZmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRt
bApAQCAtMjQsNyArMjQsOSBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICBj
b25zdCBkYXRhID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdl
ID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LmRhdGEpKTsKICAgICBhc3NlcnRfZXF1YWxzKGRh
dGEsICJyZWdpc3RlcmVkIik7CiAKLSAgICBjb25zdCB0cmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtKHdvcmtlciwgJ01vY2tSVENSdHBUcmFuc2Zvcm0nKTsKKyAgICBjb25zdCBj
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0IHRyYW5zZm9ybSA9IG5ldyBS
VENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScs
IHBvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hhbm5lbC5wb3J0Ml0pOworICAgIHRyYW5zZm9ybS5w
b3J0ID0gY2hhbm5lbC5wb3J0MTsKICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB0cmFuc2Zvcm0ucG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZl
bnQuZGF0YSkpOwogICAgIHRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0ZXN0Iik7CiAgICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBwcm9taXNlLCAidGVzdCIpOwpAQCAtMzYsOCArMzgsMTQgQEAg
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLCAi
cmVnaXN0ZXJlZCIpOwogCiAgICAgY29uc3QgcGMgPSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsK
LSAgICBjb25zdCBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdv
cmtlciwgJ01vY2tSVENSdHBUcmFuc2Zvcm0nKTsKLSAgICBjb25zdCByZWNlaXZlclRyYW5zZm9y
bSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCAnTW9ja1JUQ1J0cFRyYW5zZm9y
bScpOworCisgICAgY29uc3Qgc2VuZGVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAg
ICBjb25zdCByZWNlaXZlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAgY29uc3Qg
c2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1l
OidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9ydDogc2VuZGVyQ2hhbm5lbC5wb3J0Mn0sIFtzZW5k
ZXJDaGFubmVsLnBvcnQyXSk7CisgICAgY29uc3QgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRD
UnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0nLCBw
b3J0OiByZWNlaXZlckNoYW5uZWwucG9ydDJ9LCBbcmVjZWl2ZXJDaGFubmVsLnBvcnQyXSk7Cisg
ICAgc2VuZGVyVHJhbnNmb3JtLnBvcnQgPSBzZW5kZXJDaGFubmVsLnBvcnQxOworICAgIHJlY2Vp
dmVyVHJhbnNmb3JtLnBvcnQgPSByZWNlaXZlckNoYW5uZWwucG9ydDE7CisKICAgICBjb25zdCBz
ZW5kZXIxID0gcGMuYWRkVHJhbnNjZWl2ZXIoJ2F1ZGlvJykuc2VuZGVyOwogICAgIGNvbnN0IHNl
bmRlcjIgPSBwYy5hZGRUcmFuc2NlaXZlcigndmlkZW8nKS5zZW5kZXI7CiAgICAgY29uc3QgcmVj
ZWl2ZXIxID0gcGMuZ2V0UmVjZWl2ZXJzKClbMF07CkBAIC02MSw5ICs2OSwxMyBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICBhc3NlcnRfZXF1YWxzKGRhdGEsICJyZWdpc3Rl
cmVkIik7CiAgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRydWV9KTsKIAorICAgIGNvbnN0IHNlbmRlckNoYW5u
ZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7CisgICAgY29uc3QgcmVjZWl2ZXJDaGFubmVsID0gbmV3
IE1lc3NhZ2VDaGFubmVsOwogICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOwotICAgIGNvbnN0IHNl
bmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCAnTW9ja1JU
Q1J0cFRyYW5zZm9ybScpOwotICAgIGNvbnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0
cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsICdNb2NrUlRDUnRwVHJhbnNmb3JtJyk7CisgICAgY29u
c3Qgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtu
YW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9ydDogc2VuZGVyQ2hhbm5lbC5wb3J0Mn0sIFtz
ZW5kZXJDaGFubmVsLnBvcnQyXSk7CisgICAgY29uc3QgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcg
UlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge25hbWU6J01vY2tSVENSdHBUcmFuc2Zvcm0n
LCBwb3J0OiByZWNlaXZlckNoYW5uZWwucG9ydDJ9LCBbcmVjZWl2ZXJDaGFubmVsLnBvcnQyXSk7
CisgICAgc2VuZGVyVHJhbnNmb3JtLnBvcnQgPSBzZW5kZXJDaGFubmVsLnBvcnQxOworICAgIHJl
Y2VpdmVyVHJhbnNmb3JtLnBvcnQgPSByZWNlaXZlckNoYW5uZWwucG9ydDE7CiAKICAgICBjb25z
dCBzdGFydGVkUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CiAKQEAgLTk4LDkgKzExMCwxMyBA
QCBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKIAogICAgIGNvbnN0IGxvY2FsU3RyZWFt
ID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVl
fSk7CiAKKyAgICBjb25zdCBzZW5kZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAg
IGNvbnN0IHJlY2VpdmVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKICAgICBsZXQgc2Vu
ZGVyLCByZWNlaXZlcjsKLSAgICBjb25zdCBzZW5kZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtKHdvcmtlciwgJ01vY2tSVENSdHBUcmFuc2Zvcm0nKTsKLSAgICBjb25zdCBy
ZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCAnTW9j
a1JUQ1J0cFRyYW5zZm9ybScpOworICAgIGNvbnN0IHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENS
dHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonTW9ja1JUQ1J0cFRyYW5zZm9ybScsIHBv
cnQ6IHNlbmRlckNoYW5uZWwucG9ydDJ9LCBbc2VuZGVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIGNv
bnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIs
IHtuYW1lOidNb2NrUlRDUnRwVHJhbnNmb3JtJywgcG9ydDogcmVjZWl2ZXJDaGFubmVsLnBvcnQy
fSwgW3JlY2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHNlbmRlclRyYW5zZm9ybS5wb3J0ID0g
c2VuZGVyQ2hhbm5lbC5wb3J0MTsKKyAgICByZWNlaXZlclRyYW5zZm9ybS5wb3J0ID0gcmVjZWl2
ZXJDaGFubmVsLnBvcnQxOwogCiAgICAgY29uc3Qgc3RhcnRlZFByb21pc2UgPSBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHdvcmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQu
ZGF0YSkpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd3JpdGUt
dHdpY2UtdHJhbnNmb3JtLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3dyaXRlLXR3
aWNlLXRyYW5zZm9ybS5qcwppbmRleCBmY2Q3NjhkYjJiMWRkMGFlYTg1MTNmN2Y5MGI2ZWY3OWQ2
NTgwY2M2Li41ZDQyOGM4MWIzYWE1NDM0MzE5ZTEwZmJlYzZhMDA3NWE3ZDQwYjk4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvd3JpdGUtdHdpY2UtdHJhbnNmb3JtLmpz
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy93cml0ZS10d2ljZS10cmFuc2Zvcm0u
anMKQEAgLTEsNiArMSw1IEBACiBvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4gewogICAgIGNv
bnN0IHRyYW5zZm9ybWVyID0gZXZlbnQudHJhbnNmb3JtZXI7Ci0gICAgdHJhbnNmb3JtZXIucG9y
dC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRyYW5zZm9ybWVyLnBvcnQucG9zdE1lc3NhZ2UoZXZl
bnQuZGF0YSk7CiAKICAgICBzZWxmLnBvc3RNZXNzYWdlKCJzdGFydGVkIik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>