<?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>52799</bug_id>
          
          <creation_ts>2011-01-20 04:30:32 -0800</creation_ts>
          <short_desc>REGRESSION(r76215): Caused regressions in Chromium; morrita is going to look at it tomrorow (Requested by jorlow on #webkit).</short_desc>
          <delta_ts>2011-01-20 04:36:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>5241</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>jorlow</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>337257</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:30:32 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76215 broke the build:
Caused regressions in Chromium; morrita is going to look at it tomrorow (Requested by jorlow on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337258</commentid>
    <comment_count>1</comment_count>
      <attachid>79579</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:30:55 -0800</bug_when>
    <thetext>Created attachment 79579
ROLLOUT of r76215

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337263</commentid>
    <comment_count>2</comment_count>
      <attachid>79579</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-20 04:36:35 -0800</bug_when>
    <thetext>Comment on attachment 79579
ROLLOUT of r76215

Clearing flags on attachment: 79579

Committed r76226: &lt;http://trac.webkit.org/changeset/76226&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337264</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-20 04:36:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79579</attachid>
            <date>2011-01-20 04:30:55 -0800</date>
            <delta_ts>2011-01-20 04:36:35 -0800</delta_ts>
            <desc>ROLLOUT of r76215</desc>
            <filename>bug-52799-20110120123035.patch</filename>
            <type>text/plain</type>
            <size>28788</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNzFhZTMyNTFhYzM5ZDJiOGMzNzYyZjdmYWFhYTU2NGZhMDI1OWQxLi41YTlkNjk3
NWJmYTMyYjI2MWE3NDliOTljNjhlMjM3YzYxNTcwMTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDEtMjAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NjIxNS4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzYyMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzk5CisKKyAgICAgICAgQ2F1c2VkIHJlZ3Jlc3Np
b25zIGluIENocm9taXVtOyBtb3JyaXRhIGlzIGdvaW5nIHRvIGxvb2sgYXQgaXQKKyAgICAgICAg
dG9tcm9yb3cgKFJlcXVlc3RlZCBieSBqb3Jsb3cgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBl
ZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hpdGVzcGFjZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0
aW9uLXdoaXRlc3BhY2UuaHRtbDogUmVtb3ZlZC4KKwogMjAxMS0wMS0yMCAgUGhpbGlwcGUgTm9y
bWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgU2tpcCBmYWlsaW5nIHRlc3Rz
IGR1ZSB0byBtaXNzaW5nIHRyYWlsaW5nIHdoaXRlIHNwYWNlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hpdGVzcGFjZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRp
b24td2hpdGVzcGFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQwODdjYTRjOTFlMzZmYmIzMTIxZDhiNDNjMmE2ZThiMGVjNzJiYzkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNl
cnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNDkgKzAsMCBAQAotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCJwotUEFT
UyBjb21wb3NpdGluZ1RleHQgaXMgJ0EgQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBIMKg
QicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBIMKgIEInCi1QQVNTIGNvbXBvc2l0aW5nVGV4
dCBpcyAnQSDCoCDCoEInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqBBQicKLVBBU1MgY29t
cG9zaXRpbmdUZXh0IGlzICfCoMKgQUInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoCBB
QicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgQUInCi1QQVNTIGNvbXBvc2l0aW5n
VGV4dCBpcyAnwqDCoCDCoCBBQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICfCoMKgIMKgIMKg
QUInCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoCDCoCDCoCBBQicKLVBBU1MgY29tcG9z
aXRpbmdUZXh0IGlzICdBQiDCoCcKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQiDCoMKgJwot
UEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCIMKgIMKgJwotUEFTUyBjb21wb3NpdGluZ1RleHQg
aXMgJ0FCIMKgIMKgwqAnCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQUIgwqAgwqAgwqAnCi1Q
QVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnQUIgwqAgwqAgwqDCoCcKLVBBU1MgY29tcG9zaXRpbmdU
ZXh0IGlzICfCoMKgQSDCoEIgwqAnCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoEEgwqBC
IMKgJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ8KgJwotUEFTUyBjb21wb3NpdGluZ1RleHQg
aXMgJ8KgwqAnCi1QQVNTIGNvbXBvc2l0aW5nVGV4dCBpcyAnwqDCoMKgJwotUEFTUyBjb21wb3Np
dGluZ1RleHQgaXMgJ0FCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0EgQicKLVBBU1MgY29t
cG9zaXRpbmdUZXh0IGlzICdBICBCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0EgICBCJwot
UEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0EgICAgQicKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlz
ICdBQiAgJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCICAgJwotUEFTUyBjb21wb3NpdGlu
Z1RleHQgaXMgJ0FCICAgICcKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICdBQiAgICAgJwotUEFT
UyBjb21wb3NpdGluZ1RleHQgaXMgJ0FCICAgICAgJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMg
J0FCICAgICAgICcKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICcgIEFCJwotUEFTUyBjb21wb3Np
dGluZ1RleHQgaXMgJyAgIEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJyAgICBBQicKLVBB
U1MgY29tcG9zaXRpbmdUZXh0IGlzICcgICAgIEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMg
JyAgICAgIEFCJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJyAgICAgICBBQicKLVBBU1MgY29t
cG9zaXRpbmdUZXh0IGlzICcgIEEgIEIgICcKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICcJCUEJ
CUIJCScKLVBBU1MgY29tcG9zaXRpbmdUZXh0IGlzICcgJwotUEFTUyBjb21wb3NpdGluZ1RleHQg
aXMgJyAgJwotUEFTUyBjb21wb3NpdGluZ1RleHQgaXMgJyAgICcKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9zaXRpb24td2hpdGVzcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWNvbXBvc2l0aW9uLXdoaXRlc3Bh
Y2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTVmMmQ4ZjU0NWEwODY0NTc1
ODhjZmNjZjQ2NWE0MTRkNGIzYjc1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtY29tcG9z
aXRpb24td2hpdGVzcGFjZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVh
ZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLXZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKLXZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKLQotCi1m
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCB0ZXh0KSB7Ci0gICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwotICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKLSAgICBub2RlLmlubmVySFRNTCA9IHRleHQ7Ci0gICAgcmV0dXJuIG5vZGU7Ci19
Ci0KLWZ1bmN0aW9uIHRlc3QodGFnTmFtZSwgY29tcG9zaXRpb25UZXh0LCBleHBlY3RlZCkgewot
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgIlgiKTsKLSAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOwotCi0gICAgdmFyIHRleHROb2RlID0gbm9kZS5maXJzdENoaWxkOwot
ICAgIHNlbC5zZXRCYXNlQW5kRXh0ZW50KHRleHROb2RlLCAwLCB0ZXh0Tm9kZSwgdGV4dE5vZGUu
ZGF0YS5sZW5ndGgpOwotICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJEZWxldGUiLCBmYWxzZSk7
Ci0KLSAgICB0ZXh0SW5wdXRDb250cm9sbGVyLnNldE1hcmtlZFRleHQoY29tcG9zaXRpb25UZXh0
LCAwLCBjb21wb3NpdGlvblRleHQpOwotICAgIGNvbXBvc2l0aW5nVGV4dCA9IG5vZGUuaW5uZXJU
ZXh0OwotICAgIHRleHRJbnB1dENvbnRyb2xsZXIudW5tYXJrVGV4dCgpOwotICAgIGNvbmZpcm1l
ZFRleHQgPSBub2RlLmlubmVyVGV4dDsKLQotICAgIHNob3VsZEJlKCJjb21wb3NpdGluZ1RleHQi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Ci19Ci0KLXRlc3QoImRpdiIsICJBQiIsICJBQiIpOwot
dGVzdCgiZGl2IiwgIkEgQiIsICJBIEIiKTsKLXRlc3QoImRpdiIsICJBICBCIiwgIkEgXHhBMEIi
KTsKLXRlc3QoImRpdiIsICJBICAgQiIsICJBIFx4QTAgQiIpOwotdGVzdCgiZGl2IiwgIkEgICAg
QiIsICJBIFx4QTAgXHhBMEIiKTsgCi0KLXRlc3QoImRpdiIsICIgQUIiLCAiXHhBMEFCIik7Ci10
ZXN0KCJkaXYiLCAiICBBQiIsICJceEEwXHhBMEFCIik7Ci10ZXN0KCJkaXYiLCAiICAgQUIiLCAi
XHhBMFx4QTAgQUIiKTsKLXRlc3QoImRpdiIsICIgICAgQUIiLCAiXHhBMFx4QTAgXHhBMEFCIik7
Ci10ZXN0KCJkaXYiLCAiICAgICBBQiIsICJceEEwXHhBMCBceEEwIEFCIik7Ci10ZXN0KCJkaXYi
LCAiICAgICAgQUIiLCAiXHhBMFx4QTAgXHhBMCBceEEwQUIiKTsKLXRlc3QoImRpdiIsICIgICAg
ICAgQUIiLCAiXHhBMFx4QTAgXHhBMCBceEEwIEFCIik7Ci10ZXN0KCJkaXYiLCAiQUIgICIsICJB
QiBceEEwIik7Ci10ZXN0KCJkaXYiLCAiQUIgICAiLCAiQUIgXHhBMFx4QTAiKTsKLXRlc3QoImRp
diIsICJBQiAgICAiLCAiQUIgXHhBMCBceEEwIik7Ci10ZXN0KCJkaXYiLCAiQUIgICAgICIsICJB
QiBceEEwIFx4QTBceEEwIik7Ci10ZXN0KCJkaXYiLCAiQUIgICAgICAiLCAiQUIgXHhBMCBceEEw
IFx4QTAiKTsKLXRlc3QoImRpdiIsICJBQiAgICAgICAiLCAiQUIgXHhBMCBceEEwIFx4QTBceEEw
Iik7Ci0KLXRlc3QoImRpdiIsICIgIEEgIEIgICIsICJceEEwXHhBMEEgXHhBMEIgXHhBMCIpOwot
dGVzdCgiZGl2IiwgIlx0XHRBXHRcdEJcdFx0IiwgIlx4QTBceEEwQSBceEEwQiBceEEwIik7Ci0K
LXRlc3QoImRpdiIsICIgIiwgIlx4QTAiKTsKLXRlc3QoImRpdiIsICIgICIsICJceEEwXHhBMCIp
OwotLy8gVGhpcyBpcyB3cm9uZy4gVGhpcyBzaG91bGQgaW5zZXJ0IGludGVybGVhdmVkIG5ic3Ag
YW5kIHdoaXRlc3BhY2UuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTI3ODEuCi10ZXN0KCJkaXYiLCAiICAgIiwgIlx4QTBceEEwXHhBMCIpOwotCi10ZXN0KCJw
cmUiLCAiQUIiLCAiQUIiKTsKLXRlc3QoInByZSIsICJBIEIiLCAiQSBCIik7Ci10ZXN0KCJwcmUi
LCAiQSAgQiIsICJBICBCIik7Ci10ZXN0KCJwcmUiLCAiQSAgIEIiLCAiQSAgIEIiKTsKLXRlc3Qo
InByZSIsICJBICAgIEIiLCAiQSAgICBCIik7Ci10ZXN0KCJwcmUiLCAiQUIgICIsICJBQiAgIik7
Ci10ZXN0KCJwcmUiLCAiQUIgICAiLCAiQUIgICAiKTsKLXRlc3QoInByZSIsICJBQiAgICAiLCAi
QUIgICAgIik7Ci10ZXN0KCJwcmUiLCAiQUIgICAgICIsICJBQiAgICAgIik7Ci10ZXN0KCJwcmUi
LCAiQUIgICAgICAiLCAiQUIgICAgICAiKTsKLXRlc3QoInByZSIsICJBQiAgICAgICAiLCAiQUIg
ICAgICAgIik7Ci10ZXN0KCJwcmUiLCAiICBBQiIsICIgIEFCIik7Ci10ZXN0KCJwcmUiLCAiICAg
QUIiLCAiICAgQUIiKTsKLXRlc3QoInByZSIsICIgICAgQUIiLCAiICAgIEFCIik7Ci10ZXN0KCJw
cmUiLCAiICAgICBBQiIsICIgICAgIEFCIik7Ci10ZXN0KCJwcmUiLCAiICAgICAgQUIiLCAiICAg
ICAgQUIiKTsKLXRlc3QoInByZSIsICIgICAgICAgQUIiLCAiICAgICAgIEFCIik7Ci0KLXRlc3Qo
InByZSIsICIgIEEgIEIgICIsICIgIEEgIEIgICIpOwotdGVzdCgicHJlIiwgIlx0XHRBXHRcdEJc
dFx0IiwgIlx0XHRBXHRcdEJcdFx0Iik7Ci10ZXN0KCJwcmUiLCAiICIsICIgIik7Ci10ZXN0KCJw
cmUiLCAiICAiLCAiICAiKTsKLXRlc3QoInByZSIsICIgICAiLCAiICAgIik7Ci0KLXJvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKLXN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZjYjRhMDQ3ZTVj
ZTNhNzQ4MWRkMjYxMjhkNjIzMGU5ZDllZTg0ZS4uZTI3MTE4MWE3MGYyZmViY2E3YjJkNGMxYWJi
OTg4MGNmMDk1MTJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTAxLTIwICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByNzYyMTUuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0Lzc2MjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01Mjc5OQorCisgICAgICAgIENhdXNlZCByZWdyZXNzaW9ucyBpbiBDaHJvbWl1
bTsgbW9ycml0YSBpcyBnb2luZyB0byBsb29rIGF0IGl0CisgICAgICAgIHRvbXJvcm93IChSZXF1
ZXN0ZWQgYnkgam9ybG93IG9uICN3ZWJraXQpLgorCisgICAgICAgICogZG9tL1RleHRFdmVudC5o
OgorICAgICAgICAqIGRvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBlZGl0aW5n
L0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVk
aXRDb21tYW5kOjpyZWJhbGFuY2VXaGl0ZXNwYWNlQXQpOgorICAgICAgICAqIGVkaXRpbmcvQ29t
cG9zaXRlRWRpdENvbW1hbmQuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6Omluc2VydFRleHRXaXRob3V0U2VuZGluZ1RleHRFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmNvbmZpcm1Db21wb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OnNldENvbXBvc2l0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5oOgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zZXJ0VGV4dENvbW1hbmQ6OmlucHV0KToKKyAgICAgICAgKiBlZGl0aW5n
L0luc2VydFRleHRDb21tYW5kLmg6CisgICAgICAgICogZWRpdGluZy9UeXBpbmdDb21tYW5kLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OlR5cGluZ0NvbW1hbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRUZXh0UnVuV2l0aG91dE5ld2xpbmVzKToKKyAgICAg
ICAgKiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0Nv
bW1hbmQ6OmNyZWF0ZSk6CisKIDIwMTEtMDEtMTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4
dEV2ZW50LmgKaW5kZXggMjZjOGI5M2Q0MTAyMjgzNWQ0NjUzMDQwOTdlMmFhMmExZTAzYTliOC4u
ZDc3MGQzODg0NDM0MGY2ODQwNTI3YjhjN2MxNDllZmY5YmRjMGI3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
RXZlbnQuaApAQCAtNTEsNyArNTEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc1RleHRFdmVudCgpIGNvbnN0OwogCiAgICAgICAgIGJvb2wgaXNMaW5lQnJl
YWsoKSBjb25zdCB7IHJldHVybiBtX2lucHV0VHlwZSA9PSBUZXh0RXZlbnRJbnB1dExpbmVCcmVh
azsgfQotICAgICAgICBib29sIGlzQ29tcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2lucHV0
VHlwZSA9PSBUZXh0RXZlbnRJbnB1dENvbXBvc2l0aW9uOyB9CiAgICAgICAgIGJvb2wgaXNCYWNr
VGFiKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gVGV4dEV2ZW50SW5wdXRCYWNrVGFi
OyB9CiAgICAgICAgIGJvb2wgaXNQYXN0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09
IFRleHRFdmVudElucHV0UGFzdGU7IH0KICAgICAgICAgYm9vbCBpc0Ryb3AoKSBjb25zdCB7IHJl
dHVybiBtX2lucHV0VHlwZSA9PSBUZXh0RXZlbnRJbnB1dERyb3A7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0RXZlbnRJbnB1dFR5cGUuaAppbmRleCBmNWEwNWViNzAwNGRkODNiOGUzMWZlYTI1MjVh
YjRlMWRlMmUxZTIyLi4yNTIyZWM0NWZmN2Y4MTkxZjc0NTkwYmJkODk5MzYzZTcyNzRlNjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudElucHV0VHlwZS5oCkBAIC0zMSw3ICszMSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGVudW0gVGV4dEV2ZW50SW5wdXRUeXBlIHsKICAgICBUZXh0
RXZlbnRJbnB1dEtleWJvYXJkLCAvLyBhbnkgbmV3bGluZSBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0
IGFyZSBsaW5lIGJyZWFrcyBvbmx5LCBub3QgcGFyYWdyYXBoIHNlcGFyYXRvcnMuCiAgICAgVGV4
dEV2ZW50SW5wdXRMaW5lQnJlYWssIC8vIGFueSB0YWIgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBh
cmUgYmFja3RhYnMuCi0gICAgVGV4dEV2ZW50SW5wdXRDb21wb3NpdGlvbiwKICAgICBUZXh0RXZl
bnRJbnB1dEJhY2tUYWIsCiAgICAgVGV4dEV2ZW50SW5wdXRQYXN0ZSwKICAgICBUZXh0RXZlbnRJ
bnB1dERyb3AsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1h
bmQuY3BwCmluZGV4IDM5MjgwZDRjMTE4ZGE5Yzk1ZTNkZjVkZGY5NjUwMjRkZjllOGRkYWIuLjU1
MmVkNzk0ZjE0ODQ3YzUzMGQyZjhhOGY3YzIxMWU5ZTBkYzM3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0zOTUsODQgKzM5NSw1
MiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKFVDaGFyIGMpCiAgICAgcmV0dXJu
IGMgPT0gbm9CcmVha1NwYWNlIHx8IGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdcdCc7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNlKGNvbnN0IFN0
cmluZyYgdGV4dCkKLXsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dC5sZW5ndGgo
KTsgKytpKSB7Ci0gICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKHRleHQuY2hhcmFjdGVycygpW2ld
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLWJvb2wgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnNob3VsZFJlYmFsYW5jZUxlYWRp
bmdXaGl0ZXNwYWNlRm9yKGNvbnN0IFN0cmluZyYgdGV4dCkgY29uc3QKLXsKLSAgICByZXR1cm4g
Y29udGFpbnNPbmx5V2hpdGVzcGFjZSh0ZXh0KTsKLX0KLQotYm9vbCBDb21wb3NpdGVFZGl0Q29t
bWFuZDo6Y2FuUmViYWxhbmNlKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikgY29uc3QKKy8vIEZJ
WE1FOiBEb2Vzbid0IGdvIGludG8gdGV4dCBub2RlcyB0aGF0IGNvbnRyaWJ1dGUgYWRqYWNlbnQg
dGV4dCAoc2libGluZ3MsIGNvdXNpbnMsIGV0YykuCit2b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5k
OjpyZWJhbGFuY2VXaGl0ZXNwYWNlQXQoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQogewogICAg
IE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5jb250YWluZXJOb2RlKCk7CiAgICAgaWYgKHBvc2l0aW9u
LmFuY2hvclR5cGUoKSAhPSBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yIHx8ICFu
b2RlIHx8ICFub2RlLT5pc1RleHROb2RlKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQorICAg
ICAgICByZXR1cm47CiAgICAgVGV4dCogdGV4dE5vZGUgPSBzdGF0aWNfY2FzdDxUZXh0Kj4obm9k
ZSk7Ci0gICAgaWYgKHRleHROb2RlLT5sZW5ndGgoKSA9PSAwKQotICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAodGV4dE5vZGUtPmxlbmd0aCgpID09IDApCisgICAgICAgIHJldHVybjsK
ICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGV4dE5vZGUtPnJlbmRlcmVyKCk7CiAgICAg
aWYgKHJlbmRlcmVyICYmICFyZW5kZXJlci0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi0vLyBGSVhN
RTogRG9lc24ndCBnbyBpbnRvIHRleHQgbm9kZXMgdGhhdCBjb250cmlidXRlIGFkamFjZW50IHRl
eHQgKHNpYmxpbmdzLCBjb3VzaW5zLCBldGMpLgotdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6
cmViYWxhbmNlV2hpdGVzcGFjZUF0KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKLXsKLSAgICBO
b2RlKiBub2RlID0gcG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwotICAgIGlmICghY2FuUmViYWxh
bmNlKHBvc2l0aW9uKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gSWYgdGhlIHJlYmFsYW5j
ZSBpcyBmb3IgdGhlIHNpbmdsZSBvZmZzZXQsIGFuZCBuZWl0aGVyIHRleHRbb2Zmc2V0XSBub3Ig
dGV4dFtvZmZzZXQgLSAxXSBhcmUgc29tZSBmb3JtIG9mIHdoaXRlc3BhY2UsIGRvIG5vdGhpbmcu
CisgICAgU3RyaW5nIHRleHQgPSB0ZXh0Tm9kZS0+ZGF0YSgpOworICAgIEFTU0VSVCghdGV4dC5p
c0VtcHR5KCkpOworCiAgICAgaW50IG9mZnNldCA9IHBvc2l0aW9uLmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCk7Ci0gICAgU3RyaW5nIHRleHQgPSBzdGF0aWNfY2FzdDxUZXh0Kj4obm9kZSktPmRh
dGEoKTsKKyAgICAvLyBJZiBuZWl0aGVyIHRleHRbb2Zmc2V0XSBub3IgdGV4dFtvZmZzZXQgLSAx
XSBhcmUgc29tZSBmb3JtIG9mIHdoaXRlc3BhY2UsIGRvIG5vdGhpbmcuCiAgICAgaWYgKCFpc1do
aXRlc3BhY2UodGV4dFtvZmZzZXRdKSkgewogICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgaWYg
KG9mZnNldCA8IDAgfHwgIWlzV2hpdGVzcGFjZSh0ZXh0W29mZnNldF0pKQogICAgICAgICAgICAg
cmV0dXJuOwogICAgIH0KLQotICAgIHJlYmFsYW5jZVdoaXRlc3BhY2VPblRleHRTdWJzdHJpbmco
c3RhdGljX2Nhc3Q8VGV4dCo+KG5vZGUpLCBwb3NpdGlvbi5vZmZzZXRJbkNvbnRhaW5lck5vZGUo
KSwgcG9zaXRpb24ub2Zmc2V0SW5Db250YWluZXJOb2RlKCkpOwotfQotCi12b2lkIENvbXBvc2l0
ZUVkaXRDb21tYW5kOjpyZWJhbGFuY2VXaGl0ZXNwYWNlT25UZXh0U3Vic3RyaW5nKFJlZlB0cjxU
ZXh0PiB0ZXh0Tm9kZSwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0KQotewotICAgIFN0
cmluZyB0ZXh0ID0gdGV4dE5vZGUtPmRhdGEoKTsKLSAgICBBU1NFUlQoIXRleHQuaXNFbXB0eSgp
KTsKLQorICAgIAogICAgIC8vIFNldCB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbSB0byBkZWZpbmUg
dGhlIGV4dGVudCBvZiB0aGUgd2hpdGVzcGFjZSBzdXJyb3VuZGluZyB0ZXh0W29mZnNldF0uCi0g
ICAgaW50IHVwc3RyZWFtID0gc3RhcnRPZmZzZXQ7CisgICAgaW50IHVwc3RyZWFtID0gb2Zmc2V0
OwogICAgIHdoaWxlICh1cHN0cmVhbSA+IDAgJiYgaXNXaGl0ZXNwYWNlKHRleHRbdXBzdHJlYW0g
LSAxXSkpCiAgICAgICAgIHVwc3RyZWFtLS07CiAgICAgCi0gICAgaW50IGRvd25zdHJlYW0gPSBl
bmRPZmZzZXQ7Ci0gICAgd2hpbGUgKCh1bnNpZ25lZClkb3duc3RyZWFtIDwgdGV4dC5sZW5ndGgo
KSAmJiBpc1doaXRlc3BhY2UodGV4dFtkb3duc3RyZWFtXSkpCisgICAgaW50IGRvd25zdHJlYW0g
PSBvZmZzZXQ7CisgICAgd2hpbGUgKCh1bnNpZ25lZClkb3duc3RyZWFtICsgMSA8IHRleHQubGVu
Z3RoKCkgJiYgaXNXaGl0ZXNwYWNlKHRleHRbZG93bnN0cmVhbSArIDFdKSkKICAgICAgICAgZG93
bnN0cmVhbSsrOwogICAgIAotICAgIGludCBsZW5ndGggPSBkb3duc3RyZWFtIC0gdXBzdHJlYW07
Ci0gICAgaWYgKCFsZW5ndGgpCi0gICAgICAgIHJldHVybjsKLQotICAgIFZpc2libGVQb3NpdGlv
biB2aXNpYmxlVXBzdHJlYW1Qb3MoUG9zaXRpb24odGV4dE5vZGUsIHVwc3RyZWFtLCBQb3NpdGlv
bjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKSk7Ci0gICAgVmlzaWJsZVBvc2l0aW9uIHZpc2li
bGVEb3duc3RyZWFtUG9zKFBvc2l0aW9uKHRleHROb2RlLCBkb3duc3RyZWFtLCBQb3NpdGlvbjo6
UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKSk7CisgICAgaW50IGxlbmd0aCA9IGRvd25zdHJlYW0g
LSB1cHN0cmVhbSArIDE7CisgICAgQVNTRVJUKGxlbmd0aCA+IDApOworICAgIAorICAgIFZpc2li
bGVQb3NpdGlvbiB2aXNpYmxlVXBzdHJlYW1Qb3MoUG9zaXRpb24ocG9zaXRpb24uY29udGFpbmVy
Tm9kZSgpLCB1cHN0cmVhbSwgUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikpOwor
ICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlRG93bnN0cmVhbVBvcyhQb3NpdGlvbihwb3NpdGlv
bi5jb250YWluZXJOb2RlKCksIGRvd25zdHJlYW0gKyAxLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09m
ZnNldEluQW5jaG9yKSk7CiAgICAgCiAgICAgU3RyaW5nIHN0cmluZyA9IHRleHQuc3Vic3RyaW5n
KHVwc3RyZWFtLCBsZW5ndGgpOwogICAgIFN0cmluZyByZWJhbGFuY2VkU3RyaW5nID0gc3RyaW5n
V2l0aFJlYmFsYW5jZWRXaGl0ZXNwYWNlKHN0cmluZywKICAgICAvLyBGSVhNRTogQmVjYXVzZSBv
ZiB0aGUgcHJvYmxlbSBtZW50aW9uZWQgYXQgdGhlIHRvcCBvZiB0aGlzIGZ1bmN0aW9uLCB3ZSBt
dXN0IGFsc28gdXNlIG5ic3BzIGF0IHRoZSBzdGFydC9lbmQgb2YgdGhlIHN0cmluZyBiZWNhdXNl
CiAgICAgLy8gdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGdldCBhbGwgc3Vycm91bmRpbmcgd2hpdGVz
cGFjZSwganVzdCB0aGUgd2hpdGVzcGFjZSBpbiB0aGUgY3VycmVudCB0ZXh0IG5vZGUuCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXNTdGFydE9mUGFyYWdyYXBoKHZpc2libGVVcHN0cmVhbVBvcykgfHwgdXBzdHJlYW0gPT0gMCwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXNFbmRPZlBhcmFncmFwaCh2aXNpYmxlRG93bnN0cmVhbVBvcykgfHwgKHVuc2lnbmVk
KWRvd25zdHJlYW0gPT0gdGV4dC5sZW5ndGgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFbmRPZlBhcmFncmFwaCh2aXNp
YmxlRG93bnN0cmVhbVBvcykgfHwgKHVuc2lnbmVkKWRvd25zdHJlYW0gPT0gdGV4dC5sZW5ndGgo
KSAtIDEpOwogICAgIAogICAgIGlmIChzdHJpbmcgIT0gcmViYWxhbmNlZFN0cmluZykKICAgICAg
ICAgcmVwbGFjZVRleHRJbk5vZGUodGV4dE5vZGUsIHVwc3RyZWFtLCBsZW5ndGgsIHJlYmFsYW5j
ZWRTdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVF
ZGl0Q29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFu
ZC5oCmluZGV4IDkwNjZiNjUyNTI2MDU1NWM4ZDhiMzI4OGZhNzNkOTI5MWFlNGJkNmQuLjZkYjRl
YjE4MmEwODg2YWQxZmQ4MGIwNGU4YzFjNmYzNjFjYjAzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgKQEAgLTcxLDEwICs3MSw3IEBAIHByb3Rl
Y3RlZDoKICAgICB2b2lkIG1lcmdlSWRlbnRpY2FsRWxlbWVudHMoUGFzc1JlZlB0cjxFbGVtZW50
PiwgUGFzc1JlZlB0cjxFbGVtZW50Pik7CiAgICAgdm9pZCByZWJhbGFuY2VXaGl0ZXNwYWNlKCk7
CiAgICAgdm9pZCByZWJhbGFuY2VXaGl0ZXNwYWNlQXQoY29uc3QgUG9zaXRpb24mKTsKLSAgICB2
b2lkIHJlYmFsYW5jZVdoaXRlc3BhY2VPblRleHRTdWJzdHJpbmcoUmVmUHRyPFRleHQ+LCBpbnQg
c3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQpOwogICAgIHZvaWQgcHJlcGFyZVdoaXRlc3BhY2VB
dFBvc2l0aW9uRm9yU3BsaXQoUG9zaXRpb24mKTsKLSAgICBib29sIGNhblJlYmFsYW5jZShjb25z
dCBQb3NpdGlvbiYpIGNvbnN0OwotICAgIGJvb2wgc2hvdWxkUmViYWxhbmNlTGVhZGluZ1doaXRl
c3BhY2VGb3IoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZW1vdmVDU1NQcm9wZXJ0
eShQYXNzUmVmUHRyPFN0eWxlZEVsZW1lbnQ+LCBDU1NQcm9wZXJ0eUlEKTsKICAgICB2b2lkIHJl
bW92ZU5vZGVBdHRyaWJ1dGUoUGFzc1JlZlB0cjxFbGVtZW50PiwgY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlKTsKICAgICB2b2lkIHJlbW92ZUNoaWxkcmVuSW5SYW5nZShQYXNzUmVmUHRy
PE5vZGU+LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0byk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAKaW5kZXggM2FjZWMyN2EzODM0NTVjNTViMzlhMzA5OWI0ZGM3MjA0ZWYyZjA4NS4uMjNi
NDFjZWJlYTc3ZmIwMWMwNzIzNDZiZGQ0MmQzN2M2YWIxODdiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcApAQCAtMTE3MywxMiArMTE3Myw3IEBAIGJvb2wgRWRpdG9yOjppbnNlcnRUZXh0
KGNvbnN0IFN0cmluZyYgdGV4dCwgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCkKICAgICByZXR1cm4g
bV9mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVRleHRJbnB1dEV2ZW50KHRleHQsIHRyaWdn
ZXJpbmdFdmVudCk7CiB9CiAKLWJvb2wgRWRpdG9yOjppbnNlcnRUZXh0Rm9yQ29uZmlybWVkQ29t
cG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIHJldHVybiBtX2ZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+aGFuZGxlVGV4dElucHV0RXZlbnQodGV4dCwgMCwgVGV4dEV2ZW50SW5wdXRD
b21wb3NpdGlvbik7Ci19Ci0KLWJvb2wgRWRpdG9yOjppbnNlcnRUZXh0V2l0aG91dFNlbmRpbmdU
ZXh0RXZlbnQoY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIHNlbGVjdEluc2VydGVkVGV4dCwgVGV4
dEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpCitib29sIEVkaXRvcjo6aW5zZXJ0VGV4dFdpdGhvdXRT
ZW5kaW5nVGV4dEV2ZW50KGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBzZWxlY3RJbnNlcnRlZFRl
eHQsIEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpCiB7CiAgICAgaWYgKHRleHQuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjAwLDggKzExOTUsNyBAQCBib29sIEVkaXRvcjo6
aW5zZXJ0VGV4dFdpdGhvdXRTZW5kaW5nVGV4dEV2ZW50KGNvbnN0IFN0cmluZyYgdGV4dCwgYm9v
bCBzZWxlY3RJbgogICAgICAgICAgICAgUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IHNlbGVj
dGlvblN0YXJ0LT5kb2N1bWVudCgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBJbnNl
cnQgdGhlIHRleHQKLSAgICAgICAgICAgIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHQoZG9jdW1l
bnQuZ2V0KCksIHRleHQsIHNlbGVjdGlvbiwgc2VsZWN0SW5zZXJ0ZWRUZXh0LCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcmluZ0V2ZW50ICYmIHRyaWdnZXJp
bmdFdmVudC0+aXNDb21wb3NpdGlvbigpID8gVHlwaW5nQ29tbWFuZDo6VGV4dENvbXBvc2l0aW9u
Q29uZmlybSA6IFR5cGluZ0NvbW1hbmQ6OlRleHRDb21wb3NpdGlvbk5vbmUpOworICAgICAgICAg
ICAgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dChkb2N1bWVudC5nZXQoKSwgdGV4dCwgc2VsZWN0
aW9uLCBzZWxlY3RJbnNlcnRlZFRleHQpOwogCiAgICAgICAgICAgICAvLyBSZXZlYWwgdGhlIGN1
cnJlbnQgc2VsZWN0aW9uIAogICAgICAgICAgICAgaWYgKEZyYW1lKiBlZGl0ZWRGcmFtZSA9IGRv
Y3VtZW50LT5mcmFtZSgpKQpAQCAtMTYyNCw3ICsxNjE4LDcgQEAgdm9pZCBFZGl0b3I6OmNvbmZp
cm1Db21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgcHJlc2VydmVTZWxlY3Rpb24p
CiAgICAgbV9jb21wb3NpdGlvbk5vZGUgPSAwOwogICAgIG1fY3VzdG9tQ29tcG9zaXRpb25VbmRl
cmxpbmVzLmNsZWFyKCk7CiAKLSAgICBpbnNlcnRUZXh0Rm9yQ29uZmlybWVkQ29tcG9zaXRpb24o
dGV4dCk7CisgICAgaW5zZXJ0VGV4dCh0ZXh0LCAwKTsKIAogICAgIGlmIChwcmVzZXJ2ZVNlbGVj
dGlvbikgewogICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKG9sZFNl
bGVjdGlvbiwgZmFsc2UsIGZhbHNlKTsKQEAgLTE2OTMsNyArMTY4Nyw3IEBAIHZvaWQgRWRpdG9y
OjpzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZlY3RvcjxDb21wb3Np
dGlvblVuZGVybGluCiAgICAgbV9jdXN0b21Db21wb3NpdGlvblVuZGVybGluZXMuY2xlYXIoKTsK
IAogICAgIGlmICghdGV4dC5pc0VtcHR5KCkpIHsKLSAgICAgICAgVHlwaW5nQ29tbWFuZDo6aW5z
ZXJ0VGV4dChtX2ZyYW1lLT5kb2N1bWVudCgpLCB0ZXh0LCB0cnVlLCBUeXBpbmdDb21tYW5kOjpU
ZXh0Q29tcG9zaXRpb25VcGRhdGUpOworICAgICAgICBUeXBpbmdDb21tYW5kOjppbnNlcnRUZXh0
KG1fZnJhbWUtPmRvY3VtZW50KCksIHRleHQsIHRydWUsIHRydWUpOwogCiAgICAgICAgIC8vIEZp
bmQgb3V0IHdoYXQgbm9kZSBoYXMgdGhlIGNvbXBvc2l0aW9uIG5vdy4KICAgICAgICAgUG9zaXRp
b24gYmFzZSA9IG1fZnJhbWUtPnNlbGVjdGlvbigpLT5iYXNlKCkuZG93bnN0cmVhbSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggMWU2ZTM4NzNmNWRjOGRlZjJkMGQyMGEwMGNiMTMzMzhh
OWMwOWE5Zi4uMmU2MWNlNjdkMTgxODVhNjZhOTI4MDFkNmI3YTk1YTQ3ODk0NmVjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xOTgsOCArMTk4LDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNvbW1hbmRJc1N1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nKGNvbnN0IFN0cmlu
ZyYgY29tbWFuZE5hbWUpOyAvLyBXb3JrcyB3aXRob3V0IGEgZnJhbWUuCiAKICAgICBib29sIGlu
c2VydFRleHQoY29uc3QgU3RyaW5nJiwgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCk7Ci0gICAgYm9v
bCBpbnNlcnRUZXh0Rm9yQ29uZmlybWVkQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0KTsK
LSAgICBib29sIGluc2VydFRleHRXaXRob3V0U2VuZGluZ1RleHRFdmVudChjb25zdCBTdHJpbmcm
LCBib29sIHNlbGVjdEluc2VydGVkVGV4dCwgVGV4dEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpOwor
ICAgIGJvb2wgaW5zZXJ0VGV4dFdpdGhvdXRTZW5kaW5nVGV4dEV2ZW50KGNvbnN0IFN0cmluZyYs
IGJvb2wgc2VsZWN0SW5zZXJ0ZWRUZXh0LCBFdmVudCogdHJpZ2dlcmluZ0V2ZW50KTsKICAgICBi
b29sIGluc2VydExpbmVCcmVhaygpOwogICAgIGJvb2wgaW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9y
KCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuY3Bw
CmluZGV4IDc0YTExMWEyMmE0MzgwMDZhYzNiNzM1ZDgzOTliOTYxOTMxZTBkYjQuLmZjMThlOTEy
Zjk1MzYzNmFmYjI3MTZmMGMxNjIzZDUwOTA2ODlmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgYm9vbCBJbnNl
cnRUZXh0Q29tbWFuZDo6cGVyZm9ybVRyaXZpYWxSZXBsYWNlKGNvbnN0IFN0cmluZyYgdGV4dCwg
Ym9vbCBzZWxlY3RJbnMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBJbnNlcnRUZXh0Q29t
bWFuZDo6aW5wdXQoY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIHNlbGVjdEluc2VydGVkVGV4dCwg
UmViYWxhbmNlVHlwZSB3aGl0ZXNwYWNlUmViYWxhbmNlKQordm9pZCBJbnNlcnRUZXh0Q29tbWFu
ZDo6aW5wdXQoY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIHNlbGVjdEluc2VydGVkVGV4dCkKIHsK
ICAgICAKICAgICBBU1NFUlQodGV4dC5maW5kKCdcbicpID09IG5vdEZvdW5kKTsKQEAgLTE3Miwx
NyArMTcyLDExIEBAIHZvaWQgSW5zZXJ0VGV4dENvbW1hbmQ6OmlucHV0KGNvbnN0IFN0cmluZyYg
dGV4dCwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIFJlYmFsCiAgICAgICAgIGluc2VydFRleHRJ
bnRvTm9kZSh0ZXh0Tm9kZSwgb2Zmc2V0LCB0ZXh0KTsKICAgICAgICAgZW5kUG9zaXRpb24gPSBQ
b3NpdGlvbih0ZXh0Tm9kZSwgb2Zmc2V0ICsgdGV4dC5sZW5ndGgoKSk7CiAKLSAgICAgICAgaWYg
KHdoaXRlc3BhY2VSZWJhbGFuY2UgPT0gUmViYWxhbmNlTGVhZGluZ0FuZFRyYWlsaW5nV2hpdGVz
cGFjZXMpIHsKLSAgICAgICAgICAgIC8vIFRoZSBpbnNlcnRpb24gbWF5IHJlcXVpcmUgYWRqdXN0
aW5nIGFkamFjZW50IHdoaXRlc3BhY2UsIGlmIGl0IGlzIHByZXNlbnQuCi0gICAgICAgICAgICBy
ZWJhbGFuY2VXaGl0ZXNwYWNlQXQoZW5kUG9zaXRpb24pOwotICAgICAgICAgICAgLy8gUmViYWxh
bmNpbmcgb24gYm90aCBzaWRlcyBpc24ndCBuZWNlc3NhcnkgaWYgd2UndmUgaW5zZXJ0ZWQgb25s
eSBzcGFjZXMuCi0gICAgICAgICAgICBpZiAoIXNob3VsZFJlYmFsYW5jZUxlYWRpbmdXaGl0ZXNw
YWNlRm9yKHRleHQpKQotICAgICAgICAgICAgICAgIHJlYmFsYW5jZVdoaXRlc3BhY2VBdChzdGFy
dFBvc2l0aW9uKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVCh3aGl0ZXNw
YWNlUmViYWxhbmNlID09IFJlYmFsYW5jZUFsbFdoaXRlc3BhY2VzKTsKLSAgICAgICAgICAgIGlm
IChjYW5SZWJhbGFuY2Uoc3RhcnRQb3NpdGlvbikgJiYgY2FuUmViYWxhbmNlKGVuZFBvc2l0aW9u
KSkKLSAgICAgICAgICAgICAgICByZWJhbGFuY2VXaGl0ZXNwYWNlT25UZXh0U3Vic3RyaW5nKHRl
eHROb2RlLCBzdGFydFBvc2l0aW9uLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCksIGVuZFBvc2l0
aW9uLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwotICAgICAgICB9CisgICAgICAgIC8vIFRo
ZSBpbnNlcnRpb24gbWF5IHJlcXVpcmUgYWRqdXN0aW5nIGFkamFjZW50IHdoaXRlc3BhY2UsIGlm
IGl0IGlzIHByZXNlbnQuCisgICAgICAgIHJlYmFsYW5jZVdoaXRlc3BhY2VBdChlbmRQb3NpdGlv
bik7CisgICAgICAgIC8vIFJlYmFsYW5jaW5nIG9uIGJvdGggc2lkZXMgaXNuJ3QgbmVjZXNzYXJ5
IGlmIHdlJ3ZlIGluc2VydGVkIGEgc3BhY2UuCisgICAgICAgIGlmICh0ZXh0ICE9ICIgIikgCisg
ICAgICAgICAgICByZWJhbGFuY2VXaGl0ZXNwYWNlQXQoc3RhcnRQb3NpdGlvbik7CiAgICAgfQog
CiAgICAgLy8gV2UgY291bGQgaGF2ZSBpbnNlcnRlZCBhIHBhcnQgb2YgY29tcG9zZWQgY2hhcmFj
dGVyIHNlcXVlbmNlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRU
ZXh0Q29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5o
CmluZGV4IDY3MmU1NzZmOTIwNzlhNWNmOTc3YWU1Y2Y4YTI0YmQ5YzI3ZmE0YzcuLjc3YWUwMTZk
MzZhMTRmYjFmODE0OWRmN2FhMzQxMmNkZWMxZDIyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0luc2VydFRleHRDb21tYW5kLmgKQEAgLTMyLDIwICszMiwxNCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEluc2VydFRleHRDb21tYW5kIDogcHVibGljIENvbXBvc2l0ZUVkaXRD
b21tYW5kIHsKIHB1YmxpYzoKLSAgICBlbnVtIFJlYmFsYW5jZVR5cGUgewotICAgICAgICBSZWJh
bGFuY2VMZWFkaW5nQW5kVHJhaWxpbmdXaGl0ZXNwYWNlcywKLSAgICAgICAgUmViYWxhbmNlQWxs
V2hpdGVzcGFjZXMKLSAgICB9OwotCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zZXJ0VGV4dENv
bW1hbmQ+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEluc2VydFRleHRDb21tYW5kKGRvY3VtZW50KSk7CiAgICAgfQogCi0gICAg
dm9pZCBpbnB1dChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgc2VsZWN0SW5zZXJ0ZWRUZXh0ID0g
ZmFsc2UsIFJlYmFsYW5jZVR5cGUgPSBSZWJhbGFuY2VMZWFkaW5nQW5kVHJhaWxpbmdXaGl0ZXNw
YWNlcyk7CisgICAgdm9pZCBpbnB1dChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgc2VsZWN0SW5z
ZXJ0ZWRUZXh0ID0gZmFsc2UpOwogCiBwcml2YXRlOgotCiAgICAgSW5zZXJ0VGV4dENvbW1hbmQo
RG9jdW1lbnQqKTsKIAogICAgIHZvaWQgZGVsZXRlQ2hhcmFjdGVyKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAppbmRleCAyMWQ0MzE0YWQwNzU0OGEwOGM5ODI3YjBm
MTU1Yjk5YWIyMjhiNjE3Li5kNTRiMzg4NWJmOThmZTUyYmQ5YTY1YzU0YThkNzFkOTY3NjA3ZTlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKQEAgLTQ3LDggKzQ3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1UeXBpbmdDb21tYW5kOjpUeXBpbmdDb21tYW5kKERvY3VtZW50ICpkb2N1bWVudCwgRVR5cGlu
Z0NvbW1hbmQgY29tbWFuZFR5cGUsIGNvbnN0IFN0cmluZyAmdGV4dFRvSW5zZXJ0LCBib29sIHNl
bGVjdEluc2VydGVkVGV4dCwgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBUZXh0Q29tcG9z
aXRpb25UeXBlIGNvbXBvc2l0aW9uVHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBraWxsUmluZykKK1R5cGluZ0NvbW1hbmQ6OlR5cGluZ0NvbW1hbmQoRG9jdW1lbnQgKmRv
Y3VtZW50LCBFVHlwaW5nQ29tbWFuZCBjb21tYW5kVHlwZSwgY29uc3QgU3RyaW5nICZ0ZXh0VG9J
bnNlcnQsIGJvb2wgc2VsZWN0SW5zZXJ0ZWRUZXh0LCBUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHksIGJvb2wga2lsbFJpbmcpCiAgICAgOiBDb21wb3NpdGVFZGl0Q29tbWFuZChkb2N1bWVudCks
IAogICAgICAgbV9jb21tYW5kVHlwZShjb21tYW5kVHlwZSksIAogICAgICAgbV90ZXh0VG9JbnNl
cnQodGV4dFRvSW5zZXJ0KSwgCkBAIC01Niw3ICs1NSw2IEBAIFR5cGluZ0NvbW1hbmQ6OlR5cGlu
Z0NvbW1hbmQoRG9jdW1lbnQgKmRvY3VtZW50LCBFVHlwaW5nQ29tbWFuZCBjb21tYW5kVHlwZSwg
Y29uCiAgICAgICBtX3NlbGVjdEluc2VydGVkVGV4dChzZWxlY3RJbnNlcnRlZFRleHQpLAogICAg
ICAgbV9zbWFydERlbGV0ZShmYWxzZSksCiAgICAgICBtX2dyYW51bGFyaXR5KGdyYW51bGFyaXR5
KSwKLSAgICAgIG1fY29tcG9zaXRpb25UeXBlKGNvbXBvc2l0aW9uVHlwZSksCiAgICAgICBtX2tp
bGxSaW5nKGtpbGxSaW5nKSwKICAgICAgIG1fb3BlbmVkQnlCYWNrd2FyZERlbGV0ZShmYWxzZSkK
IHsKQEAgLTEzNSwxOCArMTMzLDE4IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6dXBkYXRlU2VsZWN0
aW9uSWZEaWZmZXJlbnRGcm9tQ3VycmVudFNlbGVjdGlvbihUeXBpbmdDb21tYW5kCiB9CiAgICAg
CiAKLXZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dChEb2N1bWVudCogZG9jdW1lbnQsIGNv
bnN0IFN0cmluZyYgdGV4dCwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIFRleHRDb21wb3NpdGlv
blR5cGUgY29tcG9zaXRpb24pCit2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHQoRG9jdW1l
bnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgc2VsZWN0SW5zZXJ0ZWRUZXh0
LCBib29sIGluc2VydGVkVGV4dElzQ29tcG9zaXRpb24pCiB7CiAgICAgQVNTRVJUKGRvY3VtZW50
KTsKICAgICAKICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKTsKICAgICBBU1NF
UlQoZnJhbWUpOwogCi0gICAgaW5zZXJ0VGV4dChkb2N1bWVudCwgdGV4dCwgZnJhbWUtPnNlbGVj
dGlvbigpLT5zZWxlY3Rpb24oKSwgc2VsZWN0SW5zZXJ0ZWRUZXh0LCBjb21wb3NpdGlvbik7Cisg
ICAgaW5zZXJ0VGV4dChkb2N1bWVudCwgdGV4dCwgZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rp
b24oKSwgc2VsZWN0SW5zZXJ0ZWRUZXh0LCBpbnNlcnRlZFRleHRJc0NvbXBvc2l0aW9uKTsKIH0K
IAogLy8gRklYTUU6IFdlIHNob3VsZG4ndCBuZWVkIHRvIHRha2Ugc2VsZWN0aW9uRm9ySW5zZXJ0
aW9uLiBJdCBzaG91bGQgYmUgaWRlbnRpY2FsIHRvIFNlbGVjdGlvbkNvbnRyb2xsZXIncyBjdXJy
ZW50IHNlbGVjdGlvbi4KLXZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dChEb2N1bWVudCog
ZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2Vs
ZWN0aW9uRm9ySW5zZXJ0aW9uLCBib29sIHNlbGVjdEluc2VydGVkVGV4dCwgVGV4dENvbXBvc2l0
aW9uVHlwZSBjb21wb3NpdGlvblR5cGUpCit2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHQo
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZpc2libGVTZWxl
Y3Rpb24mIHNlbGVjdGlvbkZvckluc2VydGlvbiwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIGJv
b2wgaW5zZXJ0ZWRUZXh0SXNDb21wb3NpdGlvbikKIHsKICNpZiBSRU1PVkVfTUFSS0VSU19VUE9O
X0VESVRJTkcKICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKQpAQCAtMTYzLDcgKzE2MSw3IEBAIHZv
aWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGV4dCwgY29uc3QgVmlzCiAgICAgU3RyaW5nIG5ld1RleHQgPSB0ZXh0OwogICAgIE5v
ZGUqIHN0YXJ0Tm9kZSA9IHNlbGVjdGlvbkZvckluc2VydGlvbi5zdGFydCgpLm5vZGUoKTsKICAg
ICAKLSAgICBpZiAoc3RhcnROb2RlICYmIHN0YXJ0Tm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgp
ICYmIGNvbXBvc2l0aW9uVHlwZSAhPSBUZXh0Q29tcG9zaXRpb25VcGRhdGUpIHsKKyAgICBpZiAo
c3RhcnROb2RlICYmIHN0YXJ0Tm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpICYmICFpbnNlcnRl
ZFRleHRJc0NvbXBvc2l0aW9uKSB7ICAgICAgICAKICAgICAgICAgLy8gU2VuZCBCZWZvcmVUZXh0
SW5zZXJ0ZWRFdmVudC4gVGhlIGV2ZW50IGhhbmRsZXIgd2lsbCB1cGRhdGUgdGV4dCBpZiBuZWNl
c3NhcnkuCiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgICAgICBSZWZQdHI8QmVm
b3JlVGV4dEluc2VydGVkRXZlbnQ+IGV2dCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50OjpjcmVh
dGUodGV4dCk7CkBAIC0xODQsMTMgKzE4MiwxMSBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2Vy
dFRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZpcwog
ICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldFN0YXJ0aW5nU2VsZWN0aW9uKHNlbGVj
dGlvbkZvckluc2VydGlvbik7CiAgICAgICAgICAgICBsYXN0VHlwaW5nQ29tbWFuZC0+c2V0RW5k
aW5nU2VsZWN0aW9uKHNlbGVjdGlvbkZvckluc2VydGlvbik7CiAgICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGxhc3RUeXBpbmdDb21tYW5kLT5zZXRDb21wb3NpdGlvblR5cGUoY29tcG9zaXRp
b25UeXBlKTsKICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPmluc2VydFRleHQobmV3VGV4dCwg
c2VsZWN0SW5zZXJ0ZWRUZXh0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJlZlB0
cjxUeXBpbmdDb21tYW5kPiBjbWQgPSBUeXBpbmdDb21tYW5kOjpjcmVhdGUoZG9jdW1lbnQsIElu
c2VydFRleHQsIG5ld1RleHQsIHNlbGVjdEluc2VydGVkVGV4dCwgY29tcG9zaXRpb25UeXBlKTsK
KyAgICBSZWZQdHI8VHlwaW5nQ29tbWFuZD4gY21kID0gVHlwaW5nQ29tbWFuZDo6Y3JlYXRlKGRv
Y3VtZW50LCBJbnNlcnRUZXh0LCBuZXdUZXh0LCBzZWxlY3RJbnNlcnRlZFRleHQpOwogICAgIGlm
IChjaGFuZ2VTZWxlY3Rpb24pICB7CiAgICAgICAgIGNtZC0+c2V0U3RhcnRpbmdTZWxlY3Rpb24o
c2VsZWN0aW9uRm9ySW5zZXJ0aW9uKTsKICAgICAgICAgY21kLT5zZXRFbmRpbmdTZWxlY3Rpb24o
c2VsZWN0aW9uRm9ySW5zZXJ0aW9uKTsKQEAgLTM5MCw4ICszODYsNyBAQCB2b2lkIFR5cGluZ0Nv
bW1hbmQ6Omluc2VydFRleHRSdW5XaXRob3V0TmV3bGluZXMoY29uc3QgU3RyaW5nICZ0ZXh0LCBi
b29sIHNlbGVjdAogICAgICAgICBjb21tYW5kLT5zZXRTdGFydGluZ1NlbGVjdGlvbihlbmRpbmdT
ZWxlY3Rpb24oKSk7CiAgICAgICAgIGNvbW1hbmQtPnNldEVuZGluZ1NlbGVjdGlvbihlbmRpbmdT
ZWxlY3Rpb24oKSk7CiAgICAgfQotICAgIGNvbW1hbmQtPmlucHV0KHRleHQsIHNlbGVjdEluc2Vy
dGVkVGV4dCwgCi0gICAgICAgICAgICAgICAgICAgbV9jb21wb3NpdGlvblR5cGUgPT0gVGV4dENv
bXBvc2l0aW9uTm9uZSA/IEluc2VydFRleHRDb21tYW5kOjpSZWJhbGFuY2VMZWFkaW5nQW5kVHJh
aWxpbmdXaGl0ZXNwYWNlcyA6IEluc2VydFRleHRDb21tYW5kOjpSZWJhbGFuY2VBbGxXaGl0ZXNw
YWNlcyk7CisgICAgY29tbWFuZC0+aW5wdXQodGV4dCwgc2VsZWN0SW5zZXJ0ZWRUZXh0KTsKICAg
ICB0eXBpbmdBZGRlZFRvT3BlbkNvbW1hbmQoSW5zZXJ0VGV4dCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5oIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UeXBpbmdDb21tYW5kLmgKaW5kZXggYjM0YmRjMTIyMWEyMmEzMDEyNGE5MDg4MDEw
YzA1NDY1MWJmZGU2ZC4uMjg0ZWJjMGFjMjY1ZDc2YjE2YTgwYmYyNjExYzdhODBlNjgwYWQwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmgKQEAgLTQyLDE3ICs0MiwxMSBA
QCBwdWJsaWM6CiAgICAgICAgIEluc2VydFBhcmFncmFwaFNlcGFyYXRvckluUXVvdGVkQ29udGVu
dAogICAgIH07CiAKLSAgICBlbnVtIFRleHRDb21wb3NpdGlvblR5cGUgewotICAgICAgICBUZXh0
Q29tcG9zaXRpb25Ob25lLAotICAgICAgICBUZXh0Q29tcG9zaXRpb25VcGRhdGUsCi0gICAgICAg
IFRleHRDb21wb3NpdGlvbkNvbmZpcm0KLSAgICB9OwotCiAgICAgc3RhdGljIHZvaWQgZGVsZXRl
U2VsZWN0aW9uKERvY3VtZW50KiwgYm9vbCBzbWFydERlbGV0ZSA9IGZhbHNlKTsKICAgICBzdGF0
aWMgdm9pZCBkZWxldGVLZXlQcmVzc2VkKERvY3VtZW50KiwgYm9vbCBzbWFydERlbGV0ZSA9IGZh
bHNlLCBUZXh0R3JhbnVsYXJpdHkgPSBDaGFyYWN0ZXJHcmFudWxhcml0eSwgYm9vbCBraWxsUmlu
ZyA9IGZhbHNlKTsKICAgICBzdGF0aWMgdm9pZCBmb3J3YXJkRGVsZXRlS2V5UHJlc3NlZChEb2N1
bWVudCosIGJvb2wgc21hcnREZWxldGUgPSBmYWxzZSwgVGV4dEdyYW51bGFyaXR5ID0gQ2hhcmFj
dGVyR3JhbnVsYXJpdHksIGJvb2wga2lsbFJpbmcgPSBmYWxzZSk7Ci0gICAgc3RhdGljIHZvaWQg
aW5zZXJ0VGV4dChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYsIGJvb2wgc2VsZWN0SW5zZXJ0ZWRU
ZXh0ID0gZmFsc2UsIFRleHRDb21wb3NpdGlvblR5cGUgPSBUZXh0Q29tcG9zaXRpb25Ob25lKTsK
LSAgICBzdGF0aWMgdm9pZCBpbnNlcnRUZXh0KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiwgY29u
c3QgVmlzaWJsZVNlbGVjdGlvbiYsIGJvb2wgc2VsZWN0SW5zZXJ0ZWRUZXh0ID0gZmFsc2UsIFRl
eHRDb21wb3NpdGlvblR5cGUgPSBUZXh0Q29tcG9zaXRpb25Ob25lKTsKKyAgICBzdGF0aWMgdm9p
ZCBpbnNlcnRUZXh0KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiwgYm9vbCBzZWxlY3RJbnNlcnRl
ZFRleHQgPSBmYWxzZSwgYm9vbCBpbnNlcnRlZFRleHRJc0NvbXBvc2l0aW9uID0gZmFsc2UpOwor
ICAgIHN0YXRpYyB2b2lkIGluc2VydFRleHQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmLCBjb25z
dCBWaXNpYmxlU2VsZWN0aW9uJiwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQgPSBmYWxzZSwgYm9v
bCBpbnNlcnRlZFRleHRJc0NvbXBvc2l0aW9uID0gZmFsc2UpOwogICAgIHN0YXRpYyB2b2lkIGlu
c2VydExpbmVCcmVhayhEb2N1bWVudCopOwogICAgIHN0YXRpYyB2b2lkIGluc2VydFBhcmFncmFw
aFNlcGFyYXRvcihEb2N1bWVudCopOwogICAgIHN0YXRpYyB2b2lkIGluc2VydFBhcmFncmFwaFNl
cGFyYXRvckluUXVvdGVkQ29udGVudChEb2N1bWVudCopOwpAQCAtNzAsMjAgKzY0LDE0IEBAIHB1
YmxpYzoKICAgICB2b2lkIGRlbGV0ZUtleVByZXNzZWQoVGV4dEdyYW51bGFyaXR5LCBib29sIGtp
bGxSaW5nKTsKICAgICB2b2lkIGZvcndhcmREZWxldGVLZXlQcmVzc2VkKFRleHRHcmFudWxhcml0
eSwgYm9vbCBraWxsUmluZyk7CiAgICAgdm9pZCBkZWxldGVTZWxlY3Rpb24oYm9vbCBzbWFydERl
bGV0ZSk7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGlvblR5cGUoVGV4dENvbXBvc2l0aW9uVHlwZSB0
eXBlKSB7IG1fY29tcG9zaXRpb25UeXBlID0gdHlwZTsgfQogCiBwcml2YXRlOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFR5cGluZ0NvbW1hbmQ+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEVU
eXBpbmdDb21tYW5kIGNvbW1hbmQsIGNvbnN0IFN0cmluZyYgdGV4dCA9ICIiLCBib29sIHNlbGVj
dEluc2VydGVkVGV4dCA9IGZhbHNlLCBUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkgPSBDaGFy
YWN0ZXJHcmFudWxhcml0eSwgYm9vbCBraWxsUmluZyA9IGZhbHNlKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBUeXBpbmdDb21tYW5kKGRvY3VtZW50LCBjb21tYW5kLCB0ZXh0
LCBzZWxlY3RJbnNlcnRlZFRleHQsIGdyYW51bGFyaXR5LCBUZXh0Q29tcG9zaXRpb25Ob25lLCBr
aWxsUmluZykpOwotICAgIH0KLQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFR5cGluZ0NvbW1hbmQ+
IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEVUeXBpbmdDb21tYW5kIGNvbW1hbmQsIGNvbnN0
IFN0cmluZyYgdGV4dCwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIFRleHRDb21wb3NpdGlvblR5
cGUgY29tcG9zaXRpb25UeXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBU
eXBpbmdDb21tYW5kKGRvY3VtZW50LCBjb21tYW5kLCB0ZXh0LCBzZWxlY3RJbnNlcnRlZFRleHQs
IENoYXJhY3RlckdyYW51bGFyaXR5LCBjb21wb3NpdGlvblR5cGUsIGZhbHNlKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgVHlwaW5nQ29tbWFuZChkb2N1bWVudCwgY29tbWFuZCwgdGV4
dCwgc2VsZWN0SW5zZXJ0ZWRUZXh0LCBncmFudWxhcml0eSwga2lsbFJpbmcpKTsKICAgICB9CiAK
LSAgICBUeXBpbmdDb21tYW5kKERvY3VtZW50KiwgRVR5cGluZ0NvbW1hbmQsIGNvbnN0IFN0cmlu
ZyYgdGV4dCwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIFRleHRHcmFudWxhcml0eSwgVGV4dENv
bXBvc2l0aW9uVHlwZSwgYm9vbCBraWxsUmluZyk7CisgICAgVHlwaW5nQ29tbWFuZChEb2N1bWVu
dCosIEVUeXBpbmdDb21tYW5kLCBjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgc2VsZWN0SW5zZXJ0
ZWRUZXh0LCBUZXh0R3JhbnVsYXJpdHksIGJvb2wga2lsbFJpbmcpOwogCiAgICAgYm9vbCBzbWFy
dERlbGV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc21hcnREZWxldGU7IH0KICAgICB2b2lkIHNldFNt
YXJ0RGVsZXRlKGJvb2wgc21hcnREZWxldGUpIHsgbV9zbWFydERlbGV0ZSA9IHNtYXJ0RGVsZXRl
OyB9CkBAIC0xMDYsNyArOTQsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zZWxlY3RJbnNlcnRl
ZFRleHQ7CiAgICAgYm9vbCBtX3NtYXJ0RGVsZXRlOwogICAgIFRleHRHcmFudWxhcml0eSBtX2dy
YW51bGFyaXR5OwotICAgIFRleHRDb21wb3NpdGlvblR5cGUgbV9jb21wb3NpdGlvblR5cGU7CiAg
ICAgYm9vbCBtX2tpbGxSaW5nOwogICAgIGJvb2wgbV9wcmVzZXJ2ZXNUeXBpbmdTdHlsZTsKICAg
ICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>