<?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>91924</bug_id>
          
          <creation_ts>2012-07-21 03:18:43 -0700</creation_ts>
          <short_desc>[JSC] REGRESSION(r122912): CodeGeneratorJS.pm should not implicitly assume ScriptExecutionContext for static attributes</short_desc>
          <delta_ts>2012-07-26 12:51:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91764</dependson>
          <blocked>88919</blocked>
    
    <blocked>92413</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>jonlee</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>675221</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-21 03:18:43 -0700</bug_when>
    <thetext>r122912 implemented static attributes in CodeGeneratorJS.pm. The generated code implicitly assumes that a static attribute always requires ScriptExecutionContext, which is wrong. If ScriptExecutionContext is needed, we should specify [CallWith=ScriptExecutionContext].

I will upload a patch after bug 91764 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676341</commentid>
    <comment_count>1</comment_count>
      <attachid>153942</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-23 19:51:25 -0700</bug_when>
    <thetext>Created attachment 153942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676342</commentid>
    <comment_count>2</comment_count>
      <attachid>153942</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-23 19:54:02 -0700</bug_when>
    <thetext>Comment on attachment 153942
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:-1887
&gt;                      }
&gt; -                }

Indentation is wrong here. Let me fix it in a follow-up patch (because the indentation fix will mess up this patch).

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp:248
&gt; +    JSValue result = jsNumber(TestSupplemental::supplementalStaticReadOnlyAttr(impl));

Passing &apos;impl&apos; is wrong. This will be fixed in bug 91925.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676411</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-23 22:58:32 -0700</bug_when>
    <thetext>Thanks for keeping the diff clean.  rs=me to fix the indent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676414</commentid>
    <comment_count>4</comment_count>
      <attachid>153967</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-23 23:04:23 -0700</bug_when>
    <thetext>Created attachment 153967
fix indentation, patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676454</commentid>
    <comment_count>5</comment_count>
      <attachid>153967</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 00:21:45 -0700</bug_when>
    <thetext>Comment on attachment 153967
fix indentation, patch for landing

Clearing flags on attachment: 153967

Committed r123433: &lt;http://trac.webkit.org/changeset/123433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677094</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-07-24 12:15:12 -0700</bug_when>
    <thetext>This patch does not appropriately call the static attribute function with ScriptExecutionContext if [CallWith=ScriptExecutionContext] is specified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677098</commentid>
    <comment_count>7</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-07-24 12:17:35 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This patch does not appropriately call the static attribute function with ScriptExecutionContext if [CallWith=ScriptExecutionContext] is specified.

Sorry I misspoke, I put the attribute in the wrong place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677127</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-07-24 12:52:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/11947922&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153942</attachid>
            <date>2012-07-23 19:51:25 -0700</date>
            <delta_ts>2012-07-24 00:24:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91924-20120724115117.patch</filename>
            <type>text/plain</type>
            <size>12921</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg2OTIwM2M2OTE0OWY3
NmE0OTdlNjlhOTJiNGNlMmEyZjE4ZWFiNS4uZDNlM2U2YTcxNjNjZWQ4YmNhN2NiZWVlNzAzZjdj
ZGM0MjU1OTYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSlNDXSBSRUdSRVNT
SU9OKHIxMjI5MTIpOiBDb2RlR2VuZXJhdG9ySlMucG0gc2hvdWxkIG5vdAorICAgICAgICBpbXBs
aWNpdGx5IGFzc3VtZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGZvciBzdGF0aWMgYXR0cmlidXRl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMTIyOTEy
IGltcGxlbWVudGVkIHN0YXRpYyBhdHRyaWJ1dGVzIGluIENvZGVHZW5lcmF0b3JKUy5wbS4KKyAg
ICAgICAgSG93ZXZlciwgdGhlIGdlbmVyYXRlZCBjb2RlIGFzc3VtZXMgdGhhdCBzdGF0aWMgYXR0
cmlidXRlcworICAgICAgICBhbHdheXMgcmVxdWlyZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCB3
aGljaCBpcyB3cm9uZy4KKyAgICAgICAgSWYgd2UgbmVlZCBhIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIHdlIHNob3VsZCBzcGVjaWZ5CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XS4KKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIENvZGVHZW5lcmF0b3JKUy5wbSBz
byB0aGF0IHN0YXRpYyBhdHRyaWJ1dGVzCisgICAgICAgIGRvIG5vdCBhc3N1bWUgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC4gVGhpcyBmaXggYWxpZ25zIHdpdGgKKyAgICAgICAgdGhlIGZpeCBpbiBD
b2RlR2VuZXJhdG9yVjgucG0gaW4gcjEyMzMwOC4KKworICAgICAgICBUZXN0OiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclN1cHBsZW1lbnRhbFN0YXRp
Y1JlYWRPbmx5QXR0cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3RvclN1cHBsZW1lbnRhbFN0YXRpY0F0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JTdXBwbGVtZW50YWxTdGF0aWNBdHRyKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdE9iakNvbnN0cnVjdG9yU3RhdGljUmVhZE9ubHlJbnRBdHRyKToKKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdE9iakNvbnN0cnVjdG9yU3RhdGljU3RyaW5nQXR0cik6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RPYmpDb25zdHJ1Y3RvclN0YXRpY1N0cmluZ0F0dHIpOgorCiAyMDEy
LTA3LTIzICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBIEZv
Y3VzU2NvcGUgZm9yIGEgZGlzdHJpYnV0ZWQgbm9kZSBzaG91bGQgbm90IGJlIGl0cyBUcmVlU2Nv
cGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCmluZGV4IGViYjVlN2ZhMDE3NjQ5MDM1MGI0MDYxNWNjOTdkNTFlZTIzODZiNGIuLjhm
OGMxNmVjMTc1NjQ4NGNmYjZhMzJhYzM3MzYwMGM1YjI1MzRlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNzcxLDE0
ICsxNzcxLDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiwgUHJvcGVydHlOYW1lKVxuIik7CiAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKIAotICAgICAgICAgICAgICAgIGlmICgkYXR0cmli
dXRlLT5pc1N0YXRpYykgewotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0ganNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIGlmICghc2NyaXB0Q29udGV4dClcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNDOjpKU1ZhbHVlIHJlc3Vs
dCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENs
YXNzTmFtZSwgIiR7aW1wbENsYXNzTmFtZX06OiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1lKHNjcmlw
dENvbnRleHQpIiwgIiIpIC4gIjtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICByZXR1cm4gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05h
bWV9KiBjYXN0ZWRUaGlzID0ganNDYXN0PCRjbGFzc05hbWUqPihhc09iamVjdChzbG90QmFzZSkp
O1xuIik7CisgICAgICAgICAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+aXNTdGF0aWMpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NO
YW1lfSogY2FzdGVkVGhpcyA9IGpzQ2FzdDwkY2xhc3NOYW1lKj4oYXNPYmplY3Qoc2xvdEJhc2Up
KTtcbiIpOworICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgaWYg
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhY2hlZEF0dHJp
YnV0ZSJ9KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAx
OwpAQCAtMTg0OCw2ICsxODQzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5
fS5oIn0gPSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1l
ID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgImltcGwiKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5pc1N0YXRpYykgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gIiR7aW1wbENsYXNzTmFt
ZX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJpbXBs
LT4ke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTE4
NTUsNyArMTg1Miw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCBAY2FsbFdpdGhBcmdzKTsKIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRqc1R5cGUgPSBOYXRpdmVUb0pTVmFsdWUoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENsYXNzTmFtZSwgIiR7ZnVuY3Rpb25OYW1lfSgi
IC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIpIiwgImNhc3RlZFRoaXMiKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbENsYXNzTmFt
ZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4oY2FzdGVkVGhpcy0+aW1wbCgp
KTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsID0gc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWUqPihj
YXN0ZWRUaGlzLT5pbXBsKCkpO1xuIikgaWYgISRhdHRyaWJ1dGUtPmlzU3RhdGljOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5
cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIFJlZlB0cjwkdHlwZT4gb2JqID0gJGpzVHlwZTtcbiIpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZhbHVlIHJl
c3VsdCA9ICB0b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBvYmouZ2V0KCkp
O1xuIik7CkBAIC0xODg0LDcgKzE4ODEsNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIGVjKTtcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgcmV0dXJuIHJlc3VsdDtcbiIpOwogICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG5cbiIpOwogCkBAIC0xOTcyLDEzICsxOTY4LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiLCBKU1Zh
bHVlIHZhbHVlKVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIntcbiIpOwogCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+aXNT
dGF0aWMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0ganNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgaWYgKCFzY3JpcHRDb250ZXh0KVxuIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRuYXRpdmVWYWx1ZSA9IEpTVmFsdWVUb05hdGl2
ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJ2YWx1ZSIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7aW1wbENsYXNzTmFtZX06OnNldCRpbXBs
U2V0dGVyRnVuY3Rpb25OYW1lKHNjcmlwdENvbnRleHQsICR7bmF0aXZlVmFsdWV9KTtcbiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBVTlVTRURfUEFSQU0oZXhlYyk7XG4iKTsKIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDaGVja1NlY3VyaXR5In0gJiYgISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tTZWN1cml0eSJ9KSB7CkBAIC0yMDI3LDggKzIwMTYs
MTAgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4g
b2JqZWN0XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAganNDYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCBcIiRuYW1lXCIpLCB2YWx1ZSk7XG4i
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkY2xhc3NOYW1lKiBjYXN0
ZWRUaGlzID0ganNDYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KTtcbiIpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbFR5cGUq
IGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbFR5cGUqPihjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+aXNTdGF0
aWMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICRjbGFzc05hbWUqIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8JGNsYXNzTmFtZSo+KHRo
aXNPYmplY3QpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAkaW1wbFR5cGUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbFR5
cGUqPihjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKSBpZiBAeyRhdHRyaWJ1dGUtPnNldHRl
ckV4Y2VwdGlvbnN9OwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgSWYgdGhl
ICJTdHJpY3RUeXBlQ2hlY2tpbmciIGV4dGVuZGVkIGF0dHJpYnV0ZSBpcyBwcmVzZW50LCBhbmQg
dGhlIGF0dHJpYnV0ZSdzIHR5cGUgaXMgYW4KQEAgLTIwODIsNiArMjA3Myw4IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJGltcGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5fS5oIn0gPSAxOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgImltcGwiKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0g
IiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5pc1N0YXRpYykgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBs
Q2xhc3NOYW1lfTo6JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJpbXBsLT4ke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjA5Myw3ICsyMDg2LDYgQEAgc3ViIEdlbmVy
YXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBA
eyRhdHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
In1cblxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNl
bmRpZlxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmNwcAppbmRleCBjM2M4MjljMjJiMTJiYzZjMTcxNzg0YWY1MWEwYjcxOWVkN2EzZjc1Li4zOTdh
ZjBmMmFhY2Y1MWE2NjQ1MmU1NDQ4M2IzYWIzODMyMWM4ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmNwcApAQCAtMjQ0LDEwICsyNDQsOCBAQCBib29sIEpTVGVzdEludGVyZmFjZTo6Z2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYwogI2lmIEVO
QUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogSlNWYWx1ZSBqc1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3RvclN1cHBsZW1lbnRhbFN0YXRpY1JlYWRPbmx5QXR0cihFeGVjU3Rh
dGUqIGV4ZWMsIEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRDb250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlm
ICghc2NyaXB0Q29udGV4dCkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgSlND
OjpKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKFRlc3RJbnRlcmZhY2U6OnN1cHBsZW1lbnRhbFN0
YXRpY1JlYWRPbmx5QXR0cihzY3JpcHRDb250ZXh0KSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWMp
OworICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoVGVzdFN1cHBsZW1lbnRhbDo6c3VwcGxl
bWVudGFsU3RhdGljUmVhZE9ubHlBdHRyKGltcGwpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CkBAIC0yNTYsMTAgKzI1NCw4IEBAIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JT
dXBwbGVtZW50YWxTdGF0aWNSZWFkT25seUF0dHIoRXhlY1N0YXRlKiBleGVjCiAjaWYgRU5BQkxF
KENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCiBKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9yU3VwcGxlbWVudGFsU3RhdGljQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRDb250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlmICghc2NyaXB0Q29u
dGV4dCkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgSlNDOjpKU1ZhbHVlIHJl
c3VsdCA9IGpzU3RyaW5nKGV4ZWMsIFRlc3RJbnRlcmZhY2U6OnN1cHBsZW1lbnRhbFN0YXRpY0F0
dHIoc2NyaXB0Q29udGV4dCkpOworICAgIFVOVVNFRF9QQVJBTShleGVjKTsKKyAgICBKU1ZhbHVl
IHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIFRlc3RTdXBwbGVtZW50YWw6OnN1cHBsZW1lbnRhbFN0
YXRpY0F0dHIoaW1wbCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTMyOCwxMCArMzI0
LDggQEAgdm9pZCBKU1Rlc3RJbnRlcmZhY2U6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSog
ZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmEKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8
IEVOQUJMRShDb25kaXRpb24xMikKIHZvaWQgc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JT
dXBwbGVtZW50YWxTdGF0aWNBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1ZhbHVl
IHZhbHVlKQogewotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFzY3JpcHRDb250ZXh0KQotICAgICAg
ICByZXR1cm47Ci0gICAgVGVzdEludGVyZmFjZTo6c2V0U3VwcGxlbWVudGFsU3RhdGljQXR0cihz
Y3JpcHRDb250ZXh0LCB1c3RyaW5nVG9TdHJpbmcodmFsdWUuaXNFbXB0eSgpID8gVVN0cmluZygp
IDogdmFsdWUudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKSk7CisgICAgVU5VU0VEX1BBUkFN
KGV4ZWMpOworICAgIFRlc3RTdXBwbGVtZW50YWw6OnNldFN1cHBsZW1lbnRhbFN0YXRpY0F0dHIo
aW1wbCwgdXN0cmluZ1RvU3RyaW5nKHZhbHVlLmlzRW1wdHkoKSA/IFVTdHJpbmcoKSA6IHZhbHVl
LnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKSkpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5k
ZXggZTY5ZGE3ZWJiMWQ5MjM2N2Q5ODQ1YWQ0YzBhMzFmZDYwYmRjNTM1MC4uMDFmZDg4ODU2NGY5
OTliYTMzYTdkYmQ1ZDUzMTE0NDUyZDBmMTBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQxNiwyMCArNDE2
LDE2IEBAIEpTVmFsdWUganNUZXN0T2JqUmVhZE9ubHlUZXN0T2JqQXR0cihFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIFByb3BlcnR5CiAKIEpTVmFsdWUganNUZXN0T2JqQ29uc3Ry
dWN0b3JTdGF0aWNSZWFkT25seUludEF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9
IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSkt
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIXNjcmlwdENvbnRleHQpCi0gICAg
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSBqc051
bWJlcihUZXN0T2JqOjpzdGF0aWNSZWFkT25seUludEF0dHIoc2NyaXB0Q29udGV4dCkpOworICAg
IFVOVVNFRF9QQVJBTShleGVjKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKFRlc3RP
Ymo6OnN0YXRpY1JlYWRPbmx5SW50QXR0cigpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiAK
IEpTVmFsdWUganNUZXN0T2JqQ29uc3RydWN0b3JTdGF0aWNTdHJpbmdBdHRyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdENvbnRleHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFz
Y3JpcHRDb250ZXh0KQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICBKU0M6OkpT
VmFsdWUgcmVzdWx0ID0ganNTdHJpbmcoZXhlYywgVGVzdE9iajo6c3RhdGljU3RyaW5nQXR0cihz
Y3JpcHRDb250ZXh0KSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOworICAgIEpTVmFsdWUgcmVz
dWx0ID0ganNTdHJpbmcoZXhlYywgVGVzdE9iajo6c3RhdGljU3RyaW5nQXR0cigpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkBAIC05NDksMTAgKzk0NSw4IEBAIHZvaWQgSlNUZXN0T2JqOjpw
dXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUsIEpTCiAKIHZvaWQgc2V0SlNUZXN0T2JqQ29uc3RydWN0b3JTdGF0aWNTdHJpbmdBdHRyKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1ZhbHVlIHZhbHVlKQogewotICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci0gICAgaWYgKCFzY3JpcHRDb250ZXh0KQotICAgICAgICByZXR1cm47Ci0gICAgVGVzdE9iajo6
c2V0U3RhdGljU3RyaW5nQXR0cihzY3JpcHRDb250ZXh0LCB1c3RyaW5nVG9TdHJpbmcodmFsdWUu
aXNFbXB0eSgpID8gVVN0cmluZygpIDogdmFsdWUudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMp
KSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOworICAgIFRlc3RPYmo6OnNldFN0YXRpY1N0cmlu
Z0F0dHIodXN0cmluZ1RvU3RyaW5nKHZhbHVlLmlzRW1wdHkoKSA/IFVTdHJpbmcoKSA6IHZhbHVl
LnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKSkpOwogfQogCiAK
</data>
<flag name="commit-queue"
          id="163053"
          type_id="3"
          status="-"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153967</attachid>
            <date>2012-07-23 23:04:23 -0700</date>
            <delta_ts>2012-07-24 00:21:45 -0700</delta_ts>
            <desc>fix indentation, patch for landing</desc>
            <filename>bug-91924-20120724150414.patch</filename>
            <type>text/plain</type>
            <size>27908</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg2OTIwM2M2OTE0OWY3
NmE0OTdlNjlhOTJiNGNlMmEyZjE4ZWFiNS4uOTAxYWEwZDM3OWExNmY3OGUwODAwZGJjYzU1MDJh
YTA5OTc1ODU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSlNDXSBSRUdSRVNT
SU9OKHIxMjI5MTIpOiBDb2RlR2VuZXJhdG9ySlMucG0gc2hvdWxkIG5vdAorICAgICAgICBpbXBs
aWNpdGx5IGFzc3VtZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGZvciBzdGF0aWMgYXR0cmlidXRl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIHIxMjI5MTIgaW1w
bGVtZW50ZWQgc3RhdGljIGF0dHJpYnV0ZXMgaW4gQ29kZUdlbmVyYXRvckpTLnBtLgorICAgICAg
ICBIb3dldmVyLCB0aGUgZ2VuZXJhdGVkIGNvZGUgYXNzdW1lcyB0aGF0IHN0YXRpYyBhdHRyaWJ1
dGVzCisgICAgICAgIGFsd2F5cyByZXF1aXJlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHdoaWNo
IGlzIHdyb25nLgorICAgICAgICBJZiB3ZSBuZWVkIGEgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
d2Ugc2hvdWxkIHNwZWNpZnkKKyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgQ29kZUdlbmVyYXRvckpTLnBtIHNvIHRo
YXQgc3RhdGljIGF0dHJpYnV0ZXMKKyAgICAgICAgZG8gbm90IGFzc3VtZSBTY3JpcHRFeGVjdXRp
b25Db250ZXh0LiBUaGlzIGZpeCBhbGlnbnMgd2l0aAorICAgICAgICB0aGUgZml4IGluIENvZGVH
ZW5lcmF0b3JWOC5wbSBpbiByMTIzMzA4LgorCisgICAgICAgIFRlc3Q6IGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0T2JqLmlkbAorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yU3VwcGxlbWVudGFsU3RhdGljUmVh
ZE9ubHlBdHRyKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
U3VwcGxlbWVudGFsU3RhdGljQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRl
cmZhY2VDb25zdHJ1Y3RvclN1cHBsZW1lbnRhbFN0YXRpY0F0dHIpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0T2JqQ29uc3RydWN0b3JTdGF0aWNSZWFkT25seUludEF0dHIpOgorICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqQ29uc3RydWN0b3JTdGF0aWNTdHJpbmdBdHRyKToKKyAgICAgICAgKFdlYkNv
cmU6OnNldEpTVGVzdE9iakNvbnN0cnVjdG9yU3RhdGljU3RyaW5nQXR0cik6CisKIDIwMTItMDct
MjMgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEEgRm9jdXNT
Y29wZSBmb3IgYSBkaXN0cmlidXRlZCBub2RlIHNob3VsZCBub3QgYmUgaXRzIFRyZWVTY29wZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KaW5kZXggZWJiNWU3ZmEwMTc2NDkwMzUwYjQwNjE1Y2M5N2Q1MWVlMjM4NmI0Yi4uYWFjNGEy
OTQwNzRkMzk0NjY0MmRmNWQ4ZjUzNWJlNTA3NjM0ZDliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTE3NzEsMTE5ICsx
NzcxLDExNSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiLCBQcm9wZXJ0eU5hbWUpXG4iKTsKICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogCi0gICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1
dGUtPmlzU3RhdGljKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBqc0Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgaWYgKCFzY3JpcHRDb250ZXh0KVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOwotICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU0M6OkpTVmFsdWUgcmVzdWx0
ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xh
c3NOYW1lLCAiJHtpbXBsQ2xhc3NOYW1lfTo6JGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoc2NyaXB0
Q29udGV4dCkiLCAiIikgLiAiO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+aXNTdGF0aWMpIHsKICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRU
aGlzID0ganNDYXN0PCRjbGFzc05hbWUqPihhc09iamVjdChzbG90QmFzZSkpO1xuIik7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhY2hlZEF0dHJpYnV0ZSJ9KSB7CisgICAgICAgICAg
ICAgICAgICAgICRuZWVkc01hcmtDaGlsZHJlbiA9IDE7CisgICAgICAgICAgICAgICAgfQogCisg
ICAgICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNr
U2VjdXJpdHkifSAmJgorICAgICAgICAgICAgICAgICAgICAhJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3VyaXR5In0gJiYKKyAgICAgICAg
ICAgICAgICAgICAgISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkRvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyIn0pIHsKKyAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFjYXN0ZWRUaGlzLT5hbGxvd3NBY2Nlc3NGcm9tKGV4
ZWMpKVxuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDdXN0b20ifSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0N1c3RvbSJ9IHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkN1c3RvbUdldHRlciJ9IHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkpTQ3VzdG9tR2V0dGVyIn0pIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGNhc3RlZFRoaXMtPiRpbXBsR2V0dGVyRnVuY3Rpb25O
YW1lKGV4ZWMpO1xuIik7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eUZvck5vZGUifSkgewor
ICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0RPTUJpbmRpbmcuaCJ9ID0gMTsK
KyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05h
bWUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwo
KSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0
dXJuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPiIgLiAkYXR0cmlidXRlLT5z
aWduYXR1cmUtPm5hbWUgLiAiKCkpID8gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5z
aWduYXR1cmUsIDAsICRpbXBsQ2xhc3NOYW1lLCAiaW1wbC0+JGltcGxHZXR0ZXJGdW5jdGlvbk5h
bWUoKSIsICJjYXN0ZWRUaGlzIikgLiAiIDoganNOdWxsKCk7XG4iKTsKKyAgICAgICAgICAgICAg
ICB9IGVsc2lmICgkdHlwZSBlcSAiRXZlbnRMaXN0ZW5lciIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgJGltcGxJbmNsdWRlc3siRXZlbnRMaXN0ZW5lci5oIn0gPSAxOworICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBVTlVTRURfUEFSQU0oZXhlYyk7XG4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUq
IGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKEV2
ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gaW1wbC0+JGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoKSkg
e1xuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBp
ZiAoY29uc3QgSlNFdmVudExpc3RlbmVyKiBqc0xpc3RlbmVyID0gSlNFdmVudExpc3RlbmVyOjpj
YXN0KGxpc3RlbmVyKSkge1xuIik7CisgICAgICAgICAgICAgICAgICAgIGlmICgkaW1wbENsYXNz
TmFtZSBlcSAiRG9jdW1lbnQiIHx8ICRpbXBsQ2xhc3NOYW1lIGVxICJXb3JrZXJDb250ZXh0IiB8
fCAkaW1wbENsYXNzTmFtZSBlcSAiU2hhcmVkV29ya2VyQ29udGV4dCIgfHwgJGltcGxDbGFzc05h
bWUgZXEgIkRlZGljYXRlZFdvcmtlckNvbnRleHQiKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIGlmIChKU09iamVjdCoganNGdW5jdGlv
biA9IGpzTGlzdGVuZXItPmpzRnVuY3Rpb24oaW1wbCkpXG4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICAgICAgaWYgKEpTT2JqZWN0KiBqc0Z1bmN0aW9uID0ganNMaXN0ZW5lci0+anNGdW5j
dGlvbihpbXBsLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKVxuIik7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
ICAgICAgICAgcmV0dXJuIGpzRnVuY3Rpb247XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICAgIH1cbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgcmV0dXJuIGpzTnVsbCgpO1xuIik7CisgICAgICAgICAgICAgICAgfSBl
bHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvKSB7Cisg
ICAgICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvclR5cGUgPSAkY29kZUdlbmVyYXRvci0+
U3RyaXBNb2R1bGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsKKyAgICAgICAgICAgICAg
ICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8vOworICAgICAgICAgICAg
ICAgICAgICAjIENvbnN0cnVjdG9yIGF0dHJpYnV0ZSBpcyBvbmx5IHVzZWQgYnkgRE9NV2luZG93
LmlkbCwgc28gaXQncyBjb3JyZWN0IHRvIHBhc3MgY2FzdGVkVGhpcyBhcyB0aGUgZ2xvYmFsIG9i
amVjdAorICAgICAgICAgICAgICAgICAgICAjIE9uY2UgSlNET01XcmFwcGVycyBoYXZlIGEgYmFj
ay1wb2ludGVyIHRvIHRoZSBnbG9iYWxPYmplY3Qgd2UgY2FuIHBhc3MgY2FzdGVkVGhpcy0+Z2xv
YmFsT2JqZWN0KCkKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
cmV0dXJuIEpTIiAuICRjb25zdHJ1Y3RvclR5cGUgLiAiOjpnZXRDb25zdHJ1Y3RvcihleGVjLCBj
YXN0ZWRUaGlzKTtcbiIpOworICAgICAgICAgICAgICAgIH0gZWxzaWYgKCFAeyRhdHRyaWJ1dGUt
PmdldHRlckV4Y2VwdGlvbnN9KSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVjKTtcbiIpIGlmICEkYXR0cmlidXRlLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9OworCisgICAgICAgICAgICAgICAg
ICAgIG15ICRjYWNoZUluZGV4ID0gMDsKICAgICAgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhY2hlZEF0dHJpYnV0ZSJ9KSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAxOworICAgICAg
ICAgICAgICAgICAgICAgICAgJGNhY2hlSW5kZXggPSAkY3VycmVudENhY2hlZEF0dHJpYnV0ZTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50Q2FjaGVkQXR0cmlidXRlKys7CisgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoSlNWYWx1ZSBj
YWNoZWRWYWx1ZSA9IGNhc3RlZFRoaXMtPm1fIiAuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFt
ZSAuICIuZ2V0KCkpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICByZXR1cm4gY2FjaGVkVmFsdWU7XG4iKTsKICAgICAgICAgICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDaGVja1NlY3VyaXR5In0gJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAh
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1Nl
Y3VyaXR5In0gJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAhJGF0dHJpYnV0ZS0+c2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0ZXIi
fSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYg
KCFjYXN0ZWRUaGlzLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKVxuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBteSBA
Y2FsbFdpdGhBcmdzID0gR2VuZXJhdGVDYWxsV2l0aCgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9LCBcQGltcGxDb250ZW50LCAianNVbmRlZmlu
ZWQoKSIpOwogCi0gICAgICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20ifSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbSJ9IHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldHRlciJ9IHx8ICRhdHRyaWJ1dGUtPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tR2V0dGVyIn0pIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBjYXN0ZWRU
aGlzLT4kaW1wbEdldHRlckZ1bmN0aW9uTmFtZShleGVjKTtcbiIpOwotICAgICAgICAgICAgICAg
ICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAkaW1w
bEluY2x1ZGVzeyJKU0RPTUJpbmRpbmcuaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsID0gc3RhdGljX2Nh
c3Q8JGltcGxDbGFzc05hbWUqPihjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2hvdWxkQWxsb3dB
Y2Nlc3NUb05vZGUoZXhlYywgaW1wbC0+IiAuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSAu
ICIoKSkgPyAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGlt
cGxDbGFzc05hbWUsICJpbXBsLT4kaW1wbEdldHRlckZ1bmN0aW9uTmFtZSgpIiwgImNhc3RlZFRo
aXMiKSAuICIgOiBqc051bGwoKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgk
dHlwZSBlcSAiRXZlbnRMaXN0ZW5lciIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICRpbXBs
SW5jbHVkZXN7IkV2ZW50TGlzdGVuZXIuaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVjKTtcbiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUq
IGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlm
IChFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IGltcGwtPiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1l
KCkpIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgICAgIGlmIChjb25zdCBKU0V2ZW50TGlzdGVuZXIqIGpzTGlzdGVuZXIgPSBKU0V2ZW50TGlz
dGVuZXI6OmNhc3QobGlzdGVuZXIpKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICgkaW1wbENsYXNzTmFtZSBlcSAiRG9jdW1lbnQiIHx8ICRpbXBsQ2xhc3NOYW1lIGVxICJXb3Jr
ZXJDb250ZXh0IiB8fCAkaW1wbENsYXNzTmFtZSBlcSAiU2hhcmVkV29ya2VyQ29udGV4dCIgfHwg
JGltcGxDbGFzc05hbWUgZXEgIkRlZGljYXRlZFdvcmtlckNvbnRleHQiKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICAgICBpZiAoSlNP
YmplY3QqIGpzRnVuY3Rpb24gPSBqc0xpc3RlbmVyLT5qc0Z1bmN0aW9uKGltcGwpKVxuIik7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICgkc3ZnTGlzdFByb3BlcnR5VHlwZSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAg
IiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xhc3NO
YW1lLCAiY2FzdGVkVGhpcy0+aW1wbCgpLT4kaW1wbEdldHRlckZ1bmN0aW9uTmFtZSgiIC4gKGpv
aW4gIiwgIiwgQGNhbGxXaXRoQXJncykgLiAiKSIsICJjYXN0ZWRUaGlzIikgLiAiO1xuIik7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRzdmdQcm9wZXJ0eU9yTGlzdFByb3BlcnR5VHlw
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHN2
Z1Byb3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpLT5w
cm9wZXJ0eVJlZmVyZW5jZSgpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHN2
Z1Byb3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlIGVxICJmbG9hdCIpIHsgIyBTcGVjaWFsIGNhc2Ug
Zm9yIEpTU1ZHTnVtYmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAgIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmli
dXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xhc3NOYW1lLCAiaW1wbCIsICJjYXN0ZWRUaGlzIikg
LiAiO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgaWYgKEpTT2Jq
ZWN0KiBqc0Z1bmN0aW9uID0ganNMaXN0ZW5lci0+anNGdW5jdGlvbihpbXBsLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpKVxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAgIiAuIE5hdGl2ZVRvSlNWYWx1ZSgk
YXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xhc3NOYW1lLCAiaW1wbC4kaW1wbEdldHRl
ckZ1bmN0aW9uTmFtZSgiIC4gKGpvaW4gIiwgIiwgQGNhbGxXaXRoQXJncykgLiAiKSIsICJjYXN0
ZWRUaGlzIikgLiAiO1xuIik7CisKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgICAgIHJldHVy
biBqc0Z1bmN0aW9uO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgfVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICB9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBqc051bGwoKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICB9
IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvclR5cGUgPSAkY29kZUdlbmVy
YXRvci0+U3RyaXBNb2R1bGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICRjb25zdHJ1Y3RvclR5cGUgPX4gcy9Db25zdHJ1Y3RvciQvLzsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICMgQ29uc3RydWN0b3IgYXR0cmlidXRlIGlzIG9ubHkgdXNl
ZCBieSBET01XaW5kb3cuaWRsLCBzbyBpdCdzIGNvcnJlY3QgdG8gcGFzcyBjYXN0ZWRUaGlzIGFz
IHRoZSBnbG9iYWwgb2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIE9uY2UgSlNET01X
cmFwcGVycyBoYXZlIGEgYmFjay1wb2ludGVyIHRvIHRoZSBnbG9iYWxPYmplY3Qgd2UgY2FuIHBh
c3MgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBKUyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIjo6
Z2V0Q29uc3RydWN0b3IoZXhlYywgY2FzdGVkVGhpcyk7XG4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgfSBlbHNpZiAoIUB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc30pIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVj
KTtcbiIpIGlmICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
YWxsV2l0aCJ9OwotCi0gICAgICAgICAgICAgICAgICAgICAgICBteSAkY2FjaGVJbmRleCA9IDA7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ2FjaGVkQXR0cmlidXRlIn0pIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAkY2FjaGVJbmRleCA9ICRjdXJyZW50Q2FjaGVkQXR0cmlidXRlOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50Q2FjaGVkQXR0cmlidXRlKys7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKEpTVmFsdWUg
Y2FjaGVkVmFsdWUgPSBjYXN0ZWRUaGlzLT5tXyIgLiAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5h
bWUgLiAiLmdldCgpKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTtcbiIpOworICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgbXkgKCRmdW5jdGlvbk5h
bWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb24oXCVpbXBs
SW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJ
bXBsZW1lbnRlZEJ5In0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSAkaW1wbGVt
ZW50ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Iklt
cGxlbWVudGVkQnkifTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVz
eyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgImltcGwiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPmlzU3RhdGljKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxDbGFzc05h
bWV9Ojoke2Z1bmN0aW9uTmFtZX0iOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcGwtPiR7ZnVu
Y3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG15IEBjYWxsV2l0aEFyZ3MgPSBHZW5lcmF0ZUNhbGxXaXRoKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxXaXRoIn0sIFxAaW1wbENvbnRl
bnQsICJqc1VuZGVmaW5lZCgpIik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc3Zn
TGlzdFByb3BlcnR5VHlwZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIEpTVmFsdWUgcmVzdWx0ID0gICIgLiBOYXRpdmVUb0pTVmFsdWUoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENsYXNzTmFtZSwgImNhc3RlZFRoaXMtPmltcGwo
KS0+JGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoIiAuIChqb2luICIsICIsIEBjYWxsV2l0aEFyZ3Mp
IC4gIikiLCAiY2FzdGVkVGhpcyIpIC4gIjtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
fSBlbHNpZiAoJHN2Z1Byb3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHN2Z1Byb3BlcnR5T3JMaXN0
UHJvcGVydHlUeXBlJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpLT5wcm9wZXJ0eVJlZmVyZW5j
ZSgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eU9y
TGlzdFByb3BlcnR5VHlwZSBlcSAiZmxvYXQiKSB7ICMgU3BlY2lhbCBjYXNlIGZvciBKU1NWR051
bWJlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBKU1ZhbHVlIHJlc3VsdCA9ICAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNp
Z25hdHVyZSwgMCwgJGltcGxDbGFzc05hbWUsICJpbXBsIiwgImNhc3RlZFRoaXMiKSAuICI7XG4i
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZhbHVlIHJlc3VsdCA9
ICAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFz
c05hbWUsICJpbXBsLiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1lKCIgLiAoam9pbiAiLCAiLCBAY2Fs
bFdpdGhBcmdzKSAuICIpIiwgImNhc3RlZFRoaXMiKSAuICI7XG4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgQGNhbGxXaXRoQXJncyk7CiAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkanNUeXBl
ID0gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFzc05h
bWUsICIke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKSIsICJj
YXN0ZWRUaGlzIik7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAkaW1wbENsYXNzTmFtZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4o
Y2FzdGVkVGhpcy0+aW1wbCgpKTtcbiIpIGlmICEkYXR0cmlidXRlLT5pc1N0YXRpYzsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUo
JHR5cGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgUmVmUHRyPCR0eXBlPiBvYmogPSAkanNUeXBlO1xuIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAgdG9K
UyhleGVjLCBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgb2JqLmdldCgpKTtcbiIpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBteSAoJGZ1bmN0aW9uTmFtZSwgQGFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVy
RXhwcmVzc2lvbihcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In0pIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxl
bWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNoaWZ0KEBhcmd1bWVudHMsICJpbXBsIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9u
TmFtZSA9ICJpbXBsLT4ke2Z1bmN0aW9uTmFtZX0iOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywg
QGNhbGxXaXRoQXJncyk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSAkanNUeXBl
ID0gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFzc05h
bWUsICIke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKSIsICJj
YXN0ZWRUaGlzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFt
ZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBSZWZQdHI8
JHR5cGU+IG9iaiA9ICRqc1R5cGU7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAgdG9KUyhleGVjLCBj
YXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgb2JqLmdldCgpKTtcbiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIEpTVmFsdWUgcmVzdWx0ID0gJGpzVHlwZTtcbiIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZhbHVlIHJlc3VsdCA9ICRqc1R5cGU7XG4iKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXN0ZWRUaGlzLT5t
XyIgLiAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUgLiAiLnNldChleGVjLT5nbG9iYWxEYXRh
KCksIGNhc3RlZFRoaXMsIHJlc3VsdCk7XG4iKSBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FjaGVkQXR0cmlidXRlIn0pOwotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHJlc3VsdDtcbiIpOwotCi0g
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBteSBA
YXJndW1lbnRzID0gKCJlYyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgY2FzdGVkVGhpcy0+bV8iIC4gJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5uYW1lIC4gIi5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCBjYXN0ZWRUaGlzLCBy
ZXN1bHQpO1xuIikgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNhY2hlZEF0dHJpYnV0ZSJ9KTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgcmV0dXJuIHJlc3VsdDtcbiIpOwogCi0gICAgICAgICAgICAgICAgICAgICAg
ICB1bnNoaWZ0KEBhcmd1bWVudHMsIEdlbmVyYXRlQ2FsbFdpdGgoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdpdGgifSwgXEBpbXBsQ29udGVudCwgImpz
VW5kZWZpbmVkKCkiKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgbXkgQGFyZ3VtZW50cyA9ICgiZWMiKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKTsKIAotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eU9yTGlzdFByb3BlcnR5VHlwZSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRzdmdQcm9w
ZXJ0eU9yTGlzdFByb3BlcnR5VHlwZSBpbXBsKCpjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNDOjpK
U1ZhbHVlIHJlc3VsdCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LCAwLCAkaW1wbENsYXNzTmFtZSwgImltcGwuJGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoIiAuIGpv
aW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKSIsICJjYXN0ZWRUaGlzIikgLiAiO1xuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsID0gc3RhdGljX2Nh
c3Q8JGltcGxDbGFzc05hbWUqPihjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNDOjpKU1ZhbHVlIHJl
c3VsdCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAwLCAkaW1w
bENsYXNzTmFtZSwgImltcGwtPiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1lKCIgLiBqb2luKCIsICIs
IEBhcmd1bWVudHMpIC4gIikiLCAiY2FzdGVkVGhpcyIpIC4gIjtcbiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1bWVudHMsIEdl
bmVyYXRlQ2FsbFdpdGgoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ2FsbFdpdGgifSwgXEBpbXBsQ29udGVudCwgImpzVW5kZWZpbmVkKCkiKSk7CiAKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBlYyk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIHJldHVybiByZXN1bHQ7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCRz
dmdQcm9wZXJ0eU9yTGlzdFByb3BlcnR5VHlwZSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgJHN2Z1Byb3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlIGlt
cGwoKmNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSAiIC4gTmF0aXZlVG9K
U1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFzc05hbWUsICJpbXBsLiRp
bXBsR2V0dGVyRnVuY3Rpb25OYW1lKCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIikiLCAi
Y2FzdGVkVGhpcyIpIC4gIjtcbiIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05h
bWUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwo
KSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IEpTQzo6SlNWYWx1ZSByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNp
Z25hdHVyZSwgMCwgJGltcGxDbGFzc05hbWUsICJpbXBsLT4kaW1wbEdldHRlckZ1bmN0aW9uTmFt
ZSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIpIiwgImNhc3RlZFRoaXMiKSAuICI7XG4i
KTsKICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHJlc3VsdDtcbiIpOwog
ICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
fVxuXG4iKTsKQEAgLTE5NzIsMTMgKzE5NjgsNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIEpTVmFsdWUg
dmFsdWUpXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
e1xuIik7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5pc1N0YXRp
YykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBqc0Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBpZiAoIXNjcmlwdENvbnRleHQpXG4iKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuO1xuIik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbXkgJG5hdGl2ZVZhbHVlID0gSlNWYWx1ZVRvTmF0aXZlKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZSwgInZhbHVlIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtpbXBsQ2xhc3NOYW1lfTo6c2V0JGltcGxTZXR0
ZXJGdW5jdGlvbk5hbWUoc2NyaXB0Q29udGV4dCwgJHtuYXRpdmVWYWx1ZX0pO1xuIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVjKTtcbiIpOwogCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNoZWNrU2VjdXJpdHkifSAmJiAhJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3VyaXR5In0pIHsKQEAgLTIwMjcsOCArMjAxNiwxMCBA
QCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBvYmpl
Y3RcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBqc0Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsIFwiJG5hbWVcIiksIHZhbHVlKTtcbiIpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRjbGFzc05hbWUqIGNhc3RlZFRo
aXMgPSBqc0Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpO1xuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsVHlwZSogaW1w
bCA9IHN0YXRpY19jYXN0PCRpbXBsVHlwZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5pc1N0YXRpYykg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgJGNsYXNzTmFtZSogY2FzdGVkVGhpcyA9IGpzQ2FzdDwkY2xhc3NOYW1lKj4odGhpc09i
amVjdCk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICRpbXBsVHlwZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsVHlwZSo+
KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhj
ZXB0aW9uc307CiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBJZiB0aGUgIlN0
cmljdFR5cGVDaGVja2luZyIgZXh0ZW5kZWQgYXR0cmlidXRlIGlzIHByZXNlbnQsIGFuZCB0aGUg
YXR0cmlidXRlJ3MgdHlwZSBpcyBhbgpAQCAtMjA4Miw2ICsyMDczLDggQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
aW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaW1wbCIpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtp
bXBsZW1lbnRlZEJ5fTo6JHtmdW5jdGlvbk5hbWV9IjsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPmlzU3RhdGljKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxDbGFz
c05hbWV9Ojoke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
ZnVuY3Rpb25OYW1lID0gImltcGwtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CkBAIC0yMDkzLDcgKzIwODYsNiBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGF0
dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxu
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlm
XG4iKSBpZiAkYXR0cmlidXRlQ29uZGl0aW9uYWxTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
CmluZGV4IGMzYzgyOWMyMmIxMmJjNmMxNzE3ODRhZjUxYTBiNzE5ZWQ3YTNmNzUuLjM5N2FmMGYy
YWFjZjUxYTY2NDUyZTU0NDgzYjNhYjM4MzIxYzhmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
CkBAIC0yNDQsMTAgKzI0NCw4IEBAIGJvb2wgSlNUZXN0SW50ZXJmYWNlOjpnZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjCiAjaWYgRU5BQkxF
KENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCiBKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9yU3VwcGxlbWVudGFsU3RhdGljUmVhZE9ubHlBdHRyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdENvbnRleHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFz
Y3JpcHRDb250ZXh0KQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICBKU0M6OkpT
VmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoVGVzdEludGVyZmFjZTo6c3VwcGxlbWVudGFsU3RhdGlj
UmVhZE9ubHlBdHRyKHNjcmlwdENvbnRleHQpKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlYyk7Cisg
ICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihUZXN0U3VwcGxlbWVudGFsOjpzdXBwbGVtZW50
YWxTdGF0aWNSZWFkT25seUF0dHIoaW1wbCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTI1NiwxMCArMjU0LDggQEAgSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclN1cHBs
ZW1lbnRhbFN0YXRpY1JlYWRPbmx5QXR0cihFeGVjU3RhdGUqIGV4ZWMKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKIEpTVmFsdWUganNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3JTdXBwbGVtZW50YWxTdGF0aWNBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKQogewotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENv
bnRleHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFzY3JpcHRDb250ZXh0
KQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICBKU0M6OkpTVmFsdWUgcmVzdWx0
ID0ganNTdHJpbmcoZXhlYywgVGVzdEludGVyZmFjZTo6c3VwcGxlbWVudGFsU3RhdGljQXR0cihz
Y3JpcHRDb250ZXh0KSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOworICAgIEpTVmFsdWUgcmVz
dWx0ID0ganNTdHJpbmcoZXhlYywgVGVzdFN1cHBsZW1lbnRhbDo6c3VwcGxlbWVudGFsU3RhdGlj
QXR0cihpbXBsKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMzI4LDEwICszMjQsOCBA
QCB2b2lkIEpTVGVzdEludGVyZmFjZTo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYQogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5B
QkxFKENvbmRpdGlvbjEyKQogdm9pZCBzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclN1cHBs
ZW1lbnRhbFN0YXRpY0F0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEpTVmFsdWUgdmFs
dWUpCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIXNjcmlwdENvbnRleHQpCi0gICAgICAgIHJl
dHVybjsKLSAgICBUZXN0SW50ZXJmYWNlOjpzZXRTdXBwbGVtZW50YWxTdGF0aWNBdHRyKHNjcmlw
dENvbnRleHQsIHVzdHJpbmdUb1N0cmluZyh2YWx1ZS5pc0VtcHR5KCkgPyBVU3RyaW5nKCkgOiB2
YWx1ZS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykpKTsKKyAgICBVTlVTRURfUEFSQU0oZXhl
Yyk7CisgICAgVGVzdFN1cHBsZW1lbnRhbDo6c2V0U3VwcGxlbWVudGFsU3RhdGljQXR0cihpbXBs
LCB1c3RyaW5nVG9TdHJpbmcodmFsdWUuaXNFbXB0eSgpID8gVVN0cmluZygpIDogdmFsdWUudG9T
dHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBl
NjlkYTdlYmIxZDkyMzY3ZDk4NDVhZDRjMGEzMWZkNjBiZGM1MzUwLi4wMWZkODg4NTY0Zjk5OWJh
MzNhN2RiZDVkNTMxMTQ0NTJkMGYxMGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNDE2LDIwICs0MTYsMTYg
QEAgSlNWYWx1ZSBqc1Rlc3RPYmpSZWFkT25seVRlc3RPYmpBdHRyKEV4ZWNTdGF0ZSogZXhlYywg
SlNWYWx1ZSBzbG90QmFzZSwgUHJvcGVydHkKIAogSlNWYWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3Rv
clN0YXRpY1JlYWRPbmx5SW50QXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUsIFByb3BlcnR5
TmFtZSkKIHsKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0ganND
YXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlmICghc2NyaXB0Q29udGV4dCkKLSAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVy
KFRlc3RPYmo6OnN0YXRpY1JlYWRPbmx5SW50QXR0cihzY3JpcHRDb250ZXh0KSk7CisgICAgVU5V
U0VEX1BBUkFNKGV4ZWMpOworICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoVGVzdE9iajo6
c3RhdGljUmVhZE9ubHlJbnRBdHRyKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAogSlNW
YWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3RvclN0YXRpY1N0cmluZ0F0dHIoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0Q29udGV4dCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIXNjcmlw
dENvbnRleHQpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIEpTQzo6SlNWYWx1
ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBUZXN0T2JqOjpzdGF0aWNTdHJpbmdBdHRyKHNjcmlw
dENvbnRleHQpKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlYyk7CisgICAgSlNWYWx1ZSByZXN1bHQg
PSBqc1N0cmluZyhleGVjLCBUZXN0T2JqOjpzdGF0aWNTdHJpbmdBdHRyKCkpOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKQEAgLTk0OSwxMCArOTQ1LDggQEAgdm9pZCBKU1Rlc3RPYmo6OnB1dChK
U0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwg
SlMKIAogdm9pZCBzZXRKU1Rlc3RPYmpDb25zdHJ1Y3RvclN0YXRpY1N0cmluZ0F0dHIoRXhlY1N0
YXRlKiBleGVjLCBKU09iamVjdCosIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAg
ICBpZiAoIXNjcmlwdENvbnRleHQpCi0gICAgICAgIHJldHVybjsKLSAgICBUZXN0T2JqOjpzZXRT
dGF0aWNTdHJpbmdBdHRyKHNjcmlwdENvbnRleHQsIHVzdHJpbmdUb1N0cmluZyh2YWx1ZS5pc0Vt
cHR5KCkgPyBVU3RyaW5nKCkgOiB2YWx1ZS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykpKTsK
KyAgICBVTlVTRURfUEFSQU0oZXhlYyk7CisgICAgVGVzdE9iajo6c2V0U3RhdGljU3RyaW5nQXR0
cih1c3RyaW5nVG9TdHJpbmcodmFsdWUuaXNFbXB0eSgpID8gVVN0cmluZygpIDogdmFsdWUudG9T
dHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKSk7CiB9CiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>