<?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>165886</bug_id>
          
          <creation_ts>2016-12-14 18:23:03 -0800</creation_ts>
          <short_desc>Wasm should decode constants correctly</short_desc>
          <delta_ts>2016-12-14 22:09:02 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>165893</blocked>
          <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>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1260000</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-14 18:23:03 -0800</bug_when>
    <thetext>Wasm should decode constants correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260008</commentid>
    <comment_count>1</comment_count>
      <attachid>297156</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-14 18:46:33 -0800</bug_when>
    <thetext>Created attachment 297156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260009</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-14 18:48:21 -0800</bug_when>
    <thetext>This patch modifies one of the wasm.json files. Please ensure that any changes in one have been mirrored to the other. You can find the wasm.json files at &quot;Source/JavaScriptCore/wasm/wasm.json&quot; and &quot;JSTests/wasm/wasm.json&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260014</commentid>
    <comment_count>3</comment_count>
      <attachid>297156</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-12-14 19:17:36 -0800</bug_when>
    <thetext>Comment on attachment 297156
Patch

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

A few comments, after lgtm.

&gt; JSTests/wasm/LowLevelBinary.js:139
&gt; +            throw new RangeError(&quot;We cannot write NaNs yet&quot;);

Other messages use &quot;unimplemented&quot; so it&apos;s easy to grep (here and above).

&gt; JSTests/wasm/LowLevelBinary.js:140
&gt; +        // Unfortunately, we cannot just view the actual buffer as a Float32Array since it needs to be 4 byte aligned

You mean Float64 here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260028</commentid>
    <comment_count>4</comment_count>
      <attachid>297156</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-14 19:46:15 -0800</bug_when>
    <thetext>Comment on attachment 297156
Patch

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

&gt; Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:535
&gt; +        return m_currentBlock-&gt;appendNew&lt;ConstDoubleValue&gt;(m_proc, Origin(), bitwise_cast&lt;double&gt;(static_cast&lt;int64_t&gt;(value)));

Why is this needed? value is already uint64_t

&gt; Source/JavaScriptCore/wasm/wasm.json:65
&gt; +        &quot;f64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  68, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;double&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f64&quot; },
&gt; +        &quot;f32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  67, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;float&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f32&quot; },
&gt; +        &quot;get_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  32, &quot;return&quot;: [&quot;any&quot;],    &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a local variable or parameter&quot; },
&gt; +        &quot;set_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  33, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;any&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter&quot; },
&gt; +        &quot;tee_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  34, &quot;return&quot;: [&quot;any&quot;],     &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter and return the same value&quot; },
&gt; +        &quot;get_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  35, &quot;return&quot;: [&quot;any&quot;],   &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a global variable&quot; },
&gt; +        &quot;set_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  36, &quot;return&quot;: [],         &quot;parameter&quot;: [&quot;any&quot;],               &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a global variable&quot; },

Should you make these changes in the other wasm.json too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260038</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-14 20:36:46 -0800</bug_when>
    <thetext>Committed r209852: &lt;http://trac.webkit.org/changeset/209852&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297156</attachid>
            <date>2016-12-14 18:46:33 -0800</date>
            <delta_ts>2016-12-14 19:46:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165886-20161214184542.patch</filename>
            <type>text/plain</type>
            <size>20282</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NGViZjQ3NGFkODg3OWY2MjRjOWI5MzAwYTVhNzQ4YzkzMTY5MDYzLi4xZTlkZGMxMjY4ZjVhOWM2
ZTQwNmY1MmQ3NTI0NWNmNzM4OGMyNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNi0xMi0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXYXNtIHNob3VsZCBkZWNvZGUgY29uc3RhbnRzIGNvcnJlY3RseQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1ODg2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBmaXhlcyBob3cgd2UgZGVjb2RlIHRoZSBjb25zdGFudCBwYXJ0IG9mIGkzMiwgaTY0LCBmMzIs
CisgICAgICAgIGFuZCBmNjQuY29uc3Qgb3Bjb2Rlcy4KKworICAgICAgICAqIHdhc20vV2FzbUIz
SVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRD
b25zdGFudCk6CisgICAgICAgICogd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAgICAg
KEpTQzo6V2FzbTo6RnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbik6Cisg
ICAgICAgICogd2FzbS93YXNtLmpzb246CisKKzIwMTYtMTItMTQgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgV2ViQXNzZW1ibHkgSlMgQVBJOiBpbXBs
ZW1lbnQgR2xvYmFsCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQxMzMKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJH
ZW5lcmF0b3IuY3BwCmluZGV4IDYwMDhjZGM4ZDVlYjI0NjQ2NWY2ZGVkM2E3NTU0MGQwYTcxNzkw
MmUuLmI3NjE3OTIzZTE0OWI3NzI3NGFiZTI0ODA4NmNmMDM2OTU2MjRiZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTUzMiw3
ICs1MzIsNyBAQCBCM0lSR2VuZXJhdG9yOjpFeHByZXNzaW9uVHlwZSBCM0lSR2VuZXJhdG9yOjph
ZGRDb25zdGFudChUeXBlIHR5cGUsIHVpbnQ2NF90IHZhbAogICAgIGNhc2UgV2FzbTo6RjMyOgog
ICAgICAgICByZXR1cm4gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+
KG1fcHJvYywgT3JpZ2luKCksIGJpdHdpc2VfY2FzdDxmbG9hdD4oc3RhdGljX2Nhc3Q8aW50MzJf
dD4odmFsdWUpKSk7CiAgICAgY2FzZSBXYXNtOjpGNjQ6Ci0gICAgICAgIHJldHVybiBtX2N1cnJl
bnRCbG9jay0+YXBwZW5kTmV3PENvbnN0RG91YmxlVmFsdWU+KG1fcHJvYywgT3JpZ2luKCksIGJp
dHdpc2VfY2FzdDxkb3VibGU+KHZhbHVlKSk7CisgICAgICAgIHJldHVybiBtX2N1cnJlbnRCbG9j
ay0+YXBwZW5kTmV3PENvbnN0RG91YmxlVmFsdWU+KG1fcHJvYywgT3JpZ2luKCksIGJpdHdpc2Vf
Y2FzdDxkb3VibGU+KHN0YXRpY19jYXN0PGludDY0X3Q+KHZhbHVlKSkpOwogICAgIGNhc2UgV2Fz
bTo6Vm9pZDoKICAgICBjYXNlIFdhc206OkZ1bmM6CiAgICAgY2FzZSBXYXNtOjpBbnlmdW5jOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaAppbmRl
eCAyMzFjMGExOTJkNmY4MTczZjhhNmVlMDI5MDkwZDk1NGIxMTFiYWRjLi43NTljYWQ1OWZhNGU0
YzRmNjBjODIzMDUxMmU3NmRiYWQ0ZjU3MDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaApAQCAtMzAyLDE5ICszMDIsMzMgQEAgYm9vbCBG
dW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKE9wVHlwZSBvcCkKICAgICB9
CiAjdW5kZWYgQ1JFQVRFX0NBU0UKIAotICAgIGNhc2UgT3BUeXBlOjpGMzJDb25zdDoKLSAgICBj
YXNlIE9wVHlwZTo6STMyQ29uc3Q6IHsKKyAgICBjYXNlIE9wVHlwZTo6RjMyQ29uc3Q6IHsKICAg
ICAgICAgdWludDMyX3QgY29uc3RhbnQ7Ci0gICAgICAgIGlmICghcGFyc2VWYXJVSW50MzIoY29u
c3RhbnQpKQorICAgICAgICBpZiAoIXBhcnNlVUludDMyKGNvbnN0YW50KSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgbV9leHByZXNzaW9uU3RhY2suYXBwZW5kKG1fY29udGV4
dC5hZGRDb25zdGFudChGMzIsIGNvbnN0YW50KSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIGNhc2UgT3BUeXBlOjpJMzJDb25zdDogeworICAgICAgICBpbnQzMl90IGNvbnN0
YW50OworICAgICAgICBpZiAoIXBhcnNlVmFySW50MzIoY29uc3RhbnQpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBtX2V4cHJlc3Npb25TdGFjay5hcHBlbmQobV9jb250ZXh0
LmFkZENvbnN0YW50KEkzMiwgY29uc3RhbnQpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogCi0gICAgY2FzZSBPcFR5cGU6OkY2NENvbnN0OgotICAgIGNhc2UgT3BUeXBlOjpJNjRDb25z
dDogeworICAgIGNhc2UgT3BUeXBlOjpGNjRDb25zdDogewogICAgICAgICB1aW50NjRfdCBjb25z
dGFudDsKLSAgICAgICAgaWYgKCFwYXJzZVZhclVJbnQ2NChjb25zdGFudCkpCisgICAgICAgIGlm
ICghcGFyc2VVSW50NjQoY29uc3RhbnQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICBtX2V4cHJlc3Npb25TdGFjay5hcHBlbmQobV9jb250ZXh0LmFkZENvbnN0YW50KEY2NCwg
Y29uc3RhbnQpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgY2FzZSBPcFR5
cGU6Okk2NENvbnN0OiB7CisgICAgICAgIGludDY0X3QgY29uc3RhbnQ7CisgICAgICAgIGlmICgh
cGFyc2VWYXJJbnQ2NChjb25zdGFudCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIG1fZXhwcmVzc2lvblN0YWNrLmFwcGVuZChtX2NvbnRleHQuYWRkQ29uc3RhbnQoSTY0LCBj
b25zdGFudCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL3dhc20uanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL3dh
c20uanNvbgppbmRleCBlYzBlZmM1ZDU3ZjM4NzZlZmE2YzNkODcxYTI4MzA2YmU3MDBhMGU0Li4w
NDIwMDFjMGQxMDAxNDBjMGViN2M1NzJjMzY2MWM5MmNkYjg4OTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS93YXNtLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vd2FzbS5qc29uCkBAIC01NiwxMyArNTYsMTMgQEAKICAgICAgICAgImVuZCI6ICAg
ICAgICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJjb250cm9sIiwgICAgInZhbHVlIjogIDExLCAi
cmV0dXJuIjogW10sICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAg
ICAgICAiaW1tZWRpYXRlIjogW10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiZW5kIGEgYmxvY2ssIGxvb3AsIG9yIGlmIiB9LAogICAgICAgICAiaTMyLmNv
bnN0IjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgNjUs
ICJyZXR1cm4iOiBbImkzMiJdLCAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAg
ICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInZhbHVlIiwgICAgICAgICAgInR5cGUiOiAi
dmFyaW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJhIGNvbnN0YW50IHZhbHVlIGludGVycHJldGVkIGFzIGkzMiIgfSwKICAg
ICAgICAgImk2NC5jb25zdCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAg
InZhbHVlIjogIDY2LCAicmV0dXJuIjogWyJpNjQiXSwgICAgICAicGFyYW1ldGVyIjogW10sICAg
ICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ2YWx1ZSIsICAgICAg
ICAgICJ0eXBlIjogInZhcmludDY0In1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiYSBjb25zdGFudCB2YWx1ZSBpbnRlcnByZXRlZCBh
cyBpNjQiIH0sCi0gICAgICAgICJmNjQuY29uc3QiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAi
c3BlY2lhbCIsICAgICJ2YWx1ZSI6ICA2OCwgInJldHVybiI6IFsiZjY0Il0sICAgICAgInBhcmFt
ZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAi
dmFsdWUiLCAgICAgICAgICAidHlwZSI6ICJ1aW50NjQifV0sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImEgY29uc3RhbnQgdmFsdWUg
aW50ZXJwcmV0ZWQgYXMgZjY0IiB9LAotICAgICAgICAiZjMyLmNvbnN0IjogICAgICAgICAgIHsg
ImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgNjcsICJyZXR1cm4iOiBbImYzMiJd
LCAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUi
OiBbeyJuYW1lIjogInZhbHVlIiwgICAgICAgICAgInR5cGUiOiAidWludDMyIn1dLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJhIGNv
bnN0YW50IHZhbHVlIGludGVycHJldGVkIGFzIGYzMiIgfSwKLSAgICAgICAgImdldF9sb2NhbCI6
ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMyLCAicmV0
dXJuIjogWyJsb2NhbCJdLCAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAg
ICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJsb2NhbF9pbmRleCIsICAgICJ0eXBlIjogInZhcnVp
bnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAicmVhZCBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciIgfSwKLSAgICAgICAg
InNldF9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVl
IjogIDMzLCAicmV0dXJuIjogW10sICAgICAgICAgICAicGFyYW1ldGVyIjogWyJsb2NhbCJdLCAg
ICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJsb2NhbF9pbmRleCIsICAgICJ0
eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAid3JpdGUgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIi
IH0sCi0gICAgICAgICJ0ZWVfbG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lh
bCIsICAgICJ2YWx1ZSI6ICAzNCwgInJldHVybiI6IFsicHJldiJdLCAgICAgInBhcmFtZXRlciI6
IFsiYW55Il0sICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxf
aW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIndyaXRlIGEgbG9jYWwgdmFyaWFibGUg
b3IgcGFyYW1ldGVyIGFuZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUiIH0sCi0gICAgICAgICJnZXRf
Z2xvYmFsIjogICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICAz
NSwgInJldHVybiI6IFsiZ2xvYmFsIl0sICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAg
ICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAiZ2xvYmFsX2luZGV4IiwgICAidHlwZSI6
ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogInJlYWQgYSBnbG9iYWwgdmFyaWFibGUiIH0sCi0gICAgICAgICJzZXRf
Z2xvYmFsIjogICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICAz
NiwgInJldHVybiI6IFsiIl0sICAgICAgICAgInBhcmFtZXRlciI6IFsiZ2xvYmFsIl0sICAgICAg
ICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAiZ2xvYmFsX2luZGV4IiwgICAidHlwZSI6
ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIndyaXRlIGEgZ2xvYmFsIHZhcmlhYmxlIiB9LAorICAgICAgICAiZjY0
LmNvbnN0IjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAg
NjgsICJyZXR1cm4iOiBbImY2NCJdLCAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAg
ICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInZhbHVlIiwgICAgICAgICAgInR5cGUi
OiAiZG91YmxlIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJhIGNvbnN0YW50IHZhbHVlIGludGVycHJldGVkIGFzIGY2NCIgfSwK
KyAgICAgICAgImYzMi5jb25zdCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwg
ICAgInZhbHVlIjogIDY3LCAicmV0dXJuIjogWyJmMzIiXSwgICAgICAicGFyYW1ldGVyIjogW10s
ICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ2YWx1ZSIsICAg
ICAgICAgICJ0eXBlIjogImZsb2F0In1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJhIGNvbnN0YW50IHZhbHVlIGludGVycHJldGVk
IGFzIGYzMiIgfSwKKyAgICAgICAgImdldF9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6
ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMyLCAicmV0dXJuIjogWyJhbnkiXSwgICAgInBhcmFt
ZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAi
bG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogInJlYWQgYSBsb2NhbCB2YXJp
YWJsZSBvciBwYXJhbWV0ZXIiIH0sCisgICAgICAgICJzZXRfbG9jYWwiOiAgICAgICAgICAgeyAi
Y2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICAzMywgInJldHVybiI6IFtdLCAgICAg
ICAgICAgInBhcmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBb
eyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAgInR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJ3cml0ZSBh
IGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciIgfSwKKyAgICAgICAgInRlZV9sb2NhbCI6ICAg
ICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDM0LCAicmV0dXJu
IjogWyJhbnkiXSwgICAgICJwYXJhbWV0ZXIiOiBbImFueSJdLCAgICAgICAgICAgICAgICAgICJp
bW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAgInR5cGUiOiAidmFydWludDMy
In1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJ3cml0ZSBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciBhbmQgcmV0dXJuIHRoZSBz
YW1lIHZhbHVlIiB9LAorICAgICAgICAiZ2V0X2dsb2JhbCI6ICAgICAgICAgIHsgImNhdGVnb3J5
IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgMzUsICJyZXR1cm4iOiBbImFueSJdLCAgICJwYXJh
bWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjog
Imdsb2JhbF9pbmRleCIsICAgInR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJyZWFkIGEgZ2xvYmFsIHZh
cmlhYmxlIiB9LAorICAgICAgICAic2V0X2dsb2JhbCI6ICAgICAgICAgIHsgImNhdGVnb3J5Ijog
InNwZWNpYWwiLCAgICAidmFsdWUiOiAgMzYsICJyZXR1cm4iOiBbXSwgICAgICAgICAicGFyYW1l
dGVyIjogWyJhbnkiXSwgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJnbG9i
YWxfaW5kZXgiLCAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAid3JpdGUgYSBnbG9iYWwgdmFyaWFi
bGUiIH0sCiAgICAgICAgICJjYWxsIjogICAgICAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAiY2Fs
bCIsICAgICAgICJ2YWx1ZSI6ICAxNiwgInJldHVybiI6IFsiY2FsbCJdLCAgICAgInBhcmFtZXRl
ciI6IFsiY2FsbCJdLCAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAiZnVu
Y3Rpb25faW5kZXgiLCAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImNhbGwgYSBmdW5jdGlvbiBieSBp
dHMgaW5kZXgiIH0sCiAgICAgICAgICJjYWxsX2luZGlyZWN0IjogICAgICAgeyAiY2F0ZWdvcnki
OiAiY2FsbCIsICAgICAgICJ2YWx1ZSI6ICAxNywgInJldHVybiI6IFsiY2FsbCJdLCAgICAgInBh
cmFtZXRlciI6IFsiY2FsbCJdLCAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUi
OiAidHlwZV9pbmRleCIsICAgICAidHlwZSI6ICJ2YXJ1aW50MzIifSwgeyJuYW1lIjogInJlc2Vy
dmVkIiwgICAgICJ0eXBlIjogInZhcnVpbnQxIn1dLCAiZGVzY3JpcHRpb24iOiAiY2FsbCBhIGZ1
bmN0aW9uIGluZGlyZWN0IHdpdGggYW4gZXhwZWN0ZWQgc2lnbmF0dXJlIiB9LAogICAgICAgICAi
aTMyLmxvYWQ4X3MiOiAgICAgICAgIHsgImNhdGVnb3J5IjogIm1lbW9yeSIsICAgICAidmFsdWUi
OiAgNDQsICJyZXR1cm4iOiBbImkzMiJdLCAgICAgICJwYXJhbWV0ZXIiOiBbImFkZHIiXSwgICAg
ICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImZsYWdzIiwgICAgICAgICAgInR5
cGUiOiAidmFydWludDMyIn0sIHsibmFtZSI6ICJvZmZzZXQiLCAidHlwZSI6ICJ2YXJ1aW50MzIi
fV0sICJkZXNjcmlwdGlvbiI6ICJsb2FkIGZyb20gbWVtb3J5IiB9LApkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBiZjE3MDM3ZWE4MTdjZDMz
ZWMyMWJmN2MyM2Y4OTk0YjNiOWY5MWI1Li44ZTUyMGQzYWY0NTNiNDI4NzhhOGMxZTI3MTZkZWEx
NWFlMzliOWU0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE2LTEyLTE0ICBLZWl0aCBNaWxsZXIgIDxrZWl0
aF9taWxsZXJAYXBwbGUuY29tPgogCisgICAgICAgIFdhc20gc2hvdWxkIGRlY29kZSBjb25zdGFu
dHMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjU4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdhc20vQnVpbGRlci5qczoKKyAgICAgICAgKGNvbnN0Ll9pc1ZhbGlkVmFsdWUpOgor
ICAgICAgICAqIHdhc20vQnVpbGRlcl9XZWJBc3NlbWJseUJpbmFyeS5qczoKKyAgICAgICAgKGNv
bnN0LnB1dE9wKToKKyAgICAgICAgKiB3YXNtL0xvd0xldmVsQmluYXJ5LmpzOgorICAgICAgICAo
ZXhwb3J0LmRlZmF1bHQuTG93TGV2ZWxCaW5hcnkucHJvdG90eXBlLmZsb2F0KToKKyAgICAgICAg
KGV4cG9ydC5kZWZhdWx0Lkxvd0xldmVsQmluYXJ5LnByb3RvdHlwZS5kb3VibGUpOgorICAgICAg
ICAqIHdhc20vZnVuY3Rpb24tdGVzdHMvZjMyLWNvbnN0LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3
YXNtL2Z1bmN0aW9uLXRlc3RzL2Y2NC1jb25zdC5qczogQWRkZWQuCisgICAgICAgICogd2FzbS9m
dW5jdGlvbi10ZXN0cy9pMzItY29uc3QuanM6IEFkZGVkLgorICAgICAgICAqIHdhc20vd2FzbS5q
c29uOgorCisyMDE2LTEyLTE0ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYkFzc2VtYmx5IEpTIEFQSTogaW1wbGVtZW50IEdsb2JhbAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MTMzCiAKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvd2FzbS9CdWlsZGVyLmpzIGIvSlNUZXN0cy93YXNtL0J1aWxkZXIuanMK
aW5kZXggMTE1NzJkYTM0ZDYxNTEwM2NlZGE4MDBlZGEyYzQ3Y2U0YzQwYTQ5MC4uYzY1MTg2MzBk
NTViYzk3MDMyM2JjNjJmYTExZTczZGE3ZWZhZTA4NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy93YXNt
L0J1aWxkZXIuanMKKysrIGIvSlNUZXN0cy93YXNtL0J1aWxkZXIuanMKQEAgLTI1LDYgKzI1LDcg
QEAKIAogaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydC5qcyc7CiBpbXBvcnQgKiBhcyBC
dWlsZFdlYkFzc2VtYmx5IGZyb20gJ0J1aWxkZXJfV2ViQXNzZW1ibHlCaW5hcnkuanMnOworaW1w
b3J0ICogYXMgTG93TGV2ZWxCaW5hcnkgZnJvbSAnTG93TGV2ZWxCaW5hcnkuanMnOwogaW1wb3J0
ICogYXMgV0FTTSBmcm9tICdXQVNNLmpzJzsKIAogY29uc3QgX3RvSmF2YVNjcmlwdE5hbWUgPSBu
YW1lID0+IHsKQEAgLTM1LDcgKzM2LDggQEAgY29uc3QgX3RvSmF2YVNjcmlwdE5hbWUgPSBuYW1l
ID0+IHsKIAogY29uc3QgX2lzVmFsaWRWYWx1ZSA9ICh2YWx1ZSwgdHlwZSkgPT4gewogICAgIHN3
aXRjaCAodHlwZSkgewotICAgIGNhc2UgImkzMiI6IHJldHVybiAoKHZhbHVlICYgMHhGRkZGRkZG
RikgPj4+IDApID09PSB2YWx1ZTsKKyAgICAvLyBXZSBhbGxvdyBib3RoIHNpZ25lZCBhbmQgdW5z
aWduZWQgbnVtYmVycy4KKyAgICBjYXNlICJpMzIiOiByZXR1cm4gTG93TGV2ZWxCaW5hcnkudmFy
aW50MzJNaW4gPD0gdmFsdWUgJiYgdmFsdWUgPD0gTG93TGV2ZWxCaW5hcnkudmFydWludDMyTWF4
OwogICAgIGNhc2UgImk2NCI6IHRocm93IG5ldyBFcnJvcihgVW5pbXBsZW1lbnRlZDogdmFsdWUg
Y2hlY2sgZm9yICR7dHlwZX1gKTsgLy8gRklYTUUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MzQyMCA2NC1iaXQgdmFsdWVzCiAgICAgY2FzZSAiZjMyIjogcmV0dXJu
IHR5cGVvZih2YWx1ZSkgPT09ICJudW1iZXIiICYmIGlzRmluaXRlKHZhbHVlKTsKICAgICBjYXNl
ICJmNjQiOiByZXR1cm4gdHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIgJiYgaXNGaW5pdGUodmFs
dWUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL0J1aWxkZXJfV2ViQXNzZW1ibHlCaW5hcnku
anMgYi9KU1Rlc3RzL3dhc20vQnVpbGRlcl9XZWJBc3NlbWJseUJpbmFyeS5qcwppbmRleCBjYWNl
YmUzYzNjN2RkZTkzMzBlZmU3ZGM1MmU2NTE0MjI1MzIwZDAzLi5iNDEzNzIyYTczMDY0YWM3N2Fj
ZTYyODgyYjliYzAwMzVlZmIwY2MzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3dhc20vQnVpbGRlcl9X
ZWJBc3NlbWJseUJpbmFyeS5qcworKysgYi9KU1Rlc3RzL3dhc20vQnVpbGRlcl9XZWJBc3NlbWJs
eUJpbmFyeS5qcwpAQCAtNzIsNiArNzIsMTUgQEAgY29uc3QgcHV0T3AgPSAoYmluLCBvcCkgPT4g
ewogICAgICAgICAgICAgcHV0KGJpbiwgdHlwZSwgb3AuaW1tZWRpYXRlc1tpXSk7CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CisgICAgY2FzZSAiaTMyLmNvbnN0IjogeworICAgICAgICBhc3Nl
cnQuZXEob3AuaW1tZWRpYXRlcy5sZW5ndGgsIDEpOworICAgICAgICBsZXQgaW1tID0gb3AuaW1t
ZWRpYXRlc1swXTsKKyAgICAgICAgLy8gRG8gYSBzdGF0aWMgY2FzdCB0byBtYWtlIGxhcmdlIGlu
dDMycyBzaWduZWQuCisgICAgICAgIGlmIChpbW0gPiBMb3dMZXZlbEJpbmFyeS52YXJpbnQzMk1h
eCkKKyAgICAgICAgICAgIGltbSA9IGltbSAtIExvd0xldmVsQmluYXJ5LnZhcnVpbnQzMk1heDsK
KyAgICAgICAgcHV0KGJpbiwgInZhcmludDMyIiwgaW1tKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQogICAgIGNhc2UgImJyX3RhYmxlIjoKICAgICAgICAgcHV0KGJpbiwgInZhcnVpbnQzMiIsIG9w
LmltbWVkaWF0ZXMubGVuZ3RoIC0gMSk7CiAgICAgICAgIGZvciAobGV0IGltbSBvZiBvcC5pbW1l
ZGlhdGVzKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL0xvd0xldmVsQmluYXJ5LmpzIGIvSlNU
ZXN0cy93YXNtL0xvd0xldmVsQmluYXJ5LmpzCmluZGV4IGVlNGZiYmNlNDEyYWQyYWY1NjNlNWY2
ZjQ4MWRhOTQwZDlkOWY3YWQuLmI5YzgwNTBhZGQ5ZjUwMTI3N2EyYzE1ZDg3ZWM4NGM3NTY4ZTE2
OTggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvd2FzbS9Mb3dMZXZlbEJpbmFyeS5qcworKysgYi9KU1Rl
c3RzL3dhc20vTG93TGV2ZWxCaW5hcnkuanMKQEAgLTEyMiw2ICsxMjIsMzAgQEAgZXhwb3J0IGRl
ZmF1bHQgY2xhc3MgTG93TGV2ZWxCaW5hcnkgewogICAgICAgICB0aGlzLl9wdXNoOCh2ID4+PiAx
Nik7CiAgICAgICAgIHRoaXMuX3B1c2g4KHYgPj4+IDI0KTsKICAgICB9CisgICAgZmxvYXQodikg
eworICAgICAgICBpZiAoaXNOYU4odikpCisgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJv
cigiV2UgY2Fubm90IHdyaXRlIE5hTnMgeWV0Iik7CisgICAgICAgIC8vIFVuZm9ydHVuYXRlbHks
IHdlIGNhbm5vdCBqdXN0IHZpZXcgdGhlIGFjdHVhbCBidWZmZXIgYXMgYSBGbG9hdDMyQXJyYXkg
c2luY2UgaXQgbmVlZHMgdG8gYmUgNCBieXRlIGFsaWduZWQKKyAgICAgICAgbGV0IGJ1ZmZlciA9
IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAgICAgICAgbGV0IGZsb2F0VmlldyA9IG5ldyBGbG9hdDMy
QXJyYXkoYnVmZmVyKTsKKyAgICAgICAgbGV0IGludDhWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVm
ZmVyKTsKKyAgICAgICAgZmxvYXRWaWV3WzBdID0gdjsKKyAgICAgICAgZm9yIChsZXQgYnl0ZSBv
ZiBpbnQ4VmlldykKKyAgICAgICAgICAgIHRoaXMuX3B1c2g4KGJ5dGUpOworICAgIH0KKworICAg
IGRvdWJsZSh2KSB7CisgICAgICAgIGlmIChpc05hTih2KSkKKyAgICAgICAgICAgIHRocm93IG5l
dyBSYW5nZUVycm9yKCJXZSBjYW5ub3Qgd3JpdGUgTmFOcyB5ZXQiKTsKKyAgICAgICAgLy8gVW5m
b3J0dW5hdGVseSwgd2UgY2Fubm90IGp1c3QgdmlldyB0aGUgYWN0dWFsIGJ1ZmZlciBhcyBhIEZs
b2F0MzJBcnJheSBzaW5jZSBpdCBuZWVkcyB0byBiZSA0IGJ5dGUgYWxpZ25lZAorICAgICAgICBs
ZXQgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDgpOworICAgICAgICBsZXQgZmxvYXRWaWV3ID0g
bmV3IEZsb2F0NjRBcnJheShidWZmZXIpOworICAgICAgICBsZXQgaW50OFZpZXcgPSBuZXcgVWlu
dDhBcnJheShidWZmZXIpOworICAgICAgICBmbG9hdFZpZXdbMF0gPSB2OworICAgICAgICBmb3Ig
KGxldCBieXRlIG9mIGludDhWaWV3KQorICAgICAgICAgICAgdGhpcy5fcHVzaDgoYnl0ZSk7Cisg
ICAgfQorCiAgICAgdmFydWludDMyKHYpIHsKICAgICAgICAgYXNzZXJ0LmlzTnVtYmVyKHYpOwog
ICAgICAgICBpZiAodiA8IHZhcnVpbnQzMk1pbiB8fCB2YXJ1aW50MzJNYXggPCB2KQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2YzMi1jb25zdC5qcyBiL0pTVGVzdHMv
d2FzbS9mdW5jdGlvbi10ZXN0cy9mMzItY29uc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc2YmVhZjkwOWVh
NjgyNzc3OTIzNWU1Y2VmZDYzOTA0ODI3MzE1ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
d2FzbS9mdW5jdGlvbi10ZXN0cy9mMzItY29uc3QuanMKQEAgLTAsMCArMSwyNiBAQAoraW1wb3J0
ICogYXMgYXNzZXJ0IGZyb20gJy4uL2Fzc2VydC5qcyc7CitpbXBvcnQgQnVpbGRlciBmcm9tICcu
Li9CdWlsZGVyLmpzJzsKKworY29uc3QgYnVpbGRlciA9IChuZXcgQnVpbGRlcigpKQorICAgICAg
LlR5cGUoKS5FbmQoKQorICAgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAgIC5FeHBvcnQoKQor
ICAgICAgICAgIC5GdW5jdGlvbigiYW5zd2VyIikKKyAgICAgICAgICAuRnVuY3Rpb24oIm1pbklu
dCIpCisgICAgICAuRW5kKCkKKyAgICAgIC5Db2RlKCkKKyAgICAgICAgICAuRnVuY3Rpb24oImFu
c3dlciIsIHsgcGFyYW1zOiBbXSwgcmV0OiAiZjMyIiB9KQorICAgICAgICAgICAgICAuRjMyQ29u
c3QoLjUpCisgICAgICAgICAgLkVuZCgpCisKKyAgICAgICAgICAuRnVuY3Rpb24oIm1pbkludCIs
IHsgcGFyYW1zOiBbXSwgcmV0OiAiZjMyIiB9KQorICAgICAgICAgICAgIC5GMzJDb25zdCgtMSkK
KyAgICAgICAgICAuRW5kKCkKKworICAgICAgLkVuZCgpOworCitjb25zdCBiaW4gPSBidWlsZGVy
LldlYkFzc2VtYmx5KCkuZ2V0KCk7Citjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9k
dWxlKGJpbik7Citjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1
bGUpOworYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuYW5zd2VyKCksIC41KTsKK2Fzc2VydC5l
cShpbnN0YW5jZS5leHBvcnRzLm1pbkludCgpLCAtMSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3dh
c20vZnVuY3Rpb24tdGVzdHMvZjY0LWNvbnN0LmpzIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRl
c3RzL2Y2NC1jb25zdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWRmYzIxYWMyZjhhZTAwYTk2NjA4ODg2OTVk
ZDc2ZjlhYjQ3YjJlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRl
c3RzL2Y2NC1jb25zdC5qcwpAQCAtMCwwICsxLDI2IEBACitpbXBvcnQgKiBhcyBhc3NlcnQgZnJv
bSAnLi4vYXNzZXJ0LmpzJzsKK2ltcG9ydCBCdWlsZGVyIGZyb20gJy4uL0J1aWxkZXIuanMnOwor
Citjb25zdCBidWlsZGVyID0gKG5ldyBCdWlsZGVyKCkpCisgICAgICAuVHlwZSgpLkVuZCgpCisg
ICAgICAuRnVuY3Rpb24oKS5FbmQoKQorICAgICAgLkV4cG9ydCgpCisgICAgICAgICAgLkZ1bmN0
aW9uKCJhbnN3ZXIiKQorICAgICAgICAgIC5GdW5jdGlvbigibWluSW50IikKKyAgICAgIC5FbmQo
KQorICAgICAgLkNvZGUoKQorICAgICAgICAgIC5GdW5jdGlvbigiYW5zd2VyIiwgeyBwYXJhbXM6
IFtdLCByZXQ6ICJmNjQiIH0pCisgICAgICAgICAgICAgIC5GNjRDb25zdCg0Mi40MjQyNDIpCisg
ICAgICAgICAgLkVuZCgpCisKKyAgICAgICAgICAuRnVuY3Rpb24oIm1pbkludCIsIHsgcGFyYW1z
OiBbXSwgcmV0OiAiZjY0IiB9KQorICAgICAgICAgICAgIC5GNjRDb25zdCgtMSkKKyAgICAgICAg
ICAuRW5kKCkKKworICAgICAgLkVuZCgpOworCitjb25zdCBiaW4gPSBidWlsZGVyLldlYkFzc2Vt
Ymx5KCkuZ2V0KCk7Citjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbik7
Citjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOworYXNz
ZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuYW5zd2VyKCksIDQyLjQyNDI0Mik7Cithc3NlcnQuZXEo
aW5zdGFuY2UuZXhwb3J0cy5taW5JbnQoKSwgLTEpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNt
L2Z1bmN0aW9uLXRlc3RzL2kzMi1jb25zdC5qcyBiL0pTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0
cy9pMzItY29uc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTFhZWFhOGNhNDY1NTM5ZDFhOWI1ZDFhZDJjMDFl
ZWY5NjA1NDVmNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0
cy9pMzItY29uc3QuanMKQEAgLTAsMCArMSwyNyBAQAoraW1wb3J0ICogYXMgYXNzZXJ0IGZyb20g
Jy4uL2Fzc2VydC5qcyc7CitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWlsZGVyLmpzJzsKKwor
Citjb25zdCBidWlsZGVyID0gKG5ldyBCdWlsZGVyKCkpCisgICAgICAuVHlwZSgpLkVuZCgpCisg
ICAgICAuRnVuY3Rpb24oKS5FbmQoKQorICAgICAgLkV4cG9ydCgpCisgICAgICAgICAgLkZ1bmN0
aW9uKCJhbnN3ZXIiKQorICAgICAgICAgIC5GdW5jdGlvbigibWluSW50IikKKyAgICAgIC5FbmQo
KQorICAgICAgLkNvZGUoKQorICAgICAgICAgIC5GdW5jdGlvbigiYW5zd2VyIiwgeyBwYXJhbXM6
IFtdLCByZXQ6ICJpMzIiIH0pCisgICAgICAgICAgICAgIC5JMzJDb25zdCg0MikKKyAgICAgICAg
ICAuRW5kKCkKKworICAgICAgICAgIC5GdW5jdGlvbigibWluSW50IiwgeyBwYXJhbXM6IFtdLCBy
ZXQ6ICJpMzIiIH0pCisgICAgICAgICAgICAgLkkzMkNvbnN0KC0xKQorICAgICAgICAgIC5FbmQo
KQorCisgICAgICAuRW5kKCk7CisKK2NvbnN0IGJpbiA9IGJ1aWxkZXIuV2ViQXNzZW1ibHkoKS5n
ZXQoKTsKK2NvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKTsKK2NvbnN0
IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk7Cithc3NlcnQuZXEo
aW5zdGFuY2UuZXhwb3J0cy5hbnN3ZXIoKSwgNDIpOworYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9y
dHMubWluSW50KCksIC0xKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvd2FzbS93YXNtLmpzb24gYi9K
U1Rlc3RzL3dhc20vd2FzbS5qc29uCmluZGV4IGNmN2U2YzYyOTFiNjZjZDhkNzg0Zjk5NTMyYzlh
ZTM2NTMzODhiY2QuLjA0MjAwMWMwZDEwMDE0MGMwZWI3YzU3MmMzNjYxYzkyY2RiODg5N2MgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvd2FzbS93YXNtLmpzb24KKysrIGIvSlNUZXN0cy93YXNtL3dhc20u
anNvbgpAQCAtNTYsOCArNTYsOCBAQAogICAgICAgICAiZW5kIjogICAgICAgICAgICAgICAgIHsg
ImNhdGVnb3J5IjogImNvbnRyb2wiLCAgICAidmFsdWUiOiAgMTEsICJyZXR1cm4iOiBbXSwgICAg
ICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUi
OiBbXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJlbmQg
YSBibG9jaywgbG9vcCwgb3IgaWYiIH0sCiAgICAgICAgICJpMzIuY29uc3QiOiAgICAgICAgICAg
eyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICA2NSwgInJldHVybiI6IFsiaTMy
Il0sICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0
ZSI6IFt7Im5hbWUiOiAidmFsdWUiLCAgICAgICAgICAidHlwZSI6ICJ2YXJpbnQzMiJ9XSwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImEg
Y29uc3RhbnQgdmFsdWUgaW50ZXJwcmV0ZWQgYXMgaTMyIiB9LAogICAgICAgICAiaTY0LmNvbnN0
IjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgNjYsICJy
ZXR1cm4iOiBbImk2NCJdLCAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAg
ICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInZhbHVlIiwgICAgICAgICAgInR5cGUiOiAidmFy
aW50NjQifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJhIGNvbnN0YW50IHZhbHVlIGludGVycHJldGVkIGFzIGk2NCIgfSwKLSAgICAg
ICAgImY2NC5jb25zdCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZh
bHVlIjogIDY4LCAicmV0dXJuIjogWyJmNjQiXSwgICAgICAicGFyYW1ldGVyIjogW10sICAgICAg
ICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ2YWx1ZSIsICAgICAgICAg
ICJ0eXBlIjogInVpbnQ2NCJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiYSBjb25zdGFudCB2YWx1ZSBpbnRlcnByZXRlZCBhcyBm
NjQiIH0sCi0gICAgICAgICJmMzIuY29uc3QiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3Bl
Y2lhbCIsICAgICJ2YWx1ZSI6ICA2NywgInJldHVybiI6IFsiZjMyIl0sICAgICAgInBhcmFtZXRl
ciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAidmFs
dWUiLCAgICAgICAgICAidHlwZSI6ICJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImEgY29uc3RhbnQgdmFsdWUgaW50
ZXJwcmV0ZWQgYXMgZjMyIiB9LAorICAgICAgICAiZjY0LmNvbnN0IjogICAgICAgICAgIHsgImNh
dGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgNjgsICJyZXR1cm4iOiBbImY2NCJdLCAg
ICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBb
eyJuYW1lIjogInZhbHVlIiwgICAgICAgICAgInR5cGUiOiAiZG91YmxlIn1dLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJhIGNvbnN0
YW50IHZhbHVlIGludGVycHJldGVkIGFzIGY2NCIgfSwKKyAgICAgICAgImYzMi5jb25zdCI6ICAg
ICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDY3LCAicmV0dXJu
IjogWyJmMzIiXSwgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAgICAi
aW1tZWRpYXRlIjogW3sibmFtZSI6ICJ2YWx1ZSIsICAgICAgICAgICJ0eXBlIjogImZsb2F0In1d
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJhIGNvbnN0YW50IHZhbHVlIGludGVycHJldGVkIGFzIGYzMiIgfSwKICAgICAgICAgImdl
dF9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjog
IDMyLCAicmV0dXJuIjogWyJhbnkiXSwgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAg
ICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6
ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogInJlYWQgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIiIH0sCiAg
ICAgICAgICJzZXRfbG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAg
ICJ2YWx1ZSI6ICAzMywgInJldHVybiI6IFtdLCAgICAgICAgICAgInBhcmFtZXRlciI6IFsiYW55
Il0sICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4Iiwg
ICAgInR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJ3cml0ZSBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFt
ZXRlciIgfSwKICAgICAgICAgInRlZV9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJz
cGVjaWFsIiwgICAgInZhbHVlIjogIDM0LCAicmV0dXJuIjogWyJhbnkiXSwgICAgICJwYXJhbWV0
ZXIiOiBbImFueSJdLCAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxv
Y2FsX2luZGV4IiwgICAgInR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJ3cml0ZSBhIGxvY2FsIHZhcmlh
YmxlIG9yIHBhcmFtZXRlciBhbmQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIiB9LAo=
</data>
<flag name="review"
          id="319490"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>