<?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>81605</bug_id>
          
          <creation_ts>2012-03-19 18:08:48 -0700</creation_ts>
          <short_desc>Fix the code generator to support [ImplementedAs] for attributes</short_desc>
          <delta_ts>2012-03-23 08:59:29 -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>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>code.vineet</cc>
    
    <cc>crogers</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582555</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-03-19 18:08:48 -0700</bug_when>
    <thetext>An example where this would be useful:

readonly attribute [ImplementedAs=releaseTime] AudioParam release; // in Seconds

since &quot;release&quot; is a reserved word in Objective-C</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584861</commentid>
    <comment_count>1</comment_count>
      <attachid>133160</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-21 18:23:36 -0700</bug_when>
    <thetext>Created attachment 133160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585427</commentid>
    <comment_count>2</comment_count>
      <attachid>133160</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-22 10:10:28 -0700</bug_when>
    <thetext>Comment on attachment 133160
Patch

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

&gt; Source/WebCore/bindings/scripts/test/TestObj.idl:219
&gt;          [ImplementedAs=banana] void orange();
&gt; +        attribute [ImplementedAs=banana] int strawberry;

I would have made the ImplementedAs different for these two, but it doesn&apos;t really matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586333</commentid>
    <comment_count>3</comment_count>
      <attachid>133483</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-23 07:35:19 -0700</bug_when>
    <thetext>Created attachment 133483
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586365</commentid>
    <comment_count>4</comment_count>
      <attachid>133483</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-23 08:46:41 -0700</bug_when>
    <thetext>Comment on attachment 133483
patch for landing

Clearing flags on attachment: 133483

Committed r111865: &lt;http://trac.webkit.org/changeset/111865&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133160</attachid>
            <date>2012-03-21 18:23:36 -0700</date>
            <delta_ts>2012-03-23 08:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81605-20120322102334.patch</filename>
            <type>text/plain</type>
            <size>17113</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IxN2U4ZjMzMWJkNDI4
ZGRmZjE5ZjUxM2ZkOTEyMzQ3NDI1ZGEwYy4uYWRjMjA1YzBjNzBmOTZiM2FjZjI1MTIxMjBhMTBl
Mjk3MGVkMzU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAzLTIxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0IFtJbXBs
ZW1lbnRlZEFzXSBmb3IgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODE2MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbSW1wbGVtZW50ZWRBc10ganVzdCBzdXBwb3J0cyBtZXRob2RzLiBb
SW1wbGVtZW50ZWRBc10gc2hvdWxkIHN1cHBvcnQKKyAgICAgICAgYXR0cmlidXRlcyB0b28uCisK
KyAgICAgICAgRXhwbGFpbmVkIGhlcmU6IGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvV2Vi
S2l0SURMI0ltcGxlbWVudGVkQXMKKworICAgICAgICBUZXN0OiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbTogTW9kaWZpZWQgdG8gc3VwcG9ydCBbSW1wbGVtZW50ZWRBc10gZm9yIGF0dHJpYnV0ZXMu
CisgICAgICAgIChBdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVyKToKKworICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDogQWRkZWQgYSB0ZXN0IGNhc2UuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOiBV
cGRhdGVkIHJ1bi1iaW5kaW5ncy10ZXN0cyByZXN1bHRzLgorICAgICAgICAoV2ViRE9NVGVzdE9i
ajo6c3RyYXdiZXJyeSk6CisgICAgICAgIChXZWJET01UZXN0T2JqOjpzZXRTdHJhd2JlcnJ5KToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNw
cDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnkpOgorICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyYXdiZXJyeSk6CisgICAgICAgICh3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2NsYXNzX2luaXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
T2JqU3RyYXdiZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpTdHJhd2JlcnJ5
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5tbToKKyAgICAgICAgKC1bRE9NVGVzdE9iaiBzdHJhd2JlcnJ5XSk6CisgICAgICAgICgtW0RP
TVRlc3RPYmogc2V0U3RyYXdiZXJyeTpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6
c3RyYXdiZXJyeUF0dHJHZXR0ZXIpOgorICAgICAgICAoVGVzdE9iakludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6c3RyYXdiZXJyeUF0dHJTZXR0ZXIpOgorICAg
ICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDMtMjEgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBFYXJseSBvdXQgaW4gYSBuZXcgcHJlcGFy
ZVRvRHJhdygpIHN0ZXAgaWYgY2hlY2tlcmJvYXJkaW5nIGFuIGFjY2VsZXJhdGVkIGFuaW1hdGlv
biBpbiBvcmRlciB0byBza2lwIHRoZSBmcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDUyNGIxNThmODZjMGQ5MTQ1MmZiZTM4
ZTg5YjFlZjkzMTdlMzJmNmYuLjNmMzM3OWExZTkwZTRjM2ViZDRkOTQzMmE4NTFhNWU5ZGUyOWVi
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3IucG0KQEAgLTUxNCw2ICs1MTQsOSBAQCBzdWIgQXR0cmlidXRlTmFtZUZvckdldHRlckFuZFNl
dHRlcgogICAgIG15ICgkZ2VuZXJhdG9yLCAkYXR0cmlidXRlKSA9IEBfOwogCiAgICAgbXkgJGF0
dHJpYnV0ZU5hbWUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWU7CisgICAgaWYgKCRhdHRy
aWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQXMifSkg
eworICAgICAgICAkYXR0cmlidXRlTmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQXMifTsKKyAgICB9CiAgICAgbXkgJGF0dHJpYnV0
ZVR5cGUgPSAkZ2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5
cGUpOwogCiAgICAgIyBBdm9pZCBjbGFzaCB3aXRoIEMrKyBrZXl3b3JkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9i
ai5jcHAKaW5kZXggYjE0Njk3ZGUwZDkxMjI1ODM1MDViNjU5YzYzOWY2YmVmNDE3NjQ0My4uMTcy
YzI2ODc0Y2QwMGZiNGU5YTFkYTFiNWVkMjNhNjVhZGU2OTdjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmou
Y3BwCkBAIC02MDEsNiArNjAxLDIyIEBAIHZvaWQgV2ViRE9NVGVzdE9iajo6c2V0SW1tdXRhYmxl
UG9pbnQoY29uc3QgV2ViRE9NU1ZHUG9pbnQmIG5ld0ltbXV0YWJsZVBvaW50KQogICAgIGltcGwo
KS0+c2V0SW1tdXRhYmxlUG9pbnQodG9XZWJDb3JlKG5ld0ltbXV0YWJsZVBvaW50KSk7CiB9CiAK
K2ludCBXZWJET01UZXN0T2JqOjpzdHJhd2JlcnJ5KCkgY29uc3QKK3sKKyAgICBpZiAoIWltcGwo
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gaW1wbCgpLT5iYW5hbmEoKTsKK30K
Kwordm9pZCBXZWJET01UZXN0T2JqOjpzZXRTdHJhd2JlcnJ5KGludCBuZXdTdHJhd2JlcnJ5KQor
eworICAgIGlmICghaW1wbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbXBsKCktPnNldEJh
bmFuYShuZXdTdHJhd2JlcnJ5KTsKK30KKwogZmxvYXQgV2ViRE9NVGVzdE9iajo6c3RyaWN0Rmxv
YXQoKSBjb25zdAogewogICAgIGlmICghaW1wbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCAzOGMz
YzYyMTMxMzUxMmU5OGE3YTJlODc5OTU4ZTE0ZGVmZDI2NjRmLi44NTg4M2I3YzMyN2ViOWYwZGNm
YzY3OGZmNGY3NWY1YjQyZTVkNmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaApAQCAtMTM4LDYgKzEzOCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE11dGFibGVQb2ludChjb25zdCBXZWJET01TVkdQb2lu
dCYpOwogICAgIFdlYkRPTVNWR1BvaW50IGltbXV0YWJsZVBvaW50KCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRJbW11dGFibGVQb2ludChjb25zdCBXZWJET01TVkdQb2ludCYpOworICAgIGludCBzdHJh
d2JlcnJ5KCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdHJhd2JlcnJ5KGludCk7CiAgICAgZmxvYXQg
c3RyaWN0RmxvYXQoKSBjb25zdDsKICAgICB2b2lkIHNldFN0cmljdEZsb2F0KGZsb2F0KTsKICAg
ICBpbnQgZGVzY3JpcHRpb24oKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5j
cHAKaW5kZXggMjI3YWM5ZjA2MmQ4ODg1NmU2ZTJhZjkxYzY1MDUzNjYyNDc2MTg4Yy4uMmI0MWJj
NzEyODBjODA4ZjIxZjk5NTEyY2QzMmYxMzQ2YzYwZTcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE9iai5jcHAKQEAgLTE0NjksNiArMTQ2OSwyNSBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9pbW11dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NU1ZH
UG9pbgogICAgIGl0ZW0tPnNldEltbXV0YWJsZVBvaW50KGNvbnZlcnRlZF92YWx1ZSk7CiB9CiAK
K2dpbnQKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnkoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZikKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChzZWxmLCAwKTsKKyAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgV2ViQ29yZTo6VGVzdE9iaiAq
IGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CisgICAgZ2ludCByZXMgPSBpdGVtLT5iYW5hbmEo
KTsKKyAgICByZXR1cm4gcmVzOworfQorCit2b2lkCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9z
dHJhd2JlcnJ5KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQgdmFsdWUpCit7CisgICAgZ19y
ZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7
CisgICAgaXRlbS0+c2V0QmFuYW5hKHZhbHVlKTsKK30KKwogZ2Zsb2F0CiB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9zdHJpY3RfZmxvYXQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKQEAgLTE1
OTAsNiArMTYwOSw3IEBAIGVudW0gewogICAgIFBST1BfQ09OVEVOVF9ET0NVTUVOVCwKICAgICBQ
Uk9QX01VVEFCTEVfUE9JTlQsCiAgICAgUFJPUF9JTU1VVEFCTEVfUE9JTlQsCisgICAgUFJPUF9T
VFJBV0JFUlJZLAogICAgIFBST1BfU1RSSUNUX0ZMT0FULAogICAgIFBST1BfREVTQ1JJUFRJT04s
CiAgICAgUFJPUF9JRCwKQEAgLTE5ODEsNiArMjAwMSwxMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQs
IEdWYQogICAgICAgICBnX3ZhbHVlX3NldF9vYmplY3QodmFsdWUsIFdlYktpdDo6a2l0KHB0ci5n
ZXQoKSkpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBQUk9QX1NUUkFXQkVSUlk6
CisgICAgeworICAgICAgICBnX3ZhbHVlX3NldF9pbnQodmFsdWUsIGNvcmVTZWxmLT5iYW5hbmEo
KSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIFBST1BfU1RSSUNUX0ZMT0FUOgog
ICAgIHsKICAgICAgICAgZ192YWx1ZV9zZXRfZmxvYXQodmFsdWUsIGNvcmVTZWxmLT5zdHJpY3RG
bG9hdCgpKTsKQEAgLTIzMzMsNiArMjM1OCwxNSBAQCBHX01BWExPTkcsIC8qIG1heCAqLwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
RUJLSVRfVFlQRV9ET01fU1ZHX1BPSU5ULCAvKiBnb2JqZWN0IHR5cGUgKi8KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURXUklURSkpOwogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29i
amVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TVFJB
V0JFUlJZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X2ludCgic3RyYXdiZXJyeSIsIC8qIG5hbWUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3N0cmF3YmVycnkiLCAv
KiBzaG9ydCBkZXNjcmlwdGlvbiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2ludCBUZXN0T2JqLnN0cmF3
YmVycnkiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhl
cmUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR19NSU5JTlQsIC8qIG1pbiAqLworR19NQVhJTlQsIC8qIG1heCAqLworMCwgLyog
ZGVmYXVsdCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisgICAgZ19vYmplY3RfY2xh
c3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQUk9QX1NUUklDVF9GTE9BVCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19mbG9hdCgic3RyaWN0LWZsb2F0IiwgLyogbmFtZSAq
LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAidGVzdF9vYmpfc3RyaWN0LWZsb2F0IiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCBmYzAyNGFjYzhkNGM2YmE2MzBkMWVmMGRm
MWExOTBmM2YwYTcxM2QyLi5jZmEwMjQ4Y2I3ZTgxMDg4ZTgxY2IzMTU5N2YxNjg1ZTYyNTY1MTk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCkBAIC0xMjc1LDYgKzEyNzUsMjcgQEAg
V0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9pbW11dGFibGVfcG9pbnQo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NU1ZHUG9pbnQqIHZhbHVlKTsKIAogLyoq
CisgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJhd2JlcnJ5OgorICogQHNlbGY6IEEgI1dl
YktpdERPTVRlc3RPYmoKKyAqCisgKiBSZXR1cm5zOgorICoKKyoqLworV0VCS0lUX0FQSSBnaW50
Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJhd2JlcnJ5KFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpOworCisvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3N0cmF3YmVycnk6CisgKiBA
c2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagorICogQHZhbHVlOiBBICNnaW50CisgKgorICogUmV0
dXJuczoKKyAqCisqKi8KK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2RvbV90ZXN0X29ial9zZXRf
c3RyYXdiZXJyeShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnaW50IHZhbHVlKTsKKworLyoqCiAg
KiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpY3RfZmxvYXQ6CiAgKiBAc2VsZjogQSAjV2Vi
S2l0RE9NVGVzdE9iagogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggZWY0MzA5YTc1NGE4YTgxOGMzNGM1MjFh
MDU4OWZhYjcxYzY0MDcxMy4uNzAxNDFjYTlhNTBiZGVlYWNkNGQyOWVmNmQ4YTNjNTNjYmM4MzI3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAiY29udGVudERvY3VtZW50Iiwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRwdHJfdCkwLCBO
b0ludHJpbnNpYyB9LAogICAgIHsgIm11dGFibGVQb2ludCIsIERvbnREZWxldGUsIChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTXV0YWJs
ZVBvaW50KSwgKGludHB0cl90KXNldEpTVGVzdE9iak11dGFibGVQb2ludCwgTm9JbnRyaW5zaWMg
fSwKICAgICB7ICJpbW11dGFibGVQb2ludCIsIERvbnREZWxldGUsIChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqSW1tdXRhYmxlUG9pbnQp
LCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqSW1tdXRhYmxlUG9pbnQsIE5vSW50cmluc2ljIH0sCisg
ICAgeyAic3RyYXdiZXJyeSIsIERvbnREZWxldGUsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqU3RyYXdiZXJyeSksIChpbnRwdHJfdClz
ZXRKU1Rlc3RPYmpTdHJhd2JlcnJ5LCBOb0ludHJpbnNpYyB9LAogICAgIHsgInN0cmljdEZsb2F0
IiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpTdHJpY3RGbG9hdCksIChpbnRwdHJfdClzZXRKU1Rlc3RPYmpTdHJp
Y3RGbG9hdCwgTm9JbnRyaW5zaWMgfSwKICAgICB7ICJkZXNjcmlwdGlvbiIsIERvbnREZWxldGUg
fCBSZWFkT25seSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RPYmpEZXNjcmlwdGlvbiksIChpbnRwdHJfdCkwLCBOb0ludHJpbnNpYyB9LAog
ICAgIHsgImlkIiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpJZCksIChpbnRwdHJfdClzZXRKU1Rlc3RPYmpJZCwg
Tm9JbnRyaW5zaWMgfSwKQEAgLTE0Niw3ICsxNDcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCAwLCAwLCBOb0ludHJp
bnNpYyB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyAx
MzcsIDEyNywgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFi
bGUgSlNUZXN0T2JqVGFibGUgPSB7IDEzOCwgMTI3LCBKU1Rlc3RPYmpUYWJsZVZhbHVlcywgMCB9
OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC04NTMsNiAr
ODU0LDE2IEBAIEpTVmFsdWUganNUZXN0T2JqSW1tdXRhYmxlUG9pbnQoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmCiB9CiAKIAorSlNWYWx1ZSBqc1Rlc3RP
YmpTdHJhd2JlcnJ5KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRl
bnRpZmllciYpCit7CisgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNU
ZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlYyk7Cisg
ICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBs
KCkpOworICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoaW1wbC0+YmFuYW5hKCkpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKKwogSlNWYWx1ZSBqc1Rlc3RPYmpTdHJpY3RGbG9hdChFeGVj
U3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXImKQogewogICAg
IEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGFzT2JqZWN0
KHNsb3RCYXNlKSk7CkBAIC0xMjYzLDYgKzEyNzQsMTQgQEAgdm9pZCBzZXRKU1Rlc3RPYmpJbW11
dGFibGVQb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVl
IHYKIH0KIAogCit2b2lkIHNldEpTVGVzdE9ialN0cmF3YmVycnkoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBKU1Rlc3RPYmoqIGNh
c3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPih0aGlzT2JqZWN0KTsKKyAgICBUZXN0
T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7Cisg
ICAgaW1wbC0+c2V0QmFuYW5hKHRvaW50KHZhbHVlKSk7Cit9CisKKwogdm9pZCBzZXRKU1Rlc3RP
YmpTdHJpY3RGbG9hdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1Zh
bHVlIHZhbHVlKQogewogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpT
VGVzdE9iaio+KHRoaXNPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCmluZGV4IDkzMWE0MDBkMjE2NmM3MTIyMmQ0NTgx
MmI3N2NkYTMxYTA4MTFjMjYuLjEyZmE2OTg2YjM4NDBhNTRmMjA5NDhlNjAyZjI5MzQ2MTQyYzFh
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmgKQEAgLTMxNCw2ICszMTQsOCBAQCBKU0M6OkpTVmFsdWUganNUZXN0T2JqTXV0
YWJsZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZQog
dm9pZCBzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2Jq
ZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpJbW11dGFibGVQb2lu
dChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7
CiB2b2lkIHNldEpTVGVzdE9iakltbXV0YWJsZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U09iamVjdCosIEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUganNUZXN0T2JqU3RyYXdiZXJy
eShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7
Cit2b2lkIHNldEpTVGVzdE9ialN0cmF3YmVycnkoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2Jq
ZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpTdHJpY3RGbG9hdChK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiB2
b2lkIHNldEpTVGVzdE9ialN0cmljdEZsb2F0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6SlNWYWx1ZSk7CiBKU0M6OkpTVmFsdWUganNUZXN0T2JqRGVzY3JpcHRpb24oSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVz
dE9iai5oCmluZGV4IDNmNDVlN2UzZWU4NDIxZWU1N2M0YTVlNjIwMTVkNjAwNGZkMWEwNzIuLjAz
MjY3ZjFkZjBmNzEzN2Y5NjJmMzE3YWZkNGZlNjM4MDAyOWQyYTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAg
LTE2Myw2ICsxNjMsOCBAQCBlbnVtIHsKIC0gKHZvaWQpc2V0TXV0YWJsZVBvaW50OihET01TVkdQ
b2ludCAqKW5ld011dGFibGVQb2ludDsKIC0gKERPTVNWR1BvaW50ICopaW1tdXRhYmxlUG9pbnQ7
CiAtICh2b2lkKXNldEltbXV0YWJsZVBvaW50OihET01TVkdQb2ludCAqKW5ld0ltbXV0YWJsZVBv
aW50OworLSAoaW50KXN0cmF3YmVycnk7CistICh2b2lkKXNldFN0cmF3YmVycnk6KGludCluZXdT
dHJhd2JlcnJ5OwogLSAoZmxvYXQpc3RyaWN0RmxvYXQ7CiAtICh2b2lkKXNldFN0cmljdEZsb2F0
OihmbG9hdCluZXdTdHJpY3RGbG9hdDsKIC0gKGludClkZXNjcmlwdGlvbk5hbWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2Jq
Lm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5tbQppbmRleCBjZGQyNWU3NDQ5ZmQxN2VlY2JhNWI5YmJjMGE0ZTEyMmRkOGNkMDk5Li40YjY4
MjdhMDI3YmM0ODRmY2NiOWQ2OWQ3NGZiOTU0M2UwZjZiNDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAg
LTY3Nyw2ICs2NzcsMTggQEAKICAgICBJTVBMLT5zZXRJbW11dGFibGVQb2ludChjb3JlKG5ld0lt
bXV0YWJsZVBvaW50KSk7CiB9CiAKKy0gKGludClzdHJhd2JlcnJ5Cit7CisgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIHJldHVybiBJTVBMLT5iYW5hbmEoKTsK
K30KKworLSAodm9pZClzZXRTdHJhd2JlcnJ5OihpbnQpbmV3U3RyYXdiZXJyeQoreworICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5zZXRCYW5hbmEo
bmV3U3RyYXdiZXJyeSk7Cit9CisKIC0gKGZsb2F0KXN0cmljdEZsb2F0CiB7CiAgICAgV2ViQ29y
ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IGE0MDNiNWE5YzBhY2Q3OGUxYWNh
NWNjODc5ZDkxYjllYzliY2EwYjYuLjkwYjczOTY0YjE4YTk4MmY5ZTFiZjU3NDc2NDMzYWJlNmY2
NDczODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE9iai5pZGwKQEAgLTIxNiw2ICsyMTYsNyBAQCBtb2R1bGUgdGVzdCB7CiAgICAgICAgIFtJbW11
dGFibGVdIFNWR1BvaW50IGltbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKIAogICAgICAgICBbSW1w
bGVtZW50ZWRBcz1iYW5hbmFdIHZvaWQgb3JhbmdlKCk7CisgICAgICAgIGF0dHJpYnV0ZSBbSW1w
bGVtZW50ZWRBcz1iYW5hbmFdIGludCBzdHJhd2JlcnJ5OwogCiAgICAgICAgIGF0dHJpYnV0ZSBb
U3RyaWN0VHlwZUNoZWNraW5nXSBmbG9hdCBzdHJpY3RGbG9hdDsKICAgICAgICAgW1N0cmljdFR5
cGVDaGVja2luZ10gYm9vbCBzdHJpY3RGdW5jdGlvbihpbiBET01TdHJpbmcgc3RyLCBpbiBmbG9h
dCBhLCBpbiBpbnQgYikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggMmRlZGRiZTllYTI0YzNmMzAwMTUxMmNlZGI1
ZTI3YjI1OWQ2ZTg4Ni4uMGQyM2QwZjIxN2ZiN2E5YjIyNTk4MjU2ZjMzMzI0NWVkY2JlN2M3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE9iai5jcHAKQEAgLTk0MSw2ICs5NDEsMjIgQEAgc3RhdGljIHZvaWQgaW1tdXRhYmxlUG9p
bnRBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlYK
ICAgICByZXR1cm47CiB9CiAKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc3RyYXdiZXJy
eUF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5zdHJhd2JlcnJ5Ll9n
ZXQiKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVy
KCkpOworICAgIHJldHVybiB2ODo6SW50ZWdlcjo6TmV3KGltcC0+YmFuYW5hKCkpOworfQorCitz
dGF0aWMgdm9pZCBzdHJhd2JlcnJ5QXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFt
ZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGlu
Zm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5zdHJhd2JlcnJ5Ll9zZXQiKTsKKyAg
ICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAg
IGludCB2ID0gVjhpbnQ6Okhhc0luc3RhbmNlKHZhbHVlKSA/IFY4aW50Ojp0b05hdGl2ZSh2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHZhbHVlKSkgOiAwOworICAgIGltcC0+c2V0QmFuYW5h
KHYpOworICAgIHJldHVybjsKK30KKwogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzdHJp
Y3RGbG9hdEF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5zdHJpY3RG
bG9hdC5fZ2V0Iik7CkBAIC0xODg5LDYgKzE5MDUsOCBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0
dHJpYnV0ZSBUZXN0T2JqQXR0cnNbXSA9IHsKICAgICB7Im11dGFibGVQb2ludCIsIFRlc3RPYmpJ
bnRlcm5hbDo6bXV0YWJsZVBvaW50QXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjptdXRhYmxl
UG9pbnRBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3ND
b250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
djg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ2ltbXV0
YWJsZVBvaW50JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ0ltbXV0YWJsZScpCiAgICAg
eyJpbW11dGFibGVQb2ludCIsIFRlc3RPYmpJbnRlcm5hbDo6aW1tdXRhYmxlUG9pbnRBdHRyR2V0
dGVyLCBUZXN0T2JqSW50ZXJuYWw6OmltbXV0YWJsZVBvaW50QXR0clNldHRlciwgMCAvKiBubyBk
YXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0
aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5j
ZSAqL30sCisgICAgLy8gQXR0cmlidXRlICdzdHJhd2JlcnJ5JyAoVHlwZTogJ2F0dHJpYnV0ZScg
RXh0QXR0cjogJ0ltcGxlbWVudGVkQXMnKQorICAgIHsic3RyYXdiZXJyeSIsIFRlc3RPYmpJbnRl
cm5hbDo6c3RyYXdiZXJyeUF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6c3RyYXdiZXJyeUF0
dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+
KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9u
ZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnc3RyaWN0RmxvYXQn
IChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnU3RyaWN0VHlwZUNoZWNraW5nJykKICAgICB7
InN0cmljdEZsb2F0IiwgVGVzdE9iakludGVybmFsOjpzdHJpY3RGbG9hdEF0dHJHZXR0ZXIsIFRl
c3RPYmpJbnRlcm5hbDo6c3RyaWN0RmxvYXRBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0
YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAg
ICAvLyBBdHRyaWJ1dGUgJ2Rlc2NyaXB0aW9uJyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJpYnV0ZScg
RXh0QXR0cjogJycpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133483</attachid>
            <date>2012-03-23 07:35:19 -0700</date>
            <delta_ts>2012-03-23 08:46:41 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-81605-20120323233517.patch</filename>
            <type>text/plain</type>
            <size>17076</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE0YzNjNzk2MzdhYmY4
NTk0NTYwY2U2OWFjOTM4YzdmMzA5Mjg1Ni4uNDE2MWEwYzJhMDE1Y2FlOTA1NWE4MDUyMDgxYTJl
NGVhOTI5ZmI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAzLTIxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0IFtJbXBs
ZW1lbnRlZEFzXSBmb3IgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODE2MDUKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgorCisgICAgICAgIFtJbXBsZW1lbnRlZEFzXSBqdXN0IHN1cHBvcnRzIG1ldGhvZHMuIFtJbXBs
ZW1lbnRlZEFzXSBzaG91bGQgc3VwcG9ydAorICAgICAgICBhdHRyaWJ1dGVzIHRvby4KKworICAg
ICAgICBFeHBsYWluZWQgaGVyZTogaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9XZWJLaXRJ
REwjSW1wbGVtZW50ZWRBcworCisgICAgICAgIFRlc3Q6IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0T2JqLmlkbAorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBt
OiBNb2RpZmllZCB0byBzdXBwb3J0IFtJbXBsZW1lbnRlZEFzXSBmb3IgYXR0cmlidXRlcy4KKyAg
ICAgICAgKEF0dHJpYnV0ZU5hbWVGb3JHZXR0ZXJBbmRTZXR0ZXIpOgorCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGRlZCBhIHRlc3QgY2FzZS4KKworICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHA6IFVwZGF0
ZWQgcnVuLWJpbmRpbmdzLXRlc3RzIHJlc3VsdHMuCisgICAgICAgIChXZWJET01UZXN0T2JqOjpz
dHJhd2JlcnJ5KToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OnNldFN0cmF3YmVycnkpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwOgor
ICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9nZXRfc3RyYXdiZXJyeSk6CisgICAgICAgICh3
ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9zdHJhd2JlcnJ5KToKKyAgICAgICAgKHdlYmtpdF9kb21f
dGVzdF9vYmpfZ2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfY2xh
c3NfaW5pdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpT
dHJhd2JlcnJ5KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialN0cmF3YmVycnkpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1t
OgorICAgICAgICAoLVtET01UZXN0T2JqIHN0cmF3YmVycnldKToKKyAgICAgICAgKC1bRE9NVGVz
dE9iaiBzZXRTdHJhd2JlcnJ5Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpzdHJh
d2JlcnJ5QXR0ckdldHRlcik6CisgICAgICAgIChUZXN0T2JqSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpzdHJhd2JlcnJ5QXR0clNldHRlcik6CisgICAgICAg
IChXZWJDb3JlKToKKwogMjAxMi0wMy0yMyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgcnVuLWJpbmRpbmdzLXRl
c3RzIHJlc3VsdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3IucG0KaW5kZXggNTI0YjE1OGY4NmMwZDkxNDUyZmJlMzhlODliMWVmOTMxN2UzMmY2
Zi4uM2YzMzc5YTFlOTBlNGMzZWJkNGQ5NDMyYTg1MWE1ZTlkZTI5ZWI4MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNTE0LDYg
KzUxNCw5IEBAIHN1YiBBdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVyCiAgICAgbXkgKCRn
ZW5lcmF0b3IsICRhdHRyaWJ1dGUpID0gQF87CiAKICAgICBteSAkYXR0cmlidXRlTmFtZSA9ICRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZTsKKyAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRBcyJ9KSB7CisgICAgICAgICRhdHRy
aWJ1dGVOYW1lID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
SW1wbGVtZW50ZWRBcyJ9OworICAgIH0KICAgICBteSAkYXR0cmlidXRlVHlwZSA9ICRnZW5lcmF0
b3ItPlN0cmlwTW9kdWxlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSk7CiAKICAgICAjIEF2
b2lkIGNsYXNoIHdpdGggQysrIGtleXdvcmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcAppbmRleCAxZmY1
Yjk2N2NjNWY0N2Q5YzhhYjc0Y2ViODRmMjVjNTRkY2Q0M2U3Li44MDcxZGY4NDFiODVhZDY0NTM5
NmQxODM4NDJhNDg1YWUwNzRiZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKQEAgLTU4Myw2ICs1
ODMsMjIgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpzZXRJbW11dGFibGVQb2ludChjb25zdCBXZWJE
T01TVkdQb2ludCYgbmV3SW1tdXRhYmxlUG9pbnQpCiAgICAgaW1wbCgpLT5zZXRJbW11dGFibGVQ
b2ludCh0b1dlYkNvcmUobmV3SW1tdXRhYmxlUG9pbnQpKTsKIH0KIAoraW50IFdlYkRPTVRlc3RP
Ymo6OnN0cmF3YmVycnkoKSBjb25zdAoreworICAgIGlmICghaW1wbCgpKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIHJldHVybiBpbXBsKCktPmJsdWViZXJyeSgpOworfQorCit2b2lkIFdlYkRP
TVRlc3RPYmo6OnNldFN0cmF3YmVycnkoaW50IG5ld1N0cmF3YmVycnkpCit7CisgICAgaWYgKCFp
bXBsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGltcGwoKS0+c2V0Qmx1ZWJlcnJ5KG5ld1N0
cmF3YmVycnkpOworfQorCiBmbG9hdCBXZWJET01UZXN0T2JqOjpzdHJpY3RGbG9hdCgpIGNvbnN0
CiB7CiAgICAgaWYgKCFpbXBsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCmluZGV4IDcwOTZkNzZmZDExYmNh
MDUwMzQwMzljYzJlOGRjOTFiMmUwNzk1ODUuLmU3ZWNjM2Y0MjNkNDhiYmRiY2MwYmE3ZGMxN2Jl
YzlhYzhmZGQzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCkBAIC0xMzUsNiArMTM1LDggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0TXV0YWJsZVBvaW50KGNvbnN0IFdlYkRPTVNWR1BvaW50Jik7CiAgICAg
V2ViRE9NU1ZHUG9pbnQgaW1tdXRhYmxlUG9pbnQoKSBjb25zdDsKICAgICB2b2lkIHNldEltbXV0
YWJsZVBvaW50KGNvbnN0IFdlYkRPTVNWR1BvaW50Jik7CisgICAgaW50IHN0cmF3YmVycnkoKSBj
b25zdDsKKyAgICB2b2lkIHNldFN0cmF3YmVycnkoaW50KTsKICAgICBmbG9hdCBzdHJpY3RGbG9h
dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U3RyaWN0RmxvYXQoZmxvYXQpOwogICAgIGludCBkZXNj
cmlwdGlvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCAy
MjdhYzlmMDYyZDg4ODU2ZTZlMmFmOTFjNjUwNTM2NjI0NzYxODhjLi5jN2VkMTY1ZTliZjUxNzdh
YWNmZGVkZWU0NDc0YTlkZThhNDZhMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2Jq
LmNwcApAQCAtMTQ2OSw2ICsxNDY5LDI1IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2ltbXV0
YWJsZV9wb2ludChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01TVkdQb2luCiAgICAg
aXRlbS0+c2V0SW1tdXRhYmxlUG9pbnQoY29udmVydGVkX3ZhbHVlKTsKIH0KIAorZ2ludAord2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfc3RyYXdiZXJyeShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQor
eworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdl
YktpdDo6Y29yZShzZWxmKTsKKyAgICBnaW50IHJlcyA9IGl0ZW0tPmJsdWViZXJyeSgpOworICAg
IHJldHVybiByZXM7Cit9CisKK3ZvaWQKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3N0cmF3YmVy
cnkoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2ludCB2YWx1ZSkKK3sKKyAgICBnX3JldHVybl9p
Zl9mYWlsKHNlbGYpOworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
KyAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKKyAgICBp
dGVtLT5zZXRCbHVlYmVycnkodmFsdWUpOworfQorCiBnZmxvYXQKIHdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X3N0cmljdF9mbG9hdChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewpAQCAtMTU5MCw2
ICsxNjA5LDcgQEAgZW51bSB7CiAgICAgUFJPUF9DT05URU5UX0RPQ1VNRU5ULAogICAgIFBST1Bf
TVVUQUJMRV9QT0lOVCwKICAgICBQUk9QX0lNTVVUQUJMRV9QT0lOVCwKKyAgICBQUk9QX1NUUkFX
QkVSUlksCiAgICAgUFJPUF9TVFJJQ1RfRkxPQVQsCiAgICAgUFJPUF9ERVNDUklQVElPTiwKICAg
ICBQUk9QX0lELApAQCAtMTk4MSw2ICsyMDAxLDExIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21f
dGVzdF9vYmpfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1Zh
CiAgICAgICAgIGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgV2ViS2l0OjpraXQocHRyLmdldCgp
KSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIFBST1BfU1RSQVdCRVJSWToKKyAg
ICB7CisgICAgICAgIGdfdmFsdWVfc2V0X2ludCh2YWx1ZSwgY29yZVNlbGYtPmJsdWViZXJyeSgp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgUFJPUF9TVFJJQ1RfRkxPQVQ6CiAg
ICAgewogICAgICAgICBnX3ZhbHVlX3NldF9mbG9hdCh2YWx1ZSwgY29yZVNlbGYtPnN0cmljdEZs
b2F0KCkpOwpAQCAtMjMzMyw2ICsyMzU4LDE1IEBAIEdfTUFYTE9ORywgLyogbWF4ICovCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdF
QktJVF9UWVBFX0RPTV9TVkdfUE9JTlQsIC8qIGdvYmplY3QgdHlwZSAqLwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBRFdSSVRFKSk7CiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2Jq
ZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1NUUkFX
QkVSUlksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNf
aW50KCJzdHJhd2JlcnJ5IiwgLyogbmFtZSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfc3RyYXdiZXJyeSIsIC8q
IHNob3J0IGRlc2NyaXB0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnaW50IFRlc3RPYmouc3RyYXdi
ZXJyeSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVy
ZSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHX01JTklOVCwgLyogbWluICovCitHX01BWElOVCwgLyogbWF4ICovCiswLCAvKiBk
ZWZhdWx0ICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKyAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFBST1BfU1RSSUNUX0ZMT0FULAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Zsb2F0KCJzdHJpY3QtZmxvYXQiLCAvKiBuYW1lICov
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0ZXN0X29ial9zdHJpY3QtZmxvYXQiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGZjMDI0YWNjOGQ0YzZiYTYzMGQxZWYwZGYx
YTE5MGYzZjBhNzEzZDIuLmNmYTAyNDhjYjdlODEwODhlODFjYjMxNTk3ZjE2ODVlNjI1NjUxOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKQEAgLTEyNzUsNiArMTI3NSwyNyBAQCBX
RUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2ltbXV0YWJsZV9wb2ludChX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01TVkdQb2ludCogdmFsdWUpOwogCiAvKioK
KyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnk6CisgKiBAc2VsZjogQSAjV2Vi
S2l0RE9NVGVzdE9iagorICoKKyAqIFJldHVybnM6CisgKgorKiovCitXRUJLSVRfQVBJIGdpbnQK
K3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnkoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
Zik7CisKKy8qKgorICogd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyYXdiZXJyeToKKyAqIEBz
ZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCisgKiBAdmFsdWU6IEEgI2dpbnQKKyAqCisgKiBSZXR1
cm5zOgorICoKKyoqLworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9z
dHJhd2JlcnJ5KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQgdmFsdWUpOworCisvKioKICAq
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmljdF9mbG9hdDoKICAqIEBzZWxmOiBBICNXZWJL
aXRET01UZXN0T2JqCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA1NjkzOTJkMDVmM2VjZWI5MmRlZjE4MTc5
MDMwOWU3M2NiOTk1OTEzLi4wNjg5NTNmOTA0NmM0YmJhYTVmNzU3OWE0MjU1MjFhNDQ0YmYwYmZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcApAQCAtMTM4LDYgKzEzOCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RPYmpUYWJsZVZhbHVlc1tdID0KICAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBE
b250RGVsZXRlIHwgUmVhZE9ubHksIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KTAsIE5v
SW50cmluc2ljIH0sCiAgICAgeyAibXV0YWJsZVBvaW50IiwgRG9udERlbGV0ZSwgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpNdXRhYmxl
UG9pbnQpLCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50LCBOb0ludHJpbnNpYyB9
LAogICAgIHsgImltbXV0YWJsZVBvaW50IiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpJbW11dGFibGVQb2ludCks
IChpbnRwdHJfdClzZXRKU1Rlc3RPYmpJbW11dGFibGVQb2ludCwgTm9JbnRyaW5zaWMgfSwKKyAg
ICB7ICJzdHJhd2JlcnJ5IiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpTdHJhd2JlcnJ5KSwgKGludHB0cl90KXNl
dEpTVGVzdE9ialN0cmF3YmVycnksIE5vSW50cmluc2ljIH0sCiAgICAgeyAic3RyaWN0RmxvYXQi
LCBEb250RGVsZXRlLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdE9ialN0cmljdEZsb2F0KSwgKGludHB0cl90KXNldEpTVGVzdE9ialN0cmlj
dEZsb2F0LCBOb0ludHJpbnNpYyB9LAogICAgIHsgImRlc2NyaXB0aW9uIiwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdE9iakRlc2NyaXB0aW9uKSwgKGludHB0cl90KTAsIE5vSW50cmluc2ljIH0sCiAg
ICAgeyAiaWQiLCBEb250RGVsZXRlLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iaklkKSwgKGludHB0cl90KXNldEpTVGVzdE9iaklkLCBO
b0ludHJpbnNpYyB9LApAQCAtMTQ2LDcgKzE0Nyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RPYmpUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIDAsIDAsIE5vSW50cmlu
c2ljIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T2JqVGFibGUgPSB7IDEz
NywgMTI3LCBKU1Rlc3RPYmpUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZSBKU1Rlc3RPYmpUYWJsZSA9IHsgMTM4LCAxMjcsIEpTVGVzdE9ialRhYmxlVmFsdWVzLCAwIH07
CiAvKiBIYXNoIHRhYmxlIGZvciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRh
YmxlVmFsdWUgSlNUZXN0T2JqQ29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KQEAgLTg1Myw2ICs4
NTQsMTYgQEAgSlNWYWx1ZSBqc1Rlc3RPYmpJbW11dGFibGVQb2ludChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWYKIH0KIAogCitKU1ZhbHVlIGpzVGVzdE9i
alN0cmF3YmVycnkoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVu
dGlmaWVyJikKK3sKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rl
c3RPYmoqPihhc09iamVjdChzbG90QmFzZSkpOworICAgIFVOVVNFRF9QQVJBTShleGVjKTsKKyAg
ICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwo
KSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihpbXBsLT5ibHVlYmVycnkoKSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKworCiBKU1ZhbHVlIGpzVGVzdE9ialN0cmljdEZsb2F0KEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpZmllciYpCiB7CiAg
ICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmpl
Y3Qoc2xvdEJhc2UpKTsKQEAgLTEyNjMsNiArMTI3NCwxNCBAQCB2b2lkIHNldEpTVGVzdE9iaklt
bXV0YWJsZVBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFs
dWUgdgogfQogCiAKK3ZvaWQgc2V0SlNUZXN0T2JqU3RyYXdiZXJyeShFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIEpTVGVzdE9iaiog
Y2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KHRoaXNPYmplY3QpOworICAgIFRl
c3RPYmoqIGltcGwgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsK
KyAgICBpbXBsLT5zZXRCbHVlYmVycnkodG9pbnQodmFsdWUpKTsKK30KKworCiB2b2lkIHNldEpT
VGVzdE9ialN0cmljdEZsb2F0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCiB7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nh
c3Q8SlNUZXN0T2JqKj4odGhpc09iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggOTMxYTQwMGQyMTY2YzcxMjIy
ZDQ1ODEyYjc3Y2RhMzFhMDgxMWMyNi4uMTJmYTY5ODZiMzg0MGE1NGYyMDk0OGU2MDJmMjkzNDYx
NDJjMWFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouaApAQCAtMzE0LDYgKzMxNCw4IEBAIEpTQzo6SlNWYWx1ZSBqc1Rlc3RP
YmpNdXRhYmxlUG9pbnQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6
SWRlCiB2b2lkIHNldEpTVGVzdE9iak11dGFibGVQb2ludChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakltbXV0YWJs
ZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZp
ZXImKTsKIHZvaWQgc2V0SlNUZXN0T2JqSW1tdXRhYmxlUG9pbnQoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKK0pTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpTdHJh
d2JlcnJ5KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZp
ZXImKTsKK3ZvaWQgc2V0SlNUZXN0T2JqU3RyYXdiZXJyeShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9ialN0cmljdEZs
b2F0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
KTsKIHZvaWQgc2V0SlNUZXN0T2JqU3RyaWN0RmxvYXQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
T2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpEZXNjcmlwdGlv
bihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqLmgKaW5kZXggM2Y0NWU3ZTNlZTg0MjFlZTU3YzRhNWU2MjAxNWQ2MDA0ZmQxYTA3
Mi4uMDMyNjdmMWRmMGY3MTM3Zjk2MmYzMTdhZmQ0ZmU2MzgwMDI5ZDJhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmou
aApAQCAtMTYzLDYgKzE2Myw4IEBAIGVudW0gewogLSAodm9pZClzZXRNdXRhYmxlUG9pbnQ6KERP
TVNWR1BvaW50ICopbmV3TXV0YWJsZVBvaW50OwogLSAoRE9NU1ZHUG9pbnQgKilpbW11dGFibGVQ
b2ludDsKIC0gKHZvaWQpc2V0SW1tdXRhYmxlUG9pbnQ6KERPTVNWR1BvaW50ICopbmV3SW1tdXRh
YmxlUG9pbnQ7CistIChpbnQpc3RyYXdiZXJyeTsKKy0gKHZvaWQpc2V0U3RyYXdiZXJyeTooaW50
KW5ld1N0cmF3YmVycnk7CiAtIChmbG9hdClzdHJpY3RGbG9hdDsKIC0gKHZvaWQpc2V0U3RyaWN0
RmxvYXQ6KGZsb2F0KW5ld1N0cmljdEZsb2F0OwogLSAoaW50KWRlc2NyaXB0aW9uTmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RPYmoubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLm1tCmluZGV4IGNkZDI1ZTc0NDlmZDE3ZWVjYmE1YjliYmMwYTRlMTIyZGQ4Y2QwOTku
LjdkYWEwYTFiZWMzMWFkMjBlYTU5ODg0MDg5NjdjZWJmZTRmNjEwMGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5t
bQpAQCAtNjc3LDYgKzY3NywxOCBAQAogICAgIElNUEwtPnNldEltbXV0YWJsZVBvaW50KGNvcmUo
bmV3SW1tdXRhYmxlUG9pbnQpKTsKIH0KIAorLSAoaW50KXN0cmF3YmVycnkKK3sKKyAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIElNUEwtPmJsdWVi
ZXJyeSgpOworfQorCistICh2b2lkKXNldFN0cmF3YmVycnk6KGludCluZXdTdHJhd2JlcnJ5Cit7
CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIElNUEwtPnNl
dEJsdWViZXJyeShuZXdTdHJhd2JlcnJ5KTsKK30KKwogLSAoZmxvYXQpc3RyaWN0RmxvYXQKIHsK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggYTQwM2I1YTlj
MGFjZDc4ZTFhY2E1Y2M4NzlkOTFiOWVjOWJjYTBiNi4uMzg1NzIxZDIzY2M4OWY2YTk0NWY1MGE0
YmNkMzM3YzA1YmJmNTZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMjE2LDYgKzIxNiw3IEBAIG1vZHVsZSB0ZXN0IHsKICAg
ICAgICAgW0ltbXV0YWJsZV0gU1ZHUG9pbnQgaW1tdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogCiAg
ICAgICAgIFtJbXBsZW1lbnRlZEFzPWJhbmFuYV0gdm9pZCBvcmFuZ2UoKTsKKyAgICAgICAgYXR0
cmlidXRlIFtJbXBsZW1lbnRlZEFzPWJsdWViZXJyeV0gaW50IHN0cmF3YmVycnk7CiAKICAgICAg
ICAgYXR0cmlidXRlIFtTdHJpY3RUeXBlQ2hlY2tpbmddIGZsb2F0IHN0cmljdEZsb2F0OwogICAg
ICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSBib29sIHN0cmljdEZ1bmN0aW9uKGluIERPTVN0cmlu
ZyBzdHIsIGluIGZsb2F0IGEsIGluIGludCBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAyYTgyODI4M2RiNTgz
NzAxNGMwY2E5MTYxYmMyMDlmNzQ3NmNkMzdlLi4wOTljNTdhZjhlY2RhMjc0ZmFiMDdjZWNiMzNk
NjBlYjNiNjQyMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtOTQxLDYgKzk0MSwyMiBAQCBzdGF0aWMgdm9p
ZCBpbW11dGFibGVQb2ludEF0dHJTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4
OjpMb2NhbDx2ODo6VgogICAgIHJldHVybjsKIH0KIAorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBzdHJhd2JlcnJ5QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
LnN0cmF3YmVycnkuX2dldCIpOworICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRp
dmUoaW5mby5Ib2xkZXIoKSk7CisgICAgcmV0dXJuIHY4OjpJbnRlZ2VyOjpOZXcoaW1wLT5ibHVl
YmVycnkoKSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0cmF3YmVycnlBdHRyU2V0dGVyKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnN0cmF3
YmVycnkuX3NldCIpOworICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5m
by5Ib2xkZXIoKSk7CisgICAgaW50IHYgPSBWOGludDo6SGFzSW5zdGFuY2UodmFsdWUpID8gVjhp
bnQ6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodmFsdWUpKSA6IDA7Cisg
ICAgaW1wLT5zZXRCbHVlYmVycnkodik7CisgICAgcmV0dXJuOworfQorCiBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHN0cmljdEZsb2F0QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBJTkNfU1RBVFMo
IkRPTS5UZXN0T2JqLnN0cmljdEZsb2F0Ll9nZXQiKTsKQEAgLTE4ODksNiArMTkwNSw4IEBAIHN0
YXRpYyBjb25zdCBCYXRjaGVkQXR0cmlidXRlIFRlc3RPYmpBdHRyc1tdID0gewogICAgIHsibXV0
YWJsZVBvaW50IiwgVGVzdE9iakludGVybmFsOjptdXRhYmxlUG9pbnRBdHRyR2V0dGVyLCBUZXN0
T2JqSW50ZXJuYWw6Om11dGFibGVQb2ludEF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAg
IC8vIEF0dHJpYnV0ZSAnaW1tdXRhYmxlUG9pbnQnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRy
OiAnSW1tdXRhYmxlJykKICAgICB7ImltbXV0YWJsZVBvaW50IiwgVGVzdE9iakludGVybmFsOjpp
bW11dGFibGVQb2ludEF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6aW1tdXRhYmxlUG9pbnRB
dHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICAvLyBBdHRyaWJ1dGUgJ3N0cmF3YmVycnkn
IChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnSW1wbGVtZW50ZWRBcycpCisgICAgeyJzdHJh
d2JlcnJ5IiwgVGVzdE9iakludGVybmFsOjpzdHJhd2JlcnJ5QXR0ckdldHRlciwgVGVzdE9iaklu
dGVybmFsOjpzdHJhd2JlcnJ5QXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2Fz
dDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVy
dHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0
cmlidXRlICdzdHJpY3RGbG9hdCcgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdTdHJpY3RU
eXBlQ2hlY2tpbmcnKQogICAgIHsic3RyaWN0RmxvYXQiLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmlj
dEZsb2F0QXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpzdHJpY3RGbG9hdEF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnZGVzY3JpcHRpb24nIChUeXBlOiAn
cmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRyOiAnJykK
</data>

          </attachment>
      

    </bug>

</bugzilla>