<?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>97920</bug_id>
          
          <creation_ts>2012-09-28 09:38:55 -0700</creation_ts>
          <short_desc>[EFL][WK2] Change parameter and return type of loadUrlSync().</short_desc>
          <delta_ts>2012-10-09 21:49:54 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Byungwoo Lee">bw80.lee</reporter>
          <assigned_to name="Byungwoo Lee">bw80.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>730740</commentid>
    <comment_count>0</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 09:38:55 -0700</bug_when>
    <thetext>loadUrlSync function uses waitUntilLoadFinished() function.
waitUntilLoadFinished has timeout parameter and bool return value.

The function also need timeout parameter for the waitUntilLoadFinished() and
should return the result of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730761</commentid>
    <comment_count>1</comment_count>
      <attachid>166269</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 10:02:42 -0700</bug_when>
    <thetext>Created attachment 166269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731213</commentid>
    <comment_count>2</comment_count>
      <attachid>166365</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-29 08:48:31 -0700</bug_when>
    <thetext>Created attachment 166365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734751</commentid>
    <comment_count>3</comment_count>
      <attachid>167114</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-04 09:19:27 -0700</bug_when>
    <thetext>Created attachment 167114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734753</commentid>
    <comment_count>4</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-04 09:21:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=167114) [details]
&gt; Patch

Codes for checking return value is removed to simplify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734754</commentid>
    <comment_count>5</comment_count>
      <attachid>167114</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-04 09:22:48 -0700</bug_when>
    <thetext>Comment on attachment 167114
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:74
&gt; +bool EWK2UnitTestBase::loadUrlSync(const char* url, double timeoutSeconds)

Shouldn&apos;t we update the tests using loadUrlSync() with something like ASSERT_TRUE(loadUrlSync(xxx)); ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734756</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-04 09:23:47 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Created an attachment (id=167114) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; Codes for checking return value is removed to simplify.

Why did you remove it? I think we need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735184</commentid>
    <comment_count>7</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-04 17:41:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; Created an attachment (id=167114) [details] [details] [details]
&gt; &gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Codes for checking return value is removed to simplify.
&gt; 
&gt; Why did you remove it? I think we need it.

Yes, I added those initially, but it makes continuous re-base because of conflict.
So I removed it from this patch and will apply it after this is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735373</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-04 23:03:02 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; Created an attachment (id=167114) [details] [details] [details] [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Codes for checking return value is removed to simplify.
&gt; &gt; 
&gt; &gt; Why did you remove it? I think we need it.
&gt; 
&gt; Yes, I added those initially, but it makes continuous re-base because of conflict.
&gt; So I removed it from this patch and will apply it after this is landed.

I don&apos;t think we can review this change without updating the callers of this function. I don&apos;t understand why you need continuous rebasing either. Just upload a full patch to the bug tracker and rebase it only once after the patch gets r+ in order to cq+ it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735556</commentid>
    <comment_count>9</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-05 04:02:13 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; &gt; Created an attachment (id=167114) [details] [details] [details] [details] [details]
&gt; &gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Codes for checking return value is removed to simplify.
&gt; &gt; &gt; 
&gt; &gt; &gt; Why did you remove it? I think we need it.
&gt; &gt; 
&gt; &gt; Yes, I added those initially, but it makes continuous re-base because of conflict.
&gt; &gt; So I removed it from this patch and will apply it after this is landed.
&gt; 
&gt; I don&apos;t think we can review this change without updating the callers of this function. I don&apos;t understand why you need continuous rebasing either. Just upload a full patch to the bug tracker and rebase it only once after the patch gets r+ in order to cq+ it.

I cannot understand why this cannot be reviewed without the callers.

Currently, loadUrlSync function internally uses waitUntilLoadFinished() function with default timeout(10 seconds).

Without timeout parameter, timeout interval for loadUrlSync() will be always 10 seconds, and there is no way to change this.

And without return value, there is no way to check whether the loadUrlSync() function is finished successfully or with timeout.

So I added parameter and return value, just like the other waitUntilXXX functions.

I removed the code for more easy review.
But if there is no overhead to review with those, I can surely add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737706</commentid>
    <comment_count>10</comment_count>
      <attachid>167114</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-09 05:49:01 -0700</bug_when>
    <thetext>Comment on attachment 167114
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:74
&gt;&gt; +bool EWK2UnitTestBase::loadUrlSync(const char* url, double timeoutSeconds)
&gt; 
&gt; Shouldn&apos;t we update the tests using loadUrlSync() with something like ASSERT_TRUE(loadUrlSync(xxx)); ?

If you can&apos;t guarantee loadUrlSync() always return true, I think caller of loadUrlSync needs to use ASSERT_TRUE or EXPECT_TRUE. However, waitUntilLoadFinished() is not guaranteed to return true always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737755</commentid>
    <comment_count>11</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-09 06:55:08 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 167114 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167114&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:74
&gt; &gt;&gt; +bool EWK2UnitTestBase::loadUrlSync(const char* url, double timeoutSeconds)
&gt; &gt; 
&gt; &gt; Shouldn&apos;t we update the tests using loadUrlSync() with something like ASSERT_TRUE(loadUrlSync(xxx)); ?
&gt; 
&gt; If you can&apos;t guarantee loadUrlSync() always return true, I think caller of loadUrlSync needs to use ASSERT_TRUE or EXPECT_TRUE. However, waitUntilLoadFinished() is not guaranteed to return true always.

Ok~ then I&apos;ll add those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737759</commentid>
    <comment_count>12</comment_count>
      <attachid>167750</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-09 07:18:29 -0700</bug_when>
    <thetext>Created attachment 167750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738409</commentid>
    <comment_count>13</comment_count>
      <attachid>167750</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-09 18:24:35 -0700</bug_when>
    <thetext>Comment on attachment 167750
Patch

LGTM. Please check if this patch won&apos;t influence on bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738493</commentid>
    <comment_count>14</comment_count>
      <attachid>167750</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-09 21:14:46 -0700</bug_when>
    <thetext>Comment on attachment 167750
Patch

I tested with the latest source and it works fine :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738526</commentid>
    <comment_count>15</comment_count>
      <attachid>167750</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 21:49:49 -0700</bug_when>
    <thetext>Comment on attachment 167750
Patch

Clearing flags on attachment: 167750

Committed r130843: &lt;http://trac.webkit.org/changeset/130843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738527</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-09 21:49:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166269</attachid>
            <date>2012-09-28 10:02:42 -0700</date>
            <delta_ts>2012-09-29 08:48:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97920-20120929020158.patch</filename>
            <type>text/plain</type>
            <size>18189</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWU5ZWRkY2M3MDk4YjQ2
OGQxZmZjNDgyOGZiNDUxZDMyM2VhZDNiNC4uYzVlMGRkM2NlMjgyNmIyNzJjYWFmYThhZDQ1YzRk
NTcwMWZkODhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDEyLTA5LTI4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIENo
YW5nZSBwYXJhbWV0ZXIgYW5kIHJldHVybiB0eXBlIG9mIGxvYWRVcmxTeW5jKCkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzkyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExvYWRVcmxTeW5jKCkgdXNl
cyB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBmdW5jdGlvbiB3aGljaCBoYXMgdGltZW91dAorICAg
ICAgICBhbmQgcmV0dXJucyByZXN1bHQuCisKKyAgICAgICAgVG8gc2V0IHRpbWVvdXQgZm9yIHdh
aXRVbnRpbExvYWRGaW5pc2hlZCgpLCBhIHBhcmFtZXRlciBmb3IgdGltZW91dAorICAgICAgICBp
bnRlcnZhbCBpcyBhZGRlZCB0byBMb2FkVXJsU3luYygpLgorICAgICAgICBBbmQgdG8gY2hlY2sg
dGhlIHJlc3VsdCBvZiB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSwgbG9hZFVybFN5bmMoKSBpcwor
ICAgICAgICBjaGFuZ2VkIHRvIHJldHVybiB0aGUgcmVzdWx0LgorICAgICAgICBBbmQgSSBhZGRl
ZCBjb2RlcyB0byBjaGVjayB0aGUgcmVzdWx0IG9mIGFsbCB0aGUgTG9hZFVybFN5bmMoKQorICAg
ICAgICBmdW5jdGlvbiBjYWxscyB3aXRoIEFTU0VSVF9UUlVFKCkgbWFjcm8uCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2Uu
Y3BwOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3lu
Yyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0sy
VW5pdFRlc3RCYXNlLmg6CisgICAgICAgIChFV0syVW5pdFRlc3RCYXNlKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QuY3BwOgor
ICAgICAgICAoVEVTVF9GKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0
X2V3azJfY29udGV4dC5jcHA6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb29raWVfbWFuYWdlci5jcHA6CisgICAgICAgIChU
RVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9pbnRl
bnRzLmNwcDoKKyAgICAgICAgKFRFU1RfRik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwOgorICAgICAgICAoVEVTVF9GKToKKworMjAxMi0wOS0y
OCAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+CisKICAgICAgICAgW0VGTF1b
V0syXSBDbGVhciBwcm92aWRlciBvbiBkZXN0cnVjdG9yIG9mIHtWaWJyYXRpb24sQmF0dGVyeSxO
ZXR3b3JrSW5mb31Qcm92aWRlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk3NTI4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuY3BwCmluZGV4IDQ4NTNkNTAwZTg2NDdmYTIwODBjZTMxMmQzNTVhNzM4MTU3ZWY2
OTEuLjY5M2M3MWY0ZjFlNDdjMWM4NjMyNmViOWQyYWVlYmJhNjIwNzlkYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtNzQsMTAgKzc0LDEw
IEBAIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6VGVhckRvd24oKQogICAgIGVjb3JlX2V2YXNfc2h1
dGRvd24oKTsKIH0KIAotdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyhjb25zdCBj
aGFyKiB1cmwpCitib29sIEVXSzJVbml0VGVzdEJhc2U6OmxvYWRVcmxTeW5jKGNvbnN0IGNoYXIq
IHVybCwgZG91YmxlIHRpbWVvdXRTZWNvbmRzKQogewogICAgIGV3a192aWV3X3VyaV9zZXQobV93
ZWJWaWV3LCB1cmwpOwotICAgIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIHJldHVybiB3
YWl0VW50aWxMb2FkRmluaXNoZWQodGltZW91dFNlY29uZHMpOwogfQogCiBjbGFzcyBDYWxsYmFj
a0RhdGFUaW1lciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5o
CmluZGV4IDc5ODI2NmVhNWI2MGJlZDQ1NmRmY2JjMzMwNjMxODMyNzVlODM0ZDYuLmZlMzk0NThj
OTJkNDhiMTY3ZTVjZTNhOTNhOWEyZDM0ODFlYWY1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0
VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCkBAIC00MCw5ICs0MCw5IEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKTsKICAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKTsKIAot
ICAgIHZvaWQgbG9hZFVybFN5bmMoY29uc3QgY2hhciogdXJsKTsKLQogICAgIHN0YXRpYyBjb25z
dCBkb3VibGUgZGVmYXVsdFRpbWVvdXRTZWNvbmRzID0gMTAuMDsKKworICAgIGJvb2wgbG9hZFVy
bFN5bmMoY29uc3QgY2hhciogdXJsLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBkZWZhdWx0VGlt
ZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsTG9hZEZpbmlzaGVkKGRvdWJsZSB0aW1l
b3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxU
aXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlLCBkb3VibGUgdGltZW91dFNl
Y29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsVVJJQ2hh
bmdlZFRvKGNvbnN0IGNoYXIqIGV4cGVjdGVkVVJJLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBk
ZWZhdWx0VGltZW91dFNlY29uZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9iYWNrX2ZvcndhcmRf
bGlzdC5jcHAKaW5kZXggOTU0MmI3NmYwODM2Zjg2YWZhNjczZTBlZTliNmFhNDYxYjJmYmU2OS4u
NjBjMDdmMDFjMTg5ZmZlYjE1Mjg1MTliZDNlYTJlMmFjNzc0YzM2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2Fy
ZF9saXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBmcmVlRWluYUxpc3QoRWluYV9MaXN0KiBsaXN0KQogVEVTVF9GKEVXSzJVbml0
VGVzdEJhc2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jdXJyZW50X2l0ZW1fZ2V0KQogewogICAg
IGNvbnN0IGNoYXIqIHVybCA9IGVudmlyb25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKTsKLSAg
ICBsb2FkVXJsU3luYyh1cmwpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKHVybCkpOwog
ICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdfYmFj
a19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXcoKSk7CiAgICAgQVNTRVJUX1RSVUUoYmFja0Zvcndh
cmRMaXN0KTsKIApAQCAtMTA2LDEwICsxMDYsMTAgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a19iYWNrX2ZvcndhcmRfbGlzdF9wcmV2aW91c19pdGVtX2dldCkKICAgICBodHRwU2VydmVy
LT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmlu
ZyB1cmwxID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAgbG9h
ZFVybFN5bmModXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwogICAg
IEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgdGl0bGUxKTsKIAot
ICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTIpKTsK
KyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQo
KSwgdGl0bGUyKSkpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmll
dygpKSwgdGl0bGUyKTsKIAogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRM
aXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXcoKSk7CkBAIC0xMjcs
MTEgKzEyNywxMSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2JhY2tfZm9yd2FyZF9s
aXN0X25leHRfaXRlbV9nZXQpCiAgICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNl
cnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOwogICAgIGh0dHBTZXJ2ZXIt
PnJ1bihzZXJ2ZXJDYWxsYmFja05hdmlnYXRpb24pOwogCi0gICAgbG9hZFVybFN5bmModXJsRnJv
bVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRV
cmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKSk7CiAgICAgQVNT
RVJUX1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpLCB0aXRsZTEpOwogCiAgICAg
V0tFaW5hU2hhcmVkU3RyaW5nIHVybDIgPSB1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwg
dGl0bGUyKTsKLSAgICBsb2FkVXJsU3luYyh1cmwyKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJs
U3luYyh1cmwyKSk7CiAgICAgQVNTRVJUX1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3
KCkpLCB0aXRsZTIpOwogCiAgICAgLy8gR28gYmFjayB0byBQYWdlMS4KQEAgLTE1NCwxMCArMTU0
LDEwIEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfYmFja19mb3J3YXJkX2xpc3RfaXRl
bV9hdF9pbmRleF9nZXQpCiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdh
dGlvbik7CiAKICAgICBXS0VpbmFTaGFyZWRTdHJpbmcgdXJsMSA9IHVybEZyb21UaXRsZShodHRw
U2VydmVyLmdldCgpLCB0aXRsZTEpOwotICAgIGxvYWRVcmxTeW5jKHVybDEpOworICAgIEFTU0VS
VF9UUlVFKGxvYWRVcmxTeW5jKHVybDEpKTsKICAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0
bGVfZ2V0KHdlYlZpZXcoKSksIHRpdGxlMSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0
bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5
bmModXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NFUlRf
U1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSksIHRpdGxlMik7CiAKICAgICBFd2tf
QmFja19Gb3J3YXJkX0xpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9yd2Fy
ZF9saXN0X2dldCh3ZWJWaWV3KCkpOwpAQCAtMTc4LDEwICsxNzgsMTAgQEAgVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jb3VudCkKICAgICBPd25QdHI8RVdL
MlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVzdFNl
cnZlcik7CiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAK
LSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUxKSk7
CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0
KCksIHRpdGxlMSkpKTsKICAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZp
ZXcoKSksIHRpdGxlMSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZl
ci5nZXQoKSwgdGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJvbVRp
dGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NFUlRfU1RSRVEoZXdrX3Zp
ZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSksIHRpdGxlMik7CiAKICAgICBFd2tfQmFja19Gb3J3YXJk
X0xpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9yd2FyZF9saXN0X2dldCh3
ZWJWaWV3KCkpOwpAQCAtMTk2LDE0ICsxOTYsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a19iYWNrX2ZvcndhcmRfbGlzdF9uX2JhY2tfaXRlbXNfY29weSkKICAgICBodHRwU2VydmVy
LT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmlu
ZyB1cmwxID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAgbG9h
ZFVybFN5bmModXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwogICAg
IEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgdGl0bGUxKTsKIAog
ICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwyID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0
KCksIHRpdGxlMik7Ci0gICAgbG9hZFVybFN5bmModXJsMik7CisgICAgQVNTRVJUX1RSVUUobG9h
ZFVybFN5bmModXJsMikpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2Vi
VmlldygpKSwgdGl0bGUyKTsKIAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2Vy
dmVyLmdldCgpLCB0aXRsZTMpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9t
VGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUzKSkpOwogICAgIEFTU0VSVF9TVFJFUShld2tf
dmlld190aXRsZV9nZXQod2ViVmlldygpKSwgdGl0bGUzKTsKIAogICAgIEV3a19CYWNrX0Zvcndh
cmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0
KHdlYlZpZXcoKSk7CkBAIC0yMzIsMTUgKzIzMiwxNSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFz
ZSwgZXdrX2JhY2tfZm9yd2FyZF9saXN0X25fZm9yd2FyZF9pdGVtc19jb3B5KQogICAgIE93blB0
cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVuaXRU
ZXN0U2VydmVyKTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9u
KTsKIAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRs
ZTEpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZl
ci5nZXQoKSwgdGl0bGUxKSkpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQo
d2ViVmlldygpKSwgdGl0bGUxKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwyID0gdXJs
RnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMik7Ci0gICAgbG9hZFVybFN5bmModXJs
Mik7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMikpOwogICAgIEFTU0VSVF9TVFJF
UShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgdGl0bGUyKTsKIAogICAgIFdLRWluYVNo
YXJlZFN0cmluZyB1cmwzID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMyk7
Ci0gICAgbG9hZFVybFN5bmModXJsMyk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJs
MykpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgdGl0
bGUzKTsKIAogICAgIC8vIEdvIGJhY2sgdG8gUGFnZTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAK
aW5kZXggODJkZWQ1NWRhY2MzNjQwNzE3M2YzMjBjZWJmYjFmZjdjM2Q3NzZmYi4uZjlkYmU0MDRh
Yzg0NmUwNmM4NGMzNTk3MDJiNGVhZWNhNDNhNjI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNw
cApAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCBzY2hlbWVSZXF1ZXN0Q2FsbGJhY2soRXdr
X1VybF9TY2hlbWVfUmVxdWVzdCogcmVxdWVzdCwgdm9pZCogdXNlckRhdAogVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a19jb250ZXh0X3VyaV9zY2hlbWVfcmVnaXN0ZXIpCiB7CiAgICAgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3Rlcihld2tfdmlld19jb250ZXh0X2dldCh3ZWJWaWV3
KCkpLCAiZm9vc2NoZW1lIiwgc2NoZW1lUmVxdWVzdENhbGxiYWNrLCAwKTsKLSAgICBsb2FkVXJs
U3luYygiZm9vc2NoZW1lOk15UGF0aCIpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKCJm
b29zY2hlbWU6TXlQYXRoIikpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQo
d2ViVmlldygpKSwgIkZvbyIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2Nvb2tpZV9tYW5hZ2Vy
LmNwcAppbmRleCA0MzUzY2VkNzkyYTM1NjNmNTM4OTVjNzFmZGYzZWY2Mjc4YWJiMzFjLi40NTc2
NWZhMjRkZTgyOGQxNTU2M2E0ZDhlYzFmNGMxMjIwZWY3ZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdr
Ml9jb29raWVfbWFuYWdlci5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBURVNUX0YoRVdLMlVuaXRU
ZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAKICAgICAvLyBEZWZh
dWx0IHBvbGljeSBpcyBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfTk9fVEhJUkRfUEFSVFkuCiAg
ICAgQVNTRVJUX0VRKGdldEFjY2VwdFBvbGljeShjb29raWVNYW5hZ2VyKSwgRVdLX0NPT0tJRV9B
Q0NFUFRfUE9MSUNZX05PX1RISVJEX1BBUlRZKTsKLSAgICBsb2FkVXJsU3luYyhodHRwU2VydmVy
LT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUo
bG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRh
KCkpKTsKIAogICAgIEVpbmFfTGlzdCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoY29va2llTWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKGVpbmFfbGlzdF9jb3VudChob3N0bmFt
ZXMpLCAxKTsKQEAgLTEzNyw3ICsxMzcsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0byBF
V0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTCiAgICAgZXdrX2Nvb2tpZV9tYW5hZ2VyX2Fj
Y2VwdF9wb2xpY3lfc2V0KGNvb2tpZU1hbmFnZXIsIEVXS19DT09LSUVfQUNDRVBUX1BPTElDWV9B
TFdBWVMpOwogICAgIEFTU0VSVF9FUShnZXRBY2NlcHRQb2xpY3koY29va2llTWFuYWdlciksIEVX
S19DT09LSUVfQUNDRVBUX1BPTElDWV9BTFdBWVMpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2
ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJV
RShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRh
dGEoKSkpOwogCiAgICAgaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2ll
TWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpLCAyKTsK
QEAgLTE0OSw3ICsxNDksNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9t
YW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0byBFV0tfQ09PS0lF
X0FDQ0VQVF9QT0xJQ1lfTkVWRVIKICAgICBld2tfY29va2llX21hbmFnZXJfYWNjZXB0X3BvbGlj
eV9zZXQoY29va2llTWFuYWdlciwgRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX05FVkVSKTsKICAg
ICBBU1NFUlRfRVEoZ2V0QWNjZXB0UG9saWN5KGNvb2tpZU1hbmFnZXIpLCBFV0tfQ09PS0lFX0FD
Q0VQVF9QT0xJQ1lfTkVWRVIpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZv
clBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3lu
YyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAg
IEFTU0VSVF9FUShjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpLCAwKTsK
IH0KIApAQCAtMTc1LDcgKzE3NSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29v
a2llX21hbmFnZXJfY2hhbmdlc193YXRjaCkKICAgICBld2tfY29va2llX21hbmFnZXJfY2hhbmdl
c193YXRjaChjb29raWVNYW5hZ2VyLCBvbkNvb2tpZXNDaGFuZ2VkLCAmY29va2llc0NoYW5nZWQp
OwogCiAgICAgLy8gQ2hlY2sgZm9yIGNvb2tpZSBjaGFuZ2VzIG5vdGlmaWNhdGlvbnMKLSAgICBs
b2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEo
KSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0
aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpKTsKIAogICAgIHdoaWxlICghY29va2llc0NoYW5nZWQp
CiAgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CkBAIC0xOTAsNyArMTkwLDcgQEAg
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNo
KQogICAgIC8vIFN0b3Agd2F0Y2hpbmcgZm9yIG5vdGlmaWNhdGlvbnMKICAgICBld2tfY29va2ll
X21hbmFnZXJfY2hhbmdlc193YXRjaChjb29raWVNYW5hZ2VyLCAwLCAwKTsKICAgICBjb29raWVz
Q2hhbmdlZCA9IGZhbHNlOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBh
dGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyho
dHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFT
U0VSVF9FUShjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpLCAyKTsKICAg
ICBBU1NFUlRfRkFMU0UoY29va2llc0NoYW5nZWQpOwogCkBAIC0yMDQsNyArMjA0LDcgQEAgVEVT
VF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNoKQog
ICAgIEFTU0VSVF9UUlVFKG1rdGVtcCh0ZXh0U3RvcmFnZTIpKTsKIAogICAgIGV3a19jb29raWVf
bWFuYWdlcl9wZXJzaXN0ZW50X3N0b3JhZ2Vfc2V0KGNvb2tpZU1hbmFnZXIsIHRleHRTdG9yYWdl
MSwgRVdLX0NPT0tJRV9QRVJTSVNURU5UX1NUT1JBR0VfVEVYVCk7Ci0gICAgbG9hZFVybFN5bmMo
aHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAgIEFT
U0VSVF9UUlVFKGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5o
dG1sIikuZGF0YSgpKSk7CiAgICAgQVNTRVJUX0VRKGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMo
Y29va2llTWFuYWdlciksIDIpOwogCiAgICAgY29va2llc0NoYW5nZWQgPSBmYWxzZTsKQEAgLTIz
Myw3ICsyMzMsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5hZ2Vy
X2Nvb2tpZXNfZGVsZXRlKQogICAgIGV3a19jb29raWVfbWFuYWdlcl9hY2NlcHRfcG9saWN5X3Nl
dChjb29raWVNYW5hZ2VyLCBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTKTsKICAgICBB
U1NFUlRfRVEoZ2V0QWNjZXB0UG9saWN5KGNvb2tpZU1hbmFnZXIpLCBFV0tfQ09PS0lFX0FDQ0VQ
VF9QT0xJQ1lfQUxXQVlTKTsKIAotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZv
clBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3lu
YyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAg
IEVpbmFfTGlzdCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFu
YWdlcik7CiAgICAgQVNTRVJUX0VRKGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpLCAyKTsKICAg
ICBmcmVlSG9zdE5hbWVzKGhvc3RuYW1lcyk7CkBAIC0yNTAsNyArMjUwLDcgQEAgVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jb29raWVzX2RlbGV0ZSkKICAgICBB
U1NFUlRfRVEoY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29raWVNYW5hZ2VyKSwgMCk7CiAK
ICAgICAvLyBHZXQgYWxsIGNvb2tpZXMgYWdhaW4KLSAgICBsb2FkVXJsU3luYyhodHRwU2VydmVy
LT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUo
bG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRh
KCkpKTsKICAgICBBU1NFUlRfRVEoY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29raWVNYW5h
Z2VyKSwgMik7CiAKICAgICAvLyBDbGVhciBhbGwgY29va2llcwpAQCAtMjc5LDE0ICsyNzksMTQg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIERJU0FCTEVEX2V3a19jb29raWVfbWFuYWdlcl9w
ZXJtYW5lbnRfc3RvcmFnZSkKICAgICBld2tfY29va2llX21hbmFnZXJfcGVyc2lzdGVudF9zdG9y
YWdlX3NldChjb29raWVNYW5hZ2VyLCB0ZXh0U3RvcmFnZSwgRVdLX0NPT0tJRV9QRVJTSVNURU5U
X1NUT1JBR0VfVEVYVCk7CiAgICAgQVNTRVJUX0VRKGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMo
Y29va2llTWFuYWdlciksIDApOwogCi0gICAgbG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJ
Rm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxT
eW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKSk7CiAg
ICAgQVNTRVJUX0VRKGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFuYWdlciksIDIp
OwogCiAgICAgLy8gU1FMaXRlIHN0b3JhZ2UgdXNpbmcgYSBuZXcgZmlsZS4KICAgICBld2tfY29v
a2llX21hbmFnZXJfcGVyc2lzdGVudF9zdG9yYWdlX3NldChjb29raWVNYW5hZ2VyLCBzcWxpdGVT
dG9yYWdlLCBFV0tfQ09PS0lFX1BFUlNJU1RFTlRfU1RPUkFHRV9TUUxJVEUpOwogICAgIEFTU0VS
VF9FUShjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpLCAwKTsKIAotICAg
IGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0
YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQ
YXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFTU0VSVF9FUShjb3VudEhvc3RuYW1l
c1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpLCAyKTsKIAogICAgIC8vIFRleHQgc3RvcmFnZSB1
c2luZyBhbiBleGlzdGluZyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwCmluZGV4IGJlOGIw
ZmZhOGNhM2RhMzA1MzliNzg4OTQzNWI2NjVlZTgwNmZlMmQuLjQwNmU0YWQ0MThlOGJiMzYwMmEz
MTQ4ZTg1YzgyNGZmOWYzOWVlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9pbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfaW50ZW50cy5jcHAKQEAgLTU0LDcg
KzU0LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19pbnRlbnRfc2VydmljZV9yZWdp
c3RyYXRpb24pCiB7CiAgICAgYm9vbCBpbnRlbnRSZWdpc3RlcmVkID0gZmFsc2U7CiAgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdlYlZpZXcoKSwgImludGVudCxzZXJ2aWNlLHJl
Z2lzdGVyIiwgb25JbnRlbnRTZXJ2aWNlUmVnaXN0cmF0aW9uLCAmaW50ZW50UmVnaXN0ZXJlZCk7
Ci0gICAgbG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJpbnRlbnQtc2Vy
dmljZS5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9u
bWVudC0+dXJsRm9yUmVzb3VyY2UoImludGVudC1zZXJ2aWNlLmh0bWwiKS5kYXRhKCkpKTsKICAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19kZWwod2ViVmlldygpLCAiaW50ZW50LHNlcnZp
Y2UscmVnaXN0ZXIiLCBvbkludGVudFNlcnZpY2VSZWdpc3RyYXRpb24pOwogICAgIEFTU0VSVF9U
UlVFKGludGVudFJlZ2lzdGVyZWQpOwogfQpAQCAtMTAzLDcgKzEwMyw3IEBAIFRFU1RfRihFV0sy
VW5pdFRlc3RCYXNlLCBld2tfaW50ZW50X3JlcXVlc3QpCiB7CiAgICAgdW5zaWduZWQgaW50ZW50
UmVjZWl2ZWRDb3VudCA9IDA7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdl
YlZpZXcoKSwgImludGVudCxyZXF1ZXN0LG5ldyIsIG9uSW50ZW50UmVjZWl2ZWQsICZpbnRlbnRS
ZWNlaXZlZENvdW50KTsKLSAgICBsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3Vy
Y2UoImludGVudC1yZXF1ZXN0Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRV
cmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgiaW50ZW50LXJlcXVlc3QuaHRtbCIp
LmRhdGEoKSkpOwogCiAgICAgLy8gQSB1c2VyIGdlc3R1cmUgaXMgcmVxdWlyZWQgZm9yIHRoZSBp
bnRlbnQgdG8gc3RhcnQuCiAgICAgbW91c2VDbGljayg1LCA1KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcApp
bmRleCA5M2UwYjQ5NDg4OTVkNTc2N2NjNzk1YjFhNmZhM2M4MTcxMjg2YWUxLi40MDZhOWJlODg4
YTBmMTExMTBhYThiZWRmNDZlMzY5ZTAyYWM2MTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCkBAIC00
Niw3ICs0Niw3IEBAIHN0YXRpYyB2b2lkIG9uTG9hZEZpbmlzaGVkRm9yUmVkaXJlY3Rpb24odm9p
ZCogdXNlckRhdGEsIEV2YXNfT2JqZWN0Kiwgdm9pZCopCiAKIFRFU1RfRihFV0syVW5pdFRlc3RC
YXNlLCBld2tfdmlld191cmlfZ2V0KQogewotICAgIGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT5k
ZWZhdWx0VGVzdFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJv
bm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAgICAgRVhQRUNUX1NUUkVRKGV3a192aWV3
X3VyaV9nZXQod2ViVmlldygpKSwgZW52aXJvbm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKTsK
IAogICAgIGludCBjb3VudExvYWRGaW5pc2hlZCA9IDI7CkBAIC02MCw3ICs2MCw3IEBAIFRFU1Rf
RihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld191cmlfZ2V0KQogCiBURVNUX0YoRVdLMlVuaXRU
ZXN0QmFzZSwgZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvKQogewotICAgIGxvYWRVcmxTeW5j
KGVudmlyb25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUobG9h
ZFVybFN5bmMoZW52aXJvbm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAKICAgICAvLyBE
ZWZhdWx0IHBpeGVsIHJhdGlvIGlzIDEuMAogICAgIEFTU0VSVF9GTE9BVF9FUShld2tfdmlld19k
ZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KHdlYlZpZXcoKSksIDEpOwpAQCAtMTA2LDEzICsxMDYsMTMg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192aWV3X25hdmlnYXRpb24pCiAgICAgaHR0
cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAKICAgICAvLyBWaXNpdCBQ
YWdlMQotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9QYWdlMSIp
LmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJ
Rm9yUGF0aCgiL1BhZ2UxIikuZGF0YSgpKSk7CiAgICAgQVNTRVJUX1NUUkVRKGV3a192aWV3X3Rp
dGxlX2dldCh3ZWJWaWV3KCkpLCAiUGFnZTEiKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdf
YmFja19wb3NzaWJsZSh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfZm9y
d2FyZF9wb3NzaWJsZSh3ZWJWaWV3KCkpKTsKIAogICAgIC8vIFZpc2l0IFBhZ2UyCi0gICAgbG9h
ZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL1BhZ2UyIikuZGF0YSgpKTsKKyAg
ICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvUGFn
ZTIiKS5kYXRhKCkpKTsKICAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZp
ZXcoKSksICJQYWdlMiIpOwogICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X2JhY2tfcG9zc2libGUo
d2ViVmlldygpKSk7CiAgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X2ZvcndhcmRfcG9zc2libGUo
d2ViVmlldygpKSk7CkBAIC0zNjcsNyArMzY3LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a192aWV3X3NhbWVfcGFnZV9uYXZpZ2F0aW9uKQogewogICAgIC8vIFRlc3RzIHRoYXQgc2Ft
ZSBwYWdlIG5hdmlnYXRpb24gdXBkYXRlcyB0aGUgcGFnZSBVUkkuCiAgICAgU3RyaW5nIHRlc3RV
cmwgPSBlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNhbWVfcGFnZV9uYXZpZ2F0aW9uLmh0
bWwiKS5kYXRhKCk7Ci0gICAgbG9hZFVybFN5bmModGVzdFVybC51dGY4KCkuZGF0YSgpKTsKKyAg
ICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh0ZXN0VXJsLnV0ZjgoKS5kYXRhKCkpKTsKICAgICBB
U1NFUlRfU1RSRVEodGVzdFVybC51dGY4KCkuZGF0YSgpLCBld2tfdmlld191cmlfZ2V0KHdlYlZp
ZXcoKSkpOwogICAgIG1vdXNlQ2xpY2soNTAsIDUwKTsKICAgICB0ZXN0VXJsID0gdGVzdFVybCAr
ICcjJzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166365</attachid>
            <date>2012-09-29 08:48:31 -0700</date>
            <delta_ts>2012-10-04 09:19:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97920-20120930004746.patch</filename>
            <type>text/plain</type>
            <size>18123</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5OTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjgxN2UxMzZlYWI0MWJi
MzQwNWZhYTY2YWQ4OTM2YTRjNTE1ZWNhOC4uYmNjMTI1NDdmMzY1MzY4YjEyYzk3Y2JkNTczZDUz
MWI1YjI3NWY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA5LTMwICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIENo
YW5nZSBwYXJhbWV0ZXIgYW5kIHJldHVybiB0eXBlIG9mIGxvYWRVcmxTeW5jKCkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzkyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExvYWRVcmxTeW5jKCkgdXNl
cyB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBmdW5jdGlvbiB3aGljaCBoYXMgdGltZW91dAorICAg
ICAgICBhbmQgcmV0dXJucyByZXN1bHQuCisKKyAgICAgICAgVG8gc2V0IHRpbWVvdXQgZm9yIHdh
aXRVbnRpbExvYWRGaW5pc2hlZCgpLCBhIHBhcmFtZXRlciBmb3IgdGltZW91dAorICAgICAgICBp
bnRlcnZhbCBpcyBhZGRlZCB0byBMb2FkVXJsU3luYygpLgorICAgICAgICBBbmQgdG8gY2hlY2sg
dGhlIHJlc3VsdCBvZiB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSwgbG9hZFVybFN5bmMoKSBpcwor
ICAgICAgICBjaGFuZ2VkIHRvIHJldHVybiB0aGUgcmVzdWx0LgorICAgICAgICBBbmQgSSBhZGRl
ZCBjb2RlcyB0byBjaGVjayB0aGUgcmVzdWx0IG9mIGFsbCB0aGUgTG9hZFVybFN5bmMoKQorICAg
ICAgICBmdW5jdGlvbiBjYWxscyB3aXRoIEFTU0VSVF9UUlVFKCkgbWFjcm8uCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2Uu
Y3BwOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3lu
Yyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0sy
VW5pdFRlc3RCYXNlLmg6CisgICAgICAgIChFV0syVW5pdFRlc3RCYXNlKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QuY3BwOgor
ICAgICAgICAoVEVTVF9GKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0
X2V3azJfY29udGV4dC5jcHA6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb29raWVfbWFuYWdlci5jcHA6CisgICAgICAgIChU
RVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9pbnRl
bnRzLmNwcDoKKyAgICAgICAgKFRFU1RfRik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwOgorICAgICAgICAoVEVTVF9GKToKKwogMjAxMi0wOS0y
OSAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0g
Rml4IGJ1aWxkIGVycm9yIDogTGluayB3ZWJraXQyIGxpYnJhcnkgdG8gZXdrMlVuaXRUZXN0SW5q
ZWN0ZWRCdW5kbGVTYW1wbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRl
c3RCYXNlLmNwcAppbmRleCBhNGIyZWZmYjViNzIyMWJjZDliNWU2NDE3NDk5ODg3OWUzNjYxMjM3
Li5jMTBiMTViZmJiZDJjZjRkYzM2OWM4ODU1MTM2ODdhYjEzMzMyMzIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rl
c3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTc0LDEwICs3NCwxMCBA
QCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6OlRlYXJEb3duKCkKICAgICBld2tfc2h1dGRvd24oKTsK
IH0KIAotdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwp
Citib29sIEVXSzJVbml0VGVzdEJhc2U6OmxvYWRVcmxTeW5jKGNvbnN0IGNoYXIqIHVybCwgZG91
YmxlIHRpbWVvdXRTZWNvbmRzKQogewogICAgIGV3a192aWV3X3VyaV9zZXQobV93ZWJWaWV3LCB1
cmwpOwotICAgIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIHJldHVybiB3YWl0VW50aWxM
b2FkRmluaXNoZWQodGltZW91dFNlY29uZHMpOwogfQogCiBjbGFzcyBDYWxsYmFja0RhdGFUaW1l
ciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9V
bml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCmluZGV4IDc5
ODI2NmVhNWI2MGJlZDQ1NmRmY2JjMzMwNjMxODMyNzVlODM0ZDYuLmZlMzk0NThjOTJkNDhiMTY3
ZTVjZTNhOTNhOWEyZDM0ODFlYWY1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5oCkBAIC00MCw5ICs0MCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgU2V0VXAoKTsKICAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKTsKIAotICAgIHZvaWQg
bG9hZFVybFN5bmMoY29uc3QgY2hhciogdXJsKTsKLQogICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
ZGVmYXVsdFRpbWVvdXRTZWNvbmRzID0gMTAuMDsKKworICAgIGJvb2wgbG9hZFVybFN5bmMoY29u
c3QgY2hhciogdXJsLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29u
ZHMpOwogICAgIGJvb2wgd2FpdFVudGlsTG9hZEZpbmlzaGVkKGRvdWJsZSB0aW1lb3V0U2Vjb25k
cyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxUaXRsZUNoYW5n
ZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBk
ZWZhdWx0VGltZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsVVJJQ2hhbmdlZFRvKGNv
bnN0IGNoYXIqIGV4cGVjdGVkVVJJLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBkZWZhdWx0VGlt
ZW91dFNlY29uZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9iYWNrX2ZvcndhcmRfbGlzdC5jcHAK
aW5kZXggNDYyMzUxZjM5YWVmNzlkZmRiM2EzZDE4Y2EzYmRiZjI5NjNjYjRiNC4uYWJmYTE0YWIx
ZDAwNDJlNTYzNWMxOTc3ZjkxMmMxMWE3ZGZlNGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJf
YmFja19mb3J3YXJkX2xpc3QuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBmcmVlRWluYUxpc3QoRWluYV9MaXN0KiBsaXN0KQogVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jdXJyZW50X2l0ZW1fZ2V0KQogewogICAgIGNvbnN0IGNo
YXIqIHVybCA9IGVudmlyb25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKTsKLSAgICBsb2FkVXJs
U3luYyh1cmwpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKHVybCkpOwogICAgIEV3a19C
YWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJk
X2xpc3RfZ2V0KHdlYlZpZXcoKSk7CiAgICAgQVNTRVJUX1RSVUUoYmFja0ZvcndhcmRMaXN0KTsK
IApAQCAtMTA2LDEwICsxMDYsMTAgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19iYWNr
X2ZvcndhcmRfbGlzdF9wcmV2aW91c19pdGVtX2dldCkKICAgICBodHRwU2VydmVyLT5ydW4oc2Vy
dmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwxID0g
dXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAgbG9hZFVybFN5bmMo
dXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwogICAgIEFTU0VSVF9T
VFJFUSh0aXRsZTEsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAotICAgIGxvYWRV
cmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTIpKTsKKyAgICBBU1NF
UlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUy
KSkpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTIsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3
KCkpKTsKIAogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdr
X3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXcoKSk7CkBAIC0xMjcsMTEgKzEyNywx
MSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2JhY2tfZm9yd2FyZF9saXN0X25leHRf
aXRlbV9nZXQpCiAgICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0cFNlcnZlciA9IGFk
b3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOwogICAgIGh0dHBTZXJ2ZXItPnJ1bihzZXJ2
ZXJDYWxsYmFja05hdmlnYXRpb24pOwogCi0gICAgbG9hZFVybFN5bmModXJsRnJvbVRpdGxlKGh0
dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKHVy
bEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKSk7CiAgICAgQVNTRVJUX1NUUkVR
KHRpdGxlMSwgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSkpOwogCiAgICAgV0tFaW5hU2hh
cmVkU3RyaW5nIHVybDIgPSB1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUyKTsK
LSAgICBsb2FkVXJsU3luYyh1cmwyKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmwy
KSk7CiAgICAgQVNTRVJUX1NUUkVRKHRpdGxlMiwgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXco
KSkpOwogCiAgICAgLy8gR28gYmFjayB0byBQYWdlMS4KQEAgLTE1NCwxMCArMTU0LDEwIEBAIFRF
U1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9hdF9pbmRl
eF9nZXQpCiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAK
ICAgICBXS0VpbmFTaGFyZWRTdHJpbmcgdXJsMSA9IHVybEZyb21UaXRsZShodHRwU2VydmVyLmdl
dCgpLCB0aXRsZTEpOwotICAgIGxvYWRVcmxTeW5jKHVybDEpOworICAgIEFTU0VSVF9UUlVFKGxv
YWRVcmxTeW5jKHVybDEpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0bGUxLCBld2tfdmlld190aXRs
ZV9nZXQod2ViVmlldygpKSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNl
cnZlci5nZXQoKSwgdGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJv
bVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0
bGUyLCBld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSk7CiAKICAgICBFd2tfQmFja19Gb3J3
YXJkX0xpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9yd2FyZF9saXN0X2dl
dCh3ZWJWaWV3KCkpOwpAQCAtMTc4LDEwICsxNzgsMTAgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJh
c2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jb3VudCkKICAgICBPd25QdHI8RVdLMlVuaXRUZXN0
U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVzdFNlcnZlcik7CiAg
ICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAKLSAgICBsb2Fk
VXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUxKSk7CisgICAgQVNT
RVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxl
MSkpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0bGUxLCBld2tfdmlld190aXRsZV9nZXQod2ViVmll
dygpKSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwg
dGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJvbVRpdGxlKGh0dHBT
ZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0bGUyLCBld2tfdmll
d190aXRsZV9nZXQod2ViVmlldygpKSk7CiAKICAgICBFd2tfQmFja19Gb3J3YXJkX0xpc3QqIGJh
Y2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9yd2FyZF9saXN0X2dldCh3ZWJWaWV3KCkp
OwpAQCAtMTk2LDE0ICsxOTYsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19iYWNr
X2ZvcndhcmRfbGlzdF9uX2JhY2tfaXRlbXNfY29weSkKICAgICBodHRwU2VydmVyLT5ydW4oc2Vy
dmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwxID0g
dXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAgbG9hZFVybFN5bmMo
dXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwogICAgIEFTU0VSVF9T
VFJFUSh0aXRsZTEsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIFdLRWlu
YVNoYXJlZFN0cmluZyB1cmwyID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxl
Mik7Ci0gICAgbG9hZFVybFN5bmModXJsMik7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMo
dXJsMikpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTIsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJW
aWV3KCkpKTsKIAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgp
LCB0aXRsZTMpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0
cFNlcnZlci5nZXQoKSwgdGl0bGUzKSkpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTMsIGV3a192
aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCog
YmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXco
KSk7CkBAIC0yMzIsMTUgKzIzMiwxNSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Jh
Y2tfZm9yd2FyZF9saXN0X25fZm9yd2FyZF9pdGVtc19jb3B5KQogICAgIE93blB0cjxFV0syVW5p
dFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVuaXRUZXN0U2VydmVy
KTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAotICAg
IGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKTsKKyAg
ICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwg
dGl0bGUxKSkpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTEsIGV3a192aWV3X3RpdGxlX2dldCh3
ZWJWaWV3KCkpKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwyID0gdXJsRnJvbVRpdGxl
KGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMik7Ci0gICAgbG9hZFVybFN5bmModXJsMik7CisgICAg
QVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMikpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTIs
IGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmlu
ZyB1cmwzID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMyk7Ci0gICAgbG9h
ZFVybFN5bmModXJsMyk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMykpOwogICAg
IEFTU0VSVF9TVFJFUSh0aXRsZTMsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAog
ICAgIC8vIEdvIGJhY2sgdG8gUGFnZTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAKaW5kZXggOTIw
ZDc1Yjg0NTJjNTBhOTUwNDllNmQ3MWQ0YmVmZjlkOTk0MWVjYi4uMjk0NDg5MzQyOTE0ZTcwOTZj
OGU3OTkwMTc1ZTQ5MTIwMzNmZjBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcApAQCAtNjcs
NyArNjcsNyBAQCBzdGF0aWMgdm9pZCBzY2hlbWVSZXF1ZXN0Q2FsbGJhY2soRXdrX1VybF9TY2hl
bWVfUmVxdWVzdCogcmVxdWVzdCwgdm9pZCogdXNlckRhdAogVEVTVF9GKEVXSzJVbml0VGVzdEJh
c2UsIGV3a19jb250ZXh0X3VyaV9zY2hlbWVfcmVnaXN0ZXIpCiB7CiAgICAgZXdrX2NvbnRleHRf
dXJpX3NjaGVtZV9yZWdpc3Rlcihld2tfdmlld19jb250ZXh0X2dldCh3ZWJWaWV3KCkpLCAiZm9v
c2NoZW1lIiwgc2NoZW1lUmVxdWVzdENhbGxiYWNrLCAwKTsKLSAgICBsb2FkVXJsU3luYygiZm9v
c2NoZW1lOk15UGF0aCIpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKCJmb29zY2hlbWU6
TXlQYXRoIikpOwogICAgIEFTU0VSVF9TVFJFUSgiRm9vIiwgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdl
YlZpZXcoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2Nvb2tpZV9tYW5hZ2VyLmNwcAppbmRl
eCA3ODhhY2M5MjNlNzA4MDMwMTA2ZjU3MjM1NmI5OGJlYjkwYzBmMGEyLi42YTA2ODZjNWI1Njdm
MjE0NWM3Nzg5ZTI1NmZkNWY5NzMyYmE4YTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb29raWVf
bWFuYWdlci5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwg
ZXdrX2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAKICAgICAvLyBEZWZhdWx0IHBvbGlj
eSBpcyBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfTk9fVEhJUkRfUEFSVFkuCiAgICAgQVNTRVJU
X0VRKEVXS19DT09LSUVfQUNDRVBUX1BPTElDWV9OT19USElSRF9QQVJUWSwgZ2V0QWNjZXB0UG9s
aWN5KGNvb2tpZU1hbmFnZXIpKTsKLSAgICBsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklG
b3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5
bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpKTsKIAog
ICAgIEVpbmFfTGlzdCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2ll
TWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKDEsIGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpKTsK
QEAgLTEzNyw3ICsxMzcsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9t
YW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0byBFV0tfQ09PS0lF
X0FDQ0VQVF9QT0xJQ1lfQUxXQVlTCiAgICAgZXdrX2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xp
Y3lfc2V0KGNvb2tpZU1hbmFnZXIsIEVXS19DT09LSUVfQUNDRVBUX1BPTElDWV9BTFdBWVMpOwog
ICAgIEFTU0VSVF9FUShFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTLCBnZXRBY2NlcHRQ
b2xpY3koY29va2llTWFuYWdlcikpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVS
SUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJs
U3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwog
CiAgICAgaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFuYWdlcik7
CiAgICAgQVNTRVJUX0VRKDIsIGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpKTsKQEAgLTE0OSw3
ICsxNDksNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5hZ2VyX2Fj
Y2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0byBFV0tfQ09PS0lFX0FDQ0VQVF9Q
T0xJQ1lfTkVWRVIKICAgICBld2tfY29va2llX21hbmFnZXJfYWNjZXB0X3BvbGljeV9zZXQoY29v
a2llTWFuYWdlciwgRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX05FVkVSKTsKICAgICBBU1NFUlRf
RVEoRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX05FVkVSLCBnZXRBY2NlcHRQb2xpY3koY29va2ll
TWFuYWdlcikpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9p
bmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2Vy
dmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFTU0VSVF9F
USgwLCBjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsKIH0KIApAQCAt
MTc1LDcgKzE3NSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29va2llX21hbmFn
ZXJfY2hhbmdlc193YXRjaCkKICAgICBld2tfY29va2llX21hbmFnZXJfY2hhbmdlc193YXRjaChj
b29raWVNYW5hZ2VyLCBvbkNvb2tpZXNDaGFuZ2VkLCAmY29va2llc0NoYW5nZWQpOwogCiAgICAg
Ly8gQ2hlY2sgZm9yIGNvb2tpZSBjaGFuZ2VzIG5vdGlmaWNhdGlvbnMKLSAgICBsb2FkVXJsU3lu
YyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAg
QVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4
Lmh0bWwiKS5kYXRhKCkpKTsKIAogICAgIHdoaWxlICghY29va2llc0NoYW5nZWQpCiAgICAgICAg
IGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CkBAIC0xOTAsNyArMTkwLDcgQEAgVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNoKQogICAgIC8v
IFN0b3Agd2F0Y2hpbmcgZm9yIG5vdGlmaWNhdGlvbnMKICAgICBld2tfY29va2llX21hbmFnZXJf
Y2hhbmdlc193YXRjaChjb29raWVNYW5hZ2VyLCAwLCAwKTsKICAgICBjb29raWVzQ2hhbmdlZCA9
IGZhbHNlOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRl
eC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVy
LT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFTU0VSVF9FUSgy
LCBjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsKICAgICBBU1NFUlRf
RkFMU0UoY29va2llc0NoYW5nZWQpOwogCkBAIC0yMDQsNyArMjA0LDcgQEAgVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNoKQogICAgIEFTU0VS
VF9UUlVFKG1rdGVtcCh0ZXh0U3RvcmFnZTIpKTsKIAogICAgIGV3a19jb29raWVfbWFuYWdlcl9w
ZXJzaXN0ZW50X3N0b3JhZ2Vfc2V0KGNvb2tpZU1hbmFnZXIsIHRleHRTdG9yYWdlMSwgRVdLX0NP
T0tJRV9QRVJTSVNURU5UX1NUT1JBR0VfVEVYVCk7Ci0gICAgbG9hZFVybFN5bmMoaHR0cFNlcnZl
ci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVF
KGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0
YSgpKSk7CiAgICAgQVNTRVJUX0VRKDIsIGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2ll
TWFuYWdlcikpOwogCiAgICAgY29va2llc0NoYW5nZWQgPSBmYWxzZTsKQEAgLTIzMyw3ICsyMzMs
NyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5hZ2VyX2Nvb2tpZXNf
ZGVsZXRlKQogICAgIGV3a19jb29raWVfbWFuYWdlcl9hY2NlcHRfcG9saWN5X3NldChjb29raWVN
YW5hZ2VyLCBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTKTsKICAgICBBU1NFUlRfRVEo
RVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX0FMV0FZUywgZ2V0QWNjZXB0UG9saWN5KGNvb2tpZU1h
bmFnZXIpKTsKIAotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9p
bmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2Vy
dmVyLT5nZXRVUklGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEVpbmFfTGlz
dCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFuYWdlcik7CiAg
ICAgQVNTRVJUX0VRKDIsIGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpKTsKICAgICBmcmVlSG9z
dE5hbWVzKGhvc3RuYW1lcyk7CkBAIC0yNTAsNyArMjUwLDcgQEAgVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jb29raWVzX2RlbGV0ZSkKICAgICBBU1NFUlRfRVEo
MCwgY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29raWVNYW5hZ2VyKSk7CiAKICAgICAvLyBH
ZXQgYWxsIGNvb2tpZXMgYWdhaW4KLSAgICBsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklG
b3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5
bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpKTsKICAg
ICBBU1NFUlRfRVEoMiwgY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29raWVNYW5hZ2VyKSk7
CiAKICAgICAvLyBDbGVhciBhbGwgY29va2llcwpAQCAtMjc5LDE0ICsyNzksMTQgQEAgVEVTVF9G
KEVXSzJVbml0VGVzdEJhc2UsIERJU0FCTEVEX2V3a19jb29raWVfbWFuYWdlcl9wZXJtYW5lbnRf
c3RvcmFnZSkKICAgICBld2tfY29va2llX21hbmFnZXJfcGVyc2lzdGVudF9zdG9yYWdlX3NldChj
b29raWVNYW5hZ2VyLCB0ZXh0U3RvcmFnZSwgRVdLX0NPT0tJRV9QRVJTSVNURU5UX1NUT1JBR0Vf
VEVYVCk7CiAgICAgQVNTRVJUX0VRKDAsIGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2ll
TWFuYWdlcikpOwogCi0gICAgbG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgi
L2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGh0dHBT
ZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKSk7CiAgICAgQVNTRVJU
X0VRKDIsIGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFuYWdlcikpOwogCiAgICAg
Ly8gU1FMaXRlIHN0b3JhZ2UgdXNpbmcgYSBuZXcgZmlsZS4KICAgICBld2tfY29va2llX21hbmFn
ZXJfcGVyc2lzdGVudF9zdG9yYWdlX3NldChjb29raWVNYW5hZ2VyLCBzcWxpdGVTdG9yYWdlLCBF
V0tfQ09PS0lFX1BFUlNJU1RFTlRfU1RPUkFHRV9TUUxJVEUpOwogICAgIEFTU0VSVF9FUSgwLCBj
b3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsKIAotICAgIGxvYWRVcmxT
eW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAg
ICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW5k
ZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFTU0VSVF9FUSgyLCBjb3VudEhvc3RuYW1lc1dpdGhD
b29raWVzKGNvb2tpZU1hbmFnZXIpKTsKIAogICAgIC8vIFRleHQgc3RvcmFnZSB1c2luZyBhbiBl
eGlzdGluZyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwCmluZGV4IGYyMTcxZmFhMGNiYTlj
MmY4ZDkyYzYwNmJlZGRhZjQyOWEzYjY2NmEuLjRiNDZjZDg4M2EwYmM1OTgwYzI1NWUzNmE5OTMw
MjFiNjFiZTljYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL3Rlc3RfZXdrMl9pbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfaW50ZW50cy5jcHAKQEAgLTU0LDcgKzU0LDcgQEAg
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19pbnRlbnRfc2VydmljZV9yZWdpc3RyYXRpb24p
CiB7CiAgICAgYm9vbCBpbnRlbnRSZWdpc3RlcmVkID0gZmFsc2U7CiAgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfYWRkKHdlYlZpZXcoKSwgImludGVudCxzZXJ2aWNlLHJlZ2lzdGVyIiwg
b25JbnRlbnRTZXJ2aWNlUmVnaXN0cmF0aW9uLCAmaW50ZW50UmVnaXN0ZXJlZCk7Ci0gICAgbG9h
ZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJpbnRlbnQtc2VydmljZS5odG1s
IikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJs
Rm9yUmVzb3VyY2UoImludGVudC1zZXJ2aWNlLmh0bWwiKS5kYXRhKCkpKTsKICAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19kZWwod2ViVmlldygpLCAiaW50ZW50LHNlcnZpY2UscmVnaXN0
ZXIiLCBvbkludGVudFNlcnZpY2VSZWdpc3RyYXRpb24pOwogICAgIEFTU0VSVF9UUlVFKGludGVu
dFJlZ2lzdGVyZWQpOwogfQpAQCAtMTAzLDcgKzEwMyw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RC
YXNlLCBld2tfaW50ZW50X3JlcXVlc3QpCiB7CiAgICAgdW5zaWduZWQgaW50ZW50UmVjZWl2ZWRD
b3VudCA9IDA7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdlYlZpZXcoKSwg
ImludGVudCxyZXF1ZXN0LG5ldyIsIG9uSW50ZW50UmVjZWl2ZWQsICZpbnRlbnRSZWNlaXZlZENv
dW50KTsKLSAgICBsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoImludGVu
dC1yZXF1ZXN0Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVu
dmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgiaW50ZW50LXJlcXVlc3QuaHRtbCIpLmRhdGEoKSkp
OwogCiAgICAgLy8gQSB1c2VyIGdlc3R1cmUgaXMgcmVxdWlyZWQgZm9yIHRoZSBpbnRlbnQgdG8g
c3RhcnQuCiAgICAgbW91c2VDbGljayg1LCA1KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcAppbmRleCAzZjY3
ZDVlYTI4ZDFjZjcxNWFkYzQwNGU2ZmFmZWEwNTJjZjRmNTM5Li5iYWQ0NzM3YmVlMmEzOTkxYWY5
MjgxZWE0MGUwZTBiN2RkOWEyYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCkBAIC00Niw3ICs0Niw3
IEBAIHN0YXRpYyB2b2lkIG9uTG9hZEZpbmlzaGVkRm9yUmVkaXJlY3Rpb24odm9pZCogdXNlckRh
dGEsIEV2YXNfT2JqZWN0Kiwgdm9pZCopCiAKIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tf
dmlld191cmlfZ2V0KQogewotICAgIGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT5kZWZhdWx0VGVz
dFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPmRl
ZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAgICAgRVhQRUNUX1NUUkVRKGVudmlyb25tZW50LT5kZWZh
dWx0VGVzdFBhZ2VVcmwoKSwgZXdrX3ZpZXdfdXJpX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIGlu
dCBjb3VudExvYWRGaW5pc2hlZCA9IDI7CkBAIC02MCw3ICs2MCw3IEBAIFRFU1RfRihFV0syVW5p
dFRlc3RCYXNlLCBld2tfdmlld191cmlfZ2V0KQogCiBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwg
ZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvKQogewotICAgIGxvYWRVcmxTeW5jKGVudmlyb25t
ZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMo
ZW52aXJvbm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAKICAgICAvLyBEZWZhdWx0IHBp
eGVsIHJhdGlvIGlzIDEuMAogICAgIEFTU0VSVF9GTE9BVF9FUSgxLCBld2tfdmlld19kZXZpY2Vf
cGl4ZWxfcmF0aW9fZ2V0KHdlYlZpZXcoKSkpOwpAQCAtMTA2LDEzICsxMDYsMTMgQEAgVEVTVF9G
KEVXSzJVbml0VGVzdEJhc2UsIGV3a192aWV3X25hdmlnYXRpb24pCiAgICAgaHR0cFNlcnZlci0+
cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAKICAgICAvLyBWaXNpdCBQYWdlMQotICAg
IGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9QYWdlMSIpLmRhdGEoKSk7
CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgi
L1BhZ2UxIikuZGF0YSgpKSk7CiAgICAgQVNTRVJUX1NUUkVRKCJQYWdlMSIsIGV3a192aWV3X3Rp
dGxlX2dldCh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfYmFja19wb3Nz
aWJsZSh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfZm9yd2FyZF9wb3Nz
aWJsZSh3ZWJWaWV3KCkpKTsKIAogICAgIC8vIFZpc2l0IFBhZ2UyCi0gICAgbG9hZFVybFN5bmMo
aHR0cFNlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL1BhZ2UyIikuZGF0YSgpKTsKKyAgICBBU1NFUlRf
VFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvUGFnZTIiKS5kYXRh
KCkpKTsKICAgICBBU1NFUlRfU1RSRVEoIlBhZ2UyIiwgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZp
ZXcoKSkpOwogICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X2JhY2tfcG9zc2libGUod2ViVmlldygp
KSk7CiAgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X2ZvcndhcmRfcG9zc2libGUod2ViVmlldygp
KSk7CkBAIC0zNjcsNyArMzY3LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192aWV3
X3NhbWVfcGFnZV9uYXZpZ2F0aW9uKQogewogICAgIC8vIFRlc3RzIHRoYXQgc2FtZSBwYWdlIG5h
dmlnYXRpb24gdXBkYXRlcyB0aGUgcGFnZSBVUkkuCiAgICAgU3RyaW5nIHRlc3RVcmwgPSBlbnZp
cm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNhbWVfcGFnZV9uYXZpZ2F0aW9uLmh0bWwiKS5kYXRh
KCk7Ci0gICAgbG9hZFVybFN5bmModGVzdFVybC51dGY4KCkuZGF0YSgpKTsKKyAgICBBU1NFUlRf
VFJVRShsb2FkVXJsU3luYyh0ZXN0VXJsLnV0ZjgoKS5kYXRhKCkpKTsKICAgICBBU1NFUlRfU1RS
RVEodGVzdFVybC51dGY4KCkuZGF0YSgpLCBld2tfdmlld191cmlfZ2V0KHdlYlZpZXcoKSkpOwog
ICAgIG1vdXNlQ2xpY2soNTAsIDUwKTsKICAgICB0ZXN0VXJsID0gdGVzdFVybCArICcjJzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167114</attachid>
            <date>2012-10-04 09:19:27 -0700</date>
            <delta_ts>2012-10-09 07:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97920-20121005011836.patch</filename>
            <type>text/plain</type>
            <size>2935</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzc2NmVkODI5YTQ0Zjg1
ZTcxYmZjOGRkNjVmNTRmZTU4NjI1NDVkMS4uN2U5MDk4MmMzNmU3MGIyNDE1NTMyMjU0NDAzZGNm
ZjNhYjQ2MGJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTA0ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIENo
YW5nZSBwYXJhbWV0ZXIgYW5kIHJldHVybiB0eXBlIG9mIGxvYWRVcmxTeW5jKCkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzkyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGxvYWRVcmxTeW5jKCkgdXNl
cyB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBpbnRlcm5hbGx5LCBhbmQgaXQgaGFzCisgICAgICAg
IGEgcGFyYW1ldGVyIGFuZCByZXR1cm4gdmFsdWUgZm9yIHRpbWVvdXQuCisgICAgICAgIFRvIHNl
dCBhbmQgY2hlY2sgdGltZW91dCwgbG9hZFVybFN5bmMoKSBzaG91bGQgaGF2ZSB0aG9zZS4KKwor
ICAgICAgICBBIHBhcmFtZXRlciBmb3IgdGltZW91dCBpbnRlcnZhbCBpcyBhZGRlZCB0byBsb2Fk
VXJsU3luYygpIGFuZCBpdAorICAgICAgICByZXR1cm5zIHRoZSByZXN1bHQgb2Ygd2FpdFVudGls
TG9hZEZpbmlzaGVkKCkgZm9yIGNoZWNraW5nIHRpbWVvdXQuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwOgorICAg
ICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmg6CisgICAgICAgIChFV0syVW5pdFRlc3RCYXNlKToKKwogMjAxMi0xMC0wNCAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFJlZ3Jl
c3Npb24ocjEzMDM2Myk6IEJyb2tlIHVuaXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0
aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IDhkZTMyYTI0ZGI1OTdiN2U1N2VmYTQ1ZTk5
YTBlOGQ3MDM5NmQ1ZDEuLjllNDJkNjg1ZmVlM2M2M2MzNTU1ZGE0ZDAwNTgwNmE3MDBiYjdjMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRU
ZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAt
NzEsMTAgKzcxLDEwIEBAIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6VGVhckRvd24oKQogICAgIGV3
a19zaHV0ZG93bigpOwogfQogCi12b2lkIEVXSzJVbml0VGVzdEJhc2U6OmxvYWRVcmxTeW5jKGNv
bnN0IGNoYXIqIHVybCkKK2Jvb2wgRVdLMlVuaXRUZXN0QmFzZTo6bG9hZFVybFN5bmMoY29uc3Qg
Y2hhciogdXJsLCBkb3VibGUgdGltZW91dFNlY29uZHMpCiB7CiAgICAgZXdrX3ZpZXdfdXJpX3Nl
dChtX3dlYlZpZXcsIHVybCk7Ci0gICAgd2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisgICAgcmV0
dXJuIHdhaXRVbnRpbExvYWRGaW5pc2hlZCh0aW1lb3V0U2Vjb25kcyk7CiB9CiAKIGNsYXNzIENh
bGxiYWNrRGF0YVRpbWVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmgKaW5kZXggNzk4MjY2ZWE1YjYwYmVkNDU2ZGZjYmMzMzA2MzE4MzI3NWU4MzRkNi4uZmUz
OTQ1OGM5MmQ0OGIxNjdlNWNlM2E5M2E5YTJkMzQ4MWVhZjVlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRl
c3RCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5p
dFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKQEAgLTQwLDkgKzQwLDkgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpOwogICAgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigp
OwogCi0gICAgdm9pZCBsb2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwpOwotCiAgICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBkZWZhdWx0VGltZW91dFNlY29uZHMgPSAxMC4wOworCisgICAgYm9vbCBs
b2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1
bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxMb2FkRmluaXNoZWQoZG91Ymxl
IHRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVvdXRTZWNvbmRzKTsKICAgICBib29sIHdhaXRV
bnRpbFRpdGxlQ2hhbmdlZFRvKGNvbnN0IGNoYXIqIGV4cGVjdGVkVGl0bGUsIGRvdWJsZSB0aW1l
b3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxV
UklDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0ZWRVUkksIGRvdWJsZSB0aW1lb3V0U2Vjb25k
cyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167750</attachid>
            <date>2012-10-09 07:18:29 -0700</date>
            <delta_ts>2012-10-09 21:49:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97920-20121009231729.patch</filename>
            <type>text/plain</type>
            <size>18078</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTRjNjdjYWViN2Y0ZGU2
OGMwYzA1Y2M4ZDM1MjcwN2VkMzU4MWViNi4uZTFkOWIxNzVmYzY5ZGI2NzdmYWFkNzg1MmVhZjgx
NjNmNWQ4OTUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEwLTA5ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIENo
YW5nZSBwYXJhbWV0ZXIgYW5kIHJldHVybiB0eXBlIG9mIGxvYWRVcmxTeW5jKCkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzkyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGxvYWRVcmxTeW5jKCkgdXNl
cyB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBpbnRlcm5hbGx5LCBhbmQgaXQgaGFzCisgICAgICAg
IGEgcGFyYW1ldGVyIGFuZCByZXR1cm4gdmFsdWUgZm9yIHRpbWVvdXQuCisgICAgICAgIFRvIHNl
dCBhbmQgY2hlY2sgdGltZW91dCwgbG9hZFVybFN5bmMoKSBzaG91bGQgaGF2ZSB0aG9zZS4KKwor
ICAgICAgICBBIHBhcmFtZXRlciBmb3IgdGltZW91dCBpbnRlcnZhbCBpcyBhZGRlZCB0byBsb2Fk
VXJsU3luYygpIGFuZCBpdAorICAgICAgICByZXR1cm5zIHRoZSByZXN1bHQgb2Ygd2FpdFVudGls
TG9hZEZpbmlzaGVkKCkgZm9yIGNoZWNraW5nIHRpbWVvdXQuCisKKyAgICAgICAgQW5kIEkgYWRk
ZWQgY29kZXMgdG8gY2hlY2sgdGhlIHJlc3VsdCBvZiBhbGwgdGhlIExvYWRVcmxTeW5jKCkKKyAg
ICAgICAgZnVuY3Rpb24gY2FsbHMgd2l0aCBBU1NFUlRfVFJVRSgpIG1hY3JvLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6bG9hZFVybFN5
bmMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5oOgorICAgICAgICAoRVdLMlVuaXRUZXN0QmFzZSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNwcDoK
KyAgICAgICAgKFRFU1RfRik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVz
dF9ld2syX2NvbnRleHQuY3BwOgorICAgICAgICAoVEVTVF9GKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwOgorICAgICAgICAo
VEVTVF9GKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfaW50
ZW50cy5jcHA6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcDoKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTItMTAt
MDggIEtpcmFuIE11cHBhbGEgIDxjbXVwcGFsYUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0
bGUgRE9NIHRpbWVycyBvbiBoaWRkZW4gcGFnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGls
cy9FV0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCA0ZDUzMjE2NDM0OGQ0YWQxNzgyZWRmZjRiYWMw
ZmVhYzNkYzYxZmE1Li5kZTlmN2IwNGM3ZTAyZmM4NThmMTBkMTk5ZGM0YzFmZjFkNTdjODNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTcx
LDEwICs3MSwxMCBAQCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6OlRlYXJEb3duKCkKICAgICBld2tf
c2h1dGRvd24oKTsKIH0KIAotdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyhjb25z
dCBjaGFyKiB1cmwpCitib29sIEVXSzJVbml0VGVzdEJhc2U6OmxvYWRVcmxTeW5jKGNvbnN0IGNo
YXIqIHVybCwgZG91YmxlIHRpbWVvdXRTZWNvbmRzKQogewogICAgIGV3a192aWV3X3VybF9zZXQo
bV93ZWJWaWV3LCB1cmwpOwotICAgIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIHJldHVy
biB3YWl0VW50aWxMb2FkRmluaXNoZWQodGltZW91dFNlY29uZHMpOwogfQogCiBjbGFzcyBDYWxs
YmFja0RhdGFUaW1lciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFz
ZS5oCmluZGV4IDFlOGE1MjBmNTVmYWJjNzQyMjFkNzYzZjRjYTg3MmU1MzJkNzJiNTYuLjJlYmI5
NTA5M2Q3ZjU3NDM5MDI3Zjg1NGU2NjlkYzJlODliZTMwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRU
ZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCkBAIC00MCw5ICs0MCw5IEBAIHByb3RlY3RlZDoK
ICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKTsKICAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKTsK
IAotICAgIHZvaWQgbG9hZFVybFN5bmMoY29uc3QgY2hhciogdXJsKTsKLQogICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgZGVmYXVsdFRpbWVvdXRTZWNvbmRzID0gMTAuMDsKKworICAgIGJvb2wgbG9h
ZFVybFN5bmMoY29uc3QgY2hhciogdXJsLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBkZWZhdWx0
VGltZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsTG9hZEZpbmlzaGVkKGRvdWJsZSB0
aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50
aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlLCBkb3VibGUgdGltZW91
dFNlY29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsVVJM
Q2hhbmdlZFRvKGNvbnN0IGNoYXIqIGV4cGVjdGVkVVJMLCBkb3VibGUgdGltZW91dFNlY29uZHMg
PSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9yd2FyZF9saXN0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9iYWNrX2Zvcndh
cmRfbGlzdC5jcHAKaW5kZXggZThjMzg3NTIzYWNjZTAxODYwMzQ2ODhiNzhmZjM3MzkyZDYyY2Y3
NC4uODBkNzc1NWVjMDc3MWFlMGMyYjYwYzhlOTNlNDJlN2I1YmJmNmI0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2JhY2tfZm9y
d2FyZF9saXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBmcmVlRWluYUxpc3QoRWluYV9MaXN0KiBsaXN0KQogVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jdXJyZW50X2l0ZW1fZ2V0KQogewog
ICAgIGNvbnN0IGNoYXIqIHVybCA9IGVudmlyb25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKTsK
LSAgICBsb2FkVXJsU3luYyh1cmwpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKHVybCkp
OwogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdf
YmFja19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXcoKSk7CiAgICAgQVNTRVJUX1RSVUUoYmFja0Zv
cndhcmRMaXN0KTsKIApAQCAtMTA2LDEwICsxMDYsMTAgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJh
c2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9wcmV2aW91c19pdGVtX2dldCkKICAgICBodHRwU2Vy
dmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0
cmluZyB1cmwxID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAg
bG9hZFVybFN5bmModXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwog
ICAgIEFTU0VSVF9TVFJFUSh0aXRsZTEsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsK
IAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTIp
KTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5n
ZXQoKSwgdGl0bGUyKSkpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTIsIGV3a192aWV3X3RpdGxl
X2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0Zvcndh
cmRMaXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0KHdlYlZpZXcoKSk7CkBAIC0x
MjcsMTEgKzEyNywxMSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2JhY2tfZm9yd2Fy
ZF9saXN0X25leHRfaXRlbV9nZXQpCiAgICAgT3duUHRyPEVXSzJVbml0VGVzdFNlcnZlcj4gaHR0
cFNlcnZlciA9IGFkb3B0UHRyKG5ldyBFV0syVW5pdFRlc3RTZXJ2ZXIpOwogICAgIGh0dHBTZXJ2
ZXItPnJ1bihzZXJ2ZXJDYWxsYmFja05hdmlnYXRpb24pOwogCi0gICAgbG9hZFVybFN5bmModXJs
RnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSkpOworICAgIEFTU0VSVF9UUlVFKGxv
YWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0aXRsZTEpKSk7CiAgICAg
QVNTRVJUX1NUUkVRKHRpdGxlMSwgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSkpOwogCiAg
ICAgV0tFaW5hU2hhcmVkU3RyaW5nIHVybDIgPSB1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQo
KSwgdGl0bGUyKTsKLSAgICBsb2FkVXJsU3luYyh1cmwyKTsKKyAgICBBU1NFUlRfVFJVRShsb2Fk
VXJsU3luYyh1cmwyKSk7CiAgICAgQVNTRVJUX1NUUkVRKHRpdGxlMiwgZXdrX3ZpZXdfdGl0bGVf
Z2V0KHdlYlZpZXcoKSkpOwogCiAgICAgLy8gR28gYmFjayB0byBQYWdlMS4KQEAgLTE1NCwxMCAr
MTU0LDEwIEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfYmFja19mb3J3YXJkX2xpc3Rf
aXRlbV9hdF9pbmRleF9nZXQpCiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2
aWdhdGlvbik7CiAKICAgICBXS0VpbmFTaGFyZWRTdHJpbmcgdXJsMSA9IHVybEZyb21UaXRsZSho
dHRwU2VydmVyLmdldCgpLCB0aXRsZTEpOwotICAgIGxvYWRVcmxTeW5jKHVybDEpOworICAgIEFT
U0VSVF9UUlVFKGxvYWRVcmxTeW5jKHVybDEpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0bGUxLCBl
d2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9t
VGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVy
bFN5bmModXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NF
UlRfU1RSRVEodGl0bGUyLCBld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSk7CiAKICAgICBF
d2tfQmFja19Gb3J3YXJkX0xpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9y
d2FyZF9saXN0X2dldCh3ZWJWaWV3KCkpOwpAQCAtMTc4LDEwICsxNzgsMTAgQEAgVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9jb3VudCkKICAgICBPd25QdHI8
RVdLMlVuaXRUZXN0U2VydmVyPiBodHRwU2VydmVyID0gYWRvcHRQdHIobmV3IEVXSzJVbml0VGVz
dFNlcnZlcik7CiAgICAgaHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7
CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUx
KSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIu
Z2V0KCksIHRpdGxlMSkpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0bGUxLCBld2tfdmlld190aXRs
ZV9nZXQod2ViVmlldygpKSk7CiAKLSAgICBsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNl
cnZlci5nZXQoKSwgdGl0bGUyKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsRnJv
bVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMikpKTsKICAgICBBU1NFUlRfU1RSRVEodGl0
bGUyLCBld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSk7CiAKICAgICBFd2tfQmFja19Gb3J3
YXJkX0xpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGV3a192aWV3X2JhY2tfZm9yd2FyZF9saXN0X2dl
dCh3ZWJWaWV3KCkpOwpAQCAtMTk2LDE0ICsxOTYsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJh
c2UsIGV3a19iYWNrX2ZvcndhcmRfbGlzdF9uX2JhY2tfaXRlbXNfY29weSkKICAgICBodHRwU2Vy
dmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0aW9uKTsKIAogICAgIFdLRWluYVNoYXJlZFN0
cmluZyB1cmwxID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMSk7Ci0gICAg
bG9hZFVybFN5bmModXJsMSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMSkpOwog
ICAgIEFTU0VSVF9TVFJFUSh0aXRsZTEsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsK
IAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwyID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIu
Z2V0KCksIHRpdGxlMik7Ci0gICAgbG9hZFVybFN5bmModXJsMik7CisgICAgQVNTRVJUX1RSVUUo
bG9hZFVybFN5bmModXJsMikpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTIsIGV3a192aWV3X3Rp
dGxlX2dldCh3ZWJWaWV3KCkpKTsKIAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRw
U2VydmVyLmdldCgpLCB0aXRsZTMpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxG
cm9tVGl0bGUoaHR0cFNlcnZlci5nZXQoKSwgdGl0bGUzKSkpOwogICAgIEFTU0VSVF9TVFJFUSh0
aXRsZTMsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIEV3a19CYWNrX0Zv
cndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3Rf
Z2V0KHdlYlZpZXcoKSk7CkBAIC0yMzIsMTUgKzIzMiwxNSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgZXdrX2JhY2tfZm9yd2FyZF9saXN0X25fZm9yd2FyZF9pdGVtc19jb3B5KQogICAgIE93
blB0cjxFV0syVW5pdFRlc3RTZXJ2ZXI+IGh0dHBTZXJ2ZXIgPSBhZG9wdFB0cihuZXcgRVdLMlVu
aXRUZXN0U2VydmVyKTsKICAgICBodHRwU2VydmVyLT5ydW4oc2VydmVyQ2FsbGJhY2tOYXZpZ2F0
aW9uKTsKIAotICAgIGxvYWRVcmxTeW5jKHVybEZyb21UaXRsZShodHRwU2VydmVyLmdldCgpLCB0
aXRsZTEpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh1cmxGcm9tVGl0bGUoaHR0cFNl
cnZlci5nZXQoKSwgdGl0bGUxKSkpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTEsIGV3a192aWV3
X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIFdLRWluYVNoYXJlZFN0cmluZyB1cmwyID0g
dXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxlMik7Ci0gICAgbG9hZFVybFN5bmMo
dXJsMik7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmModXJsMikpOwogICAgIEFTU0VSVF9T
VFJFUSh0aXRsZTIsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKIAogICAgIFdLRWlu
YVNoYXJlZFN0cmluZyB1cmwzID0gdXJsRnJvbVRpdGxlKGh0dHBTZXJ2ZXIuZ2V0KCksIHRpdGxl
Myk7Ci0gICAgbG9hZFVybFN5bmModXJsMyk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMo
dXJsMykpOwogICAgIEFTU0VSVF9TVFJFUSh0aXRsZTMsIGV3a192aWV3X3RpdGxlX2dldCh3ZWJW
aWV3KCkpKTsKIAogICAgIC8vIEdvIGJhY2sgdG8gUGFnZTEuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5j
cHAKaW5kZXggZmY1Y2UzMzNjNzRmZmVkMjg1NWY1OTVmZTc1NGM3MGQyMDg3OWU1ZS4uZGZmNDg1
MzQ4NWFiMDA3MjMwOGQ4OTQ2NWJjNWE2MWFiOGI0OWFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0
LmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCBzY2hlbWVSZXF1ZXN0Q2FsbGJhY2so
RXdrX1VybF9TY2hlbWVfUmVxdWVzdCogcmVxdWVzdCwgdm9pZCogdXNlckRhdAogVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIGV3a19jb250ZXh0X3VybF9zY2hlbWVfcmVnaXN0ZXIpCiB7CiAgICAg
ZXdrX2NvbnRleHRfdXJsX3NjaGVtZV9yZWdpc3Rlcihld2tfdmlld19jb250ZXh0X2dldCh3ZWJW
aWV3KCkpLCAiZm9vc2NoZW1lIiwgc2NoZW1lUmVxdWVzdENhbGxiYWNrLCAwKTsKLSAgICBsb2Fk
VXJsU3luYygiZm9vc2NoZW1lOk15UGF0aCIpOworICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5j
KCJmb29zY2hlbWU6TXlQYXRoIikpOwogICAgIEFTU0VSVF9TVFJFUSgiRm9vIiwgZXdrX3ZpZXdf
dGl0bGVfZ2V0KHdlYlZpZXcoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2Nvb2tpZV9tYW5h
Z2VyLmNwcAppbmRleCAyMThhZmNhNDkyODdhNGExMGM1MGQ0NTZjNTk3ZGM0MGY0ZjljY2NhLi41
OThiMTU1MTllMDBmODBmNjBjY2VhNjBiYzZhZjFjYTkzM2JiNDEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29va2llX21hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl9jb29raWVfbWFuYWdlci5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCBURVNUX0YoRVdLMlVu
aXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAKICAgICAvLyBE
ZWZhdWx0IHBvbGljeSBpcyBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfTk9fVEhJUkRfUEFSVFku
CiAgICAgQVNTRVJUX0VRKEVXS19DT09LSUVfQUNDRVBUX1BPTElDWV9OT19USElSRF9QQVJUWSwg
Z2V0QWNjZXB0UG9saWN5KGNvb2tpZU1hbmFnZXIpKTsKLSAgICBsb2FkVXJsU3luYyhodHRwU2Vy
dmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RS
VUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJMRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5k
YXRhKCkpKTsKIAogICAgIEVpbmFfTGlzdCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENv
b2tpZXMoY29va2llTWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKDEsIGVpbmFfbGlzdF9jb3VudCho
b3N0bmFtZXMpKTsKQEAgLTE0Miw3ICsxNDIsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwg
ZXdrX2Nvb2tpZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0
byBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTCiAgICAgZXdrX2Nvb2tpZV9tYW5hZ2Vy
X2FjY2VwdF9wb2xpY3lfc2V0KGNvb2tpZU1hbmFnZXIsIEVXS19DT09LSUVfQUNDRVBUX1BPTElD
WV9BTFdBWVMpOwogICAgIEFTU0VSVF9FUShFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlT
LCBnZXRBY2NlcHRQb2xpY3koY29va2llTWFuYWdlcikpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBT
ZXJ2ZXItPmdldFVSTEZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRf
VFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIp
LmRhdGEoKSkpOwogCiAgICAgaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29v
a2llTWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKDIsIGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMp
KTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tp
ZV9tYW5hZ2VyX2FjY2VwdF9wb2xpY3kpCiAgICAgLy8gQ2hhbmdlIHBvbGljeSB0byBFV0tfQ09P
S0lFX0FDQ0VQVF9QT0xJQ1lfTkVWRVIKICAgICBld2tfY29va2llX21hbmFnZXJfYWNjZXB0X3Bv
bGljeV9zZXQoY29va2llTWFuYWdlciwgRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX05FVkVSKTsK
ICAgICBBU1NFUlRfRVEoRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX05FVkVSLCBnZXRBY2NlcHRQ
b2xpY3koY29va2llTWFuYWdlcikpOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVS
TEZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJs
U3luYyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwog
ICAgIEFTU0VSVF9FUSgwLCBjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIp
KTsKIH0KIApAQCAtMTgxLDcgKzE4MSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tf
Y29va2llX21hbmFnZXJfY2hhbmdlc193YXRjaCkKICAgICBld2tfY29va2llX21hbmFnZXJfY2hh
bmdlc193YXRjaChjb29raWVNYW5hZ2VyLCBvbkNvb2tpZXNDaGFuZ2VkLCAmY29va2llc0NoYW5n
ZWQpOwogCiAgICAgLy8gQ2hlY2sgZm9yIGNvb2tpZSBjaGFuZ2VzIG5vdGlmaWNhdGlvbnMKLSAg
ICBsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRh
dGEoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJMRm9y
UGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpKTsKIAogICAgIHdoaWxlICghY29va2llc0NoYW5n
ZWQpCiAgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CkBAIC0xOTYsNyArMTk2LDcg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dh
dGNoKQogICAgIC8vIFN0b3Agd2F0Y2hpbmcgZm9yIG5vdGlmaWNhdGlvbnMKICAgICBld2tfY29v
a2llX21hbmFnZXJfY2hhbmdlc193YXRjaChjb29raWVNYW5hZ2VyLCAwLCAwKTsKICAgICBjb29r
aWVzQ2hhbmdlZCA9IGZhbHNlOwotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSTEZv
clBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3lu
YyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAg
IEFTU0VSVF9FUSgyLCBjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsK
ICAgICBBU1NFUlRfRkFMU0UoY29va2llc0NoYW5nZWQpOwogCkBAIC0yMTAsNyArMjEwLDcgQEAg
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jaGFuZ2VzX3dhdGNo
KQogICAgIEFTU0VSVF9UUlVFKG1rdGVtcCh0ZXh0U3RvcmFnZTIpKTsKIAogICAgIGV3a19jb29r
aWVfbWFuYWdlcl9wZXJzaXN0ZW50X3N0b3JhZ2Vfc2V0KGNvb2tpZU1hbmFnZXIsIHRleHRTdG9y
YWdlMSwgRVdLX0NPT0tJRV9QRVJTSVNURU5UX1NUT1JBR0VfVEVYVCk7Ci0gICAgbG9hZFVybFN5
bmMoaHR0cFNlcnZlci0+Z2V0VVJMRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAg
IEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSTEZvclBhdGgoIi9pbmRl
eC5odG1sIikuZGF0YSgpKSk7CiAgICAgQVNTRVJUX0VRKDIsIGNvdW50SG9zdG5hbWVzV2l0aENv
b2tpZXMoY29va2llTWFuYWdlcikpOwogCiAgICAgY29va2llc0NoYW5nZWQgPSBmYWxzZTsKQEAg
LTIzOSw3ICsyMzksNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2Nvb2tpZV9tYW5h
Z2VyX2Nvb2tpZXNfZGVsZXRlKQogICAgIGV3a19jb29raWVfbWFuYWdlcl9hY2NlcHRfcG9saWN5
X3NldChjb29raWVNYW5hZ2VyLCBFV0tfQ09PS0lFX0FDQ0VQVF9QT0xJQ1lfQUxXQVlTKTsKICAg
ICBBU1NFUlRfRVEoRVdLX0NPT0tJRV9BQ0NFUFRfUE9MSUNZX0FMV0FZUywgZ2V0QWNjZXB0UG9s
aWN5KGNvb2tpZU1hbmFnZXIpKTsKIAotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVS
TEZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJs
U3luYyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwog
ICAgIEVpbmFfTGlzdCogaG9zdG5hbWVzID0gZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2ll
TWFuYWdlcik7CiAgICAgQVNTRVJUX0VRKDIsIGVpbmFfbGlzdF9jb3VudChob3N0bmFtZXMpKTsK
ICAgICBmcmVlSG9zdE5hbWVzKGhvc3RuYW1lcyk7CkBAIC0yNTYsNyArMjU2LDcgQEAgVEVTVF9G
KEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb29raWVfbWFuYWdlcl9jb29raWVzX2RlbGV0ZSkKICAg
ICBBU1NFUlRfRVEoMCwgY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29raWVNYW5hZ2VyKSk7
CiAKICAgICAvLyBHZXQgYWxsIGNvb2tpZXMgYWdhaW4KLSAgICBsb2FkVXJsU3luYyhodHRwU2Vy
dmVyLT5nZXRVUkxGb3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RS
VUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJMRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5k
YXRhKCkpKTsKICAgICBBU1NFUlRfRVEoMiwgY291bnRIb3N0bmFtZXNXaXRoQ29va2llcyhjb29r
aWVNYW5hZ2VyKSk7CiAKICAgICAvLyBDbGVhciBhbGwgY29va2llcwpAQCAtMjg1LDE0ICsyODUs
MTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIERJU0FCTEVEX2V3a19jb29raWVfbWFuYWdl
cl9wZXJtYW5lbnRfc3RvcmFnZSkKICAgICBld2tfY29va2llX21hbmFnZXJfcGVyc2lzdGVudF9z
dG9yYWdlX3NldChjb29raWVNYW5hZ2VyLCB0ZXh0U3RvcmFnZSwgRVdLX0NPT0tJRV9QRVJTSVNU
RU5UX1NUT1JBR0VfVEVYVCk7CiAgICAgQVNTRVJUX0VRKDAsIGNvdW50SG9zdG5hbWVzV2l0aENv
b2tpZXMoY29va2llTWFuYWdlcikpOwogCi0gICAgbG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0
VVJMRm9yUGF0aCgiL2luZGV4Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxvYWRV
cmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSTEZvclBhdGgoIi9pbmRleC5odG1sIikuZGF0YSgpKSk7
CiAgICAgQVNTRVJUX0VRKDIsIGNvdW50SG9zdG5hbWVzV2l0aENvb2tpZXMoY29va2llTWFuYWdl
cikpOwogCiAgICAgLy8gU1FMaXRlIHN0b3JhZ2UgdXNpbmcgYSBuZXcgZmlsZS4KICAgICBld2tf
Y29va2llX21hbmFnZXJfcGVyc2lzdGVudF9zdG9yYWdlX3NldChjb29raWVNYW5hZ2VyLCBzcWxp
dGVTdG9yYWdlLCBFV0tfQ09PS0lFX1BFUlNJU1RFTlRfU1RPUkFHRV9TUUxJVEUpOwogICAgIEFT
U0VSVF9FUSgwLCBjb3VudEhvc3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsKIAot
ICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSTEZvclBhdGgoIi9pbmRleC5odG1sIiku
ZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUkxG
b3JQYXRoKCIvaW5kZXguaHRtbCIpLmRhdGEoKSkpOwogICAgIEFTU0VSVF9FUSgyLCBjb3VudEhv
c3RuYW1lc1dpdGhDb29raWVzKGNvb2tpZU1hbmFnZXIpKTsKIAogICAgIC8vIFRleHQgc3RvcmFn
ZSB1c2luZyBhbiBleGlzdGluZyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2ludGVudHMuY3BwCmluZGV4IGYy
MTcxZmFhMGNiYTljMmY4ZDkyYzYwNmJlZGRhZjQyOWEzYjY2NmEuLjRiNDZjZDg4M2EwYmM1OTgw
YzI1NWUzNmE5OTMwMjFiNjFiZTljYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9pbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfaW50ZW50cy5jcHAKQEAgLTU0
LDcgKzU0LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19pbnRlbnRfc2VydmljZV9y
ZWdpc3RyYXRpb24pCiB7CiAgICAgYm9vbCBpbnRlbnRSZWdpc3RlcmVkID0gZmFsc2U7CiAgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdlYlZpZXcoKSwgImludGVudCxzZXJ2aWNl
LHJlZ2lzdGVyIiwgb25JbnRlbnRTZXJ2aWNlUmVnaXN0cmF0aW9uLCAmaW50ZW50UmVnaXN0ZXJl
ZCk7Ci0gICAgbG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJpbnRlbnQt
c2VydmljZS5odG1sIikuZGF0YSgpKTsKKyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZp
cm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoImludGVudC1zZXJ2aWNlLmh0bWwiKS5kYXRhKCkpKTsK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19kZWwod2ViVmlldygpLCAiaW50ZW50LHNl
cnZpY2UscmVnaXN0ZXIiLCBvbkludGVudFNlcnZpY2VSZWdpc3RyYXRpb24pOwogICAgIEFTU0VS
VF9UUlVFKGludGVudFJlZ2lzdGVyZWQpOwogfQpAQCAtMTAzLDcgKzEwMyw3IEBAIFRFU1RfRihF
V0syVW5pdFRlc3RCYXNlLCBld2tfaW50ZW50X3JlcXVlc3QpCiB7CiAgICAgdW5zaWduZWQgaW50
ZW50UmVjZWl2ZWRDb3VudCA9IDA7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRk
KHdlYlZpZXcoKSwgImludGVudCxyZXF1ZXN0LG5ldyIsIG9uSW50ZW50UmVjZWl2ZWQsICZpbnRl
bnRSZWNlaXZlZENvdW50KTsKLSAgICBsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVz
b3VyY2UoImludGVudC1yZXF1ZXN0Lmh0bWwiKS5kYXRhKCkpOworICAgIEFTU0VSVF9UUlVFKGxv
YWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgiaW50ZW50LXJlcXVlc3QuaHRt
bCIpLmRhdGEoKSkpOwogCiAgICAgLy8gQSB1c2VyIGdlc3R1cmUgaXMgcmVxdWlyZWQgZm9yIHRo
ZSBpbnRlbnQgdG8gc3RhcnQuCiAgICAgbW91c2VDbGljayg1LCA1KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNw
cAppbmRleCA4MDVhM2MwMWMzZmU4YWJiYmMyZGQ5Y2JjMDQ4MjdjMjQxZTQ2MDdlLi44MTZmMzJm
ZDE2YTI0NTA2OWIyOWMwZjg4MDY2M2MwN2YwYmZhOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCkBA
IC00Niw3ICs0Niw3IEBAIHN0YXRpYyB2b2lkIG9uTG9hZEZpbmlzaGVkRm9yUmVkaXJlY3Rpb24o
dm9pZCogdXNlckRhdGEsIEV2YXNfT2JqZWN0Kiwgdm9pZCopCiAKIFRFU1RfRihFV0syVW5pdFRl
c3RCYXNlLCBld2tfdmlld191cmxfZ2V0KQogewotICAgIGxvYWRVcmxTeW5jKGVudmlyb25tZW50
LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52
aXJvbm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAgICAgRVhQRUNUX1NUUkVRKGVudmly
b25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKSwgZXdrX3ZpZXdfdXJsX2dldCh3ZWJWaWV3KCkp
KTsKIAogICAgIGludCBjb3VudExvYWRGaW5pc2hlZCA9IDI7CkBAIC02MCw3ICs2MCw3IEBAIFRF
U1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdmlld191cmxfZ2V0KQogCiBURVNUX0YoRVdLMlVu
aXRUZXN0QmFzZSwgZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvKQogewotICAgIGxvYWRVcmxT
eW5jKGVudmlyb25tZW50LT5kZWZhdWx0VGVzdFBhZ2VVcmwoKSk7CisgICAgQVNTRVJUX1RSVUUo
bG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPmRlZmF1bHRUZXN0UGFnZVVybCgpKSk7CiAKICAgICAv
LyBEZWZhdWx0IHBpeGVsIHJhdGlvIGlzIDEuMAogICAgIEFTU0VSVF9GTE9BVF9FUSgxLCBld2tf
dmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KHdlYlZpZXcoKSkpOwpAQCAtMTA2LDEzICsxMDYs
MTMgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192aWV3X25hdmlnYXRpb24pCiAgICAg
aHR0cFNlcnZlci0+cnVuKHNlcnZlckNhbGxiYWNrTmF2aWdhdGlvbik7CiAKICAgICAvLyBWaXNp
dCBQYWdlMQotICAgIGxvYWRVcmxTeW5jKGh0dHBTZXJ2ZXItPmdldFVSTEZvclBhdGgoIi9QYWdl
MSIpLmRhdGEoKSk7CisgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0
VVJMRm9yUGF0aCgiL1BhZ2UxIikuZGF0YSgpKSk7CiAgICAgQVNTRVJUX1NUUkVRKCJQYWdlMSIs
IGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3Zp
ZXdfYmFja19wb3NzaWJsZSh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdf
Zm9yd2FyZF9wb3NzaWJsZSh3ZWJWaWV3KCkpKTsKIAogICAgIC8vIFZpc2l0IFBhZ2UyCi0gICAg
bG9hZFVybFN5bmMoaHR0cFNlcnZlci0+Z2V0VVJMRm9yUGF0aCgiL1BhZ2UyIikuZGF0YSgpKTsK
KyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhodHRwU2VydmVyLT5nZXRVUkxGb3JQYXRoKCIv
UGFnZTIiKS5kYXRhKCkpKTsKICAgICBBU1NFUlRfU1RSRVEoIlBhZ2UyIiwgZXdrX3ZpZXdfdGl0
bGVfZ2V0KHdlYlZpZXcoKSkpOwogICAgIEFTU0VSVF9UUlVFKGV3a192aWV3X2JhY2tfcG9zc2li
bGUod2ViVmlldygpKSk7CiAgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X2ZvcndhcmRfcG9zc2li
bGUod2ViVmlldygpKSk7CkBAIC0zNTMsNyArMzUzLDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJh
c2UsIGV3a192aWV3X3NhbWVfcGFnZV9uYXZpZ2F0aW9uKQogewogICAgIC8vIFRlc3RzIHRoYXQg
c2FtZSBwYWdlIG5hdmlnYXRpb24gdXBkYXRlcyB0aGUgcGFnZSBVUkwuCiAgICAgU3RyaW5nIHRl
c3RVcmwgPSBlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNhbWVfcGFnZV9uYXZpZ2F0aW9u
Lmh0bWwiKS5kYXRhKCk7Ci0gICAgbG9hZFVybFN5bmModGVzdFVybC51dGY4KCkuZGF0YSgpKTsK
KyAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyh0ZXN0VXJsLnV0ZjgoKS5kYXRhKCkpKTsKICAg
ICBBU1NFUlRfU1RSRVEodGVzdFVybC51dGY4KCkuZGF0YSgpLCBld2tfdmlld191cmxfZ2V0KHdl
YlZpZXcoKSkpOwogICAgIG1vdXNlQ2xpY2soNTAsIDUwKTsKICAgICB0ZXN0VXJsID0gdGVzdFVy
bCArICcjJzsK
</data>

          </attachment>
      

    </bug>

</bugzilla>