<?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>169839</bug_id>
          
          <creation_ts>2017-03-17 16:46:03 -0700</creation_ts>
          <short_desc>`const location = &quot;foo&quot;` throws in a worker</short_desc>
          <delta_ts>2017-03-19 10:45:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>http://www.ecma-international.org/ecma-262/6.0/index.html#sec-hasrestrictedglobalproperty</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>168023</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</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>1289200</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-17 16:46:03 -0700</bug_when>
    <thetext>`const location = &quot;foo&quot;` throws in a worker:
SyntaxError: Can&apos;t create duplicate variable that shadows a global property: &apos;location&apos;

It does not throw in Chrome.

location has a &quot;location&quot; property getter on its prototype but does not have an OWN location property. Therefore, Chrome&apos;s behavior seems to make more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289262</commentid>
    <comment_count>1</comment_count>
      <attachid>304864</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-17 23:14:27 -0700</bug_when>
    <thetext>Created attachment 304864
WIP patch

Causes the following layout test to fail:
- js/dom/const.html (But this test also fails in Firefox and Chrome in the same way so the test may be wrong)

Causes the following JSC tests to fail:
ChakraCore.yaml/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.js.default
stress/global-lexical-redeclare-variable.js.default

stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: Exception: Error: bad assertion
stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: assert@global-lexical-redeclare-variable.js:12:24
stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: global code@global-lexical-redeclare-variable.js:112:11
stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: ERROR: Unexpected exit code: 3
ChakraCore.yaml/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.js.default: Expected uncaught exception with name &apos;ReferenceError&apos; but exception value is not instance of this exception class
ChakraCore.yaml/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.js.default: Exception: SyntaxError: Can&apos;t create duplicate variable that shadows a global property: &apos;undefined&apos;
ChakraCore.yaml/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.js.default: ERROR: Unexpected exit code: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289263</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-17 23:22:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 304864 [details]
&gt; WIP patch
&gt; 
&gt; Causes the following layout test to fail:
&gt; - js/dom/const.html (But this test also fails in Firefox and Chrome in the
&gt; same way so the test may be wrong)
&gt; 
&gt; Causes the following JSC tests to fail:
&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default
&gt; stress/global-lexical-redeclare-variable.js.default
&gt; 
&gt; stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: Exception:
&gt; Error: bad assertion
&gt; stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit:
&gt; assert@global-lexical-redeclare-variable.js:12:24
&gt; stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: global
&gt; code@global-lexical-redeclare-variable.js:112:11
&gt; stress/global-lexical-redeclare-variable.js.ftl-eager-no-cjit: ERROR:
&gt; Unexpected exit code: 3

For this particular failure. The test does:
Object.defineProperty(this, &apos;zoo&apos;, {value: undefined, configurable: false, writable: true});
let zoo = 2;

This used to not throw and now it does with my change. This throws in both Firefox and Chrome so I suspect that the test is wrong. The previous code was not throwing when the value was undefined but I believe this was a misinterpretation of the spec which said:
&quot;&quot;&quot;
Let existingProp be globalObject.[[GetOwnProperty]](N).
If existingProp is undefined, return false.
&quot;&quot;&quot;

My understanding is that this means we should return false if there is no own property N, not if there is a property N whose value is undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289264</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-17 23:34:22 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 304864 [details]
&gt; WIP patch
&gt; 
&gt; Causes the following layout test to fail:
&gt; - js/dom/const.html (But this test also fails in Firefox and Chrome in the
&gt; same way so the test may be wrong)
&gt; 
&gt; Causes the following JSC tests to fail:
&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default

&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default: Expected
&gt; uncaught exception with name &apos;ReferenceError&apos; but exception value is not
&gt; instance of this exception class
&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default: Exception:
&gt; SyntaxError: Can&apos;t create duplicate variable that shadows a global property:
&gt; &apos;undefined&apos;
&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default: ERROR:
&gt; Unexpected exit code: 3

The test looks like:
// Non-configurable global properties are not shadowable.  Instead this causes an early error.
print(undefined); // shouldn&apos;t execute
let undefined = &quot;foo&quot;;
print(undefined); // shouldn&apos;t execute

Previously, the following wouldn&apos;t throw:
let undefined = &quot;foo&quot;;

With my change, it now throws, which seems to align us with Firefox and Chrome. So I believe this is the behavior change here. However, I am not clear on what the test does with those print() statement and why it says they should not execute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289291</commentid>
    <comment_count>4</comment_count>
      <attachid>304872</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-18 10:48:57 -0700</bug_when>
    <thetext>Created attachment 304872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289293</commentid>
    <comment_count>5</comment_count>
      <attachid>304872</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-18 10:53:08 -0700</bug_when>
    <thetext>Comment on attachment 304872
Patch

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

&gt; JSTests/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.baseline-jsc:1
&gt; +Exception: SyntaxError: Can&apos;t create duplicate variable that shadows a global property: &apos;undefined&apos;.

Is this the right way to rebaseline a JSC test? I think the test still fails and the error seems to indicate it still expects a ReferenceError for some reason...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289295</commentid>
    <comment_count>6</comment_count>
      <attachid>304872</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-03-18 11:27:59 -0700</bug_when>
    <thetext>Comment on attachment 304872
Patch

Attachment 304872 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/3357487

New failing tests:
ChakraCore.yaml/ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.js.default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289296</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-18 12:26:13 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 304872 [details]
&gt; Patch
&gt; 
&gt; Attachment 304872 [details] did not pass jsc-ews (mac):
&gt; Output: http://webkit-queues.webkit.org/results/3357487
&gt; 
&gt; New failing tests:
&gt; ChakraCore.yaml/ChakraCore/test/es6/
&gt; letconst_global_shadow_builtins_nonconfigurable.js.default

Help would be appreciated. I tried to rebaseline this test in my patch but it still expects a ReferenceError for some reason.


The test does a:
Let undefined = something;

Which should throw a SyntaxError since it is trying to redefine the global property named undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289337</commentid>
    <comment_count>8</comment_count>
      <attachid>304887</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-18 17:06:15 -0700</bug_when>
    <thetext>Created attachment 304887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289338</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-18 17:06:50 -0700</bug_when>
    <thetext>Ok, looks like I figured it out. There was a yaml file to edit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289375</commentid>
    <comment_count>10</comment_count>
      <attachid>304887</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-19 09:27:04 -0700</bug_when>
    <thetext>Comment on attachment 304887
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Our HasRestrictedGlobalProperty check is JSC was slightly wrong, causing us

typo: /is/in/

&gt; Source/JavaScriptCore/runtime/ProgramExecutable.cpp:133
&gt; +            if (hasRestrictedGlobalProperty(globalObject, entry.key.get()))

nit: you should pass exec to hasRestrictedGlobalProperty() here instead of having it call JSGlobalObject::globalExec() to recompute it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289378</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-19 10:45:45 -0700</bug_when>
    <thetext>Committed r214145: &lt;http://trac.webkit.org/changeset/214145&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304864</attachid>
            <date>2017-03-17 23:14:27 -0700</date>
            <delta_ts>2017-03-18 10:48:49 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>169839_const_wip.patch</filename>
            <type>text/plain</type>
            <size>2942</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRh
YmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRhYmxl
LmNwcAppbmRleCA2YTRmOTRhZTdjYi4uM2Y4MmRjOTBhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHAKQEAgLTcyLDYgKzcy
LDE3IEBAIEpTT2JqZWN0KiBQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgoRXhlY1N0YXRl
KiBleGVjKQogICAgIHJldHVybiBlcnJvci50b0Vycm9yT2JqZWN0KGxleGljYWxHbG9iYWxPYmpl
Y3QsIG1fc291cmNlKTsKIH0KIAorLy8gaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3Jn
L2VjbWEtMjYyLzYuMC9pbmRleC5odG1sI3NlYy1oYXNyZXN0cmljdGVkZ2xvYmFscHJvcGVydHkK
K3N0YXRpYyBib29sIGhhc1Jlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQoreworICAgIFByb3BlcnR5
RGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgIGlmICghZ2xvYmFsT2JqZWN0LT5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIHByb3BlcnR5TmFtZSwg
ZGVzY3JpcHRvcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZGVzY3JpcHRvci5j
b25maWd1cmFibGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwor
fQorCiBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFibGU6OmluaXRpYWxpemVHbG9iYWxQcm9wZXJ0
aWVzKFZNJiB2bSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTU2NvcGUqIHNjb3BlKQogewogICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTE4LDE5ICsx
MjksMTEgQEAgSlNPYmplY3QqIFByb2dyYW1FeGVjdXRhYmxlOjppbml0aWFsaXplR2xvYmFsUHJv
cGVydGllcyhWTSYgdm0sIENhbGxGcmFtZSogY2FsbEYKICAgICAgICAgLy8gQ2hlY2sgaWYgYW55
IG5ldyAibGV0Ii8iY29uc3QiLyJjbGFzcyIgd2lsbCBzaGFkb3cgYW55IHByZS1leGlzdGluZyBn
bG9iYWwgcHJvcGVydHkgbmFtZXMsIG9yICJ2YXIiLyJsZXQiLyJjb25zdCIgdmFyaWFibGVzLgog
ICAgICAgICAvLyBJdCdzIGFuIGVycm9yIHRvIGludHJvZHVjZSBhIHNoYWRvdy4KICAgICAgICAg
Zm9yIChhdXRvJiBlbnRyeSA6IGxleGljYWxEZWNsYXJhdGlvbnMpIHsKLSAgICAgICAgICAgIGJv
b2wgaGFzUHJvcGVydHkgPSBnbG9iYWxPYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIGVudHJ5Lmtl
eS5nZXQoKSk7Ci0gICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHRo
cm93U2NvcGUuZXhjZXB0aW9uKCkpOwotICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KSB7Ci0g
ICAgICAgICAgICAgICAgLy8gVGhlIEVTNiBzcGVjIHNheXMgdGhhdCBqdXN0IFJlc3RyaWN0ZWRH
bG9iYWxQcm9wZXJ0eSBjYW4ndCBiZSBzaGFkb3dlZAotICAgICAgICAgICAgICAgIC8vIFRoaXMg
Y2FycmllZCBvdXQgc2VjdGlvbiA4LjEuMS40LjE0IG9mIHRoZSBFUzYgc3BlYzogaHR0cDovL3d3
dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC9pbmRleC5odG1sI3NlYy1oYXNy
ZXN0cmljdGVkZ2xvYmFscHJvcGVydHkKLSAgICAgICAgICAgICAgICBQcm9wZXJ0eURlc2NyaXB0
b3IgZGVzY3JpcHRvcjsKLSAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihleGVjLCBlbnRyeS5rZXkuZ2V0KCksIGRlc2NyaXB0b3IpOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVlKCkgIT0ganNV
bmRlZmluZWQoKSAmJiAhZGVzY3JpcHRvci5jb25maWd1cmFibGUoKSkKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsIG1ha2VTdHJpbmcoIkNhbid0IGNy
ZWF0ZSBkdXBsaWNhdGUgdmFyaWFibGUgdGhhdCBzaGFkb3dzIGEgZ2xvYmFsIHByb3BlcnR5OiAn
IiwgU3RyaW5nKGVudHJ5LmtleS5nZXQoKSksICInIikpOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgLy8gVGhlIEVTNiBzcGVjIHNheXMgdGhhdCBSZXN0cmljdGVkR2xvYmFsUHJvcGVydHkg
Y2FuJ3QgYmUgc2hhZG93ZWQuCisgICAgICAgICAgICBpZiAoaGFzUmVzdHJpY3RlZEdsb2JhbFBy
b3BlcnR5KGdsb2JhbE9iamVjdCwgZW50cnkua2V5LmdldCgpKSkKKyAgICAgICAgICAgICAgIHJl
dHVybiBjcmVhdGVTeW50YXhFcnJvcihleGVjLCBtYWtlU3RyaW5nKCJDYW4ndCBjcmVhdGUgZHVw
bGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0eTogJyIsIFN0cmlu
ZyhlbnRyeS5rZXkuZ2V0KCkpLCAiJyIpKTsKIAotICAgICAgICAgICAgaGFzUHJvcGVydHkgPSBn
bG9iYWxMZXhpY2FsRW52aXJvbm1lbnQtPmhhc1Byb3BlcnR5KGV4ZWMsIGVudHJ5LmtleS5nZXQo
KSk7CisgICAgICAgICAgICBib29sIGhhc1Byb3BlcnR5ID0gZ2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50LT5oYXNQcm9wZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0KCkpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKTsKICAg
ICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSkgewogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShlbnRyeS52YWx1ZS5pc0NvbnN0KCkgJiYgIXZtLmdsb2JhbENvbnN0UmVkZWNsYXJhdGlvblNo
b3VsZFRocm93KCkgJiYgIWlzU3RyaWN0TW9kZSgpKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304872</attachid>
            <date>2017-03-18 10:48:57 -0700</date>
            <delta_ts>2017-03-18 17:06:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169839-20170318104857.patch</filename>
            <type>text/plain</type>
            <size>16611</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDUxMmNiNTJmMDE5M2QyY2QzOWY0Mzc2MDNjNmMxMmU1YTZjYTMyLi5iZDM5OGQzOTAzNWNhMGFi
ZjFlZmY0NWQ1Nzc4NGI2ZTY5OGE0MGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxNy0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIGBjb25zdCBsb2NhdGlvbiA9ICJmb28iYCB0aHJvd3MgaW4gYSB3b3JrZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91ciBIYXNSZXN0
cmljdGVkR2xvYmFsUHJvcGVydHkgY2hlY2sgaXMgSlNDIHdhcyBzbGlnaHRseSB3cm9uZywgY2F1
c2luZyB1cworICAgICAgICB0byBzb21ldGltZXMgdGhyb3cgYSBTeW50YXggZXhjZXB0aW9uIHdo
ZW4gd2Ugc2hvdWxkbid0IHdoZW4gZGVjbGFyaW5nIGEKKyAgICAgICAgY29uc3QvbGV0IHZhcmlh
YmxlIGFuZCBzb21ldGltZXMgbm90IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIHdlIHNob3VsZCBo
YXZlLgorCisgICAgICAgIFRoaXMgYWxpZ25zIG91ciBiZWhhdmlvciB3aXRoIEVTNiwgRmlyZWZv
eCBhbmQgQ2hyb21lLgorCisgICAgICAgICogcnVudGltZS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHA6
CisgICAgICAgIChKU0M6Omhhc1Jlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eSk6CisgICAgICAgIChK
U0M6OlByb2dyYW1FeGVjdXRhYmxlOjppbml0aWFsaXplR2xvYmFsUHJvcGVydGllcyk6CisgICAg
ICAgIFJld3JpdGUgaGFzUmVzdHJpY3RlZEdsb2JhbFByb3BlcnR5IGxvZ2ljIGFzIHBlciB0aGUg
RWNtYVNjcmlwdCBzcGVjOgorICAgICAgICAtIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFs
Lm9yZy9lY21hLTI2Mi82LjAvaW5kZXguaHRtbCNzZWMtaGFzcHJvcGVydHkKKyAgICAgICAgSW4g
cGFydGljdWxhciwgdGhleSB3ZXJlIDIgaXNzdWVzOgorICAgICAgICAtIFdlIHNob3VsZCB0aHJv
dyBhIFN5bnRheEVycm9yIGlmIGhhc1Byb3BlcnR5KCkgcmV0dXJuZWQgdHJ1ZSBidXQgZ2V0T3du
UHJvcGVydHkoKQorICAgICAgICAgIHdvdWxkIGZhaWwgdG8gcmV0dXJuIGEgZGVzY3JpcHRvci4g
VGhpcyB3b3VsZCBoYXBwZW4gZm9yIHByb3BlcnRpZXMgdGhhdCBhcmUKKyAgICAgICAgICBub3Qg
T1dOIHByb3BlcnRpZXMsIGJ1dCBkZWZpbmVkIHNvbWV3aGVyZSBpbiB0aGUgcHJvdG90eXBlIGNo
YWluLiBUaGUgc3BlYyBkb2VzCisgICAgICAgICAgbm90IHNheSB0byB1c2UgaGFzUHJvcGVydHko
KSwgb25seSBnZXRPd25Qcm9wZXJ0eSgpIGFuZCBzYXlzIHdlIHNob3VsZCByZXR1cm4KKyAgICAg
ICAgICBmYWxzZSBpZiBnZXRPd25Qcm9wZXJ0eSgpIGRvZXMgbm90IHJldHVybiBhIGRlc2NyaXB0
b3IuIFRoaXMgaXMgd2hhdCB3ZSBkbyBub3cuCisgICAgICAgIC0gV2Ugd291bGQgZmFpbCB0byB0
aHJvdyB3aGVuIGRlY2xhcmluZyBhIGxldC9jb25zdCB2YXJpYWJsZSB0aGF0IHNoYWRvd3MgYW4g
b3duCisgICAgICAgICAgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgdW5kZWZpbmVkLiBUaGlzIGlz
IGJlY2F1c2UgdGhlIHByZXZpb3VzIGNvZGUgd2FzCisgICAgICAgICAgZXhwbGljaXRseSBjaGVj
a2luZyBmb3IgdGhpcyBjYXNlLiBJIGJlbGlldmUgdGhpcyB3YXMgYSBtaXNpbnRlcnByZXRhdGlv
biBvZgorICAgICAgICAgIEVTNiB3aGljaCBzYXlzOgorICAgICAgICAgICIiIgorICAgICAgICAg
IExldCBkZXNjIGJlIE8uW1tHZXRPd25Qcm9wZXJ0eV1dKFApLgorICAgICAgICAgIElmIGRlc2Mg
aXMgdW5kZWZpbmVkLCByZXR1cm4gZmFsc2UuCisgICAgICAgICAgIiIiCisgICAgICAgICAgV2Ug
c2hvdWxkIGNoZWNrIHRoYXQgZGVzYyBpcyB1bmRlZmluZWQsIG5vdCBkZXNjLnZhbHVlLiBUaGlz
IGlzIG5vdyBmaXhlZC4KKwogMjAxNy0wMy0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFsbG93IHNldHRpbmcgdGhlIHByb3RvdHlwZSBvZiBjcm9zcy1vcmln
aW4gb2JqZWN0cywgYXMgbG9uZyBhcyB0aGV5IGRvbid0IGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwCmluZGV4IDZhNGY5
NGFlN2NiNGIwOGJiZjUzYTg1OWEyZjY2NjMzZDY2Y2Y1ODQuLjE4NjQwZTRjZWI5ZWQ3ZWE0YmVh
YmRlNGVhNmQzMTY0MzU5YzFjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb2dyYW1FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHAKQEAgLTcyLDYgKzcyLDE3IEBAIEpTT2JqZWN0
KiBQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgoRXhlY1N0YXRlKiBleGVjKQogICAgIHJl
dHVybiBlcnJvci50b0Vycm9yT2JqZWN0KGxleGljYWxHbG9iYWxPYmplY3QsIG1fc291cmNlKTsK
IH0KIAorLy8gaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC9p
bmRleC5odG1sI3NlYy1oYXNyZXN0cmljdGVkZ2xvYmFscHJvcGVydHkKK3N0YXRpYyBib29sIGhh
c1Jlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQoreworICAgIFByb3BlcnR5RGVzY3JpcHRvciBkZXNj
cmlwdG9yOworICAgIGlmICghZ2xvYmFsT2JqZWN0LT5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcikpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZGVzY3JpcHRvci5jb25maWd1cmFibGUoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworfQorCiBKU09iamVjdCog
UHJvZ3JhbUV4ZWN1dGFibGU6OmluaXRpYWxpemVHbG9iYWxQcm9wZXJ0aWVzKFZNJiB2bSwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTU2NvcGUqIHNjb3BlKQogewogICAgIGF1dG8gdGhyb3dTY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMTE4LDE5ICsxMjksMTEgQEAgSlNPYmpl
Y3QqIFByb2dyYW1FeGVjdXRhYmxlOjppbml0aWFsaXplR2xvYmFsUHJvcGVydGllcyhWTSYgdm0s
IENhbGxGcmFtZSogY2FsbEYKICAgICAgICAgLy8gQ2hlY2sgaWYgYW55IG5ldyAibGV0Ii8iY29u
c3QiLyJjbGFzcyIgd2lsbCBzaGFkb3cgYW55IHByZS1leGlzdGluZyBnbG9iYWwgcHJvcGVydHkg
bmFtZXMsIG9yICJ2YXIiLyJsZXQiLyJjb25zdCIgdmFyaWFibGVzLgogICAgICAgICAvLyBJdCdz
IGFuIGVycm9yIHRvIGludHJvZHVjZSBhIHNoYWRvdy4KICAgICAgICAgZm9yIChhdXRvJiBlbnRy
eSA6IGxleGljYWxEZWNsYXJhdGlvbnMpIHsKLSAgICAgICAgICAgIGJvb2wgaGFzUHJvcGVydHkg
PSBnbG9iYWxPYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIGVudHJ5LmtleS5nZXQoKSk7Ci0gICAg
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHRocm93U2NvcGUuZXhjZXB0
aW9uKCkpOwotICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KSB7Ci0gICAgICAgICAgICAgICAg
Ly8gVGhlIEVTNiBzcGVjIHNheXMgdGhhdCBqdXN0IFJlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eSBj
YW4ndCBiZSBzaGFkb3dlZAotICAgICAgICAgICAgICAgIC8vIFRoaXMgY2FycmllZCBvdXQgc2Vj
dGlvbiA4LjEuMS40LjE0IG9mIHRoZSBFUzYgc3BlYzogaHR0cDovL3d3dy5lY21hLWludGVybmF0
aW9uYWwub3JnL2VjbWEtMjYyLzYuMC9pbmRleC5odG1sI3NlYy1oYXNyZXN0cmljdGVkZ2xvYmFs
cHJvcGVydHkKLSAgICAgICAgICAgICAgICBQcm9wZXJ0eURlc2NyaXB0b3IgZGVzY3JpcHRvcjsK
LSAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmdldE93blByb3BlcnR5RGVzY3JpcHRvcihl
eGVjLCBlbnRyeS5rZXkuZ2V0KCksIGRlc2NyaXB0b3IpOwotICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVlKCkgIT0ganNVbmRlZmluZWQoKSAmJiAh
ZGVzY3JpcHRvci5jb25maWd1cmFibGUoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNy
ZWF0ZVN5bnRheEVycm9yKGV4ZWMsIG1ha2VTdHJpbmcoIkNhbid0IGNyZWF0ZSBkdXBsaWNhdGUg
dmFyaWFibGUgdGhhdCBzaGFkb3dzIGEgZ2xvYmFsIHByb3BlcnR5OiAnIiwgU3RyaW5nKGVudHJ5
LmtleS5nZXQoKSksICInIikpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gVGhlIEVT
NiBzcGVjIHNheXMgdGhhdCBSZXN0cmljdGVkR2xvYmFsUHJvcGVydHkgY2FuJ3QgYmUgc2hhZG93
ZWQuCisgICAgICAgICAgICBpZiAoaGFzUmVzdHJpY3RlZEdsb2JhbFByb3BlcnR5KGdsb2JhbE9i
amVjdCwgZW50cnkua2V5LmdldCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlU3lu
dGF4RXJyb3IoZXhlYywgbWFrZVN0cmluZygiQ2FuJ3QgY3JlYXRlIGR1cGxpY2F0ZSB2YXJpYWJs
ZSB0aGF0IHNoYWRvd3MgYSBnbG9iYWwgcHJvcGVydHk6ICciLCBTdHJpbmcoZW50cnkua2V5Lmdl
dCgpKSwgIiciKSk7CiAKLSAgICAgICAgICAgIGhhc1Byb3BlcnR5ID0gZ2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50LT5oYXNQcm9wZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0KCkpOworICAgICAgICAg
ICAgYm9vbCBoYXNQcm9wZXJ0eSA9IGdsb2JhbExleGljYWxFbnZpcm9ubWVudC0+aGFzUHJvcGVy
dHkoZXhlYywgZW50cnkua2V5LmdldCgpKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgdGhyb3dTY29wZS5leGNlcHRpb24oKSk7CiAgICAgICAgICAgICBpZiAo
aGFzUHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoZW50cnkudmFsdWUu
aXNDb25zdCgpICYmICF2bS5nbG9iYWxDb25zdFJlZGVjbGFyYXRpb25TaG91bGRUaHJvdygpICYm
ICFpc1N0cmljdE1vZGUoKSkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYjFkODY0YmE4MmNkZjEwZWRlMGI4NWI5NmNl
NmI4ZWEzNmFmNDUwLi40MDNmZjg4MDU5MGMxNzc4ZTU0OTQ3NTc2OGExOWRiZGYzNzkwMDA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTctMDMtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBgY29uc3QgbG9jYXRpb24gPSAiZm9vImAgdGhyb3dzIGluIGEg
d29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Njk4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvZG9tL3dpbmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3ctY29uc3QtdmFyaWFibGUtc2hhZG93aW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9jb25zdC1sb2NhdGlvbi12YXJp
YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9jb25zdC1s
b2NhdGlvbi12YXJpYWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvcmVz
b3VyY2VzL3dvcmtlci1jb25zdC1sb2NhdGlvbi5qczogQWRkZWQuCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZSBmb3IgYmVoYXZpb3IgY2hhbmdlcy4gVGhvc2UgdGVzdHMgcGFzcyBp
biBGaXJlZm94IGFuZCBDaHJvbWUuCisKKyAgICAgICAgKiBqcy9kb20vY29uc3QtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGpzL2RvbS9jb25zdC5odG1sOgorICAgICAgICBVcGRhdGUgdGVzdCB3
aGljaCB3cm9uZ2x5IGV4cGVjdGVkIGEgbGV0IHZhcmlhYmxlIG5vdCB0byBiZSBhYmxlIHRvIHNo
YWRvdyBhCisgICAgICAgIHdpbmRvdyBuYW1lZCBwcm9wZXJ0eS4gVGhpcyB0ZXN0IHdhcyBmYWls
aW5nIGluIENocm9tZSBhbmQgRmlyZWZveC4gVGhlIHJlYXNvbgorICAgICAgICB0aGlzIGRvZXMg
bm90IHRocm93IGlzIGJlY2F1c2Ugd2luZG93IG5hbWVkIHByb3BlcnRpZXMgYXJlIG5vdCBvbiB0
aGUgd2luZG93CisgICAgICAgIG9iamVjdCwgdGhleSBhcmUgb24gdGhlIFdpbmRvd1Byb3BlcnRp
ZXMgb2JqZWN0IGluIHRoZSBXaW5kb3cgcHJvdG90eXBlIGNoYWluLgorCiAyMDE3LTAzLTE3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgc2V0dGluZyB0
aGUgcHJvdG90eXBlIG9mIGNyb3NzLW9yaWdpbiBvYmplY3RzLCBhcyBsb25nIGFzIHRoZXkgZG9u
J3QgY2hhbmdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctY29uc3Qt
dmFyaWFibGUtc2hhZG93aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dp
bmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
NThhNjQwZTYwMzMyNWQ2MTRjNWRlMTM3YmRkYTliNGM1ZWU0N2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctY29uc3QtdmFyaWFibGUtc2hhZG93aW5nLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBDYW4ndCBjcmVhdGUgZHVwbGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBw
cm9wZXJ0eTogJ2xvY2F0aW9uJworQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogQ2FuJ3Qg
Y3JlYXRlIGR1cGxpY2F0ZSB2YXJpYWJsZSB0aGF0IHNoYWRvd3MgYSBnbG9iYWwgcHJvcGVydHk6
ICdmb28nCitUZXN0cyB2YXJpb3VzIGNhc2VzIG9mIGNvbnN0IHZhcmlhYmxlIHNoYWRvd2luZyBv
biBXaW5kb3cuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTaG91bGQgdGhyb3cg
YmVjYXVzZSBXaW5kb3cgaGFzIGEgbm9uLWNvbmZpZ3VyYWJsZSBsb2NhdGlvbiBvd24gcHJvcGVy
dHkuCitQQVNTIHNlbnRpbmVsIGlzICJnb29kIgorCitTaG91bGQgdGhyb3cgYmVjYXVzZSB3aW5k
b3cgaGFzIGFuIG93biBwcm9wZXJ0eSBmb28gdGhhdCBpcyBub3QgY29uZmlndXJhYmxlLCBldmVu
IHRob3VnaCBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLgorUEFTUyBzZW50aW5lbCBpcyAiZ29vZCIK
KworU2hvdWxkIHdvcmsgYmVjYXVzZSBXaW5kb3cncyBvd24gYmFyIHByb3BlcnR5IGlzIGNvbmZp
Z3VyYWJsZS4KK1BBU1MgYmFyIGlzIDMKK1BBU1Mgc2VudGluZWwgaXMgImdvb2QiCisKK1Nob3Vs
ZCB3b3JrIGJlY2F1c2UgZGlzcGF0Y2hFdmVudCBpcyBub3QgYW4gb3duIHByb3BlcnR5LCBpdCBj
b21lcyBmcm9tIHRoZSBwcm90b3R5cGUgY2hhaW4uCitQQVNTIGRpc3BhdGNoRXZlbnQgaXMgMwor
UEFTUyBzZW50aW5lbCBpcyAiZ29vZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5k
b3ctY29uc3QtdmFyaWFibGUtc2hhZG93aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93
aW5kb3ctY29uc3QtdmFyaWFibGUtc2hhZG93aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk3NjczMTUz
NDYyZWQwZGI0ZTFhODdhOTc4YzQwNjAwOGVhNWU4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmcuaHRtbApAQCAt
MCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdmFyaW91cyBjYXNlcyBvZiBjb25zdCB2YXJpYWJsZSBzaGFkb3dp
bmcgb24gV2luZG93LiIpOworCitsZXQgc2VudGluZWwgPSAiZ29vZCI7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQ+CitkZWJ1ZygiU2hvdWxkIHRocm93IGJlY2F1c2UgV2luZG93IGhhcyBhIG5vbi1jb25m
aWd1cmFibGUgbG9jYXRpb24gb3duIHByb3BlcnR5LiIpOworPC9zY3JpcHQ+Cis8c2NyaXB0Pgor
Y29uc3QgbG9jYXRpb24gPSAzOworc2VudGluZWwgPSAiYmFkIjsKKzwvc2NyaXB0PgorPHNjcmlw
dD4KK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic2VudGluZWwiLCAiZ29vZCIpOworPC9zY3JpcHQ+
CisKKzxzY3JpcHQ+CitkZWJ1ZygiIik7CitkZWJ1ZygiU2hvdWxkIHRocm93IGJlY2F1c2Ugd2lu
ZG93IGhhcyBhbiBvd24gcHJvcGVydHkgZm9vIHRoYXQgaXMgbm90IGNvbmZpZ3VyYWJsZSwgZXZl
biB0aG91Z2ggaXRzIHZhbHVlIGlzIHVuZGVmaW5lZC4iKTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0
eSh3aW5kb3csICdmb28nLCB7dmFsdWU6IHVuZGVmaW5lZCwgY29uZmlndXJhYmxlOiBmYWxzZSwg
d3JpdGFibGU6IHRydWV9KTsKKzwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IGZvbyA9IDM7Citz
ZW50aW5lbCA9ICJiYWQiOworPC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzZW50aW5lbCIsICJnb29kIik7Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KK2RlYnVnKCIi
KTsKK2RlYnVnKCJTaG91bGQgd29yayBiZWNhdXNlIFdpbmRvdydzIG93biBiYXIgcHJvcGVydHkg
aXMgY29uZmlndXJhYmxlLiIpOworT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ2Jhcics
IHt2YWx1ZTogMiwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pOworc2VudGlu
ZWwgPSAiYmFkIjsKKzwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IGJhciA9IDM7CitzZW50aW5l
bCA9ICJnb29kIjsKK3Nob3VsZEJlKCJiYXIiLCAiMyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0Pgor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZW50aW5lbCIsICJnb29kIik7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdD4KK2RlYnVnKCIiKTsKK2RlYnVnKCJTaG91bGQgd29yayBiZWNhdXNlIGRpc3BhdGNo
RXZlbnQgaXMgbm90IGFuIG93biBwcm9wZXJ0eSwgaXQgY29tZXMgZnJvbSB0aGUgcHJvdG90eXBl
IGNoYWluLiIpOworc2VudGluZWwgPSAiYmFkIgorPC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qg
ZGlzcGF0Y2hFdmVudCA9IDM7CitzZW50aW5lbCA9ICJnb29kIjsKK3Nob3VsZEJlKCJkaXNwYXRj
aEV2ZW50IiwgIjMiKTsKKzwvc2NyaXB0PgorPHNjcmlwdD4KK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygic2VudGluZWwiLCAiZ29vZCIpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CitzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvY29uc3QtbG9jYXRpb24tdmFyaWFibGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL2NvbnN0LWxvY2F0aW9uLXZhcmlhYmxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODdkZTg3MDFhZDE0MzJhMGRlMjhmNTQ0MmQ3YWRj
YTk1MTQxZTYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL2Nv
bnN0LWxvY2F0aW9uLXZhcmlhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0
cyB0aGF0IGRlY2xhcmluZyBhIGNvbnN0ICJsb2NhdGlvbiIgdmFyaWFibGUgaW4gYSB3b3JrZXIg
ZG9lcyBub3QgdGhyb3cuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTVUNDRVNT
OiBsb2NhdGlvbiB3YXMgcHJvcGVybHkgc2hhZG93ZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3dvcmtlcnMvY29uc3QtbG9jYXRpb24tdmFyaWFibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
d29ya2Vycy9jb25zdC1sb2NhdGlvbi12YXJpYWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNTk1NmQ1
NzRhZGFhOTM4MmQwZWJlNGI0OTBmY2IxMmJkNTY0NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3dvcmtlcnMvY29uc3QtbG9jYXRpb24tdmFyaWFibGUuaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0
aGF0IGRlY2xhcmluZyBhIGNvbnN0ICJsb2NhdGlvbiIgdmFyaWFibGUgaW4gYSB3b3JrZXIgZG9l
cyBub3QgdGhyb3cuJyk7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL3dvcmtlci1jb25z
dC1sb2NhdGlvbi5qcycpOworICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkg
eworICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PSAnRE9ORScpCisgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVidWcoZXZlbnQuZGF0YSk7Cisg
ICAgfQorICAgIHdvcmtlci5wb3N0TWVzc2FnZSgnJyk7Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBy
dW5UZXN0OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMv
cmVzb3VyY2VzL3dvcmtlci1jb25zdC1sb2NhdGlvbi5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29y
a2Vycy9yZXNvdXJjZXMvd29ya2VyLWNvbnN0LWxvY2F0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4ZTQ2
YTFlNzJmNDViODcwN2UxODE1MDc4N2M4M2NhNGIyZGJjYmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jb25zdC1sb2NhdGlvbi5q
cwpAQCAtMCwwICsxLDE1IEBACitjb25zdCBsb2NhdGlvbiA9IDI7IC8vIFNob3VsZCBub3QgdGhy
b3cuCisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIHBvc3RNZXNzYWdlKG1lc3NhZ2Up
OworfQorCitvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgeworICAgIGlmIChsb2NhdGlvbiA9
PSAyKQorICAgICAgICBsb2coIlNVQ0NFU1M6IGxvY2F0aW9uIHdhcyBwcm9wZXJseSBzaGFkb3dl
ZCIpOworICAgIGVsc2UKKyAgICAgICAgbG9nKCJGQUlMOiBsb2NhdGlvbiB3YXMgbm90IHNoYWRv
d2VkIik7CisKKyAgICBsb2coIkRPTkUiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pz
L2RvbS9jb25zdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vY29uc3QtZXhwZWN0
ZWQudHh0CmluZGV4IDc5MjQ1ZTdjMjc3YjViOWEyYzczZjM5MzFlZmY4ZmJlOTA2OGEyM2YuLjc0
NDRhM2ExOWE4YTY2NjNiYjQ1OTJjZmMyMDVlZTYyMGJjZTRlMDMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2pzL2RvbS9jb25zdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L2NvbnN0LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IENhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFyaWFibGUgdGhhdCBzaGFkb3dzIGEg
Z2xvYmFsIHByb3BlcnR5OiAnYm9keUlkJwotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvbnN0IHZh
cmlhYmxlcyBjYW4ndCBzaGFkb3cgZ2xvYmFsIG9iamVjdCBwcm9wZXJ0aWVzLiBOb3RlIHRoYXQg
dGhpcyB0ZXN0IGV4cGVjdHMgU3ludGF4RXJyb3JzIGluIGJlbG93CitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29uc3QgdmFyaWFibGVzIGNhbiBzaGFkb3cgZ2xvYmFsIG9iamVjdCdzIG5hbWVkIHBy
b3BlcnRpZXMuCiAKLVBBU1Mgc2VudGluZWwgaXMgIl9fc19fIgotUEFTUyBib2R5SWQgaXMgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvZHlJZCcpCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBib2R5SWQgaXMgMwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vY29uc3QuaHRt
bCBiL0xheW91dFRlc3RzL2pzL2RvbS9jb25zdC5odG1sCmluZGV4IDhlMGZhYzA4MzkxYWE5MDQ4
NTQxNWI4MmJiYWFkOWMyNTM0MTgzZTUuLmU0MTZlYzQ4YjIyYjNmZDk2MzU0NjFkYzM1ZTY3OTQx
OWJjY2ViZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9jb25zdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9jb25zdC5odG1sCkBAIC03LDI0ICs3LDE1IEBACiA8Ym9keSBp
ZD0iYm9keUlkIj4KIAogPHNjcmlwdD4KLQotZGVzY3JpcHRpb24oCi0gICAgIlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb25zdCB2YXJpYWJsZXMgY2FuJ3Qgc2hhZG93IGdsb2JhbCBvYmplY3QgcHJv
cGVydGllcy4gIE5vdGUgdGhhdCB0aGlzIHRlc3QgZXhwZWN0cyBTeW50YXhFcnJvcnMgaW4gYmVs
b3cgPHNjcmlwdD4iCi0pOwotCi1sZXQgc2VudGluZWwgPSAiX19zX18iOworZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb25zdCB2YXJpYWJsZXMgY2FuIHNoYWRvdyBnbG9iYWwg
b2JqZWN0J3MgbmFtZWQgcHJvcGVydGllcy4iKTsKIDwvc2NyaXB0PgogCiA8c2NyaXB0PgotLy8g
TWFrZSBzdXJlIHdlIGNhbid0IG92ZXJyaWRlIHByb3BlcnRpZXMgcGxhY2VkIG9uIHRoZSBnbG9i
YWwgb2JqZWN0Ci1jb25zdCBib2R5SWQgPSAibGFoIGxhIGxhaCBsYSBsYWgsIEkgc2hvdWxkIG5l
dmVyIGV4ZWN1dGUuIjsKLXNlbnRpbmVsID0gImJhZCI7Citjb25zdCBib2R5SWQgPSAzOwogPC9z
Y3JpcHQ+CiAKIDxzY3JpcHQ+Ci1zaG91bGRCZSgic2VudGluZWwiLCAnIl9fc19fIicpOwotc2hv
dWxkQmUoImJvZHlJZCIsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9keUlkJykiKTsKLXN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzaG91bGRCZSgiYm9keUlkIiwgIjMiKTsKIDwvc2Ny
aXB0PgogCiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3Rf
Z2xvYmFsX3NoYWRvd19idWlsdGluc19ub25jb25maWd1cmFibGUuYmFzZWxpbmUtanNjIGIvSlNU
ZXN0cy9DaGFrcmFDb3JlL3Rlc3QvZXM2L2xldGNvbnN0X2dsb2JhbF9zaGFkb3dfYnVpbHRpbnNf
bm9uY29uZmlndXJhYmxlLmJhc2VsaW5lLWpzYwppbmRleCAzNDFmYzYyYzNmZTVkNmY3NmNhMzdk
MjNkZDJjNWUyNzBmZTE0Yjc0Li5mYTc3ZGYzZGY4MDdkMTBlZjJkYTYyMTQ0Y2YwZGI0OGFmMDc3
Yzk0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3RfZ2xv
YmFsX3NoYWRvd19idWlsdGluc19ub25jb25maWd1cmFibGUuYmFzZWxpbmUtanNjCisrKyBiL0pT
VGVzdHMvQ2hha3JhQ29yZS90ZXN0L2VzNi9sZXRjb25zdF9nbG9iYWxfc2hhZG93X2J1aWx0aW5z
X25vbmNvbmZpZ3VyYWJsZS5iYXNlbGluZS1qc2MKQEAgLTEsMiArMSwyIEBACi1FeGNlcHRpb246
IFJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCitF
eGNlcHRpb246IFN5bnRheEVycm9yOiBDYW4ndCBjcmVhdGUgZHVwbGljYXRlIHZhcmlhYmxlIHRo
YXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0eTogJ3VuZGVmaW5lZCcuCiBnbG9iYWwgY29kZUBs
ZXRjb25zdF9nbG9iYWxfc2hhZG93X2J1aWx0aW5zX25vbmNvbmZpZ3VyYWJsZS5qczo4OjE2CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY1
YWUwNWU0MmZiMjEzYjMxMTEwZDQxNjQzMzFhY2FiNzI0YjcxM2IuLjRmZThlY2M0YjA3MGQxNjBm
ZmFkYzNmZDk1MmU3MGRlN2MwODYyODcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDMtMTggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBgY29uc3QgbG9jYXRpb24gPSAi
Zm9vImAgdGhyb3dzIGluIGEgd29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3RfZ2xvYmFsX3No
YWRvd19idWlsdGluc19ub25jb25maWd1cmFibGUuYmFzZWxpbmUtanNjOgorICAgICAgICBVcGRh
dGUgZXhwZWN0ZWQganNjIHJlc3VsdCBub3cgdGhhdCB3ZSB0aHJvdyBhIFN5bnRheEVycm9yIHdo
ZW4gdHJ5aW5nIHRvIHNoYWRvdyB1bmRlZmluZWQKKyAgICAgICAgd2l0aCBhIGxldCB2YXJpYWJs
ZS4gV2UgdXNlZCBub3QgdG8gdGhyb3cgYmVjYXVzZSB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkIGJ1
dCB0aGlzIHdhcyBub3QKKyAgICAgICAgYXMgcGVyIEVjbWFTY3JpcHQuIEJvdGggRmlyZWZveCBh
bmQgQ2hyb21lIHRocm93IGluIHRoaXMgY2FzZS4KKworICAgICAgICAqIHN0cmVzcy9nbG9iYWwt
bGV4aWNhbC1yZWRlY2xhcmUtdmFyaWFibGUuanM6CisgICAgICAgIChjYXRjaCk6CisgICAgICAg
IFVwZGF0ZSB0ZXN0IHRoYXQgZGVmaW5lcyBhIG5vbi1jb25maWd1cmFibGUgJ3pvbycgcHJvcGVy
dHkgb24gdGhlIGdsb2JhbCBvYmplY3QgYW5kIHRoZW4KKyAgICAgICAgZXhwZWN0ZWQgc2hhZG93
aW5nIGl0IHdpdGggYSAnbGV0IHpvbycgdmFyaWFibGUgdG8gd29yayBiZWNhdXNlIGl0cyB2YWx1
ZSB3YXMgdW5kZWZpbmVkLgorICAgICAgICBUaGlzIHdhcyBub3QgYXMgcGVyIEVjbWFTY3JpcHQg
c3BlYyBhbmQgYm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdGhyb3cgaW4gdGhpcyBjYXNlLgorCiAy
MDE3LTAzLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRlRM
IHNob3VsZCBzdXBwb3J0IGdsb2JhbCBhbmQgZXZhbCBjb2RlCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3N0cmVzcy9nbG9iYWwtbGV4aWNhbC1yZWRlY2xhcmUtdmFyaWFibGUuanMgYi9KU1Rlc3RzL3N0
cmVzcy9nbG9iYWwtbGV4aWNhbC1yZWRlY2xhcmUtdmFyaWFibGUuanMKaW5kZXggYWEzYjYxZGVl
MTEwMzg3YTEwYmI4MzY5Mjg3MTRhNWJjYjAwN2MxYi4uNmVjMjg3YjZkMTYwNDNmODhhZDFmOGVk
Y2I5YTk3ZDI2ZjdjNzA5ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvZ2xvYmFsLWxleGlj
YWwtcmVkZWNsYXJlLXZhcmlhYmxlLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL2dsb2JhbC1sZXhp
Y2FsLXJlZGVjbGFyZS12YXJpYWJsZS5qcwpAQCAtMTA1LDExICsxMDUsMTEgQEAgYXNzZXJ0RXhw
ZWN0YXRpb25zKCk7CiBhc3NlcnQoZXJyb3JDb3VudCA9PT0gNik7CiAKIHRyeSB7Ci0gICAgc2Vu
dGluZWwgPSAiYmFkIjsKICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3pvbycsIHt2
YWx1ZTogdW5kZWZpbmVkLCBjb25maWd1cmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZX0pOwog
ICAgIGxvYWQoIi4vbXVsdGlwbGUtZmlsZXMtdGVzdHMvZ2xvYmFsLWxleGljYWwtcmVkZWNsYXJl
LXZhcmlhYmxlL3RlbnRoLmpzIik7CiB9IGNhdGNoKGUpIHsKLSAgICBhc3NlcnQoZmFsc2UpOwor
ICAgIGFzc2VydFByb3BlckVycm9yKGUpOwogfQogYXNzZXJ0RXhwZWN0YXRpb25zKCk7CiAKK2Fz
c2VydChlcnJvckNvdW50ID09PSA3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304887</attachid>
            <date>2017-03-18 17:06:15 -0700</date>
            <delta_ts>2017-03-19 10:45:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169839-20170318170614.patch</filename>
            <type>text/plain</type>
            <size>17683</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
M2JlOGM0MjNiZWE0YzIyNzFjOTUyYjUyZmVmMTkwMDI3MjZkMTM1Li5iNDQyMDU2YjViMDY4YzNi
MDUwNzQ5MTZkNTcxNjdkZmJkMDMyYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzOSBAQAogMjAxNy0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CisgICAgICAgIGBjb25zdCBsb2NhdGlvbiA9ICJmb28iYCB0aHJvd3MgaW4gYSB3b3JrZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91ciBIYXNSZXN0
cmljdGVkR2xvYmFsUHJvcGVydHkgY2hlY2sgaXMgSlNDIHdhcyBzbGlnaHRseSB3cm9uZywgY2F1
c2luZyB1cworICAgICAgICB0byBzb21ldGltZXMgdGhyb3cgYSBTeW50YXggZXhjZXB0aW9uIHdo
ZW4gd2Ugc2hvdWxkbid0IHdoZW4gZGVjbGFyaW5nIGEKKyAgICAgICAgY29uc3QvbGV0IHZhcmlh
YmxlIGFuZCBzb21ldGltZXMgbm90IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIHdlIHNob3VsZCBo
YXZlLgorCisgICAgICAgIFRoaXMgYWxpZ25zIG91ciBiZWhhdmlvciB3aXRoIEVTNiwgRmlyZWZv
eCBhbmQgQ2hyb21lLgorCisgICAgICAgICogcnVudGltZS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHA6
CisgICAgICAgIChKU0M6Omhhc1Jlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eSk6CisgICAgICAgIChK
U0M6OlByb2dyYW1FeGVjdXRhYmxlOjppbml0aWFsaXplR2xvYmFsUHJvcGVydGllcyk6CisgICAg
ICAgIFJld3JpdGUgaGFzUmVzdHJpY3RlZEdsb2JhbFByb3BlcnR5IGxvZ2ljIGFzIHBlciB0aGUg
RWNtYVNjcmlwdCBzcGVjOgorICAgICAgICAtIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFs
Lm9yZy9lY21hLTI2Mi82LjAvaW5kZXguaHRtbCNzZWMtaGFzcHJvcGVydHkKKyAgICAgICAgSW4g
cGFydGljdWxhciwgdGhleSB3ZXJlIDIgaXNzdWVzOgorICAgICAgICAtIFdlIHNob3VsZCB0aHJv
dyBhIFN5bnRheEVycm9yIGlmIGhhc1Byb3BlcnR5KCkgcmV0dXJuZWQgdHJ1ZSBidXQgZ2V0T3du
UHJvcGVydHkoKQorICAgICAgICAgIHdvdWxkIGZhaWwgdG8gcmV0dXJuIGEgZGVzY3JpcHRvci4g
VGhpcyB3b3VsZCBoYXBwZW4gZm9yIHByb3BlcnRpZXMgdGhhdCBhcmUKKyAgICAgICAgICBub3Qg
T1dOIHByb3BlcnRpZXMsIGJ1dCBkZWZpbmVkIHNvbWV3aGVyZSBpbiB0aGUgcHJvdG90eXBlIGNo
YWluLiBUaGUgc3BlYyBkb2VzCisgICAgICAgICAgbm90IHNheSB0byB1c2UgaGFzUHJvcGVydHko
KSwgb25seSBnZXRPd25Qcm9wZXJ0eSgpIGFuZCBzYXlzIHdlIHNob3VsZCByZXR1cm4KKyAgICAg
ICAgICBmYWxzZSBpZiBnZXRPd25Qcm9wZXJ0eSgpIGRvZXMgbm90IHJldHVybiBhIGRlc2NyaXB0
b3IuIFRoaXMgaXMgd2hhdCB3ZSBkbyBub3cuCisgICAgICAgIC0gV2Ugd291bGQgZmFpbCB0byB0
aHJvdyB3aGVuIGRlY2xhcmluZyBhIGxldC9jb25zdCB2YXJpYWJsZSB0aGF0IHNoYWRvd3MgYW4g
b3duCisgICAgICAgICAgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgdW5kZWZpbmVkLiBUaGlzIGlz
IGJlY2F1c2UgdGhlIHByZXZpb3VzIGNvZGUgd2FzCisgICAgICAgICAgZXhwbGljaXRseSBjaGVj
a2luZyBmb3IgdGhpcyBjYXNlLiBJIGJlbGlldmUgdGhpcyB3YXMgYSBtaXNpbnRlcnByZXRhdGlv
biBvZgorICAgICAgICAgIEVTNiB3aGljaCBzYXlzOgorICAgICAgICAgICIiIgorICAgICAgICAg
IExldCBkZXNjIGJlIE8uW1tHZXRPd25Qcm9wZXJ0eV1dKFApLgorICAgICAgICAgIElmIGRlc2Mg
aXMgdW5kZWZpbmVkLCByZXR1cm4gZmFsc2UuCisgICAgICAgICAgIiIiCisgICAgICAgICAgV2Ug
c2hvdWxkIGNoZWNrIHRoYXQgZGVzYyBpcyB1bmRlZmluZWQsIG5vdCBkZXNjLnZhbHVlLiBUaGlz
IGlzIG5vdyBmaXhlZC4KKworMjAxNy0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCiAgICAgICAgIEFsbG93IHNldHRpbmcgdGhlIHByb3RvdHlwZSBvZiBjcm9zcy1vcmln
aW4gb2JqZWN0cywgYXMgbG9uZyBhcyB0aGV5IGRvbid0IGNoYW5nZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Nzg3CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRhYmxlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRhYmxlLmNwcAppbmRleCA2YTRm
OTRhZTdjYjRiMDhiYmY1M2E4NTlhMmY2NjYzM2Q2NmNmNTg0Li4xODY0MGU0Y2ViOWVkN2VhNGJl
YWJkZTRlYTZkMzE2NDM1OWMxY2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm9ncmFtRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwCkBAIC03Miw2ICs3MiwxNyBAQCBKU09iamVj
dCogUHJvZ3JhbUV4ZWN1dGFibGU6OmNoZWNrU3ludGF4KEV4ZWNTdGF0ZSogZXhlYykKICAgICBy
ZXR1cm4gZXJyb3IudG9FcnJvck9iamVjdChsZXhpY2FsR2xvYmFsT2JqZWN0LCBtX3NvdXJjZSk7
CiB9CiAKKy8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
aW5kZXguaHRtbCNzZWMtaGFzcmVzdHJpY3RlZGdsb2JhbHByb3BlcnR5CitzdGF0aWMgYm9vbCBo
YXNSZXN0cmljdGVkR2xvYmFsUHJvcGVydHkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3sKKyAgICBQcm9wZXJ0eURlc2NyaXB0b3IgZGVz
Y3JpcHRvcjsKKyAgICBpZiAoIWdsb2JhbE9iamVjdC0+Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogSlNPYmplY3Qq
IFByb2dyYW1FeGVjdXRhYmxlOjppbml0aWFsaXplR2xvYmFsUHJvcGVydGllcyhWTSYgdm0sIENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU1Njb3BlKiBzY29wZSkKIHsKICAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTExOCwxOSArMTI5LDExIEBAIEpTT2Jq
ZWN0KiBQcm9ncmFtRXhlY3V0YWJsZTo6aW5pdGlhbGl6ZUdsb2JhbFByb3BlcnRpZXMoVk0mIHZt
LCBDYWxsRnJhbWUqIGNhbGxGCiAgICAgICAgIC8vIENoZWNrIGlmIGFueSBuZXcgImxldCIvImNv
bnN0Ii8iY2xhc3MiIHdpbGwgc2hhZG93IGFueSBwcmUtZXhpc3RpbmcgZ2xvYmFsIHByb3BlcnR5
IG5hbWVzLCBvciAidmFyIi8ibGV0Ii8iY29uc3QiIHZhcmlhYmxlcy4KICAgICAgICAgLy8gSXQn
cyBhbiBlcnJvciB0byBpbnRyb2R1Y2UgYSBzaGFkb3cuCiAgICAgICAgIGZvciAoYXV0byYgZW50
cnkgOiBsZXhpY2FsRGVjbGFyYXRpb25zKSB7Ci0gICAgICAgICAgICBib29sIGhhc1Byb3BlcnR5
ID0gZ2xvYmFsT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0KCkpOwotICAg
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB0aHJvd1Njb3BlLmV4Y2Vw
dGlvbigpKTsKLSAgICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSkgewotICAgICAgICAgICAgICAg
IC8vIFRoZSBFUzYgc3BlYyBzYXlzIHRoYXQganVzdCBSZXN0cmljdGVkR2xvYmFsUHJvcGVydHkg
Y2FuJ3QgYmUgc2hhZG93ZWQKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGNhcnJpZWQgb3V0IHNl
Y3Rpb24gOC4xLjEuNC4xNCBvZiB0aGUgRVM2IHNwZWM6IGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5h
dGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvaW5kZXguaHRtbCNzZWMtaGFzcmVzdHJpY3RlZGdsb2Jh
bHByb3BlcnR5Ci0gICAgICAgICAgICAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3I7
Ci0gICAgICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
ZXhlYywgZW50cnkua2V5LmdldCgpLCBkZXNjcmlwdG9yKTsKLSAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpICE9IGpzVW5kZWZpbmVkKCkgJiYg
IWRlc2NyaXB0b3IuY29uZmlndXJhYmxlKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBj
cmVhdGVTeW50YXhFcnJvcihleGVjLCBtYWtlU3RyaW5nKCJDYW4ndCBjcmVhdGUgZHVwbGljYXRl
IHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0eTogJyIsIFN0cmluZyhlbnRy
eS5rZXkuZ2V0KCkpLCAiJyIpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIFRoZSBF
UzYgc3BlYyBzYXlzIHRoYXQgUmVzdHJpY3RlZEdsb2JhbFByb3BlcnR5IGNhbid0IGJlIHNoYWRv
d2VkLgorICAgICAgICAgICAgaWYgKGhhc1Jlc3RyaWN0ZWRHbG9iYWxQcm9wZXJ0eShnbG9iYWxP
YmplY3QsIGVudHJ5LmtleS5nZXQoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5
bnRheEVycm9yKGV4ZWMsIG1ha2VTdHJpbmcoIkNhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFyaWFi
bGUgdGhhdCBzaGFkb3dzIGEgZ2xvYmFsIHByb3BlcnR5OiAnIiwgU3RyaW5nKGVudHJ5LmtleS5n
ZXQoKSksICInIikpOwogCi0gICAgICAgICAgICBoYXNQcm9wZXJ0eSA9IGdsb2JhbExleGljYWxF
bnZpcm9ubWVudC0+aGFzUHJvcGVydHkoZXhlYywgZW50cnkua2V5LmdldCgpKTsKKyAgICAgICAg
ICAgIGJvb2wgaGFzUHJvcGVydHkgPSBnbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQtPmhhc1Byb3Bl
cnR5KGV4ZWMsIGVudHJ5LmtleS5nZXQoKSk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHRocm93U2NvcGUuZXhjZXB0aW9uKCkpOwogICAgICAgICAgICAgaWYg
KGhhc1Byb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGVudHJ5LnZhbHVl
LmlzQ29uc3QoKSAmJiAhdm0uZ2xvYmFsQ29uc3RSZWRlY2xhcmF0aW9uU2hvdWxkVGhyb3coKSAm
JiAhaXNTdHJpY3RNb2RlKCkpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGQ1MTk4YTJhZTlmN2ZkMzA3YTk3ZjYxZDM5
NjVmYmQ0OTcyMTczMy4uMGUwYzY4NmIwYzZjMGViZmQ3NWFkZDllYTcxYzZjNzBkZjU4MGQzZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTAzLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKKyAgICAgICAgYGNvbnN0IGxvY2F0aW9uID0gImZvbyJgIHRocm93cyBpbiBh
IHdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS93aW5kb3ctY29uc3QtdmFyaWFibGUtc2hhZG93aW5nLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vd2luZG93LWNvbnN0LXZhcmlhYmxlLXNoYWRvd2lu
Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvY29uc3QtbG9jYXRpb24tdmFy
aWFibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvY29uc3Qt
bG9jYXRpb24tdmFyaWFibGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItY29uc3QtbG9jYXRpb24uanM6IEFkZGVkLgorICAgICAgICBBZGQgbGF5
b3V0IHRlc3QgY292ZXJhZ2UgZm9yIGJlaGF2aW9yIGNoYW5nZXMuIFRob3NlIHRlc3RzIHBhc3Mg
aW4gRmlyZWZveCBhbmQgQ2hyb21lLgorCisgICAgICAgICoganMvZG9tL2NvbnN0LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBqcy9kb20vY29uc3QuaHRtbDoKKyAgICAgICAgVXBkYXRlIHRlc3Qg
d2hpY2ggd3JvbmdseSBleHBlY3RlZCBhIGxldCB2YXJpYWJsZSBub3QgdG8gYmUgYWJsZSB0byBz
aGFkb3cgYQorICAgICAgICB3aW5kb3cgbmFtZWQgcHJvcGVydHkuIFRoaXMgdGVzdCB3YXMgZmFp
bGluZyBpbiBDaHJvbWUgYW5kIEZpcmVmb3guIFRoZSByZWFzb24KKyAgICAgICAgdGhpcyBkb2Vz
IG5vdCB0aHJvdyBpcyBiZWNhdXNlIHdpbmRvdyBuYW1lZCBwcm9wZXJ0aWVzIGFyZSBub3Qgb24g
dGhlIHdpbmRvdworICAgICAgICBvYmplY3QsIHRoZXkgYXJlIG9uIHRoZSBXaW5kb3dQcm9wZXJ0
aWVzIG9iamVjdCBpbiB0aGUgV2luZG93IHByb3RvdHlwZSBjaGFpbi4KKworMjAxNy0wMy0xOCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIEFsbG93IHNldHRpbmcg
dGhlIHByb3RvdHlwZSBvZiBjcm9zcy1vcmlnaW4gb2JqZWN0cywgYXMgbG9uZyBhcyB0aGV5IGRv
bid0IGNoYW5nZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY5Nzg3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1jb25z
dC12YXJpYWJsZS1zaGFkb3dpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
d2luZG93LWNvbnN0LXZhcmlhYmxlLXNoYWRvd2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzY1OGE2NDBlNjAzMzI1ZDYxNGM1ZGUxMzdiZGRhOWI0YzVlZTQ3ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK0NPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJy
b3I6IENhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFyaWFibGUgdGhhdCBzaGFkb3dzIGEgZ2xvYmFs
IHByb3BlcnR5OiAnbG9jYXRpb24nCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBDYW4n
dCBjcmVhdGUgZHVwbGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0
eTogJ2ZvbycKK1Rlc3RzIHZhcmlvdXMgY2FzZXMgb2YgY29uc3QgdmFyaWFibGUgc2hhZG93aW5n
IG9uIFdpbmRvdy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Nob3VsZCB0aHJv
dyBiZWNhdXNlIFdpbmRvdyBoYXMgYSBub24tY29uZmlndXJhYmxlIGxvY2F0aW9uIG93biBwcm9w
ZXJ0eS4KK1BBU1Mgc2VudGluZWwgaXMgImdvb2QiCisKK1Nob3VsZCB0aHJvdyBiZWNhdXNlIHdp
bmRvdyBoYXMgYW4gb3duIHByb3BlcnR5IGZvbyB0aGF0IGlzIG5vdCBjb25maWd1cmFibGUsIGV2
ZW4gdGhvdWdoIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQuCitQQVNTIHNlbnRpbmVsIGlzICJnb29k
IgorCitTaG91bGQgd29yayBiZWNhdXNlIFdpbmRvdydzIG93biBiYXIgcHJvcGVydHkgaXMgY29u
ZmlndXJhYmxlLgorUEFTUyBiYXIgaXMgMworUEFTUyBzZW50aW5lbCBpcyAiZ29vZCIKKworU2hv
dWxkIHdvcmsgYmVjYXVzZSBkaXNwYXRjaEV2ZW50IGlzIG5vdCBhbiBvd24gcHJvcGVydHksIGl0
IGNvbWVzIGZyb20gdGhlIHByb3RvdHlwZSBjaGFpbi4KK1BBU1MgZGlzcGF0Y2hFdmVudCBpcyAz
CitQQVNTIHNlbnRpbmVsIGlzICJnb29kIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dp
bmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3dpbmRvdy1jb25zdC12YXJpYWJsZS1zaGFkb3dpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTc2NzMx
NTM0NjJlZDBkYjRlMWE4N2E5NzhjNDA2MDA4ZWE1ZThmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWNvbnN0LXZhcmlhYmxlLXNoYWRvd2luZy5odG1sCkBA
IC0wLDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0cyB2YXJpb3VzIGNhc2VzIG9mIGNvbnN0IHZhcmlhYmxlIHNoYWRv
d2luZyBvbiBXaW5kb3cuIik7CisKK2xldCBzZW50aW5lbCA9ICJnb29kIjsKKzwvc2NyaXB0Pgor
PHNjcmlwdD4KK2RlYnVnKCJTaG91bGQgdGhyb3cgYmVjYXVzZSBXaW5kb3cgaGFzIGEgbm9uLWNv
bmZpZ3VyYWJsZSBsb2NhdGlvbiBvd24gcHJvcGVydHkuIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQ+
Citjb25zdCBsb2NhdGlvbiA9IDM7CitzZW50aW5lbCA9ICJiYWQiOworPC9zY3JpcHQ+Cis8c2Ny
aXB0Pgorc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZW50aW5lbCIsICJnb29kIik7Cis8L3Njcmlw
dD4KKworPHNjcmlwdD4KK2RlYnVnKCIiKTsKK2RlYnVnKCJTaG91bGQgdGhyb3cgYmVjYXVzZSB3
aW5kb3cgaGFzIGFuIG93biBwcm9wZXJ0eSBmb28gdGhhdCBpcyBub3QgY29uZmlndXJhYmxlLCBl
dmVuIHRob3VnaCBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLiIpOworT2JqZWN0LmRlZmluZVByb3Bl
cnR5KHdpbmRvdywgJ2ZvbycsIHt2YWx1ZTogdW5kZWZpbmVkLCBjb25maWd1cmFibGU6IGZhbHNl
LCB3cml0YWJsZTogdHJ1ZX0pOworPC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3QgZm9vID0gMzsK
K3NlbnRpbmVsID0gImJhZCI7Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNlbnRpbmVsIiwgImdvb2QiKTsKKzwvc2NyaXB0PgorCis8c2NyaXB0PgorZGVidWco
IiIpOworZGVidWcoIlNob3VsZCB3b3JrIGJlY2F1c2UgV2luZG93J3Mgb3duIGJhciBwcm9wZXJ0
eSBpcyBjb25maWd1cmFibGUuIik7CitPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnYmFy
Jywge3ZhbHVlOiAyLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSk7CitzZW50
aW5lbCA9ICJiYWQiOworPC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3QgYmFyID0gMzsKK3NlbnRp
bmVsID0gImdvb2QiOworc2hvdWxkQmUoImJhciIsICIzIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQ+
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbnRpbmVsIiwgImdvb2QiKTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0PgorZGVidWcoIiIpOworZGVidWcoIlNob3VsZCB3b3JrIGJlY2F1c2UgZGlzcGF0
Y2hFdmVudCBpcyBub3QgYW4gb3duIHByb3BlcnR5LCBpdCBjb21lcyBmcm9tIHRoZSBwcm90b3R5
cGUgY2hhaW4uIik7CitzZW50aW5lbCA9ICJiYWQiCis8L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25z
dCBkaXNwYXRjaEV2ZW50ID0gMzsKK3NlbnRpbmVsID0gImdvb2QiOworc2hvdWxkQmUoImRpc3Bh
dGNoRXZlbnQiLCAiMyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzZW50aW5lbCIsICJnb29kIik7Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KK3N1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9jb25zdC1sb2NhdGlvbi12YXJpYWJsZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvY29uc3QtbG9jYXRpb24tdmFyaWFi
bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4N2RlODcwMWFkMTQzMmEwZGUyOGY1NDQyZDdh
ZGNhOTUxNDFlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMv
Y29uc3QtbG9jYXRpb24tdmFyaWFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rl
c3RzIHRoYXQgZGVjbGFyaW5nIGEgY29uc3QgImxvY2F0aW9uIiB2YXJpYWJsZSBpbiBhIHdvcmtl
ciBkb2VzIG5vdCB0aHJvdy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1NVQ0NF
U1M6IGxvY2F0aW9uIHdhcyBwcm9wZXJseSBzaGFkb3dlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvd29ya2Vycy9jb25zdC1sb2NhdGlvbi12YXJpYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC93b3JrZXJzL2NvbnN0LWxvY2F0aW9uLXZhcmlhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM1OTU2
ZDU3NGFkYWE5MzgyZDBlYmU0YjQ5MGZjYjEyYmQ1NjQ2NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9jb25zdC1sb2NhdGlvbi12YXJpYWJsZS5odG1sCkBAIC0w
LDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Rz
IHRoYXQgZGVjbGFyaW5nIGEgY29uc3QgImxvY2F0aW9uIiB2YXJpYWJsZSBpbiBhIHdvcmtlciBk
b2VzIG5vdCB0aHJvdy4nKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyLWNv
bnN0LWxvY2F0aW9uLmpzJyk7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgICAgIGlmIChldmVudC5kYXRhID09ICdET05FJykKKyAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZyhldmVudC5kYXRhKTsK
KyAgICB9CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKCcnKTsKK30KKword2luZG93Lm9ubG9hZCA9
IHJ1blRlc3Q7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy9yZXNvdXJjZXMvd29ya2VyLWNvbnN0LWxvY2F0aW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY29uc3QtbG9jYXRpb24uanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhl
NDZhMWU3MmY0NWI4NzA3ZTE4MTUwNzg3YzgzY2E0YjJkYmNiYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWNvbnN0LWxvY2F0aW9u
LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2NvbnN0IGxvY2F0aW9uID0gMjsgLy8gU2hvdWxkIG5vdCB0
aHJvdy4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UobWVzc2Fn
ZSk7Cit9CisKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgaWYgKGxvY2F0aW9u
ID09IDIpCisgICAgICAgIGxvZygiU1VDQ0VTUzogbG9jYXRpb24gd2FzIHByb3Blcmx5IHNoYWRv
d2VkIik7CisgICAgZWxzZQorICAgICAgICBsb2coIkZBSUw6IGxvY2F0aW9uIHdhcyBub3Qgc2hh
ZG93ZWQiKTsKKworICAgIGxvZygiRE9ORSIpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL2NvbnN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9jb25zdC1leHBl
Y3RlZC50eHQKaW5kZXggNzkyNDVlN2MyNzdiNWI5YTJjNzNmMzkzMWVmZjhmYmU5MDY4YTIzZi4u
NzQ0NGEzYTE5YThhNjY2M2JiNDU5MmNmYzIwNWVlNjIwYmNlNGUwMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvZG9tL2NvbnN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vY29uc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBT
eW50YXhFcnJvcjogQ2FuJ3QgY3JlYXRlIGR1cGxpY2F0ZSB2YXJpYWJsZSB0aGF0IHNoYWRvd3Mg
YSBnbG9iYWwgcHJvcGVydHk6ICdib2R5SWQnCi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29uc3Qg
dmFyaWFibGVzIGNhbid0IHNoYWRvdyBnbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMuIE5vdGUgdGhh
dCB0aGlzIHRlc3QgZXhwZWN0cyBTeW50YXhFcnJvcnMgaW4gYmVsb3cKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb25zdCB2YXJpYWJsZXMgY2FuIHNoYWRvdyBnbG9iYWwgb2JqZWN0J3MgbmFtZWQg
cHJvcGVydGllcy4KIAotUEFTUyBzZW50aW5lbCBpcyAiX19zX18iCi1QQVNTIGJvZHlJZCBpcyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9keUlkJykKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGJvZHlJZCBpcyAzCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9jb25zdC5o
dG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL2NvbnN0Lmh0bWwKaW5kZXggOGUwZmFjMDgzOTFhYTkw
NDg1NDE1YjgyYmJhYWQ5YzI1MzQxODNlNS4uZTQxNmVjNDhiMjJiM2ZkOTYzNTQ2MWRjMzVlNjc5
NDE5YmNjZWJmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZG9tL2NvbnN0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL2NvbnN0Lmh0bWwKQEAgLTcsMjQgKzcsMTUgQEAKIDxib2R5
IGlkPSJib2R5SWQiPgogCiA8c2NyaXB0PgotCi1kZXNjcmlwdGlvbigKLSAgICAiVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvbnN0IHZhcmlhYmxlcyBjYW4ndCBzaGFkb3cgZ2xvYmFsIG9iamVjdCBw
cm9wZXJ0aWVzLiAgTm90ZSB0aGF0IHRoaXMgdGVzdCBleHBlY3RzIFN5bnRheEVycm9ycyBpbiBi
ZWxvdyA8c2NyaXB0PiIKLSk7Ci0KLWxldCBzZW50aW5lbCA9ICJfX3NfXyI7CitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvbnN0IHZhcmlhYmxlcyBjYW4gc2hhZG93IGdsb2Jh
bCBvYmplY3QncyBuYW1lZCBwcm9wZXJ0aWVzLiIpOwogPC9zY3JpcHQ+CiAKIDxzY3JpcHQ+Ci0v
LyBNYWtlIHN1cmUgd2UgY2FuJ3Qgb3ZlcnJpZGUgcHJvcGVydGllcyBwbGFjZWQgb24gdGhlIGds
b2JhbCBvYmplY3QKLWNvbnN0IGJvZHlJZCA9ICJsYWggbGEgbGFoIGxhIGxhaCwgSSBzaG91bGQg
bmV2ZXIgZXhlY3V0ZS4iOwotc2VudGluZWwgPSAiYmFkIjsKK2NvbnN0IGJvZHlJZCA9IDM7CiA8
L3NjcmlwdD4KIAogPHNjcmlwdD4KLXNob3VsZEJlKCJzZW50aW5lbCIsICciX19zX18iJyk7Ci1z
aG91bGRCZSgiYm9keUlkIiwgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib2R5SWQnKSIpOwot
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3Nob3VsZEJlKCJib2R5SWQiLCAiMyIpOwogPC9z
Y3JpcHQ+CiAKIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hha3JhQ29yZS55YW1sIGIvSlNUZXN0cy9D
aGFrcmFDb3JlLnlhbWwKaW5kZXggMzU2N2RhNjU1YTU2MmM0MjYyZmExMDY2NWNkNzc3MDM4ZGZi
NmFjOC4uYmRiZTRkYmVjN2JkMjlkZDA5NDZiNTZiMzA1NzllYmIxZTI4YmM0NiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy9DaGFrcmFDb3JlLnlhbWwKKysrIGIvSlNUZXN0cy9DaGFrcmFDb3JlLnlhbWwK
QEAgLTE1ODAsNyArMTU4MCw3IEBACiAtIHBhdGg6IENoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29u
c3RfZ2xvYmFsX3NoYWRvd19idWlsdGlucy5qcwogICBjbWQ6IHJ1bkNoYWtyYSA6YmFzZWxpbmUs
ICJOb0V4Y2VwdGlvbiIsICJsZXRjb25zdF9nbG9iYWxfc2hhZG93X2J1aWx0aW5zLmJhc2VsaW5l
LWpzYyIsIFtdCiAtIHBhdGg6IENoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3RfZ2xvYmFsX3No
YWRvd19idWlsdGluc19ub25jb25maWd1cmFibGUuanMKLSAgY21kOiBydW5DaGFrcmEgOmJhc2Vs
aW5lLCAiUmVmZXJlbmNlRXJyb3IiLCAibGV0Y29uc3RfZ2xvYmFsX3NoYWRvd19idWlsdGluc19u
b25jb25maWd1cmFibGUuYmFzZWxpbmUtanNjIiwgW10KKyAgY21kOiBydW5DaGFrcmEgOmJhc2Vs
aW5lLCAiU3ludGF4RXJyb3IiLCAibGV0Y29uc3RfZ2xvYmFsX3NoYWRvd19idWlsdGluc19ub25j
b25maWd1cmFibGUuYmFzZWxpbmUtanNjIiwgW10KIC0gcGF0aDogQ2hha3JhQ29yZS90ZXN0L2Vz
Ni9sZXRjb25zdF9nbG9iYWxfc2hhZG93X2RlbGV0ZWQuanMKICAgY21kOiBydW5DaGFrcmEgOmJh
c2VsaW5lLCAiTm9FeGNlcHRpb24iLCAibGV0Y29uc3RfZ2xvYmFsX3NoYWRvd19kZWxldGVkLmJh
c2VsaW5lIiwgWyJsZXRjb25zdF9nbG9iYWxfc2hhZG93X2RlbGV0ZWRfMi5qcyJdCiAtIHBhdGg6
IENoYWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3RfZ2xvYmFsX3NoYWRvd19hY2Nlc3Nvci5qcwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFrcmFDb3JlL3Rlc3QvZXM2L2xldGNvbnN0X2dsb2JhbF9z
aGFkb3dfYnVpbHRpbnNfbm9uY29uZmlndXJhYmxlLmJhc2VsaW5lLWpzYyBiL0pTVGVzdHMvQ2hh
a3JhQ29yZS90ZXN0L2VzNi9sZXRjb25zdF9nbG9iYWxfc2hhZG93X2J1aWx0aW5zX25vbmNvbmZp
Z3VyYWJsZS5iYXNlbGluZS1qc2MKaW5kZXggMzQxZmM2MmMzZmU1ZDZmNzZjYTM3ZDIzZGQyYzVl
MjcwZmUxNGI3NC4uOThhMWI1NWRhZjM2YjY0ODlkYTMyMDYxZjcwNjhjMDFiYjUzZjg1ZiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy9DaGFrcmFDb3JlL3Rlc3QvZXM2L2xldGNvbnN0X2dsb2JhbF9zaGFk
b3dfYnVpbHRpbnNfbm9uY29uZmlndXJhYmxlLmJhc2VsaW5lLWpzYworKysgYi9KU1Rlc3RzL0No
YWtyYUNvcmUvdGVzdC9lczYvbGV0Y29uc3RfZ2xvYmFsX3NoYWRvd19idWlsdGluc19ub25jb25m
aWd1cmFibGUuYmFzZWxpbmUtanNjCkBAIC0xLDIgKzEgQEAKLUV4Y2VwdGlvbjogUmVmZXJlbmNl
RXJyb3I6IENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KLWdsb2JhbCBjb2Rl
QGxldGNvbnN0X2dsb2JhbF9zaGFkb3dfYnVpbHRpbnNfbm9uY29uZmlndXJhYmxlLmpzOjg6MTYK
K0V4Y2VwdGlvbjogU3ludGF4RXJyb3I6IENhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFyaWFibGUg
dGhhdCBzaGFkb3dzIGEgZ2xvYmFsIHByb3BlcnR5OiAndW5kZWZpbmVkJwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBmNWFlMDVlNDJmYjIx
M2IzMTExMGQ0MTY0MzMxYWNhYjcyNGI3MTNiLi40ZmU4ZWNjNGIwNzBkMTYwZmZhZGMzZmQ5NTJl
NzBkZTdjMDg2Mjg3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAzLTE4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgYGNvbnN0IGxvY2F0aW9uID0gImZvbyJgIHRocm93
cyBpbiBhIHdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY5ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDaGFrcmFDb3JlL3Rlc3QvZXM2L2xldGNvbnN0X2dsb2JhbF9zaGFkb3dfYnVpbHRp
bnNfbm9uY29uZmlndXJhYmxlLmJhc2VsaW5lLWpzYzoKKyAgICAgICAgVXBkYXRlIGV4cGVjdGVk
IGpzYyByZXN1bHQgbm93IHRoYXQgd2UgdGhyb3cgYSBTeW50YXhFcnJvciB3aGVuIHRyeWluZyB0
byBzaGFkb3cgdW5kZWZpbmVkCisgICAgICAgIHdpdGggYSBsZXQgdmFyaWFibGUuIFdlIHVzZWQg
bm90IHRvIHRocm93IGJlY2F1c2UgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCBidXQgdGhpcyB3YXMg
bm90CisgICAgICAgIGFzIHBlciBFY21hU2NyaXB0LiBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB0
aHJvdyBpbiB0aGlzIGNhc2UuCisKKyAgICAgICAgKiBzdHJlc3MvZ2xvYmFsLWxleGljYWwtcmVk
ZWNsYXJlLXZhcmlhYmxlLmpzOgorICAgICAgICAoY2F0Y2gpOgorICAgICAgICBVcGRhdGUgdGVz
dCB0aGF0IGRlZmluZXMgYSBub24tY29uZmlndXJhYmxlICd6b28nIHByb3BlcnR5IG9uIHRoZSBn
bG9iYWwgb2JqZWN0IGFuZCB0aGVuCisgICAgICAgIGV4cGVjdGVkIHNoYWRvd2luZyBpdCB3aXRo
IGEgJ2xldCB6b28nIHZhcmlhYmxlIHRvIHdvcmsgYmVjYXVzZSBpdHMgdmFsdWUgd2FzIHVuZGVm
aW5lZC4KKyAgICAgICAgVGhpcyB3YXMgbm90IGFzIHBlciBFY21hU2NyaXB0IHNwZWMgYW5kIGJv
dGggRmlyZWZveCBhbmQgQ2hyb21lIHRocm93IGluIHRoaXMgY2FzZS4KKwogMjAxNy0wMy0xNiAg
RmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBzaG91bGQgc3Vw
cG9ydCBnbG9iYWwgYW5kIGV2YWwgY29kZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZ2xv
YmFsLWxleGljYWwtcmVkZWNsYXJlLXZhcmlhYmxlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZ2xvYmFs
LWxleGljYWwtcmVkZWNsYXJlLXZhcmlhYmxlLmpzCmluZGV4IGFhM2I2MWRlZTExMDM4N2ExMGJi
ODM2OTI4NzE0YTViY2IwMDdjMWIuLjZlYzI4N2I2ZDE2MDQzZjg4YWQxZjhlZGNiOWE5N2QyNmY3
YzcwOWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2dsb2JhbC1sZXhpY2FsLXJlZGVjbGFy
ZS12YXJpYWJsZS5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9nbG9iYWwtbGV4aWNhbC1yZWRlY2xh
cmUtdmFyaWFibGUuanMKQEAgLTEwNSwxMSArMTA1LDExIEBAIGFzc2VydEV4cGVjdGF0aW9ucygp
OwogYXNzZXJ0KGVycm9yQ291bnQgPT09IDYpOwogCiB0cnkgewotICAgIHNlbnRpbmVsID0gImJh
ZCI7CiAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd6b28nLCB7dmFsdWU6IHVuZGVm
aW5lZCwgY29uZmlndXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWV9KTsKICAgICBsb2FkKCIu
L211bHRpcGxlLWZpbGVzLXRlc3RzL2dsb2JhbC1sZXhpY2FsLXJlZGVjbGFyZS12YXJpYWJsZS90
ZW50aC5qcyIpOwogfSBjYXRjaChlKSB7Ci0gICAgYXNzZXJ0KGZhbHNlKTsKKyAgICBhc3NlcnRQ
cm9wZXJFcnJvcihlKTsKIH0KIGFzc2VydEV4cGVjdGF0aW9ucygpOwogCithc3NlcnQoZXJyb3JD
b3VudCA9PT0gNyk7Cg==
</data>
<flag name="review"
          id="326375"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>