<?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>166393</bug_id>
          
          <creation_ts>2016-12-21 14:38:36 -0800</creation_ts>
          <short_desc>WebAssembly: Allow br, br_if, and br_table to act as a return</short_desc>
          <delta_ts>2016-12-21 21:01:20 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1262163</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-21 14:38:36 -0800</bug_when>
    <thetext>WebAssembly: Allow br, br_if, and br_table to act as a return</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262172</commentid>
    <comment_count>1</comment_count>
      <attachid>297624</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-21 14:53:52 -0800</bug_when>
    <thetext>Created attachment 297624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262174</commentid>
    <comment_count>2</comment_count>
      <attachid>297624</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-12-21 14:58:41 -0800</bug_when>
    <thetext>Comment on attachment 297624
Patch

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

lgtm

&gt; JSTests/wasm/function-tests/br-as-return.js:14
&gt; +                  return b.I32Const(0)

42?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262197</commentid>
    <comment_count>3</comment_count>
      <attachid>297624</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-21 16:41:55 -0800</bug_when>
    <thetext>Comment on attachment 297624
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262205</commentid>
    <comment_count>4</comment_count>
      <attachid>297624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-21 17:07:03 -0800</bug_when>
    <thetext>Comment on attachment 297624
Patch

Clearing flags on attachment: 297624

Committed r210090: &lt;http://trac.webkit.org/changeset/210090&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262206</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-21 17:07:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262256</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-12-21 21:01:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/29782821&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297624</attachid>
            <date>2016-12-21 14:53:52 -0800</date>
            <delta_ts>2016-12-21 17:07:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166393-20161221145249.patch</filename>
            <type>text/plain</type>
            <size>26780</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZDQ2MmI1ZmNiMjhjMzc3MGQwN2ZkNWVkNmI4NzA2MjI1YTkwNjg2Li4wNzVmZTA5YjYwYjQ1YTYx
OGE3Yjc1OWY5OTY5NGQzZTNhOGU1OTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxNi0xMi0yMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJBc3NlbWJseTogQWxsb3cgYnIsIGJyX2lmLCBhbmQgYnJfdGFi
bGUgdG8gYWN0IGFzIGEgcmV0dXJuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjYzOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGFsbG93cyBiciwgYnJfaWYsIGFuZCBicl90YWJsZSB0
byB0cmVhdCBicmFuY2hpbmcgdG8KKyAgICAgICAgdGhlIHNpemUgb2YgdGhlIGNvbnRyb2wgc3Rh
Y2sgdG8gYWN0IGFzIGEgcmV0dXJuLiBUaGlzIGNoYW5nZSB3YXMKKyAgICAgICAgbWFkZSBieSBh
ZGRpbmcgYSBuZXcgYmxvY2sgdHlwZSB0byB0aGUgd2FzbSBmdW5jdGlvbiBwYXJzZXIsCisgICAg
ICAgIFRvcExldmVsLiBBZGRpbmcgdGhpcyBuZXcgYmxvY2sgZWxpbWluYXRlcyBhIGxvdCBvZiB0
aGUgc3BlY2lhbAorICAgICAgICBjYXNlIGNvZGUgd2UgaGFkIGluIHRoZSBwYXJzZXIgcHJldmlv
dXNseS4gVGhlIG9ubHkgc3BlY2lhbCBjYXNlCisgICAgICAgIHdlIG5lZWQgaXMgd2hlbiB0aGUg
ZW5kIG9wY29kZSBpcyBwYXJzZWQgZnJvbSB0aGUgdG9wIGxldmVsLiAgVGhlCisgICAgICAgIEIz
IElSIGdlbmVyYXRvciBuZWVkcyB0byBhdXRvbWF0aWNhbGx5IGVtaXQgYSByZXR1cm4gYXQgdGhh
dAorICAgICAgICBwb2ludC4KKworICAgICAgICBBbHNvLCB0aGlzIHBhdGNoIGFkZHMgdGhlIGZ1
bmN0aW9uIG51bWJlciB0byB2YWxpZGF0aW9uIGVycm9ycworICAgICAgICBpbiB0aGUgZnVuY3Rp
b24gcGFyc2VyLiBUaGUgY3VycmVudCBlcnJvciBtZXNzYWdlIGlzIG5vdCBoZWxwZnVsCisgICAg
ICAgIG90aGVyd2lzZS4KKworICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjpDb250cm9sRGF0YTo6ZHVtcCk6Cisg
ICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0b3I6OmFkZFRvcExldmVsKToKKyAgICAgICAg
KiB3YXNtL1dhc21GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAqIHdhc20vV2FzbVBsYW4uY3Bw
OgorICAgICAgICAoSlNDOjpXYXNtOjpQbGFuOjpwYXJzZUFuZFZhbGlkYXRlTW9kdWxlKToKKyAg
ICAgICAgKEpTQzo6V2FzbTo6UGxhbjo6cnVuKToKKyAgICAgICAgKiB3YXNtL1dhc21WYWxpZGF0
ZS5jcHA6CisgICAgICAgIChKU0M6Oldhc206OlZhbGlkYXRlOjpDb250cm9sRGF0YTo6ZHVtcCk6
CisgICAgICAgIChKU0M6Oldhc206OlZhbGlkYXRlOjpWYWxpZGF0ZSk6CisgICAgICAgIChKU0M6
Oldhc206OlZhbGlkYXRlOjphZGRUb3BMZXZlbCk6CisgICAgICAgIChKU0M6Oldhc206OnZhbGlk
YXRlRnVuY3Rpb24pOgorCiAyMDE2LTEyLTIxICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgogCiAgICAgICAgIFtFUzZdIEZpeCBtb2R1bGVzIGRvY3VtZW50IGluIGZlYXR1
cmVzLmpzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lS
R2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJh
dG9yLmNwcAppbmRleCBiYTc4Mjk5NzYwMTNkY2U2ZWFiZjFiOTdlZjc3Y2FlOGYyZWIzMGVhLi43
M2NhMDI0MjNjZGE5NTFjMjZmMjg5Y2EzNjJkNzdjMzFmYTU5ODY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCkBAIC04NywxMyArODcs
MTYgQEAgcHVibGljOgogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUoKSkgewog
ICAgICAgICAgICAgY2FzZSBCbG9ja1R5cGU6OklmOgotICAgICAgICAgICAgICAgIG91dC5wcmlu
dCgiSWY6ICAgICIpOworICAgICAgICAgICAgICAgIG91dC5wcmludCgiSWY6ICAgICAgICIpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBCbG9ja1R5cGU6OkJsb2Nr
OgotICAgICAgICAgICAgICAgIG91dC5wcmludCgiQmxvY2s6ICIpOworICAgICAgICAgICAgICAg
IG91dC5wcmludCgiQmxvY2s6ICAgICIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgY2FzZSBCbG9ja1R5cGU6Okxvb3A6Ci0gICAgICAgICAgICAgICAgb3V0LnByaW50KCJM
b29wOiAgIik7CisgICAgICAgICAgICAgICAgb3V0LnByaW50KCJMb29wOiAgICAgIik7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEJsb2NrVHlwZTo6VG9wTGV2ZWw6
CisgICAgICAgICAgICAgICAgb3V0LnByaW50KCJUb3BMZXZlbDogIik7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBvdXQucHJpbnQoIkNvbnRpbnVh
dGlvbjogIiwgKmNvbnRpbnVhdGlvbiwgIiwgU3BlY2lhbDogIik7CkBAIC0xNzgsMTMgKzE4MSwx
NCBAQCBwdWJsaWM6CiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkU2Vs
ZWN0KEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgRXhwcmVzc2lvblR5cGUgbm9uWmVybywgRXhw
cmVzc2lvblR5cGUgemVybywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7CiAKICAgICAvLyBDb250
cm9sIGZsb3cKKyAgICBDb250cm9sRGF0YSBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkVG9wTGV2ZWwo
VHlwZSBzaWduYXR1cmUpOwogICAgIENvbnRyb2xEYXRhIFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRC
bG9jayhUeXBlIHNpZ25hdHVyZSk7CiAgICAgQ29udHJvbERhdGEgV0FSTl9VTlVTRURfUkVUVVJO
IGFkZExvb3AoVHlwZSBzaWduYXR1cmUpOwogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURf
UkVUVVJOIGFkZElmKEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgVHlwZSBzaWduYXR1cmUsIENv
bnRyb2xEYXRhJiByZXN1bHQpOwogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJO
IGFkZEVsc2UoQ29udHJvbERhdGEmLCBjb25zdCBFeHByZXNzaW9uTGlzdCYpOwogICAgIFBhcnRp
YWxSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJOIGFkZEVsc2VUb1VucmVhY2hhYmxlKENvbnRyb2xE
YXRhJik7CiAKLSAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRSZXR1cm4o
Y29uc3QgRXhwcmVzc2lvbkxpc3QmIHJldHVyblZhbHVlcyk7CisgICAgUGFydGlhbFJlc3VsdCBX
QVJOX1VOVVNFRF9SRVRVUk4gYWRkUmV0dXJuKGNvbnN0IENvbnRyb2xEYXRhJiwgY29uc3QgRXhw
cmVzc2lvbkxpc3QmIHJldHVyblZhbHVlcyk7CiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNF
RF9SRVRVUk4gYWRkQnJhbmNoKENvbnRyb2xEYXRhJiwgRXhwcmVzc2lvblR5cGUgY29uZGl0aW9u
LCBjb25zdCBFeHByZXNzaW9uTGlzdCYgcmV0dXJuVmFsdWVzKTsKICAgICBQYXJ0aWFsUmVzdWx0
IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRTd2l0Y2goRXhwcmVzc2lvblR5cGUgY29uZGl0aW9uLCBj
b25zdCBWZWN0b3I8Q29udHJvbERhdGEqPiYgdGFyZ2V0cywgQ29udHJvbERhdGEmIGRlZmF1bHRU
YXJnZXRzLCBjb25zdCBFeHByZXNzaW9uTGlzdCYgZXhwcmVzc2lvblN0YWNrKTsKICAgICBQYXJ0
aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBlbmRCbG9jayhDb250cm9sRW50cnkmLCBFeHBy
ZXNzaW9uTGlzdCYgZXhwcmVzc2lvblN0YWNrKTsKQEAgLTU1Myw2ICs1NTcsMTEgQEAgQjNJUkdl
bmVyYXRvcjo6RXhwcmVzc2lvblR5cGUgQjNJUkdlbmVyYXRvcjo6YWRkQ29uc3RhbnQoVHlwZSB0
eXBlLCB1aW50NjRfdCB2YWwKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorQjNJUkdlbmVyYXRv
cjo6Q29udHJvbERhdGEgQjNJUkdlbmVyYXRvcjo6YWRkVG9wTGV2ZWwoVHlwZSBzaWduYXR1cmUp
Cit7CisgICAgcmV0dXJuIENvbnRyb2xEYXRhKG1fcHJvYywgc2lnbmF0dXJlLCBCbG9ja1R5cGU6
OlRvcExldmVsLCBtX3Byb2MuYWRkQmxvY2soKSk7Cit9CisKIEIzSVJHZW5lcmF0b3I6OkNvbnRy
b2xEYXRhIEIzSVJHZW5lcmF0b3I6OmFkZEJsb2NrKFR5cGUgc2lnbmF0dXJlKQogewogICAgIHJl
dHVybiBDb250cm9sRGF0YShtX3Byb2MsIHNpZ25hdHVyZSwgQmxvY2tUeXBlOjpCbG9jaywgbV9w
cm9jLmFkZEJsb2NrKCkpOwpAQCAtNjAxLDcgKzYxMCw3IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6
YWRkRWxzZVRvVW5yZWFjaGFibGUoQ29udHJvbERhdGEmIGRhdGEpIC0+IFBhcnRpYWxSZXN1bHQK
ICAgICByZXR1cm4geyB9OwogfQogCi1hdXRvIEIzSVJHZW5lcmF0b3I6OmFkZFJldHVybihjb25z
dCBFeHByZXNzaW9uTGlzdCYgcmV0dXJuVmFsdWVzKSAtPiBQYXJ0aWFsUmVzdWx0CithdXRvIEIz
SVJHZW5lcmF0b3I6OmFkZFJldHVybihjb25zdCBDb250cm9sRGF0YSYsIGNvbnN0IEV4cHJlc3Np
b25MaXN0JiByZXR1cm5WYWx1ZXMpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBBU1NFUlQocmV0
dXJuVmFsdWVzLnNpemUoKSA8PSAxKTsKICAgICBpZiAocmV0dXJuVmFsdWVzLnNpemUoKSkKQEAg
LTY3MSw2ICs2ODAsMTAgQEAgYXV0byBCM0lSR2VuZXJhdG9yOjphZGRFbmRUb1VucmVhY2hhYmxl
KENvbnRyb2xFbnRyeSYgZW50cnkpIC0+IFBhcnRpYWxSZXN1bHQKICAgICBmb3IgKFZhcmlhYmxl
KiByZXN1bHQgOiBkYXRhLnJlc3VsdCkKICAgICAgICAgZW50cnkuZW5jbG9zZWRFeHByZXNzaW9u
U3RhY2suYXBwZW5kKG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8VmFyaWFibGVWYWx1ZT4obV9w
cm9jLCBCMzo6R2V0LCBPcmlnaW4oKSwgcmVzdWx0KSk7CiAKKyAgICAvLyBUb3BMZXZlbCBkb2Vz
IG5vdCBoYXZlIGFueSBjb2RlIGFmdGVyIHRoaXMgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgd2Ug
ZW1pdCBhIHJldHVybiBoZXJlLgorICAgIGlmIChkYXRhLnR5cGUoKSA9PSBCbG9ja1R5cGU6OlRv
cExldmVsKQorICAgICAgICByZXR1cm4gYWRkUmV0dXJuKGVudHJ5LmNvbnRyb2xEYXRhLCBlbnRy
eS5lbmNsb3NlZEV4cHJlc3Npb25TdGFjayk7CisKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GdW5jdGlvblBhcnNlci5oCmluZGV4IDU5
MDkyZDVmYTQzNDdmNTQ2OGQ1MzE1OGI3YzBjYzJkYjNjMWEzOGQuLjZhYWY4ZGJhZjIxNWExNDMy
MTJjZjJiYThhMzJhM2E4OGY1YzJlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21GdW5jdGlvblBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21GdW5jdGlvblBhcnNlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgV2FzbSB7CiBlbnVtIGNsYXNzIEJsb2NrVHlwZSB7CiAgICAgSWYsCiAgICAg
QmxvY2ssCi0gICAgTG9vcAorICAgIExvb3AsCisgICAgVG9wTGV2ZWwKIH07CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIENvbnRleHQ+CkBAIC02MCw3ICs2MSw2IEBAIHByaXZhdGU6CiAgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gcGFyc2VCb2R5KCk7CiAgICAgUGFydGlhbFJlc3Vs
dCBXQVJOX1VOVVNFRF9SRVRVUk4gcGFyc2VFeHByZXNzaW9uKE9wVHlwZSk7CiAgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gcGFyc2VVbnJlYWNoYWJsZUV4cHJlc3Npb24oT3BU
eXBlKTsKLSAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRSZXR1cm4oKTsK
ICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiB1bmlmeUNvbnRyb2woVmVjdG9y
PEV4cHJlc3Npb25UeXBlPiYsIHVuc2lnbmVkIGxldmVsKTsKIAogI2RlZmluZSBXQVNNX1RSWV9Q
T1BfRVhQUkVTU0lPTl9TVEFDS19JTlRPKHJlc3VsdCwgd2hhdCkgZG8geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCkBAIC0xMjYsOCArMTI2LDkgQEAgYXV0byBGdW5jdGlvblBhcnNl
cjxDb250ZXh0Pjo6cGFyc2UoKSAtPiBSZXN1bHQKIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRleHQ+
CiBhdXRvIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUJvZHkoKSAtPiBQYXJ0aWFsUmVz
dWx0CiB7Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgdWludDhfdCBvcDsKKyAgICBtX2Nv
bnRyb2xTdGFjay5hcHBlbmQoeyBFeHByZXNzaW9uTGlzdCgpLCBtX2NvbnRleHQuYWRkVG9wTGV2
ZWwobV9zaWduYXR1cmUtPnJldHVyblR5cGUoKSkgfSk7CisgICAgdWludDhfdCBvcDsKKyAgICB3
aGlsZSAobV9jb250cm9sU3RhY2suc2l6ZSgpKSB7CiAgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxf
SUYoIXBhcnNlVUludDgob3ApLCAiY2FuJ3QgZGVjb2RlIG9wY29kZSIpOwogICAgICAgICBXQVNN
X1BBUlNFUl9GQUlMX0lGKCFpc1ZhbGlkT3BUeXBlKG9wKSwgImludmFsaWQgb3Bjb2RlICIsIG9w
KTsKIApAQCAtMTM2LDMzICsxMzcsMTMgQEAgYXV0byBGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6
cGFyc2VCb2R5KCkgLT4gUGFydGlhbFJlc3VsdAogICAgICAgICAgICAgbV9jb250ZXh0LmR1bXAo
bV9jb250cm9sU3RhY2ssIG1fZXhwcmVzc2lvblN0YWNrKTsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChvcCA9PSBFbmQgJiYgIW1fY29udHJvbFN0YWNrLnNpemUoKSkgewotICAgICAgICAgICAg
aWYgKG1fdW5yZWFjaGFibGVCbG9ja3MpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKLSAg
ICAgICAgICAgIHJldHVybiBhZGRSZXR1cm4oKTsKLSAgICAgICAgfQotCiAgICAgICAgIGlmICht
X3VucmVhY2hhYmxlQmxvY2tzKQogICAgICAgICAgICAgV0FTTV9GQUlMX0lGX0hFTFBFUl9GQUlM
UyhwYXJzZVVucmVhY2hhYmxlRXhwcmVzc2lvbihzdGF0aWNfY2FzdDxPcFR5cGU+KG9wKSkpOwog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICBXQVNNX0ZBSUxfSUZfSEVMUEVSX0ZBSUxTKHBhcnNl
RXhwcmVzc2lvbihzdGF0aWNfY2FzdDxPcFR5cGU+KG9wKSkpOwogICAgIH0KIAotICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIENvbnRleHQ+
Ci1hdXRvIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjphZGRSZXR1cm4oKSAtPiBQYXJ0aWFsUmVz
dWx0Ci17Ci0gICAgRXhwcmVzc2lvbkxpc3QgcmV0dXJuVmFsdWVzOwotICAgIGlmIChtX3NpZ25h
dHVyZS0+cmV0dXJuVHlwZSgpICE9IFZvaWQpIHsKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgcmV0
dXJuVmFsdWU7Ci0gICAgICAgIFdBU01fVFJZX1BPUF9FWFBSRVNTSU9OX1NUQUNLX0lOVE8ocmV0
dXJuVmFsdWUsICJyZXR1cm4iKTsKLSAgICAgICAgcmV0dXJuVmFsdWVzLmFwcGVuZChyZXR1cm5W
YWx1ZSk7Ci0gICAgfQotCi0gICAgbV91bnJlYWNoYWJsZUJsb2NrcyA9IDE7Ci0gICAgV0FTTV9U
UllfQUREX1RPX0NPTlRFWFQoYWRkUmV0dXJuKHJldHVyblZhbHVlcykpOworICAgIEFTU0VSVChv
cCA9PSBPcFR5cGU6OkVuZCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNDMzLDEyICs0MTQs
MTMgQEAgYXV0byBGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKE9wVHlw
ZSBvcCkgLT4gUGFydGlhbFJlc3VsdAogCiAgICAgY2FzZSBCclRhYmxlOiB7CiAgICAgICAgIHVp
bnQzMl90IG51bWJlck9mVGFyZ2V0czsKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgY29uZGl0aW9u
OwogICAgICAgICB1aW50MzJfdCBkZWZhdWx0VGFyZ2V0OworICAgICAgICBFeHByZXNzaW9uVHlw
ZSBjb25kaXRpb247CisgICAgICAgIFZlY3RvcjxDb250cm9sVHlwZSo+IHRhcmdldHM7CisKICAg
ICAgICAgV0FTTV9QQVJTRVJfRkFJTF9JRighcGFyc2VWYXJVSW50MzIobnVtYmVyT2ZUYXJnZXRz
KSwgImNhbid0IGdldCB0aGUgbnVtYmVyIG9mIHRhcmdldHMgZm9yIGJyX3RhYmxlIik7CiAgICAg
ICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYobnVtYmVyT2ZUYXJnZXRzID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dWludDMyX3Q+OjptYXgoKSwgImJyX3RhYmxlJ3MgbnVtYmVyIG9mIHRhcmdldHMgaXMg
dG9vIGJpZyAiLCBudW1iZXJPZlRhcmdldHMpOwogCi0gICAgICAgIFZlY3RvcjxDb250cm9sVHlw
ZSo+IHRhcmdldHM7CiAgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIXRhcmdldHMudHJ5UmVz
ZXJ2ZUNhcGFjaXR5KG51bWJlck9mVGFyZ2V0cyksICJjYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9y
ICIsIG51bWJlck9mVGFyZ2V0cywgIiBicl90YWJsZSB0YXJnZXRzIik7CiAgICAgICAgIGZvciAo
dWludDMyX3QgaSA9IDA7IGkgPCBudW1iZXJPZlRhcmdldHM7ICsraSkgewogICAgICAgICAgICAg
dWludDMyX3QgdGFyZ2V0OwpAQCAtNDQ5LDYgKzQzMSw3IEBAIGF1dG8gRnVuY3Rpb25QYXJzZXI8
Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbihPcFR5cGUgb3ApIC0+IFBhcnRpYWxSZXN1bHQKIAog
ICAgICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVZhclVJbnQzMihkZWZhdWx0VGFyZ2V0
KSwgImNhbid0IGdldCBkZWZhdWx0IHRhcmdldCBmb3IgYnJfdGFibGUiKTsKICAgICAgICAgV0FT
TV9QQVJTRVJfRkFJTF9JRihkZWZhdWx0VGFyZ2V0ID49IG1fY29udHJvbFN0YWNrLnNpemUoKSwg
ImJyX3RhYmxlJ3MgZGVmYXVsdCB0YXJnZXQgIiwgZGVmYXVsdFRhcmdldCwgIiBleGNlZWRzIGNv
bnRyb2wgc3RhY2sgc2l6ZSAiLCBtX2NvbnRyb2xTdGFjay5zaXplKCkpOworCiAgICAgICAgIFdB
U01fVFJZX1BPUF9FWFBSRVNTSU9OX1NUQUNLX0lOVE8oY29uZGl0aW9uLCAiYnJfdGFibGUgY29u
ZGl0aW9uIik7CiAgICAgICAgIFdBU01fVFJZX0FERF9UT19DT05URVhUKGFkZFN3aXRjaChjb25k
aXRpb24sIHRhcmdldHMsIG1fY29udHJvbFN0YWNrW21fY29udHJvbFN0YWNrLnNpemUoKSAtIDEg
LSBkZWZhdWx0VGFyZ2V0XS5jb250cm9sRGF0YSwgbV9leHByZXNzaW9uU3RhY2spKTsKIApAQCAt
NDU3LDcgKzQ0MCwxNiBAQCBhdXRvIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJl
c3Npb24oT3BUeXBlIG9wKSAtPiBQYXJ0aWFsUmVzdWx0CiAgICAgfQogCiAgICAgY2FzZSBSZXR1
cm46IHsKLSAgICAgICAgcmV0dXJuIGFkZFJldHVybigpOworICAgICAgICBFeHByZXNzaW9uTGlz
dCByZXR1cm5WYWx1ZXM7CisgICAgICAgIGlmIChtX3NpZ25hdHVyZS0+cmV0dXJuVHlwZSgpICE9
IFZvaWQpIHsKKyAgICAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJldHVyblZhbHVlOworICAgICAg
ICAgICAgV0FTTV9UUllfUE9QX0VYUFJFU1NJT05fU1RBQ0tfSU5UTyhyZXR1cm5WYWx1ZSwgInJl
dHVybiIpOworICAgICAgICAgICAgcmV0dXJuVmFsdWVzLmFwcGVuZChyZXR1cm5WYWx1ZSk7Cisg
ICAgICAgIH0KKworICAgICAgICBXQVNNX1RSWV9BRERfVE9fQ09OVEVYVChhZGRSZXR1cm4obV9j
b250cm9sU3RhY2tbMF0uY29udHJvbERhdGEsIHJldHVyblZhbHVlcykpOworICAgICAgICBtX3Vu
cmVhY2hhYmxlQmxvY2tzID0gMTsKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKICAgICBj
YXNlIEVuZDogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBs
YW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uY3BwCmluZGV4IGRi
ZGU1MmUwZTllNGRmODU0NmIzZGE2MTlhOTdlYmY3MzQ5MjIzY2YuLmM4NTMxYzg0ODYxNDNlNWVj
NzE0OGZiMTZmMmY0NzRiOGM1NDkyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21QbGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
UGxhbi5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgYm9vbCBQbGFuOjpwYXJzZUFuZFZhbGlkYXRlTW9k
dWxlKCkKICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZyhSYXdQb2ludGVyKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCo+KGZ1bmN0aW9uU3RhcnRbaV0pKSwgIiwgIik7CiAgICAgICAgICAgICAgICAg
ZGF0YUxvZ0xuKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX2Vycm9yTWVzc2FnZSA9
IHZhbGlkYXRpb25SZXN1bHQuZXJyb3IoKTsgLy8gRklYTUUgbWFrZSB0aGlzIGFuIEV4cGVjdGVk
LgorICAgICAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSBtYWtlU3RyaW5nKHZhbGlkYXRpb25SZXN1
bHQuZXJyb3IoKSwgIiwgaW4gZnVuY3Rpb24gYXQgaW5kZXggIiwgU3RyaW5nOjpudW1iZXIoZnVu
Y3Rpb25JbmRleCkpOyAvLyBGSVhNRSBtYWtlIHRoaXMgYW4gRXhwZWN0ZWQuCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzgsNyArMTc4LDcgQEAgdm9p
ZCBQbGFuOjpydW4oKQogICAgICAgICAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9s
b2NrKTsKICAgICAgICAgICAgICAgICBpZiAoIW1fZXJyb3JNZXNzYWdlKSB7CiAgICAgICAgICAg
ICAgICAgICAgIC8vIE11bHRpcGxlIGNvbXBpbGVzIGNvdWxkIGZhaWwgc2ltdWx0YW5lb3VzbHku
IFdlIGFyYml0cmFyaWx5IGNob29zZSB0aGUgZmlyc3QuCi0gICAgICAgICAgICAgICAgICAgIG1f
ZXJyb3JNZXNzYWdlID0gcGFyc2VBbmRDb21waWxlUmVzdWx0LmVycm9yKCk7IC8vIEZJWE1FIG1h
a2UgdGhpcyBhbiBFeHBlY3RlZC4KKyAgICAgICAgICAgICAgICAgICAgbV9lcnJvck1lc3NhZ2Ug
PSBtYWtlU3RyaW5nKHBhcnNlQW5kQ29tcGlsZVJlc3VsdC5lcnJvcigpLCAiLCBpbiBmdW5jdGlv
biBhdCBpbmRleCAiLCBTdHJpbmc6Om51bWJlcihmdW5jdGlvbkluZGV4KSk7IC8vIEZJWE1FIG1h
a2UgdGhpcyBhbiBFeHBlY3RlZC4KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
bV9jdXJyZW50SW5kZXggPSBtX2Z1bmN0aW9uTG9jYXRpb25JbkJpbmFyeS5zaXplKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21WYWxpZGF0ZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVmFsaWRhdGUuY3BwCmluZGV4IGFlZTc5MDQ1
ZmZiNjkwM2JkMWVmY2UyNGQxMDk4YzE3ZTQwYzljZDYuLjI2MTM3MGJjM2NkMTBmNWM1YjgyODRh
ODUyZTNkNTcxYTE2Y2I4ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21WYWxpZGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVZh
bGlkYXRlLmNwcApAQCAtNTIsMTUgKzUyLDE5IEBAIHB1YmxpYzoKICAgICAgICAgewogICAgICAg
ICAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgQmxvY2tUeXBlOjpJZjoK
LSAgICAgICAgICAgICAgICBvdXQucHJpbnQoIklmOiAgICAiKTsKKyAgICAgICAgICAgICAgICBv
dXQucHJpbnQoIklmOiAgICAgICAiKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIGNhc2UgQmxvY2tUeXBlOjpCbG9jazoKLSAgICAgICAgICAgICAgICBvdXQucHJpbnQoIkJs
b2NrOiAiKTsKKyAgICAgICAgICAgICAgICBvdXQucHJpbnQoIkJsb2NrOiAgICAiKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQmxvY2tUeXBlOjpMb29wOgotICAg
ICAgICAgICAgICAgIG91dC5wcmludCgiTG9vcDogICIpOworICAgICAgICAgICAgICAgIG91dC5w
cmludCgiTG9vcDogICAgICIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBCbG9ja1R5cGU6OlRvcExldmVsOgorICAgICAgICAgICAgICAgIG91dC5wcmludCgiVG9w
TGV2ZWw6ICIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAg
ICAgICAgb3V0LnByaW50KG1ha2VTdHJpbmcoc2lnbmF0dXJlKCkpKTsKICAgICAgICAgfQogCiAg
ICAgICAgIGJvb2wgaGFzTm9uVm9pZFNpZ25hdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2lnbmF0
dXJlICE9IFZvaWQ7IH0KQEAgLTExNiwxMyArMTIwLDE0IEBAIHB1YmxpYzoKICAgICBSZXN1bHQg
V0FSTl9VTlVTRURfUkVUVVJOIGFkZFNlbGVjdChFeHByZXNzaW9uVHlwZSBjb25kaXRpb24sIEV4
cHJlc3Npb25UeXBlIG5vblplcm8sIEV4cHJlc3Npb25UeXBlIHplcm8sIEV4cHJlc3Npb25UeXBl
JiByZXN1bHQpOwogCiAgICAgLy8gQ29udHJvbCBmbG93CisgICAgQ29udHJvbERhdGEgV0FSTl9V
TlVTRURfUkVUVVJOIGFkZFRvcExldmVsKFR5cGUgc2lnbmF0dXJlKTsKICAgICBDb250cm9sRGF0
YSBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkQmxvY2soVHlwZSBzaWduYXR1cmUpOwogICAgIENvbnRy
b2xEYXRhIFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRMb29wKFR5cGUgc2lnbmF0dXJlKTsKICAgICBS
ZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJOIGFkZElmKEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwg
VHlwZSBzaWduYXR1cmUsIENvbnRyb2xEYXRhJiByZXN1bHQpOwogICAgIFJlc3VsdCBXQVJOX1VO
VVNFRF9SRVRVUk4gYWRkRWxzZShDb250cm9sRGF0YSYsIGNvbnN0IEV4cHJlc3Npb25MaXN0Jik7
CiAgICAgUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRFbHNlVG9VbnJlYWNoYWJsZShDb250
cm9sRGF0YSYpOwogCi0gICAgUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRSZXR1cm4oY29u
c3QgRXhwcmVzc2lvbkxpc3QmIHJldHVyblZhbHVlcyk7CisgICAgUmVzdWx0IFdBUk5fVU5VU0VE
X1JFVFVSTiBhZGRSZXR1cm4oQ29udHJvbERhdGEmIHRvcExldmVsLCBjb25zdCBFeHByZXNzaW9u
TGlzdCYgcmV0dXJuVmFsdWVzKTsKICAgICBSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJOIGFkZEJy
YW5jaChDb250cm9sRGF0YSYsIEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgY29uc3QgRXhwcmVz
c2lvbkxpc3QmIGV4cHJlc3Npb25TdGFjayk7CiAgICAgUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVS
TiBhZGRTd2l0Y2goRXhwcmVzc2lvblR5cGUgY29uZGl0aW9uLCBjb25zdCBWZWN0b3I8Q29udHJv
bERhdGEqPiYgdGFyZ2V0cywgQ29udHJvbERhdGEmIGRlZmF1bHRUYXJnZXQsIGNvbnN0IEV4cHJl
c3Npb25MaXN0JiBleHByZXNzaW9uU3RhY2spOwogICAgIFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRV
Uk4gZW5kQmxvY2soQ29udHJvbEVudHJ5JiwgRXhwcmVzc2lvbkxpc3QmIGV4cHJlc3Npb25TdGFj
ayk7CkBAIC0xMzYsOSArMTQxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNNZW1vcnkoKSBj
b25zdCB7IHJldHVybiAhIW1fbW9kdWxlLm1lbW9yeTsgfQogCi0gICAgVmFsaWRhdGUoRXhwcmVz
c2lvblR5cGUgcmV0dXJuVHlwZSwgY29uc3QgTW9kdWxlSW5mb3JtYXRpb24mIG1vZHVsZSkKLSAg
ICAgICAgOiBtX3JldHVyblR5cGUocmV0dXJuVHlwZSkKLSAgICAgICAgLCBtX21vZHVsZShtb2R1
bGUpCisgICAgVmFsaWRhdGUoY29uc3QgTW9kdWxlSW5mb3JtYXRpb24mIG1vZHVsZSkKKyAgICAg
ICAgOiBtX21vZHVsZShtb2R1bGUpCiAgICAgewogICAgIH0KIApAQCAtMTUwLDcgKzE1NCw2IEBA
IHByaXZhdGU6CiAKICAgICBSZXN1bHQgY2hlY2tCcmFuY2hUYXJnZXQoQ29udHJvbERhdGEmIHRh
cmdldCwgY29uc3QgRXhwcmVzc2lvbkxpc3QmIGV4cHJlc3Npb25TdGFjayk7CiAKLSAgICBFeHBy
ZXNzaW9uVHlwZSBtX3JldHVyblR5cGU7CiAgICAgVmVjdG9yPFR5cGU+IG1fbG9jYWxzOwogICAg
IGNvbnN0IE1vZHVsZUluZm9ybWF0aW9uJiBtX21vZHVsZTsKIH07CkBAIC0yMDYsNiArMjA5LDEx
IEBAIGF1dG8gVmFsaWRhdGU6OnNldEdsb2JhbCh1aW50MzJfdCBpbmRleCwgRXhwcmVzc2lvblR5
cGUgdmFsdWUpIC0+IFJlc3VsdAogICAgIHJldHVybiB7IH07CiB9CiAKK1ZhbGlkYXRlOjpDb250
cm9sVHlwZSBWYWxpZGF0ZTo6YWRkVG9wTGV2ZWwoVHlwZSBzaWduYXR1cmUpCit7CisgICAgcmV0
dXJuIENvbnRyb2xEYXRhKEJsb2NrVHlwZTo6VG9wTGV2ZWwsIHNpZ25hdHVyZSk7Cit9CisKIFZh
bGlkYXRlOjpDb250cm9sVHlwZSBWYWxpZGF0ZTo6YWRkQmxvY2soVHlwZSBzaWduYXR1cmUpCiB7
CiAgICAgcmV0dXJuIENvbnRyb2xEYXRhKEJsb2NrVHlwZTo6QmxvY2ssIHNpZ25hdHVyZSk7CkBA
IC0yNDQsMTIgKzI1MiwxMyBAQCBhdXRvIFZhbGlkYXRlOjphZGRFbHNlVG9VbnJlYWNoYWJsZShD
b250cm9sVHlwZSYgY3VycmVudCkgLT4gUmVzdWx0CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotYXV0
byBWYWxpZGF0ZTo6YWRkUmV0dXJuKGNvbnN0IEV4cHJlc3Npb25MaXN0JiByZXR1cm5WYWx1ZXMp
IC0+IFJlc3VsdAorYXV0byBWYWxpZGF0ZTo6YWRkUmV0dXJuKENvbnRyb2xUeXBlJiB0b3BMZXZl
bCwgY29uc3QgRXhwcmVzc2lvbkxpc3QmIHJldHVyblZhbHVlcykgLT4gUmVzdWx0CiB7Ci0gICAg
aWYgKG1fcmV0dXJuVHlwZSA9PSBWb2lkKQorICAgIEFTU0VSVCh0b3BMZXZlbC50eXBlKCkgPT0g
QmxvY2tUeXBlOjpUb3BMZXZlbCk7CisgICAgaWYgKHRvcExldmVsLnNpZ25hdHVyZSgpID09IFZv
aWQpCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgQVNTRVJUKHJldHVyblZhbHVlcy5zaXplKCkg
PT0gMSk7Ci0gICAgV0FTTV9WQUxJREFUT1JfRkFJTF9JRihtX3JldHVyblR5cGUgIT0gcmV0dXJu
VmFsdWVzWzBdLCAicmV0dXJuIHR5cGUgIiwgcmV0dXJuVmFsdWVzWzBdLCAiIGRvZXNuJ3QgbWF0
Y2ggZnVuY3Rpb24ncyByZXR1cm4gdHlwZSAiLCBtX3JldHVyblR5cGUpOworICAgIFdBU01fVkFM
SURBVE9SX0ZBSUxfSUYodG9wTGV2ZWwuc2lnbmF0dXJlKCkgIT0gcmV0dXJuVmFsdWVzWzBdLCAi
cmV0dXJuIHR5cGUgIiwgcmV0dXJuVmFsdWVzWzBdLCAiIGRvZXNuJ3QgbWF0Y2ggZnVuY3Rpb24n
cyByZXR1cm4gdHlwZSAiLCB0b3BMZXZlbC5zaWduYXR1cmUoKSk7CiAgICAgcmV0dXJuIHsgfTsK
IH0KIApAQCAtMzU1LDcgKzM2NCw3IEBAIHZvaWQgVmFsaWRhdGU6OmR1bXAoY29uc3QgVmVjdG9y
PENvbnRyb2xFbnRyeT4mLCBjb25zdCBFeHByZXNzaW9uTGlzdCYpCiAKIEV4cGVjdGVkPHZvaWQs
IFN0cmluZz4gdmFsaWRhdGVGdW5jdGlvbihWTSogdm0sIGNvbnN0IHVpbnQ4X3QqIHNvdXJjZSwg
c2l6ZV90IGxlbmd0aCwgY29uc3QgU2lnbmF0dXJlKiBzaWduYXR1cmUsIGNvbnN0IEltbXV0YWJs
ZUZ1bmN0aW9uSW5kZXhTcGFjZSYgZnVuY3Rpb25JbmRleFNwYWNlLCBjb25zdCBNb2R1bGVJbmZv
cm1hdGlvbiYgbW9kdWxlKQogewotICAgIFZhbGlkYXRlIGNvbnRleHQoc2lnbmF0dXJlLT5yZXR1
cm5UeXBlKCksIG1vZHVsZSk7CisgICAgVmFsaWRhdGUgY29udGV4dChtb2R1bGUpOwogICAgIEZ1
bmN0aW9uUGFyc2VyPFZhbGlkYXRlPiB2YWxpZGF0b3Iodm0sIGNvbnRleHQsIHNvdXJjZSwgbGVu
Z3RoLCBzaWduYXR1cmUsIGZ1bmN0aW9uSW5kZXhTcGFjZSwgbW9kdWxlKTsKICAgICBXQVNNX0ZB
SUxfSUZfSEVMUEVSX0ZBSUxTKHZhbGlkYXRvci5wYXJzZSgpKTsKICAgICByZXR1cm4geyB9Owpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAw
MjVlNjBmOGYzN2IxZjU0YTg5YzkwY2Q2ZjA1ODc1MGE3MDAyOWI1Li4zNzYyY2E4YWNkMzEwZjJk
YWZiYmQ0Mzk2OTk0MDQ3NDQwMTkyMmJmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTEyLTIxICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYkFzc2VtYmx5
OiBBbGxvdyBiciwgYnJfaWYsIGFuZCBicl90YWJsZSB0byBhY3QgYXMgYSByZXR1cm4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjM5MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Ig
YnJlYWtzIGFjdGluZyBhcyByZXR1cm5zIGFuZCBmaXggdGVzdHMgdGhhdAorICAgICAgICB2YWxp
ZGF0ZSBlcnJvciBtZXNzYWdlcy4KKworICAgICAgICAqIHdhc20vZnVuY3Rpb24tdGVzdHMvYnIt
YXMtcmV0dXJuLmpzOiBBZGRlZC4KKyAgICAgICAgKiB3YXNtL2Z1bmN0aW9uLXRlc3RzL2JyLWlm
LWFzLXJldHVybi5qczogQWRkZWQuCisgICAgICAgICogd2FzbS9mdW5jdGlvbi10ZXN0cy9ici10
YWJsZS1hcy1yZXR1cm4uanM6IEFkZGVkLgorICAgICAgICAqIHdhc20vZnVuY3Rpb24tdGVzdHMv
aWYtbm8tZWxzZS1ub24tdm9pZC5qczoKKyAgICAgICAgKiB3YXNtL2Z1bmN0aW9uLXRlc3RzL3N0
cnVjdC5qczogQWRkZWQuCisgICAgICAgICogd2FzbS9qcy1hcGkvZ2xvYmFsLWVycm9yLmpzOgor
ICAgICAgICAoYXNzZXJ0LnRocm93cyk6CisgICAgICAgICogd2FzbS9qcy1hcGkvdGFibGUuanM6
CisgICAgICAgIChhc3NlcnQudGhyb3dzKToKKwogMjAxNi0xMi0yMCAgS2VpdGggTWlsbGVyICA8
a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2xvYmFs
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvYnItYXMtcmV0dXJuLmpz
IGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2JyLWFzLXJldHVybi5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NjM2NTdmYzA5MDc1NzY0MjhjMjM2MDkzMWQwMGE0M2RkM2RjYjg5Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2JyLWFzLXJldHVybi5qcwpAQCAtMCww
ICsxLDMxIEBACitpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnLi4vYXNzZXJ0LmpzJzsKK2ltcG9y
dCBCdWlsZGVyIGZyb20gJy4uL0J1aWxkZXIuanMnOworCitjb25zdCBidWlsZGVyID0gKG5ldyBC
dWlsZGVyKCkpCisgICAgICAuVHlwZSgpLkVuZCgpCisgICAgICAuRnVuY3Rpb24oKS5FbmQoKQor
ICAgICAgLkV4cG9ydCgpCisgICAgICAgICAgLkZ1bmN0aW9uKCJicjEiKQorICAgICAgICAgIC5G
dW5jdGlvbigiYnIwIikKKyAgICAgIC5FbmQoKQorICAgICAgLkNvZGUoKQorICAgICAgICAgIC5G
dW5jdGlvbigiYnIxIiwgeyBwYXJhbXM6IFtdLCByZXQ6ICJpMzIiIH0pCisgICAgICAgICAgICAg
IC5CbG9jaygidm9pZCIsIGIgPT4geworICAgICAgICAgICAgICAgICAgcmV0dXJuIGIuSTMyQ29u
c3QoMCkKKyAgICAgICAgICAgICAgICAgIC5CcigxKQorICAgICAgICAgICAgICB9KQorICAgICAg
ICAgICAgIC5VbnJlYWNoYWJsZSgpCisgICAgICAgICAgLkVuZCgpCisKKyAgICAgICAgICAuRnVu
Y3Rpb24oImJyMCIsIHsgcGFyYW1zOiBbXSwgcmV0OiAiaTMyIiB9KQorICAgICAgICAgICAgICAu
STMyQ29uc3QoMCkKKyAgICAgICAgICAgICAgLkJyKDApCisgICAgICAgICAgLkVuZCgpCisKKyAg
ICAgIC5FbmQoKTsKKworY29uc3QgYmluID0gYnVpbGRlci5XZWJBc3NlbWJseSgpLmdldCgpOwor
Y29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4pOworY29uc3QgaW5zdGFu
Y2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTsKK2Fzc2VydC5lcShpbnN0YW5j
ZS5leHBvcnRzLmJyMSgpLCAwKQorYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuYnIwKCksIDAp
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvYnItaWYtYXMtcmV0dXJu
LmpzIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2JyLWlmLWFzLXJldHVybi5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iMmQ2NWViMWQ3MmMzODM4YzdiNGU2YmM4MWNiOTZlYTI0YjVmYjI5Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2JyLWlmLWFzLXJldHVybi5q
cwpAQCAtMCwwICsxLDMzIEBACitpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnLi4vYXNzZXJ0Lmpz
JzsKK2ltcG9ydCBCdWlsZGVyIGZyb20gJy4uL0J1aWxkZXIuanMnOworCitjb25zdCBidWlsZGVy
ID0gKG5ldyBCdWlsZGVyKCkpCisgICAgICAuVHlwZSgpLkVuZCgpCisgICAgICAuRnVuY3Rpb24o
KS5FbmQoKQorICAgICAgLkV4cG9ydCgpCisgICAgICAgICAgLkZ1bmN0aW9uKCJicjEiKQorICAg
ICAgICAgIC5GdW5jdGlvbigiYnIwIikKKyAgICAgIC5FbmQoKQorICAgICAgLkNvZGUoKQorICAg
ICAgICAgIC5GdW5jdGlvbigiYnIxIiwgeyBwYXJhbXM6IFtdLCByZXQ6ICJpMzIiIH0pCisgICAg
ICAgICAgICAgIC5CbG9jaygidm9pZCIsIGIgPT4geworICAgICAgICAgICAgICAgICAgcmV0dXJu
IGIuSTMyQ29uc3QoMCkKKyAgICAgICAgICAgICAgICAgIC5JMzJDb25zdCgxKQorICAgICAgICAg
ICAgICAgICAgLkJySWYoMSkKKyAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAuVW5yZWFj
aGFibGUoKQorICAgICAgICAgIC5FbmQoKQorCisgICAgICAgICAgLkZ1bmN0aW9uKCJicjAiLCB7
IHBhcmFtczogW10sIHJldDogImkzMiIgfSkKKyAgICAgICAgICAgICAgLkkzMkNvbnN0KDApCisg
ICAgICAgICAgICAgIC5JMzJDb25zdCgxKQorICAgICAgICAgICAgICAuQnJJZigwKQorICAgICAg
ICAgIC5FbmQoKQorCisgICAgICAuRW5kKCk7CisKK2NvbnN0IGJpbiA9IGJ1aWxkZXIuV2ViQXNz
ZW1ibHkoKS5nZXQoKTsKK2NvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmlu
KTsKK2NvbnN0IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk7Cith
c3NlcnQuZXEoaW5zdGFuY2UuZXhwb3J0cy5icjEoKSwgMCkKK2Fzc2VydC5lcShpbnN0YW5jZS5l
eHBvcnRzLmJyMCgpLCAwKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3Rz
L2JyLXRhYmxlLWFzLXJldHVybi5qcyBiL0pTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy9ici10
YWJsZS1hcy1yZXR1cm4uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzdhZDg2Yjc3YTFiNmZmZmQ0ZTAxMTgyOWVj
NGVmYmRkMzg3NTYwNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvd2FzbS9mdW5jdGlvbi10
ZXN0cy9ici10YWJsZS1hcy1yZXR1cm4uanMKQEAgLTAsMCArMSw1MiBAQAoraW1wb3J0ICogYXMg
YXNzZXJ0IGZyb20gJy4uL2Fzc2VydC5qcyc7CitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWls
ZGVyLmpzJzsKKworY29uc3QgYnVpbGRlciA9IChuZXcgQnVpbGRlcigpKQorICAgICAgLlR5cGUo
KS5FbmQoKQorICAgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAgIC5FeHBvcnQoKQorICAgICAg
ICAgIC5GdW5jdGlvbigiYnIxRGVmYXVsdCIpCisgICAgICAgICAgLkZ1bmN0aW9uKCJicjBEZWZh
dWx0IikKKyAgICAgICAgICAuRnVuY3Rpb24oImJyMUNhc2UiKQorICAgICAgICAgIC5GdW5jdGlv
bigiYnIwQ2FzZSIpCisgICAgICAuRW5kKCkKKyAgICAgIC5Db2RlKCkKKyAgICAgICAgICAuRnVu
Y3Rpb24oImJyMURlZmF1bHQiLCB7IHBhcmFtczogW10sIHJldDogImkzMiIgfSkKKyAgICAgICAg
ICAgICAgLkJsb2NrKCJ2b2lkIiwgYiA9PiB7CisgICAgICAgICAgICAgICAgICByZXR1cm4gYi5J
MzJDb25zdCgwKQorICAgICAgICAgICAgICAgICAgLkkzMkNvbnN0KDEwMCkKKyAgICAgICAgICAg
ICAgICAgIC5CclRhYmxlKDEsIDEpCisgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgLlVu
cmVhY2hhYmxlKCkKKyAgICAgICAgICAuRW5kKCkKKworICAgICAgICAgIC5GdW5jdGlvbigiYnIw
RGVmYXVsdCIsIHsgcGFyYW1zOiBbXSwgcmV0OiAiaTMyIiB9KQorICAgICAgICAgICAgICAuSTMy
Q29uc3QoMCkKKyAgICAgICAgICAgICAgLkkzMkNvbnN0KDEwMCkKKyAgICAgICAgICAgICAgLkJy
VGFibGUoMCwgMCkKKyAgICAgICAgICAuRW5kKCkKKworICAgICAgICAgIC5GdW5jdGlvbigiYnIx
Q2FzZSIsIHsgcGFyYW1zOiBbXSwgcmV0OiAiaTMyIiB9KQorICAgICAgICAgICAgICAuQmxvY2so
InZvaWQiLCBiID0+IHsKKyAgICAgICAgICAgICAgICAgIHJldHVybiBiLkkzMkNvbnN0KDApCisg
ICAgICAgICAgICAgICAgICAuSTMyQ29uc3QoMTAwKQorICAgICAgICAgICAgICAgICAgLkJyVGFi
bGUoMSwgMSkKKyAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAuVW5yZWFjaGFibGUoKQor
ICAgICAgICAgIC5FbmQoKQorCisgICAgICAgICAgLkZ1bmN0aW9uKCJicjBDYXNlIiwgeyBwYXJh
bXM6IFtdLCByZXQ6ICJpMzIiIH0pCisgICAgICAgICAgICAgIC5JMzJDb25zdCgwKQorICAgICAg
ICAgICAgICAuSTMyQ29uc3QoMCkKKyAgICAgICAgICAgICAgLkJyVGFibGUoMCwgMCkKKyAgICAg
ICAgICAuRW5kKCkKKworICAgICAgLkVuZCgpOworCitjb25zdCBiaW4gPSBidWlsZGVyLldlYkFz
c2VtYmx5KCkuZ2V0KCk7Citjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJp
bik7Citjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOwor
YXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuYnIxRGVmYXVsdCgpLCAwKQorYXNzZXJ0LmVxKGlu
c3RhbmNlLmV4cG9ydHMuYnIwRGVmYXVsdCgpLCAwKQorYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9y
dHMuYnIxQ2FzZSgpLCAwKQorYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuYnIwQ2FzZSgpLCAw
KQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2lmLW5vLWVsc2Utbm9u
LXZvaWQuanMgYi9KU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvaWYtbm8tZWxzZS1ub24tdm9p
ZC5qcwppbmRleCAyMzM4ZmY4ZmJjZjBhYWMyZTQwOWIyODc5MjQ4NWY1NDVjZjM5NTBmLi44ODMz
MTY0Y2FhOGEwNDAyMjU2NzljZDY4MzNhNjNjYWIzMTc3MDViIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3dhc20vZnVuY3Rpb24tdGVzdHMvaWYtbm8tZWxzZS1ub24tdm9pZC5qcworKysgYi9KU1Rlc3Rz
L3dhc20vZnVuY3Rpb24tdGVzdHMvaWYtbm8tZWxzZS1ub24tdm9pZC5qcwpAQCAtMTMsNCArMTMs
NCBAQCBjb25zdCBidWlsZGVyID0gKG5ldyBCdWlsZGVyKCkpCiAgICAgICAuRW5kKCk7CiAKIGNv
bnN0IGJpbiA9IGJ1aWxkZXIuV2ViQXNzZW1ibHkoKS5nZXQoKTsKLWFzc2VydC50aHJvd3MoKCkg
PT4gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4pLCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3Is
ICJXZWJBc3NlbWJseS5Nb2R1bGUgZG9lc24ndCB2YWxpZGF0ZTogSWYtYmxvY2sgaGFkIGEgbm9u
LXZvaWQgcmVzdWx0IHR5cGU6IEkzMiBidXQgaGFkIG5vIGVsc2UtYmxvY2sgKGV2YWx1YXRpbmcg
J25ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKScpIik7Cithc3NlcnQudGhyb3dzKCgpID0+IG5l
dyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKSwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2Vi
QXNzZW1ibHkuTW9kdWxlIGRvZXNuJ3QgdmFsaWRhdGU6IElmLWJsb2NrIGhhZCBhIG5vbi12b2lk
IHJlc3VsdCB0eXBlOiBJMzIgYnV0IGhhZCBubyBlbHNlLWJsb2NrLCBpbiBmdW5jdGlvbiBhdCBp
bmRleCAwIChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbiknKSIpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3N0cnVjdC5qcyBiL0pTVGVzdHMv
d2FzbS9mdW5jdGlvbi10ZXN0cy9zdHJ1Y3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M1ZTIxZmQ5NTRjZTlm
NWVkNGYyZDBjNDliNTc4ZmMyMTk5Njk1NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvd2Fz
bS9mdW5jdGlvbi10ZXN0cy9zdHJ1Y3QuanMKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0ICogYXMg
YXNzZXJ0IGZyb20gJy4uL2Fzc2VydC5qcyc7CitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWls
ZGVyLmpzJzsKKworY29uc3QgYnVpbGRlciA9IChuZXcgQnVpbGRlcigpKQorCitidWlsZGVyLlR5
cGUoKS5FbmQoKQorICAgIC5GdW5jdGlvbigpLkVuZCgpCisgICAgLk1lbW9yeSgpLkluaXRpYWxN
YXhQYWdlcygxLCAxKS5FbmQoKQorICAgIC5FeHBvcnQoKQorICAgICAgICAuRnVuY3Rpb24oImNh
bGxGdW5jIikKKyAgICAuRW5kKCkKKyAgICAuQ29kZSgpCisgICAgICAgIC5GdW5jdGlvbigiY2Fs
bEZ1bmMiLCB7IHBhcmFtczogWyJpMzIiLCAiaTMyIl0sIHJldDogImkzMiIgfSkKKyAgICAgICAg
ICAgIC5HZXRMb2NhbCgwKQorICAgICAgICAgICAgLklmKCJ2b2lkIiwgYiA9PiB7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIGIuR2V0TG9jYWwoMCkKKyAgICAgICAgICAgICAgICAuR2V0TG9jYWwo
MSkKKyAgICAgICAgICAgICAgICAuSTMyTG9hZCgwLCA0KQorICAgICAgICAgICAgICAgIC5JMzJT
dWIoKQorICAgICAgICAgICAgICAgIC5SZXR1cm4oKQorICAgICAgICAgICAgfSkKKyAgICAgICAg
ICAgIC5JMzJDb25zdCg0MikKKyAgICAgICAgICAgIC5SZXR1cm4oKQorICAgICAgICAuRW5kKCkK
KyAgICAuRW5kKCk7Citjb25zdCBiaW4gPSBidWlsZGVyLldlYkFzc2VtYmx5KCkuZ2V0KCk7Citj
b25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbik7Citjb25zdCBpbnN0YW5j
ZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy93YXNtL2pzLWFwaS9nbG9iYWwtZXJyb3IuanMgYi9KU1Rlc3RzL3dhc20vanMtYXBpL2dsb2Jh
bC1lcnJvci5qcwppbmRleCA4N2E0NjkyYTk5MjBkZDgyMzEzYmMyMzA1OGFmODJjOWViNjVhMDhi
Li4zZWRmM2FiMTRjYjhlN2YzZTczMDhiMjgzNWI5ZDkyNTM3NGQwNjE4IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3dhc20vanMtYXBpL2dsb2JhbC1lcnJvci5qcworKysgYi9KU1Rlc3RzL3dhc20vanMt
YXBpL2dsb2JhbC1lcnJvci5qcwpAQCAtMTAzLDcgKzEwMyw3IEBAIGltcG9ydCBCdWlsZGVyIGZy
b20gJy4uL0J1aWxkZXIuanMnOwogICAgIGNvbnN0IGJpbiA9IGJ1aWxkZXIuV2ViQXNzZW1ibHko
KTsKICAgICBiaW4udHJpbSgpOwogCi0gICAgYXNzZXJ0LnRocm93cygoKSA9PiBuZXcgV2ViQXNz
ZW1ibHkuTW9kdWxlKGJpbi5nZXQoKSksIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgIldlYkFz
c2VtYmx5Lk1vZHVsZSBkb2Vzbid0IHZhbGlkYXRlOiBzZXRfZ2xvYmFsIDAgaXMgaW1tdXRhYmxl
IChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbi5nZXQoKSknKSIpOworICAg
IGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4uZ2V0KCkpLCBX
ZWJBc3NlbWJseS5Db21waWxlRXJyb3IsICJXZWJBc3NlbWJseS5Nb2R1bGUgZG9lc24ndCB2YWxp
ZGF0ZTogc2V0X2dsb2JhbCAwIGlzIGltbXV0YWJsZSwgaW4gZnVuY3Rpb24gYXQgaW5kZXggMCAo
ZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4uZ2V0KCkpJykiKTsKIH0KIAog
CkBAIC0xMzAsNyArMTMwLDcgQEAgaW1wb3J0IEJ1aWxkZXIgZnJvbSAnLi4vQnVpbGRlci5qcyc7
CiAgICAgY29uc3QgYmluID0gYnVpbGRlci5XZWJBc3NlbWJseSgpOwogICAgIGJpbi50cmltKCk7
CiAKLSAgICBhc3NlcnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluLmdl
dCgpKSwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2ViQXNzZW1ibHkuTW9kdWxlIGRvZXNu
J3QgdmFsaWRhdGU6IHNldF9nbG9iYWwgMSBvZiB1bmtub3duIGdsb2JhbCwgbGltaXQgaXMgMSAo
ZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4uZ2V0KCkpJykiKTsKKyAgICBh
c3NlcnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluLmdldCgpKSwgV2Vi
QXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2ViQXNzZW1ibHkuTW9kdWxlIGRvZXNuJ3QgdmFsaWRh
dGU6IHNldF9nbG9iYWwgMSBvZiB1bmtub3duIGdsb2JhbCwgbGltaXQgaXMgMSwgaW4gZnVuY3Rp
b24gYXQgaW5kZXggMCAoZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4uZ2V0
KCkpJykiKTsKIH0KIAogCkBAIC0xNTYsNyArMTU2LDcgQEAgaW1wb3J0IEJ1aWxkZXIgZnJvbSAn
Li4vQnVpbGRlci5qcyc7CiAgICAgY29uc3QgYmluID0gYnVpbGRlci5XZWJBc3NlbWJseSgpOwog
ICAgIGJpbi50cmltKCk7CiAKLSAgICBhc3NlcnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoYmluLmdldCgpKSwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2ViQXNzZW1i
bHkuTW9kdWxlIGRvZXNuJ3QgdmFsaWRhdGU6IHNldF9nbG9iYWwgMCB3aXRoIHR5cGUgRjMyIHdp
dGggYSB2YXJpYWJsZSBvZiB0eXBlIEkzMiAoZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1v
ZHVsZShiaW4uZ2V0KCkpJykiKTsKKyAgICBhc3NlcnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3Nl
bWJseS5Nb2R1bGUoYmluLmdldCgpKSwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2ViQXNz
ZW1ibHkuTW9kdWxlIGRvZXNuJ3QgdmFsaWRhdGU6IHNldF9nbG9iYWwgMCB3aXRoIHR5cGUgRjMy
IHdpdGggYSB2YXJpYWJsZSBvZiB0eXBlIEkzMiwgaW4gZnVuY3Rpb24gYXQgaW5kZXggMCAoZXZh
bHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4uZ2V0KCkpJykiKTsKIH0KIAogZm9y
ICggbGV0IGltcCBvZiBbdW5kZWZpbmVkLCBudWxsLCB7fSwgKCkgPT4ge30sICJudW1iZXIiLCBu
ZXcgTnVtYmVyKDQpXSkgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2pzLWFwaS90YWJsZS5q
cyBiL0pTVGVzdHMvd2FzbS9qcy1hcGkvdGFibGUuanMKaW5kZXggMWMzMjFlYTNlNjk2NjhhZWU0
NTljZDViOTNjMmQ2YjBjMTIzYjU1ZC4uZDU1YTM1MDBkNTQxYjc0Zjg0OWUxODUyM2U5YzUwOWRi
YTE5ODg2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy93YXNtL2pzLWFwaS90YWJsZS5qcworKysgYi9K
U1Rlc3RzL3dhc20vanMtYXBpL3RhYmxlLmpzCkBAIC00Miw3ICs0Miw3IEBAIGltcG9ydCAqIGFz
IGFzc2VydCBmcm9tICcuLi9hc3NlcnQuanMnOwogICAgICAgICAgICAgICAgIC5DYWxsSW5kaXJl
Y3QoMCwgMCkKICAgICAgICAgICAgIC5FbmQoKQogICAgICAgICAuRW5kKCk7Ci0gICAgYXNzZXJ0
LnRocm93cygoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1aWxkZXIuV2ViQXNzZW1ibHko
KS5nZXQoKSksIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgIldlYkFzc2VtYmx5Lk1vZHVsZSBk
b2Vzbid0IHBhcnNlIGF0IGJ5dGUgNCAvIDc6IGNhbGxfaW5kaXJlY3QgaXMgb25seSB2YWxpZCB3
aGVuIGEgdGFibGUgaXMgZGVmaW5lZCBvciBpbXBvcnRlZCAoZXZhbHVhdGluZyAnbmV3IFdlYkFz
c2VtYmx5Lk1vZHVsZShidWlsZGVyLldlYkFzc2VtYmx5KCkuZ2V0KCkpJykiKTsKKyAgICBhc3Nl
cnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVpbGRlci5XZWJBc3NlbWJs
eSgpLmdldCgpKSwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAiV2ViQXNzZW1ibHkuTW9kdWxl
IGRvZXNuJ3QgcGFyc2UgYXQgYnl0ZSA0IC8gNzogY2FsbF9pbmRpcmVjdCBpcyBvbmx5IHZhbGlk
IHdoZW4gYSB0YWJsZSBpcyBkZWZpbmVkIG9yIGltcG9ydGVkLCBpbiBmdW5jdGlvbiBhdCBpbmRl
eCAwIChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1aWxkZXIuV2ViQXNzZW1i
bHkoKS5nZXQoKSknKSIpOwogfQogCiB7CkBAIC02MSw3ICs2MSw3IEBAIGltcG9ydCAqIGFzIGFz
c2VydCBmcm9tICcuLi9hc3NlcnQuanMnOwogICAgICAgICAgICAgICAgIC5DYWxsSW5kaXJlY3Qo
MCwgMSkKICAgICAgICAgICAgIC5FbmQoKQogICAgICAgICAuRW5kKCk7Ci0gICAgYXNzZXJ0LnRo
cm93cygoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1aWxkZXIuV2ViQXNzZW1ibHkoKS5n
ZXQoKSksIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgIldlYkFzc2VtYmx5Lk1vZHVsZSBkb2Vz
bid0IHBhcnNlIGF0IGJ5dGUgNiAvIDc6IGNhbGxfaW5kaXJlY3QncyAncmVzZXJ2ZWQnIHZhcnVp
bnQxIG11c3QgYmUgMHgwIChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1aWxk
ZXIuV2ViQXNzZW1ibHkoKS5nZXQoKSknKSIpOworICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3
IFdlYkFzc2VtYmx5Lk1vZHVsZShidWlsZGVyLldlYkFzc2VtYmx5KCkuZ2V0KCkpLCBXZWJBc3Nl
bWJseS5Db21waWxlRXJyb3IsICJXZWJBc3NlbWJseS5Nb2R1bGUgZG9lc24ndCBwYXJzZSBhdCBi
eXRlIDYgLyA3OiBjYWxsX2luZGlyZWN0J3MgJ3Jlc2VydmVkJyB2YXJ1aW50MSBtdXN0IGJlIDB4
MCwgaW4gZnVuY3Rpb24gYXQgaW5kZXggMCAoZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5Lk1v
ZHVsZShidWlsZGVyLldlYkFzc2VtYmx5KCkuZ2V0KCkpJykiKTsKIH0KIAogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>