<?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>84628</bug_id>
          
          <creation_ts>2012-04-23 13:41:54 -0700</creation_ts>
          <short_desc>&quot;Not enough arguments&quot; error should be TypeError</short_desc>
          <delta_ts>2012-04-28 03:31:22 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>607985</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 13:41:54 -0700</bug_when>
    <thetext>Currently, some custom bindings implement &quot;Not enough arguments&quot; error as SyntaxError. The Web IDL spec requires that it should be TypeError:
http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608004</commentid>
    <comment_count>1</comment_count>
      <attachid>138422</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 14:03:50 -0700</bug_when>
    <thetext>Created attachment 138422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608077</commentid>
    <comment_count>2</comment_count>
      <attachid>138422</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-04-23 15:22:15 -0700</bug_when>
    <thetext>Comment on attachment 138422
Patch

Test coverage is insufficient. There are 5 call sites in JS bindings modified, but only three test results changing. We need a test that covers each affected call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608158</commentid>
    <comment_count>3</comment_count>
      <attachid>138451</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 16:17:28 -0700</bug_when>
    <thetext>Created attachment 138451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608160</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 16:18:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 138422 [details])
&gt; Test coverage is insufficient. There are 5 call sites in JS bindings modified, but only three test results changing. We need a test that covers each affected call site.

darin: Thanks. Added test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608822</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-24 10:42:05 -0700</bug_when>
    <thetext>I believe that the current behavior is just due to mis-implementation of custom bindings, but let me confirm other browsers&apos; behaviors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608839</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-24 10:54:51 -0700</bug_when>
    <thetext>I&apos;m not particularly concerned about this change, because we&apos;ve been already raising an exception, and sites hardly ever check for specific exception type.

Checking other browsers is worth doing anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608869</commentid>
    <comment_count>7</comment_count>
      <attachid>138606</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-24 11:21:39 -0700</bug_when>
    <thetext>Created attachment 138606
test cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608871</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-24 11:22:31 -0700</bug_when>
    <thetext>Opera 11.62:
WebSocket is not defined.
WebSocket is not defined.
XMLHttpRequest.open(): Error: WRONG_ARGUMENTS_ERR
SVGLength.convertToSpecifiedUnits(): Error: WRONG_ARGUMENTS_ERR

Firefox 11.0:
new WebSocket(): [Exception... &quot;An invalid or illegal string was specified&quot; code: &quot;12&quot; nsresult: &quot;0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)&quot; location: &quot;http://www.corp.google.com/~haraken/null/typeerror.html Line: 12&quot;]
WebSocket.send(): [Exception... &quot;Not enough arguments&quot; nsresult: &quot;0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)&quot; location: &quot;JS frame :: http://www.corp.google.com/~haraken/null/typeerror.html :: :: line 23&quot; data: no]
XMLHttpRequest.open(): [Exception... &quot;Not enough arguments&quot; nsresult: &quot;0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)&quot; location: &quot;JS frame :: http://www.corp.google.com/~haraken/null/typeerror.html :: :: line 34&quot; data: no]
SVGLength.convertToSpecifiedUnits(): [Exception... &quot;Not enough arguments [nsIDOMSVGLength.convertToSpecifiedUnits]&quot; nsresult: &quot;0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)&quot; location: &quot;JS frame :: http://www.corp.google.com/~haraken/null/typeerror.html :: :: line 46&quot; data: no]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611847</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-27 13:33:30 -0700</bug_when>
    <thetext>darin, ap: review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612062</commentid>
    <comment_count>10</comment_count>
      <attachid>138451</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-04-27 18:24:15 -0700</bug_when>
    <thetext>Comment on attachment 138451
Patch

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

&gt; LayoutTests/ChangeLog:31
&gt; +2012-04-23  Kentaro Hara  &lt;haraken@chromium.org&gt;
&gt; +
&gt; +
&gt; +        * http/tests/websocket/tests/hixie76/send-empty-expected.txt:
&gt; +        * http/tests/websocket/tests/hybi/send-empty-expected.txt:
&gt; +        * svg/dom/SVGLength-expected.txt:

Extra stray change log here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612092</commentid>
    <comment_count>11</comment_count>
      <attachid>139324</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-27 19:28:37 -0700</bug_when>
    <thetext>Created attachment 139324
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612116</commentid>
    <comment_count>12</comment_count>
      <attachid>139324</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-27 20:29:45 -0700</bug_when>
    <thetext>Comment on attachment 139324
patch for landing

Clearing flags on attachment: 139324

Committed r115533: &lt;http://trac.webkit.org/changeset/115533&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138422</attachid>
            <date>2012-04-23 14:03:50 -0700</date>
            <delta_ts>2012-04-23 16:17:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84628-20120423140349.patch</filename>
            <type>text/plain</type>
            <size>14069</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRhZDllZTY3MmVjNjRj
MTMzYzJlOGQ2Mzk2M2M0NzE2YTU5NTUzNy4uNmFjN2E5OGQ5NmYwMWVmY2QxYzM5MDU4MDg5YmMw
NjE4NjFlY2JkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICAiTm90IGVub3VnaCBh
cmd1bWVudHMiIGVycm9yIHNob3VsZCBiZSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCBzb21lIGN1c3RvbSBiaW5kaW5n
cyBpbXBsZW1lbnQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorICAgICAgICBlcnJvciBhcyBTeW50
YXhFcnJvci4gVGhlIFdlYiBJREwgc3BlYyByZXF1aXJlcyB0aGF0IGl0IHNob3VsZCBiZQorICAg
ICAgICBUeXBlRXJyb3I6IGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZGZuLW92ZXJsb2Fk
LXJlc29sdXRpb24tYWxnb3JpdGhtCisgICAgICAgIFRodXMsIHRoaXMgcGF0Y2ggY2hhbmdlcyBT
eW50YXhFcnJvciB0byBUeXBlRXJyb3IuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZW1wdHkuaHRtbAorICAgICAgICAgICAg
ICAgc3ZnL2RvbS9TVkdMZW5ndGguaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNBdWRp
b0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNBdWRpb0NvbnRleHRDb25z
dHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHTGVuZ3RoOjpj
b252ZXJ0VG9TcGVjaWZpZWRVbml0cyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJTb2Nr
ZXRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXRDb25zdHJ1Y3Rvcjo6
Y29uc3RydWN0SlNXZWJTb2NrZXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXQ6OnNl
bmQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6b3Blbik6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4QXVkaW9Db250ZXh0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWOERPTUZvcm1EYXRhOjphcHBlbmRDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZHTGVu
Z3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0c0NhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhX
ZWJTb2NrZXQ6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJT
b2NrZXQ6OnNlbmRDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1M
SHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhYTUxIdHRwUmVxdWVz
dDo6b3BlbkNhbGxiYWNrKToKKwogMjAxMi0wNC0yMyAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gUmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludCBmb3IgUHJpbnRQcmV2aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggOWY1ZTI2ZTdkZmY4
MTljMjNmMDIzMWQyNTgyYjM3MTcyN2UyMGJjMi4uZWE4ZmNkZTYwMmIwMjBjNDRhNzVlYjNjOWRh
MDEyNDFhZjFiOTAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
dWRpb0NvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QXVkaW9Db250ZXh0Q3VzdG9tLmNwcApAQCAtODAsNyArODAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIEpTQXVkaW9Db250ZXh0Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTQXVkaW9D
b250ZXh0KAogICAgICAgICAvLyBDb25zdHJ1Y3RvciBmb3Igb2ZmbGluZSAocmVuZGVyLXRhcmdl
dCkgQXVkaW9Db250ZXh0IHdoaWNoIHJlbmRlcnMgaW50byBhbiBBdWRpb0J1ZmZlci4KICAgICAg
ICAgLy8gbmV3IEF1ZGlvQ29udGV4dChpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMs
IGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIGluIGZsb2F0IHNhbXBsZVJhdGUpOwog
ICAgICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMykKLSAgICAgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgIk5vdCBlbm91Z2gg
YXJndW1lbnRzIikpOworICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgICAgIGlu
dDMyX3QgbnVtYmVyT2ZDaGFubmVscyA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvSW50MzIoZXhlYyk7
CiAgICAgICAgIGludDMyX3QgbnVtYmVyT2ZGcmFtZXMgPSBleGVjLT5hcmd1bWVudCgxKS50b0lu
dDMyKGV4ZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdM
ZW5ndGhDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdMZW5ndGhD
dXN0b20uY3BwCmluZGV4IDcwNTdiMjE4OTIyNGQxM2EzNmMyYTc4ODcwYTlmMTk5YTYwNDcyOGMu
LjZmNzBiZDA0NmQ0MjgwOWIxZGM1MmIzMjEzOGU3ZDEyOTQyYmY4NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHAKQEAgLTgxLDcgKzgx
LDcgQEAgSlNWYWx1ZSBKU1NWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoRXhlY1N0
YXRlKiBleGVjKQogICAgIFNWR0xlbmd0aCYgcG9kSW1wID0gaW1wbCgpLT5wcm9wZXJ0eVJlZmVy
ZW5jZSgpOwogCiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCi0gICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJOb3QgZW5vdWdo
IGFyZ3VtZW50cyIpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlw
ZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKIAogICAgIHVuc2lnbmVkIHNo
b3J0IHVuaXRUeXBlID0gZXhlYy0+YXJndW1lbnQoMCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXZWJTb2NrZXRDdXN0b20uY3BwCmluZGV4IDcxYWQ1N2FkZDVlMmJmM2RjM2I4OTYzODk4ZjY5
MDc1ZTYzMWQyMWQuLjUyYTY5YjVjNjdlYTkzNDE5NzE1MDQ5ODc3YjIwNWMyNWFlNmJiMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlNvY2tldEN1c3RvbS5jcHAK
QEAgLTU4LDcgKzU4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1dlYlNvY2tl
dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1dlYlNvY2tldChFeGVjU3QKICAgICAgICAgcmV0dXJu
IHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVSZWZlcmVuY2VFcnJvcihleGVjLCAiV2ViU29ja2V0
IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiKSk7CiAKICAg
ICBpZiAoIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJv
cihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7
CisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMs
ICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKIAogICAgIFN0cmluZyB1cmxTdHJpbmcgPSB1c3Ry
aW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMp
KTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCkBAIC05Myw3ICs5Myw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJTb2NrZXRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0
SlNXZWJTb2NrZXQoRXhlY1N0CiBKU1ZhbHVlIEpTV2ViU29ja2V0OjpzZW5kKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJn
dW1lbnRzIikpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJy
b3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgSlNWYWx1ZSBtZXNzYWdl
ID0gZXhlYy0+YXJndW1lbnQoMCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CmluZGV4IDRjZGY2OGM3NTNmODlkODU3OGJjM2JlY2MwZDllZWMzNWE3YTE5Y2EuLjdmZWIzNDI5
YWY5ZjNjODE5YTQyZWJkZGExMmYyNzA2OTQ5MzljYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCkBAIC04Myw3ICs4
Myw3IEBAIHZvaWQgSlNYTUxIdHRwUmVxdWVzdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGws
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogSlNWYWx1ZSBKU1hNTEh0dHBSZXF1ZXN0OjpvcGVuKEV4
ZWNTdGF0ZSogZXhlYykKIHsKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMikKLSAg
ICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgIk5v
dCBlbm91Z2ggYXJndW1lbnRzIikpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBj
cmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgY29u
c3QgS1VSTCYgdXJsID0gaW1wbCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRl
VVJMKHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgxKS50b1N0cmluZyhleGVjKS0+dmFs
dWUoZXhlYykpKTsKICAgICBTdHJpbmcgbWV0aG9kID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFy
Z3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNw
cAppbmRleCA0ZDQxOTIzYmYxOTZhNjFkMjA0ZmJlNjgwOWQzZWY5ZmY2M2EyZDdjLi44ZmIwOTUx
MzI4NWM3N2I1YmJhN2MyOTkzZDgyYmE1YTg2M2U3YjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAK
QEAgLTcxLDcgKzcxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXVkaW9Db250ZXh0Ojpj
b25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGEKICAgICAgICAgLy8gQ29u
c3RydWN0b3IgZm9yIG9mZmxpbmUgKHJlbmRlci10YXJnZXQpIEF1ZGlvQ29udGV4dCB3aGljaCBy
ZW5kZXJzIGludG8gYW4gQXVkaW9CdWZmZXIuCiAgICAgICAgIC8vIG5ldyBBdWRpb0NvbnRleHQo
aW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBsb25nIG51bWJl
ck9mRnJhbWVzLCBpbiBmbG9hdCBzYW1wbGVSYXRlKTsKICAgICAgICAgaWYgKGFyZ3MuTGVuZ3Ro
KCkgPCAzKQotICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1l
bnRzIiwgVjhQcm94eTo6U3ludGF4RXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKIAogICAgICAg
ICBib29sIG9rID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcAppbmRleCBhOGQwNzdkYzVkNTk3
YjM0ODZjMzJlOTM3OWJiNmE1NGY4ZWY4YzdhLi5hYTY3Yjc1NzRmNjIzZjQyNmY3ZWViMWI1MzM5
N2YwYTIwNzIwOWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwCkBAIC02NSw3ICs2NSw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERPTUZvcm1EYXRhOjphcHBlbmRDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogICAgIElOQ19TVEFUUygiRE9NLkZvcm1EYXRhLmFwcGVuZCgpIik7
CiAgICAgCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1cm4gdGhyb3dF
cnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7CisgICAg
ICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6OlR5
cGVFcnJvcik7CiAKICAgICBET01Gb3JtRGF0YSogZG9tRm9ybURhdGEgPSBWOERPTUZvcm1EYXRh
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKaW5kZXggYTI2MzA1YTUz
MDhmZTUwYmU3YmNlYmRmNzRjYmQwNjBlZTExMzUyMi4uZDM0ODVhOTJlYmRiYWIxNjJiODU1YWNj
OGM5OWMyNjg3YmIwYjc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwCkBAIC05MCw3ICs5MCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxs
YmFjayhjb25zdCB2ODo6QXJnCiAgICAgfQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQot
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5
OjpTeW50YXhFcnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFy
Z3VtZW50cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBTVkdMZW5ndGgmIGltcCA9IHdy
YXBwZXItPnByb3BlcnR5UmVmZXJlbmNlKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0
Q3VzdG9tLmNwcAppbmRleCA1YzE2NjFlOTIxNDI2MTRhMzA4ZTEyYzZlMDI4MTViY2JhMzI0MWQz
Li41NjExNjM3OTQxODBmOTc4OTA4ZTY1YTU2NDQ3MGY3MmM3MjUyZDk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5j
cHAKQEAgLTYyLDcgKzYyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpj
b25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICAgICAgcmV0
dXJuIGFyZ3MuSG9sZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAwKQotICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50
YXhFcnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50
cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAg
ICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiB1cmxzdHJpbmcgPSBhcmdzWzBdLT5Ub1N0cmluZygp
OwpAQCAtMTE3LDcgKzExNyw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6
c2VuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJE
T00uV2ViU29ja2V0LnNlbmQoKSIpOwogCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50
YXhFcnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50
cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBXZWJTb2NrZXQqIHdlYlNvY2tldCA9IFY4
V2ViU29ja2V0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gbWVzc2FnZSA9IGFyZ3NbMF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggZTll
M2JmNjllOTI3ZDExYWEwOWU4NTJiM2Y5Mjc0N2EzYTFiYzEwYS4uMDEzNWNhNzA4NDZiNjFmZThh
ZjBlYzc0ZmUxMmEzYzY5OTkwMjQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtMTIx
LDcgKzEyMSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVu
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAvLyBvcGVuKG1ldGhvZCwg
dXJsLCBhc3luYywgdXNlciwgcGFzc3dkKQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQot
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5
OjpTeW50YXhFcnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFy
Z3VtZW50cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBYTUxIdHRwUmVxdWVzdCogeG1s
SHR0cFJlcXVlc3QgPSBWOFhNTEh0dHBSZXF1ZXN0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDU1NTQ1ZjViMjVkZjA1NTNlYTUwNDc1NmUyOTUwMDI0M2U1OWYzNmIuLmY5MjZi
NzYyNjgyNGVjZGUwOGRhZGFkZDk1YmZlOWUwNGNmMzA2ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAxMi0wNC0yMyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgIk5vdCBlbm91Z2ggYXJndW1lbnRzIiBlcnJvciBzaG91bGQgYmUgVHlwZUVycm9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDYyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwg
c29tZSBjdXN0b20gYmluZGluZ3MgaW1wbGVtZW50ICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKKyAg
ICAgICAgZXJyb3IgYXMgU3ludGF4RXJyb3IuIFRoZSBXZWIgSURMIHNwZWMgcmVxdWlyZXMgdGhh
dCBpdCBzaG91bGQgYmUKKyAgICAgICAgVHlwZUVycm9yOiBodHRwOi8vd3d3LnczLm9yZy9UUi9X
ZWJJREwvI2Rmbi1vdmVybG9hZC1yZXNvbHV0aW9uLWFsZ29yaXRobQorICAgICAgICBUaHVzLCB0
aGlzIHBhdGNoIGNoYW5nZXMgU3ludGF4RXJyb3IgdG8gVHlwZUVycm9yIGFuZCB1cGRhdGVzCisg
ICAgICAgIGV4aXN0aW5nIHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQ6CisKIDIwMTItMDQtMjMg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTQ5MjkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni9zZW5kLWVt
cHR5LWV4cGVjdGVkLnR4dAppbmRleCAwYzcwZjFmOWUwYWNiMTllYTU1ZGNlNjAxMTc4YTU3MjRi
YmI0NWRkLi5lZjBjYjk0YTgyMjY4NmM2NTNmOGJlODc2OWMwMjJkMjFiMzhmNzg2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3NlbmQt
ZW1wdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFdl
YlNvY2tldDogQ2FsbGluZyBzZW5kKCkgd2l0aG91dCBhcmd1bWVudHMgc2hvdWxkIHJhaXNlIFN5
bnRheEVycm9yLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKLVBBU1Mgd3Muc2VuZCgp
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNT
IHdzLnNlbmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KIFBBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCiBQQVNTIHJlY2VpdmVkTWVzc2Fn
ZXMubGVuZ3RoIGlzIDEKIFBBU1MgcmVjZWl2ZWRNZXNzYWdlc1swXSBpcyAiR29vZGJ5ZSIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2Vu
ZC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IDBjNzBmMWY5ZTBhY2IxOWVh
NTVkY2U2MDExNzhhNTcyNGJiYjQ1ZGQuLmVmMGNiOTRhODIyNjg2YzY1M2Y4YmU4NzY5YzAyMmQy
MWIzOGY3ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMiw3
ICsyLDcgQEAgV2ViU29ja2V0OiBDYWxsaW5nIHNlbmQoKSB3aXRob3V0IGFyZ3VtZW50cyBzaG91
bGQgcmFpc2UgU3ludGF4RXJyb3IuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAotUEFT
UyB3cy5zZW5kKCkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cy4KK1BBU1Mgd3Muc2VuZCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgogUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgcmVj
ZWl2ZWRNZXNzYWdlcy5sZW5ndGggaXMgMQogUEFTUyByZWNlaXZlZE1lc3NhZ2VzWzBdIGlzICJH
b29kYnllIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4
IDQ1ODI2Y2MxM2ZhZTYwNmRhYTIxY2MwODBjNTE0OTkyMjZkZGFmM2EuLjdiYWVhZGQ0MDhiYzY3
ZTVkNmQzMmUzYTc0ZDgzMDc4M2NmYWY4NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9k
b20vU1ZHTGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xl
bmd0aC1leHBlY3RlZC50eHQKQEAgLTIzLDcgKzIzLDcgQEAgUEFTUyBsZW5ndGguY29udmVydFRv
U3BlY2lmaWVkVW5pdHMoMTEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlIKIFBBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCdhU3RyaW5nJykgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgogUEFT
UyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMobGVuZ3RoKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCiBQQVNTIGxlbmd0aC5j
b252ZXJ0VG9TcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCi1QQVNTIGxlbmd0aC5jb252ZXJ0
VG9TcGVjaWZpZWRVbml0cygpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBsZW5ndGgu
dW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYCiBQQVNTIGxlbmd0aC52YWx1
ZSBpcyAyCiBQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138451</attachid>
            <date>2012-04-23 16:17:28 -0700</date>
            <delta_ts>2012-04-28 03:31:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84628-20120423161727.patch</filename>
            <type>text/plain</type>
            <size>20253</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRhZDllZTY3MmVjNjRj
MTMzYzJlOGQ2Mzk2M2M0NzE2YTU5NTUzNy4uZjVjNWY3YThhNzQ1MGFiOTRmZmI0MmEyODJhMGY0
OGQyYTJiZjYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICAiTm90IGVub3VnaCBh
cmd1bWVudHMiIGVycm9yIHNob3VsZCBiZSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCBzb21lIGN1c3RvbSBiaW5kaW5n
cyBpbXBsZW1lbnQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorICAgICAgICBlcnJvciBhcyBTeW50
YXhFcnJvci4gVGhlIFdlYiBJREwgc3BlYyByZXF1aXJlcyB0aGF0IGl0IHNob3VsZCBiZQorICAg
ICAgICBUeXBlRXJyb3I6IGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZGZuLW92ZXJsb2Fk
LXJlc29sdXRpb24tYWxnb3JpdGhtCisgICAgICAgIFRodXMsIHRoaXMgcGF0Y2ggY2hhbmdlcyBT
eW50YXhFcnJvciB0byBUeXBlRXJyb3IuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hpeGllNzYvdXJsLXBhcnNpbmcuaHRtbDoKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbDoKKyAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZXhjZXB0aW9ucy5odG1sOgorICAgICAg
ICAgICAgICAgc3ZnL2RvbS9TVkdMZW5ndGguaHRtbDoKKyAgICAgICAgICAgICAgIHdlYmF1ZGlv
L2F1ZGlvbm9kZS5odG1sOgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6
Y29uc3RydWN0SlNBdWRpb0NvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHTGVu
Z3RoQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9T
cGVjaWZpZWRVbml0cyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0
SlNXZWJTb2NrZXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXQ6OnNlbmQpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6b3Blbik6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVk
aW9Db250ZXh0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTVkdMZW5n
dGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFdl
YlNvY2tldDo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYlNv
Y2tldDo6c2VuZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFhNTEh0dHBSZXF1ZXN0
OjpvcGVuQ2FsbGJhY2spOgorCiAyMDEyLTA0LTIzICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxv
d1JlY3RGb3JSZXBhaW50IGZvciBQcmludFByZXZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCA5ZjVlMjZlN2RmZjgx
OWMyM2YwMjMxZDI1ODJiMzcxNzI3ZTIwYmMyLi5lYThmY2RlNjAyYjAyMGM0NGE3NWViM2M5ZGEw
MTI0MWFmMWI5MDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1
ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
dWRpb0NvbnRleHRDdXN0b20uY3BwCkBAIC04MCw3ICs4MCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgSlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0Nv
bnRleHQoCiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFyZ2V0
KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAgICAg
ICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywg
aW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7CiAg
ICAgICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAzKQotICAgICAgICAgICAgcmV0dXJu
IHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVub3VnaCBh
cmd1bWVudHMiKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0
ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICAgICAgaW50
MzJfdCBudW1iZXJPZkNoYW5uZWxzID0gZXhlYy0+YXJndW1lbnQoMCkudG9JbnQzMihleGVjKTsK
ICAgICAgICAgaW50MzJfdCBudW1iZXJPZkZyYW1lcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvSW50
MzIoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xl
bmd0aEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1
c3RvbS5jcHAKaW5kZXggNzA1N2IyMTg5MjI0ZDEzYTM2YzJhNzg4NzBhOWYxOTlhNjA0NzI4Yy4u
NmY3MGJkMDQ2ZDQyODA5YjFkYzUyYjMyMTM4ZTdkMTI5NDJiZjg1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdMZW5ndGhDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcApAQCAtODEsNyArODEs
NyBAQCBKU1ZhbHVlIEpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgU1ZHTGVuZ3RoJiBwb2RJbXAgPSBpbXBsKCktPnByb3BlcnR5UmVmZXJl
bmNlKCk7CiAKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKLSAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgIk5vdCBlbm91Z2gg
YXJndW1lbnRzIikpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBl
RXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgdW5zaWduZWQgc2hv
cnQgdW5pdFR5cGUgPSBleGVjLT5hcmd1bWVudCgwKS50b1VJbnQzMihleGVjKTsKICAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dlYlNvY2tldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dlYlNvY2tldEN1c3RvbS5jcHAKaW5kZXggNzFhZDU3YWRkNWUyYmYzZGMzYjg5NjM4OThmNjkw
NzVlNjMxZDIxZC4uNTJhNjliNWM2N2VhOTM0MTk3MTUwNDk4NzdiMjA1YzI1YWU2YmIyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcApA
QCAtNTgsNyArNTgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTV2ViU29ja2V0
Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTV2ViU29ja2V0KEV4ZWNTdAogICAgICAgICByZXR1cm4g
dGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVJlZmVyZW5jZUVycm9yKGV4ZWMsICJXZWJTb2NrZXQg
Y29uc3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIpKTsKIAogICAg
IGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9y
KGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsK
KyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywg
Ik5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgU3RyaW5nIHVybFN0cmluZyA9IHVzdHJp
bmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykp
OwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKQEAgLTkzLDcgKzkzLDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1dlYlNvY2tldENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U1dlYlNvY2tldChFeGVjU3QKIEpTVmFsdWUgSlNXZWJTb2NrZXQ6OnNlbmQoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1
bWVudHMiKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJv
cihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICBKU1ZhbHVlIG1lc3NhZ2Ug
PSBleGVjLT5hcmd1bWVudCgwKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAK
aW5kZXggNGNkZjY4Yzc1M2Y4OWQ4NTc4YmMzYmVjYzBkOWVlYzM1YTdhMTljYS4uN2ZlYjM0Mjlh
ZjlmM2M4MTlhNDJlYmRkYTEyZjI3MDY5NDkzOWNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTgzLDcgKzgz
LDcgQEAgdm9pZCBKU1hNTEh0dHBSZXF1ZXN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCiBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4oRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAyKQotICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90
IGVub3VnaCBhcmd1bWVudHMiKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICBjb25z
dCBLVVJMJiB1cmwgPSBpbXBsKCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29tcGxldGVV
UkwodXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDEpLnRvU3RyaW5nKGV4ZWMpLT52YWx1
ZShleGVjKSkpOwogICAgIFN0cmluZyBtZXRob2QgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJn
dW1lbnQoMCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3Bw
CmluZGV4IDRkNDE5MjNiZjE5NmE2MWQyMDRmYmU2ODA5ZDNlZjlmZjYzYTJkN2MuLjhmYjA5NTEz
Mjg1Yzc3YjViYmE3YzI5OTNkODJiYTVhODYzZTdiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcApA
QCAtNzEsNyArNzEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBdWRpb0NvbnRleHQ6OmNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYQogICAgICAgICAvLyBDb25z
dHJ1Y3RvciBmb3Igb2ZmbGluZSAocmVuZGVyLXRhcmdldCkgQXVkaW9Db250ZXh0IHdoaWNoIHJl
bmRlcnMgaW50byBhbiBBdWRpb0J1ZmZlci4KICAgICAgICAgLy8gbmV3IEF1ZGlvQ29udGV4dChp
biB1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIGluIHVuc2lnbmVkIGxvbmcgbnVtYmVy
T2ZGcmFtZXMsIGluIGZsb2F0IHNhbXBsZVJhdGUpOwogICAgICAgICBpZiAoYXJncy5MZW5ndGgo
KSA8IDMpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVu
dHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpUeXBlRXJyb3IpOwogCiAgICAgICAg
IGJvb2wgb2sgPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKaW5kZXggYTI2MzA1YTUzMDhmZTUwYmU3
YmNlYmRmNzRjYmQwNjBlZTExMzUyMi4uZDM0ODVhOTJlYmRiYWIxNjJiODU1YWNjOGM5OWMyNjg3
YmIwYjc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1ZHTGVuZ3RoQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwCkBAIC05MCw3ICs5MCw3IEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25z
dCB2ODo6QXJnCiAgICAgfQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICBy
ZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhF
cnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIs
IFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBTVkdMZW5ndGgmIGltcCA9IHdyYXBwZXItPnBy
b3BlcnR5UmVmZXJlbmNlKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNw
cAppbmRleCA1YzE2NjFlOTIxNDI2MTRhMzA4ZTEyYzZlMDI4MTViY2JhMzI0MWQzLi41NjExNjM3
OTQxODBmOTc4OTA4ZTY1YTU2NDQ3MGY3MmM3MjUyZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpjb25zdHJ1Y3Rv
ckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICAgICAgcmV0dXJuIGFyZ3Mu
SG9sZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAwKQotICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJv
eHk6OlR5cGVFcnJvcik7CiAKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiB1cmxzdHJpbmcgPSBhcmdzWzBdLT5Ub1N0cmluZygpOwpAQCAtMTE3
LDcgKzExNyw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6c2VuZENhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJET00uV2ViU29j
a2V0LnNlbmQoKSIpOwogCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJv
eHk6OlR5cGVFcnJvcik7CiAKICAgICBXZWJTb2NrZXQqIHdlYlNvY2tldCA9IFY4V2ViU29ja2V0
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWVz
c2FnZSA9IGFyZ3NbMF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggZTllM2JmNjllOTI3
ZDExYWEwOWU4NTJiM2Y5Mjc0N2EzYTFiYzEwYS4uMDEzNWNhNzA4NDZiNjFmZThhZjBlYzc0ZmUx
MmEzYzY5OTkwMjQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtMTIxLDcgKzEyMSw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAvLyBvcGVuKG1ldGhvZCwgdXJsLCBhc3lu
YywgdXNlciwgcGFzc3dkKQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICBy
ZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhF
cnJvcik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIs
IFY4UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBYTUxIdHRwUmVxdWVzdCogeG1sSHR0cFJlcXVl
c3QgPSBWOFhNTEh0dHBSZXF1ZXN0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU1NTQ1ZjViMjVkZjA1NTNlYTUwNDc1NmUyOTUwMDI0M2U1OWYzNmIuLjY1NTRkZDJlMzllNDVm
MzVlMDFlNzE4N2Y4NDZjY2ZmOGExOWRkNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0w
NC0yMyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgIk5v
dCBlbm91Z2ggYXJndW1lbnRzIiBlcnJvciBzaG91bGQgYmUgVHlwZUVycm9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDYyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgc29tZSBjdXN0
b20gYmluZGluZ3MgaW1wbGVtZW50ICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKKyAgICAgICAgZXJy
b3IgYXMgU3ludGF4RXJyb3IuIFRoZSBXZWIgSURMIHNwZWMgcmVxdWlyZXMgdGhhdCBpdCBzaG91
bGQgYmUKKyAgICAgICAgVHlwZUVycm9yOiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2Rm
bi1vdmVybG9hZC1yZXNvbHV0aW9uLWFsZ29yaXRobQorICAgICAgICBUaHVzLCB0aGlzIHBhdGNo
IGNoYW5nZXMgU3ludGF4RXJyb3IgdG8gVHlwZUVycm9yLCBhbmQgYWRkcyB0ZXN0CisgICAgICAg
IGNhc2VzIGZvciB0aGUgZXhjZXB0aW9uLgorCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaGl4aWU3Ni9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3VybC1wYXJzaW5nLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5n
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25zLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2V4Y2VwdGlv
bnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oaXhpZTc2L3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1w
YXJzaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8vYXVkaW9ub2RlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWJhdWRpby9hdWRpb25vZGUuaHRtbDoKKworMjAxMi0wNC0yMyAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQ6CisKIDIwMTItMDQtMjMgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTQ5MjkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni9zZW5kLWVtcHR5
LWV4cGVjdGVkLnR4dAppbmRleCAwYzcwZjFmOWUwYWNiMTllYTU1ZGNlNjAxMTc4YTU3MjRiYmI0
NWRkLi5lZjBjYjk0YTgyMjY4NmM2NTNmOGJlODc2OWMwMjJkMjFiMzhmNzg2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3NlbmQtZW1w
dHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFdlYlNv
Y2tldDogQ2FsbGluZyBzZW5kKCkgd2l0aG91dCBhcmd1bWVudHMgc2hvdWxkIHJhaXNlIFN5bnRh
eEVycm9yLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKLVBBU1Mgd3Muc2VuZCgpIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHdz
LnNlbmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
IFBBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCiBQQVNTIHJlY2VpdmVkTWVzc2FnZXMu
bGVuZ3RoIGlzIDEKIFBBU1MgcmVjZWl2ZWRNZXNzYWdlc1swXSBpcyAiR29vZGJ5ZSIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvdXJs
LXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hp
eGllNzYvdXJsLXBhcnNpbmcuaHRtbAppbmRleCBjMmMxYWY4OTU2NTU3YTVmMWM0YzBiMDZlMzZk
MDVmOTY5YzNkOGFhLi44NmE1Nzk3YTBkNmYxZjE4YWVhZTY1NmFmMjc5OWJhOTdjYzdkNGQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2
L3VybC1wYXJzaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaGl4aWU3Ni91cmwtcGFyc2luZy5odG1sCkBAIC0xMiw2ICsxMiw5IEBAIGRlc2NyaXB0
aW9uKCJUZXN0IFdlYlNvY2tldCBVUkwgcGFyc2luZy4iKTsKIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMSk7CiAKKy8vIE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoKScpOworCiAvLyBJ
bnZhbGlkIHVybCB3aWxsIGZhaWwgdG8gYmUgcGFyc2VkLgogc2hvdWxkVGhyb3coJ25ldyBXZWJT
b2NrZXQoIndzOi8vamF2YXNjcmlwdDphIiknKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1lbXB0eS1l
eHBlY3RlZC50eHQKaW5kZXggMGM3MGYxZjllMGFjYjE5ZWE1NWRjZTYwMTE3OGE1NzI0YmJiNDVk
ZC4uZWYwY2I5NGE4MjI2ODZjNjUzZjhiZTg3NjljMDIyZDIxYjM4Zjc4NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBXZWJTb2NrZXQ6IENh
bGxpbmcgc2VuZCgpIHdpdGhvdXQgYXJndW1lbnRzIHNob3VsZCByYWlzZSBTeW50YXhFcnJvci4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCi1QQVNTIHdzLnNlbmQoKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyB3cy5zZW5kKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNTIGNs
b3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQogUEFTUyByZWNlaXZlZE1lc3NhZ2VzLmxlbmd0aCBp
cyAxCiBQQVNTIHJlY2VpdmVkTWVzc2FnZXNbMF0gaXMgIkdvb2RieWUiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJz
aW5nLmh0bWwKaW5kZXggNWViMzhlOTZkODM1MDEzMGVkNzYzZjE0MmFjNTFlNWQ0YzAwZGM1Ni4u
MzgwNWVkZGZiYWQ2MTg5NGJjZTg4OTNiMzA5M2FkNjk0YzY5YjBjMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBh
cnNpbmcuaHRtbApAQCAtMTIsNiArMTIsOSBAQCBkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQg
VVJMIHBhcnNpbmcuIik7CiBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIsIDApOwogCisvLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK3No
b3VsZFRocm93KCduZXcgV2ViU29ja2V0KCknKTsKKwogLy8gSW52YWxpZCB1cmwgd2lsbCBmYWls
IHRvIGJlIHBhcnNlZC4KIHNob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovL2phdmFzY3Jp
cHQ6YSIpJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvZXhjZXB0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2V4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGZiMzQ2MTQ3OTYzN2Vi
MDRjYmM4YTk1NTdmMTJjMDg0NTNkMDY0OTkuLjFmZjMzZDk0MjI1MGY5MjUyMGM0ZmRkM2VmODE5
MzM3NWY4MDY2NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMTIsMyArMTIsNSBA
QCBzZW5kKCkKIFBBU1M6IHJlcS5zZW5kKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTOiByZXEuc2V0UmVxdWVzdEhl
YWRlcigiRm9vIiwgImJhciIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTOiByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1M6IHJlcS5v
cGVuKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTOiByZXEub3BlbihudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvZXhjZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9leGNlcHRpb25zLmh0bWwKaW5kZXggNDdjODVmNWJhYWViM2MwMDM2OGY0MzJiNjg2YzFi
Y2UxMmNjOWU3Yi4uMTA2NWI1ZWY5ZWQyNzQzMDAxMDQyZGJiZTIwODE0OGRjZjM5M2Y4MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRp
b25zLmh0bWwKQEAgLTczLDYgKzczLDkgQEAKICAgICBzaG91bGRUaHJvdygncmVxLnNlbmQobnVs
bCknKTsKICAgICBzaG91bGRUaHJvdygncmVxLnNldFJlcXVlc3RIZWFkZXIoIkZvbyIsICJiYXIi
KScpOwogICAgIHNob3VsZFRocm93KCdyZXEuZ2V0UmVzcG9uc2VIZWFkZXIoKScpOworCisgICAg
c2hvdWxkVGhyb3coJ3JlcS5vcGVuKCknKTsKKyAgICBzaG91bGRUaHJvdygncmVxLm9wZW4obnVs
bCknKTsKICAgIAogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2
L3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LWxpbnV4L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvdXJsLXBhcnNpbmctZXhw
ZWN0ZWQudHh0CmluZGV4IDYyZGQ1MzQ1OTkwZmE5ZDZmZjE4NjdkOTFlNzE3MWZmMTU4ZjU0Mzku
LjkxOTVlYWUwM2YxMDMzMmUyMjc3ZjQwZjBlZDhiOGJkNTI4Y2U0ZDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2hpeGllNzYvdXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYv
dXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgsNyBAQCBUZXN0IFdlYlNvY2tldCBV
UkwgcGFyc2luZy4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCitQQVNTIG5ldyBXZWJT
b2NrZXQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
IFBBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZhc2NyaXB0OmEiKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCiBQQVNTIG5ldyBXZWJTb2NrZXQo
Ii9hcHBsZXQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRp
b24gMTIuCiBQQVNTIG5ldyBXZWJTb2NrZXQoImphdmFzY3JpcHQ6YSIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
dXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy1leHBlY3RlZC50eHQK
aW5kZXggYmI4ODdjZDEzMDhjNWI4ODNiZjA3MGE2NWViN2U5YWU0YWNlMTQ0Ni4uZGMyNjgzMWRi
YjBkNDhlNmFkZmRjNmM0MjVhNDY4Mjc3MTQzNmJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFy
c2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy1leHBlY3RlZC50eHQKQEAg
LTgsNiArOCw3IEBAIFRlc3QgV2ViU29ja2V0IFVSTCBwYXJzaW5nLgogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKK1BBU1MgbmV3IFdlYlNvY2tldCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovL2ph
dmFzY3JpcHQ6YSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMi4KIFBBU1MgbmV3IFdlYlNvY2tldCgiL2FwcGxldCIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KIFBBU1MgbmV3IFdlYlNvY2tldCgi
amF2YXNjcmlwdDphIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhj
ZXB0aW9uIDEyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDQ1ODI2Y2MxM2ZhZTYwNmRhYTIxY2MwODBjNTE0OTkyMjZkZGFmM2EuLjdiYWVhZGQ0MDhi
YzY3ZTVkNmQzMmUzYTc0ZDgzMDc4M2NmYWY4NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9kb20vU1ZHTGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R0xlbmd0aC1leHBlY3RlZC50eHQKQEAgLTIzLDcgKzIzLDcgQEAgUEFTUyBsZW5ndGguY29udmVy
dFRvU3BlY2lmaWVkVW5pdHMoMTEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlIKIFBBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCdhU3RyaW5nJykgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5Lgog
UEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMobGVuZ3RoKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCiBQQVNTIGxlbmd0
aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCi1QQVNTIGxlbmd0aC5jb252
ZXJ0VG9TcGVjaWZpZWRVbml0cygpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBsZW5n
dGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYCiBQQVNTIGxlbmd0aC52
YWx1ZSBpcyAyCiBQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvbm9kZS1leHBlY3RlZC50eHQKaW5kZXggY2EzMjE2MjYzM2Ji
ZTM2YWNlZDU0Y2E1Njc0YjliODQwMzVjYTRmOS4uMzUyZDZhZjVjMzU0YzRmNTMzZDVjNDJkNzA1
YzMxNmU2NjM5ODVkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2Rl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb25vZGUtZXhwZWN0
ZWQudHh0CkBAIC0xMiw2ICsxMiw3IEBAIFBBU1MgY29ubmVjdCgpIGV4Y2VwdGlvbiB0aHJvd24g
Zm9yIGlsbGVnYWwgb3V0cHV0IGluZGV4LgogUEFTUyBjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93
biBmb3IgaWxsZWdhbCBpbnB1dCBpbmRleC4KIFBBU1MgYXVkaW9Ob2RlLmNvbm5lY3QoY29udGV4
dC5kZXN0aW5hdGlvbikgc3VjY2VlZGVkLgogUEFTUyBleGNlcHRpb24gdGhyb3duIHdoZW4gY29u
bmVjdGluZyB0byBvdGhlciBjb250ZXh0J3Mgbm9kZS4KK1BBU1MgZXhjZXB0aW9uIHRocm93biB3
aGVuIGNyZWF0aW5nIGF1ZGlvIGNvbnRleHQgd2l0aCBub3QgZW5vdWdoIGFyZ3VtZW50cy4KIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9hdWRpb25vZGUuaHRtbAppbmRleCA0ZTg0YWQxYzU0Njg4ZmZlZGRkMTEyYjMzMjUyMTAz
OTQyZGMxODdhLi5lZTc3ZDIxN2IwY2U2MGViNTA2MmQ3ODQ5NTJlMWFhMTdhYWVlMWEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb25vZGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9hdWRpb25vZGUuaHRtbApAQCAtODIsNiArODIsMTQgQEAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiZXhjZXB0aW9uIHRocm93biB3aGVuIGNv
bm5lY3RpbmcgdG8gb3RoZXIgY29udGV4dCdzIG5vZGUuIik7CiAgICAgfQogCisgICAgLy8gQ3Jl
YXRlIGEgbmV3IGNvbnRleHQgd2l0aCBub3QgZW5vdWdoIGFyZ3VtZW50cworICAgIHRyeSB7Cisg
ICAgICAgIGNvbnRleHQyID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgwLCAwKTsKKyAgICAgICAg
dGVzdEZhaWxlZCgiZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gd2hlbiBjcmVhdGluZyBhdWRp
byBjb250ZXh0IHdpdGggbm90IGVub3VnaCBhcmd1bWVudHMuIik7CisgICAgfSBjYXRjaChlKSB7
CisgICAgICAgIHRlc3RQYXNzZWQoImV4Y2VwdGlvbiB0aHJvd24gd2hlbiBjcmVhdGluZyBhdWRp
byBjb250ZXh0IHdpdGggbm90IGVub3VnaCBhcmd1bWVudHMuIik7CisgICAgfQorCiAgICAgZmlu
aXNoSlNUZXN0KCk7CiB9CiAK
</data>
<flag name="commit-queue"
          id="144913"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>138606</attachid>
            <date>2012-04-24 11:21:39 -0700</date>
            <delta_ts>2012-04-24 11:21:39 -0700</delta_ts>
            <desc>test cases</desc>
            <filename>typeerror.html</filename>
            <type>text/html</type>
            <size>996</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjwvaGVhZD4KPGJvZHk+CjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhlKSB7CiAg
ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gZSArICI8YnIgLz4iOwp9Cgp2YXIgb2JqOwppZiAo
d2luZG93LldlYlNvY2tldCkgewogIHRyeSB7CiAgICBvYmogPSBuZXcgV2ViU29ja2V0KCk7CiAg
fSBjYXRjaCAoZSkgewogICAgbG9nKCJuZXcgV2ViU29ja2V0KCk6ICIgKyBlKTsKICB9Cn0gZWxz
ZSB7CiAgbG9nKCJXZWJTb2NrZXQgaXMgbm90IGRlZmluZWQuIik7Cn0KCmlmICh3aW5kb3cuV2Vi
U29ja2V0KSB7CiAgb2JqID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC8iKTsK
ICB0cnkgewogICAgb2JqLnNlbmQoKTsKICB9IGNhdGNoIChlKSB7CiAgICBsb2coIldlYlNvY2tl
dC5zZW5kKCk6ICIgKyBlKTsKICB9Cn0gZWxzZSB7CiAgbG9nKCJXZWJTb2NrZXQgaXMgbm90IGRl
ZmluZWQuIik7Cn0KCmlmICh3aW5kb3cuWE1MSHR0cFJlcXVlc3QpIHsKICBvYmogPSBuZXcgWE1M
SHR0cFJlcXVlc3QoKTsKICB0cnkgewogICAgb2JqLm9wZW4oKTsKICB9IGNhdGNoIChlKSB7CiAg
ICBsb2coIlhNTEh0dHBSZXF1ZXN0Lm9wZW4oKTogIiArIGUpOwogIH0KfSBlbHNlIHsKICBsb2co
IlhNTEh0dHBSZXF1ZXN0IGlzIG5vdCBkZWZpbmVkLiIpOwp9Cgp0cnkgewogIHZhciBzdmdFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIsICJzdmciKTsKICB2YXIgbGVuZ3RoID0gc3ZnRWxlbWVudC5jcmVhdGVTVkdMZW5ndGgoKTsK
ICB0cnkgewogICAgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCk7CiAgfSBjYXRjaCAo
ZSkgewogICAgbG9nKCJTVkdMZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoKTogIiArIGUp
OwogIH0KfSBjYXRjaCAoZSkgewogIGxvZygiU1ZHTGVuZ3RoIGlzIG5vdCBkZWZpbmVkLiIpOwp9
Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139324</attachid>
            <date>2012-04-27 19:28:37 -0700</date>
            <delta_ts>2012-04-27 20:29:45 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-84628-20120427192836.patch</filename>
            <type>text/plain</type>
            <size>20009</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRhZDllZTY3MmVjNjRj
MTMzYzJlOGQ2Mzk2M2M0NzE2YTU5NTUzNy4uMDk4YzJhNWVmNWI3YjYxYWU1YjNhNDBmODgwNjE3
NDc2OGY4YzgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICAiTm90IGVub3VnaCBh
cmd1bWVudHMiIGVycm9yIHNob3VsZCBiZSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ3VycmVudGx5LCBzb21lIGN1c3RvbSBiaW5kaW5ncyBp
bXBsZW1lbnQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorICAgICAgICBlcnJvciBhcyBTeW50YXhF
cnJvci4gVGhlIFdlYiBJREwgc3BlYyByZXF1aXJlcyB0aGF0IGl0IHNob3VsZCBiZQorICAgICAg
ICBUeXBlRXJyb3I6IGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZGZuLW92ZXJsb2FkLXJl
c29sdXRpb24tYWxnb3JpdGhtCisgICAgICAgIFRodXMsIHRoaXMgcGF0Y2ggY2hhbmdlcyBTeW50
YXhFcnJvciB0byBUeXBlRXJyb3IuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2hpeGllNzYvdXJsLXBhcnNpbmcuaHRtbDoKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbDoKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZXhjZXB0aW9ucy5odG1sOgorICAgICAgICAg
ICAgICAgc3ZnL2RvbS9TVkdMZW5ndGguaHRtbDoKKyAgICAgICAgICAgICAgIHdlYmF1ZGlvL2F1
ZGlvbm9kZS5odG1sOgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29u
c3RydWN0SlNBdWRpb0NvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHTGVuZ3Ro
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNX
ZWJTb2NrZXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJTb2NrZXQ6OnNlbmQpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6b3Blbik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QXVkaW9D
b250ZXh0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTVkdMZW5ndGg6
OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYlNv
Y2tldDo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYlNvY2tl
dDo6c2VuZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFhNTEh0dHBSZXF1ZXN0Ojpv
cGVuQ2FsbGJhY2spOgorCiAyMDEyLTA0LTIzICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50IGZvciBQcmludFByZXZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCA5ZjVlMjZlN2RmZjgxOWMy
M2YwMjMxZDI1ODJiMzcxNzI3ZTIwYmMyLi5lYThmY2RlNjAyYjAyMGM0NGE3NWViM2M5ZGEwMTI0
MWFmMWI5MDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlv
Q29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRp
b0NvbnRleHRDdXN0b20uY3BwCkBAIC04MCw3ICs4MCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgSlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRl
eHQoCiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFyZ2V0KSBB
dWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAgICAgICAv
LyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywgaW4g
dW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAg
ICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAzKQotICAgICAgICAgICAgcmV0dXJuIHRo
cm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1
bWVudHMiKSk7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5
cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICAgICAgaW50MzJf
dCBudW1iZXJPZkNoYW5uZWxzID0gZXhlYy0+YXJndW1lbnQoMCkudG9JbnQzMihleGVjKTsKICAg
ICAgICAgaW50MzJfdCBudW1iZXJPZkZyYW1lcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvSW50MzIo
ZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0
aEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3Rv
bS5jcHAKaW5kZXggNzA1N2IyMTg5MjI0ZDEzYTM2YzJhNzg4NzBhOWYxOTlhNjA0NzI4Yy4uNmY3
MGJkMDQ2ZDQyODA5YjFkYzUyYjMyMTM4ZTdkMTI5NDJiZjg1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdMZW5ndGhDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcApAQCAtODEsNyArODEsNyBA
QCBKU1ZhbHVlIEpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgU1ZHTGVuZ3RoJiBwb2RJbXAgPSBpbXBsKCktPnByb3BlcnR5UmVmZXJlbmNl
KCk7CiAKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKLSAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJn
dW1lbnRzIikpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJy
b3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgdW5zaWduZWQgc2hvcnQg
dW5pdFR5cGUgPSBleGVjLT5hcmd1bWVudCgwKS50b1VJbnQzMihleGVjKTsKICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYlNvY2tldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAKaW5kZXggNzFhZDU3YWRkNWUyYmYzZGMzYjg5NjM4OThmNjkwNzVl
NjMxZDIxZC4uNTJhNjliNWM2N2VhOTM0MTk3MTUwNDk4NzdiMjA1YzI1YWU2YmIyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcApAQCAt
NTgsNyArNTgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTV2ViU29ja2V0Q29u
c3RydWN0b3I6OmNvbnN0cnVjdEpTV2ViU29ja2V0KEV4ZWNTdAogICAgICAgICByZXR1cm4gdGhy
b3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVJlZmVyZW5jZUVycm9yKGV4ZWMsICJXZWJTb2NrZXQgY29u
c3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIpKTsKIAogICAgIGlm
ICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4
ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk5v
dCBlbm91Z2ggYXJndW1lbnRzIikpOwogCiAgICAgU3RyaW5nIHVybFN0cmluZyA9IHVzdHJpbmdU
b1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykpOwog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKQEAgLTkzLDcgKzkzLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1dlYlNvY2tldENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1dl
YlNvY2tldChFeGVjU3QKIEpTVmFsdWUgSlNXZWJTb2NrZXQ6OnNlbmQoRXhlY1N0YXRlKiBleGVj
KQogewogICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVu
dHMiKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihl
eGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBl
eGVjLT5hcmd1bWVudCgwKTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5k
ZXggNGNkZjY4Yzc1M2Y4OWQ4NTc4YmMzYmVjYzBkOWVlYzM1YTdhMTljYS4uN2ZlYjM0MjlhZjlm
M2M4MTlhNDJlYmRkYTEyZjI3MDY5NDkzOWNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTgzLDcgKzgzLDcg
QEAgdm9pZCBKU1hNTEh0dHBSZXF1ZXN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xv
dFZpc2l0b3ImIHZpc2l0b3IpCiBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4oRXhlY1N0
YXRlKiBleGVjKQogewogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAyKQotICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90IGVu
b3VnaCBhcmd1bWVudHMiKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0
ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CiAKICAgICBjb25zdCBL
VVJMJiB1cmwgPSBpbXBsKCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29tcGxldGVVUkwo
dXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDEpLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShl
eGVjKSkpOwogICAgIFN0cmluZyBtZXRob2QgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1l
bnQoMCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCmlu
ZGV4IDRkNDE5MjNiZjE5NmE2MWQyMDRmYmU2ODA5ZDNlZjlmZjYzYTJkN2MuLjhmYjA5NTEzMjg1
Yzc3YjViYmE3YzI5OTNkODJiYTVhODYzZTdiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcApAQCAt
NzEsNyArNzEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBdWRpb0NvbnRleHQ6OmNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYQogICAgICAgICAvLyBDb25zdHJ1
Y3RvciBmb3Igb2ZmbGluZSAocmVuZGVyLXRhcmdldCkgQXVkaW9Db250ZXh0IHdoaWNoIHJlbmRl
cnMgaW50byBhbiBBdWRpb0J1ZmZlci4KICAgICAgICAgLy8gbmV3IEF1ZGlvQ29udGV4dChpbiB1
bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZG
cmFtZXMsIGluIGZsb2F0IHNhbXBsZVJhdGUpOwogICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA8
IDMpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMi
LCBWOFByb3h5OjpTeW50YXhFcnJvcik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigi
Tm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpUeXBlRXJyb3IpOwogCiAgICAgICAgIGJv
b2wgb2sgPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKaW5kZXggYTI2MzA1YTUzMDhmZTUwYmU3YmNl
YmRmNzRjYmQwNjBlZTExMzUyMi4uZDM0ODVhOTJlYmRiYWIxNjJiODU1YWNjOGM5OWMyNjg3YmIw
Yjc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZH
TGVuZ3RoQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdMZW5ndGhDdXN0b20uY3BwCkBAIC05MCw3ICs5MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25zdCB2
ODo6QXJnCiAgICAgfQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJv
cik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4
UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBTVkdMZW5ndGgmIGltcCA9IHdyYXBwZXItPnByb3Bl
cnR5UmVmZXJlbmNlKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcApp
bmRleCA1YzE2NjFlOTIxNDI2MTRhMzA4ZTEyYzZlMDI4MTViY2JhMzI0MWQzLi41NjExNjM3OTQx
ODBmOTc4OTA4ZTY1YTU2NDQ3MGY3MmM3MjUyZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAKQEAgLTYyLDcg
KzYyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpjb25zdHJ1Y3RvckNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICAgICAgcmV0dXJuIGFyZ3MuSG9s
ZGVyKCk7CiAKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAwKQotICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7Cisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6
OlR5cGVFcnJvcik7CiAKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiB1cmxzdHJpbmcgPSBhcmdzWzBdLT5Ub1N0cmluZygpOwpAQCAtMTE3LDcg
KzExNyw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6c2VuZENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgSU5DX1NUQVRTKCJET00uV2ViU29ja2V0
LnNlbmQoKSIpOwogCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJvcik7Cisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6
OlR5cGVFcnJvcik7CiAKICAgICBXZWJTb2NrZXQqIHdlYlNvY2tldCA9IFY4V2ViU29ja2V0Ojp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWVzc2Fn
ZSA9IGFyZ3NbMF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggZTllM2JmNjllOTI3ZDEx
YWEwOWU4NTJiM2Y5Mjc0N2EzYTFiYzEwYS4uMDEzNWNhNzA4NDZiNjFmZThhZjBlYzc0ZmUxMmEz
YzY5OTkwMjQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAvLyBvcGVuKG1ldGhvZCwgdXJsLCBhc3luYywg
dXNlciwgcGFzc3dkKQogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQotICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpTeW50YXhFcnJv
cik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4
UHJveHk6OlR5cGVFcnJvcik7CiAKICAgICBYTUxIdHRwUmVxdWVzdCogeG1sSHR0cFJlcXVlc3Qg
PSBWOFhNTEh0dHBSZXF1ZXN0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU1
NTQ1ZjViMjVkZjA1NTNlYTUwNDc1NmUyOTUwMDI0M2U1OWYzNmIuLjRhNjEwYzljYzI3MzNiMzIw
NmUwMTNjMGI0ZThiZmM0MWFkZWEyODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wNC0y
MyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgIk5vdCBl
bm91Z2ggYXJndW1lbnRzIiBlcnJvciBzaG91bGQgYmUgVHlwZUVycm9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDYyOAorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEN1cnJlbnRseSwgc29tZSBjdXN0b20gYmlu
ZGluZ3MgaW1wbGVtZW50ICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKKyAgICAgICAgZXJyb3IgYXMg
U3ludGF4RXJyb3IuIFRoZSBXZWIgSURMIHNwZWMgcmVxdWlyZXMgdGhhdCBpdCBzaG91bGQgYmUK
KyAgICAgICAgVHlwZUVycm9yOiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2Rmbi1vdmVy
bG9hZC1yZXNvbHV0aW9uLWFsZ29yaXRobQorICAgICAgICBUaHVzLCB0aGlzIHBhdGNoIGNoYW5n
ZXMgU3ludGF4RXJyb3IgdG8gVHlwZUVycm9yLCBhbmQgYWRkcyB0ZXN0CisgICAgICAgIGNhc2Vz
IGZvciB0aGUgZXhjZXB0aW9uLgorCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaGl4aWU3Ni9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3VybC1wYXJzaW5nLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25zLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2V4Y2VwdGlvbnMuaHRt
bDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oaXhpZTc2L3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViYXVkaW8vYXVkaW9ub2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWJhdWRpby9hdWRpb25vZGUuaHRtbDoKKwogMjAxMi0wNC0yMyAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjExNDkyOS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDBjNzBmMWY5ZTBhY2IxOWVhNTVkY2U2MDExNzhhNTcyNGJiYjQ1ZGQuLmVmMGNiOTRhODIy
Njg2YzY1M2Y4YmU4NzY5YzAyMmQyMWIzOGY3ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvc2VuZC1lbXB0eS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni9zZW5k
LWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDcgQEAgV2ViU29ja2V0OiBDYWxsaW5nIHNl
bmQoKSB3aXRob3V0IGFyZ3VtZW50cyBzaG91bGQgcmFpc2UgU3ludGF4RXJyb3IuCiAKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAotUEFTUyB3cy5zZW5kKCkgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgd3Muc2VuZCgpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBjbG9zZUV2ZW50
Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgcmVjZWl2ZWRNZXNzYWdlcy5sZW5ndGggaXMgMQogUEFT
UyByZWNlaXZlZE1lc3NhZ2VzWzBdIGlzICJHb29kYnllIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni91cmwtcGFyc2luZy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni91cmwtcGFyc2lu
Zy5odG1sCmluZGV4IGMyYzFhZjg5NTY1NTdhNWYxYzRjMGIwNmUzNmQwNWY5NjljM2Q4YWEuLjg2
YTU3OTdhMGQ2ZjFmMThhZWFlNjU2YWYyNzk5YmE5N2NjN2Q0ZDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvdXJsLXBhcnNpbmcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L3Vy
bC1wYXJzaW5nLmh0bWwKQEAgLTEyLDYgKzEyLDkgQEAgZGVzY3JpcHRpb24oIlRlc3QgV2ViU29j
a2V0IFVSTCBwYXJzaW5nLiIpOwogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZX
ZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAxKTsKIAorLy8gTm90IGVub3VnaCBhcmd1bWVudHMu
CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgpJyk7CisKIC8vIEludmFsaWQgdXJsIHdpbGwg
ZmFpbCB0byBiZSBwYXJzZWQuCiBzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZh
c2NyaXB0OmEiKScpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWVtcHR5LWV4cGVjdGVkLnR4dAppbmRl
eCAwYzcwZjFmOWUwYWNiMTllYTU1ZGNlNjAxMTc4YTU3MjRiYmI0NWRkLi5lZjBjYjk0YTgyMjY4
NmM2NTNmOGJlODc2OWMwMjJkMjFiMzhmNzg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZW1wdHktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1lbXB0eS1l
eHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFdlYlNvY2tldDogQ2FsbGluZyBzZW5kKCkgd2l0
aG91dCBhcmd1bWVudHMgc2hvdWxkIHJhaXNlIFN5bnRheEVycm9yLgogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKLVBBU1Mgd3Muc2VuZCgpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHdzLnNlbmQoKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KIFBBU1MgY2xvc2VFdmVudC53YXNDbGVh
biBpcyB0cnVlCiBQQVNTIHJlY2VpdmVkTWVzc2FnZXMubGVuZ3RoIGlzIDEKIFBBU1MgcmVjZWl2
ZWRNZXNzYWdlc1swXSBpcyAiR29vZGJ5ZSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbAppbmRleCA1
ZWIzOGU5NmQ4MzUwMTMwZWQ3NjNmMTQyYWM1MWU1ZDRjMDBkYzU2Li4zODA1ZWRkZmJhZDYxODk0
YmNlODg5M2IzMDkzYWQ2OTRjNjliMGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy5odG1sCkBAIC0x
Miw2ICsxMiw5IEBAIGRlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBVUkwgcGFyc2luZy4iKTsK
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7CiAKKy8vIE5vdCBlbm91Z2ggYXJndW1lbnRzLgorc2hvdWxkVGhyb3coJ25ldyBX
ZWJTb2NrZXQoKScpOworCiAvLyBJbnZhbGlkIHVybCB3aWxsIGZhaWwgdG8gYmUgcGFyc2VkLgog
c2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vamF2YXNjcmlwdDphIiknKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZXhj
ZXB0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggZmIzNDYxNDc5NjM3ZWIwNGNiYzhhOTU1N2YxMmMw
ODQ1M2QwNjQ5OS4uMWZmMzNkOTQyMjUwZjkyNTIwYzRmZGQzZWY4MTkzMzc1ZjgwNjY0MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25z
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2V4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xMiwzICsxMiw1IEBAIHNlbmQoKQogUEFTUzog
cmVxLnNlbmQobnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1M6IHJlcS5zZXRSZXF1ZXN0SGVhZGVyKCJGb28iLCAiYmFy
IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMS4KIFBBU1M6IHJlcS5nZXRSZXNwb25zZUhlYWRlcigpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUzogcmVxLm9wZW4oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1M6IHJlcS5vcGVuKG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9leGNlcHRpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2V4Y2VwdGlvbnMu
aHRtbAppbmRleCA0N2M4NWY1YmFhZWIzYzAwMzY4ZjQzMmI2ODZjMWJjZTEyY2M5ZTdiLi4xMDY1
YjVlZjllZDI3NDMwMDEwNDJkYmJlMjA4MTQ4ZGNmMzkzZjgyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2V4Y2VwdGlvbnMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2V4Y2VwdGlvbnMuaHRtbApAQCAtNzMs
NiArNzMsOSBAQAogICAgIHNob3VsZFRocm93KCdyZXEuc2VuZChudWxsKScpOwogICAgIHNob3Vs
ZFRocm93KCdyZXEuc2V0UmVxdWVzdEhlYWRlcigiRm9vIiwgImJhciIpJyk7CiAgICAgc2hvdWxk
VGhyb3coJ3JlcS5nZXRSZXNwb25zZUhlYWRlcigpJyk7CisKKyAgICBzaG91bGRUaHJvdygncmVx
Lm9wZW4oKScpOworICAgIHNob3VsZFRocm93KCdyZXEub3BlbihudWxsKScpOwogICAgCiA8L3Nj
cmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LWxpbnV4L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvdXJsLXBhcnNpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni91cmwtcGFyc2luZy1leHBlY3RlZC50eHQKaW5kZXgg
NjJkZDUzNDU5OTBmYTlkNmZmMTg2N2Q5MWU3MTcxZmYxNThmNTQzOS4uOTE5NWVhZTAzZjEwMzMy
ZTIyNzdmNDBmMGVkOGI4YmQ1MjhjZTRkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni91cmwt
cGFyc2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bGludXgvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni91cmwtcGFyc2luZy1leHBl
Y3RlZC50eHQKQEAgLTgsNiArOCw3IEBAIFRlc3QgV2ViU29ja2V0IFVSTCBwYXJzaW5nLgogCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKK1BBU1MgbmV3IFdlYlNvY2tldCgpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBuZXcgV2ViU29j
a2V0KCJ3czovL2phdmFzY3JpcHQ6YSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMi4KIFBBU1MgbmV3IFdlYlNvY2tldCgiL2FwcGxldCIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KIFBBU1MgbmV3
IFdlYlNvY2tldCgiamF2YXNjcmlwdDphIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhf
RVJSOiBET00gRXhjZXB0aW9uIDEyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCBiYjg4N2NkMTMw
OGM1Yjg4M2JmMDcwYTY1ZWI3ZTlhZTRhY2UxNDQ2Li5kYzI2ODMxZGJiMGQ0OGU2YWRmZGM2YzQy
NWE0NjgyNzcxNDM2YmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtOCw2ICs4LDcgQEAgVGVz
dCBXZWJTb2NrZXQgVVJMIHBhcnNpbmcuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAor
UEFTUyBuZXcgV2ViU29ja2V0KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCiBQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vamF2YXNjcmlwdDphIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgogUEFTUyBu
ZXcgV2ViU29ja2V0KCIvYXBwbGV0IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJS
OiBET00gRXhjZXB0aW9uIDEyLgogUEFTUyBuZXcgV2ViU29ja2V0KCJqYXZhc2NyaXB0OmEiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggNDU4MjZjYzEzZmFl
NjA2ZGFhMjFjYzA4MGM1MTQ5OTIyNmRkYWYzYS4uN2JhZWFkZDQwOGJjNjdlNWQ2ZDMyZTNhNzRk
ODMwNzgzY2ZhZjg1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLWV4cGVjdGVk
LnR4dApAQCAtMjMsNyArMjMsNyBAQCBQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0
cygxMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUgogUEFTUyBsZW5n
dGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCiBQQVNTIGxlbmd0aC5jb252
ZXJ0VG9TcGVjaWZpZWRVbml0cyhsZW5ndGgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KIFBBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlI6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVu
aXRzKCkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
K1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBT
VkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgKIFBBU1MgbGVuZ3RoLnZhbHVlIGlzIDIKIFBBU1Mg
bGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyBpcyAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9hdWRpb25vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
YXVkaW9ub2RlLWV4cGVjdGVkLnR4dAppbmRleCBjYTMyMTYyNjMzYmJlMzZhY2VkNTRjYTU2NzRi
OWI4NDAzNWNhNGY5Li4zNTJkNmFmNWMzNTRjNGY1MzNkNWM0MmQ3MDVjMzE2ZTY2Mzk4NWRmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb25vZGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvbm9kZS1leHBlY3RlZC50eHQKQEAgLTEyLDYg
KzEyLDcgQEAgUEFTUyBjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBvdXRw
dXQgaW5kZXguCiBQQVNTIGNvbm5lY3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIGlu
cHV0IGluZGV4LgogUEFTUyBhdWRpb05vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKSBz
dWNjZWVkZWQuCiBQQVNTIGV4Y2VwdGlvbiB0aHJvd24gd2hlbiBjb25uZWN0aW5nIHRvIG90aGVy
IGNvbnRleHQncyBub2RlLgorUEFTUyBleGNlcHRpb24gdGhyb3duIHdoZW4gY3JlYXRpbmcgYXVk
aW8gY29udGV4dCB3aXRoIG5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb25vZGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvbm9kZS5o
dG1sCmluZGV4IDRlODRhZDFjNTQ2ODhmZmVkZGQxMTJiMzMyNTIxMDM5NDJkYzE4N2EuLmVlNzdk
MjE3YjBjZTYwZWI1MDYyZDc4NDk1MmUxYWExN2FhZWUxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2F1ZGlvbm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvbm9kZS5odG1sCkBAIC04Miw2ICs4MiwxNCBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
ICAgICB0ZXN0UGFzc2VkKCJleGNlcHRpb24gdGhyb3duIHdoZW4gY29ubmVjdGluZyB0byBvdGhl
ciBjb250ZXh0J3Mgbm9kZS4iKTsKICAgICB9CiAKKyAgICAvLyBDcmVhdGUgYSBuZXcgY29udGV4
dCB3aXRoIG5vdCBlbm91Z2ggYXJndW1lbnRzCisgICAgdHJ5IHsKKyAgICAgICAgY29udGV4dDIg
PSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KDAsIDApOworICAgICAgICB0ZXN0RmFpbGVkKCJleGNl
cHRpb24gc2hvdWxkIGJlIHRocm93biB3aGVuIGNyZWF0aW5nIGF1ZGlvIGNvbnRleHQgd2l0aCBu
b3QgZW5vdWdoIGFyZ3VtZW50cy4iKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGVzdFBh
c3NlZCgiZXhjZXB0aW9uIHRocm93biB3aGVuIGNyZWF0aW5nIGF1ZGlvIGNvbnRleHQgd2l0aCBu
b3QgZW5vdWdoIGFyZ3VtZW50cy4iKTsKKyAgICB9CisKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>