<?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>54705</bug_id>
          
          <creation_ts>2011-02-17 18:29:48 -0800</creation_ts>
          <short_desc>REGRESSION(r78856): These seem to break tests on 32-bit builds. (Requested by aroben on #webkit).</short_desc>
          <delta_ts>2011-02-18 06:56:12 -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>54608</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>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>353308</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-17 18:29:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78856 broke the build:
These seem to break tests on 32-bit builds. (Requested by aroben 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>353309</commentid>
    <comment_count>1</comment_count>
      <attachid>82887</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-17 18:30:09 -0800</bug_when>
    <thetext>Created attachment 82887
ROLLOUT of r78856

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>353369</commentid>
    <comment_count>2</comment_count>
      <attachid>82887</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-17 20:29:35 -0800</bug_when>
    <thetext>Comment on attachment 82887
ROLLOUT of r78856

Clearing flags on attachment: 82887

Committed r78945: &lt;http://trac.webkit.org/changeset/78945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353370</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-17 20:29:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353473</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-18 01:24:43 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78945 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353578</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-18 06:56:12 -0800</bug_when>
    <thetext>*** Bug 54704 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82887</attachid>
            <date>2011-02-17 18:30:09 -0800</date>
            <delta_ts>2011-02-17 20:29:35 -0800</delta_ts>
            <desc>ROLLOUT of r78856</desc>
            <filename>bug-54705-20110218022932.patch</filename>
            <type>text/plain</type>
            <size>23778</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg5MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJl
NDVlMzVmNjc2NmFiYjg4Mzk0NDkzODcyNTg2NDc2OWVlOTQzNzIuLjI3MGVjYWI0Yzc4YzQ2ZDQ0
N2Q3YTliNGMyYTEyN2FkMGExYzhjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUxIEBACisyMDExLTAyLTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzg4NTYgYW5kIHI3
ODkwNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzg4NTYKKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzg5MDcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NzA1CisKKyAgICAgICAgVGhl
c2Ugc2VlbSB0byBicmVhayB0ZXN0cyBvbiAzMi1iaXQgYnVpbGRzLiAoUmVxdWVzdGVkIGJ5Cisg
ICAgICAgIGFyb2JlbiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY29sbGVjdG9yL2hhbmRsZXMvR2xv
YmFsLmg6CisgICAgICAgIChKU0M6Okdsb2JhbDo6aW50ZXJuYWxTZXQpOgorICAgICAgICAqIGNv
bGxlY3Rvci9oYW5kbGVzL0hhbmRsZS5oOgorICAgICAgICAoSlNDOjpIYW5kbGVUeXBlczo6Z2V0
RnJvbVNsb3QpOgorICAgICAgICAoSlNDOjpIYW5kbGVUeXBlczo6dG9KU1ZhbHVlKToKKyAgICAg
ICAgKEpTQzo6SGFuZGxlVHlwZXM6OnZhbGlkYXRlVXBjYXN0KToKKyAgICAgICAgKEpTQzo6SGFu
ZGxlQ29udmVydGVyOjpvcGVyYXRvci0+KToKKyAgICAgICAgKEpTQzo6SGFuZGxlQ29udmVydGVy
OjpvcGVyYXRvciopOgorICAgICAgICAoSlNDOjpIYW5kbGU6OkhhbmRsZSk6CisgICAgICAgIChK
U0M6OkhhbmRsZTo6Z2V0KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAg
ICAoSlNDOjpKU0FycmF5Ojpzb3J0TnVtZXJpYyk6CisgICAgICAgICogcnVudGltZS9KU09iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5saW5lR2V0T3duUHJvcGVydHlTbG90KToK
KyAgICAgICAgKiBydW50aW1lL1Nsb3RBY2Nlc3Nvci5oOiBSZW1vdmVkLgorICAgICAgICAqIHJ1
bnRpbWUvV2Vha0dDUHRyLmg6CisgICAgICAgIChKU0M6OldlYWtHQ1B0cjo6Z2V0KToKKyAgICAg
ICAgKEpTQzo6V2Vha0dDUHRyOjppbnRlcm5hbFNldCk6CisgICAgICAgICogcnVudGltZS9Xcml0
ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6RGVwcmVjYXRlZFB0cjo6RGVwcmVjYXRlZFB0cik6
CisgICAgICAgIChKU0M6OkRlcHJlY2F0ZWRQdHI6OmdldCk6CisgICAgICAgIChKU0M6OkRlcHJl
Y2F0ZWRQdHI6Om9wZXJhdG9yKik6CisgICAgICAgIChKU0M6OkRlcHJlY2F0ZWRQdHI6Om9wZXJh
dG9yLT4pOgorICAgICAgICAoSlNDOjpEZXByZWNhdGVkUHRyOjpzbG90KToKKyAgICAgICAgKEpT
Qzo6RGVwcmVjYXRlZFB0cjo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSopOgorICAgICAg
ICAoSlNDOjpEZXByZWNhdGVkUHRyOjpvcGVyYXRvciEpOgorICAgICAgICAoSlNDOjpXcml0ZUJh
cnJpZXJCYXNlOjpzZXQpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpnZXQpOgor
ICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRvciopOgorICAgICAgICAoSlND
OjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRvci0+KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJy
aWVyQmFzZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpzbG90KToK
KyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29s
VHlwZSopOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRvciEpOgorICAg
ICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpzZXRXaXRob3V0V3JpdGVCYXJyaWVyKToKKyAg
ICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyOjpXcml0ZUJhcnJpZXIpOgorCiAyMDExLTAyLTE3ICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTFmNjY3ZTE5MDdhMzU1YTc4YzNh
Y2U5YmQ3MmExNjg5NTBkZDVlYS4uNTQ0OTQ3MTdlMzc4M2ViMDhlMDkyMWIzMGM4ZjU5NWZlOGM4
MDBlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM3NCw3ICszNzQsNiBAQAog
CQlBN0M0MEMwQTEzMEIwNTdEMDBEMDAyQTEgLyogQmxvY2tTdGFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDNDBDMDcxMzBCMDU3RDAwRDAwMkEx
IC8qIEJsb2NrU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlBN0M0MEMwQjEzMEIwNTdEMDBEMDAyQTEgLyogU2VudGluZWxMaW5rZWRMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0M0MEMw
ODEzMEIwNTdEMDBEMDAyQTEgLyogU2VudGluZWxMaW5rZWRMaXN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTdDNDBDMEMxMzBCMDU3RDAwRDAw
MkExIC8qIFNpbmdseUxpbmtlZExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3QzQwQzA5MTMwQjA1N0QwMEQwMDJBMSAvKiBTaW5nbHlMaW5rZWRM
aXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
QTdDNDBEMkQxMzBDOEU0MjAwRDAwMkExIC8qIFNsb3RBY2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdDNDBEMkMxMzBDOEU0MjAwRDAwMkEx
IC8qIFNsb3RBY2Nlc3Nvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUE3QzUzMEU0MTAyQTM4MTMwMDVCQzc0MSAvKiBNYXJrU3RhY2tQb3NpeC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0M1MzBF
MzEwMkEzODEzMDA1QkM3NDEgLyogTWFya1N0YWNrUG9zaXguY3BwICovOyB9OwogCQlBN0Q2NDlB
QTEwMTUyMjRFMDA5QjJFMUIgLyogUG9zc2libHlOdWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q2NDlBOTEwMTUyMjRFMDA5QjJFMUIgLyogUG9z
c2libHlOdWxsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEQ0I3NzkxMkUzRDkwNTAw
OTExOTQwIC8qIFdyaXRlQmFycmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0xMDQwLDcgKzEwMzksNiBAQAogCQlBN0M0MEMwNzEzMEIwNTdE
MDBEMDAyQTEgLyogQmxvY2tTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBCbG9ja1N0YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QzQwQzA4MTMw
QjA1N0QwMEQwMDJBMSAvKiBTZW50aW5lbExpbmtlZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2VudGluZWxMaW5rZWRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE3QzQwQzA5MTMwQjA1N0QwMEQwMDJBMSAvKiBTaW5nbHlMaW5rZWRMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbmdseUxpbmtlZExpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTdDNDBEMkMxMzBDOEU0MjAwRDAwMkExIC8qIFNs
b3RBY2Nlc3Nvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTbG90QWNjZXNz
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdDNTMwRTMxMDJBMzgxMzAwNUJD
NzQxIC8qIE1hcmtTdGFja1Bvc2l4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1hcmtTdGFja1Bvc2l4LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTdENjQ5QTkxMDE1MjI0RTAwOUIyRTFCIC8qIFBvc3NpYmx5TnVsbC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQb3NzaWJseU51bGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTdEQ0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0ZUJhcnJpZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTgsNyArMTg5Niw2IEBACiAJCQkJMTQwMzVEQjAxMERCRkIy
QTAwRkZGRkU3IC8qIFdlYWtHQ1B0ci5oICovLAogCQkJCTE0MjBCRTdBMTBBQTZEREIwMEY0NTVE
MiAvKiBXZWFrUmFuZG9tLmggKi8sCiAJCQkJQTdEQ0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdy
aXRlQmFycmllci5oICovLAotCQkJCUE3QzQwRDJDMTMwQzhFNDIwMEQwMDJBMSAvKiBTbG90QWNj
ZXNzb3IuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gcnVudGltZTsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0yNDQ5LDcgKzI0NDYsNiBAQAogCQkJCUE3QzQwQzBBMTMwQjA1N0QwMEQw
MDJBMSAvKiBCbG9ja1N0YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0M0MEMwQjEzMEIwNTdE
MDBEMDAyQTEgLyogU2VudGluZWxMaW5rZWRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0M0
MEMwQzEzMEIwNTdEMDBEMDAyQTEgLyogU2luZ2x5TGlua2VkTGlzdC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJQTdDNDBEMkQxMzBDOEU0MjAwRDAwMkExIC8qIFNsb3RBY2Nlc3Nvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY29sbGVjdG9yL2hhbmRs
ZXMvR2xvYmFsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY29sbGVjdG9yL2hhbmRsZXMvR2xv
YmFsLmgKaW5kZXggYWM2MDBhZDE4MTNmZTVmODA1YWUwYjgzMmY4ZDJhZmRjM2ZkM2MzNC4uNTcx
ZmUzMTIxMzc2OTQyYzVhYWYyNTdiN2ViOGZjMjBhYjBlMWE2YiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2NvbGxlY3Rvci9oYW5kbGVzL0dsb2JhbC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9jb2xsZWN0b3IvaGFuZGxlcy9HbG9iYWwuaApAQCAtMTMyLDcgKzEzMiw3
IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICB2b2lkIGludGVybmFsU2V0KEV4dGVybmFsVHlw
ZSB2YWx1ZSkKICAgICB7Ci0gICAgICAgIEpTVmFsdWUgbmV3VmFsdWUoU2xvdFR5cGVzPFQ+Ojp0
b0pTVmFsdWUodmFsdWUpKTsKKyAgICAgICAgSlNWYWx1ZSBuZXdWYWx1ZShIYW5kbGVUeXBlczxU
Pjo6dG9KU1ZhbHVlKHZhbHVlKSk7CiAgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IHRoaXMtPnNs
b3QoKTsKICAgICAgICAgQVNTRVJUKHNsb3QpOwogICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9y
KHNsb3QpLT53cml0ZUJhcnJpZXIoc2xvdCwgbmV3VmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2NvbGxlY3Rvci9oYW5kbGVzL0hhbmRsZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2NvbGxlY3Rvci9oYW5kbGVzL0hhbmRsZS5oCmluZGV4IDVhOWQ0OWRkNGZjZThj
NTU5ZmJlNTU1NWIzZDRkNmU5Mjg1YmMyM2UuLjk4YzYwZWNiY2M0YmVhODY1MzI4N2RlODY3YzVh
ODEzMjc1OGJiNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb2xsZWN0b3Iv
aGFuZGxlcy9IYW5kbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY29sbGVjdG9yL2hh
bmRsZXMvSGFuZGxlLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgSGFuZGxlX2gKICNkZWZp
bmUgSGFuZGxlX2gKIAotI2luY2x1ZGUgIlNsb3RBY2Nlc3Nvci5oIgorI2luY2x1ZGUgIldyaXRl
QmFycmllci5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtODksMTYgKzg5
LDQwIEBAIHByaXZhdGU6CiAgICAgSGFuZGxlU2xvdCBtX3Nsb3Q7CiB9OwogCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgSGFuZGxlIDogcHVibGljIEhhbmRsZUJhc2UsIHB1YmxpYyBTbG90
QWNjZXNzb3I8SGFuZGxlPFQ+LCBUPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IEhh
bmRsZVR5cGVzIHsKKyAgICB0eXBlZGVmIFQqIEV4dGVybmFsVHlwZTsKKyAgICBzdGF0aWMgRXh0
ZXJuYWxUeXBlIGdldEZyb21TbG90KEhhbmRsZVNsb3Qgc2xvdCkgeyByZXR1cm4gKHNsb3QgJiYg
KnNsb3QpID8gcmVpbnRlcnByZXRfY2FzdDxFeHRlcm5hbFR5cGU+KHNsb3QtPmFzQ2VsbCgpKSA6
IDA7IH0KKyAgICBzdGF0aWMgSlNWYWx1ZSB0b0pTVmFsdWUoVCogY2VsbCkgeyByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxKU0NlbGwqPihjZWxsKTsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBV
PiBzdGF0aWMgdm9pZCB2YWxpZGF0ZVVwY2FzdCgpIHsgVCogdGVtcDsgdGVtcCA9IChVKikwOyB9
Cit9OworCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgSGFuZGxlVHlwZXM8VW5rbm93bj4geworICAgIHR5
cGVkZWYgSlNWYWx1ZSBFeHRlcm5hbFR5cGU7CisgICAgc3RhdGljIEV4dGVybmFsVHlwZSBnZXRG
cm9tU2xvdChIYW5kbGVTbG90IHNsb3QpIHsgcmV0dXJuIHNsb3QgPyAqc2xvdCA6IEpTVmFsdWUo
KTsgfQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShjb25zdCBKU1ZhbHVlJiB2KSB7IHJl
dHVybiB2OyB9CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IHN0YXRpYyB2b2lkIHZhbGlkYXRl
VXBjYXN0KCkge30KK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBCYXNlLCB0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFuZGxlQ29udmVydGVyIHsKKyAgICBUKiBvcGVyYXRvci0+KCkgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8QmFzZSo+KHRoaXMpLT5nZXQoKTsgfQorICAgIGNvbnN0IFQqIG9wZXJhdG9yLT4o
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBCYXNlKj4odGhpcyktPmdldCgpOyB9
CisgICAgVCogb3BlcmF0b3IqKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QmFzZSo+KHRoaXMpLT5n
ZXQoKTsgfQorICAgIGNvbnN0IFQqIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IEJhc2UqPih0aGlzKS0+Z2V0KCk7IH0KK307CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBCYXNlPiBzdHJ1Y3QgSGFuZGxlQ29udmVydGVyPEJhc2UsIFVua25vd24+IHsKK307CisKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBIYW5kbGUgOiBwdWJsaWMgSGFuZGxlQmFzZSwgcHVi
bGljIEhhbmRsZUNvbnZlcnRlcjxIYW5kbGU8VD4sIFQ+IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVm
IHR5cGVuYW1lIFNsb3RUeXBlczxUPjo6RXh0ZXJuYWxUeXBlIEV4dGVybmFsVHlwZTsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIEhhbmRsZVR5cGVzPFQ+OjpFeHRlcm5hbFR5cGUgRXh0ZXJuYWxUeXBl
OwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPiBIYW5kbGUoSGFuZGxlPFU+IG8pCiAgICAgewot
ICAgICAgICB0eXBlbmFtZSBTbG90VHlwZXM8VD46OnRlbXBsYXRlIHZhbGlkYXRlVXBjYXN0PFU+
KCk7CisgICAgICAgIHR5cGVuYW1lIEhhbmRsZVR5cGVzPFQ+Ojp0ZW1wbGF0ZSB2YWxpZGF0ZVVw
Y2FzdDxVPigpOwogICAgICAgICBtX3Nsb3QgPSBvLnNsb3QoKTsKICAgICB9CiAKLSAgICBFeHRl
cm5hbFR5cGUgZ2V0KCkgY29uc3QgeyByZXR1cm4gU2xvdFR5cGVzPFQ+OjpnZXRGcm9tU2xvdCh0
aGlzLT5zbG90KCkpOyB9CisgICAgRXh0ZXJuYWxUeXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIEhh
bmRsZVR5cGVzPFQ+OjpnZXRGcm9tU2xvdCh0aGlzLT5zbG90KCkpOyB9CiAKIHByb3RlY3RlZDoK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAppbmRleCBlNzQyNjZl
NzE2MGY0M2MyNDAwMGFhNDEwNTQ0ZDg1NTE2YTA3ZjQ3Li5iMGIyNmE1YWYxNTkwOWVmMDljNThl
NGNmMWVkZWFhNGRlYTQzMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcApAQCAtODk4LDcgKzg5OCw3IEBAIHZvaWQgSlNBcnJheTo6c29ydE51bWVyaWMoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGNvbXBhcmVGdW5jdGlvbiwgQ2FsbFR5cGUgY2FsCiAgICAg
Ym9vbCBhbGxWYWx1ZXNBcmVOdW1iZXJzID0gdHJ1ZTsKICAgICBzaXplX3Qgc2l6ZSA9IHN0b3Jh
Z2UtPm1fbnVtVmFsdWVzSW5WZWN0b3I7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXpl
OyArK2kpIHsKLSAgICAgICAgaWYgKCFzdG9yYWdlLT5tX3ZlY3RvcltpXS0+aXNOdW1iZXIoKSkg
eworICAgICAgICBpZiAoIXN0b3JhZ2UtPm1fdmVjdG9yW2ldLmlzTnVtYmVyKCkpIHsKICAgICAg
ICAgICAgIGFsbFZhbHVlc0FyZU51bWJlcnMgPSBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCAx
NzI0MTMyM2YyMmUxZWMyYTZjMDFiYTI4OTljOGI4Y2FlNGFmOWJkLi5iMGY1NDk5MjAxMGM1NWM3
ZGU2NjBlZTVmODQ3OWY0ZDExOTJjYjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgKQEAgLTQ1NCw3ICs0NTQsNyBAQCBpbmxpbmUgYm9vbCBKU1ZhbHVlOjppbmhl
cml0cyhjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbykgY29uc3QKIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6aW5saW5lR2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAg
aWYgKFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRp
b24ocHJvcGVydHlOYW1lKSkgewotICAgICAgICBpZiAobV9zdHJ1Y3R1cmUtPmhhc0dldHRlclNl
dHRlclByb3BlcnRpZXMoKSAmJiAoKmxvY2F0aW9uKS0+aXNHZXR0ZXJTZXR0ZXIoKSkKKyAgICAg
ICAgaWYgKG1fc3RydWN0dXJlLT5oYXNHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzKCkgJiYgbG9jYXRp
b24tPmlzR2V0dGVyU2V0dGVyKCkpCiAgICAgICAgICAgICBmaWxsR2V0dGVyUHJvcGVydHlTbG90
KHNsb3QsIGxvY2F0aW9uKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2xvdC5zZXRWYWx1
ZSh0aGlzLCBsb2NhdGlvbi0+Z2V0KCksIG9mZnNldEZvckxvY2F0aW9uKGxvY2F0aW9uKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbG90QWNjZXNzb3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nsb3RBY2Nlc3Nvci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlYmUxOTcwZjg3NGQ5YmM1ODBkY2VmYjczZWE3ZjVhYTVhN2Yz
OTBkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nsb3RBY2Nlc3Nvci5oCisrKyAvZGV2L251bGwKQEAg
LTEsNzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgU2xvdEFjY2Vzc29yX2gKLSNkZWZp
bmUgU2xvdEFjY2Vzc29yX2gKLQotI2luY2x1ZGUgIkpTVmFsdWUuaCIKLQotbmFtZXNwYWNlIEpT
QyB7Ci0KLWNsYXNzIEpTQ2VsbDsKLQotdHlwZWRlZiBlbnVtIHsgfSBVbmtub3duOwotdHlwZWRl
ZiBKU1ZhbHVlKiBIYW5kbGVTbG90OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFNs
b3RUeXBlcyB7Ci0gICAgdHlwZWRlZiBUKiBFeHRlcm5hbFR5cGU7Ci0gICAgdHlwZWRlZiBKU0Nl
bGwqIEV4dGVybmFsVHlwZUJhc2U7Ci0gICAgc3RhdGljIEV4dGVybmFsVHlwZSBnZXRGcm9tQmFz
ZVR5cGUoRXh0ZXJuYWxUeXBlQmFzZSBiYXNlKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEV4
dGVybmFsVHlwZT4oYmFzZSk7IH0KLSAgICBzdGF0aWMgRXh0ZXJuYWxUeXBlQmFzZSBjb252ZXJ0
VG9CYXNlVHlwZShFeHRlcm5hbFR5cGUgdmFsdWUpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
RXh0ZXJuYWxUeXBlQmFzZT4odmFsdWUpOyB9Ci0gICAgc3RhdGljIEV4dGVybmFsVHlwZSBnZXRG
cm9tU2xvdChIYW5kbGVTbG90IHNsb3QpIHsgcmV0dXJuIChzbG90ICYmICpzbG90KSA/IHJlaW50
ZXJwcmV0X2Nhc3Q8RXh0ZXJuYWxUeXBlPihzbG90LT5hc0NlbGwoKSkgOiAwOyB9Ci0gICAgc3Rh
dGljIEpTVmFsdWUgdG9KU1ZhbHVlKEV4dGVybmFsVHlwZSBjZWxsKSB7IHJldHVybiByZWludGVy
cHJldF9jYXN0PEV4dGVybmFsVHlwZUJhc2U+KGNlbGwpOyB9Ci0gICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+IHN0YXRpYyB2b2lkIHZhbGlkYXRlVXBjYXN0KCkgeyBUKiB0ZW1wOyB0ZW1wID0gKFUq
KTA7IH0KLX07Ci0KLXRlbXBsYXRlIDw+IHN0cnVjdCBTbG90VHlwZXM8VW5rbm93bj4gewotICAg
IHR5cGVkZWYgSlNWYWx1ZSBFeHRlcm5hbFR5cGU7Ci0gICAgdHlwZWRlZiBKU1ZhbHVlIEV4dGVy
bmFsVHlwZUJhc2U7Ci0gICAgc3RhdGljIEV4dGVybmFsVHlwZSBnZXRGcm9tQmFzZVR5cGUoRXh0
ZXJuYWxUeXBlQmFzZSBiYXNlKSB7IHJldHVybiBiYXNlOyB9Ci0gICAgc3RhdGljIEV4dGVybmFs
VHlwZUJhc2UgY29udmVydFRvQmFzZVR5cGUoRXh0ZXJuYWxUeXBlIHZhbHVlKSB7IHJldHVybiB2
YWx1ZTsgfQotICAgIHN0YXRpYyBFeHRlcm5hbFR5cGUgZ2V0RnJvbVNsb3QoSGFuZGxlU2xvdCBz
bG90KSB7IHJldHVybiBzbG90ID8gKnNsb3QgOiBKU1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMgSlNW
YWx1ZSB0b0pTVmFsdWUoY29uc3QgSlNWYWx1ZSYgdikgeyByZXR1cm4gdjsgfQotICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBVPiBzdGF0aWMgdm9pZCB2YWxpZGF0ZVVwY2FzdCgpIHt9Ci19OwotCi10
ZW1wbGF0ZSA8dHlwZW5hbWUgQmFzZSwgdHlwZW5hbWUgVD4gc3RydWN0IFNsb3RBY2Nlc3NvciB7
Ci0gICAgVCogb3BlcmF0b3ItPigpIHsgcmV0dXJuIHN0YXRpY19jYXN0PEJhc2UqPih0aGlzKS0+
Z2V0KCk7IH0KLSAgICBjb25zdCBUKiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgQmFzZSo+KHRoaXMpLT5nZXQoKTsgfQotICAgIFQqIG9wZXJhdG9yKigpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PEJhc2UqPih0aGlzKS0+Z2V0KCk7IH0KLSAgICBjb25zdCBUKiBv
cGVyYXRvciooKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBCYXNlKj4odGhpcykt
PmdldCgpOyB9Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgQmFzZT4gc3RydWN0IFNsb3RBY2Nl
c3NvcjxCYXNlLCBVbmtub3duPiB7Ci0gICAgSlNWYWx1ZSogb3BlcmF0b3ItPigpIHsgcmV0dXJu
IHN0YXRpY19jYXN0PEJhc2UqPih0aGlzKS0+c2xvdCgpOyB9Ci0gICAgY29uc3QgSlNWYWx1ZSog
b3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEJhc2UqPih0aGlz
KS0+c2xvdCgpOyB9Ci19OwotCi0vLyBKU1ZhbHVlIHNob3VsZCBub3QgYmUgdXNlZCBkaXJlY3Rs
eQotdGVtcGxhdGUgPHR5cGVuYW1lIEJhc2U+IHN0cnVjdCBTbG90QWNjZXNzb3I8QmFzZSwgSlNW
YWx1ZT47Ci10ZW1wbGF0ZSA8PiBzdHJ1Y3QgU2xvdFR5cGVzPEpTVmFsdWU+OwotCi19Ci0KLSNl
bmRpZiAvLyBTbG90QWNjZXNzb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
R0NQdHIuaAppbmRleCBiNjA5YzFmZjU4OTMxNWIxMWFiYWExZGQyYzZlZGJhMDdhNTRiOTExLi5h
MDEzOGMwOGM1OTA0YjIzY2RkYzUxZWY3YzA2NzhjYzk0YjFlMWM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMzIsMTEgKzMyLDExIEBACiBuYW1lc3Bh
Y2UgSlNDIHsKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5z
IDAgZm9yIGNlbGxzIHRoYXQgaGF2ZSBkaWVkCiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBXZWFrR0NQdHIgOiBwdWJsaWMgU2xvdEFjY2Vzc29yPFdlYWtHQ1B0cjxUPiwgVD4gewordGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IHB1YmxpYyBIYW5kbGVDb252ZXJ0
ZXI8V2Vha0dDUHRyPFQ+LCBUPiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRy
KTsKIAogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgU2xvdFR5cGVzPFQ+OjpFeHRlcm5h
bFR5cGUgRXh0ZXJuYWxUeXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgSGFuZGxlVHlwZXM8VD46
OkV4dGVybmFsVHlwZSBFeHRlcm5hbFR5cGU7CiAgICAgCiAgICAgV2Vha0dDUHRyKCkKICAgICAg
ICAgOiBtX3Nsb3QoMCkKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgICAgICBpbnRlcm5h
bFNldCh2YWx1ZSk7CiAgICAgfQogCi0gICAgRXh0ZXJuYWxUeXBlIGdldCgpIGNvbnN0IHsgcmV0
dXJuICBTbG90VHlwZXM8VD46OmdldEZyb21TbG90KG1fc2xvdCk7IH0KKyAgICBFeHRlcm5hbFR5
cGUgZ2V0KCkgY29uc3QgeyByZXR1cm4gIEhhbmRsZVR5cGVzPFQ+OjpnZXRGcm9tU2xvdChtX3Ns
b3QpOyB9CiAgICAgCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewpAQCAtOTEsNyArOTEsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgaW50ZXJuYWxTZXQoRXh0ZXJuYWxUeXBlIHZhbHVlKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fc2xvdCk7Ci0gICAgICAgIEpTVmFsdWUgbmV3VmFsdWUoU2xvdFR5
cGVzPFQ+Ojp0b0pTVmFsdWUodmFsdWUpKTsKKyAgICAgICAgSlNWYWx1ZSBuZXdWYWx1ZShIYW5k
bGVUeXBlczxUPjo6dG9KU1ZhbHVlKHZhbHVlKSk7CiAgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBG
b3IobV9zbG90KS0+d3JpdGVCYXJyaWVyKG1fc2xvdCwgbmV3VmFsdWUpOwogICAgICAgICAqbV9z
bG90ID0gbmV3VmFsdWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV3JpdGVCYXJyaWVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
cml0ZUJhcnJpZXIuaAppbmRleCBiMDI3Y2M0NTRlNWRlZGQ3NzZmMzFlMzQ4OGVkODE5OTNiYzVj
ZWY2Li40NDg0MGFkZGQ3MWFiZmY1NzExODIyNjMzNWQ1ZWQzZjdlMDA2YjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaApAQCAtMjYsOTQgKzI2LDEy
OSBAQAogI2lmbmRlZiBXcml0ZUJhcnJpZXJfaAogI2RlZmluZSBXcml0ZUJhcnJpZXJfaAogCi0j
aW5jbHVkZSAiU2xvdEFjY2Vzc29yLmgiCisjaW5jbHVkZSAiSlNWYWx1ZS5oIgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIGNsYXNzIEpTQ2VsbDsKIGNsYXNzIEpTR2xvYmFsRGF0YTsKIAotdGVtcGxhdGUg
PGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHIgOiBwdWJsaWMgU2xvdEFjY2Vzc29yPERlcHJl
Y2F0ZWRQdHI8VD4sIFQ+IHsKK3R5cGVkZWYgZW51bSB7IH0gVW5rbm93bjsKK3R5cGVkZWYgSlNW
YWx1ZSogSGFuZGxlU2xvdDsKKwordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQ
dHIgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgU2xvdFR5cGVzPFQ+OjpFeHRlcm5h
bFR5cGUgRXh0ZXJuYWxUeXBlOwotICAgIHR5cGVkZWYgdHlwZW5hbWUgU2xvdFR5cGVzPFQ+OjpF
eHRlcm5hbFR5cGVCYXNlIEV4dGVybmFsVHlwZUJhc2U7CisgICAgRGVwcmVjYXRlZFB0cigpIDog
bV9jZWxsKDApIHsgfQorICAgIERlcHJlY2F0ZWRQdHIoVCogY2VsbCkgOiBtX2NlbGwocmVpbnRl
cnByZXRfY2FzdDxKU0NlbGwqPihjZWxsKSkgeyB9CisgICAgVCogZ2V0KCkgY29uc3QgeyByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4obV9jZWxsKTsgfQorICAgIFQqIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihtX2NlbGwpOyB9CisgICAgVCogb3BlcmF0b3It
PigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihtX2NlbGwpOyB9CisgICAgCisgICAg
SlNDZWxsKiogc2xvdCgpIHsgcmV0dXJuICZtX2NlbGw7IH0KICAgICAKLSAgICBEZXByZWNhdGVk
UHRyKCkgOiBtX3ZhbHVlKCkgeyB9Ci0gICAgRGVwcmVjYXRlZFB0cihFeHRlcm5hbFR5cGUgdmFs
dWUpIDogbV92YWx1ZShTbG90VHlwZXM8VD46OmNvbnZlcnRUb0Jhc2VUeXBlKHZhbHVlKSkgeyB9
Ci0gICAgRXh0ZXJuYWxUeXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIFNsb3RUeXBlczxUPjo6Z2V0
RnJvbUJhc2VUeXBlKG1fdmFsdWUpOyB9CisgICAgdHlwZWRlZiBUKiAoRGVwcmVjYXRlZFB0cjo6
KlVuc3BlY2lmaWVkQm9vbFR5cGUpOworICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUq
KCkgY29uc3QgeyByZXR1cm4gbV9jZWxsID8gcmVpbnRlcnByZXRfY2FzdDxVbnNwZWNpZmllZEJv
b2xUeXBlKj4oMSkgOiAwOyB9CisKKyAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJu
ICFtX2NlbGw7IH0KKworcHJvdGVjdGVkOgorICAgIEpTQ2VsbCogbV9jZWxsOworfTsKKwordGVt
cGxhdGUgPD4gY2xhc3MgRGVwcmVjYXRlZFB0cjxVbmtub3duPiB7CitwdWJsaWM6CisgICAgRGVw
cmVjYXRlZFB0cigpIHsgfQorICAgIERlcHJlY2F0ZWRQdHIoSlNWYWx1ZSB2YWx1ZSkgOiBtX3Zh
bHVlKHZhbHVlKSB7IH0KKyAgICBEZXByZWNhdGVkUHRyKEpTQ2VsbCogdmFsdWUpIDogbV92YWx1
ZSh2YWx1ZSkgeyB9CisgICAgY29uc3QgSlNWYWx1ZSYgZ2V0KCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZTsgfQorICAgIGNvbnN0IEpTVmFsdWUqIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICZt
X3ZhbHVlOyB9CisgICAgY29uc3QgSlNWYWx1ZSogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJu
ICZtX3ZhbHVlOyB9CiAgICAgCi0gICAgRXh0ZXJuYWxUeXBlQmFzZSogc2xvdCgpIHsgcmV0dXJu
ICZtX3ZhbHVlOyB9CisgICAgSlNWYWx1ZSogc2xvdCgpIHsgcmV0dXJuICZtX3ZhbHVlOyB9CiAg
ICAgCi0gICAgdHlwZWRlZiBFeHRlcm5hbFR5cGUgKERlcHJlY2F0ZWRQdHI6OipVbnNwZWNpZmll
ZEJvb2xUeXBlKTsKKyAgICB0eXBlZGVmIEpTVmFsdWUgKERlcHJlY2F0ZWRQdHI6OipVbnNwZWNp
ZmllZEJvb2xUeXBlKTsKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKigpIGNvbnN0
IHsgcmV0dXJuIG1fdmFsdWUgPyByZWludGVycHJldF9jYXN0PFVuc3BlY2lmaWVkQm9vbFR5cGUq
PigxKSA6IDA7IH0KLSAgICAKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFt
X3ZhbHVlOyB9Ci0gICAgY29uc3QgRGVwcmVjYXRlZFB0ciYgb3BlcmF0b3I9KEV4dGVybmFsVHlw
ZSB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIG1fdmFsdWUgPSBTbG90VHlwZXM8VD46OmNvbnZlcnRU
b0Jhc2VUeXBlKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuICp0aGlzOwotICAgIH0KICAgICAKLXBy
b3RlY3RlZDoKLSAgICBFeHRlcm5hbFR5cGVCYXNlIG1fdmFsdWU7Citwcml2YXRlOgorICAgIEpT
VmFsdWUgbV92YWx1ZTsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJh
cnJpZXJUcmFuc2xhdG9yIDogcHVibGljIFNsb3RBY2Nlc3NvcjxXcml0ZUJhcnJpZXJCYXNlPFQ+
LCBUPiB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0NlbGwqIFdyaXRlQmFycmllclN0b3JhZ2VU
eXBlOwotICAgIHN0YXRpYyBXcml0ZUJhcnJpZXJTdG9yYWdlVHlwZSBjb252ZXJ0VG9TdG9yYWdl
KFQqIGNlbGwpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V3JpdGVCYXJyaWVyU3RvcmFnZVR5
cGU+KGNlbGwpOyB9Ci0gICAgc3RhdGljIFQqIGNvbnZlcnRGcm9tU3RvcmFnZShXcml0ZUJhcnJp
ZXJTdG9yYWdlVHlwZSBzdG9yYWdlKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqPihzdG9y
YWdlKTsgfQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBXcml0ZUJhcnJpZXJDaGVjayB7
CisgICAgc3RhdGljIGNvbnN0IGJvb2wgSXNKU1ZhbHVlID0gZmFsc2U7CiB9OwogCi10ZW1wbGF0
ZSA8PiBjbGFzcyBXcml0ZUJhcnJpZXJUcmFuc2xhdG9yPFVua25vd24+OwordGVtcGxhdGUgPD4g
c3RydWN0IFdyaXRlQmFycmllckNoZWNrPEpTVmFsdWU+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9v
bCBJc0pTVmFsdWUgPSB0cnVlOworfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdy
aXRlQmFycmllckJhc2UgOiBwdWJsaWMgV3JpdGVCYXJyaWVyVHJhbnNsYXRvcjxUPiB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZSB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiB0eXBlbmFtZSBTbG90VHlwZXM8VD46OkV4dGVybmFsVHlwZSBFeHRlcm5hbFR5cGU7
Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBTbG90VHlwZXM8VD46OkV4dGVybmFsVHlwZUJhc2UgRXh0
ZXJuYWxUeXBlQmFzZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFdyaXRlQmFycmllclRyYW5zbGF0
b3I8VD46OldyaXRlQmFycmllclN0b3JhZ2VUeXBlIFN0b3JhZ2VUeXBlOwotCi0gICAgdm9pZCBz
ZXQoSlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDZWxsKiwgRXh0ZXJuYWxUeXBlIHZhbHVlKSB7IHRo
aXMtPm1fdmFsdWUgPSBXcml0ZUJhcnJpZXJUcmFuc2xhdG9yPFQ+Ojpjb252ZXJ0VG9TdG9yYWdl
KHZhbHVlKTsgfQorICAgIENPTVBJTEVfQVNTRVJUKCFXcml0ZUJhcnJpZXJDaGVjazxUPjo6SXNK
U1ZhbHVlLCBXcml0ZUJhcnJpZXJfSlNWYWx1ZV9pc19pbnZhbGlkX191c2VfdW5rbm93bik7Cisg
ICAgdm9pZCBzZXQoSlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDZWxsKiwgVCogdmFsdWUpIHsgdGhp
cy0+bV9jZWxsID0gcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPih2YWx1ZSk7IH0KICAgICAKLSAg
ICBFeHRlcm5hbFR5cGUgZ2V0KCkgY29uc3QgeyByZXR1cm4gV3JpdGVCYXJyaWVyVHJhbnNsYXRv
cjxUPjo6Y29udmVydEZyb21TdG9yYWdlKG1fdmFsdWUpOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsg
bV92YWx1ZSA9IDA7IH0KKyAgICBUKiBnZXQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9j
YXN0PFQqPihtX2NlbGwpOyB9CisgICAgVCogb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VCo+KG1fY2VsbCk7IH0KKyAgICBUKiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8VCo+KG1fY2VsbCk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBtX2NlbGwg
PSAwOyB9CiAgICAgCi0gICAgRXh0ZXJuYWxUeXBlQmFzZSogc2xvdCgpCi0gICAgewotICAgICAg
ICB1bmlvbiB7Ci0gICAgICAgICAgICBTdG9yYWdlVHlwZSogaW50eXBlOwotICAgICAgICAgICAg
RXh0ZXJuYWxUeXBlQmFzZSogb3V0dHlwZTsKLSAgICAgICAgfSB1OwotICAgICAgICB1LmludHlw
ZSA9ICZtX3ZhbHVlOwotICAgICAgICByZXR1cm4gdS5vdXR0eXBlOwotICAgIH0KKyAgICBKU0Nl
bGwqKiBzbG90KCkgeyByZXR1cm4gJm1fY2VsbDsgfQogICAgIAotICAgIHR5cGVkZWYgRXh0ZXJu
YWxUeXBlIChXcml0ZUJhcnJpZXJCYXNlOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7Ci0gICAgb3Bl
cmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSooKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID8gcmVp
bnRlcnByZXRfY2FzdDxVbnNwZWNpZmllZEJvb2xUeXBlKj4oMSkgOiAwOyB9CisgICAgdHlwZWRl
ZiBUKiAoV3JpdGVCYXJyaWVyQmFzZTo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOworICAgIG9wZXJh
dG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUqKCkgY29uc3QgeyByZXR1cm4gbV9jZWxsID8gcmVpbnRl
cnByZXRfY2FzdDxVbnNwZWNpZmllZEJvb2xUeXBlKj4oMSkgOiAwOyB9CiAgICAgCi0gICAgYm9v
bCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV92YWx1ZTsgfQorICAgIGJvb2wgb3BlcmF0
b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fY2VsbDsgfQogCi0gICAgdm9pZCBzZXRXaXRob3V0V3Jp
dGVCYXJyaWVyKEV4dGVybmFsVHlwZSB2YWx1ZSkgeyB0aGlzLT5tX3ZhbHVlID0gV3JpdGVCYXJy
aWVyVHJhbnNsYXRvcjxUPjo6Y29udmVydFRvU3RvcmFnZSh2YWx1ZSk7IH0KKyAgICB2b2lkIHNl
dFdpdGhvdXRXcml0ZUJhcnJpZXIoVCogdmFsdWUpIHsgdGhpcy0+bV9jZWxsID0gcmVpbnRlcnBy
ZXRfY2FzdDxKU0NlbGwqPih2YWx1ZSk7IH0KIAogcHJvdGVjdGVkOgotICAgIFN0b3JhZ2VUeXBl
IG1fdmFsdWU7CisgICAgSlNDZWxsKiBtX2NlbGw7CiB9OwogCi10ZW1wbGF0ZSA8PiBjbGFzcyBX
cml0ZUJhcnJpZXJUcmFuc2xhdG9yPFVua25vd24+IDogcHVibGljIFNsb3RBY2Nlc3NvcjxXcml0
ZUJhcnJpZXJCYXNlPFVua25vd24+LCBVbmtub3duPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgV3JpdGVCYXJyaWVyIDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VD4gewogcHVibGlj
OgotICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBzdGF0aWNfY2FzdDxXcml0ZUJhcnJpZXJCYXNl
PFVua25vd24+Kj4odGhpcyktPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoanNVbmRlZmluZWQoKSk7
IH0KLSAgICB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIFdyaXRlQmFycmllclN0b3JhZ2VUeXBlOwot
ICAgIHN0YXRpYyBXcml0ZUJhcnJpZXJTdG9yYWdlVHlwZSBjb252ZXJ0VG9TdG9yYWdlKEpTVmFs
dWUgdmFsdWUpIHsgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KLSAgICBzdGF0aWMg
SlNWYWx1ZSBjb252ZXJ0RnJvbVN0b3JhZ2UoV3JpdGVCYXJyaWVyU3RvcmFnZVR5cGUgc3RvcmFn
ZSkgeyByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKHN0b3JhZ2UpOyB9CisgICAgV3JpdGVCYXJyaWVy
KCkgeyB0aGlzLT5tX2NlbGwgPSAwOyB9CisgICAgV3JpdGVCYXJyaWVyKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpCisgICAgeworICAgICAg
ICB0aGlzLT5zZXQoZ2xvYmFsRGF0YSwgb3duZXIsIHZhbHVlKTsKKyAgICB9CisKIH07CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXIgOiBwdWJsaWMgV3JpdGVCYXJy
aWVyQmFzZTxUPiB7Cit0ZW1wbGF0ZSA8PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+
IHsKIHB1YmxpYzoKLSAgICBXcml0ZUJhcnJpZXIoKSB7IHRoaXMtPmNsZWFyKCk7IH0KLSAgICBX
cml0ZUJhcnJpZXIoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBKU0NlbGwqIG93bmVy
LCB0eXBlbmFtZSBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpFeHRlcm5hbFR5cGUgdmFsdWUpCisgICAg
dm9pZCBzZXQoSlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDZWxsKiwgSlNWYWx1ZSB2YWx1ZSkgeyBt
X3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQorICAgIHZvaWQgc2V0V2l0aG91dFdy
aXRlQmFycmllcihKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFs
dWUpOyB9CisgICAgSlNWYWx1ZSBnZXQoKSBjb25zdCB7IHJldHVybiBKU1ZhbHVlOjpkZWNvZGUo
bV92YWx1ZSk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2Rl
KEpTVmFsdWUoKSk7IH0KKyAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQorICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNv
bnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KKyAgICAKKyAgICBKU1ZhbHVl
KiBzbG90KCkKKyAgICB7IAorICAgICAgICB1bmlvbiB7CisgICAgICAgICAgICBFbmNvZGVkSlNW
YWx1ZSogdjsKKyAgICAgICAgICAgIEpTVmFsdWUqIHNsb3Q7CisgICAgICAgIH0gdTsKKyAgICAg
ICAgdS52ID0gJm1fdmFsdWU7CisgICAgICAgIHJldHVybiB1LnNsb3Q7CisgICAgfQorICAgIAor
ICAgIHR5cGVkZWYgSlNWYWx1ZSAoV3JpdGVCYXJyaWVyQmFzZTo6KlVuc3BlY2lmaWVkQm9vbFR5
cGUpOworICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUqKCkgY29uc3QgeyByZXR1cm4g
Z2V0KCkgPyByZWludGVycHJldF9jYXN0PFVuc3BlY2lmaWVkQm9vbFR5cGUqPigxKSA6IDA7IH0K
KyAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFnZXQoKTsgfSAKKyAgICAKK3By
b3RlY3RlZDoKKyAgICBFbmNvZGVkSlNWYWx1ZSBtX3ZhbHVlOworfTsKKwordGVtcGxhdGUgPD4g
Y2xhc3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VW5r
bm93bj4geworcHVibGljOgorICAgIFdyaXRlQmFycmllcigpIHsgbV92YWx1ZSA9IEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpOyB9CisgICAgV3JpdGVCYXJyaWVyKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgY29uc3QgSlNDZWxsKiBvd25lciwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAg
ICAgIHRoaXMtPnNldChnbG9iYWxEYXRhLCBvd25lciwgdmFsdWUpOwogICAgIH0KLQogfTsKIAog
dGVtcGxhdGUgPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IGlubGluZSBib29sIG9wZXJhdG9yPT0o
Y29uc3QgRGVwcmVjYXRlZFB0cjxVPiYgbGhzLCBjb25zdCBEZXByZWNhdGVkUHRyPFY+JiByaHMp
CkBAIC0xMjYsOCArMTYxLDYgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IGlu
bGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTwKICAgICByZXR1cm4g
bGhzLmdldCgpID09IHJocy5nZXQoKTsKIH0KIAotQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdyaXRl
QmFycmllcjxVbmtub3duPikgPT0gc2l6ZW9mKEpTVmFsdWUpLCBXcml0ZUJhcnJpZXJfVW5rbm93
bl9zaG91bGRfYmVfc2l6ZW9mX0pTVmFsdWUpOwotQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdyaXRl
QmFycmllcjxKU0NlbGw+KSA9PSBzaXplb2YoSlNDZWxsKiksIFdyaXRlQmFycmllcl9Vbmtub3du
X3Nob3VsZF9iZV9zaXplb2ZfSlNDZWxsX3BvaW50ZXIpOwogfQogCiAjZW5kaWYgLy8gV3JpdGVC
YXJyaWVyX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>