<?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>86201</bug_id>
          
          <creation_ts>2012-05-11 05:48:03 -0700</creation_ts>
          <short_desc>REGRESSION(r116752): Build failure on Chromium-mac (Requested by tkent on #webkit).</short_desc>
          <delta_ts>2012-05-11 05:55:27 -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>86058</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>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621528</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 05:48:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/116752 broke the build:
Build failure on Chromium-mac (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>621530</commentid>
    <comment_count>1</comment_count>
      <attachid>141389</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 05:48:45 -0700</bug_when>
    <thetext>Created attachment 141389
ROLLOUT of r116752

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>621538</commentid>
    <comment_count>2</comment_count>
      <attachid>141389</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 05:55:22 -0700</bug_when>
    <thetext>Comment on attachment 141389
ROLLOUT of r116752

Clearing flags on attachment: 141389

Committed r116756: &lt;http://trac.webkit.org/changeset/116756&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621539</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 05:55:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141389</attachid>
            <date>2012-05-11 05:48:45 -0700</date>
            <delta_ts>2012-05-11 05:55:22 -0700</delta_ts>
            <desc>ROLLOUT of r116752</desc>
            <filename>bug-86201-20120511125242.patch</filename>
            <type>text/plain</type>
            <size>31664</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThhNDgyNzQ2YjNiZDE0
ODNiM2M2OWY2YzNhOWYyNzQxMTA0ODg1Yy4uMmY4YzM1YmMzYjNlZjc3MWNjZDQ4MzA1NjVhYjli
MzAxMGE4YjdmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTA1LTExICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE2NzUyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTY3NTIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2MjAxCisKKyAgICAgICAgQnVpbGQgZmFpbHVyZSBvbiBDaHJvbWl1bS1tYWMg
KFJlcXVlc3RlZCBieSB0a2VudCBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGh0bWwvRm9ybUFz
c29jaWF0ZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVu
dC5oOgorICAgICAgICAoRm9ybUFzc29jaWF0ZWRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250
cm9sRWxlbWVudDo6c2V0Q3VzdG9tVmFsaWRpdHkpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oOgorICAgICAgICAoSFRNTEZvcm1Db250cm9sRWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50Ojp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVu
dDo6dmFsdWVNaXNzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnBh
dHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyYW5n
ZVVuZGVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6Om1pbmltdW0pOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6bWF4aW11bSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudDo6bWluaW11bVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjptYXhpbXVtU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcEJhc2VTdHJpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFN0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2hUZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZ1RleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudDo6aXNJblJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OmlzT3V0T2ZSYW5nZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxP
YmplY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6c2V0
Q3VzdG9tVmFsaWRpdHkpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAoSFRNTFNlbGVjdEVsZW1l
bnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgICog
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFy
ZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgorICAgICAgICAoSFRNTFRleHRBcmVhRWxlbWVudCk6
CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRU
eXBlOjphbGlnblZhbHVlRm9yU3RlcCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OnN0
ZXBVcEZyb21SZW5kZXJlcik6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAg
KElucHV0VHlwZSk6CisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6c2V0Q3VzdG9tRXJyb3JN
ZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnZhbHVlTWlzc2luZyk6
CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6cGF0dGVybk1pc21hdGNoKToKKyAgICAgICAgKFdl
YkNvcmU6OlZhbGlkaXR5U3RhdGU6OnRvb0xvbmcpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRp
dHlTdGF0ZTo6cmFuZ2VVbmRlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0
ZTo6cmFuZ2VPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjpzdGVw
TWlzbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6Y3VzdG9tRXJyb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6dmFsaWQpOgorICAgICAgICAqIGh0
bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoVmFsaWRpdHlTdGF0ZSk6CisKIDIwMTItMDUt
MTEgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBTZWFyY2ggYm94IGRvZXNuJ3QgYWxsb3cgQ1NTIHNlbGVjdG9ycyBhbnlt
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKaW5k
ZXggNzZkZDBkMTU5ZjA3NWQ5ZGI2NmZkN2ExZmRlYmUyZGE5NTk0OWFmNy4uNjY1ZWZhNzZhOTIy
ZmUzMjUyYjBkNDU3ZjNkY2RhODZlNzM4MTIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Rm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMTU3LDY5ICsxNTcsNiBAQCB2b2lkIEZvcm1B
c3NvY2lhdGVkRWxlbWVudDo6Zm9ybUF0dHJpYnV0ZUNoYW5nZWQoKQogICAgICAgICByZXNldEZv
cm1Pd25lcigpOwogfQogCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6Y3VzdG9tRXJyb3Io
KSBjb25zdAotewotICAgIGNvbnN0IEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVu
dCh0aGlzKTsKLSAgICByZXR1cm4gZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkgJiYgIW1fY3VzdG9t
VmFsaWRhdGlvbk1lc3NhZ2UuaXNFbXB0eSgpOwotfQotCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0K
LWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZVVu
ZGVyZmxvdygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIEZvcm1Bc3Nv
Y2lhdGVkRWxlbWVudDo6c3RlcE1pc21hdGNoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0eXBlTWlz
bWF0Y2goKSBjb25zdAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBGb3JtQXNzb2Np
YXRlZEVsZW1lbnQ6OnZhbGlkKCkgY29uc3QKLXsKLSAgICBib29sIHNvbWVFcnJvciA9IHR5cGVN
aXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgpIHx8IHJhbmdlVW5kZXJmbG93KCkgfHwgcmFuZ2VP
dmVyZmxvdygpCi0gICAgICAgIHx8IHRvb0xvbmcoKSB8fCBwYXR0ZXJuTWlzbWF0Y2goKSB8fCB2
YWx1ZU1pc3NpbmcoKSB8fCBjdXN0b21FcnJvcigpOwotICAgIHJldHVybiAhc29tZUVycm9yOwot
fQotCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLVN0cmluZyBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OmN1
c3RvbVZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jdXN0b21WYWxp
ZGF0aW9uTWVzc2FnZTsKLX0KLQotU3RyaW5nIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWRh
dGlvbk1lc3NhZ2UoKSBjb25zdAotewotICAgIHJldHVybiBjdXN0b21FcnJvcigpID8gbV9jdXN0
b21WYWxpZGF0aW9uTWVzc2FnZSA6IFN0cmluZygpOwotfQotCi12b2lkIEZvcm1Bc3NvY2lhdGVk
RWxlbWVudDo6c2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJiBlcnJvcikKLXsKLSAgICBt
X2N1c3RvbVZhbGlkYXRpb25NZXNzYWdlID0gZXJyb3I7Ci19Ci0KIGNvbnN0IEhUTUxFbGVtZW50
KiB0b0hUTUxFbGVtZW50KGNvbnN0IEZvcm1Bc3NvY2lhdGVkRWxlbWVudCogYXNzb2NpYXRlZEVs
ZW1lbnQpCiB7CiAgICAgaWYgKGFzc29jaWF0ZWRFbGVtZW50LT5pc0Zvcm1Db250cm9sRWxlbWVu
dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgKaW5kZXgg
OTJlYjhkN2VmYmU3ODJhNTE5NTA4ZmMzYzM1MmM5OWQ2M2IzM2FkYy4uMjg0ZTI5OGZkOTdlNTQy
ZDFiMGIyY2Q0NmJjMzQyODUxZWQ0YTJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1B
c3NvY2lhdGVkRWxlbWVudC5oCkBAIC02MCwyMiArNjAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGZvcm1SZW1vdmVkRnJvbVRyZWUoY29uc3QgTm9kZSogZm9ybVJvb3QpOwogCi0gICAgLy8gVmFs
aWRpdHlTdGF0ZSBhdHRyaWJ1dGUgaW1wbGVtZW50YXRpb25zCi0gICAgYm9vbCBjdXN0b21FcnJv
cigpIGNvbnN0OwotCi0gICAgLy8gT3ZlcnJpZGUgZnVuY3Rpb25zIGZvciBwYXR0ZXJNaXNtYXRj
aCwgcmFuZ2VPdmVyZmxvdywgcmFuZ2VyVW5kZXJmbG93LAotICAgIC8vIHN0ZXBNaXNtYXRjaCwg
dG9vTG9uZyBhbmQgdmFsdWVNaXNzaW5nIG11c3QgY2FsbCB3aWxsVmFsaWRhdGUgbWV0aG9kLgot
ICAgIHZpcnR1YWwgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJv
b2wgcmFuZ2VPdmVyZmxvdygpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxv
dygpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGJvb2wgdG9vTG9uZygpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0
Y2goKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKLSAgICBib29sIHZhbGlk
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmlu
ZyYpOwotCiBwcm90ZWN0ZWQ6CiAgICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50KCk7CiAKQEAgLTky
LDggKzc2LDYgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlRm9ybSgp
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VGb3JtKCk7CiAKLSAgICBTdHJpbmcgY3VzdG9t
VmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdDsKLQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xOYW1lKCkgY29uc3QgPSAwOwogCkBAIC0xMDIsNyAr
ODQsNiBAQCBwcml2YXRlOgogCiAgICAgSFRNTEZvcm1FbGVtZW50KiBtX2Zvcm07CiAgICAgT3du
UHRyPFZhbGlkaXR5U3RhdGU+IG1fdmFsaWRpdHlTdGF0ZTsKLSAgICBTdHJpbmcgbV9jdXN0b21W
YWxpZGF0aW9uTWVzc2FnZTsKIH07CiAKIEhUTUxFbGVtZW50KiB0b0hUTUxFbGVtZW50KEZvcm1B
c3NvY2lhdGVkRWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAKaW5kZXggNzAyMTc1MzU5YWM3YWFmZTNkYTU3NDdjMGU1NzU3MDM1M2Vl
ODVkNS4uMmY5ZjIyNWJjYTljNTU5YjA5MjM0YWExNDQ5NTc5NGJhNDhmNzI4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC00ODQsOCAr
NDg0LDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1ZhbGlkaXR5Q2hl
Y2soKQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldEN1c3RvbVZhbGlkaXR5KGNv
bnN0IFN0cmluZyYgZXJyb3IpCiB7Ci0gICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpzZXRDdXN0
b21WYWxpZGl0eShlcnJvcik7Ci0gICAgc2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7CisgICAgdmFs
aWRpdHkoKS0+c2V0Q3VzdG9tRXJyb3JNZXNzYWdlKGVycm9yKTsKIH0KIAogdm9pZCBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChQYXNzUmVmUHRyPE5vZGU+IG5ld0Zv
Y3VzZWROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQu
aAppbmRleCBjYWZiZjUyOWE1MWFjODcyZTRlYTMwNDBhMmE5MTM1MmRjMjVlZTNkLi42MDg0MTFm
MzYzNmZmZjhmN2NhNDZhNzU1MTc2MGVkMzU4YTcyMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGNoZWNrVmFsaWRpdHkoVmVjdG9yPFJlZlB0cjxGb3JtQXNzb2NpYXRlZEVsZW1l
bnQ+ID4qIHVuaGFuZGxlZEludmFsaWRDb250cm9scyA9IDApOwogICAgIC8vIFRoaXMgbXVzdCBi
ZSBjYWxsZWQgd2hlbiBhIHZhbGlkYXRpb24gY29uc3RyYWludCBvciBjb250cm9sIHZhbHVlIGlz
IGNoYW5nZWQuCiAgICAgdm9pZCBzZXROZWVkc1ZhbGlkaXR5Q2hlY2soKTsKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdm9p
ZCBzZXRDdXN0b21WYWxpZGl0eShjb25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgcmVhZE9ubHko
KSBjb25zdCB7IHJldHVybiBtX3JlYWRPbmx5OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCmluZGV4IGQ2Y2VjYzg4NjQ5MzVhZmMwYzJlMTRmOTAzMzA0NzdjZTI5
MDdhYjMuLjc3OGVkMjU3YWQ4NGU2ZTFhOWEwYjIxMjlmNTkyODRiNDBhODc5M2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTkxLDMyICsxOTEsMjcgQEAg
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gIW1faW5wdXRU
eXBlLT50eXBlTWlzbWF0Y2hGb3IodmFsdWUpCi0gICAgICAgICYmICFtX2lucHV0VHlwZS0+c3Rl
cE1pc21hdGNoKHZhbHVlKQotICAgICAgICAmJiAhbV9pbnB1dFR5cGUtPnJhbmdlVW5kZXJmbG93
KHZhbHVlKQotICAgICAgICAmJiAhbV9pbnB1dFR5cGUtPnJhbmdlT3ZlcmZsb3codmFsdWUpCisg
ICAgICAgICYmICFzdGVwTWlzbWF0Y2godmFsdWUpCisgICAgICAgICYmICFyYW5nZVVuZGVyZmxv
dyh2YWx1ZSkKKyAgICAgICAgJiYgIXJhbmdlT3ZlcmZsb3codmFsdWUpCiAgICAgICAgICYmICF0
b29Mb25nKHZhbHVlLCBJZ25vcmVEaXJ0eUZsYWcpCi0gICAgICAgICYmICFtX2lucHV0VHlwZS0+
cGF0dGVybk1pc21hdGNoKHZhbHVlKQotICAgICAgICAmJiAhbV9pbnB1dFR5cGUtPnZhbHVlTWlz
c2luZyh2YWx1ZSk7Ci19Ci0KLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dG9vTG9uZygpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIHRvb0xvbmcodmFsdWUoKSwgQ2hlY2tE
aXJ0eUZsYWcpOworICAgICAgICAmJiAhcGF0dGVybk1pc21hdGNoKHZhbHVlKQorICAgICAgICAm
JiAhdmFsdWVNaXNzaW5nKHZhbHVlKTsKIH0KIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0eXBl
TWlzbWF0Y2goKSBjb25zdAogewotICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBtX2lucHV0
VHlwZS0+dHlwZU1pc21hdGNoKCk7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT50eXBlTWlzbWF0
Y2goKTsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKSBjb25zdAor
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKIHsKLSAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnZhbHVl
TWlzc2luZyh2YWx1ZSgpKTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnZhbHVlTWlzc2luZyh2
YWx1ZSk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29u
c3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKGNvbnN0IFN0cmluZyYg
dmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRUeXBl
LT5wYXR0ZXJuTWlzbWF0Y2godmFsdWUoKSk7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5wYXR0
ZXJuTWlzbWF0Y2godmFsdWUpOwogfQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnRvb0xvbmco
Y29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZWNrKSBjb25zdApA
QCAtMjM3LDQwICsyMzIsNjggQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKGNvbnN0
IFN0cmluZyYgdmFsdWUsIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBjaGVjaykKICAgICByZXR1cm4g
bnVtR3JhcGhlbWVDbHVzdGVycyh2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsK
IH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0Citib29s
IEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRUeXBlLT5yYW5nZVVu
ZGVyZmxvdyh2YWx1ZSgpKTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnJhbmdlVW5kZXJmbG93
KHZhbHVlKTsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkgY29u
c3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZh
bHVlKSBjb25zdAogewotICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBtX2lucHV0VHlwZS0+
cmFuZ2VPdmVyZmxvdyh2YWx1ZSgpKTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnJhbmdlT3Zl
cmZsb3codmFsdWUpOwogfQogCi1TdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsaWRhdGlvbk1l
c3NhZ2UoKSBjb25zdAorZG91YmxlIEhUTUxJbnB1dEVsZW1lbnQ6Om1pbmltdW0oKSBjb25zdAog
ewotICAgIGlmICghd2lsbFZhbGlkYXRlKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAg
ICByZXR1cm4gbV9pbnB1dFR5cGUtPm1pbmltdW0oKTsKK30KIAotICAgIGlmIChjdXN0b21FcnJv
cigpKQotICAgICAgICByZXR1cm4gY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UoKTsKK2RvdWJsZSBI
VE1MSW5wdXRFbGVtZW50OjptYXhpbXVtKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9pbnB1dFR5
cGUtPm1heGltdW0oKTsKK30KIAotICAgIHJldHVybiBtX2lucHV0VHlwZS0+dmFsaWRhdGlvbk1l
c3NhZ2UoKTsKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0Cit7CisgICAgZG91YmxlIHN0ZXA7CisgICAgaWYgKCFnZXRBbGxvd2Vk
VmFsdWVTdGVwKCZzdGVwKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2lu
cHV0VHlwZS0+c3RlcE1pc21hdGNoKHZhbHVlLCBzdGVwKTsKIH0KIAotZG91YmxlIEhUTUxJbnB1
dEVsZW1lbnQ6Om1pbmltdW0oKSBjb25zdAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6Om1pbmlt
dW1TdHJpbmcoKSBjb25zdAogewotICAgIHJldHVybiBtX2lucHV0VHlwZS0+bWluaW11bSgpOwor
ICAgIHJldHVybiBtX2lucHV0VHlwZS0+c2VyaWFsaXplKG1pbmltdW0oKSk7CiB9CiAKLWRvdWJs
ZSBIVE1MSW5wdXRFbGVtZW50OjptYXhpbXVtKCkgY29uc3QKK1N0cmluZyBIVE1MSW5wdXRFbGVt
ZW50OjptYXhpbXVtU3RyaW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9pbnB1dFR5cGUtPm1h
eGltdW0oKTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnNlcmlhbGl6ZShtYXhpbXVtKCkpOwor
fQorCitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6c3RlcEJhc2VTdHJpbmcoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2lucHV0VHlwZS0+c2VyaWFsaXplKG1faW5wdXRUeXBlLT5zdGVwQmFzZSgp
KTsKK30KKworU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBTdHJpbmcoKSBjb25zdAorewor
ICAgIGRvdWJsZSBzdGVwOworICAgIGlmICghZ2V0QWxsb3dlZFZhbHVlU3RlcCgmc3RlcCkpIHsK
KyAgICAgICAgLy8gc3RlcFN0cmluZygpIHNob3VsZCBiZSBjYWxsZWQgb25seSBpZiBzdGVwTWlz
bWF0Y2goKSBjYW4gYmUgdHJ1ZS4KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisgICAgcmV0dXJuIHNlcmlhbGl6ZUZvck51bWJl
clR5cGUoc3RlcCAvIG1faW5wdXRUeXBlLT5zdGVwU2NhbGVGYWN0b3IoKSk7Cit9CisKK1N0cmlu
ZyBIVE1MSW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2hUZXh0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9pbnB1dFR5cGUtPnR5cGVNaXNtYXRjaFRleHQoKTsKIH0KIAotYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpzdGVwTWlzbWF0Y2goKSBjb25zdAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnZh
bHVlTWlzc2luZ1RleHQoKSBjb25zdAogewotICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBt
X2lucHV0VHlwZS0+c3RlcE1pc21hdGNoKHZhbHVlKCkpOworICAgIHJldHVybiBtX2lucHV0VHlw
ZS0+dmFsdWVNaXNzaW5nVGV4dCgpOwogfQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmdldEFs
bG93ZWRWYWx1ZVN0ZXAoZG91YmxlKiBzdGVwKSBjb25zdApAQCAtMTI1MiwxMiArMTI3NSwxMiBA
QCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc1VuYWNjZXB0YWJsZVZhbHVlKCkgY29uc3QKIAog
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0luUmFuZ2UoKSBjb25zdAogewotICAgIHJldHVybiBt
X2lucHV0VHlwZS0+c3VwcG9ydHNSYW5nZUxpbWl0YXRpb24oKSAmJiAhbV9pbnB1dFR5cGUtPnJh
bmdlVW5kZXJmbG93KHZhbHVlKCkpICYmICFtX2lucHV0VHlwZS0+cmFuZ2VPdmVyZmxvdyh2YWx1
ZSgpKTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnN1cHBvcnRzUmFuZ2VMaW1pdGF0aW9uKCkg
JiYgIXJhbmdlVW5kZXJmbG93KHZhbHVlKCkpICYmICFyYW5nZU92ZXJmbG93KHZhbHVlKCkpOwog
fQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzT3V0T2ZSYW5nZSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG1faW5wdXRUeXBlLT5zdXBwb3J0c1JhbmdlTGltaXRhdGlvbigpICYmIChtX2lucHV0
VHlwZS0+cmFuZ2VVbmRlcmZsb3codmFsdWUoKSkgfHwgbV9pbnB1dFR5cGUtPnJhbmdlT3ZlcmZs
b3codmFsdWUoKSkpOworICAgIHJldHVybiBtX2lucHV0VHlwZS0+c3VwcG9ydHNSYW5nZUxpbWl0
YXRpb24oKSAmJiAocmFuZ2VVbmRlcmZsb3codmFsdWUoKSkgfHwgcmFuZ2VPdmVyZmxvdyh2YWx1
ZSgpKSk7CiB9CiAKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6bmVlZHNTdXNwZW5zaW9uQ2FsbGJh
Y2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA1YzJlODEyMmZh
MjE5N2EwOTkwM2ZlMTgyYjZjMWRiMzU1ZWIyMTcyLi5lMzRhMDNlNjM1ZTlkZmMzNDBiMDUwZGRl
MWJkYWNhOTgzODc1ODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApA
QCAtNDgsMTUgKzQ4LDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQXV0b2Nv
bXBsZXRlKCkgY29uc3Q7CiAKICAgICAvLyBGb3IgVmFsaWRpdHlTdGF0ZQotICAgIHZpcnR1YWwg
Ym9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wg
cmFuZ2VVbmRlcmZsb3coKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VP
dmVyZmxvdygpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goKSBjb25zdCBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgdG9vTG9uZygpIGNvbnN0IE9WRVJSSURFOwotICAg
IHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdCBPVkVSUklERTsKLQorICAgIGJvb2wgdHlwZU1pc21h
dGNoKCkgY29uc3Q7CisgICAgLy8gdmFsdWVNaXNzaW5nKCkgaWdub3JlcyB0aGUgc3BlY2lmaWVk
IHN0cmluZyB2YWx1ZSBmb3IgQ0hFQ0tCT1ggYW5kIFJBRElPLgorICAgIGJvb2wgdmFsdWVNaXNz
aW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIGJvb2wgcGF0dGVybk1pc21hdGNoKGNvbnN0
IFN0cmluZyYpIGNvbnN0OworICAgIGJvb2wgdG9vTG9uZyhjb25zdCBTdHJpbmcmLCBOZWVkc1Rv
Q2hlY2tEaXJ0eUZsYWcpIGNvbnN0OworICAgIGJvb2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3Ry
aW5nJikgY29uc3Q7CisgICAgYm9vbCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0
OwogICAgIC8vIFJldHVybnMgdGhlIG1pbmltdW0gdmFsdWUgZm9yIHR5cGU9ZGF0ZSwgbnVtYmVy
LCBvciByYW5nZS4gIERvbid0IGNhbGwgdGhpcyBmb3Igb3RoZXIgdHlwZXMuCiAgICAgZG91Ymxl
IG1pbmltdW0oKSBjb25zdDsKICAgICAvLyBSZXR1cm5zIHRoZSBtYXhpbXVtIHZhbHVlIGZvciB0
eXBlPWRhdGUsIG51bWJlciwgb3IgcmFuZ2UuICBEb24ndCBjYWxsIHRoaXMgZm9yIG90aGVyIHR5
cGVzLgpAQCAtNjYsNiArNjQsMTUgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYg
dGhlcmUgaXMgbm8gImFsbG93ZWQgdmFsdWUgc3RlcC4iCiAgICAgYm9vbCBnZXRBbGxvd2VkVmFs
dWVTdGVwKGRvdWJsZSopIGNvbnN0OwogCisgICAgLy8gRm9yIFZhbGlkaXR5U3RhdGUuCisgICAg
Ym9vbCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgU3RyaW5nIG1pbmlt
dW1TdHJpbmcoKSBjb25zdDsKKyAgICBTdHJpbmcgbWF4aW11bVN0cmluZygpIGNvbnN0OworICAg
IFN0cmluZyBzdGVwQmFzZVN0cmluZygpIGNvbnN0OworICAgIFN0cmluZyBzdGVwU3RyaW5nKCkg
Y29uc3Q7CisgICAgU3RyaW5nIHR5cGVNaXNtYXRjaFRleHQoKSBjb25zdDsKKyAgICBTdHJpbmcg
dmFsdWVNaXNzaW5nVGV4dCgpIGNvbnN0OworCiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIEhU
TUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcCgpIGFuZCBzdGVwRG93bigpLgogICAgIHZvaWQgc3RlcFVw
KGludCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc3RlcERvd24oaW50LCBFeGNlcHRpb25D
b2RlJik7CkBAIC0zMTgsNyArMzI1LDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc3VwcG9ydHNN
YXhMZW5ndGgoKSBjb25zdCB7IHJldHVybiBpc1RleHRUeXBlKCk7IH0KICAgICBib29sIGlzVGV4
dFR5cGUoKSBjb25zdDsKLSAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5nJiwgTmVlZHNUb0No
ZWNrRGlydHlGbGFnKSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BsYWNlaG9s
ZGVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzUGxhY2Vob2xkZXJFbXB0eSgpIGNvbnN0
IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCmluZGV4IDMx
Mzg5M2JhYWU4Y2MwNmYxYjA4Njk4MzFlYjFiMjNjYjA0OTlhYjguLmEwZTY2Mzc3YTY0MTg1MzBh
ZDg1ODI4ODA3ODdhYzUzNGUwYzRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIC8vIE5vdGUgdGhhdCB0aGUg
b2JqZWN0IGVsZW1lbnRzIGFyZSBhbHdheXMgYmFycmVkIGZyb20gY29uc3RyYWludCB2YWxpZGF0
aW9uLgogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIHsgcmV0dXJuIFN0cmluZygpOyB9
CiAgICAgYm9vbCBjaGVja1ZhbGlkaXR5KCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwg
dm9pZCBzZXRDdXN0b21WYWxpZGl0eShjb25zdCBTdHJpbmcmKSBPVkVSUklERSB7IH0KKyAgICB2
b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpIHsgfQogCiAgICAgdXNpbmcgVHJl
ZVNoYXJlZDxDb250YWluZXJOb2RlPjo6cmVmOwogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Q29udGFp
bmVyTm9kZT46OmRlcmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cAppbmRleCBlZTU3ZGFlODA0MTdiMTc1ZGU2OGQxY2YyMzg1MGMxZWFiOGUxYWJkLi41OGE5YTcz
OWNlMTA3NDI4N2QxNDliM2UzZGFlOTU3YTZiNDNlYzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIkhUTUxP
cHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCiAjaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5oIgotI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNp
bmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xNDYsMjIgKzE0NSw4IEBAIGJvb2wgSFRNTFNlbGVjdEVs
ZW1lbnQ6Omhhc1BsYWNlaG9sZGVyTGFiZWxPcHRpb24oKSBjb25zdAogICAgIHJldHVybiAhbGlz
dEluZGV4ICYmIG9wdGlvbi0+dmFsdWUoKS5pc0VtcHR5KCk7CiB9CiAKLVN0cmluZyBIVE1MU2Vs
ZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAotewotICAgIGlmICghd2lsbFZh
bGlkYXRlKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIGlmIChjdXN0b21FcnJv
cigpKQotICAgICAgICByZXR1cm4gY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UoKTsKLQotICAgIHJl
dHVybiB2YWx1ZU1pc3NpbmcoKSA/IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2Vs
ZWN0VGV4dCgpIDogU3RyaW5nKCk7Ci19Ci0KIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OnZhbHVl
TWlzc2luZygpIGNvbnN0CiB7Ci0gICAgaWYgKCF3aWxsVmFsaWRhdGUoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCiAgICAgaWYgKCFpc1JlcXVpcmVkRm9ybUNvbnRyb2woKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5k
ZXggODJiNzI3MzM4ODYyYzIzMjc3NDRlYTI1ZTMxNTk0MTllODM1YTNmZS4uNTI2NjVlMTk1YjQ5
MWJlM2IwNDVjNWIyZGJkMjY1NmUxODZkZTA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaApAQCAtNDYsOCArNDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcHRpb25T
ZWxlY3RlZEJ5VXNlcihpbnQgaW5kZXgsIGJvb2wgZGlzcGF0Y2hDaGFuZ2VFdmVudCwgYm9vbCBh
bGxvd011bHRpcGxlU2VsZWN0aW9uID0gZmFsc2UpOwogCiAgICAgLy8gRm9yIFZhbGlkaXR5U3Rh
dGUKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0IE9WRVJSSURF
OwotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdCBPVkVSUklERTsKKyAgICBi
b29sIHZhbHVlTWlzc2luZygpIGNvbnN0OwogCiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDNm
YzgxNTEwMGY2MzNlYjI4MDc4OTZjODkxYjJmMWQxNGY0OTliZWMuLjgyNTdkMGY5M2MzZDEzNTUy
YzA0MjQwZjgyYjBmZDVhNmRiYTcyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlz
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVk
ZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sTXVsdGlM
aW5lLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlRleHQuaCIKQEAgLTQy
NCwzMyArNDIzLDYgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpzZXRNYXhMZW5ndGgoaW50
IG5ld1ZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgc2V0QXR0cmlidXRlKG1heGxl
bmd0aEF0dHIsIFN0cmluZzo6bnVtYmVyKG5ld1ZhbHVlKSk7CiB9CiAKLVN0cmluZyBIVE1MVGV4
dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCF3aWxs
VmFsaWRhdGUoKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotCi0gICAgaWYgKGN1c3RvbUVy
cm9yKCkpCi0gICAgICAgIHJldHVybiBjdXN0b21WYWxpZGF0aW9uTWVzc2FnZSgpOwotCi0gICAg
aWYgKHZhbHVlTWlzc2luZygpKQotICAgICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdUZXh0KCk7Ci0KLSAgICBpZiAodG9vTG9uZygpKQotICAgICAgICByZXR1cm4gdmFs
aWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dChudW1HcmFwaGVtZUNsdXN0ZXJzKHZhbHVlKCkpLCBt
YXhMZW5ndGgoKSk7Ci0KLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLWJvb2wgSFRNTFRleHRB
cmVhRWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gd2lsbFZhbGlk
YXRlKCkgJiYgdmFsdWVNaXNzaW5nKHZhbHVlKCkpOwotfQotCi1ib29sIEhUTUxUZXh0QXJlYUVs
ZW1lbnQ6OnRvb0xvbmcoKSBjb25zdAotewotICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiB0
b29Mb25nKHZhbHVlKCksIENoZWNrRGlydHlGbGFnKTsKLX0KLQogYm9vbCBIVE1MVGV4dEFyZWFF
bGVtZW50Ojp0b29Mb25nKGNvbnN0IFN0cmluZyYgdmFsdWUsIE5lZWRzVG9DaGVja0RpcnR5Rmxh
ZyBjaGVjaykgY29uc3QKIHsKICAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZh
bHVlIG9yIHZhbHVlIHNldCBieSBzY3JpcHQgZXZlbiBpZiBpdCBpcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCBkNzU1ZDg4MjdmNzZmNmVlODVmNGM0ZGMy
ODk1N2RkYmRmNzVkYmQ3Li5hMTlhNDcxYTk2NGJhOTBkMzBhZDc0ODk0MzAxMzZmMjQ5NTczYzFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtNDcsMTAg
KzQ3LDggQEAgcHVibGljOgogICAgIGludCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gdmFs
dWUoKS5sZW5ndGgoKTsgfQogICAgIHZpcnR1YWwgaW50IG1heExlbmd0aCgpIGNvbnN0OwogICAg
IHZvaWQgc2V0TWF4TGVuZ3RoKGludCwgRXhjZXB0aW9uQ29kZSYpOwotICAgIC8vIEZvciBWYWxp
ZGl0eVN0YXRlCi0gICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdCBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3QgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmcoKSBjb25zdCBPVkVSUklERTsKKyAgICBib29sIHZh
bHVlTWlzc2luZyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdCB7IHJldHVybiBpc1JlcXVpcmVk
Rm9ybUNvbnRyb2woKSAmJiAhZGlzYWJsZWQoKSAmJiAhcmVhZE9ubHkoKSAmJiB2YWx1ZS5pc0Vt
cHR5KCk7IH0KKyAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5nJiwgTmVlZHNUb0NoZWNrRGly
dHlGbGFnKSBjb25zdDsKICAgICBib29sIGlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICAKICAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBpbm5lclRleHRFbGVtZW50KCkgY29u
c3Q7CkBAIC0xMTAsOSArMTA4LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRVc2VJbnB1dE1ldGhvZCgpOwogCi0gICAgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5n
JiB2YWx1ZSkgY29uc3QgeyByZXR1cm4gaXNSZXF1aXJlZEZvcm1Db250cm9sKCkgJiYgIWRpc2Fi
bGVkKCkgJiYgIXJlYWRPbmx5KCkgJiYgdmFsdWUuaXNFbXB0eSgpOyB9Ci0gICAgYm9vbCB0b29M
b25nKGNvbnN0IFN0cmluZyYsIE5lZWRzVG9DaGVja0RpcnR5RmxhZykgY29uc3Q7Ci0KICAgICBp
bnQgbV9yb3dzOwogICAgIGludCBtX2NvbHM7CiAgICAgV3JhcE1ldGhvZCBtX3dyYXA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggMTQ2ZDkxODljN2MzODMzOWUxZTkwMDJjZTMyZWVi
NTcyOTcxOTZjMS4uY2YxMjVjOWUwMTg2ZDY0OWRkNzVlYjg1ZDg1ZGE2YTg2ZTE3N2RhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMjgzLDE0ICsyODMsNiBAQCBib29sIElucHV0
VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGludCwgaW50JiBwcmVmZXJyZWRTaXpl
KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBJbnB1dFR5cGU6OnN0ZXBNaXNt
YXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAotewotICAgIGRvdWJsZSBzdGVwOwotICAg
IGlmICghZ2V0QWxsb3dlZFZhbHVlU3RlcCgmc3RlcCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICByZXR1cm4gc3RlcE1pc21hdGNoKHZhbHVlLCBzdGVwKTsKLX0KLQogYm9vbCBJbnB1dFR5
cGU6OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0CiB7CiAgICAgLy8g
Tm9uLXN1cHBvcnRlZCB0eXBlcyBzaG91bGQgYmUgcmVqZWN0ZWQgYnkgSFRNTElucHV0RWxlbWVu
dDo6Z2V0QWxsb3dlZFZhbHVlU3RlcCgpLgpAQCAtMzQ2LDQxICszMzgsNiBAQCBTdHJpbmcgSW5w
dXRUeXBlOjp2YWx1ZU1pc3NpbmdUZXh0KCkgY29uc3QKICAgICByZXR1cm4gdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7CiB9CiAKLVN0cmluZyBJbnB1dFR5cGU6OnZhbGlkYXRp
b25NZXNzYWdlKCkgY29uc3QKLXsKLSAgICBjb25zdCBTdHJpbmcgdmFsdWUgPSBlbGVtZW50KCkt
PnZhbHVlKCk7Ci0KLSAgICAvLyBUaGUgb3JkZXIgb2YgdGhlIGZvbGxvd2luZyBjaGVja3MgaXMg
bWVhbmluZ2Z1bC4gZS5nLiBXZSdkIGxpa2UgdG8gc2hvdyB0aGUKLSAgICAvLyB2YWx1ZU1pc3Np
bmcgbWVzc2FnZSBldmVuIGlmIHRoZSBjb250cm9sIGhhcyBvdGhlciB2YWxpZGF0aW9uIGVycm9y
cy4KLSAgICBpZiAodmFsdWVNaXNzaW5nKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlTWlz
c2luZ1RleHQoKTsKLQotICAgIGlmICh0eXBlTWlzbWF0Y2goKSkKLSAgICAgICAgcmV0dXJuIHR5
cGVNaXNtYXRjaFRleHQoKTsKLQotICAgIGlmIChwYXR0ZXJuTWlzbWF0Y2godmFsdWUpKQotICAg
ICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VQYXR0ZXJuTWlzbWF0Y2hUZXh0KCk7Ci0KLSAg
ICBpZiAoZWxlbWVudCgpLT50b29Mb25nKCkpCi0gICAgICAgIHJldHVybiB2YWxpZGF0aW9uTWVz
c2FnZVRvb0xvbmdUZXh0KG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUpLCBlbGVtZW50KCktPm1h
eExlbmd0aCgpKTsKLQotICAgIGlmIChyYW5nZVVuZGVyZmxvdyh2YWx1ZSkpCi0gICAgICAgIHJl
dHVybiB2YWxpZGF0aW9uTWVzc2FnZVJhbmdlVW5kZXJmbG93VGV4dChzZXJpYWxpemUobWluaW11
bSgpKSk7Ci0KLSAgICBpZiAocmFuZ2VPdmVyZmxvdyh2YWx1ZSkpCi0gICAgICAgIHJldHVybiB2
YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KHNlcmlhbGl6ZShtYXhpbXVtKCkpKTsK
LQotICAgIGlmIChzdGVwTWlzbWF0Y2godmFsdWUpKSB7Ci0gICAgICAgIFN0cmluZyBzdGVwU3Ry
aW5nOwotICAgICAgICBkb3VibGUgc3RlcDsKLSAgICAgICAgaWYgKGdldEFsbG93ZWRWYWx1ZVN0
ZXAoJnN0ZXApKQotICAgICAgICAgICAgc3RlcFN0cmluZyA9IHNlcmlhbGl6ZUZvck51bWJlclR5
cGUoc3RlcCAvIHN0ZXBTY2FsZUZhY3RvcigpKTsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25N
ZXNzYWdlU3RlcE1pc21hdGNoVGV4dChzZXJpYWxpemUoc3RlcEJhc2UoKSksIHN0ZXBTdHJpbmcp
OwotICAgIH0KLQotICAgIHJldHVybiBTdHJpbmcoKTsKLX0KLQogdm9pZCBJbnB1dFR5cGU6Omhh
bmRsZUNsaWNrRXZlbnQoTW91c2VFdmVudCopCiB7CiB9CkBAIC05MTMsNyArODcwLDcgQEAgZG91
YmxlIElucHV0VHlwZTo6YWxpZ25WYWx1ZUZvclN0ZXAoZG91YmxlIG5ld1ZhbHVlLCBkb3VibGUg
c3RlcCwgdW5zaWduZWQgY3VycmUKICAgICB1bnNpZ25lZCBiYXNlRGVjaW1hbFBsYWNlczsKICAg
ICBkb3VibGUgYmFzZSA9IHN0ZXBCYXNlV2l0aERlY2ltYWxQbGFjZXMoJmJhc2VEZWNpbWFsUGxh
Y2VzKTsKICAgICBiYXNlRGVjaW1hbFBsYWNlcyA9IG1pbihiYXNlRGVjaW1hbFBsYWNlcywgMTZ1
KTsKLSAgICBpZiAoc3RlcE1pc21hdGNoKGVsZW1lbnQoKS0+dmFsdWUoKSkpIHsKKyAgICBpZiAo
ZWxlbWVudCgpLT5zdGVwTWlzbWF0Y2goZWxlbWVudCgpLT52YWx1ZSgpKSkgewogICAgICAgICBk
b3VibGUgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2lt
YWxQbGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwogICAgICAgICBuZXdWYWx1ZSA9IHJv
dW5kKG5ld1ZhbHVlICogc2NhbGUpIC8gc2NhbGU7CiAgICAgfSBlbHNlIHsKQEAgLTEwNjYsNyAr
MTAyMyw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50IG4pCiAgICAg
ICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUoc2VyaWFsaXplKHNpZ24gPiAwID8gbWluaW11bSgpIDog
bWF4aW11bSgpKSwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsKICAgICBlbHNlIHsKICAg
ICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaChlbGVtZW50
KCktPnZhbHVlKCkpKSB7CisgICAgICAgIGlmIChlbGVtZW50KCktPnN0ZXBNaXNtYXRjaChlbGVt
ZW50KCktPnZhbHVlKCkpKSB7CiAgICAgICAgICAgICBBU1NFUlQoc3RlcCk7CiAgICAgICAgICAg
ICBkb3VibGUgbmV3VmFsdWU7CiAgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxh
Y2VzKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggYjAwODI2YjA4NzdjMzYxODVjYTdi
OWY1OTVjMDNlZjIwMTYzNmU2OS4uMWM4NmNiMGZjY2E5M2E3YjMyMTI4OGQ5ODJlOThjNGQ5Yzhj
ODBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwgVGV4dEZpZWxkRXZl
bnRCZWhhdmlvciwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgLy8gVmFsaWRhdGlvbiBm
dW5jdGlvbnMKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0Owor
CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzVmFsaWRhdGlvbigpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCB0eXBlTWlzbWF0Y2hGb3IoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgLy8gVHlw
ZSBjaGVjayBmb3IgdGhlIGN1cnJlbnQgaW5wdXQgdmFsdWUuIFdlIGRvIG5vdGhpbmcgZm9yIHNv
bWUgdHlwZXMKQEAgLTE1Nyw3ICsxNTcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBkb3VibGUg
bWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgc2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGludCBkZWZhdWx0U2l6
ZSwgaW50JiBwcmVmZXJyZWRTaXplKSBjb25zdDsKLSAgICBib29sIHN0ZXBNaXNtYXRjaChjb25z
dCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IFN0
cmluZyYsIGRvdWJsZSBzdGVwKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwQmFzZSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlV2l0aERlY2ltYWxQbGFjZXModW5z
aWduZWQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDY0
OTc2NWRmOTE0Njg3ZDU0OGY5MGJmNTMxZDQ0NTdkZjY2NGM2ZDIuLmZlNzMxMmMyYTMwMmQzNTU3
YzBjZWNmOGY2MzQzZDNlYmNiYWMwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmNwcApAQCAtMzgsNTIgKzM4LDE3NyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBT
dHJpbmcgVmFsaWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogewotICAgIHJl
dHVybiBtX2NvbnRyb2wtPnZhbGlkYXRpb25NZXNzYWdlKCk7CisgICAgaWYgKCF0b0hUTUxFbGVt
ZW50KG1fY29udHJvbCktPndpbGxWYWxpZGF0ZSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisKKyAgICBpZiAoY3VzdG9tRXJyb3IoKSkKKyAgICAgICAgcmV0dXJuIG1fY3VzdG9tRXJyb3JN
ZXNzYWdlOworICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVudChtX2NvbnRy
b2wpOworICAgIGJvb2wgaXNJbnB1dEVsZW1lbnQgPSBlbGVtZW50LT5pc0Zvcm1Db250cm9sRWxl
bWVudCgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoaW5wdXRUYWcpOworICAgIGJvb2wgaXNUZXh0
QXJlYUVsZW1lbnQgPSBlbGVtZW50LT5pc0Zvcm1Db250cm9sRWxlbWVudCgpICYmIGVsZW1lbnQt
Pmhhc1RhZ05hbWUodGV4dGFyZWFUYWcpOworICAgIC8vIFRoZSBvcmRlciBvZiB0aGUgZm9sbG93
aW5nIGNoZWNrcyBpcyBtZWFuaW5nZnVsLiBlLmcuIFdlJ2QgbGlrZSB0byBzaG93IHRoZQorICAg
IC8vIHZhbHVlTWlzc2luZyBtZXNzYWdlIGV2ZW4gaWYgdGhlIGNvbnRyb2wgaGFzIG90aGVyIHZh
bGlkYXRpb24gZXJyb3JzLgorICAgIGlmICh2YWx1ZU1pc3NpbmcoKSkgeworICAgICAgICBpZiAo
ZWxlbWVudC0+aGFzVGFnTmFtZShzZWxlY3RUYWcpKQorICAgICAgICAgICAgcmV0dXJuIHZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCgpOworICAgICAgICBpZiAoaXNJ
bnB1dEVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KGVsZW1lbnQpLT52YWx1ZU1pc3NpbmdUZXh0KCk7CisgICAgICAgIHJldHVybiB2YWxp
ZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKKyAgICB9CisgICAgaWYgKHR5cGVNaXNt
YXRjaCgpKSB7CisgICAgICAgIGlmIChpc0lucHV0RWxlbWVudCkKKyAgICAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudCktPnR5cGVNaXNtYXRjaFRl
eHQoKTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgp
OworICAgIH0KKyAgICBpZiAocGF0dGVybk1pc21hdGNoKCkpCisgICAgICAgIHJldHVybiB2YWxp
ZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRleHQoKTsKKyAgICBpZiAodG9vTG9uZygpKSB7
CisgICAgICAgIGlmICghaXNJbnB1dEVsZW1lbnQgJiYgIWlzVGV4dEFyZWFFbGVtZW50KSB7Cisg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKyAgICAgICAgfQorICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogdGV4
dCA9IHN0YXRpY19jYXN0PEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Kj4oZWxlbWVudCk7Cisg
ICAgICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVRvb0xvbmdUZXh0KG51bUdyYXBoZW1lQ2x1
c3RlcnModGV4dC0+dmFsdWUoKSksIHRleHQtPm1heExlbmd0aCgpKTsKKyAgICB9CisgICAgaWYg
KHJhbmdlVW5kZXJmbG93KCkpIHsKKyAgICAgICAgaWYgKCFpc0lucHV0RWxlbWVudCkgeworICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VVbmRl
cmZsb3dUZXh0KHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KS0+bWluaW11
bVN0cmluZygpKTsKKyAgICB9CisgICAgaWYgKHJhbmdlT3ZlcmZsb3coKSkgeworICAgICAgICBp
ZiAoIWlzSW5wdXRFbGVtZW50KSB7CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
dmFsaWRhdGlvbk1lc3NhZ2VSYW5nZU92ZXJmbG93VGV4dChzdGF0aWNfY2FzdDxIVE1MSW5wdXRF
bGVtZW50Kj4oZWxlbWVudCktPm1heGltdW1TdHJpbmcoKSk7CisgICAgfQorICAgIGlmIChzdGVw
TWlzbWF0Y2goKSkgeworICAgICAgICBpZiAoIWlzSW5wdXRFbGVtZW50KSB7CisgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAg
ICAgICAgfQorICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhU
TUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlU3RlcE1pc21hdGNoVGV4dChpbnB1dC0+c3RlcEJhc2VTdHJpbmcoKSwgaW5wdXQtPnN0ZXBT
dHJpbmcoKSk7CisgICAgfQorCisgICAgcmV0dXJuIFN0cmluZygpOworfQorCit2b2lkIFZhbGlk
aXR5U3RhdGU6OnNldEN1c3RvbUVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7
CisgICAgbV9jdXN0b21FcnJvck1lc3NhZ2UgPSBtZXNzYWdlOworICAgIGlmIChtX2NvbnRyb2wt
PmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCisgICAgICAgIHN0YXRpY19jYXN0PEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQqPihtX2NvbnRyb2wpLT5zZXROZWVkc1ZhbGlkaXR5Q2hlY2soKTsKIH0KIAog
Ym9vbCBWYWxpZGl0eVN0YXRlOjp2YWx1ZU1pc3NpbmcoKSBjb25zdAogewotICAgIHJldHVybiBt
X2NvbnRyb2wtPnZhbHVlTWlzc2luZygpOworICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9I
VE1MRWxlbWVudChtX2NvbnRyb2wpOworICAgIGlmICghZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKGlu
cHV0VGFnKSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0
PEhUTUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIGlucHV0LT52YWx1
ZU1pc3NpbmcoaW5wdXQtPnZhbHVlKCkpOworICAgIH0KKyAgICBpZiAoZWxlbWVudC0+aGFzVGFn
TmFtZSh0ZXh0YXJlYVRhZykpIHsKKyAgICAgICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4dEFy
ZWEgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAg
IHJldHVybiB0ZXh0QXJlYS0+dmFsdWVNaXNzaW5nKHRleHRBcmVhLT52YWx1ZSgpKTsKKyAgICB9
CisgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkKKyAgICAgICAgcmV0dXJu
IHRvSFRNTFNlbGVjdEVsZW1lbnQoZWxlbWVudCktPnZhbHVlTWlzc2luZygpOworICAgIHJldHVy
biBmYWxzZTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2goKSBjb25zdAog
ewotICAgIHJldHVybiBtX2NvbnRyb2wtPnR5cGVNaXNtYXRjaCgpOworICAgIEhUTUxFbGVtZW50
KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVudChtX2NvbnRyb2wpOworICAgIGlmICghZWxlbWVudC0+
d2lsbFZhbGlkYXRlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghZWxlbWVu
dC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGVsZW1lbnQpLT50eXBlTWlzbWF0Y2go
KTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRlOjpwYXR0ZXJuTWlzbWF0Y2goKSBjb25zdAogewot
ICAgIHJldHVybiBtX2NvbnRyb2wtPnBhdHRlcm5NaXNtYXRjaCgpOworICAgIEhUTUxFbGVtZW50
KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVudChtX2NvbnRyb2wpOworICAgIGlmICghZWxlbWVudC0+
d2lsbFZhbGlkYXRlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghZWxlbWVu
dC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBIVE1M
SW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihlbGVt
ZW50KTsKKyAgICByZXR1cm4gaW5wdXQtPnBhdHRlcm5NaXNtYXRjaChpbnB1dC0+dmFsdWUoKSk7
CiB9CiAKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dG9vTG9uZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IG1fY29udHJvbC0+dG9vTG9uZygpOworICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1M
RWxlbWVudChtX2NvbnRyb2wpOworICAgIGlmICghZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKGlucHV0
VGFnKSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhU
TUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgcmV0dXJuIGlucHV0LT50b29Mb25n
KGlucHV0LT52YWx1ZSgpLCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6Q2hlY2tEaXJ0eUZs
YWcpOworICAgIH0KKyAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpIHsK
KyAgICAgICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4dEFyZWEgPSBzdGF0aWNfY2FzdDxIVE1M
VGV4dEFyZWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgIHJldHVybiB0ZXh0QXJlYS0+dG9v
TG9uZyh0ZXh0QXJlYS0+dmFsdWUoKSwgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkNoZWNr
RGlydHlGbGFnKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFZhbGlkaXR5
U3RhdGU6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb250cm9sLT5y
YW5nZVVuZGVyZmxvdygpOworICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVu
dChtX2NvbnRyb2wpOworICAgIGlmICghZWxlbWVudC0+d2lsbFZhbGlkYXRlKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGlmICghZWxlbWVudC0+aGFzVGFnTmFtZShpbnB1dFRhZykp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0
YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KTsKKyAgICByZXR1cm4gaW5wdXQt
PnJhbmdlVW5kZXJmbG93KGlucHV0LT52YWx1ZSgpKTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRl
OjpyYW5nZU92ZXJmbG93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb250cm9sLT5yYW5nZU92
ZXJmbG93KCk7CisgICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQgPSB0b0hUTUxFbGVtZW50KG1fY29u
dHJvbCk7CisgICAgaWYgKCFlbGVtZW50LT53aWxsVmFsaWRhdGUoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKCFlbGVtZW50LT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nh
c3Q8SFRNTElucHV0RWxlbWVudCo+KGVsZW1lbnQpOworICAgIHJldHVybiBpbnB1dC0+cmFuZ2VP
dmVyZmxvdyhpbnB1dC0+dmFsdWUoKSk7CiB9CiAKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6c3RlcE1p
c21hdGNoKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb250cm9sLT5zdGVwTWlzbWF0Y2goKTsK
KyAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHRvSFRNTEVsZW1lbnQobV9jb250cm9sKTsKKyAg
ICBpZiAoIWVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoIWVsZW1lbnQtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgcmV0dXJuIGlucHV0LT5zdGVwTWlzbWF0Y2goaW5w
dXQtPnZhbHVlKCkpOwogfQogCiBib29sIFZhbGlkaXR5U3RhdGU6OmN1c3RvbUVycm9yKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9jb250cm9sLT5jdXN0b21FcnJvcigpOworICAgIEhUTUxFbGVt
ZW50KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVudChtX2NvbnRyb2wpOworICAgIHJldHVybiBlbGVt
ZW50LT53aWxsVmFsaWRhdGUoKSAmJiAhbV9jdXN0b21FcnJvck1lc3NhZ2UuaXNFbXB0eSgpOwog
fQogCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9j
b250cm9sLT52YWxpZCgpOworICAgIGJvb2wgc29tZUVycm9yID0gdHlwZU1pc21hdGNoKCkgfHwg
c3RlcE1pc21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8fCByYW5nZU92ZXJmbG93KCkKKyAg
ICAgICAgfHwgdG9vTG9uZygpIHx8IHBhdHRlcm5NaXNtYXRjaCgpIHx8IHZhbHVlTWlzc2luZygp
IHx8IGN1c3RvbUVycm9yKCk7CisgICAgcmV0dXJuICFzb21lRXJyb3I7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDE3ZTk0Yzk3ODhkYmMw
M2FjZDEwNWEzMmQxMDlkNjViMTI1YWEyYmEuLjRhOTY0ODhiZDU1NjhmMTNlOWEwODQ5YTNlMGIy
MjNjNTFkNGY2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC01Nyw3ICs1
NywxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFZhbGlkaXR5U3RhdGUoRm9ybUFzc29jaWF0
ZWRFbGVtZW50KiBjb250cm9sKSA6IG1fY29udHJvbChjb250cm9sKSB7IH0KIAorICAgIHN0YXRp
YyBib29sIGlzVmFsaWRDb2xvclN0cmluZyhjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgYm9v
bCBpc1ZhbGlkRW1haWxBZGRyZXNzKGNvbnN0IFN0cmluZyYpOworCiAgICAgRm9ybUFzc29jaWF0
ZWRFbGVtZW50KiBtX2NvbnRyb2w7CisgICAgU3RyaW5nIG1fY3VzdG9tRXJyb3JNZXNzYWdlOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>