<?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>28743</bug_id>
          
          <creation_ts>2009-08-26 10:21:36 -0700</creation_ts>
          <short_desc>XMLHttpRequest.withCredentials=false shouldn&apos;t save cookies.</short_desc>
          <delta_ts>2009-08-26 13:48:51 -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>XML</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="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142879</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 10:21:36 -0700</bug_when>
    <thetext>WebKit does this correctly but there is no test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142891</commentid>
    <comment_count>1</comment_count>
      <attachid>38622</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 10:45:38 -0700</bug_when>
    <thetext>Created attachment 38622
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142892</commentid>
    <comment_count>2</comment_count>
      <attachid>38622</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 10:47:14 -0700</bug_when>
    <thetext>Comment on attachment 38622
Proposed fix.

I&apos;d like to commit this myself so I can do the changes needed for the Chromium LayoutTestController before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142906</commentid>
    <comment_count>3</comment_count>
      <attachid>38622</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-26 11:47:40 -0700</bug_when>
    <thetext>Comment on attachment 38622
Proposed fix.

The WK-cross-origin cookie is already set by existing tests - what ensures that the tests won&apos;t conflict?

Does anything reset the cookie accept policy back after the test finishes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142910</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 11:52:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 38622 [details])
&gt; The WK-cross-origin cookie is already set by existing tests - what ensures that
&gt; the tests won&apos;t conflict?

It works due to the different value but having a different name would be best.

&gt; Does anything reset the cookie accept policy back after the test finishes?

Right now that is done in resetDefaultsToConsistentValues() which is where a lot of these things seem to get set back to default values.  (I had done this in the destructor at one point.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142915</commentid>
    <comment_count>5</comment_count>
      <attachid>38622</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 12:07:54 -0700</bug_when>
    <thetext>Comment on attachment 38622
Proposed fix.

new patch in progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142916</commentid>
    <comment_count>6</comment_count>
      <attachid>38630</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 12:25:36 -0700</bug_when>
    <thetext>Created attachment 38630
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142921</commentid>
    <comment_count>7</comment_count>
      <attachid>38630</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-26 12:36:35 -0700</bug_when>
    <thetext>Comment on attachment 38630
Proposed fix.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142962</commentid>
    <comment_count>8</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-26 13:48:51 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/47792</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38622</attachid>
            <date>2009-08-26 10:45:38 -0700</date>
            <delta_ts>2009-08-26 12:07:53 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug28743.txt</filename>
            <type>text/plain</type>
            <size>19156</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDY1ZTk1Li4xMDE0MzhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDgt
MjYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhNTEh0dHBSZXF1ZXN0LndpdGhDcmVkZW50
aWFscz1mYWxzZSBzaG91bGRuJ3Qgc2F2ZSBjb29raWVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3NDMKKworICAgICAgICBBZGRlZCBhIHRlc3Qg
dG8gdmVyaWZ5IHRoYXQgWE1MSHR0cFJlcXVlc3Qud2l0aENyZWRlbnRpYWxzPWZhbHNlIGRvZXNu
J3QKKyAgICAgICAgc2F2ZSBjb29raWVzLgorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9jcm9zcy1vcmlnaW4tY29va2llLXN0b3JhZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUt
c3RvcmFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc2V0LWNvb2tpZXMucGhwOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcCB0aGUgbmV3IHRlc3QuCisgICAgICAgICogcGxh
dGZvcm0vcXQvU2tpcHBlZDogRGl0dG8uCisKIDIwMDktMDgtMjQgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9y
aWdpbi1jb29raWUtc3RvcmFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUtc3RvcmFnZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRjY2U2NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2lu
LWNvb2tpZS1zdG9yYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitTdGFydAorQ3Jv
c3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChzeW5jKSwgdGVzdGluZyB0aGF0IGNvb2tpZXMgYXJl
IG5vdCBzZXQgd2hlbiBub3Qgc2VuZGluZyBjcmVkZW50aWFscy4KK1BBU1M6IEZpbmlzaGVkIHN5
bmMgeGhyLgorUEFTUzogTm8gY29va2llcyBzZXQuCitDcm9zcy1vcmlnaW4gWE1MSHR0cFJlcXVl
c3QgKGFzeW5jKSwgdGVzdGluZyB0aGF0IGNvb2tpZXMgYXJlIG5vdCBzZXQgd2hlbiBub3Qgc2Vu
ZGluZyBjcmVkZW50aWFscy4KK1BBU1M6IEZpbmlzaGVkIGFzeW5jIHhoci4KK1BBU1M6IE5vIGNv
b2tpZXMgc2V0LgorQ3Jvc3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChzeW5jKSwgdGVzdGluZyB0
aGF0IGNvb2tpZXMgYXJlIHNldCB3aGVuIHNlbmRpbmcgY3JlZGVudGlhbHMuCitQQVNTOiBGaW5p
c2hlZCBzeW5jIHhoci4KK1BBU1M6IENvb2tpZSBzZXQuCitET05FCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNvb2tpZS1z
dG9yYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3Nz
LW9yaWdpbi1jb29raWUtc3RvcmFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjgwZmZiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUtc3RvcmFnZS5odG1sCkBAIC0wLDAg
KzEsOTQgQEAKKzxidXR0b24gb25jbGljaz0idGVzdFN5bmNDb29raWVzTm9DcmVkZW50aWFscygp
OyI+U3RhcnQ8L2J1dHRvbj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0QWx3YXlzQWNjZXB0Q29va2llcygxKTsKK30KKworZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUn
KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgJ1xuJykpOwor
fQorCitmdW5jdGlvbiB0ZXN0U3luY0Nvb2tpZXNOb0NyZWRlbnRpYWxzKCkKK3sKKyAgICBsb2co
IkNyb3NzLW9yaWdpbiBYTUxIdHRwUmVxdWVzdCAoc3luYyksIHRlc3RpbmcgdGhhdCBjb29raWVz
IGFyZSBub3Qgc2V0IHdoZW4gbm90IHNlbmRpbmcgY3JlZGVudGlhbHMuIik7CisKKyAgICB2YXIg
cmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgIHJlcS5vcGVuKCJHRVQiLCAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc2V0LWNv
b2tpZXMucGhwIiwgZmFsc2UpOworICAgIHJlcS53aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTsKKyAg
ICByZXEuc2VuZCgpOworICAgIGxvZygiUEFTUzogRmluaXNoZWQgc3luYyB4aHIuIik7CisKKyAg
ICByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgcmVxLm9wZW4oIkdFVCIsICJodHRwOi8v
bG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jaGVj
ay1jb29raWVzLnBocCIsIGZhbHNlKTsKKyAgICByZXEud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsK
KyAgICB0cnkgeworICAgICAgICByZXEuc2VuZCgpOworICAgICAgICBsb2coIXJlcS5yZXNwb25z
ZVRleHQubWF0Y2goL1dLXC1jcm9zc1wtb3JpZ2luOiBNeVNwZWNpYWxDb29raWUvKSA/ICJQQVNT
OiBObyBjb29raWVzIHNldC4iIDogKCJGQUlMOiAiICsgcmVxLnJlc3BvbnNlVGV4dCkpOworICAg
IH0gY2F0Y2ggKGV4KSB7CisgICAgICAgIGxvZygiRkFJTDogR290IGFuIGV4Y2VwdGlvbi4gIiAr
IGV4KTsKKyAgICB9CisgICAgdGVzdEFzeW5jQ29va2llc05vQ3JlZGVudGlhbHMoKTsKK30KKwor
ZnVuY3Rpb24gdGVzdEFzeW5jQ29va2llc05vQ3JlZGVudGlhbHMoKQoreworICAgIGxvZygiQ3Jv
c3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChhc3luYyksIHRlc3RpbmcgdGhhdCBjb29raWVzIGFy
ZSBub3Qgc2V0IHdoZW4gbm90IHNlbmRpbmcgY3JlZGVudGlhbHMuIik7CisKKyAgICB2YXIgcmVx
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgIHJlcS5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc2V0LWNvb2tp
ZXMucGhwIiwgdHJ1ZSk7CisgICAgcmVxLndpdGhDcmVkZW50aWFscyA9IGZhbHNlOworICAgIHJl
cS5zZW5kKCk7CisgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgbG9nKCJG
QUlMOiBBc3luYyB4aHIgdG8gc2V0IGNvb2tpZXMuIik7CisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfQorICAgIHJlcS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
bG9nKCJQQVNTOiBGaW5pc2hlZCBhc3luYyB4aHIuIik7CisKKyAgICAgICAgdmFyIHJlcTIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgIHJlcTIub3BlbigiR0VUIiwgImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWNoZWNrLWNv
b2tpZXMucGhwIiwgZmFsc2UpOworICAgICAgICByZXEyLndpdGhDcmVkZW50aWFscyA9IHRydWU7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICByZXEyLnNlbmQoKTsKKyAgICAgICAgICAgIGxv
ZyghcmVxMi5yZXNwb25zZVRleHQubWF0Y2goL1dLXC1jcm9zc1wtb3JpZ2luOiBNeVNwZWNpYWxD
b29raWUvKSA/ICJQQVNTOiBObyBjb29raWVzIHNldC4iIDogKCJGQUlMOiAiICsgcmVxMi5yZXNw
b25zZVRleHQpKTsKKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIGxvZygiRkFJ
TDogR290IGFuIGV4Y2VwdGlvbi4gIiArIGV4KTsKKyAgICAgICAgfQorICAgICAgICB0ZXN0U3lu
Y0Nvb2tpZXNXaXRoQ3JlZGVudGlhbHMoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW5j
Q29va2llc1dpdGhDcmVkZW50aWFscygpCit7CisgICAgbG9nKCJDcm9zcy1vcmlnaW4gWE1MSHR0
cFJlcXVlc3QgKHN5bmMpLCB0ZXN0aW5nIHRoYXQgY29va2llcyBhcmUgc2V0IHdoZW4gc2VuZGlu
ZyBjcmVkZW50aWFscy4iKTsKKworICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Cisg
ICAgcmVxLm9wZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1zZXQtY29va2llcy5waHAiLCBmYWxzZSk7CisgICAgcmVx
LndpdGhDcmVkZW50aWFscyA9IHRydWU7CisgICAgcmVxLnNlbmQoKTsKKyAgICBsb2coIlBBU1M6
IEZpbmlzaGVkIHN5bmMgeGhyLiIpOworCisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0Owor
ICAgIHJlcS5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tY2hlY2stY29va2llcy5waHAiLCBmYWxzZSk7CisgICAg
cmVxLndpdGhDcmVkZW50aWFscyA9IHRydWU7CisgICAgdHJ5IHsKKyAgICAgICAgcmVxLnNlbmQo
KTsKKyAgICAgICAgbG9nKHJlcS5yZXNwb25zZVRleHQubWF0Y2goL1dLXC1jcm9zc1wtb3JpZ2lu
OiBNeVNwZWNpYWxDb29raWUvKSA/ICJQQVNTOiBDb29raWUgc2V0LiIgOiAiRkFJTDogbm8gY29v
a2llIHNldCIpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgIGxvZygiRkFJTDogR290IGFu
IGV4Y2VwdGlvbi4gIiArIGV4KTsKKyAgICB9CisgICAgbG9nKCJET05FIik7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IHRlc3RTeW5jQ29va2llc05vQ3JlZGVudGlhbHMoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1v
cmlnaW4tc2V0LWNvb2tpZXMucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXNldC1jb29raWVzLnBocApuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwLi45MDdhNzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXNl
dC1jb29raWVzLnBocApAQCAtMCwwICsxLDggQEAKKzw/cGhwCitoZWFkZXIoIlNldC1Db29raWU6
IFdLLWNyb3NzLW9yaWdpbj1NeVNwZWNpYWxDb29raWUiKTsKK2hlYWRlcigiQ2FjaGUtQ29udHJv
bDogbm8tc3RvcmUiKTsKK2hlYWRlcigiTGFzdC1Nb2RpZmllZDogVGh1LCAxOSBNYXIgMjAwOSAx
MToyMjoxMSBHTVQiKTsKK2hlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiKTsKK2hlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVu
dGlhbHM6IHRydWUiKTsKKz8+Citsb2coJ1BBU1M6IExvYWRlZCcpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCAzN2M3OTJjLi42YmU2OTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZApAQCAtMzgyOCw2ICszODI4LDcgQEAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9iYXNpYy1h
dXRoLmh0bWwKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY29va2llcy5odG1sCiAjV2UgZG9u
J3Qgc2VlbSB0byBzdXBwb3J0IG5laXRoZXIgb2YgdGhlc2UgZm9yIG5vdwogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tYXV0aG9yaXphdGlvbi5odG1sCitodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUtc3RvcmFnZS5odG1sCiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1hdXRob3JpemF0aW9uLmh0bWwKIAog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9kZWZhdWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQu
aHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMDY5ZTliOC4uMWJiYzY4ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC01MDQzLDMgKzUwNDMsNiBAQCBmYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWZvbnQtZmFtaWx5Lmh0bWwKIAogIyBNaXNzaW5nIERS
VCBhYmlsaXR5IHRvIHRyYWNrIHdvcmtlciB0aHJlYWQgY291bnRzCiBmYXN0L3dvcmtlcnMvd29y
a2VyLWxpZmVjeWNsZS5odG1sCisKKyMgTWlzc2luZyBEUlQgYWJpbGl0eSB0byBzZXQgYWNjZXB0
IGNvb2tpZSBwb2xpY3kKK2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNv
b2tpZS1zdG9yYWdlLmh0bWwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dl
YktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBlM2VhZWQzLi4yNjA2NjkzIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDIgQEAKKzIwMDktMDgtMjYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhNTEh0dHBS
ZXF1ZXN0LndpdGhDcmVkZW50aWFscz1mYWxzZSBzaG91bGRuJ3Qgc2F2ZSBjb29raWVzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3NDMKKworICAg
ICAgICBBZGRlZCB0aGUgc3VwcG9ydCB0byB0aGUgbGF5b3V0IHRlc3QgY29udHJvbGxlciBvbiBP
U1ggYW5kCisgICAgICAgIFdpbmRvd3MgKGZvciBDRk5FVFdPUkspIHRvIGFsbG93IGZvciBjaGFu
Z2luZyB0aGUgYWNjZXB0IGNvb2tpZQorICAgICAgICBwb2xpY3kuICAgICAgICAKKyAgICAgICAg
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKTogQWRkZWQg
YSBib29sCisgICAgICAgIHRvIHRyYWNrIHRoZSBzdGF0ZSBvZiBhY2NlcHRpbmcgY29va2llcy4K
KyAgICAgICAgKHNldEFsd2F5c0FjY2VwdENvb2tpZXNDYWxsYmFjayk6IFN0YW5kYXJkIHdyYXBw
ZXIgbWV0aG9kCisgICAgICAgIHRvIGdvIGZyb20ganMgdG8gYSBDKysgbWV0aG9kLgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6IEFkZGVkIHRoZQorICAg
ICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVzIG1ldGhvZCB0byB0aGUganMgbGF5b3V0VGVzdENv
bnRyb2xsZXIuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjphbHdheXNBY2NlcHRDb29raWVzKTog
UmV0dXJucyB0aGUgdmFsdWUuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRl
c3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRB
bHdheXNBY2NlcHRDb29raWVzKTogU3R1YiBvdXQgbWV0aG9kLgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXMpOiBSZXNldCB0aGUgYWNjZXB0IGNvb2tpZSB0bworICAgICAgICBpdHMg
ZGVmYXVsdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xs
ZXJNYWMubW06CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWx3YXlzQWNjZXB0
Q29va2llcyk6IERvZXMgdGhlIHdvcmsgZm9yIAorICAgICAgICBPU1ggdG8gY2hhbmdlIHRoZSBj
b29raWUgYWNjZXB0IHBvbGljeS4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwOgorICAgICAgICAoc2V0QWx3YXlzQWNjZXB0Q29va2llcyk6IE1ldGhvZCB0
byBoYW5kbGUgYWxsIHRoZSBjYWxscyBuZWNlc3NhcnkKKyAgICAgICAgdG8gY2hhbmdlIHRoZSBh
Y2NlcHQgY29va2llIHBvbGljeSBvbiBXaW5kb3dzLgorICAgICAgICAocmVzZXREZWZhdWx0c1Rv
Q29uc2lzdGVudFZhbHVlcyk6IFJlc2V0IHRoZSBhY2NlcHQgY29va2llIHRvCisgICAgICAgIGl0
cyBkZWZhdWx0LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZVdp
bi5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWx3YXlzQWNjZXB0Q29v
a2llcyk6IFN0dWIgb3V0IG1ldGhvZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93eC9MYXlv
dXRUZXN0Q29udHJvbGxlcld4LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRBbHdheXNBY2NlcHRDb29raWVzKTogU3R1YiBvdXQgbWV0aG9kLgorCiAyMDA5LTA4LTIzICBK
YW4gTWljaGFlbCBBbG9uem8gIDxqbWFsb256b0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCAyYWNlN2RjLi5jMjQ2NDU1IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBA
IC02NCw2ICs2NCw3IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxl
cihjb25zdCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhPclVSTCwgY29uCiAgICAgLCBtX3dhaXRUb0R1
bXAoZmFsc2UpCiAgICAgLCBtX3dpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsT25SZWRpcmVjdChm
YWxzZSkKICAgICAsIG1fd2luZG93SXNLZXkodHJ1ZSkKKyAgICAsIG1fYWx3YXlzQWNjZXB0Q29v
a2llcyhmYWxzZSkKICAgICAsIG1fZ2xvYmFsRmxhZyhmYWxzZSkKICAgICAsIG1fdGVzdFBhdGhP
clVSTCh0ZXN0UGF0aE9yVVJMKQogICAgICwgbV9leHBlY3RlZFBpeGVsSGFzaChleHBlY3RlZFBp
eGVsSGFzaCkKQEAgLTUzNSw2ICs1MzYsMTggQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0QWNjZXB0
c0VkaXRpbmdDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnUKICAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1Zh
bHVlUmVmIHNldEFsd2F5c0FjY2VwdENvb2tpZXNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBh
cmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCit7CisgICAgLy8gSGFzIG1hYyAmIHdpbmRvd3MgaW1wbGVtZW50YXRpb24KKyAg
ICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVm
aW5lZChjb250ZXh0KTsKKworICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0g
c3RhdGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhp
c09iamVjdCkpOworICAgIGNvbnRyb2xsZXItPnNldEFsd2F5c0FjY2VwdENvb2tpZXMoSlNWYWx1
ZVRvQm9vbGVhbihjb250ZXh0LCBhcmd1bWVudHNbMF0pKTsKKworICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwogc3RhdGljIEpTVmFsdWVSZWYgc2V0QXBwQ2Fj
aGVNYXhpbXVtU2l6ZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBm
dW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNv
bnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAg
ICAvLyBIYXMgbWFjIGltcGxlbWVudGF0aW9uCkBAIC0xMDEwLDYgKzEwMjMsNyBAQCBKU1N0YXRp
Y0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAg
ICAgeyAicXVldWVSZWxvYWQiLCBxdWV1ZVJlbG9hZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInJlcGFpbnRTd2VlcEhvcml6b250YWxseSIsIHJlcGFpbnRTd2VlcEhvcml6b250YWxseUNh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldEFjY2VwdHNFZGl0aW5nIiwgc2V0QWNjZXB0
c0VkaXRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzZXRBbHdheXNBY2NlcHRDb29r
aWVzIiwgc2V0QWx3YXlzQWNjZXB0Q29va2llc0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
InNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIiwgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRBcHBDYWNoZU1heGltdW1TaXpl
Iiwgc2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sIAogICAgICAgICB7ICJz
ZXRDYWxsQ2xvc2VPbldlYlZpZXdzIiwgc2V0Q2FsbENsb3NlT25XZWJWaWV3c0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaAppbmRleCA4MDA5MTRlLi44OGIzNTU4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTE3MCw2ICsxNzAsOSBAQCBw
dWJsaWM6CiAgICAgYm9vbCB3aW5kb3dJc0tleSgpIGNvbnN0IHsgcmV0dXJuIG1fd2luZG93SXNL
ZXk7IH0KICAgICB2b2lkIHNldFdpbmRvd0lzS2V5KGJvb2wgd2luZG93SXNLZXkpOwogCisgICAg
Ym9vbCBhbHdheXNBY2NlcHRDb29raWVzKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNBY2NlcHRD
b29raWVzOyB9CisgICAgdm9pZCBzZXRBbHdheXNBY2NlcHRDb29raWVzKGJvb2wgYWx3YXlzQWNj
ZXB0Q29va2llcyk7CisKICAgICBib29sIGdsb2JhbEZsYWcoKSBjb25zdCB7IHJldHVybiBtX2ds
b2JhbEZsYWc7IH0KICAgICB2b2lkIHNldEdsb2JhbEZsYWcoYm9vbCBnbG9iYWxGbGFnKSB7IG1f
Z2xvYmFsRmxhZyA9IGdsb2JhbEZsYWc7IH0KICAgICAKQEAgLTIwOSw2ICsyMTIsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV93YWl0VG9EdW1wOyAvLyBUcnVlIGlmIHdhaXRVbnRpbERvbmUoKSBo
YXMgYmVlbiBjYWxsZWQsIGJ1dCBub3RpZnlEb25lKCkgaGFzIG5vdCB5ZXQgYmVlbiBjYWxsZWQu
CiAgICAgYm9vbCBtX3dpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsT25SZWRpcmVjdDsKICAgICBi
b29sIG1fd2luZG93SXNLZXk7CisgICAgYm9vbCBtX2Fsd2F5c0FjY2VwdENvb2tpZXM7CiAKICAg
ICBib29sIG1fZ2xvYmFsRmxhZzsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggNzJlY2Q3OC4u
YWJhYjA4MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91
dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0xNTksNiArMTU5LDExIEBAIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5nKGJvb2wgYWNjZXB0c0VkaXRp
bmcpCiAgICAgd2Via2l0X3dlYl92aWV3X3NldF9lZGl0YWJsZSh3ZWJWaWV3LCBhY2NlcHRzRWRp
dGluZyk7CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsd2F5c0FjY2VwdENv
b2tpZXMoYm9vbCBhbHdheXNBY2NlcHRDb29raWVzKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgdGhpcyAoYW5kIHJlc3RvcmUgdGhlIGRlZmF1bHQgdmFsdWUgYmVmb3JlIHJ1bm5pbmcgZWFj
aCB0ZXN0IGluIER1bXBSZW5kZXJUcmVlLmNwcCkuCit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2wgc2V0RGVsZWdhdGUsIGJvb2wgcGVy
bWlzc2l2ZSkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggODA1NTcyMi4uZmQzMmE3
ZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtNDIyLDYgKzQyMiw4IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNp
c3RlbnRWYWx1ZXMoKQogICAgIC8vIFRoZSBiYWNrL2ZvcndhcmQgY2FjaGUgaXMgY2F1c2luZyBw
cm9ibGVtcyBkdWUgdG8gbGF5b3V0cyBkdXJpbmcgdHJhbnNpdGlvbiBmcm9tIG9uZSBwYWdlIHRv
IGFub3RoZXIuCiAgICAgLy8gU28sIHR1cm4gaXQgb2ZmIGZvciBub3csIGJ1dCB3ZSBtaWdodCB3
YW50IHRvIHR1cm4gaXQgYmFjayBvbiBzb21lIGRheS4KICAgICBbcHJlZmVyZW5jZXMgc2V0VXNl
c1BhZ2VDYWNoZTpOT107CisKKyAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENv
b2tpZVN0b3JhZ2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xp
Y3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1
bXBSZW5kZXJUcmVlIHN0YXJ0dXAuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0gYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KaW5kZXggYjM5Y2Y0Ny4uYjA0
NzA5YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9M
YXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtMTk4LDYgKzE5OCwxNiBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRzRWRpdGluZyhib29sIG5ld0FjY2VwdHNFZGl0aW5n
KQogICAgIFsoRWRpdGluZ0RlbGVnYXRlICopW1ttYWluRnJhbWUgd2ViVmlld10gZWRpdGluZ0Rl
bGVnYXRlXSBzZXRBY2NlcHRzRWRpdGluZzpuZXdBY2NlcHRzRWRpdGluZ107CiB9CiAKK3ZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9vbCBhbHdheXNB
Y2NlcHRDb29raWVzKQoreworICAgIGlmIChhbHdheXNBY2NlcHRDb29raWVzID09IG1fYWx3YXlz
QWNjZXB0Q29va2llcykKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9hbHdheXNBY2NlcHRDb29r
aWVzID0gYWx3YXlzQWNjZXB0Q29va2llczsKKyAgICBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3kg
Y29va2llQWNjZXB0UG9saWN5ID0gYWx3YXlzQWNjZXB0Q29va2llcyA/IE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeUFsd2F5cyA6IE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOworICAgIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2ll
U3RvcmFnZV0gc2V0Q29va2llQWNjZXB0UG9saWN5OmNvb2tpZUFjY2VwdFBvbGljeV07Cit9CisK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWdu
ZWQgbG9uZyBsb25nIHNpemUpCiB7CiAgICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0TWF4aW11
bVNpemU6c2l6ZV07CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAppbmRleCAwMjI4OTA1Li5iYjQ1OGMzIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTU4LDYgKzU4LDEw
IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgogI2luY2x1ZGUgPFdlYktpdC9XZWJLaXRD
T01BUEkuaD4KIAorI2lmIFVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NGSFRU
UENvb2tpZXNQcml2Lmg+CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogI2lmbmRl
ZiBOREVCVUcKQEAgLTEwOCw2ICsxMTIsMjQgQEAgdm9pZCBzZXRQZXJzaXN0ZW50VXNlclN0eWxl
U2hlZXRMb2NhdGlvbihDRlN0cmluZ1JlZiB1cmwpCiAgICAgcGVyc2lzdGVudFVzZXJTdHlsZVNo
ZWV0TG9jYXRpb24gPSB1cmw7CiB9CiAKK2Jvb2wgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhib29s
IGFsd2F5c0FjY2VwdENvb2tpZXMpCit7CisjaWYgVVNFKENGTkVUV09SSykKKyAgICBDT01QdHI8
SVdlYkNvb2tpZU1hbmFnZXI+IGNvb2tpZU1hbmFnZXI7CisgICAgaWYgKEZBSUxFRChXZWJLaXRD
cmVhdGVJbnN0YW5jZShDTFNJRF9XZWJDb29raWVNYW5hZ2VyLCAwLCBJSURfSVdlYkNvb2tpZU1h
bmFnZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmY29va2llTWFuYWdlcikpKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgY29va2llU3RvcmFn
ZSA9IDA7CisgICAgaWYgKEZBSUxFRChjb29raWVNYW5hZ2VyLT5jb29raWVTdG9yYWdlKCZjb29r
aWVTdG9yYWdlKSkgfHwgIWNvb2tpZVN0b3JhZ2UpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFdlYktpdENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kgY29va2llQWNjZXB0UG9saWN5ID0g
YWx3YXlzQWNjZXB0Q29va2llcyA/IFdlYktpdENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3lBbHdh
eXMgOiBXZWJLaXRDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnRE
b21haW47CisgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29r
aWVTdG9yYWdlLCBjb29raWVBY2NlcHRQb2xpY3kpOworICAgIHJldHVybiB0cnVlOworI2Vsc2UK
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50IQorI2VuZGlmCit9CisKIHdzdHJpbmcgdXJsU3VpdGFi
bGVGb3JUZXN0UmVzdWx0KGNvbnN0IHdzdHJpbmcmIHVybCkKIHsKICAgICBpZiAoIXVybC5jX3N0
cigpIHx8IHVybC5maW5kKEwiZmlsZTovLyIpID09IHdzdHJpbmc6Om5wb3MpCkBAIC03MTUsNiAr
NzM3LDcgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyhJV2Vi
UHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1
ZGl0b3JFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2Vi
QXBwbGljYXRpb25DYWNoZUVuYWJsZWQoVFJVRSk7CiAgICAgfQorICAgIHNldEFsd2F5c0FjY2Vw
dENvb2tpZXMoZmFsc2UpOwogfQogCiBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3Rl
bnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlV2luLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWVXaW4uaAppbmRleCBiZjliMTIzLi42ZWI0NjhkIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWVXaW4uaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWVXaW4uaApA
QCAtNTMsNiArNTMsNyBAQCB0eXBlZGVmIEhhc2hNYXA8SFdORCwgQ09NUHRyPElXZWJWaWV3PiA+
IFdpbmRvd1RvV2ViVmlld01hcDsKIFdpbmRvd1RvV2ViVmlld01hcCYgd2luZG93VG9XZWJWaWV3
TWFwKCk7CiAKIHZvaWQgc2V0UGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oQ0ZTdHJp
bmdSZWYpOworYm9vbCBzZXRBbHdheXNBY2NlcHRDb29raWVzKGJvb2wgYWx3YXlzQWNjZXB0Q29v
a2llcyk7CiAKIGV4dGVybiBVSU5UX1BUUiB3YWl0VG9EdW1wV2F0Y2hkb2c7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xs
ZXJXaW4uY3BwCmluZGV4IDM4M2IwMDYuLjU3ODc5NzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApA
QCAtMjcxLDYgKzI3MSwxNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRz
RWRpdGluZyhib29sIGFjY2VwdHNFZGl0aW5nKQogICAgIGVkaXRpbmdEZWxlZ2F0ZS0+c2V0QWNj
ZXB0c0VkaXRpbmcoYWNjZXB0c0VkaXRpbmcpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKGJvb2wgYWx3YXlzQWNjZXB0Q29va2llcykKK3sK
KyAgICBpZiAoYWx3YXlzQWNjZXB0Q29va2llcyA9PSBtX2Fsd2F5c0FjY2VwdENvb2tpZXMpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKGFsd2F5
c0FjY2VwdENvb2tpZXMpKQorICAgICAgICByZXR1cm47CisgICAgbV9hbHdheXNBY2NlcHRDb29r
aWVzID0gYWx3YXlzQWNjZXB0Q29va2llczsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIENPTVB0
cjxJV2ViVmlldz4gd2ViVmlldzsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggY2U1MTM5Zi4uMjFiMDg4
OSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENv
bnRyb2xsZXJXeC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAgLTEwMCw2ICsxMDAsMTEgQEAgdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0QWNjZXB0c0VkaXRpbmcoYm9vbCBhY2NlcHRzRWRpdGluZykKIHsKIH0K
IAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWx3YXlzQWNjZXB0Q29va2llcyhib29s
IGFsd2F5c0FjY2VwdENvb2tpZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIChh
bmQgcmVzdG9yZSB0aGUgZGVmYXVsdCB2YWx1ZSBiZWZvcmUgcnVubmluZyBlYWNoIHRlc3QgaW4g
RHVtcFJlbmRlclRyZWUuY3BwKS4KK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCwgYm9vbCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVt
ZW50Cg==
</data>
<flag name="commit-queue"
          id="19622"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38630</attachid>
            <date>2009-08-26 12:25:36 -0700</date>
            <delta_ts>2009-08-26 12:36:34 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug28743.txt</filename>
            <type>text/plain</type>
            <size>20319</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDY1ZTk1Li43NTY5NDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMDgt
MjYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhNTEh0dHBSZXF1ZXN0LndpdGhDcmVkZW50
aWFscz1mYWxzZSBzaG91bGRuJ3Qgc2F2ZSBjb29raWVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3NDMKKworICAgICAgICBBZGRlZCBhIHRlc3Qg
dG8gdmVyaWZ5IHRoYXQgWE1MSHR0cFJlcXVlc3Qud2l0aENyZWRlbnRpYWxzPWZhbHNlIGRvZXNu
J3QKKyAgICAgICAgc2F2ZSBjb29raWVzLgorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9jcm9zcy1vcmlnaW4tY29va2llLXN0b3JhZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUt
c3RvcmFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc2V0LWNvb2tpZXMucGhwOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tY2hlY2st
Y29va2llcy5waHA6IEFkZGVkIHRoZSBhYmlsaXR5CisgICAgICAgIHRvIGNoZWNrIGZvciBhIGNv
b2tpZSBieSBuYW1lLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOiBTa2lwIHRoZSBu
ZXcgdGVzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOiBEaXR0by4KKwogMjAwOS0w
OC0yNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNvb2tpZS1zdG9yYWdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNvb2tp
ZS1zdG9yYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4xNGNjZTY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tY29va2llLXN0b3JhZ2UtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1N0YXJ0CitDcm9zcy1vcmlnaW4gWE1MSHR0cFJlcXVlc3QgKHN5bmMpLCB0
ZXN0aW5nIHRoYXQgY29va2llcyBhcmUgbm90IHNldCB3aGVuIG5vdCBzZW5kaW5nIGNyZWRlbnRp
YWxzLgorUEFTUzogRmluaXNoZWQgc3luYyB4aHIuCitQQVNTOiBObyBjb29raWVzIHNldC4KK0Ny
b3NzLW9yaWdpbiBYTUxIdHRwUmVxdWVzdCAoYXN5bmMpLCB0ZXN0aW5nIHRoYXQgY29va2llcyBh
cmUgbm90IHNldCB3aGVuIG5vdCBzZW5kaW5nIGNyZWRlbnRpYWxzLgorUEFTUzogRmluaXNoZWQg
YXN5bmMgeGhyLgorUEFTUzogTm8gY29va2llcyBzZXQuCitDcm9zcy1vcmlnaW4gWE1MSHR0cFJl
cXVlc3QgKHN5bmMpLCB0ZXN0aW5nIHRoYXQgY29va2llcyBhcmUgc2V0IHdoZW4gc2VuZGluZyBj
cmVkZW50aWFscy4KK1BBU1M6IEZpbmlzaGVkIHN5bmMgeGhyLgorUEFTUzogQ29va2llIHNldC4K
K0RPTkUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9jcm9zcy1vcmlnaW4tY29va2llLXN0b3JhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNvb2tpZS1zdG9yYWdlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE2MzYwNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNvb2tp
ZS1zdG9yYWdlLmh0bWwKQEAgLTAsMCArMSw5NCBAQAorPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U3lu
Y0Nvb2tpZXNOb0NyZWRlbnRpYWxzKCk7Ij5TdGFydDwvYnV0dG9uPgorPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRBbHdheXNBY2NlcHRD
b29raWVzKDEpOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1lc3NhZ2UgKyAnXG4nKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW5jQ29va2llc05vQ3Jl
ZGVudGlhbHMoKQoreworICAgIGxvZygiQ3Jvc3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChzeW5j
KSwgdGVzdGluZyB0aGF0IGNvb2tpZXMgYXJlIG5vdCBzZXQgd2hlbiBub3Qgc2VuZGluZyBjcmVk
ZW50aWFscy4iKTsKKworICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgcmVx
Lm9wZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi1zZXQtY29va2llcy5waHAiLCBmYWxzZSk7CisgICAgcmVxLndpdGhD
cmVkZW50aWFscyA9IGZhbHNlOworICAgIHJlcS5zZW5kKCk7CisgICAgbG9nKCJQQVNTOiBGaW5p
c2hlZCBzeW5jIHhoci4iKTsKKworICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICBy
ZXEub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLWNoZWNrLWNvb2tpZXMucGhwP2Nvb2tpZT1XSy14aHItY29va2ll
LXN0b3JhZ2UiLCBmYWxzZSk7CisgICAgcmVxLndpdGhDcmVkZW50aWFscyA9IHRydWU7CisgICAg
dHJ5IHsKKyAgICAgICAgcmVxLnNlbmQoKTsKKyAgICAgICAgbG9nKCFyZXEucmVzcG9uc2VUZXh0
Lm1hdGNoKC9XS1wteGhyXC1jb29raWVcLXN0b3JhZ2U6IE15U3BlY2lhbFZhbHVlLykgPyAiUEFT
UzogTm8gY29va2llcyBzZXQuIiA6ICgiRkFJTDogIiArIHJlcS5yZXNwb25zZVRleHQpKTsKKyAg
ICB9IGNhdGNoIChleCkgeworICAgICAgICBsb2coIkZBSUw6IEdvdCBhbiBleGNlcHRpb24uICIg
KyBleCk7CisgICAgfQorICAgIHRlc3RBc3luY0Nvb2tpZXNOb0NyZWRlbnRpYWxzKCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RBc3luY0Nvb2tpZXNOb0NyZWRlbnRpYWxzKCkKK3sKKyAgICBsb2coIkNy
b3NzLW9yaWdpbiBYTUxIdHRwUmVxdWVzdCAoYXN5bmMpLCB0ZXN0aW5nIHRoYXQgY29va2llcyBh
cmUgbm90IHNldCB3aGVuIG5vdCBzZW5kaW5nIGNyZWRlbnRpYWxzLiIpOworCisgICAgdmFyIHJl
cSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICByZXEub3BlbigiR0VUIiwgImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXNldC1jb29r
aWVzLnBocCIsIHRydWUpOworICAgIHJlcS53aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTsKKyAgICBy
ZXEuc2VuZCgpOworICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygi
RkFJTDogQXN5bmMgeGhyIHRvIHNldCBjb29raWVzLiIpOworICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIH0KKyAgICByZXEub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IGxvZygiUEFTUzogRmluaXNoZWQgYXN5bmMgeGhyLiIpOworCisgICAgICAgIHZhciByZXEyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICByZXEyLm9wZW4oIkdFVCIsICJodHRwOi8vbG9j
YWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jaGVjay1j
b29raWVzLnBocD9jb29raWU9V0steGhyLWNvb2tpZS1zdG9yYWdlIiwgZmFsc2UpOworICAgICAg
ICByZXEyLndpdGhDcmVkZW50aWFscyA9IHRydWU7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICByZXEyLnNlbmQoKTsKKyAgICAgICAgICAgIGxvZyghcmVxMi5yZXNwb25zZVRleHQubWF0Y2go
L1dLXC14aHJcLWNvb2tpZVwtc3RvcmFnZTogTXlTcGVjaWFsVmFsdWUvKSA/ICJQQVNTOiBObyBj
b29raWVzIHNldC4iIDogKCJGQUlMOiAiICsgcmVxMi5yZXNwb25zZVRleHQpKTsKKyAgICAgICAg
fSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIGxvZygiRkFJTDogR290IGFuIGV4Y2VwdGlvbi4g
IiArIGV4KTsKKyAgICAgICAgfQorICAgICAgICB0ZXN0U3luY0Nvb2tpZXNXaXRoQ3JlZGVudGlh
bHMoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW5jQ29va2llc1dpdGhDcmVkZW50aWFs
cygpCit7CisgICAgbG9nKCJDcm9zcy1vcmlnaW4gWE1MSHR0cFJlcXVlc3QgKHN5bmMpLCB0ZXN0
aW5nIHRoYXQgY29va2llcyBhcmUgc2V0IHdoZW4gc2VuZGluZyBjcmVkZW50aWFscy4iKTsKKwor
ICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgcmVxLm9wZW4oIkdFVCIsICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Nyb3NzLW9yaWdp
bi1zZXQtY29va2llcy5waHAiLCBmYWxzZSk7CisgICAgcmVxLndpdGhDcmVkZW50aWFscyA9IHRy
dWU7CisgICAgcmVxLnNlbmQoKTsKKyAgICBsb2coIlBBU1M6IEZpbmlzaGVkIHN5bmMgeGhyLiIp
OworCisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgIHJlcS5vcGVuKCJHRVQiLCAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmln
aW4tY2hlY2stY29va2llcy5waHA/Y29va2llPVdLLXhoci1jb29raWUtc3RvcmFnZSIsIGZhbHNl
KTsKKyAgICByZXEud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsKKyAgICB0cnkgeworICAgICAgICBy
ZXEuc2VuZCgpOworICAgICAgICBsb2cocmVxLnJlc3BvbnNlVGV4dC5tYXRjaCgvV0tcLXhoclwt
Y29va2llXC1zdG9yYWdlOiBNeVNwZWNpYWxWYWx1ZS8pID8gIlBBU1M6IENvb2tpZSBzZXQuIiA6
ICJGQUlMOiBubyBjb29raWUgc2V0Iik7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgbG9n
KCJGQUlMOiBHb3QgYW4gZXhjZXB0aW9uLiAiICsgZXgpOworICAgIH0KKyAgICBsb2coIkRPTkUi
KTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgdGVzdFN5bmNDb29raWVzTm9DcmVkZW50aWFscygpOworPC9zY3JpcHQ+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi1jaGVjay1jb29raWVzLnBocCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jaGVjay1jb29raWVz
LnBocAppbmRleCAzZDEyMDkwLi5hYmExYWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tY2hlY2stY29va2ll
cy5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvY3Jvc3Mtb3JpZ2luLWNoZWNrLWNvb2tpZXMucGhwCkBAIC00LDkgKzQsMTQgQEAgaGVhZGVy
KCJMYXN0LU1vZGlmaWVkOiBUaHUsIDE5IE1hciAyMDA5IDExOjIyOjExIEdNVCIpOwogaGVhZGVy
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIpOwog
aGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZSIpOwogCi1pZiAo
aXNzZXQoJF9DT09LSUVbJ1dLLWNyb3NzLW9yaWdpbiddKSkgewotICAgIGVjaG8gJ1dLLWNyb3Nz
LW9yaWdpbjogJyAuICRfQ09PS0lFWydXSy1jcm9zcy1vcmlnaW4nXTsKKyRjb29raWUgPSAkX0dF
VFsnY29va2llJ107CitpZiAoZW1wdHkoJGNvb2tpZSkpIHsKKyAgICAkY29va2llID0gJ1dLLWNy
b3NzLW9yaWdpbic7Cit9CisKK2lmIChpc3NldCgkX0NPT0tJRVskY29va2llXSkpIHsKKyAgICBl
Y2hvICRjb29raWUgLiAnOiAnIC4gJF9DT09LSUVbJGNvb2tpZV07CiB9IGVsc2UgewotICAgIGVj
aG8gJ0Nyb3NzLW9yaWdpbiBjb29raWUgd2FzIG5vdCBzZW50Lic7CisgICAgZWNobyAnQ29va2ll
IHdhcyBub3Qgc2VudC4nOwogfQogPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1zZXQtY29va2llcy5waHAg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1v
cmlnaW4tc2V0LWNvb2tpZXMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAu
LmQ1YTgzZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc2V0LWNvb2tpZXMucGhwCkBAIC0wLDAg
KzEsOCBAQAorPD9waHAKK2hlYWRlcigiU2V0LUNvb2tpZTogV0steGhyLWNvb2tpZS1zdG9yYWdl
PU15U3BlY2lhbFZhbHVlIik7CitoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIik7Cito
ZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMTkgTWFyIDIwMDkgMTE6MjI6MTEgR01UIik7Cito
ZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAw
Iik7CitoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiB0cnVlIik7Cis/
PgorbG9nKCdQQVNTOiBMb2FkZWQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggMzdj
NzkyYy4uNmJlNjkxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTM4MjgsNiArMzgy
OCw3IEBAIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYmFzaWMtYXV0aC5odG1sCiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2Nvb2tpZXMuaHRtbAogI1dlIGRvbid0IHNlZW0gdG8gc3VwcG9y
dCBuZWl0aGVyIG9mIHRoZXNlIGZvciBub3cKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jv
c3Mtb3JpZ2luLWF1dGhvcml6YXRpb24uaHRtbAoraHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9j
cm9zcy1vcmlnaW4tY29va2llLXN0b3JhZ2UuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9jcm9zcy1vcmlnaW4tbm8tYXV0aG9yaXphdGlvbi5odG1sCiAKIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3QvZGVmYXVsdC1jb250ZW50LXR5cGUtZGFzaGJvYXJkLmh0bWwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCmluZGV4IDA2OWU5YjguLjFiYmM2OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtNTA0MywzICs1MDQzLDYgQEAgZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRl
ZC1zdHlsZS1mb250LWZhbWlseS5odG1sCiAKICMgTWlzc2luZyBEUlQgYWJpbGl0eSB0byB0cmFj
ayB3b3JrZXIgdGhyZWFkIGNvdW50cwogZmFzdC93b3JrZXJzL3dvcmtlci1saWZlY3ljbGUuaHRt
bAorCisjIE1pc3NpbmcgRFJUIGFiaWxpdHkgdG8gc2V0IGFjY2VwdCBjb29raWUgcG9saWN5Cito
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUtc3RvcmFnZS5odG1s
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKaW5kZXggZTNlYWVkMy4uYzkxNGU1YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDA5LTA4
LTI2ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBYTUxIdHRwUmVxdWVzdC53aXRoQ3JlZGVu
dGlhbHM9ZmFsc2Ugc2hvdWxkbid0IHNhdmUgY29va2llcy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NzQzCisKKyAgICAgICAgQWRkZWQgdGhlIHN1
cHBvcnQgdG8gdGhlIGxheW91dCB0ZXN0IGNvbnRyb2xsZXIgb24gT1NYIGFuZAorICAgICAgICBX
aW5kb3dzIChmb3IgQ0ZORVRXT1JLKSB0byBhbGxvdyBmb3IgY2hhbmdpbmcgdGhlIGFjY2VwdCBj
b29raWUKKyAgICAgICAgcG9saWN5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91
dFRlc3RDb250cm9sbGVyKTogQWRkZWQgYSBib29sCisgICAgICAgIHRvIHRyYWNrIHRoZSBzdGF0
ZSBvZiBhY2NlcHRpbmcgY29va2llcy4KKyAgICAgICAgKHNldEFsd2F5c0FjY2VwdENvb2tpZXND
YWxsYmFjayk6IFN0YW5kYXJkIHdyYXBwZXIgbWV0aG9kCisgICAgICAgIHRvIGdvIGZyb20ganMg
dG8gYSBDKysgbWV0aG9kLgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1
bmN0aW9ucyk6IEFkZGVkIHRoZQorICAgICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVzIG1ldGhv
ZCB0byB0aGUganMgbGF5b3V0VGVzdENvbnRyb2xsZXIuCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjphbHdheXNBY2NlcHRDb29raWVzKTogUmV0dXJucyB0aGUgdmFsdWUuCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKTogU3R1YiBvdXQgbWV0
aG9kLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAg
ICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOiBSZXNldCB0aGUgYWNjZXB0
IGNvb2tpZSB0bworICAgICAgICBpdHMgZGVmYXVsdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0QWx3YXlzQWNjZXB0Q29va2llcyk6IERvZXMgdGhlIHdvcmsgZm9yCisgICAg
ICAgIE9TWCB0byBjaGFuZ2UgdGhlIGNvb2tpZSBhY2NlcHQgcG9saWN5LgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChzZXRBbHdheXNB
Y2NlcHRDb29raWVzKTogTWV0aG9kIHRvIGhhbmRsZSBhbGwgdGhlIGNhbGxzIG5lY2Vzc2FyeQor
ICAgICAgICB0byBjaGFuZ2UgdGhlIGFjY2VwdCBjb29raWUgcG9saWN5IG9uIFdpbmRvd3MuCisg
ICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKTogUmVzZXQgdGhlIGFjY2Vw
dCBjb29raWUgdG8KKyAgICAgICAgaXRzIGRlZmF1bHQuCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlV2luLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2lu
L0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKTogU3R1YiBvdXQgbWV0aG9kLgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsd2F5c0FjY2VwdENvb2tpZXMpOiBTdHViIG91dCBt
ZXRob2QuCisKIDIwMDktMDgtMjMgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDJhY2U3
ZGMuLmMyNDY0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTY0LDYgKzY0LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OkxheW91dFRlc3RDb250cm9sbGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJM
LCBjb24KICAgICAsIG1fd2FpdFRvRHVtcChmYWxzZSkKICAgICAsIG1fd2lsbFNlbmRSZXF1ZXN0
UmV0dXJuc051bGxPblJlZGlyZWN0KGZhbHNlKQogICAgICwgbV93aW5kb3dJc0tleSh0cnVlKQor
ICAgICwgbV9hbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKQogICAgICwgbV9nbG9iYWxGbGFnKGZh
bHNlKQogICAgICwgbV90ZXN0UGF0aE9yVVJMKHRlc3RQYXRoT3JVUkwpCiAgICAgLCBtX2V4cGVj
dGVkUGl4ZWxIYXNoKGV4cGVjdGVkUGl4ZWxIYXNoKQpAQCAtNTM1LDYgKzUzNiwxOCBAQCBzdGF0
aWMgSlNWYWx1ZVJlZiBzZXRBY2NlcHRzRWRpdGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdQogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250
ZXh0KTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgc2V0QWx3YXlzQWNjZXB0Q29va2llc0NhbGxi
YWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJn
dW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICAvLyBIYXMgbWFjICYgd2lu
ZG93cyBpbXBsZW1lbnRhdGlvbgorICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgTGF5b3V0VGVzdENv
bnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+
KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJvbGxlci0+c2V0QWx3
YXlzQWNjZXB0Q29va2llcyhKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkp
OworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCiBzdGF0
aWMgSlNWYWx1ZVJlZiBzZXRBcHBDYWNoZU1heGltdW1TaXplQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgaW1wbGVtZW50YXRpb24KQEAgLTEw
MTAsNiArMTAyMyw3IEBAIEpTU3RhdGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9sbGVyOjpz
dGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJxdWV1ZVJlbG9hZCIsIHF1ZXVlUmVsb2FkQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAicmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5IiwgcmVw
YWludFN3ZWVwSG9yaXpvbnRhbGx5Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0QWNj
ZXB0c0VkaXRpbmciLCBzZXRBY2NlcHRzRWRpdGluZ0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAg
IHsgInNldEFsd2F5c0FjY2VwdENvb2tpZXMiLCBzZXRBbHdheXNBY2NlcHRDb29raWVzQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQiLCBz
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
InNldEFwcENhY2hlTWF4aW11bVNpemUiLCBzZXRBcHBDYWNoZU1heGltdW1TaXplQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwgCiAgICAgICAgIHsgInNldENhbGxDbG9zZU9uV2ViVmlld3MiLCBzZXRDYWxsQ2xv
c2VPbldlYlZpZXdzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDgwMDkxNGUuLjg4YjM1NTggMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aApAQCAtMTcwLDYgKzE3MCw5IEBAIHB1YmxpYzoKICAgICBib29sIHdpbmRvd0lzS2V5KCkgY29u
c3QgeyByZXR1cm4gbV93aW5kb3dJc0tleTsgfQogICAgIHZvaWQgc2V0V2luZG93SXNLZXkoYm9v
bCB3aW5kb3dJc0tleSk7CiAKKyAgICBib29sIGFsd2F5c0FjY2VwdENvb2tpZXMoKSBjb25zdCB7
IHJldHVybiBtX2Fsd2F5c0FjY2VwdENvb2tpZXM7IH0KKyAgICB2b2lkIHNldEFsd2F5c0FjY2Vw
dENvb2tpZXMoYm9vbCBhbHdheXNBY2NlcHRDb29raWVzKTsKKwogICAgIGJvb2wgZ2xvYmFsRmxh
ZygpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsRmxhZzsgfQogICAgIHZvaWQgc2V0R2xvYmFsRmxh
Zyhib29sIGdsb2JhbEZsYWcpIHsgbV9nbG9iYWxGbGFnID0gZ2xvYmFsRmxhZzsgfQogICAgIApA
QCAtMjA5LDYgKzIxMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRUb0R1bXA7IC8vIFRy
dWUgaWYgd2FpdFVudGlsRG9uZSgpIGhhcyBiZWVuIGNhbGxlZCwgYnV0IG5vdGlmeURvbmUoKSBo
YXMgbm90IHlldCBiZWVuIGNhbGxlZC4KICAgICBib29sIG1fd2lsbFNlbmRSZXF1ZXN0UmV0dXJu
c051bGxPblJlZGlyZWN0OwogICAgIGJvb2wgbV93aW5kb3dJc0tleTsKKyAgICBib29sIG1fYWx3
YXlzQWNjZXB0Q29va2llczsKIAogICAgIGJvb2wgbV9nbG9iYWxGbGFnOwogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVy
R3RrLmNwcAppbmRleCA3MmVjZDc4Li5hYmFiMDgyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAg
LTE1OSw2ICsxNTksMTEgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWNjZXB0c0Vk
aXRpbmcoYm9vbCBhY2NlcHRzRWRpdGluZykKICAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X2VkaXRh
YmxlKHdlYlZpZXcsIGFjY2VwdHNFZGl0aW5nKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0QWx3YXlzQWNjZXB0Q29va2llcyhib29sIGFsd2F5c0FjY2VwdENvb2tpZXMpCit7
CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIChhbmQgcmVzdG9yZSB0aGUgZGVmYXVsdCB2
YWx1ZSBiZWZvcmUgcnVubmluZyBlYWNoIHRlc3QgaW4gRHVtcFJlbmRlclRyZWUuY3BwKS4KK30K
Kwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9v
bCBzZXREZWxlZ2F0ZSwgYm9vbCBwZXJtaXNzaXZlKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1l
bnQKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bQppbmRleCA4MDU1NzIyLi5mZDMyYTdlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC00MjIsNiArNDIyLDggQEAgc3RhdGljIHZv
aWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgLy8gVGhlIGJhY2svZm9y
d2FyZCBjYWNoZSBpcyBjYXVzaW5nIHByb2JsZW1zIGR1ZSB0byBsYXlvdXRzIGR1cmluZyB0cmFu
c2l0aW9uIGZyb20gb25lIHBhZ2UgdG8gYW5vdGhlci4KICAgICAvLyBTbywgdHVybiBpdCBvZmYg
Zm9yIG5vdywgYnV0IHdlIG1pZ2h0IHdhbnQgdG8gdHVybiBpdCBiYWNrIG9uIHNvbWUgZGF5Lgog
ICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VzUGFnZUNhY2hlOk5PXTsKKworICAgIFtbTlNIVFRQQ29v
a2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gc2V0Q29va2llQWNjZXB0UG9saWN5
Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluXTsKIH0K
IAogLy8gQ2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5t
bSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1h
Yy5tbQppbmRleCBiMzljZjQ3Li5iMDQ3MDliIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0xOTgs
NiArMTk4LDE2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5n
KGJvb2wgbmV3QWNjZXB0c0VkaXRpbmcpCiAgICAgWyhFZGl0aW5nRGVsZWdhdGUgKilbW21haW5G
cmFtZSB3ZWJWaWV3XSBlZGl0aW5nRGVsZWdhdGVdIHNldEFjY2VwdHNFZGl0aW5nOm5ld0FjY2Vw
dHNFZGl0aW5nXTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWx3YXlzQWNj
ZXB0Q29va2llcyhib29sIGFsd2F5c0FjY2VwdENvb2tpZXMpCit7CisgICAgaWYgKGFsd2F5c0Fj
Y2VwdENvb2tpZXMgPT0gbV9hbHdheXNBY2NlcHRDb29raWVzKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX2Fsd2F5c0FjY2VwdENvb2tpZXMgPSBhbHdheXNBY2NlcHRDb29raWVzOworICAgIE5T
SFRUUENvb2tpZUFjY2VwdFBvbGljeSBjb29raWVBY2NlcHRQb2xpY3kgPSBhbHdheXNBY2NlcHRD
b29raWVzID8gTlNIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzIDogTlNIVFRQQ29va2llQWNj
ZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgW1tOU0hUVFBDb29raWVT
dG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBzZXRDb29raWVBY2NlcHRQb2xpY3k6Y29v
a2llQWNjZXB0UG9saWN5XTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBw
Q2FjaGVNYXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKIHsKICAgICBbV2ViQXBw
bGljYXRpb25DYWNoZSBzZXRNYXhpbXVtU2l6ZTpzaXplXTsKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDAyMjg5MDUuLmJiNDU4
YzMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcApAQCAtNTgsNiArNTgsMTAgQEAKICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CiAj
aW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgogCisjaWYgVVNFKENGTkVUV09SSykKKyNp
bmNsdWRlIDxDRk5ldHdvcmsvQ0ZIVFRQQ29va2llc1ByaXYuaD4KKyNlbmRpZgorCiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCiAjaWZuZGVmIE5ERUJVRwpAQCAtMTA4LDYgKzExMiwyNCBAQCB2b2lk
IHNldFBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uKENGU3RyaW5nUmVmIHVybCkKICAg
ICBwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbiA9IHVybDsKIH0KIAorYm9vbCBzZXRB
bHdheXNBY2NlcHRDb29raWVzKGJvb2wgYWx3YXlzQWNjZXB0Q29va2llcykKK3sKKyNpZiBVU0Uo
Q0ZORVRXT1JLKQorICAgIENPTVB0cjxJV2ViQ29va2llTWFuYWdlcj4gY29va2llTWFuYWdlcjsK
KyAgICBpZiAoRkFJTEVEKFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkNvb2tpZU1hbmFn
ZXIsIDAsIElJRF9JV2ViQ29va2llTWFuYWdlciwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZj
b29raWVNYW5hZ2VyKSkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQ0ZIVFRQQ29va2ll
U3RvcmFnZVJlZiBjb29raWVTdG9yYWdlID0gMDsKKyAgICBpZiAoRkFJTEVEKGNvb2tpZU1hbmFn
ZXItPmNvb2tpZVN0b3JhZ2UoJmNvb2tpZVN0b3JhZ2UpKSB8fCAhY29va2llU3RvcmFnZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgV2ViS2l0Q29va2llU3RvcmFnZUFjY2VwdFBvbGlj
eSBjb29raWVBY2NlcHRQb2xpY3kgPSBhbHdheXNBY2NlcHRDb29raWVzID8gV2ViS2l0Q29va2ll
U3RvcmFnZUFjY2VwdFBvbGljeUFsd2F5cyA6IFdlYktpdENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xp
Y3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICBDRkhUVFBDb29raWVTdG9yYWdlU2V0
Q29va2llQWNjZXB0UG9saWN5KGNvb2tpZVN0b3JhZ2UsIGNvb2tpZUFjY2VwdFBvbGljeSk7Cisg
ICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQhCisjZW5kaWYK
K30KKwogd3N0cmluZyB1cmxTdWl0YWJsZUZvclRlc3RSZXN1bHQoY29uc3Qgd3N0cmluZyYgdXJs
KQogewogICAgIGlmICghdXJsLmNfc3RyKCkgfHwgdXJsLmZpbmQoTCJmaWxlOi8vIikgPT0gd3N0
cmluZzo6bnBvcykKQEAgLTcxNSw2ICs3MzcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRz
VG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFMU0UpOwogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChUUlVFKTsKICAg
ICB9CisgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CiAKIHN0YXRpYyB2b2lk
IHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWVXaW4uaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oCmluZGV4IGJm
OWIxMjMuLjZlYjQ2OGQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZVdpbi5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZVdpbi5oCkBAIC01Myw2ICs1Myw3IEBAIHR5cGVkZWYgSGFzaE1hcDxI
V05ELCBDT01QdHI8SVdlYlZpZXc+ID4gV2luZG93VG9XZWJWaWV3TWFwOwogV2luZG93VG9XZWJW
aWV3TWFwJiB3aW5kb3dUb1dlYlZpZXdNYXAoKTsKIAogdm9pZCBzZXRQZXJzaXN0ZW50VXNlclN0
eWxlU2hlZXRMb2NhdGlvbihDRlN0cmluZ1JlZik7Citib29sIHNldEFsd2F5c0FjY2VwdENvb2tp
ZXMoYm9vbCBhbHdheXNBY2NlcHRDb29raWVzKTsKIAogZXh0ZXJuIFVJTlRfUFRSIHdhaXRUb0R1
bXBXYXRjaGRvZzsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKaW5kZXggMzgzYjAwNi4uNTc4Nzk3NyAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250
cm9sbGVyV2luLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0
VGVzdENvbnRyb2xsZXJXaW4uY3BwCkBAIC0yNzEsNiArMjcxLDE2IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5nKGJvb2wgYWNjZXB0c0VkaXRpbmcpCiAgICAg
ZWRpdGluZ0RlbGVnYXRlLT5zZXRBY2NlcHRzRWRpdGluZyhhY2NlcHRzRWRpdGluZyk7CiB9CiAK
K3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9vbCBh
bHdheXNBY2NlcHRDb29raWVzKQoreworICAgIGlmIChhbHdheXNBY2NlcHRDb29raWVzID09IG1f
YWx3YXlzQWNjZXB0Q29va2llcykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCE6OnNldEFs
d2F5c0FjY2VwdENvb2tpZXMoYWx3YXlzQWNjZXB0Q29va2llcykpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2Fsd2F5c0FjY2VwdENvb2tpZXMgPSBhbHdheXNBY2NlcHRDb29raWVzOworfQorCiB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChi
b29sIGZsYWcpCiB7CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OwpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNw
cAppbmRleCBjZTUxMzlmLi4yMWIwODg5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcApAQCAtMTAwLDYgKzEw
MCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRzRWRpdGluZyhib29s
IGFjY2VwdHNFZGl0aW5nKQogewogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRB
bHdheXNBY2NlcHRDb29raWVzKGJvb2wgYWx3YXlzQWNjZXB0Q29va2llcykKK3sKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoaXMgKGFuZCByZXN0b3JlIHRoZSBkZWZhdWx0IHZhbHVlIGJlZm9y
ZSBydW5uaW5nIGVhY2ggdGVzdCBpbiBEdW1wUmVuZGVyVHJlZS5jcHApLgorfQorCiB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29sLCBib29sKQog
ewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
</data>
<flag name="review"
          id="19629"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="19630"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>