<?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>220820</bug_id>
          
          <creation_ts>2021-01-21 13:11:26 -0800</creation_ts>
          <short_desc>[JSC] JSPromise should not propagate TerminatedExecutionError</short_desc>
          <delta_ts>2021-01-22 10:59:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220868</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1721303</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-21 13:11:26 -0800</bug_when>
    <thetext>[JSC] JSPromise should not propagate TerminatedExecutionError</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721306</commentid>
    <comment_count>1</comment_count>
      <attachid>418077</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-21 13:12:42 -0800</bug_when>
    <thetext>Created attachment 418077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721307</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-21 13:12:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/72929399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721308</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-01-21 13:13:53 -0800</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721364</commentid>
    <comment_count>4</comment_count>
      <attachid>418091</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-21 15:11:20 -0800</bug_when>
    <thetext>Created attachment 418091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721370</commentid>
    <comment_count>5</comment_count>
      <attachid>418091</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-21 15:21:10 -0800</bug_when>
    <thetext>Comment on attachment 418091
Patch

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

&gt; Source/JavaScriptCore/API/JSAPIGlobalObject.mm:167
&gt; +    // FIXME: We could have error since any JS call can throw stack-overflow errors.
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=203402
&gt; +    promise-&gt;reject(globalObject, createError(globalObject, result.error()));

Shouldn&apos;t you only reject the promise if an exception actually exists?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721377</commentid>
    <comment_count>6</comment_count>
      <attachid>418091</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-21 15:33:00 -0800</bug_when>
    <thetext>Comment on attachment 418091
Patch

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

r=me

&gt;&gt; Source/JavaScriptCore/API/JSAPIGlobalObject.mm:167
&gt;&gt; +    promise-&gt;reject(globalObject, createError(globalObject, result.error()));
&gt; 
&gt; Shouldn&apos;t you only reject the promise if an exception actually exists?

Sorry, I misread this.  Ignore me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721448</commentid>
    <comment_count>7</comment_count>
      <attachid>418091</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-21 18:20:41 -0800</bug_when>
    <thetext>Comment on attachment 418091
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721455</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-21 18:51:32 -0800</bug_when>
    <thetext>Committed r271731: &lt;https://trac.webkit.org/changeset/271731&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418091.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418077</attachid>
            <date>2021-01-21 13:12:42 -0800</date>
            <delta_ts>2021-01-21 15:11:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220820-20210121131241.patch</filename>
            <type>text/plain</type>
            <size>4116</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OWZkMGQxMTIxZTAyM2I0YzRlMzk5NWJkZWM5ZDA1OWQ3ODA2ZmJjLi4zOTNiN2FjNWZjZTU4NWUy
YWY5ZjQ4NGI5Yjg5Y2FkZjhlOTE3NTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAyMS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTUHJvbWlzZSBzaG91bGQgbm90IHByb3BhZ2F0ZSBUZXJtaW5h
dGVkRXhlY3V0aW9uRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDgyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI5MjkzOTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVybWluYXRlZEV4
ZWN1dGlvbkVycm9yIGlzIHVuY2F0Y2hlYWJsZSBleGNlcHRpb24gdG8gZmluaXNoIEpTIGV4ZWN1
dGlvbiBhcyBzb29uIGFzIHBvc3NpYmxlLgorICAgICAgICBXZSBzaG91bGQgbm90IHByb3BhZ2F0
ZSBUZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3IgaW4gSlNQcm9taXNlJ3MgcmVqZWN0aW9uLCBqdXN0
IGlnbm9yZSBpdC4KKyAgICAgICAgQW5kIHRoZW4sIG1pY3JvdGFzayBhbmQgSlMgZXhlY3V0aW9u
IHdpbGwgZmluaXNoIHNvb24uCisKKyAgICAgICAgKiBydW50aW1lL0pTUHJvbWlzZS5jcHA6Cisg
ICAgICAgIChKU0M6OkpTUHJvbWlzZTo6cmVqZWN0KToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNl
OjpyZWplY3RBc0hhbmRsZWQpOgorCiAyMDIxLTAxLTE5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IEdDQyB3YXJuaW5ncwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKaW5kZXggNGYzNGI2YjQ5
Y2E4OWU2NjhjYjlhMjY3MTAzMjNjYWUxNzg2NGI0NS4uNzdmYmU4NTdmZDdiNTExNGJjMzZkNDUz
OWUwY2YxMjY2ODhiZDAzYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b21pc2UuY3BwCkBAIC0xNzcsNiArMTc3LDEwIEBAIHZvaWQgSlNQcm9taXNlOjpyZWplY3QoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIHVpbnQzMl90IGZsYWdzID0g
dGhpcy0+ZmxhZ3MoKTsKICAgICBBU1NFUlQoIXZhbHVlLmluaGVyaXRzPEV4Y2VwdGlvbj4odm0p
KTsKKyAgICAvLyBUZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3IgaXMgYW4gdW5jYXRjaGFibGUgZXhj
ZXB0aW9uIHRvIHN0b3AgSlMgZXhlY3V0aW9uIGFzIHNvb24gYXMgcG9zc2libGUuCisgICAgLy8g
VG8gc3RvcCBKUyBleGVjdXRpb24sIHdlIGRvIG5vdCBwcm9wYWdhdGUgZXJyb3JzIGlmIGFuIGVy
cm9yIGlzIFRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvci4KKyAgICBpZiAodmFsdWUuaW5oZXJpdHM8
VGVybWluYXRlZEV4ZWN1dGlvbkVycm9yPih2bSkpCisgICAgICAgIHJldHVybjsKICAgICBpZiAo
IShmbGFncyAmIGlzRmlyc3RSZXNvbHZpbmdGdW5jdGlvbkNhbGxlZEZsYWcpKSB7CiAgICAgICAg
IGludGVybmFsRmllbGQoRmllbGQ6OkZsYWdzKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdz
IHwgaXNGaXJzdFJlc29sdmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpOwogICAgICAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKQEAgLTE5MSw2
ICsxOTUsMTAgQEAgdm9pZCBKU1Byb21pc2U6OnJlamVjdEFzSGFuZGxlZChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWwKICAgICAvLyBTZXR0aW5nIGlzSGFu
ZGxlZEZsYWcgYmVmb3JlIGNhbGxpbmcgcmVqZWN0IHNpbmNlIHRoaXMgcmVtb3ZlcyByb3VuZC10
cmlwIGJldHdlZW4gSlNDIGFuZCBQcm9taXNlUmVqZWN0aW9uVHJhY2tlciwgYW5kIGl0IGRvZXMg
bm90IHNob3cgYW4gdXNlci1vYnNlcnZhYmxlIGJlaGF2aW9yLgogICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgdWludDMyX3QgZmxhZ3MgPSB0aGlzLT5mbGFncygp
OworICAgIC8vIFRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvciBpcyBhbiB1bmNhdGNoYWJsZSBleGNl
cHRpb24gdG8gc3RvcCBKUyBleGVjdXRpb24gYXMgc29vbiBhcyBwb3NzaWJsZS4KKyAgICAvLyBU
byBzdG9wIEpTIGV4ZWN1dGlvbiwgd2UgZG8gbm90IHByb3BhZ2F0ZSBlcnJvcnMgaWYgYW4gZXJy
b3IgaXMgVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yLgorICAgIGlmICh2YWx1ZS5pbmhlcml0czxU
ZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3I+KHZtKSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmICgh
KGZsYWdzICYgaXNGaXJzdFJlc29sdmluZ0Z1bmN0aW9uQ2FsbGVkRmxhZykpCiAgICAgICAgIGlu
dGVybmFsRmllbGQoRmllbGQ6OkZsYWdzKS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKGZsYWdzIHwg
aXNIYW5kbGVkRmxhZykpOwogICAgIHJlamVjdChsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1ZSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDNiMWUyNzUwOWUxNzc5MTM3ZTU2OWNjODJmYjkzMzYyZWE4NjNmNGYuLjFhM2RlODliZjY3YTk5
YjI0MDJjNDNlMzBhYzIxYjI2MTZlYWY1NTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMjEgIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU1Byb21p
c2Ugc2hvdWxkIG5vdCBwcm9wYWdhdGUgVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA4MjAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzcyOTI5Mzk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3Rlcm1pbmF0ZWQtZXhlY3V0aW9uLWVycm9yLWlu
LXByb21pc2UuanM6IEFkZGVkLgorICAgICAgICAobGV0LnguZ2V0IHRvU3RyaW5nKToKKyAgICAg
ICAgKGltcG9ydC54LnRoZW4pOgorCiAyMDIxLTAxLTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRlRMOjpwcmVwYXJlT1NSRW50cnkgY2FuIGNs
ZWFyIE9TUiBlbnRyeSBDb2RlQmxvY2sgaWYgaXQgaXMgYWxyZWFkeSBpbnZhbGlkYXRlZApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvdGVybWluYXRlZC1leGVjdXRpb24tZXJyb3ItaW4tcHJv
bWlzZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Rlcm1pbmF0ZWQtZXhlY3V0aW9uLWVycm9yLWluLXBy
b21pc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM1OTcxNGYwNzkwNWIwNTI0MzAwNzQ4M2Q5NTA5NjEzN2M4
NjUxNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Rlcm1pbmF0ZWQtZXhlY3V0
aW9uLWVycm9yLWluLXByb21pc2UuanMKQEAgLTAsMCArMSwxMCBAQAorLy9AIHJ1bkRlZmF1bHQo
Ii0td2F0Y2hkb2c9MTAwIiwgIi0td2F0Y2hkb2ctZXhjZXB0aW9uLW9rIikKK2xldCB4ID0gewor
ICBnZXQgdG9TdHJpbmcoKSB7CisgICAgd2hpbGUoMSl7fQorICB9Cit9OworCitpbXBvcnQoeCku
dGhlbigoKT0+e30sIGZ1bmN0aW9uIChlcnJvcikgeworICBlcnJvci5fX3Byb3RvX18gPSB1bmRl
ZmluZWQ7Cit9KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418091</attachid>
            <date>2021-01-21 15:11:20 -0800</date>
            <delta_ts>2021-01-21 18:51:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220820-20210121151119.patch</filename>
            <type>text/plain</type>
            <size>26547</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OWZkMGQxMTIxZTAyM2I0YzRlMzk5NWJkZWM5ZDA1OWQ3ODA2ZmJjLi5mNTZmNDFjOTM3YzUzNjdm
YmZmMzdiYWM2NDkwNDM0ZWU3YTgwMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAyMS0wMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTUHJvbWlzZSBzaG91bGQgbm90IHByb3BhZ2F0ZSBUZXJtaW5h
dGVkRXhlY3V0aW9uRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDgyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI5MjkzOTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVybWluYXRlZEV4
ZWN1dGlvbkVycm9yIGlzIHVuY2F0Y2hlYWJsZSBleGNlcHRpb24gdG8gZmluaXNoIEpTIGV4ZWN1
dGlvbiBhcyBzb29uIGFzIHBvc3NpYmxlLgorICAgICAgICBXZSBzaG91bGQgbm90IHByb3BhZ2F0
ZSBUZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3IgaW4gSlNQcm9taXNlJ3MgcmVqZWN0aW9uLgorICAg
ICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBkbyBub3QgcmVqZWN0IHByb21pc2UgaWYgZXhjZXB0aW9u
IGlzIFRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvci4KKworICAgICAgICAqIEFQSS9KU0FQSUdsb2Jh
bE9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRl
ckltcG9ydE1vZHVsZSk6CisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0Ojptb2R1bGVM
b2FkZXJGZXRjaCk6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKC1bSlND
b250ZXh0IGV2YWx1YXRlSlNTY3JpcHQ6XSk6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAg
KEdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKToKKyAgICAgICAgKEdsb2Jh
bE9iamVjdDo6bW9kdWxlTG9hZGVyRmV0Y2gpOgorICAgICAgICAocnVuV2l0aE9wdGlvbnMpOgor
ICAgICAgICAqIHJ1bnRpbWUvQ29tcGxldGlvbi5jcHA6CisgICAgICAgIChKU0M6OnJlamVjdFBy
b21pc2UpOgorICAgICAgICAoSlNDOjpsb2FkQW5kRXZhbHVhdGVNb2R1bGUpOgorICAgICAgICAo
SlNDOjpsb2FkTW9kdWxlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAg
ICAgKiBydW50aW1lL0pTTW9kdWxlTG9hZGVyLmNwcDoKKyAgICAgICAgKEpTQzo6cmVqZWN0KToK
KyAgICAgICAgKEpTQzo6SlNNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZSk6CisgICAgICAgIChK
U0M6OkpTTW9kdWxlTG9hZGVyOjpyZXNvbHZlKToKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVMb2Fk
ZXI6OmZldGNoKToKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAg
ICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHkuY3BwOgorICAgICAgICAoSlNDOjpyZWplY3Qp
OgorCiAyMDIxLTAxLTE5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgZml4IEdDQyB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5tbSBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QubW0KaW5kZXggNTQ2MTM3OWZkYmRlNGMxZTkyMzU1
YWYwMTcwMTQzMjYwMGNhZTEyMC4uN2E4YThiMzA2Mjg5YTRiNWQwY2Q5MGNhNjg0OTE0M2Q4ZmM4
MzI0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9i
amVjdC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0
Lm1tCkBAIC0xMzUsMzQgKzEzNSwzNyBAQCBKU0ludGVybmFsUHJvbWlzZSogSlNBUElHbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0dsb2JhbE9iamVjdCogZwogewogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9D
QVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0byByZWplY3QgPSBbJl0gKEpTVmFsdWUgZXJyb3IpIC0+
IEpTSW50ZXJuYWxQcm9taXNlKiB7Ci0gICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Cisg
ICAgYXV0byByZWplY3QgPSBbJl0gKEV4Y2VwdGlvbiogZXhjZXB0aW9uKSAtPiBKU0ludGVybmFs
UHJvbWlzZSogewogICAgICAgICBhdXRvKiBwcm9taXNlID0gSlNJbnRlcm5hbFByb21pc2U6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIGlmIChVTkxJS0VMWShpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0sIGV4Y2Vw
dGlvbikpKQorICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAgIEpTVmFsdWUgZXJy
b3IgPSBleGNlcHRpb24tPnZhbHVlKCk7CisgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7
CiAgICAgICAgIC8vIEZJWE1FOiBXZSBjb3VsZCBoYXZlIGVycm9yIHNpbmNlIGFueSBKUyBjYWxs
IGNhbiB0aHJvdyBzdGFjay1vdmVyZmxvdyBlcnJvcnMuCiAgICAgICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM0MDIKICAgICAgICAgcHJvbWlzZS0+cmVq
ZWN0KGdsb2JhbE9iamVjdCwgZXJyb3IpOwotICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigp
OwogICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICB9OwogCiAgICAgYXV0byBpbXBvcnQgPSBb
Jl0gKFVSTCYgdXJsKSB7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gaW1wb3J0TW9kdWxlKGdsb2Jh
bE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgdXJsLnN0cmluZygpKSwganNVbmRl
ZmluZWQoKSwganNVbmRlZmluZWQoKSk7CiAgICAgICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNl
cHRpb24oKSkpCi0gICAgICAgICAgICByZXR1cm4gcmVqZWN0KHNjb3BlLmV4Y2VwdGlvbigpLT52
YWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiByZWplY3Qoc2NvcGUuZXhjZXB0aW9uKCkpOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH07CiAKICAgICBhdXRvIHNwZWNpZmllciA9IHNw
ZWNpZmllclZhbHVlLT52YWx1ZShnbG9iYWxPYmplY3QpOwotICAgIGlmIChVTkxJS0VMWShzY29w
ZS5leGNlcHRpb24oKSkpIHsKLSAgICAgICAgRXhjZXB0aW9uKiBleGNlcHRpb24gPSBzY29wZS5l
eGNlcHRpb24oKTsKLSAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgcmV0
dXJuIHJlamVjdChleGNlcHRpb24tPnZhbHVlKCkpOwotICAgIH0KKyAgICBpZiAoVU5MSUtFTFko
c2NvcGUuZXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1cm4gcmVqZWN0KHNjb3BlLmV4Y2VwdGlv
bigpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gY29tcHV0ZVZhbGlkSW1wb3J0U3BlY2lmaWVyKHNv
dXJjZU9yaWdpbi51cmwoKSwgc3BlY2lmaWVyKTsKICAgICBpZiAocmVzdWx0KQogICAgICAgICBy
ZXR1cm4gaW1wb3J0KHJlc3VsdC52YWx1ZSgpKTsKLSAgICByZXR1cm4gcmVqZWN0KGNyZWF0ZUVy
cm9yKGdsb2JhbE9iamVjdCwgcmVzdWx0LmVycm9yKCkpKTsKKyAgICBhdXRvKiBwcm9taXNlID0g
SlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21p
c2VTdHJ1Y3R1cmUoKSk7CisgICAgLy8gRklYTUU6IFdlIGNvdWxkIGhhdmUgZXJyb3Igc2luY2Ug
YW55IEpTIGNhbGwgY2FuIHRocm93IHN0YWNrLW92ZXJmbG93IGVycm9ycy4KKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNDAyCisgICAgcHJvbWlzZS0+
cmVqZWN0KGdsb2JhbE9iamVjdCwgY3JlYXRlRXJyb3IoZ2xvYmFsT2JqZWN0LCByZXN1bHQuZXJy
b3IoKSkpOworICAgIHJldHVybiBwcm9taXNlOwogfQogCiBKU0ludGVybmFsUHJvbWlzZSogSlNB
UElHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTTW9kdWxlTG9hZGVyKiwgSlNWYWx1ZSBrZXksIEpTVmFsdWUsIEpTVmFsdWUpCkBA
IC0xNzgsOSArMTgxLDEwIEBAIEpTSW50ZXJuYWxQcm9taXNlKiBKU0FQSUdsb2JhbE9iamVjdDo6
bW9kdWxlTG9hZGVyRmV0Y2goSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iCiAgICAgSWRlbnRpZmll
ciBtb2R1bGVLZXkgPSBrZXkudG9Qcm9wZXJ0eUtleShnbG9iYWxPYmplY3QpOwogICAgIGlmIChV
TkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKICAgICAgICAgRXhjZXB0aW9uKiBleGNlcHRp
b24gPSBzY29wZS5leGNlcHRpb24oKTsKKyAgICAgICAgaWYgKFVOTElLRUxZKGlzVGVybWluYXRl
ZEV4ZWN1dGlvbkV4Y2VwdGlvbih2bSwgZXhjZXB0aW9uKSkpCisgICAgICAgICAgICByZXR1cm4g
cHJvbWlzZTsKICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKICAgICAgICAgcHJvbWlz
ZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgZXhjZXB0aW9uLT52YWx1ZSgpKTsKLSAgICAgICAgc2Nv
cGUuY2xlYXJFeGNlcHRpb24oKTsKICAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5tbSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tCmluZGV4IGU2NWJjYTczOTVjMWJlOTZk
YWViMDQzZDcyMjZjY2ZiZmM0YTNmOTcuLmZkMjVjMDhkM2NlMDVmYWExNTNlNzNmMGYwNTY4YTg5
ODRlYTQ2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0
Lm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tCkBAIC0xNDEs
NiArMTQxLDggQEAgLSAoSlNWYWx1ZSAqKWV2YWx1YXRlSlNTY3JpcHQ6KEpTU2NyaXB0ICopc2Ny
aXB0CiAgICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpKSB7CiAgICAgICAgIEpTVmFsdWVSZWYgZXhj
ZXB0aW9uVmFsdWUgPSB0b1JlZihhcGlHbG9iYWxPYmplY3QsIHNjb3BlLmV4Y2VwdGlvbigpLT52
YWx1ZSgpKTsKICAgICAgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBub3QgY2xlYXJFeGNlcHRpb24gaWYgaXQgaXMgVGVybWluYXRlZEV4ZWN1
dGlvbkVycm9yLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIwODIxCiAgICAgICAgIHJldHVybiBbSlNWYWx1ZSB2YWx1ZVdpdGhOZXdQcm9taXNl
UmVqZWN0ZWRXaXRoUmVhc29uOltKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6ZXhjZXB0aW9u
VmFsdWUgaW5Db250ZXh0OnNlbGZdIGluQ29udGV4dDpzZWxmXTsKICAgICB9CiAgICAgcmV0dXJu
IFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6dG9SZWYodm0sIHJlc3VsdCkgaW5Db250ZXh0
OnNlbGZdOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBhNzA1OWRkODE2MTM5Nzk0NzI0Yjc1NjU5
MDU1MDIxOWM3ZDJkOWQ4Li5kZmIzNTgxZDVhMGZkMDMxMjcyZmZlOGIwYzgzZTMzYjZlZGUyMGI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtODMxLDMyICs4MzEsMzkgQEAgSlNJbnRlcm5hbFBy
b21pc2UqIEdsb2JhbE9iamVjdDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWwKICAgICBhdXRvKiBwcm9taXNlID0gSlNJbnRlcm5hbFByb21pc2U6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7CiAKICAgICBh
dXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKLSAgICBhdXRvIHJlamVj
dCA9IFsmXSAoSlNWYWx1ZSByZWplY3Rpb25SZWFzb24pIHsKLSAgICAgICAgY2F0Y2hTY29wZS5j
bGVhckV4Y2VwdGlvbigpOwotICAgICAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBy
ZWplY3Rpb25SZWFzb24pOwotICAgICAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisK
KyAgICBhdXRvIHJlamVjdFdpdGhFcnJvciA9IFsmXShKU1ZhbHVlIGVycm9yKSB7CisgICAgICAg
IHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGVycm9yKTsKICAgICAgICAgcmV0dXJuIHBy
b21pc2U7CiAgICAgfTsKIAorICAgIGF1dG8gcmVqZWN0ID0gWyZdKEV4Y2VwdGlvbiogZXhjZXB0
aW9uKSB7CisgICAgICAgIGlmIChVTkxJS0VMWShpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRp
b24odm0sIGV4Y2VwdGlvbikpKQorICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAg
IEpTVmFsdWUgZXJyb3IgPSBleGNlcHRpb24tPnZhbHVlKCk7CisgICAgICAgIGNhdGNoU2NvcGUu
Y2xlYXJFeGNlcHRpb24oKTsKKyAgICAgICAgcmV0dXJuIHJlamVjdFdpdGhFcnJvcihlcnJvcik7
CisgICAgfTsKKwogICAgIGF1dG8gcmVmZXJyZXIgPSBzb3VyY2VPcmlnaW4udXJsKCk7CiAgICAg
YXV0byBzcGVjaWZpZXIgPSBtb2R1bGVOYW1lVmFsdWUtPnZhbHVlKGdsb2JhbE9iamVjdCk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBudWxscHRyKTsKICAgICBpZiAoVU5M
SUtFTFkoY2F0Y2hTY29wZS5leGNlcHRpb24oKSkpCi0gICAgICAgIHJldHVybiByZWplY3QoY2F0
Y2hTY29wZS5leGNlcHRpb24oKS0+dmFsdWUoKSk7CisgICAgICAgIHJldHVybiByZWplY3QoY2F0
Y2hTY29wZS5leGNlcHRpb24oKSk7CiAKICAgICBpZiAoIXJlZmVycmVyLmlzTG9jYWxGaWxlKCkp
Ci0gICAgICAgIHJldHVybiByZWplY3QoY3JlYXRlRXJyb3IoZ2xvYmFsT2JqZWN0LCBtYWtlU3Ry
aW5nKCJDb3VsZCBub3QgcmVzb2x2ZSB0aGUgcmVmZXJyZXIncyBwYXRoICciLCByZWZlcnJlci5z
dHJpbmcoKSwgIicsIHdoaWxlIHRyeWluZyB0byByZXNvbHZlIG1vZHVsZSAnIiwgc3BlY2lmaWVy
LCAiJy4iKSkpOworICAgICAgICByZXR1cm4gcmVqZWN0V2l0aEVycm9yKGNyZWF0ZUVycm9yKGds
b2JhbE9iamVjdCwgbWFrZVN0cmluZygiQ291bGQgbm90IHJlc29sdmUgdGhlIHJlZmVycmVyJ3Mg
cGF0aCAnIiwgcmVmZXJyZXIuc3RyaW5nKCksICInLCB3aGlsZSB0cnlpbmcgdG8gcmVzb2x2ZSBt
b2R1bGUgJyIsIHNwZWNpZmllciwgIicuIikpKTsKIAogICAgIGlmICghc3BlY2lmaWVyLnN0YXJ0
c1dpdGgoJy8nKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoIi4vIikgJiYgIXNwZWNpZmllci5z
dGFydHNXaXRoKCIuLi8iKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdChjcmVhdGVUeXBlRXJyb3Io
Z2xvYmFsT2JqZWN0LCBtYWtlU3RyaW5nKCJNb2R1bGUgc3BlY2lmaWVyLCAnIl9zLCBzcGVjaWZp
ZXIsICInIGRvZXMgbm90IHN0YXJ0IHdpdGggXCIvXCIsIFwiLi9cIiwgb3IgXCIuLi9cIi4gUmVm
ZXJlbmNlZCBmcm9tOiAiX3MsIHJlZmVycmVyLmZpbGVTeXN0ZW1QYXRoKCkpKSk7CisgICAgICAg
IHJldHVybiByZWplY3RXaXRoRXJyb3IoY3JlYXRlVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgbWFr
ZVN0cmluZygiTW9kdWxlIHNwZWNpZmllciwgJyJfcywgc3BlY2lmaWVyLCAiJyBkb2VzIG5vdCBz
dGFydCB3aXRoIFwiL1wiLCBcIi4vXCIsIG9yIFwiLi4vXCIuIFJlZmVyZW5jZWQgZnJvbTogIl9z
LCByZWZlcnJlci5maWxlU3lzdGVtUGF0aCgpKSkpOwogCiAgICAgVVJMIG1vZHVsZVVSTChyZWZl
cnJlciwgc3BlY2lmaWVyKTsKICAgICBpZiAoIW1vZHVsZVVSTC5pc0xvY2FsRmlsZSgpKQotICAg
ICAgICByZXR1cm4gcmVqZWN0KGNyZWF0ZUVycm9yKGdsb2JhbE9iamVjdCwgbWFrZVN0cmluZygi
TW9kdWxlIHVybCwgJyIsIG1vZHVsZVVSTC5zdHJpbmcoKSwgIicgZG9lcyBub3QgbWFwIHRvIGEg
bG9jYWwgZmlsZS4iKSkpOworICAgICAgICByZXR1cm4gcmVqZWN0V2l0aEVycm9yKGNyZWF0ZUVy
cm9yKGdsb2JhbE9iamVjdCwgbWFrZVN0cmluZygiTW9kdWxlIHVybCwgJyIsIG1vZHVsZVVSTC5z
dHJpbmcoKSwgIicgZG9lcyBub3QgbWFwIHRvIGEgbG9jYWwgZmlsZS4iKSkpOwogCiAgICAgYXV0
byByZXN1bHQgPSBKU0M6OmltcG9ydE1vZHVsZShnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIG1vZHVsZVVSTC5zdHJpbmcoKSksIHBhcmFtZXRlcnMsIGpzVW5kZWZpbmVk
KCkpOwogICAgIGlmIChVTkxJS0VMWShjYXRjaFNjb3BlLmV4Y2VwdGlvbigpKSkKLSAgICAgICAg
cmV0dXJuIHJlamVjdChjYXRjaFNjb3BlLmV4Y2VwdGlvbigpLT52YWx1ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHJlamVjdChjYXRjaFNjb3BlLmV4Y2VwdGlvbigpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xMTc1LDE2ICsxMTgyLDIzIEBAIEpTSW50ZXJuYWxQcm9taXNlKiBHbG9iYWxP
YmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAg
ICAgSlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UgPSBKU0ludGVybmFsUHJvbWlzZTo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVjdHVyZSgpKTsKIAogICAgIGF1
dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwotICAgIGF1dG8gcmVqZWN0
ID0gWyZdIChKU1ZhbHVlIHJlamVjdGlvblJlYXNvbikgewotICAgICAgICBjYXRjaFNjb3BlLmNs
ZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIHJl
amVjdGlvblJlYXNvbik7Ci0gICAgICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKwor
ICAgIGF1dG8gcmVqZWN0V2l0aEVycm9yID0gWyZdKEpTVmFsdWUgZXJyb3IpIHsKKyAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgZXJyb3IpOwogICAgICAgICByZXR1cm4gcHJv
bWlzZTsKICAgICB9OwogCisgICAgYXV0byByZWplY3QgPSBbJl0oRXhjZXB0aW9uKiBleGNlcHRp
b24pIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlv
bih2bSwgZXhjZXB0aW9uKSkpCisgICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICAgICAg
SlNWYWx1ZSBlcnJvciA9IGV4Y2VwdGlvbi0+dmFsdWUoKTsKKyAgICAgICAgY2F0Y2hTY29wZS5j
bGVhckV4Y2VwdGlvbigpOworICAgICAgICByZXR1cm4gcmVqZWN0V2l0aEVycm9yKGVycm9yKTsK
KyAgICB9OworCiAgICAgU3RyaW5nIG1vZHVsZUtleSA9IGtleS50b1dURlN0cmluZyhnbG9iYWxP
YmplY3QpOwogICAgIGlmIChVTkxJS0VMWShjYXRjaFNjb3BlLmV4Y2VwdGlvbigpKSkKLSAgICAg
ICAgcmV0dXJuIHJlamVjdChjYXRjaFNjb3BlLmV4Y2VwdGlvbigpLT52YWx1ZSgpKTsKKyAgICAg
ICAgcmV0dXJuIHJlamVjdChjYXRjaFNjb3BlLmV4Y2VwdGlvbigpKTsKIAogICAgIFVSTCBtb2R1
bGVVUkwoeyB9LCBtb2R1bGVLZXkpOwogICAgIEFTU0VSVChtb2R1bGVVUkwuaXNMb2NhbEZpbGUo
KSk7CkBAIC0xMTkzLDcgKzEyMDcsNyBAQCBKU0ludGVybmFsUHJvbWlzZSogR2xvYmFsT2JqZWN0
Ojptb2R1bGVMb2FkZXJGZXRjaChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LAogCiAgICAg
VmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZlcjsKICAgICBpZiAoIWZldGNoTW9kdWxlRnJvbUxvY2FsRmls
ZVN5c3RlbShtb2R1bGVVUkwsIGJ1ZmZlcikpCi0gICAgICAgIHJldHVybiByZWplY3QoY3JlYXRl
RXJyb3IoZ2xvYmFsT2JqZWN0LCBtYWtlU3RyaW5nKCJDb3VsZCBub3Qgb3BlbiBmaWxlICciLCBt
b2R1bGVLZXksICInLiIpKSk7CisgICAgICAgIHJldHVybiByZWplY3RXaXRoRXJyb3IoY3JlYXRl
RXJyb3IoZ2xvYmFsT2JqZWN0LCBtYWtlU3RyaW5nKCJDb3VsZCBub3Qgb3BlbiBmaWxlICciLCBt
b2R1bGVLZXksICInLiIpKSk7CiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAgICAgLy8gRmls
ZVN5c3RlbSBkb2VzIG5vdCBoYXZlIG1pbWUtdHlwZSBoZWFkZXIuIFRoZSBKU0Mgc2hlbGwgcmVj
b2duaXplcyBXZWJBc3NlbWJseSdzIG1hZ2ljIGhlYWRlci4KQEAgLTEyMDQsNyArMTIxOCw2IEBA
IEpTSW50ZXJuYWxQcm9taXNlKiBHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgICAgICBhdXRvIHNvdXJjZUNvZGUgPSBK
U1NvdXJjZUNvZGU6OmNyZWF0ZSh2bSwgV1RGTW92ZShzb3VyY2UpKTsKICAgICAgICAgICAgIGNh
dGNoU2NvcGUucmVsZWFzZUFzc2VydE5vRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBwcm9taXNl
LT5yZXNvbHZlKGdsb2JhbE9iamVjdCwgc291cmNlQ29kZSk7Ci0gICAgICAgICAgICBjYXRjaFNj
b3BlLmNsZWFyRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAg
ICAgfQogICAgIH0KQEAgLTEyMTMsNyArMTIyNiw2IEBAIEpTSW50ZXJuYWxQcm9taXNlKiBHbG9i
YWxPYmplY3Q6Om1vZHVsZUxvYWRlckZldGNoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
CiAgICAgYXV0byBzb3VyY2VDb2RlID0gSlNTb3VyY2VDb2RlOjpjcmVhdGUodm0sIGpzY1NvdXJj
ZShzdHJpbmdGcm9tVVRGKGJ1ZmZlciksIFNvdXJjZU9yaWdpbiB7IG1vZHVsZVVSTCB9LCBXVEZN
b3ZlKG1vZHVsZUtleSksIFRleHRQb3NpdGlvbigpLCBTb3VyY2VQcm92aWRlclNvdXJjZVR5cGU6
Ok1vZHVsZSkpOwogICAgIGNhdGNoU2NvcGUucmVsZWFzZUFzc2VydE5vRXhjZXB0aW9uKCk7CiAg
ICAgcHJvbWlzZS0+cmVzb2x2ZShnbG9iYWxPYmplY3QsIHNvdXJjZUNvZGUpOwotICAgIGNhdGNo
U2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKICAgICByZXR1cm4gcHJvbWlzZTsKIH0KIApAQCAtMjk5
OSw4ICszMDExLDggQEAgc3RhdGljIHZvaWQgcnVuV2l0aE9wdGlvbnMoR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENvbW1hbmRMaW5lJiBvcHRpb25zLCBib28KICAgICAgICAgICAgIGlmICgh
cHJvbWlzZSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYW4g
YWJzb2x1dGUgZmlsZSBVUkwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzA3NwogICAgICAgICAgICAgICAgIHByb21pc2UgPSBsb2FkQW5kRXZhbHVhdGVNb2R1bGUo
Z2xvYmFsT2JqZWN0LCBqc2NTb3VyY2Uoc3RyaW5nRnJvbVVURihzY3JpcHRCdWZmZXIpLCBzb3Vy
Y2VPcmlnaW4sIGZpbGVOYW1lLCBUZXh0UG9zaXRpb24oKSwgU291cmNlUHJvdmlkZXJTb3VyY2VU
eXBlOjpNb2R1bGUpLCBqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nv
cGUuY2xlYXJFeGNlcHRpb24oKTsKIAogICAgICAgICAgICAgSlNGdW5jdGlvbiogZnVsZmlsbEhh
bmRsZXIgPSBKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgMSwg
U3RyaW5nKCksIFsmc3VjY2VzcywgJm9wdGlvbnMsIGlzTGFzdEZpbGVdKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSB7CiAgICAgICAgICAgICAgICAg
Y2hlY2tFeGNlcHRpb24oanNDYXN0PEdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCksIGlzTGFz
dEZpbGUsIGZhbHNlLCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLCBvcHRpb25zLCBzdWNjZXNzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKaW5kZXggZTIx
OWE3OTZhNzUxMTRhMzE1YzEyMDg1YzBiYTllYTEzOWJiNzVhNC4uNGUyZDU4YzE4MzY2NjQyM2I4
MzZkZjI2MjFjMjVlNGY2ZTYyNmM1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tcGxldGlvbi5jcHAKQEAgLTE3NiwxNSArMTc2LDE1IEBAIHN0YXRpYyBTeW1ib2wqIGNy
ZWF0ZVN5bWJvbEZvckVudHJ5UG9pbnRNb2R1bGUoVk0mIHZtKQogICAgIHJldHVybiBTeW1ib2w6
OmNyZWF0ZSh2bSwgcHJpdmF0ZU5hbWUudWlkKCkpOwogfQogCi1zdGF0aWMgSlNJbnRlcm5hbFBy
b21pc2UqIHJlamVjdFByb21pc2UoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3N0YXRp
YyBKU0ludGVybmFsUHJvbWlzZSogcmVqZWN0UHJvbWlzZShDYXRjaFNjb3BlJiBzY29wZSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwotICAgIHNj
b3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7Ci0gICAgSlNWYWx1ZSBleGNlcHRpb24gPSBzY29wZS5l
eGNlcHRpb24oKS0+dmFsdWUoKTsKLSAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwogICAgIEpT
SW50ZXJuYWxQcm9taXNlKiBwcm9taXNlID0gSlNJbnRlcm5hbFByb21pc2U6OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0gICAgcHJvbWlzZS0+
cmVqZWN0KGdsb2JhbE9iamVjdCwgZXhjZXB0aW9uKTsKKyAgICBpZiAoVU5MSUtFTFkoaXNUZXJt
aW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKHZtLCBzY29wZS5leGNlcHRpb24oKSkpKQorICAgICAg
ICByZXR1cm4gcHJvbWlzZTsKKyAgICBKU1ZhbHVlIGVycm9yID0gc2NvcGUuZXhjZXB0aW9uKCkt
PnZhbHVlKCk7CisgICAgc2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICBwcm9taXNlLT5yZWpl
Y3QoZ2xvYmFsT2JqZWN0LCBlcnJvcik7CiAgICAgcmV0dXJuIHByb21pc2U7CiB9CiAKQEAgLTIx
Miw3ICsyMTIsNyBAQCBKU0ludGVybmFsUHJvbWlzZSogbG9hZEFuZEV2YWx1YXRlTW9kdWxlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFNvdQogewogICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKICAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7Ci0gICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X0NBVENIX1NDT1BFKHZtKTsKICAgICBSRUxFQVNFX0FTU0VSVCh2bS5hdG9tU3RyaW5nVGFibGUo
KSA9PSBUaHJlYWQ6OmN1cnJlbnQoKS5hdG9tU3RyaW5nVGFibGUoKSk7CiAgICAgUkVMRUFTRV9B
U1NFUlQoIXZtLmlzQ29sbGVjdG9yQnVzeU9uQ3VycmVudFRocmVhZCgpKTsKIApAQCAtMjIwLDgg
KzIyMCw3IEBAIEpTSW50ZXJuYWxQcm9taXNlKiBsb2FkQW5kRXZhbHVhdGVNb2R1bGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU291CiAKICAgICAvLyBJbnNlcnQgdGhlIGdp
dmVuIHNvdXJjZSBjb2RlIHRvIHRoZSBNb2R1bGVMb2FkZXIgcmVnaXN0cnkgYXMgdGhlIGZldGNo
ZWQgcmVnaXN0cnkgZW50cnkuCiAgICAgZ2xvYmFsT2JqZWN0LT5tb2R1bGVMb2FkZXIoKS0+cHJv
dmlkZUZldGNoKGdsb2JhbE9iamVjdCwga2V5LCBzb3VyY2UpOwotICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHJlamVjdFByb21pc2UoZ2xvYmFsT2JqZWN0KSk7Ci0KKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCByZWplY3RQcm9taXNlKHNjb3BlLCBnbG9iYWxPYmplY3QpKTsK
ICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5tb2R1bGVMb2FkZXIoKS0+bG9hZEFuZEV2YWx1YXRl
TW9kdWxlKGdsb2JhbE9iamVjdCwga2V5LCBqc1VuZGVmaW5lZCgpLCBzY3JpcHRGZXRjaGVyKTsK
IH0KIApAQCAtMjM5LDcgKzIzOCw3IEBAIEpTSW50ZXJuYWxQcm9taXNlKiBsb2FkTW9kdWxlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFNvdXJjZUNvZGUmIHNvCiB7CiAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsK
LSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogICAgIFJFTEVBU0VfQVNTRVJUKHZtLmF0b21T
dHJpbmdUYWJsZSgpID09IFRocmVhZDo6Y3VycmVudCgpLmF0b21TdHJpbmdUYWJsZSgpKTsKICAg
ICBSRUxFQVNFX0FTU0VSVCghdm0uaXNDb2xsZWN0b3JCdXN5T25DdXJyZW50VGhyZWFkKCkpOwog
CkBAIC0yNDgsOCArMjQ3LDcgQEAgSlNJbnRlcm5hbFByb21pc2UqIGxvYWRNb2R1bGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU291cmNlQ29kZSYgc28KICAgICAvLyBJbnNl
cnQgdGhlIGdpdmVuIHNvdXJjZSBjb2RlIHRvIHRoZSBNb2R1bGVMb2FkZXIgcmVnaXN0cnkgYXMg
dGhlIGZldGNoZWQgcmVnaXN0cnkgZW50cnkuCiAgICAgLy8gRklYTUU6IEludHJvZHVjZSBKU1Nv
dXJjZUNvZGUgb2JqZWN0IHRvIHdyYXAgYXJvdW5kIHRoaXMgc291cmNlLgogICAgIGdsb2JhbE9i
amVjdC0+bW9kdWxlTG9hZGVyKCktPnByb3ZpZGVGZXRjaChnbG9iYWxPYmplY3QsIGtleSwgc291
cmNlKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCByZWplY3RQcm9taXNlKGdsb2Jh
bE9iamVjdCkpOwotCisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgcmVqZWN0UHJvbWlz
ZShzY29wZSwgZ2xvYmFsT2JqZWN0KSk7CiAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+bW9kdWxl
TG9hZGVyKCktPmxvYWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBrZXksIGpzVW5kZWZpbmVkKCksIHNj
cmlwdEZldGNoZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKaW5kZXggNmZkNjExYmZmMmNjM2Y0
YmYwODg2YjA2MjM4ZjU1ZGQ2ZDFlOGYzOC4uMjkzMDNkNzVhMjc3NGI1YWQ5ZTZlNTQ5OTI4OGY5
YzBiMWM3NWIzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcApAQCAtNzk5LDI4ICs3OTksMzAgQEAgSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUsIChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LAogICAgIGF1dG8qIHByb21pc2UgPSBKU1Byb21pc2U6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LT5wcm9taXNlU3RydWN0dXJlKCkpOwogCiAgICAgYXV0byBjYXRj
aFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0byByZWplY3QgPSBbJl0g
KEpTVmFsdWUgcmVqZWN0aW9uUmVhc29uKSB7Ci0gICAgICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNl
cHRpb24oKTsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgcmVqZWN0aW9u
UmVhc29uKTsKKworICAgIGF1dG8gcmVqZWN0ID0gWyZdKEV4Y2VwdGlvbiogZXhjZXB0aW9uKSB7
CisgICAgICAgIGlmIChVTkxJS0VMWShpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24odm0s
IGV4Y2VwdGlvbikpKQorICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAgIEpTVmFs
dWUgZXJyb3IgPSBleGNlcHRpb24tPnZhbHVlKCk7CiAgICAgICAgIGNhdGNoU2NvcGUuY2xlYXJF
eGNlcHRpb24oKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShwcm9taXNlKTsKKyAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgZXJyb3IpOworICAgICAgICByZXR1
cm4gcHJvbWlzZTsKICAgICB9OwogCiAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBjYWxsRnJhbWUt
PmNhbGxlclNvdXJjZU9yaWdpbih2bSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoY2FsbEZyYW1lLT5h
cmd1bWVudENvdW50KCkgPT0gMSk7CiAgICAgYXV0byogc3BlY2lmaWVyID0gY2FsbEZyYW1lLT51
bmNoZWNrZWRBcmd1bWVudCgwKS50b1N0cmluZyhnbG9iYWxPYmplY3QpOwogICAgIGlmIChFeGNl
cHRpb24qIGV4Y2VwdGlvbiA9IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVy
biByZWplY3QoZXhjZXB0aW9uLT52YWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShyZWplY3QoZXhjZXB0aW9uKSk7CiAKICAgICAvLyBXZSBhbHdheXMgc3BlY2lmeSBwYXJh
bWV0ZXJzIGFzIHVuZGVmaW5lZC4gT25jZSBkeW5hbWljIGltcG9ydCgpIHN0YXJ0cyBhY2NlcHRp
bmcgZmV0Y2hpbmcgcGFyYW1ldGVycywKICAgICAvLyB3ZSBzaG91bGQgcmV0cmlldmUgdGhpcyBm
cm9tIHRoZSBhcmd1bWVudHMuCiAgICAgSlNWYWx1ZSBwYXJhbWV0ZXJzID0ganNVbmRlZmluZWQo
KTsKICAgICBhdXRvKiBpbnRlcm5hbFByb21pc2UgPSBnbG9iYWxPYmplY3QtPm1vZHVsZUxvYWRl
cigpLT5pbXBvcnRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBzcGVjaWZpZXIsIHBhcmFtZXRlcnMsIHNv
dXJjZU9yaWdpbik7CiAgICAgaWYgKEV4Y2VwdGlvbiogZXhjZXB0aW9uID0gY2F0Y2hTY29wZS5l
eGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdChleGNlcHRpb24tPnZhbHVlKCkpOwot
ICAgIHByb21pc2UtPnJlc29sdmUoZ2xvYmFsT2JqZWN0LCBpbnRlcm5hbFByb21pc2UpOworICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlamVjdChleGNlcHRpb24pKTsKIAotICAgIGNh
dGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKKyAgICBwcm9taXNlLT5yZXNvbHZlKGdsb2JhbE9i
amVjdCwgaW50ZXJuYWxQcm9taXNlKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHByb21p
c2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01v
ZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZUxv
YWRlci5jcHAKaW5kZXggYjA5ZmQ0NGU2YWY3MjMxYzY3ZWZhZTFjOTFhMTZkNzE1MzgwMzExOS4u
MTRhZDRiNWFkNTQzZmRlNmFhOGRlZjBiYjg1ODZjNjkyNGIyMmQ4YyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmNwcApAQCAtMTIwLDYgKzEy
MCwxOCBAQCBzdGF0aWMgU3RyaW5nIHByaW50YWJsZU1vZHVsZUtleShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGtleSkKICAgICByZXR1cm4gdm0ucHJvcGVydHlOYW1lcy0+
ZW1wdHlJZGVudGlmaWVyLmltcGwoKTsKIH0KIAorc3RhdGljIEpTSW50ZXJuYWxQcm9taXNlKiBy
ZWplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2F0Y2hTY29wZSYgY2F0Y2hTY29w
ZSwgSlNJbnRlcm5hbFByb21pc2UqIHByb21pc2UpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LT52bSgpOworICAgIEV4Y2VwdGlvbiogZXhjZXB0aW9uID0gY2F0Y2hTY29wZS5leGNlcHRp
b24oKTsKKyAgICBBU1NFUlQoZXhjZXB0aW9uKTsKKyAgICBpZiAoVU5MSUtFTFkoaXNUZXJtaW5h
dGVkRXhlY3V0aW9uRXhjZXB0aW9uKHZtLCBleGNlcHRpb24pKSkKKyAgICAgICAgcmV0dXJuIHBy
b21pc2U7CisgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgIHByb21pc2UtPnJl
amVjdChnbG9iYWxPYmplY3QsIGV4Y2VwdGlvbi0+dmFsdWUoKSk7CisgICAgcmV0dXJuIHByb21p
c2U7Cit9CisKIEpTQXJyYXkqIEpTTW9kdWxlTG9hZGVyOjpkZXBlbmRlbmN5S2V5c0lmRXZhbHVh
dGVkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUga2V5KQogewogICAgIFZN
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTI0NCwyNCArMjU2LDE2IEBAIEpTSW50ZXJu
YWxQcm9taXNlKiBKU01vZHVsZUxvYWRlcjo6aW1wb3J0TW9kdWxlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTCiAgICAgZGF0YUxvZ0xuSWYoT3B0aW9uczo6ZHVtcE1vZHVsZUxvYWRp
bmdTdGF0ZSgpLCAiTG9hZGVyIFtpbXBvcnRdICIsIHByaW50YWJsZU1vZHVsZUtleShnbG9iYWxP
YmplY3QsIG1vZHVsZU5hbWUpKTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
LSAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRv
IGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKIAogICAgIGlmIChnbG9iYWxP
YmplY3QtPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPm1vZHVsZUxvYWRlckltcG9ydE1vZHVs
ZSkKLSAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsIGdsb2JhbE9iamVjdC0+
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKGdsb2Jh
bE9iamVjdCwgdGhpcywgbW9kdWxlTmFtZSwgcGFyYW1ldGVycywgcmVmZXJyZXIpKTsKKyAgICAg
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+bW9kdWxl
TG9hZGVySW1wb3J0TW9kdWxlKGdsb2JhbE9iamVjdCwgdGhpcywgbW9kdWxlTmFtZSwgcGFyYW1l
dGVycywgcmVmZXJyZXIpOwogCiAgICAgYXV0byogcHJvbWlzZSA9IEpTSW50ZXJuYWxQcm9taXNl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwot
Ci0gICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0
byBtb2R1bGVOYW1lU3RyaW5nID0gbW9kdWxlTmFtZS0+dmFsdWUoZ2xvYmFsT2JqZWN0KTsKLSAg
ICBpZiAoVU5MSUtFTFkoY2F0Y2hTY29wZS5leGNlcHRpb24oKSkpIHsKLSAgICAgICAgSlNWYWx1
ZSBlcnJvciA9IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCktPnZhbHVlKCk7Ci0gICAgICAgIGNhdGNo
U2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9i
amVjdCwgZXJyb3IpOwotICAgICAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAg
ICAgIHJldHVybiBwcm9taXNlOwotICAgIH0KKyAgICBTdHJpbmcgbW9kdWxlTmFtZVN0cmluZyA9
IG1vZHVsZU5hbWUtPnZhbHVlKGdsb2JhbE9iamVjdCk7CisgICAgaWYgKFVOTElLRUxZKGNhdGNo
U2NvcGUuZXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1cm4gcmVqZWN0KGdsb2JhbE9iamVjdCwg
Y2F0Y2hTY29wZSwgcHJvbWlzZSk7CiAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwg
Y3JlYXRlRXJyb3IoZ2xvYmFsT2JqZWN0LCBtYWtlU3RyaW5nKCJDb3VsZCBub3QgaW1wb3J0IHRo
ZSBtb2R1bGUgJyIsIG1vZHVsZU5hbWVTdHJpbmcsICInLiIpKSk7Ci0gICAgY2F0Y2hTY29wZS5j
bGVhckV4Y2VwdGlvbigpOwogICAgIHJldHVybiBwcm9taXNlOwogfQogCkBAIC0yNzcsMjEgKzI4
MSwxMyBAQCBJZGVudGlmaWVyIEpTTW9kdWxlTG9hZGVyOjpyZXNvbHZlU3luYyhKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG5hbQogSlNJbnRlcm5hbFByb21pc2UqIEpTTW9k
dWxlTG9hZGVyOjpyZXNvbHZlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUg
bmFtZSwgSlNWYWx1ZSByZWZlcnJlciwgSlNWYWx1ZSBzY3JpcHRGZXRjaGVyKQogewogICAgIFZN
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLQotICAgIGF1dG8qIHByb21pc2UgPSBKU0ludGVy
bmFsUHJvbWlzZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZVN0cnVj
dHVyZSgpKTsKLQogICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0p
OwogCisgICAgYXV0byogcHJvbWlzZSA9IEpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwogICAgIGNvbnN0IElkZW50
aWZpZXIgbW9kdWxlS2V5ID0gcmVzb2x2ZVN5bmMoZ2xvYmFsT2JqZWN0LCBuYW1lLCByZWZlcnJl
ciwgc2NyaXB0RmV0Y2hlcik7Ci0gICAgaWYgKFVOTElLRUxZKGNhdGNoU2NvcGUuZXhjZXB0aW9u
KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgZXJyb3IgPSBjYXRjaFNjb3BlLmV4Y2VwdGlvbigpLT52
YWx1ZSgpOwotICAgICAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgIHBy
b21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGVycm9yKTsKLSAgICAgICAgY2F0Y2hTY29wZS5j
bGVhckV4Y2VwdGlvbigpOwotICAgICAgICByZXR1cm4gcHJvbWlzZTsKLSAgICB9CisgICAgaWYg
KFVOTElLRUxZKGNhdGNoU2NvcGUuZXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1cm4gcmVqZWN0
KGdsb2JhbE9iamVjdCwgY2F0Y2hTY29wZSwgcHJvbWlzZSk7CiAgICAgcHJvbWlzZS0+cmVzb2x2
ZShnbG9iYWxPYmplY3QsIGlkZW50aWZpZXJUb0pTVmFsdWUodm0sIG1vZHVsZUtleSkpOwotICAg
IGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKICAgICByZXR1cm4gcHJvbWlzZTsKIH0KIApA
QCAtMzAwLDI1ICsyOTYsMTYgQEAgSlNJbnRlcm5hbFByb21pc2UqIEpTTW9kdWxlTG9hZGVyOjpm
ZXRjaChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGsKICAgICBkYXRhTG9n
TG5JZihPcHRpb25zOjpkdW1wTW9kdWxlTG9hZGluZ1N0YXRlKCksICJMb2FkZXIgW2ZldGNoXSAi
LCBwcmludGFibGVNb2R1bGVLZXkoZ2xvYmFsT2JqZWN0LCBrZXkpKTsKIAogICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKKyAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZt
KTsKIAogICAgIGlmIChnbG9iYWxPYmplY3QtPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPm1v
ZHVsZUxvYWRlckZldGNoKQotICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwg
Z2xvYmFsT2JqZWN0LT5nbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpLT5tb2R1bGVMb2FkZXJGZXRj
aChnbG9iYWxPYmplY3QsIHRoaXMsIGtleSwgcGFyYW1ldGVycywgc2NyaXB0RmV0Y2hlcikpOwor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5nbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpLT5t
b2R1bGVMb2FkZXJGZXRjaChnbG9iYWxPYmplY3QsIHRoaXMsIGtleSwgcGFyYW1ldGVycywgc2Ny
aXB0RmV0Y2hlcik7CiAKICAgICBhdXRvKiBwcm9taXNlID0gSlNJbnRlcm5hbFByb21pc2U6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5pbnRlcm5hbFByb21pc2VTdHJ1Y3R1cmUoKSk7Ci0KLSAg
ICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKLQogICAgIFN0cmlu
ZyBtb2R1bGVLZXkgPSBrZXkudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICBpZiAoVU5M
SUtFTFkoY2F0Y2hTY29wZS5leGNlcHRpb24oKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBlcnJvciA9
IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCktPnZhbHVlKCk7Ci0gICAgICAgIGNhdGNoU2NvcGUuY2xl
YXJFeGNlcHRpb24oKTsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgZXJy
b3IpOwotICAgICAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJldHVy
biBwcm9taXNlOwotICAgIH0KKyAgICBpZiAoVU5MSUtFTFkoY2F0Y2hTY29wZS5leGNlcHRpb24o
KSkpCisgICAgICAgIHJldHVybiByZWplY3QoZ2xvYmFsT2JqZWN0LCBjYXRjaFNjb3BlLCBwcm9t
aXNlKTsKICAgICBwcm9taXNlLT5yZWplY3QoZ2xvYmFsT2JqZWN0LCBjcmVhdGVFcnJvcihnbG9i
YWxPYmplY3QsIG1ha2VTdHJpbmcoIkNvdWxkIG5vdCBvcGVuIHRoZSBtb2R1bGUgJyIsIG1vZHVs
ZUtleSwgIicuIikpKTsKLSAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CiAgICAgcmV0
dXJuIHByb21pc2U7CiB9CiAKQEAgLTM2OSwxNiArMzU2LDE1IEBAIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihtb2R1bGVMb2FkZXJQYXJzZU1vZHVsZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsCiAgICAgYXV0byogcHJvbWlzZSA9IEpTSW50ZXJuYWxQcm9taXNlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdC0+aW50ZXJuYWxQcm9taXNlU3RydWN0dXJlKCkpOwogCiAgICAgYXV0byBj
YXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0byByZWplY3QgPSBb
Jl0gKEpTVmFsdWUgcmVqZWN0aW9uUmVhc29uKSB7Ci0gICAgICAgIGNhdGNoU2NvcGUuY2xlYXJF
eGNlcHRpb24oKTsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KGdsb2JhbE9iamVjdCwgcmVqZWN0
aW9uUmVhc29uKTsKLSAgICAgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOwotICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHByb21pc2UpOworCisgICAgYXV0byByZWplY3RXaXRo
RXJyb3IgPSBbJl0oSlNWYWx1ZSBlcnJvcikgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoZ2xv
YmFsT2JqZWN0LCBlcnJvcik7CisgICAgICAgIHJldHVybiBwcm9taXNlOwogICAgIH07CiAKICAg
ICBjb25zdCBJZGVudGlmaWVyIG1vZHVsZUtleSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCkudG9Q
cm9wZXJ0eUtleShnbG9iYWxPYmplY3QpOwogICAgIGlmIChVTkxJS0VMWShjYXRjaFNjb3BlLmV4
Y2VwdGlvbigpKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdChjYXRjaFNjb3BlLmV4Y2VwdGlvbigp
LT52YWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZWplY3QoZ2xvYmFs
T2JqZWN0LCBjYXRjaFNjb3BlLCBwcm9taXNlKSk7CiAKICAgICBKU1ZhbHVlIHNvdXJjZSA9IGNh
bGxGcmFtZS0+YXJndW1lbnQoMSk7CiAgICAgYXV0byoganNTb3VyY2VDb2RlID0ganNDYXN0PEpT
U291cmNlQ29kZSo+KHNvdXJjZSk7CkBAIC0zOTQsMTIgKzM4MCwxMiBAQCBKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT04obW9kdWxlTG9hZGVyUGFyc2VNb2R1bGUsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LAogICAgICAgICB2bSwgc291cmNlQ29kZSwgSWRlbnRpZmllcigpLCBKU1BhcnNl
ckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAogICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6OlN0
cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CiAgICAgaWYgKGVy
cm9yLmlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvci50b0Vycm9yT2JqZWN0
KGdsb2JhbE9iamVjdCwgc291cmNlQ29kZSkpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlamVjdFdpdGhFcnJvcihlcnJvci50b0Vycm9yT2JqZWN0KGdsb2JhbE9iamVjdCwgc291
cmNlQ29kZSkpKTsKICAgICBBU1NFUlQobW9kdWxlUHJvZ3JhbU5vZGUpOwogCiAgICAgTW9kdWxl
QW5hbHl6ZXIgbW9kdWxlQW5hbHl6ZXIoZ2xvYmFsT2JqZWN0LCBtb2R1bGVLZXksIHNvdXJjZUNv
ZGUsIG1vZHVsZVByb2dyYW1Ob2RlLT52YXJEZWNsYXJhdGlvbnMoKSwgbW9kdWxlUHJvZ3JhbU5v
ZGUtPmxleGljYWxWYXJpYWJsZXMoKSk7CiAgICAgaWYgKFVOTElLRUxZKGNhdGNoU2NvcGUuZXhj
ZXB0aW9uKCkpKQotICAgICAgICByZXR1cm4gcmVqZWN0KGNhdGNoU2NvcGUuZXhjZXB0aW9uKCkt
PnZhbHVlKCkpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlamVjdChnbG9iYWxP
YmplY3QsIGNhdGNoU2NvcGUsIHByb21pc2UpKTsKIAogICAgIHByb21pc2UtPnJlc29sdmUoZ2xv
YmFsT2JqZWN0LCBtb2R1bGVBbmFseXplci5hbmFseXplKCptb2R1bGVQcm9ncmFtTm9kZSkpOwog
ICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5jcHAKaW5kZXggMjU4OWY1YTNjOTU3N2FmOGQ3YjRj
MGRjZGIzNThhZWNiYzAxNWM3OS4uZGQwNGVmNGM3Y2FmODBiNTcwMDgyMGFkYTMzOTUyODY1MjJh
MjVkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eS5jcHAKQEAgLTEyMSwxMSArMTIxLDEzIEBAIEpTV2ViQXNzZW1ibHk6OkpTV2ViQXNzZW1ibHko
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogc3RhdGljIHZvaWQgcmVqZWN0KEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhdGNoU2NvcGUmIGNhdGNoU2NvcGUsIEpTUHJvbWlz
ZSogcHJvbWlzZSkKIHsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgRXhj
ZXB0aW9uKiBleGNlcHRpb24gPSBjYXRjaFNjb3BlLmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChl
eGNlcHRpb24pOworICAgIGlmIChVTkxJS0VMWShpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRp
b24odm0sIGV4Y2VwdGlvbikpKQorICAgICAgICByZXR1cm47CiAgICAgY2F0Y2hTY29wZS5jbGVh
ckV4Y2VwdGlvbigpOwogICAgIHByb21pc2UtPnJlamVjdChnbG9iYWxPYmplY3QsIGV4Y2VwdGlv
bi0+dmFsdWUoKSk7Ci0gICAgQ0xFQVJfQU5EX1JFVFVSTl9JRl9FWENFUFRJT04oY2F0Y2hTY29w
ZSwgdm9pZCgpKTsKIH0KIAogc3RhdGljIHZvaWQgd2ViQXNzZW1ibHlNb2R1bGVWYWxpZGF0ZUFz
eW5jSW50ZXJuYWwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9taXNlKiBwcm9t
aXNlLCBWZWN0b3I8dWludDhfdD4mJiBzb3VyY2UpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNiMWUyNzUwOWUxNzc5MTM3ZTU2OWNjODJm
YjkzMzYyZWE4NjNmNGYuLjFhM2RlODliZjY3YTk5YjI0MDJjNDNlMzBhYzIxYjI2MTZlYWY1NTEg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBKU1Byb21pc2Ugc2hvdWxkIG5vdCBwcm9wYWdhdGUgVGVy
bWluYXRlZEV4ZWN1dGlvbkVycm9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyOTI5Mzk5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNz
L3Rlcm1pbmF0ZWQtZXhlY3V0aW9uLWVycm9yLWluLXByb21pc2UuanM6IEFkZGVkLgorICAgICAg
ICAobGV0LnguZ2V0IHRvU3RyaW5nKToKKyAgICAgICAgKGltcG9ydC54LnRoZW4pOgorCiAyMDIx
LTAxLTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pT
Q10gRlRMOjpwcmVwYXJlT1NSRW50cnkgY2FuIGNsZWFyIE9TUiBlbnRyeSBDb2RlQmxvY2sgaWYg
aXQgaXMgYWxyZWFkeSBpbnZhbGlkYXRlZApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvdGVy
bWluYXRlZC1leGVjdXRpb24tZXJyb3ItaW4tcHJvbWlzZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Rl
cm1pbmF0ZWQtZXhlY3V0aW9uLWVycm9yLWluLXByb21pc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM1OTcx
NGYwNzkwNWIwNTI0MzAwNzQ4M2Q5NTA5NjEzN2M4NjUxNQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvc3RyZXNzL3Rlcm1pbmF0ZWQtZXhlY3V0aW9uLWVycm9yLWluLXByb21pc2UuanMKQEAg
LTAsMCArMSwxMCBAQAorLy9AIHJ1bkRlZmF1bHQoIi0td2F0Y2hkb2c9MTAwIiwgIi0td2F0Y2hk
b2ctZXhjZXB0aW9uLW9rIikKK2xldCB4ID0geworICBnZXQgdG9TdHJpbmcoKSB7CisgICAgd2hp
bGUoMSl7fQorICB9Cit9OworCitpbXBvcnQoeCkudGhlbigoKT0+e30sIGZ1bmN0aW9uIChlcnJv
cikgeworICBlcnJvci5fX3Byb3RvX18gPSB1bmRlZmluZWQ7Cit9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>