<?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>87084</bug_id>
          
          <creation_ts>2012-05-21 23:18:22 -0700</creation_ts>
          <short_desc>[WebSocket] Receiving reserved close codes, 1005, 1006, and 1015 must appear as code=1006 and wasClean=false</short_desc>
          <delta_ts>2012-05-28 22:15:47 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Takashi Toyoshima">toyoshim</reporter>
          <assigned_to name="Takashi Toyoshima">toyoshim</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>629965</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-21 23:18:22 -0700</bug_when>
    <thetext>A hybi thread is here.
http://www.ietf.org/mail-archive/web/hybi/current/msg09634.html

Status codes 1005, 1006, and 1015 are forbidden to be sent as status code of close frame.
If we receive a close frame containing them, we should handle it as a broken frame.
It means that this close frame invoke CloseEvent with code=1006, wasClean=false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630077</commentid>
    <comment_count>1</comment_count>
      <attachid>143224</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-22 01:34:13 -0700</bug_when>
    <thetext>Created attachment 143224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630085</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 01:37:23 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630148</commentid>
    <comment_count>3</comment_count>
      <attachid>143224</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-22 03:00:04 -0700</bug_when>
    <thetext>Comment on attachment 143224
Patch

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

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:676
&gt; +          m_closeEventCode = CloseEventCodeNoStatusRcvd;

Bad indentation. This happens in two other places in this file.

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:678
&gt; +          m_closeEventCode = CloseEventCodeAbnormalClosure;

Can&apos;t this be fail()?

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:683
&gt; +            if (m_closeEventCode == CloseEventCodeNoStatusRcvd || m_closeEventCode == CloseEventCodeTlsHandshake)

(This is actually not from this change, but anyway) we don&apos;t usually use abbreviations like &quot;Rcvd&quot;.

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.h:108
&gt; +        CloseEventCodeMandatoryExt = 1010,

Ext -&gt; Extension?

I&apos;d like to say this as &quot;CloseEventCodeMissingRequiredExtension&quot; to clarify the meaning.

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.h:110
&gt; +        CloseEventCodeTlsHandshake = 1015,

Tls -&gt; TLS? See http://www.webkit.org/coding/coding-style.html#names

I&apos;d like to name this &quot;CloseEventCodeTLSHandshakeFailure&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630468</commentid>
    <comment_count>4</comment_count>
      <attachid>143224</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-22 09:53:00 -0700</bug_when>
    <thetext>Comment on attachment 143224
Patch

Chromium WebKit API changes lgtm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632411</commentid>
    <comment_count>5</comment_count>
      <attachid>143224</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-23 21:57:01 -0700</bug_when>
    <thetext>Comment on attachment 143224
Patch

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

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:676
&gt;&gt; +          m_closeEventCode = CloseEventCodeNoStatusRcvd;
&gt; 
&gt; Bad indentation. This happens in two other places in this file.

Fixed.
Thanks.

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:678
&gt;&gt; +          m_closeEventCode = CloseEventCodeAbnormalClosure;
&gt; 
&gt; Can&apos;t this be fail()?

Good point.
I fix this to call fail().

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:683
&gt;&gt; +            if (m_closeEventCode == CloseEventCodeNoStatusRcvd || m_closeEventCode == CloseEventCodeTlsHandshake)
&gt; 
&gt; (This is actually not from this change, but anyway) we don&apos;t usually use abbreviations like &quot;Rcvd&quot;.

Actually, these enum names follows RFC6455 defined name exactly.
See 11.7 of http://tools.ietf.org/html/rfc6455

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:684
&gt; +              m_closeEventCode = CloseEventCodeAbnormalClosure;

I should call fail() here too.

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.h:108
&gt;&gt; +        CloseEventCodeMandatoryExt = 1010,
&gt; 
&gt; Ext -&gt; Extension?
&gt; 
&gt; I&apos;d like to say this as &quot;CloseEventCodeMissingRequiredExtension&quot; to clarify the meaning.

ditto.

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.h:110
&gt;&gt; +        CloseEventCodeTlsHandshake = 1015,
&gt; 
&gt; Tls -&gt; TLS? See http://www.webkit.org/coding/coding-style.html#names
&gt; 
&gt; I&apos;d like to name this &quot;CloseEventCodeTLSHandshakeFailure&quot;

I agreed on s/Tls/TLS/.
But this name also follows the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632444</commentid>
    <comment_count>6</comment_count>
      <attachid>143740</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-23 23:14:38 -0700</bug_when>
    <thetext>Created attachment 143740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632553</commentid>
    <comment_count>7</comment_count>
      <attachid>143224</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-24 02:36:29 -0700</bug_when>
    <thetext>Comment on attachment 143224
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:683
&gt;&gt;&gt; +            if (m_closeEventCode == CloseEventCodeNoStatusRcvd || m_closeEventCode == CloseEventCodeTlsHandshake)
&gt;&gt; 
&gt;&gt; (This is actually not from this change, but anyway) we don&apos;t usually use abbreviations like &quot;Rcvd&quot;.
&gt; 
&gt; Actually, these enum names follows RFC6455 defined name exactly.
&gt; See 11.7 of http://tools.ietf.org/html/rfc6455

Understood.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632559</commentid>
    <comment_count>8</comment_count>
      <attachid>143740</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-05-24 02:42:41 -0700</bug_when>
    <thetext>Comment on attachment 143740
Patch

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

looks good.

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:679
&gt; +            fail(&quot;Receive a broken close frame containing an invalid size body.&quot;);

nit: &quot;Received&quot;

&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:687
&gt; +                fail(&quot;Receive a broken close frame containing a reserved status code.&quot;);

nit: &quot;Received&quot;

&gt; LayoutTests/http/tests/websocket/tests/hybi/close-code-and-reason.html:101
&gt; +    shouldBe(&quot;closeEvent.wasClean&quot;, &quot;expectedWasClean[testId]&quot;);

Optional suggestion: I suggest the following:
    shouldEvaluateTo(&quot;closeEvent.wasClean&quot;, expectedWasClean[testId]);
which produces more readable output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633651</commentid>
    <comment_count>9</comment_count>
      <attachid>143993</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-25 00:37:44 -0700</bug_when>
    <thetext>Created attachment 143993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633652</commentid>
    <comment_count>10</comment_count>
      <attachid>143740</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-05-25 00:39:51 -0700</bug_when>
    <thetext>Comment on attachment 143740
Patch

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

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:679
&gt;&gt; +            fail(&quot;Receive a broken close frame containing an invalid size body.&quot;);
&gt; 
&gt; nit: &quot;Received&quot;

fixed.

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketChannel.cpp:687
&gt;&gt; +                fail(&quot;Receive a broken close frame containing a reserved status code.&quot;);
&gt; 
&gt; nit: &quot;Received&quot;

fixed.

&gt;&gt; LayoutTests/http/tests/websocket/tests/hybi/close-code-and-reason.html:101
&gt;&gt; +    shouldBe(&quot;closeEvent.wasClean&quot;, &quot;expectedWasClean[testId]&quot;);
&gt; 
&gt; Optional suggestion: I suggest the following:
&gt;     shouldEvaluateTo(&quot;closeEvent.wasClean&quot;, expectedWasClean[testId]);
&gt; which produces more readable output.

Thanks.
I didn&apos;t know that. It looks better than current code.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635558</commentid>
    <comment_count>11</comment_count>
      <attachid>143993</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-28 21:35:40 -0700</bug_when>
    <thetext>Comment on attachment 143993
Patch

rubber stamped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635573</commentid>
    <comment_count>12</comment_count>
      <attachid>143993</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 22:15:41 -0700</bug_when>
    <thetext>Comment on attachment 143993
Patch

Clearing flags on attachment: 143993

Committed r118723: &lt;http://trac.webkit.org/changeset/118723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635574</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 22:15:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143224</attachid>
            <date>2012-05-22 01:34:13 -0700</date>
            <delta_ts>2012-05-24 02:36:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87084-20120522173412.patch</filename>
            <type>text/plain</type>
            <size>19117</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVlZjE4YzFlOThkMDYw
YWZkZmEzMDlkOTJkYTZlYzgzM2JlMmUyOC4uNGJmYWRiNzc0ZThjMmVlNjc2ZTI4MjRjZTMxNWEy
OTA3MzczMWY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTIyICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29j
a2V0XSBSZWNlaXZpbmcgcmVzZXJ2ZWQgY2xvc2UgY29kZXMsIDEwMDUsIDEwMDYsIGFuZCAxMDE1
IG11c3QgYXBwZWFyIGFzIGNvZGU9MTAwNiBhbmQgd2FzQ2xlYW49ZmFsc2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MDg0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhdHVzIGNvZGVzIDEwMDUsIDEw
MDYsIGFuZCAxMDE1IGFyZSBmb3JiaWRkZW4gdG8gYmUgc2VudCBpbiBhY3R1YWwgY2xvc2UgZnJh
bWVzLgorICAgICAgICBJZiBhIGNsaWVudCByZWNlaXZlZCB0aGVzZSBmcmFtZXMsIHRoZSBjbGll
bnQgc2hvdWxkIGhhbmRsZSB0aGVtIGFzIGJyb2tlbi4KKyAgICAgICAgQ2xvc2UgZnJhbWVzIGNv
bnRhaW5pbmcgaW52YWxpZCBib2R5IHNpemUgYXJlIHRoZSBzYW1lIGFzIHRoZXNlIGZvcmJpZGRl
biBjYXNlcy4KKyAgICAgICAgVXBkYXRlIGNsb3NlLWNvZGUtYW5kLXJlYXNvbiB0ZXN0cyB0byB2
ZXJpZnkgdGhpcyBwYXRjaC4KKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwOiBIYW5kbGUgQWJub3JtYWxDbG9zdXJlIGFzIHdhc0NsZWFuID09IGZhbHNlCisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRpZENsb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6IEhhbmRsZSBjbG9zZSBmcmFtZXMnIHN0YXR1
cyBjb2RlIGNhcmVmdWxseQorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6cHJv
Y2Vzc0ZyYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oOiBVcGRhdGUgb24gbmV3bHkgZGVmaW5lZCBjbG9zZSBldmVudCBjb2RlcworCiAyMDEyLTA1
LTE4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEFkZCByZXNvdXJjZSB0byBVSVNvdXJjZUNvZGUgY29uc3RydWN0b3IuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY1MTU3ODYwZDA1OTYxNjM2ZjRjMzNhMDY2ZWY1
OWI0ZWJmMjIzNTEuLmZlZDI0OTU4YjA4NjVhYmUzYjI2YTY4M2E4NjEyNjhlYmNhYmE5ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMjIgIFRh
a2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJT
b2NrZXRdIFJlY2VpdmluZyByZXNlcnZlZCBjbG9zZSBjb2RlcywgMTAwNSwgMTAwNiwgYW5kIDEw
MTUgbXVzdCBhcHBlYXIgYXMgY29kZT0xMDA2IGFuZCB3YXNDbGVhbj1mYWxzZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwODQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgY2xvc2UgZXZlbnQg
Y29kZXMgY29ycmVzcG9uZGluZyB0byBXZWJTb2NrZXRDaGFubmVsOjpDbG9zZUV2ZW50Q29kZS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogVXBkYXRlIG9uIG5ld2x5IGRlZmluZWQg
Y2xvc2UgZXZlbnQgY29kZXMKKwogMjAxMi0wNS0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU1MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKaW5kZXggOTJmMWYyNmJhNTU1NjVkOGEzZmFmYjIwZWMyNjY2YjlhMzljYTg4My4u
YTgxYzJmZDU5NmNhYjI1Y2E4NTdmMzU4YTRjNDQ2ZWY5ZTIzMTdhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTU1Nyw2ICs1NTcs
OCBAQCB2b2lkIFdlYlNvY2tldDo6ZGlkQ2xvc2UodW5zaWduZWQgbG9uZyB1bmhhbmRsZWRCdWZm
ZXJlZEFtb3VudCwgQ2xvc2luZ0hhbmRzaGFrZQogICAgIGlmICghbV9jaGFubmVsKQogICAgICAg
ICByZXR1cm47CiAgICAgYm9vbCB3YXNDbGVhbiA9IG1fc3RhdGUgPT0gQ0xPU0lORyAmJiAhdW5o
YW5kbGVkQnVmZmVyZWRBbW91bnQgJiYgY2xvc2luZ0hhbmRzaGFrZUNvbXBsZXRpb24gPT0gQ2xv
c2luZ0hhbmRzaGFrZUNvbXBsZXRlOworICAgIGlmICghbV91c2VIaXhpZTc2UHJvdG9jb2wpCisg
ICAgICAgIHdhc0NsZWFuID0gd2FzQ2xlYW4gJiYgY29kZSAhPSBXZWJTb2NrZXRDaGFubmVsOjpD
bG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAg
IG1fYnVmZmVyZWRBbW91bnQgPSB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudDsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA2MjMxZjY4ODg4MTRm
ODgxNGZlMjMwMTJiYWE2ZDVkZmM5ZTc3ZDQxLi4wNWMyYjQ3YjllMGIyNGNkZGQyYTI3ZDlmNmRk
YWY3ZDdlMjc5MmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02NzIsMTIgKzY3MiwxNyBAQCBib29sIFdl
YlNvY2tldENoYW5uZWw6OnByb2Nlc3NGcmFtZSgpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBXZWJTb2NrZXRGcmFtZTo6T3BDb2RlQ2xvc2U6Ci0gICAgICAgIGlmIChmcmFtZS5wYXlsb2Fk
TGVuZ3RoID49IDIpIHsKKyAgICAgICAgaWYgKCFmcmFtZS5wYXlsb2FkTGVuZ3RoKQorICAgICAg
ICAgIG1fY2xvc2VFdmVudENvZGUgPSBDbG9zZUV2ZW50Q29kZU5vU3RhdHVzUmN2ZDsKKyAgICAg
ICAgZWxzZSBpZiAoZnJhbWUucGF5bG9hZExlbmd0aCA9PSAxKQorICAgICAgICAgIG1fY2xvc2VF
dmVudENvZGUgPSBDbG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKKyAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGhpZ2hCeXRlID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcj4oZnJhbWUucGF5bG9hZFswXSk7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGxv
d0J5dGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihmcmFtZS5wYXlsb2FkWzFdKTsKICAg
ICAgICAgICAgIG1fY2xvc2VFdmVudENvZGUgPSBoaWdoQnl0ZSA8PCA4IHwgbG93Qnl0ZTsKLSAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICBtX2Nsb3NlRXZlbnRDb2RlID0gQ2xvc2VFdmVudENv
ZGVOb1N0YXR1c1JjdmQ7CisgICAgICAgICAgICBpZiAobV9jbG9zZUV2ZW50Q29kZSA9PSBDbG9z
ZUV2ZW50Q29kZU5vU3RhdHVzUmN2ZCB8fCBtX2Nsb3NlRXZlbnRDb2RlID09IENsb3NlRXZlbnRD
b2RlVGxzSGFuZHNoYWtlKQorICAgICAgICAgICAgICBtX2Nsb3NlRXZlbnRDb2RlID0gQ2xvc2VF
dmVudENvZGVBYm5vcm1hbENsb3N1cmU7CisgICAgICAgIH0KICAgICAgICAgaWYgKGZyYW1lLnBh
eWxvYWRMZW5ndGggPj0gMykKICAgICAgICAgICAgIG1fY2xvc2VFdmVudFJlYXNvbiA9IFN0cmlu
Zzo6ZnJvbVVURjgoJmZyYW1lLnBheWxvYWRbMl0sIGZyYW1lLnBheWxvYWRMZW5ndGggLSAyKTsK
ICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMGI3NjA3ZmZiYjZmODUxN2ZiOGEyMzMwODI5OGNh
ZmM1MmRhMDJjZS4uNzYzMjg2YTExZGQwN2U4ODY3ZmQ0NDdhMjI3NDZhMmQ0Mzc3NDAwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5oCkBAIC0xMDIsNyArMTAyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgQ2xvc2VFdmVudENv
ZGVGcmFtZVRvb0xhcmdlID0gMTAwNCwKICAgICAgICAgQ2xvc2VFdmVudENvZGVOb1N0YXR1c1Jj
dmQgPSAxMDA1LAogICAgICAgICBDbG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZSA9IDEwMDYs
Ci0gICAgICAgIENsb3NlRXZlbnRDb2RlSW52YWxpZFVURjggPSAxMDA3LAorICAgICAgICBDbG9z
ZUV2ZW50Q29kZUludmFsaWRGcmFtZVBheWxvYWREYXRhID0gMTAwNywKKyAgICAgICAgQ2xvc2VF
dmVudENvZGVQb2xpY3lWaW9sYXRpb24gPSAxMDA4LAorICAgICAgICBDbG9zZUV2ZW50Q29kZU1l
c3NhZ2VUb29CaWcgPSAxMDA5LAorICAgICAgICBDbG9zZUV2ZW50Q29kZU1hbmRhdG9yeUV4dCA9
IDEwMTAsCisgICAgICAgIENsb3NlRXZlbnRDb2RlSW50ZXJuYWxFcnJvciA9IDEwMTEsCisgICAg
ICAgIENsb3NlRXZlbnRDb2RlVGxzSGFuZHNoYWtlID0gMTAxNSwKICAgICAgICAgQ2xvc2VFdmVu
dENvZGVNaW5pbXVtVXNlckRlZmluZWQgPSAzMDAwLAogICAgICAgICBDbG9zZUV2ZW50Q29kZU1h
eGltdW1Vc2VyRGVmaW5lZCA9IDQ5OTkKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTb2NrZXQuaAppbmRleCBmMmExNDBjZmFhZjM4ZjA1MmU1YTYyMzg4ZmMwNzJkODJj
MDNjNGFiLi4wMmY1ZWJhZjE1NTk4MWNlNDE5MDQ4ZGUyYzZlMjJiYTFkMGI5NDdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaApAQCAtNTUsNyArNTUsMTIgQEAg
cHVibGljOgogICAgICAgICBDbG9zZUV2ZW50Q29kZUZyYW1lVG9vTGFyZ2UgPSAxMDA0LAogICAg
ICAgICBDbG9zZUV2ZW50Q29kZU5vU3RhdHVzUmN2ZCA9IDEwMDUsCiAgICAgICAgIENsb3NlRXZl
bnRDb2RlQWJub3JtYWxDbG9zdXJlID0gMTAwNiwKLSAgICAgICAgQ2xvc2VFdmVudENvZGVJbnZh
bGlkVVRGOCA9IDEwMDcsCisgICAgICAgIENsb3NlRXZlbnRDb2RlSW52YWxpZEZyYW1lUGF5bG9h
ZERhdGEgPSAxMDA3LAorICAgICAgICBDbG9zZUV2ZW50Q29kZVBvbGljeVZpb2xhdGlvbiA9IDEw
MDgsCisgICAgICAgIENsb3NlRXZlbnRDb2RlTWVzc2FnZVRvb0JpZyA9IDEwMDksCisgICAgICAg
IENsb3NlRXZlbnRDb2RlTWFuZGF0b3J5RXh0ID0gMTAxMCwKKyAgICAgICAgQ2xvc2VFdmVudENv
ZGVJbnRlcm5hbEVycm9yID0gMTAxMSwKKyAgICAgICAgQ2xvc2VFdmVudENvZGVUbHNIYW5kc2hh
a2UgPSAxMDE1LAogICAgICAgICBDbG9zZUV2ZW50Q29kZU1pbmltdW1Vc2VyRGVmaW5lZCA9IDMw
MDAsCiAgICAgICAgIENsb3NlRXZlbnRDb2RlTWF4aW11bVVzZXJEZWZpbmVkID0gNDk5OQogICAg
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNDI5MjA0MmZiOTE1ZTNlMzIxN2NhNjE1ZjM5NDkyMGNiNDBhODRhNy4uYmYw
NTg3YTZkNjYxOGUwMWQwM2U5MTNiNzE1ZDBhNjk5NDdiMDNjOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEyLTA1LTIyICBUYWthc2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbV2ViU29ja2V0XSBSZWNlaXZpbmcgcmVzZXJ2ZWQgY2xvc2UgY29kZXMs
IDEwMDUsIDEwMDYsIGFuZCAxMDE1IG11c3QgYXBwZWFyIGFzIGNvZGU9MTAwNiBhbmQgd2FzQ2xl
YW49ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3MDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHRlc3QgY2FzZXMgd2hlcmUgc2VydmVyIGluaXRpYXRlcyBhIGNsb3NpbmcgaGFuZHNoYWtl
IHdpdGggZm9yYmlkZGVuIHN0YXR1cyBjb2Rlcy4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJl
YXNvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9jbG9zZS1jb2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtY29kZS1h
bmQtcmVhc29uLmpzOgorICAgICAgICAoV2ViU29ja2V0VGVzdC5wcm90b3R5cGUub25jbG9zZSk6
CisKIDIwMTItMDUtMTggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg1OQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1j
b2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0CmluZGV4
IGRmNjY2OGJiMjBkMDBjN2IyNTEwYTUzMjYzYmU4NGY0ZjYxMDgwMGYuLmJhNTU4Yjk1Yjc4NTUz
ZjE3YTJjYzRkODU4MDljMmNhNGQ1YTMwYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLWNvZGUtYW5kLXJlYXNvbi1leHBlY3RlZC50eHQKQEAgLTksMjMgKzksNTggQEAgUEFTUyBj
bG9zZUV2ZW50LmNvZGUgaXMgY29kZUFibm9ybWFsQ2xvc3VyZQogUEFTUyBjbG9zZUV2ZW50LnJl
YXNvbiBpcyBlbXB0eVN0cmluZwogV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdp
dGggdGVzdElkID0gMC4KIFdlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0
ZXN0SWQgPSAwLgotUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1MgY2xvc2VF
dmVudC53YXNDbGVhbiBpcyBleHBlY3RlZFdhc0NsZWFuW3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVu
dC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQucmVhc29uIGlz
IGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBleHBl
Y3RlZFdhc0NsZWFuW3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVjdGVkQ29k
ZVt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJ
ZF0KIFdlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDEuCiBX
ZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMS4KLVBBU1Mg
Y2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMg
ZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3Rl
ZENvZGVbdGVzdElkXQogUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0
ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0
SWRdCiBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQogUEFTUyBj
bG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCiBXZWJTb2NrZXRUZXN0
Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAyLgogV2ViU29ja2V0VGVzdC5vbmNs
b3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDIuCi1QQVNTIGNsb3NlRXZlbnQud2FzQ2xl
YW4gaXMgdHJ1ZQorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5b
dGVzdElkXQogUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KIFBB
U1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorUEFTUyBjbG9z
ZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQorUEFTUyBjbG9zZUV2
ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5yZWFzb24g
aXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2Fs
bGVkIHdpdGggdGVzdElkID0gMy4KK1dlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQg
d2l0aCB0ZXN0SWQgPSAzLgorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2Fz
Q2xlYW5bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJ
ZF0KK1BBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorUEFT
UyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQorUEFTUyBj
bG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5y
ZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3
YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNC4KK1dlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBj
YWxsZWQgd2l0aCB0ZXN0SWQgPSA0LgorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVj
dGVkV2FzQ2xlYW5bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2Rl
W3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElk
XQorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQor
UEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KK1BBU1MgY2xvc2VF
dmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorV2ViU29ja2V0VGVzdC5vbm9w
ZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNS4KK1dlYlNvY2tldFRlc3Qub25jbG9zZSgp
IHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA1LgorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlz
IGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0
ZWRDb2RlW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25b
dGVzdElkXQorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVz
dElkXQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KK1BBU1Mg
Y2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorV2ViU29ja2V0VGVz
dC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNi4KK1dlYlNvY2tldFRlc3Qub25j
bG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA2LgorUEFTUyBjbG9zZUV2ZW50Lndhc0Ns
ZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMg
ZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRS
ZWFzb25bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xl
YW5bdGVzdElkXQogUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0K
IFBBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFuZC1yZWFzb24uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQt
cmVhc29uLmh0bWwKaW5kZXggNTU1YzVlM2FiODY1YzVmMTk5YTZkZmRhNzMzYmUwMTY3ZWNlOWFi
YS4uOGMxNWM4OGYzMzhjY2YxNDllNTM0Y2U5M2JlNzZkNDM4MDgyYzE2MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFu
ZC1yZWFzb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5odG1sCkBAIC0xNCw2ICsxNCw3IEBAIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwg
MCk7CiAKIHZhciBjbG9zZUV2ZW50OwordmFyIGNvZGVOb3JtYWxDbG9zdXJlID0gMTAwMDsKIHZh
ciBjb2RlTm9TdGF0dXNSY3ZkID0gMTAwNTsKIHZhciBjb2RlQWJub3JtYWxDbG9zdXJlID0gMTAw
NjsKIHZhciBlbXB0eVN0cmluZyA9ICIiOwpAQCAtMzcsMjIgKzM4LDQzIEBAIHdzLm9uY2xvc2Ug
PSBmdW5jdGlvbihldmVudCkKIHdzLmNsb3NlKCk7CiAKIHZhciB0ZXN0SWQgPSAwOwotdmFyIHRl
c3ROdW0gPSAzOwordmFyIHRlc3ROdW0gPSA3OwogdmFyIHNlbmREYXRhID0gWwogICAgICItIiwg
Ly8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRob3V0IGNvZGUgYW5kIHJlYXNvbgogICAgICItLSIs
IC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBpbnZhbGlkIGJvZHkgd2hpY2ggc2l6ZSBpcyAx
CisgICAgIjEwMDAgb2siLCAgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRoIGNvZGUgMTAwMCBh
bmQgcmVhc29uCisgICAgIjEwMDUgZm9vIiwgIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBm
b3JiaWRkZW4gY29kZSAxMDA1IGFuZCByZWFzb24KKyAgICAiMTAwNiBiYXIiLCAgLy8gcmVxdWVz
dCBjbG9zZSBmcmFtZSB3aXRoIGZvcmJpZGRlbiBjb2RlIDEwMDYgYW5kIHJlYXNvbgorICAgICIx
MDE1IGJheiIsICAvLyByZXF1ZXN0IGNsb2RlIGZyYW1lIHdpdGggZm9yYmlkZGVuIGNvZGUgMTAx
NSBhbmQgcmVhc29uCiAgICAgIjY1NTM1IGdvb2QgYnllIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFt
ZSB3aXRoIHNwZWNpZmllZCBjb2RlIGFuZCByZWFzb24KIF07CiB2YXIgZXhwZWN0ZWRDb2RlID0g
WwogICAgIGNvZGVOb1N0YXR1c1JjdmQsCi0gICAgY29kZU5vU3RhdHVzUmN2ZCwKKyAgICBjb2Rl
QWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVOb3JtYWxDbG9zdXJlLAorICAgIGNvZGVBYm5vcm1h
bENsb3N1cmUsCisgICAgY29kZUFibm9ybWFsQ2xvc3VyZSwKKyAgICBjb2RlQWJub3JtYWxDbG9z
dXJlLAogICAgIDY1NTM1LAogXTsKIHZhciBleHBlY3RlZFJlYXNvbiA9IFsKICAgICAiIiwKICAg
ICAiIiwKKyAgICAib2siLAorICAgICJmb28iLAorICAgICJiYXIiLAorICAgICJiYXoiLAogICAg
ICJnb29kIGJ5ZSIsCiBdOwordmFyIGV4cGVjdGVkV2FzQ2xlYW4gPSBbCisgICAgdHJ1ZSwKKyAg
ICBmYWxzZSwKKyAgICB0cnVlLAorICAgIGZhbHNlLAorICAgIGZhbHNlLAorICAgIGZhbHNlLAor
ICAgIHRydWUsCitdOwogCiBXZWJTb2NrZXRUZXN0ID0gZnVuY3Rpb24oKSB7CiAgICAgdGhpcy53
cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uIik7CkBAIC03NiwxMSArOTgsMTMgQEAgV2ViU29ja2V0
VGVzdC5wcm90b3R5cGUub25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIGNsb3NlRXZl
bnQgPSBldmVudDsKICAgICBkZWJ1ZygiV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxl
ZCB3aXRoIHRlc3RJZCA9ICIgKyB0ZXN0SWQgKyAiLiIpOwotICAgIHNob3VsZEJlVHJ1ZSgiY2xv
c2VFdmVudC53YXNDbGVhbiIpOworICAgIHNob3VsZEJlKCJjbG9zZUV2ZW50Lndhc0NsZWFuIiwg
ImV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSIpOwogICAgIHNob3VsZEJlKCJjbG9zZUV2ZW50LmNv
ZGUiLCAiZXhwZWN0ZWRDb2RlW3Rlc3RJZF0iKTsKICAgICBzaG91bGRCZSgiY2xvc2VFdmVudC5y
ZWFzb24iLCAiZXhwZWN0ZWRSZWFzb25bdGVzdElkXSIpOwogICAgIGNsb3NlRXZlbnQuY29kZSA9
IDA7CiAgICAgY2xvc2VFdmVudC5yZWFzb24gPSAicmVhZG9ubHkiOworICAgIGNsb3NlRXZlbnQu
d2FzQ2xlYW4gPSAhY2xvc2VFdmVudC53YXNDbGVhbjsKKyAgICBzaG91bGRCZSgiY2xvc2VFdmVu
dC53YXNDbGVhbiIsICJleHBlY3RlZFdhc0NsZWFuW3Rlc3RJZF0iKTsKICAgICBzaG91bGRCZSgi
Y2xvc2VFdmVudC5jb2RlIiwgImV4cGVjdGVkQ29kZVt0ZXN0SWRdIik7CiAgICAgc2hvdWxkQmUo
ImNsb3NlRXZlbnQucmVhc29uIiwgImV4cGVjdGVkUmVhc29uW3Rlc3RJZF0iKTsKICAgICB0ZXN0
SWQrKzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd29ya2Vycy9jbG9zZS1jb2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWNvZGUt
YW5kLXJlYXNvbi1leHBlY3RlZC50eHQKaW5kZXggYWUwZWY5ODAxYjY3MjlhZGMxNWY3Y2Y1MjQ2
YzhhZTllMjNiMGU5Yy4uYmE1ZjdmMjdiN2QwZmMyMGFmNWZhZWQ0OWJhMGVlODUyODkzZWM5YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWNvZGUtYW5k
LXJlYXNvbi1leHBlY3RlZC50eHQKQEAgLTEyLDIwICsxMiw1NSBAQCBXZWJTb2NrZXRUZXN0Lm9u
Y2xvc2UoKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMC4KIFBBU1MgUEFTUzogd29ya2VyOiBl
dmVudC53YXNDbGVhbiBpcyB0cnVlCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyAx
MDA1CiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorUEFTUyBQQVNTOiB3b3Jr
ZXI6IGV2ZW50Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2Rl
IGlzIDEwMDUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5yZWFzb24gaXMgCiBXZWJTb2NrZXRU
ZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAxLgogV2ViU29ja2V0VGVzdC5v
bmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDEuCi1QQVNTIFBBU1M6IHdvcmtlcjog
ZXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQotUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMg
MTAwNQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBB
U1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyAxMDA2CiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQu
cmVhc29uIGlzIAotUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNQorUEFTUyBQ
QVNTOiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjog
ZXZlbnQuY29kZSBpcyAxMDA2CiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAog
V2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMi4KIFdlYlNv
Y2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAyLgogUEFTUyBQQVNT
OiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1MgUEFTUzogd29ya2VyOiBldmVu
dC5jb2RlIGlzIDEwMDAKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5yZWFzb24gaXMgb2sKK1BB
U1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIFBBU1M6IHdvcmtl
cjogZXZlbnQuY29kZSBpcyAxMDAwCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlz
IG9rCitXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAzLgor
V2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDMuCitQQVNT
IFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BBU1MgUEFTUzogd29ya2Vy
OiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5yZWFzb24gaXMg
Zm9vCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BBU1MgUEFT
Uzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5y
ZWFzb24gaXMgZm9vCitXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0
SWQgPSA0LgorV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9
IDQuCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BBU1MgUEFT
Uzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5y
ZWFzb24gaXMgYmFyCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UK
K1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFTUzogd29ya2Vy
OiBldmVudC5yZWFzb24gaXMgYmFyCitXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQg
d2l0aCB0ZXN0SWQgPSA1LgorV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRo
IHRlc3RJZCA9IDUuCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UK
K1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFTUzogd29ya2Vy
OiBldmVudC5yZWFzb24gaXMgYmF6CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4g
aXMgZmFsc2UKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgUEFT
Uzogd29ya2VyOiBldmVudC5yZWFzb24gaXMgYmF6CitXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdh
cyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA2LgorV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNh
bGxlZCB3aXRoIHRlc3RJZCA9IDYuCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4g
aXMgdHJ1ZQogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgNjU1MzUKIFBBU1MgUEFT
Uzogd29ya2VyOiBldmVudC5yZWFzb24gaXMgZ29vZCBieWUKK1BBU1MgUEFTUzogd29ya2VyOiBl
dmVudC53YXNDbGVhbiBpcyB0cnVlCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyA2
NTUzNQogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyBnb29kIGJ5ZQogRE9ORQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1jb2RlLWFuZC1yZWFzb24uanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2Nsb3NlLWNv
ZGUtYW5kLXJlYXNvbi5qcwppbmRleCBjNTQwZmYyM2FlNDk5NmYyNjIwMTU4NDJkNjEyMjk3MjM5
NDEwYjEwLi43OTk2NjFjNDkyMzkxNzM2NzkwMmRjMmE5ZGM4OTcwMjJjNjQwYzBiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMv
cmVzb3VyY2VzL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5qcworKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2Nsb3NlLWNvZGUt
YW5kLXJlYXNvbi5qcwpAQCAtMSwzICsxLDQgQEAKK3ZhciBjb2RlTm9ybWFsQ2xvc3VyZSA9IDEw
MDA7CiB2YXIgY29kZU5vU3RhdHVzUmN2ZCA9IDEwMDU7CiB2YXIgY29kZUFibm9ybWFsQ2xvc3Vy
ZSA9IDEwMDY7CiB2YXIgZW1wdHlTdHJpbmcgPSAiIjsKQEAgLTMwLDIyICszMSw0MyBAQCB3cy5v
bmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCiB3cy5jbG9zZSgpOwogCiB2YXIgdGVzdElkID0gMDsK
LXZhciB0ZXN0TnVtID0gMzsKK3ZhciB0ZXN0TnVtID0gNzsKIHZhciBzZW5kRGF0YSA9IFsKICAg
ICAiLSIsIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aG91dCBjb2RlIGFuZCByZWFzb24KICAg
ICAiLS0iLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggaW52YWxpZCBib2R5IHdoaWNoIHNp
emUgaXMgMQorICAgICIxMDAwIG9rIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRoIGNvZGUg
MTAwMCBhbmQgcmVhc29uCisgICAgIjEwMDUgZm9vIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3
aXRoIGZvcmJpZGRlbiBjb2RlIDEwMDUgYW5kIHJlYXNvbgorICAgICIxMDA2IGJhciIsIC8vIHJl
cXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBmb3JiaWRkZW4gY29kZSAxMDA2IGFuZCByZWFzb24KKyAg
ICAiMTAxNSBiYXoiLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggZm9yYmlkZGVuIGNvZGUg
MTAxNSBhbmQgcmVhc29uCiAgICAgIjY1NTM1IGdvb2QgYnllIiwgLy8gcmVxdWVzdCBjbG9zZSBm
cmFtZSB3aXRoIHNwZWNpZmllZCBjb2RlIGFuZCByZWFzb24KIF07CiB2YXIgZXhwZWN0ZWRDb2Rl
ID0gWwogICAgIGNvZGVOb1N0YXR1c1JjdmQsCi0gICAgY29kZU5vU3RhdHVzUmN2ZCwKKyAgICBj
b2RlQWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVOb3JtYWxDbG9zdXJlLAorICAgIGNvZGVBYm5v
cm1hbENsb3N1cmUsCisgICAgY29kZUFibm9ybWFsQ2xvc3VyZSwKKyAgICBjb2RlQWJub3JtYWxD
bG9zdXJlLAogICAgIDY1NTM1LAogXTsKIHZhciBleHBlY3RlZFJlYXNvbiA9IFsKICAgICAiIiwK
ICAgICAiIiwKKyAgICAib2siLAorICAgICJmb28iLAorICAgICJiYXIiLAorICAgICJiYXoiLAog
ICAgICJnb29kIGJ5ZSIsCiBdOwordmFyIGV4cGVjdGVkV2FzQ2xlYW4gPSBbCisgICAgdHJ1ZSwK
KyAgICBmYWxzZSwKKyAgICB0cnVlLAorICAgIGZhbHNlLAorICAgIGZhbHNlLAorICAgIGZhbHNl
LAorICAgIHRydWUsCitdOwogCiBXZWJTb2NrZXRUZXN0ID0gZnVuY3Rpb24oKSB7CiAgICAgdGhp
cy53cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uIik7CkBAIC02OCwxMSArOTAsMTMgQEAgV2ViU29j
a2V0VGVzdC5wcm90b3R5cGUub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCiBXZWJTb2NrZXRU
ZXN0LnByb3RvdHlwZS5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgcG9zdE1lc3Nh
Z2UoIldlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAiICsg
dGVzdElkICsgIi4iKTsKLSAgICBwb3N0UmVzdWx0KGV2ZW50Lndhc0NsZWFuLCAiZXZlbnQud2Fz
Q2xlYW4iLCAidHJ1ZSIpOworICAgIHBvc3RSZXN1bHQoZXZlbnQud2FzQ2xlYW4gPT0gZXhwZWN0
ZWRXYXNDbGVhblt0ZXN0SWRdLCAiZXZlbnQud2FzQ2xlYW4iLCBleHBlY3RlZFdhc0NsZWFuW3Rl
c3RJZF0pOwogICAgIHBvc3RSZXN1bHQoZXZlbnQuY29kZSA9PSBleHBlY3RlZENvZGVbdGVzdElk
XSwgImV2ZW50LmNvZGUiLCBleHBlY3RlZENvZGVbdGVzdElkXSk7CiAgICAgcG9zdFJlc3VsdChl
dmVudC5yZWFzb24gPT0gZXhwZWN0ZWRSZWFzb25bdGVzdElkXSwgImV2ZW50LnJlYXNvbiIsIGV4
cGVjdGVkUmVhc29uW3Rlc3RJZF0pOwogICAgIGV2ZW50LmNvZGUgPSAwOwogICAgIGV2ZW50LnJl
YXNvbiA9ICJyZWFkb25seSI7CisgICAgZXZlbnQud2FzQ2xlYW4gPSAhZXZlbnQud2FzQ2xlYW47
CisgICAgcG9zdFJlc3VsdChldmVudC53YXNDbGVhbiA9PSBleHBlY3RlZFdhc0NsZWFuW3Rlc3RJ
ZF0sICJldmVudC53YXNDbGVhbiIsIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSk7CiAgICAgcG9z
dFJlc3VsdChldmVudC5jb2RlID09IGV4cGVjdGVkQ29kZVt0ZXN0SWRdLCAiZXZlbnQuY29kZSIs
IGV4cGVjdGVkQ29kZVt0ZXN0SWRdKTsKICAgICBwb3N0UmVzdWx0KGV2ZW50LnJlYXNvbiA9PSBl
eHBlY3RlZFJlYXNvblt0ZXN0SWRdLCAiZXZlbnQucmVhc29uIiwgZXhwZWN0ZWRSZWFzb25bdGVz
dElkXSk7CiAgICAgdGVzdElkKys7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143740</attachid>
            <date>2012-05-23 23:14:38 -0700</date>
            <delta_ts>2012-05-25 00:39:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87084-20120524151437.patch</filename>
            <type>text/plain</type>
            <size>20498</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVlZjE4YzFlOThkMDYw
YWZkZmEzMDlkOTJkYTZlYzgzM2JlMmUyOC4uNGJmYWRiNzc0ZThjMmVlNjc2ZTI4MjRjZTMxNWEy
OTA3MzczMWY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTIyICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29j
a2V0XSBSZWNlaXZpbmcgcmVzZXJ2ZWQgY2xvc2UgY29kZXMsIDEwMDUsIDEwMDYsIGFuZCAxMDE1
IG11c3QgYXBwZWFyIGFzIGNvZGU9MTAwNiBhbmQgd2FzQ2xlYW49ZmFsc2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MDg0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhdHVzIGNvZGVzIDEwMDUsIDEw
MDYsIGFuZCAxMDE1IGFyZSBmb3JiaWRkZW4gdG8gYmUgc2VudCBpbiBhY3R1YWwgY2xvc2UgZnJh
bWVzLgorICAgICAgICBJZiBhIGNsaWVudCByZWNlaXZlZCB0aGVzZSBmcmFtZXMsIHRoZSBjbGll
bnQgc2hvdWxkIGhhbmRsZSB0aGVtIGFzIGJyb2tlbi4KKyAgICAgICAgQ2xvc2UgZnJhbWVzIGNv
bnRhaW5pbmcgaW52YWxpZCBib2R5IHNpemUgYXJlIHRoZSBzYW1lIGFzIHRoZXNlIGZvcmJpZGRl
biBjYXNlcy4KKyAgICAgICAgVXBkYXRlIGNsb3NlLWNvZGUtYW5kLXJlYXNvbiB0ZXN0cyB0byB2
ZXJpZnkgdGhpcyBwYXRjaC4KKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwOiBIYW5kbGUgQWJub3JtYWxDbG9zdXJlIGFzIHdhc0NsZWFuID09IGZhbHNlCisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRpZENsb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6IEhhbmRsZSBjbG9zZSBmcmFtZXMnIHN0YXR1
cyBjb2RlIGNhcmVmdWxseQorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6cHJv
Y2Vzc0ZyYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oOiBVcGRhdGUgb24gbmV3bHkgZGVmaW5lZCBjbG9zZSBldmVudCBjb2RlcworCiAyMDEyLTA1
LTE4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEFkZCByZXNvdXJjZSB0byBVSVNvdXJjZUNvZGUgY29uc3RydWN0b3IuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY1MTU3ODYwZDA1OTYxNjM2ZjRjMzNhMDY2ZWY1
OWI0ZWJmMjIzNTEuLmZlZDI0OTU4YjA4NjVhYmUzYjI2YTY4M2E4NjEyNjhlYmNhYmE5ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMjIgIFRh
a2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJT
b2NrZXRdIFJlY2VpdmluZyByZXNlcnZlZCBjbG9zZSBjb2RlcywgMTAwNSwgMTAwNiwgYW5kIDEw
MTUgbXVzdCBhcHBlYXIgYXMgY29kZT0xMDA2IGFuZCB3YXNDbGVhbj1mYWxzZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwODQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgY2xvc2UgZXZlbnQg
Y29kZXMgY29ycmVzcG9uZGluZyB0byBXZWJTb2NrZXRDaGFubmVsOjpDbG9zZUV2ZW50Q29kZS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogVXBkYXRlIG9uIG5ld2x5IGRlZmluZWQg
Y2xvc2UgZXZlbnQgY29kZXMKKwogMjAxMi0wNS0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU1MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKaW5kZXggOTJmMWYyNmJhNTU1NjVkOGEzZmFmYjIwZWMyNjY2YjlhMzljYTg4My4u
YTgxYzJmZDU5NmNhYjI1Y2E4NTdmMzU4YTRjNDQ2ZWY5ZTIzMTdhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTU1Nyw2ICs1NTcs
OCBAQCB2b2lkIFdlYlNvY2tldDo6ZGlkQ2xvc2UodW5zaWduZWQgbG9uZyB1bmhhbmRsZWRCdWZm
ZXJlZEFtb3VudCwgQ2xvc2luZ0hhbmRzaGFrZQogICAgIGlmICghbV9jaGFubmVsKQogICAgICAg
ICByZXR1cm47CiAgICAgYm9vbCB3YXNDbGVhbiA9IG1fc3RhdGUgPT0gQ0xPU0lORyAmJiAhdW5o
YW5kbGVkQnVmZmVyZWRBbW91bnQgJiYgY2xvc2luZ0hhbmRzaGFrZUNvbXBsZXRpb24gPT0gQ2xv
c2luZ0hhbmRzaGFrZUNvbXBsZXRlOworICAgIGlmICghbV91c2VIaXhpZTc2UHJvdG9jb2wpCisg
ICAgICAgIHdhc0NsZWFuID0gd2FzQ2xlYW4gJiYgY29kZSAhPSBXZWJTb2NrZXRDaGFubmVsOjpD
bG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAg
IG1fYnVmZmVyZWRBbW91bnQgPSB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudDsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA2MjMxZjY4ODg4MTRm
ODgxNGZlMjMwMTJiYWE2ZDVkZmM5ZTc3ZDQxLi44OGNlOWM2OWY2YmViMDFmMzI1NGMxY2NmZjRl
MTE0ZmQyNTE2Zjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02NzIsMTIgKzY3MiwyMiBAQCBib29sIFdl
YlNvY2tldENoYW5uZWw6OnByb2Nlc3NGcmFtZSgpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBXZWJTb2NrZXRGcmFtZTo6T3BDb2RlQ2xvc2U6Ci0gICAgICAgIGlmIChmcmFtZS5wYXlsb2Fk
TGVuZ3RoID49IDIpIHsKKyAgICAgICAgaWYgKCFmcmFtZS5wYXlsb2FkTGVuZ3RoKQorICAgICAg
ICAgICAgbV9jbG9zZUV2ZW50Q29kZSA9IENsb3NlRXZlbnRDb2RlTm9TdGF0dXNSY3ZkOworICAg
ICAgICBlbHNlIGlmIChmcmFtZS5wYXlsb2FkTGVuZ3RoID09IDEpIHsKKyAgICAgICAgICAgIG1f
Y2xvc2VFdmVudENvZGUgPSBDbG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKKyAgICAgICAg
ICAgIGZhaWwoIlJlY2VpdmUgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFpbmluZyBhbiBpbnZh
bGlkIHNpemUgYm9keS4iKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgaGlnaEJ5dGUgPSBzdGF0aWNfY2FzdDx1
bnNpZ25lZCBjaGFyPihmcmFtZS5wYXlsb2FkWzBdKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIgbG93Qnl0ZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KGZyYW1lLnBheWxvYWRbMV0p
OwogICAgICAgICAgICAgbV9jbG9zZUV2ZW50Q29kZSA9IGhpZ2hCeXRlIDw8IDggfCBsb3dCeXRl
OwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1fY2xvc2VFdmVudENvZGUgPSBDbG9zZUV2
ZW50Q29kZU5vU3RhdHVzUmN2ZDsKKyAgICAgICAgICAgIGlmIChtX2Nsb3NlRXZlbnRDb2RlID09
IENsb3NlRXZlbnRDb2RlTm9TdGF0dXNSY3ZkIHx8IG1fY2xvc2VFdmVudENvZGUgPT0gQ2xvc2VF
dmVudENvZGVBYm5vcm1hbENsb3N1cmUgfHwgbV9jbG9zZUV2ZW50Q29kZSA9PSBDbG9zZUV2ZW50
Q29kZVRMU0hhbmRzaGFrZSkgeworICAgICAgICAgICAgICAgIG1fY2xvc2VFdmVudENvZGUgPSBD
bG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKKyAgICAgICAgICAgICAgICBmYWlsKCJSZWNl
aXZlIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYSByZXNlcnZlZCBzdGF0dXMgY29k
ZS4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KICAgICAgICAgaWYgKGZyYW1lLnBheWxvYWRMZW5ndGggPj0gMykKICAgICAgICAgICAg
IG1fY2xvc2VFdmVudFJlYXNvbiA9IFN0cmluZzo6ZnJvbVVURjgoJmZyYW1lLnBheWxvYWRbMl0s
IGZyYW1lLnBheWxvYWRMZW5ndGggLSAyKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMGI3
NjA3ZmZiYjZmODUxN2ZiOGEyMzMwODI5OGNhZmM1MmRhMDJjZS4uMzFlNDcwYWE5NGUzYmQ3Zjc4
MTljMGFiOTZkZTVkYWRkNDZkNzhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0xMDIsNyArMTAyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgQ2xvc2VFdmVudENvZGVGcmFtZVRvb0xhcmdlID0gMTAwNCwKICAgICAg
ICAgQ2xvc2VFdmVudENvZGVOb1N0YXR1c1JjdmQgPSAxMDA1LAogICAgICAgICBDbG9zZUV2ZW50
Q29kZUFibm9ybWFsQ2xvc3VyZSA9IDEwMDYsCi0gICAgICAgIENsb3NlRXZlbnRDb2RlSW52YWxp
ZFVURjggPSAxMDA3LAorICAgICAgICBDbG9zZUV2ZW50Q29kZUludmFsaWRGcmFtZVBheWxvYWRE
YXRhID0gMTAwNywKKyAgICAgICAgQ2xvc2VFdmVudENvZGVQb2xpY3lWaW9sYXRpb24gPSAxMDA4
LAorICAgICAgICBDbG9zZUV2ZW50Q29kZU1lc3NhZ2VUb29CaWcgPSAxMDA5LAorICAgICAgICBD
bG9zZUV2ZW50Q29kZU1hbmRhdG9yeUV4dCA9IDEwMTAsCisgICAgICAgIENsb3NlRXZlbnRDb2Rl
SW50ZXJuYWxFcnJvciA9IDEwMTEsCisgICAgICAgIENsb3NlRXZlbnRDb2RlVExTSGFuZHNoYWtl
ID0gMTAxNSwKICAgICAgICAgQ2xvc2VFdmVudENvZGVNaW5pbXVtVXNlckRlZmluZWQgPSAzMDAw
LAogICAgICAgICBDbG9zZUV2ZW50Q29kZU1heGltdW1Vc2VyRGVmaW5lZCA9IDQ5OTkKICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU29ja2V0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQuaAppbmRleCBmMmExNDBj
ZmFhZjM4ZjA1MmU1YTYyMzg4ZmMwNzJkODJjMDNjNGFiLi5lM2RiMzI0MjdjMTQ5NDA3NDM5ZmYy
OWRmNDcxMTJiMzI4OTY1MWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
b2NrZXQuaApAQCAtNTUsNyArNTUsMTIgQEAgcHVibGljOgogICAgICAgICBDbG9zZUV2ZW50Q29k
ZUZyYW1lVG9vTGFyZ2UgPSAxMDA0LAogICAgICAgICBDbG9zZUV2ZW50Q29kZU5vU3RhdHVzUmN2
ZCA9IDEwMDUsCiAgICAgICAgIENsb3NlRXZlbnRDb2RlQWJub3JtYWxDbG9zdXJlID0gMTAwNiwK
LSAgICAgICAgQ2xvc2VFdmVudENvZGVJbnZhbGlkVVRGOCA9IDEwMDcsCisgICAgICAgIENsb3Nl
RXZlbnRDb2RlSW52YWxpZEZyYW1lUGF5bG9hZERhdGEgPSAxMDA3LAorICAgICAgICBDbG9zZUV2
ZW50Q29kZVBvbGljeVZpb2xhdGlvbiA9IDEwMDgsCisgICAgICAgIENsb3NlRXZlbnRDb2RlTWVz
c2FnZVRvb0JpZyA9IDEwMDksCisgICAgICAgIENsb3NlRXZlbnRDb2RlTWFuZGF0b3J5RXh0ID0g
MTAxMCwKKyAgICAgICAgQ2xvc2VFdmVudENvZGVJbnRlcm5hbEVycm9yID0gMTAxMSwKKyAgICAg
ICAgQ2xvc2VFdmVudENvZGVUTFNIYW5kc2hha2UgPSAxMDE1LAogICAgICAgICBDbG9zZUV2ZW50
Q29kZU1pbmltdW1Vc2VyRGVmaW5lZCA9IDMwMDAsCiAgICAgICAgIENsb3NlRXZlbnRDb2RlTWF4
aW11bVVzZXJEZWZpbmVkID0gNDk5OQogICAgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDI5MjA0MmZiOTE1ZTNlMzIx
N2NhNjE1ZjM5NDkyMGNiNDBhODRhNy4uYmYwNTg3YTZkNjYxOGUwMWQwM2U5MTNiNzE1ZDBhNjk5
NDdiMDNjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTIyICBUYWthc2hpIFRveW9z
aGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0XSBSZWNl
aXZpbmcgcmVzZXJ2ZWQgY2xvc2UgY29kZXMsIDEwMDUsIDEwMDYsIGFuZCAxMDE1IG11c3QgYXBw
ZWFyIGFzIGNvZGU9MTAwNiBhbmQgd2FzQ2xlYW49ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgY2FzZXMgd2hlcmUgc2VydmVyIGlu
aXRpYXRlcyBhIGNsb3NpbmcgaGFuZHNoYWtlIHdpdGggZm9yYmlkZGVuIHN0YXR1cyBjb2Rlcy4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1h
bmQtcmVhc29uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1jb2RlLWFuZC1yZWFzb24tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9yZXNvdXJjZXMvY2xvc2UtY29kZS1hbmQtcmVhc29uLmpzOgorICAgICAgICAoV2ViU29j
a2V0VGVzdC5wcm90b3R5cGUub25jbG9zZSk6CisKIDIwMTItMDUtMTggIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04Njg1OQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFu
ZC1yZWFzb24tZXhwZWN0ZWQudHh0CmluZGV4IGRmNjY2OGJiMjBkMDBjN2IyNTEwYTUzMjYzYmU4
NGY0ZjYxMDgwMGYuLjM0MDdkNmQ5ODJmNWU5NTI2ODFjMWZlMDA5OTIwNGI4NjI2NmNkYWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xv
c2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw4IEBACiBDT05TT0xFIE1FU1NBR0U6IFdlYlNvY2tldCBpcyBjbG9zZWQg
YmVmb3JlIHRoZSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLgorQ09OU09MRSBNRVNTQUdFOiBS
ZWNlaXZlIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYW4gaW52YWxpZCBzaXplIGJv
ZHkuCitDT05TT0xFIE1FU1NBR0U6IFJlY2VpdmUgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFp
bmluZyBhIHJlc2VydmVkIHN0YXR1cyBjb2RlLgorQ09OU09MRSBNRVNTQUdFOiBSZWNlaXZlIGEg
YnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYSByZXNlcnZlZCBzdGF0dXMgY29kZS4KK0NP
TlNPTEUgTUVTU0FHRTogUmVjZWl2ZSBhIGJyb2tlbiBjbG9zZSBmcmFtZSBjb250YWluaW5nIGEg
cmVzZXJ2ZWQgc3RhdHVzIGNvZGUuCiBUZXN0IENsb3NlRXZlbnQgY29kZSBhbmQgcmVhc29uIHBy
b3BlcnR5LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC05LDIzICsxMyw1OCBAQCBQ
QVNTIGNsb3NlRXZlbnQuY29kZSBpcyBjb2RlQWJub3JtYWxDbG9zdXJlCiBQQVNTIGNsb3NlRXZl
bnQucmVhc29uIGlzIGVtcHR5U3RyaW5nCiBXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxs
ZWQgd2l0aCB0ZXN0SWQgPSAwLgogV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3
aXRoIHRlc3RJZCA9IDAuCi1QQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBj
bG9zZUV2ZW50Lndhc0NsZWFuIGlzIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQogUEFTUyBjbG9z
ZUV2ZW50LmNvZGUgaXMgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVudC5yZWFz
b24gaXMgZXhwZWN0ZWRSZWFzb25bdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlz
IGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXQogUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgZXhwZWN0
ZWRDb2RlW3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgZXhwZWN0ZWRSZWFzb25b
dGVzdElkXQogV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0g
MS4KIFdlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAxLgot
UEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVh
biBpcyBleHBlY3RlZFdhc0NsZWFuW3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4
cGVjdGVkQ29kZVt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVh
c29uW3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBleHBlY3RlZFdhc0NsZWFu
W3Rlc3RJZF0KIFBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCiBQ
QVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KIFdlYlNvY2tl
dFRlc3Qub25vcGVuKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDIuCiBXZWJTb2NrZXRUZXN0
Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMi4KLVBBU1MgY2xvc2VFdmVudC53
YXNDbGVhbiBpcyB0cnVlCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXND
bGVhblt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElk
XQogUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCitQQVNT
IGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCitQQVNTIGNs
b3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LnJl
YXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCitXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdh
cyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAzLgorV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNh
bGxlZCB3aXRoIHRlc3RJZCA9IDMuCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0
ZWRXYXNDbGVhblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVb
dGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRd
CitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCitQ
QVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQorUEFTUyBjbG9zZUV2
ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCitXZWJTb2NrZXRUZXN0Lm9ub3Bl
bigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA0LgorV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkg
d2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDQuCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMg
ZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3Rl
ZENvZGVbdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0
ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0
SWRdCitQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQorUEFTUyBj
bG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCitXZWJTb2NrZXRUZXN0
Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA1LgorV2ViU29ja2V0VGVzdC5vbmNs
b3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDUuCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xl
YW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBl
eHBlY3RlZENvZGVbdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJl
YXNvblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVh
blt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQor
UEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCitXZWJTb2Nr
ZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA2LgorV2ViU29ja2V0VGVz
dC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDYuCitQQVNTIGNsb3NlRXZlbnQu
d2FzQ2xlYW4gaXMgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQuY29k
ZSBpcyBleHBlY3RlZENvZGVbdGVzdElkXQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBl
Y3RlZFJlYXNvblt0ZXN0SWRdCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZXhwZWN0ZWRX
YXNDbGVhblt0ZXN0SWRdCiBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBleHBlY3RlZENvZGVbdGVz
dElkXQogUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyBleHBlY3RlZFJlYXNvblt0ZXN0SWRdCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2Rl
LWFuZC1yZWFzb24uaHRtbAppbmRleCA1NTVjNWUzYWI4NjVjNWYxOTlhNmRmZGE3MzNiZTAxNjdl
Y2U5YWJhLi40YTkyNGRmOTBlNjVkMTM5MmJkZWFiM2ExNzczNWRhZGQ4N2Y2NjFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNv
ZGUtYW5kLXJlYXNvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLmh0bWwKQEAgLTE0LDYgKzE0LDcgQEAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJs
ZWQiLCAwKTsKIAogdmFyIGNsb3NlRXZlbnQ7Cit2YXIgY29kZU5vcm1hbENsb3N1cmUgPSAxMDAw
OwogdmFyIGNvZGVOb1N0YXR1c1JjdmQgPSAxMDA1OwogdmFyIGNvZGVBYm5vcm1hbENsb3N1cmUg
PSAxMDA2OwogdmFyIGVtcHR5U3RyaW5nID0gIiI7CkBAIC0zNywyMiArMzgsNDMgQEAgd3Mub25j
bG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogd3MuY2xvc2UoKTsKIAogdmFyIHRlc3RJZCA9IDA7Ci12
YXIgdGVzdE51bSA9IDM7Cit2YXIgdGVzdE51bSA9IDc7CiB2YXIgc2VuZERhdGEgPSBbCiAgICAg
Ii0iLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGhvdXQgY29kZSBhbmQgcmVhc29uCiAgICAg
Ii0tIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRoIGludmFsaWQgYm9keSB3aGljaCBzaXpl
IGlzIDEKKyAgICAiMTAwMCBvayIsICAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggY29kZSAx
MDAwIGFuZCByZWFzb24KKyAgICAiMTAwNSBmb28iLCAgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3
aXRoIGZvcmJpZGRlbiBjb2RlIDEwMDUgYW5kIHJlYXNvbgorICAgICIxMDA2IGJhciIsICAvLyBy
ZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggZm9yYmlkZGVuIGNvZGUgMTAwNiBhbmQgcmVhc29uCisg
ICAgIjEwMTUgYmF6IiwgIC8vIHJlcXVlc3QgY2xvZGUgZnJhbWUgd2l0aCBmb3JiaWRkZW4gY29k
ZSAxMDE1IGFuZCByZWFzb24KICAgICAiNjU1MzUgZ29vZCBieWUiLCAvLyByZXF1ZXN0IGNsb3Nl
IGZyYW1lIHdpdGggc3BlY2lmaWVkIGNvZGUgYW5kIHJlYXNvbgogXTsKIHZhciBleHBlY3RlZENv
ZGUgPSBbCiAgICAgY29kZU5vU3RhdHVzUmN2ZCwKLSAgICBjb2RlTm9TdGF0dXNSY3ZkLAorICAg
IGNvZGVBYm5vcm1hbENsb3N1cmUsCisgICAgY29kZU5vcm1hbENsb3N1cmUsCisgICAgY29kZUFi
bm9ybWFsQ2xvc3VyZSwKKyAgICBjb2RlQWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVBYm5vcm1h
bENsb3N1cmUsCiAgICAgNjU1MzUsCiBdOwogdmFyIGV4cGVjdGVkUmVhc29uID0gWwogICAgICIi
LAogICAgICIiLAorICAgICJvayIsCisgICAgIiIsCisgICAgIiIsCisgICAgIiIsCiAgICAgImdv
b2QgYnllIiwKIF07Cit2YXIgZXhwZWN0ZWRXYXNDbGVhbiA9IFsKKyAgICB0cnVlLAorICAgIGZh
bHNlLAorICAgIHRydWUsCisgICAgZmFsc2UsCisgICAgZmFsc2UsCisgICAgZmFsc2UsCisgICAg
dHJ1ZSwKK107CiAKIFdlYlNvY2tldFRlc3QgPSBmdW5jdGlvbigpIHsKICAgICB0aGlzLndzID0g
bmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9j
bG9zZS1jb2RlLWFuZC1yZWFzb24iKTsKQEAgLTc2LDExICs5OCwxMyBAQCBXZWJTb2NrZXRUZXN0
LnByb3RvdHlwZS5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgY2xvc2VFdmVudCA9
IGV2ZW50OwogICAgIGRlYnVnKCJXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdp
dGggdGVzdElkID0gIiArIHRlc3RJZCArICIuIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJjbG9zZUV2
ZW50Lndhc0NsZWFuIik7CisgICAgc2hvdWxkQmUoImNsb3NlRXZlbnQud2FzQ2xlYW4iLCAiZXhw
ZWN0ZWRXYXNDbGVhblt0ZXN0SWRdIik7CiAgICAgc2hvdWxkQmUoImNsb3NlRXZlbnQuY29kZSIs
ICJleHBlY3RlZENvZGVbdGVzdElkXSIpOwogICAgIHNob3VsZEJlKCJjbG9zZUV2ZW50LnJlYXNv
biIsICJleHBlY3RlZFJlYXNvblt0ZXN0SWRdIik7CiAgICAgY2xvc2VFdmVudC5jb2RlID0gMDsK
ICAgICBjbG9zZUV2ZW50LnJlYXNvbiA9ICJyZWFkb25seSI7CisgICAgY2xvc2VFdmVudC53YXND
bGVhbiA9ICFjbG9zZUV2ZW50Lndhc0NsZWFuOworICAgIHNob3VsZEJlKCJjbG9zZUV2ZW50Lndh
c0NsZWFuIiwgImV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSIpOwogICAgIHNob3VsZEJlKCJjbG9z
ZUV2ZW50LmNvZGUiLCAiZXhwZWN0ZWRDb2RlW3Rlc3RJZF0iKTsKICAgICBzaG91bGRCZSgiY2xv
c2VFdmVudC5yZWFzb24iLCAiZXhwZWN0ZWRSZWFzb25bdGVzdElkXSIpOwogICAgIHRlc3RJZCsr
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS93b3JrZXJzL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtY29kZS1hbmQt
cmVhc29uLWV4cGVjdGVkLnR4dAppbmRleCBhZTBlZjk4MDFiNjcyOWFkYzE1ZjdjZjUyNDZjOGFl
OWUyM2IwZTljLi4yMTlmYWJkMTA1MjkyYTdmNGEyNWM2ODQ0NTZiOTU5NThkZTNkZTM1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtl
cnMvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtY29kZS1hbmQtcmVh
c29uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDggQEAKIENPTlNPTEUgTUVTU0FHRTogV2ViU29j
a2V0IGlzIGNsb3NlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitDT05T
T0xFIE1FU1NBR0U6IFJlY2VpdmUgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFpbmluZyBhbiBp
bnZhbGlkIHNpemUgYm9keS4KK0NPTlNPTEUgTUVTU0FHRTogUmVjZWl2ZSBhIGJyb2tlbiBjbG9z
ZSBmcmFtZSBjb250YWluaW5nIGEgcmVzZXJ2ZWQgc3RhdHVzIGNvZGUuCitDT05TT0xFIE1FU1NB
R0U6IFJlY2VpdmUgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFpbmluZyBhIHJlc2VydmVkIHN0
YXR1cyBjb2RlLgorQ09OU09MRSBNRVNTQUdFOiBSZWNlaXZlIGEgYnJva2VuIGNsb3NlIGZyYW1l
IGNvbnRhaW5pbmcgYSByZXNlcnZlZCBzdGF0dXMgY29kZS4KIFRlc3QgQ2xvc2VFdmVudCBjb2Rl
IGFuZCByZWFzb24gcHJvcGVydHkgaW4gV29ya2VyLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCkBAIC0xMiwyMCArMTYsNTUgQEAgV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxl
ZCB3aXRoIHRlc3RJZCA9IDAuCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMg
dHJ1ZQogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNQogUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVh
biBpcyB0cnVlCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyAxMDA1CiBQQVNTIFBB
U1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAogV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMg
Y2FsbGVkIHdpdGggdGVzdElkID0gMS4KIFdlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxs
ZWQgd2l0aCB0ZXN0SWQgPSAxLgotUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlz
IHRydWUKLVBBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDUKK1BBU1MgUEFTUzog
d29ya2VyOiBldmVudC53YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50
LmNvZGUgaXMgMTAwNgogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKLVBBU1Mg
UEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDUKK1BBU1MgUEFTUzogd29ya2VyOiBldmVu
dC53YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAw
NgogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKIFdlYlNvY2tldFRlc3Qub25v
cGVuKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDIuCiBXZWJTb2NrZXRUZXN0Lm9uY2xvc2Uo
KSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMi4KIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC53
YXNDbGVhbiBpcyB0cnVlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyAxMDAwCitQ
QVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIG9rCitQQVNTIFBBU1M6IHdvcmtlcjog
ZXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMg
MTAwMAorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyBvaworV2ViU29ja2V0VGVz
dC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMy4KK1dlYlNvY2tldFRlc3Qub25j
bG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAzLgorUEFTUyBQQVNTOiB3b3JrZXI6IGV2
ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyAx
MDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorUEFTUyBQQVNTOiB3b3Jr
ZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29k
ZSBpcyAxMDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorV2ViU29ja2V0
VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNC4KK1dlYlNvY2tldFRlc3Qu
b25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA0LgorUEFTUyBQQVNTOiB3b3JrZXI6
IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBp
cyAxMDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQu
Y29kZSBpcyAxMDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorV2ViU29j
a2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNS4KK1dlYlNvY2tldFRl
c3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA1LgorUEFTUyBQQVNTOiB3b3Jr
ZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29k
ZSBpcyAxMDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorUEFTUyBQQVNT
OiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCitQQVNTIFBBU1M6IHdvcmtlcjogZXZl
bnQuY29kZSBpcyAxMDA2CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIAorV2Vi
U29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNi4KK1dlYlNvY2tl
dFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA2LgorUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5j
b2RlIGlzIDY1NTM1CiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIGdvb2QgYnll
CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQogUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50LmNvZGUgaXMgNjU1MzUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5yZWFz
b24gaXMgZ29vZCBieWUKIERPTkUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtY29kZS1hbmQtcmVh
c29uLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL3Jlc291cmNlcy9jbG9zZS1jb2RlLWFuZC1yZWFzb24uanMKaW5kZXggYzU0MGZmMjNhZTQ5
OTZmMjYyMDE1ODQyZDYxMjI5NzIzOTQxMGIxMC4uNmU4OTdjOTMyMzcxYTA4NmFhZWEwYmQ2Nzg0
YzVjMzg4OWFmM2IwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1jb2RlLWFuZC1yZWFzb24uanMK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJz
L3Jlc291cmNlcy9jbG9zZS1jb2RlLWFuZC1yZWFzb24uanMKQEAgLTEsMyArMSw0IEBACit2YXIg
Y29kZU5vcm1hbENsb3N1cmUgPSAxMDAwOwogdmFyIGNvZGVOb1N0YXR1c1JjdmQgPSAxMDA1Owog
dmFyIGNvZGVBYm5vcm1hbENsb3N1cmUgPSAxMDA2OwogdmFyIGVtcHR5U3RyaW5nID0gIiI7CkBA
IC0zMCwyMiArMzEsNDMgQEAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogd3MuY2xvc2Uo
KTsKIAogdmFyIHRlc3RJZCA9IDA7Ci12YXIgdGVzdE51bSA9IDM7Cit2YXIgdGVzdE51bSA9IDc7
CiB2YXIgc2VuZERhdGEgPSBbCiAgICAgIi0iLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGhv
dXQgY29kZSBhbmQgcmVhc29uCiAgICAgIi0tIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRo
IGludmFsaWQgYm9keSB3aGljaCBzaXplIGlzIDEKKyAgICAiMTAwMCBvayIsIC8vIHJlcXVlc3Qg
Y2xvc2UgZnJhbWUgd2l0aCBjb2RlIDEwMDAgYW5kIHJlYXNvbgorICAgICIxMDA1IGZvbyIsIC8v
IHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBmb3JiaWRkZW4gY29kZSAxMDA1IGFuZCByZWFzb24K
KyAgICAiMTAwNiBiYXIiLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggZm9yYmlkZGVuIGNv
ZGUgMTAwNiBhbmQgcmVhc29uCisgICAgIjEwMTUgYmF6IiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFt
ZSB3aXRoIGZvcmJpZGRlbiBjb2RlIDEwMTUgYW5kIHJlYXNvbgogICAgICI2NTUzNSBnb29kIGJ5
ZSIsIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBzcGVjaWZpZWQgY29kZSBhbmQgcmVhc29u
CiBdOwogdmFyIGV4cGVjdGVkQ29kZSA9IFsKICAgICBjb2RlTm9TdGF0dXNSY3ZkLAotICAgIGNv
ZGVOb1N0YXR1c1JjdmQsCisgICAgY29kZUFibm9ybWFsQ2xvc3VyZSwKKyAgICBjb2RlTm9ybWFs
Q2xvc3VyZSwKKyAgICBjb2RlQWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVBYm5vcm1hbENsb3N1
cmUsCisgICAgY29kZUFibm9ybWFsQ2xvc3VyZSwKICAgICA2NTUzNSwKIF07CiB2YXIgZXhwZWN0
ZWRSZWFzb24gPSBbCiAgICAgIiIsCiAgICAgIiIsCisgICAgIm9rIiwKKyAgICAiIiwKKyAgICAi
IiwKKyAgICAiIiwKICAgICAiZ29vZCBieWUiLAogXTsKK3ZhciBleHBlY3RlZFdhc0NsZWFuID0g
WworICAgIHRydWUsCisgICAgZmFsc2UsCisgICAgdHJ1ZSwKKyAgICBmYWxzZSwKKyAgICBmYWxz
ZSwKKyAgICBmYWxzZSwKKyAgICB0cnVlLAorXTsKIAogV2ViU29ja2V0VGVzdCA9IGZ1bmN0aW9u
KCkgewogICAgIHRoaXMud3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbiIpOwpAQCAtNjgsMTEgKzkw
LDEzIEBAIFdlYlNvY2tldFRlc3QucHJvdG90eXBlLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50
KQogV2ViU29ja2V0VGVzdC5wcm90b3R5cGUub25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogewog
ICAgIHBvc3RNZXNzYWdlKCJXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdpdGgg
dGVzdElkID0gIiArIHRlc3RJZCArICIuIik7Ci0gICAgcG9zdFJlc3VsdChldmVudC53YXNDbGVh
biwgImV2ZW50Lndhc0NsZWFuIiwgInRydWUiKTsKKyAgICBwb3N0UmVzdWx0KGV2ZW50Lndhc0Ns
ZWFuID09IGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSwgImV2ZW50Lndhc0NsZWFuIiwgZXhwZWN0
ZWRXYXNDbGVhblt0ZXN0SWRdKTsKICAgICBwb3N0UmVzdWx0KGV2ZW50LmNvZGUgPT0gZXhwZWN0
ZWRDb2RlW3Rlc3RJZF0sICJldmVudC5jb2RlIiwgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0pOwogICAg
IHBvc3RSZXN1bHQoZXZlbnQucmVhc29uID09IGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0sICJldmVu
dC5yZWFzb24iLCBleHBlY3RlZFJlYXNvblt0ZXN0SWRdKTsKICAgICBldmVudC5jb2RlID0gMDsK
ICAgICBldmVudC5yZWFzb24gPSAicmVhZG9ubHkiOworICAgIGV2ZW50Lndhc0NsZWFuID0gIWV2
ZW50Lndhc0NsZWFuOworICAgIHBvc3RSZXN1bHQoZXZlbnQud2FzQ2xlYW4gPT0gZXhwZWN0ZWRX
YXNDbGVhblt0ZXN0SWRdLCAiZXZlbnQud2FzQ2xlYW4iLCBleHBlY3RlZFdhc0NsZWFuW3Rlc3RJ
ZF0pOwogICAgIHBvc3RSZXN1bHQoZXZlbnQuY29kZSA9PSBleHBlY3RlZENvZGVbdGVzdElkXSwg
ImV2ZW50LmNvZGUiLCBleHBlY3RlZENvZGVbdGVzdElkXSk7CiAgICAgcG9zdFJlc3VsdChldmVu
dC5yZWFzb24gPT0gZXhwZWN0ZWRSZWFzb25bdGVzdElkXSwgImV2ZW50LnJlYXNvbiIsIGV4cGVj
dGVkUmVhc29uW3Rlc3RJZF0pOwogICAgIHRlc3RJZCsrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143993</attachid>
            <date>2012-05-25 00:37:44 -0700</date>
            <delta_ts>2012-05-28 22:15:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87084-20120525163743.patch</filename>
            <type>text/plain</type>
            <size>21216</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVlZjE4YzFlOThkMDYw
YWZkZmEzMDlkOTJkYTZlYzgzM2JlMmUyOC4uNGJmYWRiNzc0ZThjMmVlNjc2ZTI4MjRjZTMxNWEy
OTA3MzczMWY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTIyICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29j
a2V0XSBSZWNlaXZpbmcgcmVzZXJ2ZWQgY2xvc2UgY29kZXMsIDEwMDUsIDEwMDYsIGFuZCAxMDE1
IG11c3QgYXBwZWFyIGFzIGNvZGU9MTAwNiBhbmQgd2FzQ2xlYW49ZmFsc2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MDg0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhdHVzIGNvZGVzIDEwMDUsIDEw
MDYsIGFuZCAxMDE1IGFyZSBmb3JiaWRkZW4gdG8gYmUgc2VudCBpbiBhY3R1YWwgY2xvc2UgZnJh
bWVzLgorICAgICAgICBJZiBhIGNsaWVudCByZWNlaXZlZCB0aGVzZSBmcmFtZXMsIHRoZSBjbGll
bnQgc2hvdWxkIGhhbmRsZSB0aGVtIGFzIGJyb2tlbi4KKyAgICAgICAgQ2xvc2UgZnJhbWVzIGNv
bnRhaW5pbmcgaW52YWxpZCBib2R5IHNpemUgYXJlIHRoZSBzYW1lIGFzIHRoZXNlIGZvcmJpZGRl
biBjYXNlcy4KKyAgICAgICAgVXBkYXRlIGNsb3NlLWNvZGUtYW5kLXJlYXNvbiB0ZXN0cyB0byB2
ZXJpZnkgdGhpcyBwYXRjaC4KKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwOiBIYW5kbGUgQWJub3JtYWxDbG9zdXJlIGFzIHdhc0NsZWFuID09IGZhbHNlCisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRpZENsb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6IEhhbmRsZSBjbG9zZSBmcmFtZXMnIHN0YXR1
cyBjb2RlIGNhcmVmdWxseQorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6cHJv
Y2Vzc0ZyYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oOiBVcGRhdGUgb24gbmV3bHkgZGVmaW5lZCBjbG9zZSBldmVudCBjb2RlcworCiAyMDEyLTA1
LTE4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEFkZCByZXNvdXJjZSB0byBVSVNvdXJjZUNvZGUgY29uc3RydWN0b3IuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY1MTU3ODYwZDA1OTYxNjM2ZjRjMzNhMDY2ZWY1
OWI0ZWJmMjIzNTEuLmZlZDI0OTU4YjA4NjVhYmUzYjI2YTY4M2E4NjEyNjhlYmNhYmE5ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMjIgIFRh
a2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJT
b2NrZXRdIFJlY2VpdmluZyByZXNlcnZlZCBjbG9zZSBjb2RlcywgMTAwNSwgMTAwNiwgYW5kIDEw
MTUgbXVzdCBhcHBlYXIgYXMgY29kZT0xMDA2IGFuZCB3YXNDbGVhbj1mYWxzZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwODQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgY2xvc2UgZXZlbnQg
Y29kZXMgY29ycmVzcG9uZGluZyB0byBXZWJTb2NrZXRDaGFubmVsOjpDbG9zZUV2ZW50Q29kZS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJTb2NrZXQuaDogVXBkYXRlIG9uIG5ld2x5IGRlZmluZWQg
Y2xvc2UgZXZlbnQgY29kZXMKKwogMjAxMi0wNS0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU1MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKaW5kZXggOTJmMWYyNmJhNTU1NjVkOGEzZmFmYjIwZWMyNjY2YjlhMzljYTg4My4u
YTgxYzJmZDU5NmNhYjI1Y2E4NTdmMzU4YTRjNDQ2ZWY5ZTIzMTdhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTU1Nyw2ICs1NTcs
OCBAQCB2b2lkIFdlYlNvY2tldDo6ZGlkQ2xvc2UodW5zaWduZWQgbG9uZyB1bmhhbmRsZWRCdWZm
ZXJlZEFtb3VudCwgQ2xvc2luZ0hhbmRzaGFrZQogICAgIGlmICghbV9jaGFubmVsKQogICAgICAg
ICByZXR1cm47CiAgICAgYm9vbCB3YXNDbGVhbiA9IG1fc3RhdGUgPT0gQ0xPU0lORyAmJiAhdW5o
YW5kbGVkQnVmZmVyZWRBbW91bnQgJiYgY2xvc2luZ0hhbmRzaGFrZUNvbXBsZXRpb24gPT0gQ2xv
c2luZ0hhbmRzaGFrZUNvbXBsZXRlOworICAgIGlmICghbV91c2VIaXhpZTc2UHJvdG9jb2wpCisg
ICAgICAgIHdhc0NsZWFuID0gd2FzQ2xlYW4gJiYgY29kZSAhPSBXZWJTb2NrZXRDaGFubmVsOjpD
bG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAg
IG1fYnVmZmVyZWRBbW91bnQgPSB1bmhhbmRsZWRCdWZmZXJlZEFtb3VudDsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA2MjMxZjY4ODg4MTRm
ODgxNGZlMjMwMTJiYWE2ZDVkZmM5ZTc3ZDQxLi4zN2EzNjlmZjQwNjcxNDY0ZGIyZjUxNDcwYTgx
ODJhZDU2NzFjOTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02NzIsMTIgKzY3MiwyMiBAQCBib29sIFdl
YlNvY2tldENoYW5uZWw6OnByb2Nlc3NGcmFtZSgpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBXZWJTb2NrZXRGcmFtZTo6T3BDb2RlQ2xvc2U6Ci0gICAgICAgIGlmIChmcmFtZS5wYXlsb2Fk
TGVuZ3RoID49IDIpIHsKKyAgICAgICAgaWYgKCFmcmFtZS5wYXlsb2FkTGVuZ3RoKQorICAgICAg
ICAgICAgbV9jbG9zZUV2ZW50Q29kZSA9IENsb3NlRXZlbnRDb2RlTm9TdGF0dXNSY3ZkOworICAg
ICAgICBlbHNlIGlmIChmcmFtZS5wYXlsb2FkTGVuZ3RoID09IDEpIHsKKyAgICAgICAgICAgIG1f
Y2xvc2VFdmVudENvZGUgPSBDbG9zZUV2ZW50Q29kZUFibm9ybWFsQ2xvc3VyZTsKKyAgICAgICAg
ICAgIGZhaWwoIlJlY2VpdmVkIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYW4gaW52
YWxpZCBzaXplIGJvZHkuIik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGhpZ2hCeXRlID0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQgY2hhcj4oZnJhbWUucGF5bG9hZFswXSk7CiAgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyIGxvd0J5dGUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihmcmFtZS5wYXlsb2FkWzFd
KTsKICAgICAgICAgICAgIG1fY2xvc2VFdmVudENvZGUgPSBoaWdoQnl0ZSA8PCA4IHwgbG93Qnl0
ZTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBtX2Nsb3NlRXZlbnRDb2RlID0gQ2xvc2VF
dmVudENvZGVOb1N0YXR1c1JjdmQ7CisgICAgICAgICAgICBpZiAobV9jbG9zZUV2ZW50Q29kZSA9
PSBDbG9zZUV2ZW50Q29kZU5vU3RhdHVzUmN2ZCB8fCBtX2Nsb3NlRXZlbnRDb2RlID09IENsb3Nl
RXZlbnRDb2RlQWJub3JtYWxDbG9zdXJlIHx8IG1fY2xvc2VFdmVudENvZGUgPT0gQ2xvc2VFdmVu
dENvZGVUTFNIYW5kc2hha2UpIHsKKyAgICAgICAgICAgICAgICBtX2Nsb3NlRXZlbnRDb2RlID0g
Q2xvc2VFdmVudENvZGVBYm5vcm1hbENsb3N1cmU7CisgICAgICAgICAgICAgICAgZmFpbCgiUmVj
ZWl2ZWQgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFpbmluZyBhIHJlc2VydmVkIHN0YXR1cyBj
b2RlLiIpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQogICAgICAgICBpZiAoZnJhbWUucGF5bG9hZExlbmd0aCA+PSAzKQogICAgICAgICAg
ICAgbV9jbG9zZUV2ZW50UmVhc29uID0gU3RyaW5nOjpmcm9tVVRGOCgmZnJhbWUucGF5bG9hZFsy
XSwgZnJhbWUucGF5bG9hZExlbmd0aCAtIDIpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCAw
Yjc2MDdmZmJiNmY4NTE3ZmI4YTIzMzA4Mjk4Y2FmYzUyZGEwMmNlLi4zMWU0NzBhYTk0ZTNiZDdm
NzgxOWMwYWI5NmRlNWRhZGQ0NmQ3OGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTEwMiw3ICsxMDIsMTIgQEAg
cHVibGljOgogICAgICAgICBDbG9zZUV2ZW50Q29kZUZyYW1lVG9vTGFyZ2UgPSAxMDA0LAogICAg
ICAgICBDbG9zZUV2ZW50Q29kZU5vU3RhdHVzUmN2ZCA9IDEwMDUsCiAgICAgICAgIENsb3NlRXZl
bnRDb2RlQWJub3JtYWxDbG9zdXJlID0gMTAwNiwKLSAgICAgICAgQ2xvc2VFdmVudENvZGVJbnZh
bGlkVVRGOCA9IDEwMDcsCisgICAgICAgIENsb3NlRXZlbnRDb2RlSW52YWxpZEZyYW1lUGF5bG9h
ZERhdGEgPSAxMDA3LAorICAgICAgICBDbG9zZUV2ZW50Q29kZVBvbGljeVZpb2xhdGlvbiA9IDEw
MDgsCisgICAgICAgIENsb3NlRXZlbnRDb2RlTWVzc2FnZVRvb0JpZyA9IDEwMDksCisgICAgICAg
IENsb3NlRXZlbnRDb2RlTWFuZGF0b3J5RXh0ID0gMTAxMCwKKyAgICAgICAgQ2xvc2VFdmVudENv
ZGVJbnRlcm5hbEVycm9yID0gMTAxMSwKKyAgICAgICAgQ2xvc2VFdmVudENvZGVUTFNIYW5kc2hh
a2UgPSAxMDE1LAogICAgICAgICBDbG9zZUV2ZW50Q29kZU1pbmltdW1Vc2VyRGVmaW5lZCA9IDMw
MDAsCiAgICAgICAgIENsb3NlRXZlbnRDb2RlTWF4aW11bVVzZXJEZWZpbmVkID0gNDk5OQogICAg
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXQu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNvY2tldC5oCmluZGV4IGYyYTE0
MGNmYWFmMzhmMDUyZTVhNjIzODhmYzA3MmQ4MmMwM2M0YWIuLmUzZGIzMjQyN2MxNDk0MDc0Mzlm
ZjI5ZGY0NzExMmIzMjg5NjUxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNvY2tldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlNvY2tldC5oCkBAIC01NSw3ICs1NSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIENsb3NlRXZlbnRD
b2RlRnJhbWVUb29MYXJnZSA9IDEwMDQsCiAgICAgICAgIENsb3NlRXZlbnRDb2RlTm9TdGF0dXNS
Y3ZkID0gMTAwNSwKICAgICAgICAgQ2xvc2VFdmVudENvZGVBYm5vcm1hbENsb3N1cmUgPSAxMDA2
LAotICAgICAgICBDbG9zZUV2ZW50Q29kZUludmFsaWRVVEY4ID0gMTAwNywKKyAgICAgICAgQ2xv
c2VFdmVudENvZGVJbnZhbGlkRnJhbWVQYXlsb2FkRGF0YSA9IDEwMDcsCisgICAgICAgIENsb3Nl
RXZlbnRDb2RlUG9saWN5VmlvbGF0aW9uID0gMTAwOCwKKyAgICAgICAgQ2xvc2VFdmVudENvZGVN
ZXNzYWdlVG9vQmlnID0gMTAwOSwKKyAgICAgICAgQ2xvc2VFdmVudENvZGVNYW5kYXRvcnlFeHQg
PSAxMDEwLAorICAgICAgICBDbG9zZUV2ZW50Q29kZUludGVybmFsRXJyb3IgPSAxMDExLAorICAg
ICAgICBDbG9zZUV2ZW50Q29kZVRMU0hhbmRzaGFrZSA9IDEwMTUsCiAgICAgICAgIENsb3NlRXZl
bnRDb2RlTWluaW11bVVzZXJEZWZpbmVkID0gMzAwMCwKICAgICAgICAgQ2xvc2VFdmVudENvZGVN
YXhpbXVtVXNlckRlZmluZWQgPSA0OTk5CiAgICAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MjkyMDQyZmI5MTVlM2Uz
MjE3Y2E2MTVmMzk0OTIwY2I0MGE4NGE3Li5iZjA1ODdhNmQ2NjE4ZTAxZDAzZTkxM2I3MTVkMGE2
OTk0N2IwM2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDUtMjIgIFRha2FzaGkgVG95
b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJTb2NrZXRdIFJl
Y2VpdmluZyByZXNlcnZlZCBjbG9zZSBjb2RlcywgMTAwNSwgMTAwNiwgYW5kIDEwMTUgbXVzdCBh
cHBlYXIgYXMgY29kZT0xMDA2IGFuZCB3YXNDbGVhbj1mYWxzZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBjYXNlcyB3aGVyZSBzZXJ2ZXIg
aW5pdGlhdGVzIGEgY2xvc2luZyBoYW5kc2hha2Ugd2l0aCBmb3JiaWRkZW4gc3RhdHVzIGNvZGVz
LgorCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1jb2Rl
LWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1jb2RlLWFuZC1yZWFzb24uanM6CisgICAgICAgIChXZWJT
b2NrZXRUZXN0LnByb3RvdHlwZS5vbmNsb3NlKToKKwogMjAxMi0wNS0xOCAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg2ODU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUt
YW5kLXJlYXNvbi1leHBlY3RlZC50eHQKaW5kZXggZGY2NjY4YmIyMGQwMGM3YjI1MTBhNTMyNjNi
ZTg0ZjRmNjEwODAwZi4uZTYyNzlkMjllZGRmYmI0NGE3MGU1ZmFjODlhN2I4ZGU0M2VhM2ViYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9j
bG9zZS1jb2RlLWFuZC1yZWFzb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDggQEAKIENPTlNPTEUgTUVTU0FHRTogV2ViU29ja2V0IGlzIGNsb3Nl
ZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitDT05TT0xFIE1FU1NBR0U6
IFJlY2VpdmVkIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYW4gaW52YWxpZCBzaXpl
IGJvZHkuCitDT05TT0xFIE1FU1NBR0U6IFJlY2VpdmVkIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNv
bnRhaW5pbmcgYSByZXNlcnZlZCBzdGF0dXMgY29kZS4KK0NPTlNPTEUgTUVTU0FHRTogUmVjZWl2
ZWQgYSBicm9rZW4gY2xvc2UgZnJhbWUgY29udGFpbmluZyBhIHJlc2VydmVkIHN0YXR1cyBjb2Rl
LgorQ09OU09MRSBNRVNTQUdFOiBSZWNlaXZlZCBhIGJyb2tlbiBjbG9zZSBmcmFtZSBjb250YWlu
aW5nIGEgcmVzZXJ2ZWQgc3RhdHVzIGNvZGUuCiBUZXN0IENsb3NlRXZlbnQgY29kZSBhbmQgcmVh
c29uIHByb3BlcnR5LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC05LDI1ICsxMyw3
NCBAQCBQQVNTIGNsb3NlRXZlbnQuY29kZSBpcyBjb2RlQWJub3JtYWxDbG9zdXJlCiBQQVNTIGNs
b3NlRXZlbnQucmVhc29uIGlzIGVtcHR5U3RyaW5nCiBXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdh
cyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAwLgogV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNh
bGxlZCB3aXRoIHRlc3RJZCA9IDAuCitQQVNTIHR5cGVvZiBjbG9zZUV2ZW50Lndhc0NsZWFuIGlz
ICdib29sZWFuJwogUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKLVBBU1MgY2xvc2VF
dmVudC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCi1QQVNTIGNsb3NlRXZlbnQucmVhc29u
IGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KLVBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVj
dGVkQ29kZVt0ZXN0SWRdCi1QQVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29u
W3Rlc3RJZF0KK1BBU1MgY2xvc2VFdmVudC5jb2RlIGlzIDEwMDUKK1BBU1MgY2xvc2VFdmVudC5y
ZWFzb24gaXMgJycKK1BBU1MgdHlwZW9mIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgJ2Jvb2xlYW4n
CitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBjbG9zZUV2ZW50LmNvZGUg
aXMgMTAwNQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnJwogV2ViU29ja2V0VGVzdC5vbm9w
ZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMS4KIFdlYlNvY2tldFRlc3Qub25jbG9zZSgp
IHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAxLgotUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlz
IHRydWUKLVBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCi1QQVNT
IGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KLVBBU1MgY2xvc2VF
dmVudC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCi1QQVNTIGNsb3NlRXZlbnQucmVhc29u
IGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KK1BBU1MgdHlwZW9mIGNsb3NlRXZlbnQud2FzQ2xl
YW4gaXMgJ2Jvb2xlYW4nCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BBU1Mg
Y2xvc2VFdmVudC5jb2RlIGlzIDEwMDYKK1BBU1MgY2xvc2VFdmVudC5yZWFzb24gaXMgJycKK1BB
U1MgdHlwZW9mIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgJ2Jvb2xlYW4nCitQQVNTIGNsb3NlRXZl
bnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BBU1MgY2xvc2VFdmVudC5jb2RlIGlzIDEwMDYKK1BBU1Mg
Y2xvc2VFdmVudC5yZWFzb24gaXMgJycKIFdlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNhbGxl
ZCB3aXRoIHRlc3RJZCA9IDIuCiBXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdp
dGggdGVzdElkID0gMi4KK1BBU1MgdHlwZW9mIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgJ2Jvb2xl
YW4nCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBjbG9zZUV2ZW50LmNv
ZGUgaXMgMTAwMAorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnb2snCitQQVNTIHR5cGVvZiBj
bG9zZUV2ZW50Lndhc0NsZWFuIGlzICdib29sZWFuJworUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFu
IGlzIHRydWUKK1BBU1MgY2xvc2VFdmVudC5jb2RlIGlzIDEwMDAKK1BBU1MgY2xvc2VFdmVudC5y
ZWFzb24gaXMgJ29rJworV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVz
dElkID0gMy4KK1dlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQg
PSAzLgorUEFTUyB0eXBlb2YgY2xvc2VFdmVudC53YXNDbGVhbiBpcyAnYm9vbGVhbicKK1BBU1Mg
Y2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgMTAw
NgorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnJworUEFTUyB0eXBlb2YgY2xvc2VFdmVudC53
YXNDbGVhbiBpcyAnYm9vbGVhbicKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxzZQor
UEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAn
JworV2ViU29ja2V0VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNC4KK1dl
YlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA0LgorUEFTUyB0
eXBlb2YgY2xvc2VFdmVudC53YXNDbGVhbiBpcyAnYm9vbGVhbicKK1BBU1MgY2xvc2VFdmVudC53
YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBjbG9z
ZUV2ZW50LnJlYXNvbiBpcyAnJworUEFTUyB0eXBlb2YgY2xvc2VFdmVudC53YXNDbGVhbiBpcyAn
Ym9vbGVhbicKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBjbG9zZUV2
ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnJworV2ViU29ja2V0
VGVzdC5vbm9wZW4oKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNS4KK1dlYlNvY2tldFRlc3Qu
b25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA1LgorUEFTUyB0eXBlb2YgY2xvc2VF
dmVudC53YXNDbGVhbiBpcyAnYm9vbGVhbicKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBm
YWxzZQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBjbG9zZUV2ZW50LnJlYXNv
biBpcyAnJworUEFTUyB0eXBlb2YgY2xvc2VFdmVudC53YXNDbGVhbiBpcyAnYm9vbGVhbicKK1BB
U1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxzZQorUEFTUyBjbG9zZUV2ZW50LmNvZGUgaXMg
MTAwNgorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnJworV2ViU29ja2V0VGVzdC5vbm9wZW4o
KSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gNi4KK1dlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdh
cyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSA2LgorUEFTUyB0eXBlb2YgY2xvc2VFdmVudC53YXNDbGVh
biBpcyAnYm9vbGVhbicKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIGNs
b3NlRXZlbnQuY29kZSBpcyA2NTUzNQorUEFTUyBjbG9zZUV2ZW50LnJlYXNvbiBpcyAnZ29vZCBi
eWUnCitQQVNTIHR5cGVvZiBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzICdib29sZWFuJwogUEFTUyBj
bG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKLVBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVj
dGVkQ29kZVt0ZXN0SWRdCi1QQVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29u
W3Rlc3RJZF0KLVBBU1MgY2xvc2VFdmVudC5jb2RlIGlzIGV4cGVjdGVkQ29kZVt0ZXN0SWRdCi1Q
QVNTIGNsb3NlRXZlbnQucmVhc29uIGlzIGV4cGVjdGVkUmVhc29uW3Rlc3RJZF0KK1BBU1MgY2xv
c2VFdmVudC5jb2RlIGlzIDY1NTM1CitQQVNTIGNsb3NlRXZlbnQucmVhc29uIGlzICdnb29kIGJ5
ZScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9z
ZS1jb2RlLWFuZC1yZWFzb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2UtY29kZS1hbmQtcmVhc29uLmh0bWwKaW5kZXggNTU1YzVlM2FiODY1
YzVmMTk5YTZkZmRhNzMzYmUwMTY3ZWNlOWFiYS4uZDBhOTkwNTA1YjE1MDBjOTk0Nzg4MTIwNDk5
Mjc2YWJkYjk0YzBkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jbG9zZS1jb2RlLWFuZC1yZWFzb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5o
dG1sCkBAIC0xNCw2ICsxNCw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CiAKIHZhciBjbG9zZUV2ZW50OwordmFyIGNv
ZGVOb3JtYWxDbG9zdXJlID0gMTAwMDsKIHZhciBjb2RlTm9TdGF0dXNSY3ZkID0gMTAwNTsKIHZh
ciBjb2RlQWJub3JtYWxDbG9zdXJlID0gMTAwNjsKIHZhciBlbXB0eVN0cmluZyA9ICIiOwpAQCAt
MzcsMjEgKzM4LDQyIEBAIHdzLm9uY2xvc2UgPSBmdW5jdGlvbihldmVudCkKIHdzLmNsb3NlKCk7
CiAKIHZhciB0ZXN0SWQgPSAwOwotdmFyIHRlc3ROdW0gPSAzOwordmFyIHRlc3ROdW0gPSA3Owog
dmFyIHNlbmREYXRhID0gWwogICAgICItIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRob3V0
IGNvZGUgYW5kIHJlYXNvbgogICAgICItLSIsIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBp
bnZhbGlkIGJvZHkgd2hpY2ggc2l6ZSBpcyAxCisgICAgIjEwMDAgb2siLCAgLy8gcmVxdWVzdCBj
bG9zZSBmcmFtZSB3aXRoIGNvZGUgMTAwMCBhbmQgcmVhc29uCisgICAgIjEwMDUgZm9vIiwgIC8v
IHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBmb3JiaWRkZW4gY29kZSAxMDA1IGFuZCByZWFzb24K
KyAgICAiMTAwNiBiYXIiLCAgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRoIGZvcmJpZGRlbiBj
b2RlIDEwMDYgYW5kIHJlYXNvbgorICAgICIxMDE1IGJheiIsICAvLyByZXF1ZXN0IGNsb2RlIGZy
YW1lIHdpdGggZm9yYmlkZGVuIGNvZGUgMTAxNSBhbmQgcmVhc29uCiAgICAgIjY1NTM1IGdvb2Qg
YnllIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRoIHNwZWNpZmllZCBjb2RlIGFuZCByZWFz
b24KIF07CiB2YXIgZXhwZWN0ZWRDb2RlID0gWwogICAgIGNvZGVOb1N0YXR1c1JjdmQsCi0gICAg
Y29kZU5vU3RhdHVzUmN2ZCwKKyAgICBjb2RlQWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVOb3Jt
YWxDbG9zdXJlLAorICAgIGNvZGVBYm5vcm1hbENsb3N1cmUsCisgICAgY29kZUFibm9ybWFsQ2xv
c3VyZSwKKyAgICBjb2RlQWJub3JtYWxDbG9zdXJlLAogICAgIDY1NTM1LAogXTsKIHZhciBleHBl
Y3RlZFJlYXNvbiA9IFsKLSAgICAiIiwKLSAgICAiIiwKLSAgICAiZ29vZCBieWUiLAorICAgICIn
JyIsCisgICAgIicnIiwKKyAgICAiJ29rJyIsCisgICAgIicnIiwKKyAgICAiJyciLAorICAgICIn
JyIsCisgICAgIidnb29kIGJ5ZSciLAorXTsKK3ZhciBleHBlY3RlZFdhc0NsZWFuID0gWworICAg
IHRydWUsCisgICAgZmFsc2UsCisgICAgdHJ1ZSwKKyAgICBmYWxzZSwKKyAgICBmYWxzZSwKKyAg
ICBmYWxzZSwKKyAgICB0cnVlLAogXTsKIAogV2ViU29ja2V0VGVzdCA9IGZ1bmN0aW9uKCkgewpA
QCAtNzYsMTMgKzk4LDE1IEBAIFdlYlNvY2tldFRlc3QucHJvdG90eXBlLm9uY2xvc2UgPSBmdW5j
dGlvbihldmVudCkKIHsKICAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7CiAgICAgZGVidWcoIldlYlNv
Y2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAiICsgdGVzdElkICsg
Ii4iKTsKLSAgICBzaG91bGRCZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKLSAgICBzaG91
bGRCZSgiY2xvc2VFdmVudC5jb2RlIiwgImV4cGVjdGVkQ29kZVt0ZXN0SWRdIik7Ci0gICAgc2hv
dWxkQmUoImNsb3NlRXZlbnQucmVhc29uIiwgImV4cGVjdGVkUmVhc29uW3Rlc3RJZF0iKTsKKyAg
ICBzaG91bGRFdmFsdWF0ZVRvKCJjbG9zZUV2ZW50Lndhc0NsZWFuIiwgZXhwZWN0ZWRXYXNDbGVh
blt0ZXN0SWRdKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJjbG9zZUV2ZW50LmNvZGUiLCBleHBl
Y3RlZENvZGVbdGVzdElkXSk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygiY2xvc2VFdmVudC5yZWFz
b24iLCBleHBlY3RlZFJlYXNvblt0ZXN0SWRdKTsKICAgICBjbG9zZUV2ZW50LmNvZGUgPSAwOwog
ICAgIGNsb3NlRXZlbnQucmVhc29uID0gInJlYWRvbmx5IjsKLSAgICBzaG91bGRCZSgiY2xvc2VF
dmVudC5jb2RlIiwgImV4cGVjdGVkQ29kZVt0ZXN0SWRdIik7Ci0gICAgc2hvdWxkQmUoImNsb3Nl
RXZlbnQucmVhc29uIiwgImV4cGVjdGVkUmVhc29uW3Rlc3RJZF0iKTsKKyAgICBjbG9zZUV2ZW50
Lndhc0NsZWFuID0gIWNsb3NlRXZlbnQud2FzQ2xlYW47CisgICAgc2hvdWxkRXZhbHVhdGVUbygi
Y2xvc2VFdmVudC53YXNDbGVhbiIsIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSk7CisgICAgc2hv
dWxkRXZhbHVhdGVUbygiY2xvc2VFdmVudC5jb2RlIiwgZXhwZWN0ZWRDb2RlW3Rlc3RJZF0pOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oImNsb3NlRXZlbnQucmVhc29uIiwgZXhwZWN0ZWRSZWFzb25b
dGVzdElkXSk7CiAgICAgdGVzdElkKys7CiAgICAgaWYgKHRlc3RJZCA8IHRlc3ROdW0pCiAgICAg
ICAgIHRlc3QgPSBuZXcgV2ViU29ja2V0VGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWNvZGUtYW5kLXJl
YXNvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dvcmtlcnMvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVkLnR4dAppbmRleCBh
ZTBlZjk4MDFiNjcyOWFkYzE1ZjdjZjUyNDZjOGFlOWUyM2IwZTljLi5iMTA0NDg5NTM4NWQ4MDMz
ZWNhZWE5ZmQwY2MyNDcxOTU3ZTk0ZDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3dvcmtlcnMvY2xvc2UtY29kZS1hbmQtcmVhc29uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDggQEAKIENPTlNPTEUgTUVTU0FHRTogV2ViU29ja2V0IGlzIGNsb3NlZCBiZWZvcmUgdGhlIGNv
bm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitDT05TT0xFIE1FU1NBR0U6IFJlY2VpdmVkIGEgYnJv
a2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYW4gaW52YWxpZCBzaXplIGJvZHkuCitDT05TT0xF
IE1FU1NBR0U6IFJlY2VpdmVkIGEgYnJva2VuIGNsb3NlIGZyYW1lIGNvbnRhaW5pbmcgYSByZXNl
cnZlZCBzdGF0dXMgY29kZS4KK0NPTlNPTEUgTUVTU0FHRTogUmVjZWl2ZWQgYSBicm9rZW4gY2xv
c2UgZnJhbWUgY29udGFpbmluZyBhIHJlc2VydmVkIHN0YXR1cyBjb2RlLgorQ09OU09MRSBNRVNT
QUdFOiBSZWNlaXZlZCBhIGJyb2tlbiBjbG9zZSBmcmFtZSBjb250YWluaW5nIGEgcmVzZXJ2ZWQg
c3RhdHVzIGNvZGUuCiBUZXN0IENsb3NlRXZlbnQgY29kZSBhbmQgcmVhc29uIHByb3BlcnR5IGlu
IFdvcmtlci4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtMTIsMjAgKzE2LDU1IEBA
IFdlYlNvY2tldFRlc3Qub25jbG9zZSgpIHdhcyBjYWxsZWQgd2l0aCB0ZXN0SWQgPSAwLgogUEFT
UyBQQVNTOiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgUEFTUzogd29ya2Vy
OiBldmVudC5jb2RlIGlzIDEwMDUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5yZWFzb24gaXMg
CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQogUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNQogUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNv
biBpcyAKIFdlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9IDEu
CiBXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdpdGggdGVzdElkID0gMS4KLVBB
U1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyB0cnVlCi1QQVNTIFBBU1M6IHdvcmtl
cjogZXZlbnQuY29kZSBpcyAxMDA1CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4g
aXMgZmFsc2UKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKIFBBU1MgUEFT
Uzogd29ya2VyOiBldmVudC5yZWFzb24gaXMgCi1QQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29k
ZSBpcyAxMDA1CitQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKK1BB
U1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDYKIFBBU1MgUEFTUzogd29ya2VyOiBl
dmVudC5yZWFzb24gaXMgCiBXZWJTb2NrZXRUZXN0Lm9ub3BlbigpIHdhcyBjYWxsZWQgd2l0aCB0
ZXN0SWQgPSAyLgogV2ViU29ja2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJ
ZCA9IDIuCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBQ
QVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwMAorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50
LnJlYXNvbiBpcyBvaworUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50Lndhc0NsZWFuIGlzIHRydWUK
K1BBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDEwMDAKK1BBU1MgUEFTUzogd29ya2Vy
OiBldmVudC5yZWFzb24gaXMgb2sKK1dlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNhbGxlZCB3
aXRoIHRlc3RJZCA9IDMuCitXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdpdGgg
dGVzdElkID0gMy4KK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyBmYWxzZQor
UEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQQVNTOiB3b3JrZXI6
IGV2ZW50LnJlYXNvbiBpcyAKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyBm
YWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1dlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNhbGxl
ZCB3aXRoIHRlc3RJZCA9IDQuCitXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVkIHdp
dGggdGVzdElkID0gNC4KK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyBmYWxz
ZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQQVNTOiB3b3Jr
ZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBp
cyBmYWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQQVNT
OiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1dlYlNvY2tldFRlc3Qub25vcGVuKCkgd2FzIGNh
bGxlZCB3aXRoIHRlc3RJZCA9IDUuCitXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2FsbGVk
IHdpdGggdGVzdElkID0gNS4KK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBpcyBm
YWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQQVNTOiB3
b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVh
biBpcyBmYWxzZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2ZW50LmNvZGUgaXMgMTAwNgorUEFTUyBQ
QVNTOiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyAKK1dlYlNvY2tldFRlc3Qub25vcGVuKCkgd2Fz
IGNhbGxlZCB3aXRoIHRlc3RJZCA9IDYuCitXZWJTb2NrZXRUZXN0Lm9uY2xvc2UoKSB3YXMgY2Fs
bGVkIHdpdGggdGVzdElkID0gNi4KK1BBU1MgUEFTUzogd29ya2VyOiBldmVudC53YXNDbGVhbiBp
cyB0cnVlCiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQuY29kZSBpcyA2NTUzNQogUEFTUyBQQVNT
OiB3b3JrZXI6IGV2ZW50LnJlYXNvbiBpcyBnb29kIGJ5ZQorUEFTUyBQQVNTOiB3b3JrZXI6IGV2
ZW50Lndhc0NsZWFuIGlzIHRydWUKIFBBU1MgUEFTUzogd29ya2VyOiBldmVudC5jb2RlIGlzIDY1
NTM1CiBQQVNTIFBBU1M6IHdvcmtlcjogZXZlbnQucmVhc29uIGlzIGdvb2QgYnllCiBET05FCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dv
cmtlcnMvcmVzb3VyY2VzL2Nsb3NlLWNvZGUtYW5kLXJlYXNvbi5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtY29k
ZS1hbmQtcmVhc29uLmpzCmluZGV4IGM1NDBmZjIzYWU0OTk2ZjI2MjAxNTg0MmQ2MTIyOTcyMzk0
MTBiMTAuLjZlODk3YzkzMjM3MWEwODZhYWVhMGJkNjc4NGM1YzM4ODlhZjNiMDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9y
ZXNvdXJjZXMvY2xvc2UtY29kZS1hbmQtcmVhc29uLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtY29kZS1h
bmQtcmVhc29uLmpzCkBAIC0xLDMgKzEsNCBAQAordmFyIGNvZGVOb3JtYWxDbG9zdXJlID0gMTAw
MDsKIHZhciBjb2RlTm9TdGF0dXNSY3ZkID0gMTAwNTsKIHZhciBjb2RlQWJub3JtYWxDbG9zdXJl
ID0gMTAwNjsKIHZhciBlbXB0eVN0cmluZyA9ICIiOwpAQCAtMzAsMjIgKzMxLDQzIEBAIHdzLm9u
Y2xvc2UgPSBmdW5jdGlvbihldmVudCkKIHdzLmNsb3NlKCk7CiAKIHZhciB0ZXN0SWQgPSAwOwot
dmFyIHRlc3ROdW0gPSAzOwordmFyIHRlc3ROdW0gPSA3OwogdmFyIHNlbmREYXRhID0gWwogICAg
ICItIiwgLy8gcmVxdWVzdCBjbG9zZSBmcmFtZSB3aXRob3V0IGNvZGUgYW5kIHJlYXNvbgogICAg
ICItLSIsIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBpbnZhbGlkIGJvZHkgd2hpY2ggc2l6
ZSBpcyAxCisgICAgIjEwMDAgb2siLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdpdGggY29kZSAx
MDAwIGFuZCByZWFzb24KKyAgICAiMTAwNSBmb28iLCAvLyByZXF1ZXN0IGNsb3NlIGZyYW1lIHdp
dGggZm9yYmlkZGVuIGNvZGUgMTAwNSBhbmQgcmVhc29uCisgICAgIjEwMDYgYmFyIiwgLy8gcmVx
dWVzdCBjbG9zZSBmcmFtZSB3aXRoIGZvcmJpZGRlbiBjb2RlIDEwMDYgYW5kIHJlYXNvbgorICAg
ICIxMDE1IGJheiIsIC8vIHJlcXVlc3QgY2xvc2UgZnJhbWUgd2l0aCBmb3JiaWRkZW4gY29kZSAx
MDE1IGFuZCByZWFzb24KICAgICAiNjU1MzUgZ29vZCBieWUiLCAvLyByZXF1ZXN0IGNsb3NlIGZy
YW1lIHdpdGggc3BlY2lmaWVkIGNvZGUgYW5kIHJlYXNvbgogXTsKIHZhciBleHBlY3RlZENvZGUg
PSBbCiAgICAgY29kZU5vU3RhdHVzUmN2ZCwKLSAgICBjb2RlTm9TdGF0dXNSY3ZkLAorICAgIGNv
ZGVBYm5vcm1hbENsb3N1cmUsCisgICAgY29kZU5vcm1hbENsb3N1cmUsCisgICAgY29kZUFibm9y
bWFsQ2xvc3VyZSwKKyAgICBjb2RlQWJub3JtYWxDbG9zdXJlLAorICAgIGNvZGVBYm5vcm1hbENs
b3N1cmUsCiAgICAgNjU1MzUsCiBdOwogdmFyIGV4cGVjdGVkUmVhc29uID0gWwogICAgICIiLAog
ICAgICIiLAorICAgICJvayIsCisgICAgIiIsCisgICAgIiIsCisgICAgIiIsCiAgICAgImdvb2Qg
YnllIiwKIF07Cit2YXIgZXhwZWN0ZWRXYXNDbGVhbiA9IFsKKyAgICB0cnVlLAorICAgIGZhbHNl
LAorICAgIHRydWUsCisgICAgZmFsc2UsCisgICAgZmFsc2UsCisgICAgZmFsc2UsCisgICAgdHJ1
ZSwKK107CiAKIFdlYlNvY2tldFRlc3QgPSBmdW5jdGlvbigpIHsKICAgICB0aGlzLndzID0gbmV3
IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9z
ZS1jb2RlLWFuZC1yZWFzb24iKTsKQEAgLTY4LDExICs5MCwxMyBAQCBXZWJTb2NrZXRUZXN0LnBy
b3RvdHlwZS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKIFdlYlNvY2tldFRlc3QucHJvdG90
eXBlLm9uY2xvc2UgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICBwb3N0TWVzc2FnZSgiV2ViU29j
a2V0VGVzdC5vbmNsb3NlKCkgd2FzIGNhbGxlZCB3aXRoIHRlc3RJZCA9ICIgKyB0ZXN0SWQgKyAi
LiIpOwotICAgIHBvc3RSZXN1bHQoZXZlbnQud2FzQ2xlYW4sICJldmVudC53YXNDbGVhbiIsICJ0
cnVlIik7CisgICAgcG9zdFJlc3VsdChldmVudC53YXNDbGVhbiA9PSBleHBlY3RlZFdhc0NsZWFu
W3Rlc3RJZF0sICJldmVudC53YXNDbGVhbiIsIGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSk7CiAg
ICAgcG9zdFJlc3VsdChldmVudC5jb2RlID09IGV4cGVjdGVkQ29kZVt0ZXN0SWRdLCAiZXZlbnQu
Y29kZSIsIGV4cGVjdGVkQ29kZVt0ZXN0SWRdKTsKICAgICBwb3N0UmVzdWx0KGV2ZW50LnJlYXNv
biA9PSBleHBlY3RlZFJlYXNvblt0ZXN0SWRdLCAiZXZlbnQucmVhc29uIiwgZXhwZWN0ZWRSZWFz
b25bdGVzdElkXSk7CiAgICAgZXZlbnQuY29kZSA9IDA7CiAgICAgZXZlbnQucmVhc29uID0gInJl
YWRvbmx5IjsKKyAgICBldmVudC53YXNDbGVhbiA9ICFldmVudC53YXNDbGVhbjsKKyAgICBwb3N0
UmVzdWx0KGV2ZW50Lndhc0NsZWFuID09IGV4cGVjdGVkV2FzQ2xlYW5bdGVzdElkXSwgImV2ZW50
Lndhc0NsZWFuIiwgZXhwZWN0ZWRXYXNDbGVhblt0ZXN0SWRdKTsKICAgICBwb3N0UmVzdWx0KGV2
ZW50LmNvZGUgPT0gZXhwZWN0ZWRDb2RlW3Rlc3RJZF0sICJldmVudC5jb2RlIiwgZXhwZWN0ZWRD
b2RlW3Rlc3RJZF0pOwogICAgIHBvc3RSZXN1bHQoZXZlbnQucmVhc29uID09IGV4cGVjdGVkUmVh
c29uW3Rlc3RJZF0sICJldmVudC5yZWFzb24iLCBleHBlY3RlZFJlYXNvblt0ZXN0SWRdKTsKICAg
ICB0ZXN0SWQrKzsK
</data>

          </attachment>
      

    </bug>

</bugzilla>