<?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>69815</bug_id>
          
          <creation_ts>2011-10-10 21:54:42 -0700</creation_ts>
          <short_desc>REGRESSION(r97121): Many layout tests failed (Requested by tkent on #webkit).</short_desc>
          <delta_ts>2011-10-10 21:56:36 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>69812</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>rniwa</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481436</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 21:54:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97121 broke the build:
Many layout tests failed (Requested by tkent 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>481437</commentid>
    <comment_count>1</comment_count>
      <attachid>110470</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 21:55:13 -0700</bug_when>
    <thetext>Created attachment 110470
ROLLOUT of r97121

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481438</commentid>
    <comment_count>2</comment_count>
      <attachid>110470</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-10 21:56:30 -0700</bug_when>
    <thetext>Comment on attachment 110470
ROLLOUT of r97121

Clearing flags on attachment: 110470

Committed r97123: &lt;http://trac.webkit.org/changeset/97123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481439</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-10 21:56:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110470</attachid>
            <date>2011-10-10 21:55:13 -0700</date>
            <delta_ts>2011-10-10 21:56:30 -0700</delta_ts>
            <desc>ROLLOUT of r97121</desc>
            <filename>bug-69815-20111011045254.patch</filename>
            <type>text/plain</type>
            <size>24334</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MzJiYzM0YThiZjdiZGZl
MTdhNzUxMjVjMDE4ODQ1ODc0MTJhYWRlLi44YTIwMGI4M2NkMDQ0ZDg0MmNlMTQ1MWFlNWJiNDFm
ZGQ2OTg2YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTEtMTAtMTAgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5NzEyMS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvOTcxMjEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY5ODE1CisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdHMgZmFpbGVkIChSZXF1ZXN0
ZWQgYnkgdGtlbnQgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vU2VsZWN0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50RGF0YTo6U2VsZWN0RWxlbWVudERh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudERhdGE6OmNoZWNrTGlzdEl0ZW1z
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnREYXRhOjpsaXN0SXRlbXMpOgorICAg
ICAgICAqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVt
ZW50RGF0YTo6c2hvdWxkUmVjYWxjTGlzdEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dEVsZW1lbnREYXRhOjpzZXRTaG91bGRSZWNhbGNMaXN0SXRlbXMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0RWxlbWVudERhdGE6OnJhd0xpc3RJdGVtcyk6CisgICAgICAgICogaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6
SFRNTFNlbGVjdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
OnJlY2FsY0xpc3RJdGVtcyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6
cmVjYWxjTGlzdEl0ZW1zSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVs
ZW1lbnQ6Om5leHRTZWxlY3RhYmxlTGlzdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
ZWxlY3RFbGVtZW50OjpwcmV2aW91c1NlbGVjdGFibGVMaXN0SW5kZXgpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmZpcnN0U2VsZWN0YWJsZUxpc3RJbmRleCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGFzdFNlbGVjdGFibGVMaXN0SW5kZXgp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRTZWxlY3RhYmxlTGlz
dEluZGV4UGFnZUF3YXkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNh
dmVMYXN0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojpz
ZXRBY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2Vs
ZWN0RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdGVkSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXhJbnRlcm5hbCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9uVG9MaXN0SW5kZXgpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RUb09wdGlvbkluZGV4KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpkZXNlbGVjdEl0ZW1zV2l0aG91dFZhbGlkYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNhdmVGb3JtQ29udHJvbFN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZXN0b3JlRm9ybUNv
bnRyb2xTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6YXBwZW5k
Rm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnJlc2V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZVNl
bGVjdGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RC
b3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVt
ZW50OjpsYXN0U2VsZWN0ZWRMaXN0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OnR5cGVBaGVhZEZpbmQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVs
ZW1lbnQ6Omluc2VydGVkSW50b1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVs
ZW1lbnQ6OmFjY2Vzc0tleVNldFNlbGVjdGVkSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFNlbGVjdEVsZW1lbnQ6Omxlbmd0aCk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RJdGVtcyk6Cisg
ICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudFdpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudDo6cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQpOgorCiAyMDEx
LTEwLTEwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3Zl
IG1fbGlzdEl0ZW1zIGFuZCBtX3JlY2FsY0xpc3RJdGVtcyBmcm9tIFNlbGVjdEVsZW1lbnREYXRh
IHRvIEhUTUxTZWxlY3RFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Vs
ZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAKaW5k
ZXggZGVkMzgzMTRhYzZmZWY3ZDJlMDFmYjFjOGMwYzczNzFmYTEyMTQ1NC4uMzRhMzNhMDhiZDZj
MzViMWNjMTI5ZTkzMGM5MWQyZjhiMWY2Y2Q5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVt
ZW50LmNwcApAQCAtNjMsNiArNjMsNyBAQCBTZWxlY3RFbGVtZW50RGF0YTo6U2VsZWN0RWxlbWVu
dERhdGEoKQogICAgICwgbV91c2VyRHJpdmVuQ2hhbmdlKGZhbHNlKQogICAgICwgbV9tdWx0aXBs
ZShmYWxzZSkKICAgICAsIG1fYWN0aXZlU2VsZWN0aW9uU3RhdGUoZmFsc2UpCisgICAgLCBtX3Jl
Y2FsY0xpc3RJdGVtcyhmYWxzZSkKIHsKIH0KIApAQCAtNzAsNCArNzEsMzUgQEAgU2VsZWN0RWxl
bWVudERhdGE6On5TZWxlY3RFbGVtZW50RGF0YSgpCiB7CiB9CiAKK3ZvaWQgU2VsZWN0RWxlbWVu
dERhdGE6OmNoZWNrTGlzdEl0ZW1zKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cit7Cisj
aWYgIUFTU0VSVF9ESVNBQkxFRAorICAgIFZlY3RvcjxFbGVtZW50Kj4gaXRlbXMgPSBtX2xpc3RJ
dGVtczsKKyAgICBIVE1MU2VsZWN0RWxlbWVudDo6cmVjYWxjTGlzdEl0ZW1zKCpjb25zdF9jYXN0
PFNlbGVjdEVsZW1lbnREYXRhKj4odGhpcyksIGVsZW1lbnQsIGZhbHNlKTsKKyAgICBBU1NFUlQo
aXRlbXMgPT0gbV9saXN0SXRlbXMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZWxlbWVudCk7
CisjZW5kaWYKK30KKworVmVjdG9yPEVsZW1lbnQqPiYgU2VsZWN0RWxlbWVudERhdGE6Omxpc3RJ
dGVtcyhjb25zdCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlmIChtX3JlY2FsY0xpc3RJdGVt
cykKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJdGVtcygqdGhpcywgZWxl
bWVudCk7CisgICAgZWxzZQorICAgICAgICBjaGVja0xpc3RJdGVtcyhlbGVtZW50KTsKKworICAg
IHJldHVybiBtX2xpc3RJdGVtczsKK30KKworY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgU2VsZWN0
RWxlbWVudERhdGE6Omxpc3RJdGVtcyhjb25zdCBFbGVtZW50KiBlbGVtZW50KSBjb25zdAorewor
ICAgIGlmIChtX3JlY2FsY0xpc3RJdGVtcykKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQ6OnJl
Y2FsY0xpc3RJdGVtcygqY29uc3RfY2FzdDxTZWxlY3RFbGVtZW50RGF0YSo+KHRoaXMpLCBlbGVt
ZW50KTsKKyAgICBlbHNlCisgICAgICAgIGNoZWNrTGlzdEl0ZW1zKGVsZW1lbnQpOworCisgICAg
cmV0dXJuIG1fbGlzdEl0ZW1zOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaApp
bmRleCBhNzIyMGU1NjYyMDY0MjBhYTU2ZTcxMThlMDJhNGI0YzM2ZTQ5ODQ4Li4zZmU1NmE2ZDRm
ZTgwNWQzNmJmMGE4NDQwYjgzZTdmYjI4ZWY1ZDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVt
ZW50LmgKQEAgLTczLDYgKzczLDEzIEBAIHB1YmxpYzoKIAogICAgIFZlY3Rvcjxib29sPiYgY2Fj
aGVkU3RhdGVGb3JBY3RpdmVTZWxlY3Rpb24oKSB7IHJldHVybiBtX2NhY2hlZFN0YXRlRm9yQWN0
aXZlU2VsZWN0aW9uOyB9CiAKKyAgICBib29sIHNob3VsZFJlY2FsY0xpc3RJdGVtcygpIGNvbnN0
IHsgcmV0dXJuIG1fcmVjYWxjTGlzdEl0ZW1zOyB9CisgICAgdm9pZCBzZXRTaG91bGRSZWNhbGNM
aXN0SXRlbXMoYm9vbCB2YWx1ZSkgeyBtX3JlY2FsY0xpc3RJdGVtcyA9IHZhbHVlOyB9CisKKyAg
ICBWZWN0b3I8RWxlbWVudCo+JiByYXdMaXN0SXRlbXMoKSB7IHJldHVybiBtX2xpc3RJdGVtczsg
fQorICAgIFZlY3RvcjxFbGVtZW50Kj4mIGxpc3RJdGVtcyhjb25zdCBFbGVtZW50Kik7CisgICAg
Y29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgbGlzdEl0ZW1zKGNvbnN0IEVsZW1lbnQqKSBjb25zdDsK
KwogICAgIFVDaGFyIHJlcGVhdGluZ0NoYXIoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdGluZ0No
YXI7IH0KICAgICB2b2lkIHNldFJlcGVhdGluZ0NoYXIoY29uc3QgVUNoYXImIHZhbHVlKSB7IG1f
cmVwZWF0aW5nQ2hhciA9IHZhbHVlOyB9CiAKQEAgLTg1LDYgKzkyLDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICB2b2lkIGNoZWNrTGlzdEl0ZW1zKGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKIAor
ICAgIFZlY3RvcjxFbGVtZW50Kj4gbV9saXN0SXRlbXM7CiAgICAgVmVjdG9yPGJvb2w+IG1fbGFz
dE9uQ2hhbmdlU2VsZWN0aW9uOwogICAgIFZlY3Rvcjxib29sPiBtX2NhY2hlZFN0YXRlRm9yQWN0
aXZlU2VsZWN0aW9uOwogCkBAIC0xMDEsNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
dXNlckRyaXZlbkNoYW5nZTsKICAgICBib29sIG1fbXVsdGlwbGU7CiAgICAgYm9vbCBtX2FjdGl2
ZVNlbGVjdGlvblN0YXRlOworICAgIGJvb2wgbV9yZWNhbGNMaXN0SXRlbXM7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDliYTExY2Q3MGJm
NTE0M2NhMzIwZDU1N2Y1MjM3MTk5Y2UwNDc2N2YuLjk5Yzg0MmI2NTM5ZjhkZmZmNzkxOWIyYzA2
NzM5NDYxNTNhYmFkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCkBAIC03Niw3ICs3Niw2IEBAIHN0YXRpYyBjb25zdCBET01UaW1lU3RhbXAgdHlwZUFoZWFk
VGltZW91dCA9IDEwMDA7CiAKIEhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3Jt
RWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUodGFn
TmFtZSwgZG9jdW1lbnQsIGZvcm0pCi0gICAgLCBtX3JlY2FsY0xpc3RJdGVtcyhmYWxzZSkKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShzZWxlY3RUYWcpKTsKIH0KQEAgLTMxNSwxMiArMzE0LDEy
IEBAIFBhc3NSZWZQdHI8SFRNTE9wdGlvbnNDb2xsZWN0aW9uPiBIVE1MU2VsZWN0RWxlbWVudDo6
b3B0aW9ucygpCiAKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJdGVtcyhib29s
IHVwZGF0ZVNlbGVjdGVkU3RhdGVzKSBjb25zdAogewotICAgIGNvbnN0X2Nhc3Q8SFRNTFNlbGVj
dEVsZW1lbnQqPih0aGlzKS0+cmVjYWxjTGlzdEl0ZW1zSW50ZXJuYWwodXBkYXRlU2VsZWN0ZWRT
dGF0ZXMpOworICAgIHJlY2FsY0xpc3RJdGVtcyhjb25zdF9jYXN0PFNlbGVjdEVsZW1lbnREYXRh
Jj4obV9kYXRhKSwgdGhpcywgdXBkYXRlU2VsZWN0ZWRTdGF0ZXMpOwogfQogCiB2b2lkIEhUTUxT
ZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXNJZk5lZWRlZCgpCiB7Ci0gICAgaWYgKG1fcmVj
YWxjTGlzdEl0ZW1zKQorICAgIGlmIChtX2RhdGEuc2hvdWxkUmVjYWxjTGlzdEl0ZW1zKCkpCiAg
ICAgICAgIHJlY2FsY0xpc3RJdGVtcygpOwogfQogCkBAIC00NTcsMTkgKzQ1NiwxOSBAQCBpbnQg
SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRWYWxpZEluZGV4KGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4m
IGxpc3RJdGVtcywgaW50IGxpcwogCiBpbnQgSFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRTZWxlY3Rh
YmxlTGlzdEluZGV4KGludCBzdGFydEluZGV4KSBjb25zdAogewotICAgIHJldHVybiBuZXh0VmFs
aWRJbmRleChsaXN0SXRlbXMoKSwgc3RhcnRJbmRleCwgU2tpcEZvcndhcmRzLCAxKTsKKyAgICBy
ZXR1cm4gbmV4dFZhbGlkSW5kZXgobV9kYXRhLmxpc3RJdGVtcyh0aGlzKSwgc3RhcnRJbmRleCwg
U2tpcEZvcndhcmRzLCAxKTsKIH0KIAogaW50IEhUTUxTZWxlY3RFbGVtZW50OjpwcmV2aW91c1Nl
bGVjdGFibGVMaXN0SW5kZXgoaW50IHN0YXJ0SW5kZXgpIGNvbnN0CiB7CiAgICAgaWYgKHN0YXJ0
SW5kZXggPT0gLTEpCi0gICAgICAgIHN0YXJ0SW5kZXggPSBsaXN0SXRlbXMoKS5zaXplKCk7Ci0g
ICAgcmV0dXJuIG5leHRWYWxpZEluZGV4KGxpc3RJdGVtcygpLCBzdGFydEluZGV4LCBTa2lwQmFj
a3dhcmRzLCAxKTsKKyAgICAgICAgc3RhcnRJbmRleCA9IG1fZGF0YS5saXN0SXRlbXModGhpcyku
c2l6ZSgpOworICAgIHJldHVybiBuZXh0VmFsaWRJbmRleChtX2RhdGEubGlzdEl0ZW1zKHRoaXMp
LCBzdGFydEluZGV4LCBTa2lwQmFja3dhcmRzLCAxKTsKIH0KIAogaW50IEhUTUxTZWxlY3RFbGVt
ZW50OjpmaXJzdFNlbGVjdGFibGVMaXN0SW5kZXgoKSBjb25zdAogewotICAgIGNvbnN0IFZlY3Rv
cjxFbGVtZW50Kj4mIGl0ZW1zID0gbGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEVsZW1l
bnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOwogICAgIGludCBpbmRleCA9IG5l
eHRWYWxpZEluZGV4KGl0ZW1zLCBpdGVtcy5zaXplKCksIFNraXBCYWNrd2FyZHMsIElOVF9NQVgp
OwogICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oaW5kZXgpID09IGl0ZW1zLnNpemUoKSkK
ICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNDc4LDEzICs0NzcsMTMgQEAgaW50IEhUTUxTZWxlY3RF
bGVtZW50OjpmaXJzdFNlbGVjdGFibGVMaXN0SW5kZXgoKSBjb25zdAogCiBpbnQgSFRNTFNlbGVj
dEVsZW1lbnQ6Omxhc3RTZWxlY3RhYmxlTGlzdEluZGV4KCkgY29uc3QKIHsKLSAgICByZXR1cm4g
bmV4dFZhbGlkSW5kZXgobGlzdEl0ZW1zKCksIC0xLCBTa2lwRm9yd2FyZHMsIElOVF9NQVgpOwor
ICAgIHJldHVybiBuZXh0VmFsaWRJbmRleChtX2RhdGEubGlzdEl0ZW1zKHRoaXMpLCAtMSwgU2tp
cEZvcndhcmRzLCBJTlRfTUFYKTsKIH0KIAogLy8gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG5l
eHQgdmFsaWQgaXRlbSBvbmUgcGFnZSBhd2F5IGZyb20gfHN0YXJ0SW5kZXh8IGluIGRpcmVjdGlv
biB8ZGlyZWN0aW9ufC4KIGludCBIVE1MU2VsZWN0RWxlbWVudDo6bmV4dFNlbGVjdGFibGVMaXN0
SW5kZXhQYWdlQXdheShpbnQgc3RhcnRJbmRleCwgU2tpcERpcmVjdGlvbiBkaXJlY3Rpb24pIGNv
bnN0CiB7Ci0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBsaXN0SXRlbXMoKTsK
KyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1fZGF0YS5saXN0SXRlbXModGhp
cyk7CiAgICAgLy8gQ2FuJ3QgdXNlIGRhdGEtPnNpemUoKSBiZWNhdXNlIHJlbmRlcmVyIGZvcmNl
cyBhIG1pbmltdW0gc2l6ZS4KICAgICBpbnQgcGFnZVNpemUgPSAwOwogICAgIGlmIChyZW5kZXJl
cigpLT5pc0xpc3RCb3goKSkKQEAgLTUyNyw3ICs1MjYsNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVt
ZW50OjpzYXZlTGFzdFNlbGVjdGlvbigpCiAgICAgVmVjdG9yPGJvb2w+JiBsYXN0T25DaGFuZ2VT
ZWxlY3Rpb24gPSBtX2RhdGEubGFzdE9uQ2hhbmdlU2VsZWN0aW9uKCk7IAogICAgIGxhc3RPbkNo
YW5nZVNlbGVjdGlvbi5jbGVhcigpOwogCi0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRl
bXMgPSBsaXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1f
ZGF0YS5saXN0SXRlbXModGhpcyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGl0ZW1z
LnNpemUoKTsgKytpKSB7CiAgICAgICAgIE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSB0
b09wdGlvbkVsZW1lbnQoaXRlbXNbaV0pOwogICAgICAgICBsYXN0T25DaGFuZ2VTZWxlY3Rpb24u
YXBwZW5kKG9wdGlvbkVsZW1lbnQgJiYgb3B0aW9uRWxlbWVudC0+c2VsZWN0ZWQoKSk7CkBAIC01
NDMsNyArNTQyLDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2V0QWN0aXZlU2VsZWN0aW9u
QW5jaG9ySW5kZXgoaW50IGluZGV4KQogICAgIFZlY3Rvcjxib29sPiYgY2FjaGVkU3RhdGVGb3JB
Y3RpdmVTZWxlY3Rpb24gPSBtX2RhdGEuY2FjaGVkU3RhdGVGb3JBY3RpdmVTZWxlY3Rpb24oKTsg
CiAgICAgY2FjaGVkU3RhdGVGb3JBY3RpdmVTZWxlY3Rpb24uY2xlYXIoKTsKIAotICAgIGNvbnN0
IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9y
PEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBpdGVtcy5zaXplKCk7ICsraSkgewogICAgICAgICBPcHRpb25FbGVt
ZW50KiBvcHRpb25FbGVtZW50ID0gdG9PcHRpb25FbGVtZW50KGl0ZW1zW2ldKTsKICAgICAgICAg
Y2FjaGVkU3RhdGVGb3JBY3RpdmVTZWxlY3Rpb24uYXBwZW5kKG9wdGlvbkVsZW1lbnQgJiYgb3B0
aW9uRWxlbWVudC0+c2VsZWN0ZWQoKSk7CkBAIC01NTgsMTMgKzU1NywxMyBAQCB2b2lkIEhUTUxT
ZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChpbnQgaW5kZXgpCiB2b2lk
IEhUTUxTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKGJvb2wgZGVzZWxlY3RP
dGhlck9wdGlvbnMpCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyKCkgJiYgKHJlbmRlcmVyKCktPmlz
TGlzdEJveCgpIHx8IG1fZGF0YS5tdWx0aXBsZSgpKSk7Ci0gICAgQVNTRVJUKCFsaXN0SXRlbXMo
KS5zaXplKCkgfHwgbV9kYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KCkgPj0gMCk7Cisg
ICAgQVNTRVJUKCFtX2RhdGEubGlzdEl0ZW1zKHRoaXMpLnNpemUoKSB8fCBtX2RhdGEuYWN0aXZl
U2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKTsKIAogICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWlu
KG1fZGF0YS5hY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCgpLCBtX2RhdGEuYWN0aXZlU2VsZWN0
aW9uRW5kSW5kZXgoKSk7CiAgICAgdW5zaWduZWQgZW5kID0gbWF4KG1fZGF0YS5hY3RpdmVTZWxl
Y3Rpb25BbmNob3JJbmRleCgpLCBtX2RhdGEuYWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSk7CiAg
ICAgVmVjdG9yPGJvb2w+JiBjYWNoZWRTdGF0ZUZvckFjdGl2ZVNlbGVjdGlvbiA9IG1fZGF0YS5j
YWNoZWRTdGF0ZUZvckFjdGl2ZVNlbGVjdGlvbigpOwogCi0gICAgY29uc3QgVmVjdG9yPEVsZW1l
bnQqPiYgaXRlbXMgPSBsaXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBp
dGVtcyA9IG1fZGF0YS5saXN0SXRlbXModGhpcyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CiAgICAgICAgIE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVs
ZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQoaXRlbXNbaV0pOwogICAgICAgICBpZiAoIW9wdGlvbkVs
ZW1lbnQgfHwgaXRlbXNbaV0tPmRpc2FibGVkKCkpCkBAIC01ODcsNyArNTg2LDcgQEAgdm9pZCBI
VE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKCkKICAgICBBU1NFUlQoIW1fZGF0YS51
c2VzTWVudUxpc3QoKSB8fCBtX2RhdGEubXVsdGlwbGUoKSk7CiAKICAgICBWZWN0b3I8Ym9vbD4m
IGxhc3RPbkNoYW5nZVNlbGVjdGlvbiA9IG1fZGF0YS5sYXN0T25DaGFuZ2VTZWxlY3Rpb24oKTsg
Ci0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBsaXN0SXRlbXMoKTsKKyAgICBj
b25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1fZGF0YS5saXN0SXRlbXModGhpcyk7CiAK
ICAgICAvLyBJZiB0aGUgY2FjaGVkIHNlbGVjdGlvbiBsaXN0IGlzIGVtcHR5LCBvciB0aGUgc2l6
ZSBoYXMgY2hhbmdlZCwgdGhlbiBmaXJlCiAgICAgLy8gZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5n
ZUV2ZW50LCBhbmQgcmV0dXJuIGVhcmx5LgpAQCAtNjQxLDI4ICs2NDAsOSBAQCB2b2lkIEhUTUxT
ZWxlY3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIoKQogICAgIH0KIH0KIAot
dm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6Y2hlY2tMaXN0SXRlbXMoKSBjb25zdAotewotI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICBWZWN0b3I8RWxlbWVudCo+IGl0ZW1zID0gbV9saXN0SXRlbXM7
Ci0gICAgY29uc3RfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KHRoaXMpLT5yZWNhbGNMaXN0SXRl
bXNJbnRlcm5hbChmYWxzZSk7Ci0gICAgQVNTRVJUKGl0ZW1zID09IG1fbGlzdEl0ZW1zKTsKLSNl
bmRpZgotfQotCi1jb25zdCBWZWN0b3I8RWxlbWVudCo+JiBIVE1MU2VsZWN0RWxlbWVudDo6bGlz
dEl0ZW1zKCkgY29uc3QKLXsKLSAgICBpZiAobV9yZWNhbGNMaXN0SXRlbXMpCi0gICAgICAgIGNv
bnN0X2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPih0aGlzKS0+cmVjYWxjTGlzdEl0ZW1zSW50ZXJu
YWwoZmFsc2UpOwotICAgIGVsc2UKLSAgICAgICAgY2hlY2tMaXN0SXRlbXMoKTsKLQotICAgIHJl
dHVybiBtX2xpc3RJdGVtczsKLX0KLQogdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2V0UmVjYWxj
TGlzdEl0ZW1zKCkKIHsKLSAgICBtX3JlY2FsY0xpc3RJdGVtcyA9IHRydWU7CisgICAgbV9kYXRh
LnNldFNob3VsZFJlY2FsY0xpc3RJdGVtcyh0cnVlKTsKICAgICAvLyBNYW51YWwgc2VsZWN0aW9u
IGFuY2hvciBpcyByZXNldCB3aGVuIG1hbmlwdWxhdGluZyB0aGUgc2VsZWN0IHByb2dyYW1tYXRp
Y2FsbHkuCiAgICAgbV9kYXRhLnNldEFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KC0xKTsKICAg
ICBzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIoKTsKQEAgLTY3MSwxNiArNjUxLDE3IEBAIHZv
aWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNldFJlY2FsY0xpc3RJdGVtcygpCiAgICAgICAgIG1fY29s
bGVjdGlvbkluZm8ucmVzZXQoKTsKIH0KIAotdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6cmVjYWxj
TGlzdEl0ZW1zSW50ZXJuYWwoYm9vbCB1cGRhdGVTZWxlY3RlZFN0YXRlcykKK3ZvaWQgSFRNTFNl
bGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJdGVtcyhTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgY29u
c3QgRWxlbWVudCogZWxlbWVudCwgYm9vbCB1cGRhdGVTZWxlY3RlZFN0YXRlcykKIHsKLSAgICBt
X2xpc3RJdGVtcy5jbGVhcigpOworICAgIFZlY3RvcjxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IGRh
dGEucmF3TGlzdEl0ZW1zKCk7CisgICAgbGlzdEl0ZW1zLmNsZWFyKCk7CiAKLSAgICBtX3JlY2Fs
Y0xpc3RJdGVtcyA9IGZhbHNlOworICAgIGRhdGEuc2V0U2hvdWxkUmVjYWxjTGlzdEl0ZW1zKGZh
bHNlKTsKIAogICAgIE9wdGlvbkVsZW1lbnQqIGZvdW5kU2VsZWN0ZWQgPSAwOwotICAgIGZvciAo
Tm9kZSogY3VycmVudE5vZGUgPSB0aGlzLT5maXJzdENoaWxkKCk7IGN1cnJlbnROb2RlOykgewor
ICAgIGZvciAoTm9kZSogY3VycmVudE5vZGUgPSBlbGVtZW50LT5maXJzdENoaWxkKCk7IGN1cnJl
bnROb2RlOykgewogICAgICAgICBpZiAoIWN1cnJlbnROb2RlLT5pc0VsZW1lbnROb2RlKCkpIHsK
LSAgICAgICAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZlcnNlTmV4dFNpYmxp
bmcodGhpcyk7CisgICAgICAgICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLT50cmF2ZXJz
ZU5leHRTaWJsaW5nKGVsZW1lbnQpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0K
IApAQCAtNjkwLDcgKzY3MSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJ
dGVtc0ludGVybmFsKGJvb2wgdXBkYXRlU2VsZWN0ZWRTdGF0ZXMpCiAgICAgICAgIC8vIGZsYXR0
ZW4gdGhlIHRyZWUgYXV0b21hdGljYWxseSwgc28gd2UgZm9sbG93IHN1aXQuCiAgICAgICAgIC8v
IChodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxL2ludGVyYWN0L2Zvcm1zLmh0bWwjaC0xNy42
KQogICAgICAgICBpZiAoaXNPcHRpb25Hcm91cEVsZW1lbnQoY3VycmVudCkpIHsKLSAgICAgICAg
ICAgIG1fbGlzdEl0ZW1zLmFwcGVuZChjdXJyZW50KTsKKyAgICAgICAgICAgIGxpc3RJdGVtcy5h
cHBlbmQoY3VycmVudCk7CiAgICAgICAgICAgICBpZiAoY3VycmVudC0+Zmlyc3RDaGlsZCgpKSB7
CiAgICAgICAgICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50LT5maXJzdENoaWxkKCk7CiAg
ICAgICAgICAgICAgICAgY29udGludWU7CkBAIC02OTgsMTAgKzY3OSwxMCBAQCB2b2lkIEhUTUxT
ZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXNJbnRlcm5hbChib29sIHVwZGF0ZVNlbGVjdGVk
U3RhdGVzKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVs
ZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQoY3VycmVudCkpIHsKLSAgICAgICAgICAgIG1fbGlzdEl0
ZW1zLmFwcGVuZChjdXJyZW50KTsKKyAgICAgICAgICAgIGxpc3RJdGVtcy5hcHBlbmQoY3VycmVu
dCk7CiAKLSAgICAgICAgICAgIGlmICh1cGRhdGVTZWxlY3RlZFN0YXRlcyAmJiAhbV9kYXRhLm11
bHRpcGxlKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWZvdW5kU2VsZWN0ZWQgJiYgKG1fZGF0
YS5zaXplKCkgPD0gMSB8fCBvcHRpb25FbGVtZW50LT5zZWxlY3RlZCgpKSkgeworICAgICAgICAg
ICAgaWYgKHVwZGF0ZVNlbGVjdGVkU3RhdGVzICYmICFkYXRhLm11bHRpcGxlKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIWZvdW5kU2VsZWN0ZWQgJiYgKGRhdGEuc2l6ZSgpIDw9IDEgfHwgb3B0
aW9uRWxlbWVudC0+c2VsZWN0ZWQoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgZm91bmRTZWxl
Y3RlZCA9IG9wdGlvbkVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgIGZvdW5kU2VsZWN0ZWQt
PnNldFNlbGVjdGVkU3RhdGUodHJ1ZSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmb3Vu
ZFNlbGVjdGVkICYmIG9wdGlvbkVsZW1lbnQtPnNlbGVjdGVkKCkpIHsKQEAgLTcxMiw3ICs2OTMs
NyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXNJbnRlcm5hbChib29s
IHVwZGF0ZVNlbGVjdGVkU3RhdGVzKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKGN1cnJlbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpoclRhZykpCi0gICAgICAgICAgICBtX2xpc3RJdGVtcy5h
cHBlbmQoY3VycmVudCk7CisgICAgICAgICAgICBsaXN0SXRlbXMuYXBwZW5kKGN1cnJlbnQpOwog
CiAgICAgICAgIC8vIEluIGNvbmZvcm1pbmcgSFRNTCBjb2RlLCBvbmx5IDxvcHRncm91cD4gYW5k
IDxvcHRpb24+IHdpbGwgYmUgZm91bmQKICAgICAgICAgLy8gd2l0aGluIGEgPHNlbGVjdD4uIFdl
IGNhbGwgdHJhdmVyc2VOZXh0U2libGluZyBzbyB0aGF0IHdlIG9ubHkgc3RlcApAQCAtNzIwLDcg
KzcwMSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJdGVtc0ludGVybmFs
KGJvb2wgdXBkYXRlU2VsZWN0ZWRTdGF0ZXMpCiAgICAgICAgIC8vIHdpdGggdGhlIGNhc2Ugd2hl
cmUgb2RkIHRhZ3MgbGlrZSBhIDxkaXY+IGhhdmUgYmVlbiBhZGRlZCBidXQgd2UKICAgICAgICAg
Ly8gaGFuZGxlIHRoaXMgYmVjYXVzZSBzdWNoIHRhZ3MgaGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3Zl
ZCBmcm9tIHRoZQogICAgICAgICAvLyA8c2VsZWN0PidzIHN1YnRyZWUgYXQgdGhpcyBwb2ludC4K
LSAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+dHJhdmVyc2VOZXh0U2libGluZyh0
aGlzKTsKKyAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+dHJhdmVyc2VOZXh0U2li
bGluZyhlbGVtZW50KTsKICAgICB9CiB9CiAKQEAgLTcyOSw3ICs3MTAsNyBAQCBpbnQgSFRNTFNl
bGVjdEVsZW1lbnQ6OnNlbGVjdGVkSW5kZXgoKSBjb25zdAogICAgIHVuc2lnbmVkIGluZGV4ID0g
MDsKIAogICAgIC8vIHJldHVybiB0aGUgbnVtYmVyIG9mIHRoZSBmaXJzdCBvcHRpb24gc2VsZWN0
ZWQKLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGxpc3RJdGVtcygpOworICAg
IGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9kYXRhLmxpc3RJdGVtcyh0aGlzKTsK
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CiAgICAgICAg
IGlmIChPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0gdG9PcHRpb25FbGVtZW50KGl0ZW1z
W2ldKSkgewogICAgICAgICAgICAgaWYgKG9wdGlvbkVsZW1lbnQtPnNlbGVjdGVkKCkpCkBAIC03
NDgsNyArNzI5LDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleElu
dGVybmFsKGludCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCwKICAgICBpZiAoIW1fZGF0YS5t
dWx0aXBsZSgpKQogICAgICAgICBkZXNlbGVjdCA9IHRydWU7CiAKLSAgICBjb25zdCBWZWN0b3I8
RWxlbWVudCo+JiBpdGVtcyA9IGxpc3RJdGVtcygpOworICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50
Kj4mIGl0ZW1zID0gbV9kYXRhLmxpc3RJdGVtcyh0aGlzKTsKICAgICBpbnQgbGlzdEluZGV4ID0g
b3B0aW9uVG9MaXN0SW5kZXgob3B0aW9uSW5kZXgpOwogCiAgICAgRWxlbWVudCogZXhjbHVkZUVs
ZW1lbnQgPSAwOwpAQCAtNzkxLDcgKzc3Miw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNl
dFNlbGVjdGVkSW5kZXhJbnRlcm5hbChpbnQgb3B0aW9uSW5kZXgsIGJvb2wgZGVzZWxlY3QsCiAK
IGludCBIVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9uVG9MaXN0SW5kZXgoaW50IG9wdGlvbkluZGV4
KSBjb25zdAogewotICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbGlzdEl0ZW1z
KCk7CisgICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1z
KHRoaXMpOwogICAgIGludCBsaXN0U2l6ZSA9IHN0YXRpY19jYXN0PGludD4oaXRlbXMuc2l6ZSgp
KTsKICAgICBpZiAob3B0aW9uSW5kZXggPCAwIHx8IG9wdGlvbkluZGV4ID49IGxpc3RTaXplKQog
ICAgICAgICByZXR1cm4gLTE7CkBAIC04MTAsNyArNzkxLDcgQEAgaW50IEhUTUxTZWxlY3RFbGVt
ZW50OjpvcHRpb25Ub0xpc3RJbmRleChpbnQgb3B0aW9uSW5kZXgpIGNvbnN0CiAKIGludCBIVE1M
U2VsZWN0RWxlbWVudDo6bGlzdFRvT3B0aW9uSW5kZXgoaW50IGxpc3RJbmRleCkgY29uc3QKIHsK
LSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGxpc3RJdGVtcygpOworICAgIGNv
bnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9kYXRhLmxpc3RJdGVtcyh0aGlzKTsKICAg
ICBpZiAobGlzdEluZGV4IDwgMCB8fCBsaXN0SW5kZXggPj0gc3RhdGljX2Nhc3Q8aW50PihpdGVt
cy5zaXplKCkpIHx8ICFpc09wdGlvbkVsZW1lbnQoaXRlbXNbbGlzdEluZGV4XSkpCiAgICAgICAg
IHJldHVybiAtMTsKIApAQCAtODQ1LDcgKzgyNiw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6
OmRpc3BhdGNoQmx1ckV2ZW50KFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCiAKIHZv
aWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmRlc2VsZWN0SXRlbXNXaXRob3V0VmFsaWRhdGlvbihFbGVt
ZW50KiBleGNsdWRlRWxlbWVudCkKIHsKLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVt
cyA9IGxpc3RJdGVtcygpOworICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9k
YXRhLmxpc3RJdGVtcyh0aGlzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaXRlbXMu
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKGl0ZW1zW2ldID09IGV4Y2x1ZGVFbGVtZW50KQog
ICAgICAgICAgICAgY29udGludWU7CkBAIC04NTcsNyArODM4LDcgQEAgdm9pZCBIVE1MU2VsZWN0
RWxlbWVudDo6ZGVzZWxlY3RJdGVtc1dpdGhvdXRWYWxpZGF0aW9uKEVsZW1lbnQqIGV4Y2x1ZGVF
bGVtZW50KQogCiBib29sIEhUTUxTZWxlY3RFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShT
dHJpbmcmIHZhbHVlKSBjb25zdAogewotICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1z
ID0gbGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBtX2Rh
dGEubGlzdEl0ZW1zKHRoaXMpOwogICAgIGludCBsZW5ndGggPSBpdGVtcy5zaXplKCk7CiAKICAg
ICAvLyBGSVhNRTogQ2hhbmdlIHRoaXMgY29kZSB0byB1c2UgdGhlIG5ldyBTdHJpbmdJbXBsOjpj
cmVhdGVVbmluaXRpYWxpemVkIGNvZGUgcGF0aC4KQEAgLTg3NCw5ICs4NTUsOSBAQCBib29sIEhU
TUxTZWxlY3RFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZShTdHJpbmcmIHZhbHVlKSBjb25z
dAogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25z
dCBTdHJpbmcmIHN0YXRlKQogewotICAgIHJlY2FsY0xpc3RJdGVtcygpOworICAgIHJlY2FsY0xp
c3RJdGVtcyhtX2RhdGEsIHRoaXMpOwogCi0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRl
bXMgPSBsaXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1f
ZGF0YS5saXN0SXRlbXModGhpcyk7CiAgICAgaW50IGxlbmd0aCA9IGl0ZW1zLnNpemUoKTsKIAog
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKQEAgLTkwNCw3ICs4ODUsNyBA
QCBib29sIEhUTUxTZWxlY3RFbGVtZW50OjphcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmIGxp
c3QsIGJvb2wpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgc3VjY2Vzc2Z1bCA9
IGZhbHNlOwotICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbGlzdEl0ZW1zKCk7
CisgICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRo
aXMpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7
CiAgICAgICAgIE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSB0b09wdGlvbkVsZW1lbnQo
aXRlbXNbaV0pOwpAQCAtOTI1LDcgKzkwNiw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJl
c2V0KCkKICAgICBPcHRpb25FbGVtZW50KiBmaXJzdE9wdGlvbiA9IDA7CiAgICAgT3B0aW9uRWxl
bWVudCogc2VsZWN0ZWRPcHRpb24gPSAwOwogCi0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYg
aXRlbXMgPSBsaXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9
IG1fZGF0YS5saXN0SXRlbXModGhpcyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGl0
ZW1zLnNpemUoKTsgKytpKSB7CiAgICAgICAgIE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQg
PSB0b09wdGlvbkVsZW1lbnQoaXRlbXNbaV0pOwogICAgICAgICBpZiAoIW9wdGlvbkVsZW1lbnQp
CkBAIC05OTksNyArOTgwLDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIAogICAgICAgICBjb25zdCBTdHJpbmcmIGtl
eUlkZW50aWZpZXIgPSBzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpLT5rZXlJZGVu
dGlmaWVyKCk7CiAgICAgICAgIGJvb2wgaGFuZGxlZCA9IHRydWU7Ci0gICAgICAgIGNvbnN0IFZl
Y3RvcjxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHRoaXMtPmxpc3RJdGVtcygpOworICAgICAgICBj
b25zdCBWZWN0b3I8RWxlbWVudCo+JiBsaXN0SXRlbXMgPSBtX2RhdGEubGlzdEl0ZW1zKHRoaXMp
OwogICAgICAgICBpbnQgbGlzdEluZGV4ID0gb3B0aW9uVG9MaXN0SW5kZXgoc2VsZWN0ZWRJbmRl
eCgpKTsKIAogICAgICAgICBpZiAoa2V5SWRlbnRpZmllciA9PSAiRG93biIgfHwga2V5SWRlbnRp
ZmllciA9PSAiUmlnaHQiKQpAQCAtMTEyNyw3ICsxMTA4LDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxl
bWVudDo6dXBkYXRlU2VsZWN0ZWRTdGF0ZShpbnQgbGlzdEluZGV4LCBib29sIG11bHRpLCBib29s
IHNoaWYKICAgICBib29sIHNoaWZ0U2VsZWN0ID0gbV9kYXRhLm11bHRpcGxlKCkgJiYgc2hpZnQ7
CiAgICAgYm9vbCBtdWx0aVNlbGVjdCA9IG1fZGF0YS5tdWx0aXBsZSgpICYmIG11bHRpICYmICFz
aGlmdDsKIAotICAgIEVsZW1lbnQqIGNsaWNrZWRFbGVtZW50ID0gbGlzdEl0ZW1zKClbbGlzdElu
ZGV4XTsKKyAgICBFbGVtZW50KiBjbGlja2VkRWxlbWVudCA9IG1fZGF0YS5saXN0SXRlbXModGhp
cylbbGlzdEluZGV4XTsKICAgICBPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b09wdGlvbkVsZW1l
bnQoY2xpY2tlZEVsZW1lbnQpOwogICAgIGlmIChvcHRpb24pIHsKICAgICAgICAgLy8gS2VlcCB0
cmFjayBvZiB3aGV0aGVyIGFuIGFjdGl2ZSBzZWxlY3Rpb24gKGxpa2UgZHVyaW5nIGRyYWcKQEAg
LTExNjcsNyArMTE0OCw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZVNlbGVjdGVk
U3RhdGUoaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0aSwgYm9vbCBzaGlmCiAKIHZvaWQgSFRNTFNl
bGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsK
LSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBsaXN0SXRlbXMgPSB0aGlzLT5saXN0SXRlbXMo
KTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBsaXN0SXRlbXMgPSBtX2RhdGEubGlzdEl0
ZW1zKHRoaXMpOwogCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNl
ZG93bkV2ZW50ICYmIGV2ZW50LT5pc01vdXNlRXZlbnQoKSAmJiBzdGF0aWNfY2FzdDxNb3VzZUV2
ZW50Kj4oZXZlbnQpLT5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7CiAgICAgICAgIGZvY3VzKCk7
CkBAIC0xMzI1LDcgKzEzMDYsNyBAQCBpbnQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxhc3RTZWxlY3Rl
ZExpc3RJbmRleCgpIGNvbnN0CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBpdGVyYXRlIHRoZSBs
aXN0SXRlbXMgaW4gdGhlIHJldmVyc2Ugb3JkZXIuCiAgICAgdW5zaWduZWQgaW5kZXggPSAwOwog
ICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVt
cyA9IGxpc3RJdGVtcygpOworICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9k
YXRhLmxpc3RJdGVtcyh0aGlzKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZW1zLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIGlmIChPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0g
dG9PcHRpb25FbGVtZW50KGl0ZW1zW2ldKSkgewogICAgICAgICAgICAgaWYgKG9wdGlvbkVsZW1l
bnQtPnNlbGVjdGVkKCkpIHsKQEAgLTEzODEsNyArMTM2Miw3IEBAIHZvaWQgSFRNTFNlbGVjdEVs
ZW1lbnQ6OnR5cGVBaGVhZEZpbmQoS2V5Ym9hcmRFdmVudCogZXZlbnQpCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGxpc3RJdGVtcygpOwor
ICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9kYXRhLmxpc3RJdGVtcyh0aGlz
KTsKICAgICBpbnQgaXRlbUNvdW50ID0gaXRlbXMuc2l6ZSgpOwogICAgIGlmIChpdGVtQ291bnQg
PCAxKQogICAgICAgICByZXR1cm47CkBAIC0xNDE5LDcgKzE0MDAsNyBAQCB2b2lkIEhUTUxTZWxl
Y3RFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKGJvb2wgZGVlcCkKICAgICAvLyBXaGVuIHRoZSBl
bGVtZW50IGlzIGNyZWF0ZWQgZHVyaW5nIGRvY3VtZW50IHBhcnNpbmcsIGl0IHdvbid0IGhhdmUg
YW55CiAgICAgLy8gaXRlbXMgeWV0IC0gYnV0IGZvciBpbm5lckhUTUwgYW5kIHJlbGF0ZWQgbWV0
aG9kcywgdGhpcyBtZXRob2QgaXMgY2FsbGVkCiAgICAgLy8gYWZ0ZXIgdGhlIHdob2xlIHN1YnRy
ZWUgaXMgY29uc3RydWN0ZWQuCi0gICAgcmVjYWxjTGlzdEl0ZW1zKHRydWUpOworICAgIHJlY2Fs
Y0xpc3RJdGVtcyhtX2RhdGEsIHRoaXMsIHRydWUpOwogICAgIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGU6Omluc2VydGVkSW50b1RyZWUoZGVlcCk7CiB9CiAKQEAgLTE0MzAsNyArMTQx
MSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmFjY2Vzc0tleVNldFNlbGVjdGVkSW5kZXgo
aW50IGluZGV4KQogICAgICAgICBhY2Nlc3NLZXlBY3Rpb24oZmFsc2UpOwogICAgIAogICAgIC8v
IGlmIHRoaXMgaW5kZXggaXMgYWxyZWFkeSBzZWxlY3RlZCwgdW5zZWxlY3QuIG90aGVyd2lzZSB1
cGRhdGUgdGhlIHNlbGVjdGVkIGluZGV4Ci0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiYgaXRl
bXMgPSBsaXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IG1f
ZGF0YS5saXN0SXRlbXModGhpcyk7CiAgICAgaW50IGxpc3RJbmRleCA9IG9wdGlvblRvTGlzdElu
ZGV4KGluZGV4KTsKICAgICBpZiAoT3B0aW9uRWxlbWVudCogb3B0aW9uRWxlbWVudCA9IChsaXN0
SW5kZXggPj0gMCA/IHRvT3B0aW9uRWxlbWVudChpdGVtc1tsaXN0SW5kZXhdKSA6IDApKSB7CiAg
ICAgICAgIGlmIChvcHRpb25FbGVtZW50LT5zZWxlY3RlZCgpKQpAQCAtMTQ1MSw3ICsxNDMyLDcg
QEAgdW5zaWduZWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxlbmd0aCgpIGNvbnN0CiB7CiAgICAgdW5z
aWduZWQgb3B0aW9ucyA9IDA7CiAKLSAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9
IGxpc3RJdGVtcygpOworICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGl0ZW1zID0gbV9kYXRh
Lmxpc3RJdGVtcyh0aGlzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaXRlbXMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKGlzT3B0aW9uRWxlbWVudChpdGVtc1tpXSkpCiAgICAg
ICAgICAgICArK29wdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgK
aW5kZXggMzhkMDMyYzg5YmRhZDA1MDUzY2NiZGEyOWYzYjRhYTYwYzVhMWUzNC4uNTIyYzM1MWFl
OTZjNjQ3ODExNzNjZmY1Y2I2NGJhM2VkZWE5NTNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkV2ZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogI2luY2x1ZGUgIlNlbGVjdEVsZW1l
bnQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNjcsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSZWNhbGNMaXN0SXRlbXMoKTsK
ICAgICB2b2lkIHJlY2FsY0xpc3RJdGVtc0lmTmVlZGVkKCk7CiAKLSAgICBjb25zdCBWZWN0b3I8
RWxlbWVudCo+JiBsaXN0SXRlbXMoKSBjb25zdDsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+
JiBsaXN0SXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2RhdGEubGlzdEl0ZW1zKHRoaXMpOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZFRvQW55RWxlbWVudCk7
CiAgICAgdm9pZCBhY2Nlc3NLZXlTZXRTZWxlY3RlZEluZGV4KGludCk7CkBAIC0xNDQsOCArMTQz
LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaGFzUGxhY2Vob2xkZXJMYWJlbE9wdGlvbigpIGNv
bnN0OwogCi0gICAgdm9pZCBjaGVja0xpc3RJdGVtcygpIGNvbnN0OwotICAgIHZvaWQgcmVjYWxj
TGlzdEl0ZW1zSW50ZXJuYWwoYm9vbCB1cGRhdGVTZWxlY3RlZFN0YXRlcyA9IHRydWUpOworICAg
IHN0YXRpYyB2b2lkIHJlY2FsY0xpc3RJdGVtcyhTZWxlY3RFbGVtZW50RGF0YSYsIGNvbnN0IEVs
ZW1lbnQqLCBib29sIHVwZGF0ZVNlbGVjdGVkU3RhdGVzID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRT
ZWxlY3RlZEluZGV4SW50ZXJuYWwoaW50IG9wdGlvbkluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1
ZSwgYm9vbCBmaXJlT25DaGFuZ2VOb3cgPSBmYWxzZSwgYm9vbCB1c2VyRHJpdmVuQ2hhbmdlID0g
dHJ1ZSk7CiAgICAgdm9pZCBkZXNlbGVjdEl0ZW1zV2l0aG91dFZhbGlkYXRpb24oRWxlbWVudCog
ZXhjbHVkZUVsZW1lbnQgPSAwKTsKICAgICB2b2lkIHBhcnNlTXVsdGlwbGVBdHRyaWJ1dGUoY29u
c3QgQXR0cmlidXRlKik7CkBAIC0xNTUsNiArMTUzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHBs
YXRmb3JtSGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKTsKICAgICB2b2lkIGxpc3RC
b3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRPcHRpb25zQ2hhbmdl
ZE9uUmVuZGVyZXIoKTsKKyAgICBmcmllbmQgY2xhc3MgU2VsZWN0RWxlbWVudERhdGE7CiAKICAg
ICBlbnVtIFNraXBEaXJlY3Rpb24gewogICAgICAgICBTa2lwQmFja3dhcmRzID0gLTEsCkBAIC0x
NjksOCArMTY4LDYgQEAgcHJpdmF0ZToKIAogICAgIFNlbGVjdEVsZW1lbnREYXRhIG1fZGF0YTsK
ICAgICBDb2xsZWN0aW9uQ2FjaGUgbV9jb2xsZWN0aW9uSW5mbzsKLSAgICBWZWN0b3I8RWxlbWVu
dCo+IG1fbGlzdEl0ZW1zOwotICAgIGJvb2wgbV9yZWNhbGNMaXN0SXRlbXM7CiB9OwogCiBIVE1M
U2VsZWN0RWxlbWVudCogdG9TZWxlY3RFbGVtZW50KEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnRXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudFdpbi5jcHAKaW5kZXggNDQ1ZGQ0YTNkNjU4N2M0ZDU2
OWQyNWVmOTBjOTAwZTQ2YjUzYjRkNS4uNDk5MWQyYTdmZTljZGY5YjJjZjM3NDBlZTI2NTI4Zjg1
M2U4YTgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dFdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudFdpbi5j
cHAKQEAgLTQ4LDcgKzQ4LDcgQEAgYm9vbCBIVE1MU2VsZWN0RWxlbWVudDo6cGxhdGZvcm1IYW5k
bGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCogZXZlbnQpCiAKICAgICBpbnQgaW5kZXggPSBz
ZWxlY3RlZEluZGV4KCk7CiAgICAgQVNTRVJUKGluZGV4ID49IDApOwotICAgIEFTU0VSVChpbmRl
eCA8IGxpc3RJdGVtcygpLnNpemUoKSk7CisgICAgQVNTRVJUKGluZGV4IDwgbV9kYXRhLmxpc3RJ
dGVtcyh0aGlzKS5zaXplKCkpOwogICAgIHNldFNlbGVjdGVkSW5kZXhJbnRlcm5hbChpbmRleCk7
CiAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgcmV0dXJuIHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>