<?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>131603</bug_id>
          
          <creation_ts>2014-04-13 21:29:36 -0700</creation_ts>
          <short_desc>Merge MemoryPressureHandler{Mac,IOS}.mm</short_desc>
          <delta_ts>2014-04-14 01:45:52 -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>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1000376</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-13 21:29:36 -0700</bug_when>
    <thetext>Merge MemoryPressureHandler{Mac,IOS}.mm into a shared MemoryPressureHandlerCocoa.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000377</commentid>
    <comment_count>1</comment_count>
      <attachid>229260</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-13 21:31:19 -0700</bug_when>
    <thetext>Created attachment 229260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000409</commentid>
    <comment_count>2</comment_count>
      <attachid>229260</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-13 23:40:17 -0700</bug_when>
    <thetext>Comment on attachment 229260
Patch

Looks like you didn’t convince svn or git that this new file is a move of one of the existing files, so the whole thing looks like new code. So I can’t read the diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000444</commentid>
    <comment_count>3</comment_count>
      <attachid>229260</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-14 01:45:50 -0700</bug_when>
    <thetext>Comment on attachment 229260
Patch

Clearing flags on attachment: 229260

Committed r167219: &lt;http://trac.webkit.org/changeset/167219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000445</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-14 01:45:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229260</attachid>
            <date>2014-04-13 21:31:19 -0700</date>
            <delta_ts>2014-04-14 01:45:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131603.diff</filename>
            <type>text/plain</type>
            <size>30775</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NjQyYjllLi45NTJkZDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTQtMDQtMTMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIE1lcmdlIE1lbW9yeVByZXNzdXJlSGFuZGxlcntNYWMsSU9TfS5tbQorICAgICAgICA8aHR0
cHM6Ly93ZWJraXQub3JnL2IvMTMxNjAzPgorCisgICAgICAgIEpvaW4gdGhlIGlPUyBhbmQgTWFj
IHBsYXRmb3JtIGltcGxlbWVudGF0aW9ucyBvZiBNZW1vcnlQcmVzc3VyZUhhbmRsZXIKKyAgICAg
ICAgdW5kZXIgdGhlIHNoYXJlZCBDb2NvYSBiYW5uZXIuIEVhY2ggcGxhdGZvcm0gc3RpbGwgaGFz
IGl0cyBvd24gcXVpcmt5CisgICAgICAgIGJlaGF2aW9yLCBidXQgdGhpcyBwdXRzIHRoZW0gaW4g
dGhlIHNhbWUgZmlsZSBzbyB3ZSBjYW4gc3RhcnQgc2hhcmluZy4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXJDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJNYWMubW0uCisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OnBsYXRmb3JtUmVsZWFzZU1lbW9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjp1bmluc3RhbGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpob2xkT2ZmKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFu
ZGxlcjo6cmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUpOgorICAgICAgICAoV2ViQ29yZTo6cmVzcG9u
ZFRvTWVtb3J5UHJlc3N1cmVDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVz
c3VyZUhhbmRsZXI6Omluc3RhbGxNZW1vcnlSZWxlYXNlQmxvY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzZXRSZWNlaXZlZE1lbW9yeVByZXNzdXJlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aGFzUmVjZWl2ZWRNZW1vcnlQ
cmVzc3VyZSk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmNsZWFy
TWVtb3J5UHJlc3N1cmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVy
OjpzaG91bGRXYWl0Rm9yTWVtb3J5Q2xlYXJNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9uZFRvTWVtb3J5UHJlc3N1cmVJZk5lZWRlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vaW9zL01lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbTogUmVtb3Zl
ZC4KKwogMjAxNC0wNC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW1F1aWNrTG9va10gTW92ZSBmaWxlIHN5c3RlbS1yZWxhdGVkIGNvZGUgaW50byBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBhM2ZjZGNhLi4zZmM2YWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDIsNyArOTQyLDYgQEAKIAkJMUYzQzNCRUEx
MzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlhQ29udHJvbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYzQzNCRTgxMzVDQUYzQzAwQjhDMUFDIC8qIE1l
ZGlhQ29udHJvbHMuY3BwICovOyB9OwogCQkxRjNDM0JFQjEzNUNBRjNDMDBCOEMxQUMgLyogTWVk
aWFDb250cm9scy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUYzQzNCRTkxMzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlhQ29udHJvbHMuaCAqLzsgfTsKIAkJ
MUYzRjE5NTMxNDk5Q0E3NjAwQTVBRUE3IC8qIFBPREZyZWVMaXN0QXJlbmEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGM0YxOTUyMTQ5OUNBNzYwMEE1
QUVBNyAvKiBQT0RGcmVlTGlzdEFyZW5hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUY2OEQ0QUUxNEJCOURDQTAwN0I1QzYyIC8qIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFGNjhENEFEMTRCQjlEQ0EwMDdCNUM2MiAvKiBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXJJT1MubW0gKi87IH07CiAJCTFGNzJCRjBBMTg3RkQ0NDkwMDA5QkNCMyAvKiBUaWxlQ29udHJv
bGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUY3MkJGMDgxODdGRDQyNzAwMDlCQ0IzIC8qIFRpbGVDb250cm9sbGVy
TWVtb3J5SGFuZGxlcklPUy5jcHAgKi87IH07CiAJCTFGNzJCRjBCMTg3RkQ0NUMwMDA5QkNCMyAv
KiBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGNzJCRjA5MTg3RkQ0MjcwMDA5QkNCMyAvKiBUaWxl
Q29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkxRkFGQkYxODE1QTVGQTZFMDAwODNBMjAgLyogVVRJVXRp
bGl0aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUZBRkJGMTcxNUE1RkE1MjAwMDgzQTIwIC8qIFVUSVV0aWxpdGllcy5tbSAqLzsgfTsKQEAgLTIx
MDIsNyArMjEwMSw2IEBACiAJCTY1NkQzNzQ4MEFEQkE1REUwMEE0NTU0RCAvKiBTdWJyZXNvdXJj
ZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjU2RDM3MzAwQURCQTVERTAwQTQ1NTREIC8qIFN1YnJlc291cmNlTG9hZGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjU3MURDQzgxMzg1RTZB
NDAwNzAyREQwIC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1l
bW9yeVByZXNzdXJlSGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTY1N0VEQTA4MTM4NUNCOTcwMDRFMDY0NSAvKiBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjU3RURBMDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAg
Ki87IH07Ci0JCTY1N0VEQTBCMTM4NUNCRDgwMDRFMDY0NSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTdFREEwQTEzODVDQkQ4MDA0RTA2NDUgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tICov
OyB9OwogCQk2NTg0MzY4NjBBRTAxQjc0MDBFNTM3NTMgLyogRnJhbWVMb2FkUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU4NDM2ODUwQUUw
MUI3NDAwRTUzNzUzIC8qIEZyYW1lTG9hZFJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NTkzOTIzNzA5QUU0MzQ2MDAyQzUzMUYgLyog
VVJMLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
OTM5MjM1MDlBRTQzNDYwMDJDNTMxRiAvKiBVUkwuY3BwICovOyB9OwogCQk2NTkzOTIzODA5QUU0
MzQ2MDAyQzUzMUYgLyogVVJMLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2NTkzOTIzNjA5QUU0MzQ2MDAyQzUzMUYgLyogVVJMLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQyNDAsNiArNDIzOCw3IEBA
CiAJCUFENzI2RkVEMTZEQTExNzEwMDNBNEU2RCAvKiBKU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0
b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFENzI2
RkVBMTZEOUY0MEIwMDNBNEU2RCAvKiBKU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBRDcyNkZFRTE2
REExMUJDMDAzQTRFNkQgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDcyNkZFQzE2RDlGNEI5MDAzQTRFNkQgLyog
SlNTdHlsZVNoZWV0Q3VzdG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQUQ3MjZGRUYxNkRBMTFGNTAwM0E0RTZEIC8qIEpTQ1NTUnVsZUN1c3Rv
bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUQ3MjZG
RTkxNkQ5RjQwQTAwM0E0RTZEIC8qIEpTQ1NTUnVsZUN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUFEQjZCMjk4MThGQjkwMjQwMDgxOTYz
RSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFEQjZCMjk3MThGQjkwMjQwMDgxOTYzRSAvKiBNZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSAqLzsgfTsKIAkJQURERjFBRDcxMjU3Q0Q5QTAwMDNB
NzU5IC8qIFJlbmRlclNWR1BhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFEREYxQUQ1MTI1N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRoLmgg
Ki87IH07CiAJCUFERUM3OEY4MThFRTUzMDgwMDEzMTVDMiAvKiBKU0VsZW1lbnRDdXN0b20uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERUM3OEY3MThF
RTUzMDgwMDEzMTVDMiAvKiBKU0VsZW1lbnRDdXN0b20uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCMTBCNjk4MDE0MEMxNzQwMDBCQzFDMjYgLyog
V2ViVlRUVG9rZW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxMEI2OTdEMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbi5oICovOyB9OwpAQCAt
NzgwOSw3ICs3ODA4LDYgQEAKIAkJMUYzQzNCRTgxMzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlhQ29u
dHJvbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250
cm9scy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFGM0MzQkU5MTM1Q0FGM0Mw
MEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhQ29udHJvbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUYzRjE5
NTIxNDk5Q0E3NjAwQTVBRUE3IC8qIFBPREZyZWVMaXN0QXJlbmEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUE9ERnJlZUxpc3RBcmVuYS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkxRjY4RDRBRDE0QkI5RENBMDA3QjVDNjIgLyogTWVtb3J5UHJlc3N1cmVIYW5k
bGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gTWVtb3J5
UHJlc3N1cmVIYW5kbGVySU9TLm1tOyBwYXRoID0gaW9zL01lbW9yeVByZXNzdXJlSGFuZGxlcklP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUY3MkJGMDgxODdGRDQyNzAwMDlC
Q0IzIC8qIFRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3Bw
OyBwYXRoID0gaW9zL1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFGNzJCRjA5MTg3RkQ0MjcwMDA5QkNCMyAvKiBUaWxlQ29u
dHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmg7IHBhdGggPSBpb3MvVGlsZUNvbnRy
b2xsZXJNZW1vcnlIYW5kbGVySU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFG
QUZCRjE2MTVBNUZBNTIwMDA4M0EyMCAvKiBVVElVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVVRJVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05MTIwLDcgKzkxMTgsNiBAQAogCQk2NTZEMzczMDBBREJBNURFMDBBNDU1NEQgLyog
U3VicmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1
YnJlc291cmNlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1N0VEQTA2
MTM4NUNCOTcwMDRFMDY0NSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU3RURBMDcxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1l
bW9yeVByZXNzdXJlSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjU3
RURBMEExMzg1Q0JEODAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE1lbW9yeVByZXNzdXJlSGFuZGxl
ck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU4NDM2ODUwQUUwMUI3NDAw
RTUzNzUzIC8qIEZyYW1lTG9hZFJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZyYW1lTG9hZFJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjU5MzkyMzUwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVVJMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjU5MzkyMzYwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVVJMLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTM1NSw2
ICsxMTM1Miw3IEBACiAJCUFENzI2RkU5MTZEOUY0MEEwMDNBNEU2RCAvKiBKU0NTU1J1bGVDdXN0
b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDU1NSdWxlQ3VzdG9tLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFENzI2RkVBMTZEOUY0MEIwMDNBNEU2RCAv
KiBKU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUFENzI2RkVDMTZEOUY0QjkwMDNBNEU2RCAvKiBKU1N0eWxlU2hlZXRDdXN0
b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdHlsZVNoZWV0Q3VzdG9t
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFEQjZCMjk3MThGQjkwMjQwMDgxOTYz
RSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IE1lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBRERGMUFENDEyNTdDRDlBMDAwM0E3NTkgLyogUmVuZGVy
U1ZHUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJT
VkdQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURERjFBRDUxMjU3Q0Q5
QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVuZGVyU1ZHUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBREUx
MUY0QTE4RDgzMTFCMDA3ODk4M0IgLyogRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjE0Miw3ICsxNjE0MCw2IEBACiAJCQkJ
MTQwMjY0NUQwQUZEQzE5QjAwNTkxOUUyIC8qIExvZ2dpbmdNYWMubW0gKi8sCiAJCQkJQ0Q2NDFF
QkQxODE5QjM1OTAwRUU0QzQxIC8qIE1lZGlhVGltZU1hYy5jcHAgKi8sCiAJCQkJQ0Q2NDFFQkUx
ODE5QjM1OTAwRUU0QzQxIC8qIE1lZGlhVGltZU1hYy5oICovLAotCQkJCTY1N0VEQTBBMTM4NUNC
RDgwMDRFMDY0NSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0gKi8sCiAJCQkJQkM3NzJD
NUQwQzRFQjM0NDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnlNYWMubW0gKi8sCiAJCQkJOTM1
MDBGMzExM0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi8sCiAJCQkJ
NTJGNTJFMTAxNEEwMTM0RjAwQUNDMzk3IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tICovLApA
QCAtMTgxNTUsNyArMTgxNTIsNiBAQAogCQkJCTI2QzE3QTNEMTQ5MUQyRDQwMEQxMkJBMiAvKiBG
aWxlU3lzdGVtSU9TLm1tICovLAogCQkJCTI2NTU0MTM3MTQ4OTgxMUMwMDBERkM1RCAvKiBLZXlF
dmVudENvZGVzSU9TLmggKi8sCiAJCQkJMjY1NTQxMzgxNDg5ODExQzAwMERGQzVEIC8qIEtleUV2
ZW50SU9TLm1tICovLAotCQkJCTFGNjhENEFEMTRCQjlEQ0EwMDdCNUM2MiAvKiBNZW1vcnlQcmVz
c3VyZUhhbmRsZXJJT1MubW0gKi8sCiAJCQkJRTQ1MzkwMTgwRUFGQ0FDQTAwMzY5NUM4IC8qIE1J
TUVUeXBlUmVnaXN0cnlJT1MubW0gKi8sCiAJCQkJRTQ1MzkwMTkwRUFGQ0FDQTAwMzY5NUM4IC8q
IFBhc3RlYm9hcmRJT1MubW0gKi8sCiAJCQkJMjY2MDFFQkQxNEIzQjlBRDAwMTJDMEZFIC8qIFBs
YXRmb3JtRXZlbnRGYWN0b3J5SU9TLmggKi8sCkBAIC0xODIyMSw2ICsxODIxNyw3IEBACiAJCQkJ
NUQ4QzREQkUxNDI4MjIyQzAwMjZDRTcyIC8qIERpc3BsYXlTbGVlcERpc2FibGVyQ29jb2EuaCAq
LywKIAkJCQlBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovLAog
CQkJCUE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovLAorCQkJ
CUFEQjZCMjk3MThGQjkwMjQwMDgxOTYzRSAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5t
bSAqLywKIAkJCQk3Q0M1NjRCOTE4QkFDNzIwMDAxQjk2NTIgLyogVGVsZXBob25lTnVtYmVyRGV0
ZWN0b3JDb2NvYS5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwpAQCAtMjg0NTIsOCAr
Mjg0NDksNiBAQAogCQkJCTA3MDU4NTM4MTdGRTA0NEYwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29u
c3RyYWludFNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5NzlDM0JEMDA0Njc3
NDEgLyogTWVtb3J5Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU3RURBMDgxMzg1Q0I5
NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQkxRjY4RDRBRTE0QkI5RENBMDA3QjVDNjIgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJNjU3RURBMEIxMzg1Q0JEODAwNEUwNjQ1IC8qIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REY5MDk5RTY0OTIw
MDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlFMUFERUNDRjBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNzU3OTNFODMwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MjQwLDYgKzI5MjM1LDcgQEAKIAkJCQlFNEM5MUEx
MDE4MDIzNDM5MDBBMTdGNkQgLyogVGV4dFBhaW50U3R5bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTNGMTlBOUQwODI0NUU1OTAwMUU5QUJDIC8qIFRleHRSZXNvdXJjZURlY29kZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzc2RENDRTExM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRSdW4uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQURCNkIyOTgxOEZCOTAyNDAwODE5NjNFIC8qIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNEEwRDAwNkMx
RDAwRUY2RjI2IC8qIFRleHRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc1OUU5M0Yx
NEVGMUNGODAwMjZBMkREIC8qIFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzU5
RTk0MjE0RUYxQ0Y4MDAyNkEyREQgLyogVGV4dFRyYWNrQ3VlLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVz
c3VyZUhhbmRsZXJDb2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
YjVjZmEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
TWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KQEAgLTAsMCArMSwyMzUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEtMjAxNCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorI2ltcG9ydCAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCisKKyNpbXBvcnQgIklPU3Vy
ZmFjZVBvb2wuaCIKKyNpbXBvcnQgIkdDQ29udHJvbGxlci5oIgorI2ltcG9ydCAiTGF5ZXJQb29s
LmgiCisjaW1wb3J0ICJMb2dnaW5nLmgiCisjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgiCisjaW1wb3J0IDxtYWxsb2MvbWFsbG9jLmg+CisjaW1wb3J0IDxub3RpZnkuaD4KKyNpbXBv
cnQgPHd0Zi9DdXJyZW50VGltZS5oPgorCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiU3lz
dGVtTWVtb3J5LmgiCisjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCisjaW1wb3J0IDxsaWJrZXJu
L09TQXRvbWljLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIE1lbW9y
eVByZXNzdXJlSGFuZGxlcjo6cGxhdGZvcm1SZWxlYXNlTWVtb3J5KGJvb2wpCit7CisjaWYgUExB
VEZPUk0oTUFDKQorICAgIExheWVyUG9vbDo6c2hhcmVkUG9vbCgpLT5kcmFpbigpOworI2VuZGlm
CisjaWYgVVNFKElPU1VSRkFDRSkKKyAgICBJT1N1cmZhY2VQb29sOjpzaGFyZWRQb29sKCkuZGlz
Y2FyZEFsbFN1cmZhY2VzKCk7CisjZW5kaWYKK30KKworI2lmIFBMQVRGT1JNKE1BQykKKworc3Rh
dGljIGRpc3BhdGNoX3NvdXJjZV90IF9jYWNoZV9ldmVudF9zb3VyY2UgPSAwOworc3RhdGljIGRp
c3BhdGNoX3NvdXJjZV90IF90aW1lcl9ldmVudF9zb3VyY2UgPSAwOworc3RhdGljIGludCBfbm90
aWZ5VG9rZW47CisKKy8vIERpc2FibGUgbWVtb3J5IGV2ZW50IHJlY2VwdGlvbiBmb3IgYSBtaW5p
bXVtIG9mIHNfbWluaW11bUhvbGRPZmZUaW1lCisvLyBzZWNvbmRzIGFmdGVyIHJlY2VpdmluZyBh
biBldmVudC4gIERvbid0IGxldCBldmVudHMgZmlyZSBhbnkgc29vbmVyIHRoYW4KKy8vIHNfaG9s
ZE9mZk11bHRpcGxpZXIgdGltZXMgdGhlIGxhc3QgY2xlYW51cCBwcm9jZXNzaW5nIHRpbWUuICBF
ZmZlY3RpdmVseSAKKy8vIHRoaXMgaXMgMSAvIHNfaG9sZE9mZk11bHRpcGxpZXIgcGVyY2VudCBv
ZiB0aGUgdGltZS4KKy8vIFRoZXNlIHZhbHVlIHNlZW1zIHJlYXNvbmFibGUgYW5kIHRlc3Rpbmcg
dmVyaWZpZXMgdGhhdCBpdCB0aHJvdHRsZXMgZnJlcXVlbnQKKy8vIGxvdyBtZW1vcnkgZXZlbnRz
LCBncmVhdGx5IHJlZHVjaW5nIENQVSB1c2FnZS4KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBzX21p
bmltdW1Ib2xkT2ZmVGltZSA9IDU7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgc19ob2xkT2ZmTXVs
dGlwbGllciA9IDIwOworCit2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpCit7
CisgICAgaWYgKG1faW5zdGFsbGVkIHx8IF90aW1lcl9ldmVudF9zb3VyY2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57
CisjaWYgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorICAgICAgICBfY2Fj
aGVfZXZlbnRfc291cmNlID0gd2tDcmVhdGVNZW1vcnlTdGF0dXNQcmVzc3VyZUNyaXRpY2FsRGlz
cGF0Y2hPbk1haW5RdWV1ZSgpOworI2Vsc2UKKyAgICAgICAgX2NhY2hlX2V2ZW50X3NvdXJjZSA9
IHdrQ3JlYXRlVk1QcmVzc3VyZURpc3BhdGNoT25NYWluUXVldWUoKTsKKyNlbmRpZgorICAgICAg
ICBpZiAoX2NhY2hlX2V2ZW50X3NvdXJjZSkgeworICAgICAgICAgICAgZGlzcGF0Y2hfc2V0X2Nv
bnRleHQoX2NhY2hlX2V2ZW50X3NvdXJjZSwgdGhpcyk7CisgICAgICAgICAgICBkaXNwYXRjaF9z
b3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoX2NhY2hlX2V2ZW50X3NvdXJjZSwgXnsgbWVtb3J5UHJl
c3N1cmVIYW5kbGVyKCkucmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUoKTt9KTsKKyAgICAgICAgICAg
IGRpc3BhdGNoX3Jlc3VtZShfY2FjaGVfZXZlbnRfc291cmNlKTsKKyAgICAgICAgfQorICAgIH0p
OworCisgICAgLy8gQWxsb3cgc2ltdWxhdGlvbiBvZiBtZW1vcnkgcHJlc3N1cmUgd2l0aCAibm90
aWZ5dXRpbCAtcCBvcmcuV2ViS2l0Lmxvd01lbW9yeSIKKyAgICBub3RpZnlfcmVnaXN0ZXJfZGlz
cGF0Y2goIm9yZy5XZWJLaXQubG93TWVtb3J5IiwgJl9ub3RpZnlUb2tlbiwgZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgXihpbnQpIHsKKworICAgICAgICAvLyBXZSBvbmx5IGRvIGEgc3luY2hy
b25vdXMgR0Mgd2hlbiAqc2ltdWxhdGluZyogbWVtb3J5IHByZXNzdXJlLgorICAgICAgICAvLyBU
aGlzIGdpdmVzIHVzIGEgbW9yZSBjb25zaXN0ZW50IHBpY3R1cmUgb2YgbGl2ZSBvYmplY3RzIGF0
IHRoZSBlbmQgb2YgdGVzdGluZy4KKyAgICAgICAgZ2NDb250cm9sbGVyKCkuZ2FyYmFnZUNvbGxl
Y3ROb3coKTsKKworICAgICAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIoKS5yZXNwb25kVG9NZW1v
cnlQcmVzc3VyZSgpOworICAgICAgICBtYWxsb2Nfem9uZV9wcmVzc3VyZV9yZWxpZWYobnVsbHB0
ciwgMCk7CisgICAgfSk7CisKKyAgICBtX2luc3RhbGxlZCA9IHRydWU7Cit9CisKK3ZvaWQgTWVt
b3J5UHJlc3N1cmVIYW5kbGVyOjp1bmluc3RhbGwoKQoreworICAgIGlmICghbV9pbnN0YWxsZWQp
CisgICAgICAgIHJldHVybjsKKworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCksIF57CisgICAgICAgIGlmIChfY2FjaGVfZXZlbnRfc291cmNlKSB7CisgICAgICAg
ICAgICBkaXNwYXRjaF9zb3VyY2VfY2FuY2VsKF9jYWNoZV9ldmVudF9zb3VyY2UpOworICAgICAg
ICAgICAgZGlzcGF0Y2hfcmVsZWFzZShfY2FjaGVfZXZlbnRfc291cmNlKTsKKyAgICAgICAgICAg
IF9jYWNoZV9ldmVudF9zb3VyY2UgPSAwOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF90aW1l
cl9ldmVudF9zb3VyY2UpIHsKKyAgICAgICAgICAgIGRpc3BhdGNoX3NvdXJjZV9jYW5jZWwoX3Rp
bWVyX2V2ZW50X3NvdXJjZSk7CisgICAgICAgICAgICBkaXNwYXRjaF9yZWxlYXNlKF90aW1lcl9l
dmVudF9zb3VyY2UpOworICAgICAgICAgICAgX3RpbWVyX2V2ZW50X3NvdXJjZSA9IDA7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIG1faW5zdGFsbGVkID0gZmFsc2U7CisgICAgCisgICAgbm90
aWZ5X2NhbmNlbChfbm90aWZ5VG9rZW4pOworfQorCit2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQoreworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgIF90aW1lcl9ldmVudF9zb3VyY2UgPSBk
aXNwYXRjaF9zb3VyY2VfY3JlYXRlKERJU1BBVENIX1NPVVJDRV9UWVBFX1RJTUVSLCAwLCAwLCBk
aXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpKTsKKyAgICAgICAgaWYgKF90aW1lcl9ldmVudF9zb3Vy
Y2UpIHsKKyAgICAgICAgICAgIGRpc3BhdGNoX3NldF9jb250ZXh0KF90aW1lcl9ldmVudF9zb3Vy
Y2UsIHRoaXMpOworICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF90aW1lcihfdGltZXJf
ZXZlbnRfc291cmNlLCBkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCBzZWNvbmRzICog
TlNFQ19QRVJfU0VDKSwgRElTUEFUQ0hfVElNRV9GT1JFVkVSLCAxICogc19taW5pbXVtSG9sZE9m
ZlRpbWUpOworICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVyKF90
aW1lcl9ldmVudF9zb3VyY2UsIF57CisgICAgICAgICAgICAgICAgaWYgKF90aW1lcl9ldmVudF9z
b3VyY2UpIHsKKyAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNlX2NhbmNlbChfdGlt
ZXJfZXZlbnRfc291cmNlKTsKKyAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfcmVsZWFzZShf
dGltZXJfZXZlbnRfc291cmNlKTsKKyAgICAgICAgICAgICAgICAgICAgX3RpbWVyX2V2ZW50X3Nv
dXJjZSA9IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG1lbW9yeVByZXNz
dXJlSGFuZGxlcigpLmluc3RhbGwoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZGlz
cGF0Y2hfcmVzdW1lKF90aW1lcl9ldmVudF9zb3VyY2UpOworICAgICAgICB9CisgICAgfSk7Cit9
CisKK3ZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVzc3VyZSgp
Cit7CisgICAgdW5pbnN0YWxsKCk7CisKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CisKKyAgICBtX2xvd01lbW9yeUhhbmRsZXIoZmFsc2UpOwor
CisgICAgdW5zaWduZWQgaG9sZE9mZlRpbWUgPSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBzdGFydFRpbWUpICogc19ob2xkT2ZmTXVsdGlwbGllcjsKKworICAgIGhvbGRPZmYoc3Rk
OjptYXgoaG9sZE9mZlRpbWUsIHNfbWluaW11bUhvbGRPZmZUaW1lKSk7Cit9CisKKyNlbHNlIC8v
ICFQTEFURk9STShNQUMpCisKK3N0YXRpYyB2b2lkIHJlc3BvbmRUb01lbW9yeVByZXNzdXJlQ2Fs
bGJhY2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYgb2JzZXJ2ZXIsIENGUnVuTG9vcEFjdGl2aXR5IC8q
YWN0aXZpdHkqLywgdm9pZCogLyppbmZvKi8pCit7CisgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVy
KCkucmVzcG9uZFRvTWVtb3J5UHJlc3N1cmVJZk5lZWRlZCgpOworICAgIENGUnVuTG9vcE9ic2Vy
dmVySW52YWxpZGF0ZShvYnNlcnZlcik7CisgICAgQ0ZSZWxlYXNlKG9ic2VydmVyKTsKK30KKwor
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGxNZW1vcnlSZWxlYXNlQmxvY2sodm9p
ZCAoXnJlbGVhc2VNZW1vcnlCbG9jaykoKSwgYm9vbCBjbGVhclByZXNzdXJlT25NZW1vcnlSZWxl
YXNlKQoreworICAgIGlmIChtX2luc3RhbGxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcmVs
ZWFzZU1lbW9yeUJsb2NrID0gQmxvY2tfY29weShyZWxlYXNlTWVtb3J5QmxvY2spOworICAgIG1f
Y2xlYXJQcmVzc3VyZU9uTWVtb3J5UmVsZWFzZSA9IGNsZWFyUHJlc3N1cmVPbk1lbW9yeVJlbGVh
c2U7CisgICAgbV9pbnN0YWxsZWQgPSB0cnVlOworfQorCit2b2lkIE1lbW9yeVByZXNzdXJlSGFu
ZGxlcjo6c2V0UmVjZWl2ZWRNZW1vcnlQcmVzc3VyZShNZW1vcnlQcmVzc3VyZVJlYXNvbiByZWFz
b24pCit7CisgICAgT1NBdG9taWNUZXN0QW5kU2V0KDAsICZtX3JlY2VpdmVkTWVtb3J5UHJlc3N1
cmUpOworCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9vYnNlcnZlck11dGV4
KTsKKyAgICAgICAgaWYgKCFtX29ic2VydmVyKSB7CisgICAgICAgICAgICBtX29ic2VydmVyID0g
Q0ZSdW5Mb29wT2JzZXJ2ZXJDcmVhdGUoTlVMTCwga0NGUnVuTG9vcEJlZm9yZVdhaXRpbmcgfCBr
Q0ZSdW5Mb29wRXhpdCwgTk8gLyogZG9uJ3QgcmVwZWF0ICovLAorICAgICAgICAgICAgICAgIDAs
IFdlYkNvcmU6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlQ2FsbGJhY2ssIE5VTEwpOworICAgICAg
ICAgICAgQ0ZSdW5Mb29wQWRkT2JzZXJ2ZXIoV2ViVGhyZWFkUnVuTG9vcCgpLCBtX29ic2VydmVy
LCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOworICAgICAgICAgICAgQ0ZSdW5Mb29wV2FrZVVwKFdl
YlRocmVhZFJ1bkxvb3AoKSk7CisgICAgICAgIH0KKyAgICAgICAgbV9tZW1vcnlQcmVzc3VyZVJl
YXNvbiB8PSByZWFzb247CisgICAgfQorfQorCitib29sIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6
aGFzUmVjZWl2ZWRNZW1vcnlQcmVzc3VyZSgpCit7CisgICAgcmV0dXJuIE9TQXRvbWljT3IzMigw
LCAmbV9yZWNlaXZlZE1lbW9yeVByZXNzdXJlKTsKK30KKwordm9pZCBNZW1vcnlQcmVzc3VyZUhh
bmRsZXI6OmNsZWFyTWVtb3J5UHJlc3N1cmUoKQoreworICAgIE9TQXRvbWljVGVzdEFuZENsZWFy
KDAsICZtX3JlY2VpdmVkTWVtb3J5UHJlc3N1cmUpOworCisgICAgeworICAgICAgICBNdXRleExv
Y2tlciBsb2NrZXIobV9vYnNlcnZlck11dGV4KTsKKyAgICAgICAgbV9tZW1vcnlQcmVzc3VyZVJl
YXNvbiA9IE1lbW9yeVByZXNzdXJlUmVhc29uTm9uZTsKKyAgICB9Cit9CisKK2Jvb2wgTWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpzaG91bGRXYWl0Rm9yTWVtb3J5Q2xlYXJNZXNzYWdlKCkKK3sKKyAg
ICBNdXRleExvY2tlciBsb2NrZXIobV9vYnNlcnZlck11dGV4KTsKKyAgICByZXR1cm4gbV9tZW1v
cnlQcmVzc3VyZVJlYXNvbiAmIE1lbW9yeVByZXNzdXJlUmVhc29uVk1TdGF0dXM7Cit9CisKK3Zv
aWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVzc3VyZUlmTmVlZGVk
KCkKK3sKKyAgICBBU1NFUlQoV2ViVGhyZWFkSXNMb2NrZWRPckRpc2FibGVkKCkpOworCisgICAg
eworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9vYnNlcnZlck11dGV4KTsKKyAgICAgICAg
bV9vYnNlcnZlciA9IDA7CisgICAgfQorCisgICAgaWYgKGhhc1JlY2VpdmVkTWVtb3J5UHJlc3N1
cmUoKSkgeworICAgICAgICBBU1NFUlQobV9yZWxlYXNlTWVtb3J5QmxvY2spOworICAgICAgICBM
T0coTWVtb3J5UHJlc3N1cmUsICJIYW5kbGUgbWVtb3J5IHByZXNzdXJlIGF0ICVzIiwgX19QUkVU
VFlfRlVOQ1RJT05fXyk7CisgICAgICAgIG1fcmVsZWFzZU1lbW9yeUJsb2NrKCk7CisgICAgICAg
IGlmIChtX2NsZWFyUHJlc3N1cmVPbk1lbW9yeVJlbGVhc2UpCisgICAgICAgICAgICBjbGVhck1l
bW9yeVByZXNzdXJlKCk7CisgICAgfQorfQorCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL01lbW9yeVByZXNz
dXJlSGFuZGxlcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9NZW1vcnlQcmVz
c3VyZUhhbmRsZXJJT1MubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhN2Q5NDku
LjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL01lbW9yeVByZXNzdXJl
SGFuZGxlcklPUy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0j
aW1wb3J0ICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKLQotI2ltcG9ydCAiSU9TdXJmYWNlUG9v
bC5oIgotI2ltcG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiU3lzdGVtTWVtb3J5LmgiCi0jaW1w
b3J0ICJXZWJDb3JlVGhyZWFkLmgiCi0jaW1wb3J0IDxsaWJrZXJuL09TQXRvbWljLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIHZvaWQgcmVzcG9uZFRvTWVtb3J5UHJlc3N1cmVD
YWxsYmFjayhDRlJ1bkxvb3BPYnNlcnZlclJlZiBvYnNlcnZlciwgQ0ZSdW5Mb29wQWN0aXZpdHkg
LyphY3Rpdml0eSovLCB2b2lkKiAvKmluZm8qLykKLXsKLSAgICBtZW1vcnlQcmVzc3VyZUhhbmRs
ZXIoKS5yZXNwb25kVG9NZW1vcnlQcmVzc3VyZUlmTmVlZGVkKCk7Ci0gICAgQ0ZSdW5Mb29wT2Jz
ZXJ2ZXJJbnZhbGlkYXRlKG9ic2VydmVyKTsKLSAgICBDRlJlbGVhc2Uob2JzZXJ2ZXIpOwotfQot
Ci12b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbE1lbW9yeVJlbGVhc2VCbG9jayh2
b2lkIChecmVsZWFzZU1lbW9yeUJsb2NrKSgpLCBib29sIGNsZWFyUHJlc3N1cmVPbk1lbW9yeVJl
bGVhc2UpCi17Ci0gICAgaWYgKG1faW5zdGFsbGVkKQotICAgICAgICByZXR1cm47Ci0gICAgbV9y
ZWxlYXNlTWVtb3J5QmxvY2sgPSBCbG9ja19jb3B5KHJlbGVhc2VNZW1vcnlCbG9jayk7Ci0gICAg
bV9jbGVhclByZXNzdXJlT25NZW1vcnlSZWxlYXNlID0gY2xlYXJQcmVzc3VyZU9uTWVtb3J5UmVs
ZWFzZTsKLSAgICBtX2luc3RhbGxlZCA9IHRydWU7Ci19Ci0KLXZvaWQgTWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjpzZXRSZWNlaXZlZE1lbW9yeVByZXNzdXJlKE1lbW9yeVByZXNzdXJlUmVhc29uIHJl
YXNvbikKLXsKLSAgICBPU0F0b21pY1Rlc3RBbmRTZXQoMCwgJm1fcmVjZWl2ZWRNZW1vcnlQcmVz
c3VyZSk7Ci0KLSAgICB7Ci0gICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX29ic2VydmVyTXV0
ZXgpOwotICAgICAgICBpZiAoIW1fb2JzZXJ2ZXIpIHsKLSAgICAgICAgICAgIG1fb2JzZXJ2ZXIg
PSBDRlJ1bkxvb3BPYnNlcnZlckNyZWF0ZShOVUxMLCBrQ0ZSdW5Mb29wQmVmb3JlV2FpdGluZyB8
IGtDRlJ1bkxvb3BFeGl0LCBOTyAvKiBkb24ndCByZXBlYXQgKi8sCi0gICAgICAgICAgICAgICAg
MCwgV2ViQ29yZTo6cmVzcG9uZFRvTWVtb3J5UHJlc3N1cmVDYWxsYmFjaywgTlVMTCk7Ci0gICAg
ICAgICAgICBDRlJ1bkxvb3BBZGRPYnNlcnZlcihXZWJUaHJlYWRSdW5Mb29wKCksIG1fb2JzZXJ2
ZXIsIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7Ci0gICAgICAgICAgICBDRlJ1bkxvb3BXYWtlVXAo
V2ViVGhyZWFkUnVuTG9vcCgpKTsKLSAgICAgICAgfQotICAgICAgICBtX21lbW9yeVByZXNzdXJl
UmVhc29uIHw9IHJlYXNvbjsKLSAgICB9Ci19Ci0KLWJvb2wgTWVtb3J5UHJlc3N1cmVIYW5kbGVy
OjpoYXNSZWNlaXZlZE1lbW9yeVByZXNzdXJlKCkKLXsKLSAgICByZXR1cm4gT1NBdG9taWNPcjMy
KDAsICZtX3JlY2VpdmVkTWVtb3J5UHJlc3N1cmUpOwotfQotCi12b2lkIE1lbW9yeVByZXNzdXJl
SGFuZGxlcjo6Y2xlYXJNZW1vcnlQcmVzc3VyZSgpCi17Ci0gICAgT1NBdG9taWNUZXN0QW5kQ2xl
YXIoMCwgJm1fcmVjZWl2ZWRNZW1vcnlQcmVzc3VyZSk7Ci0KLSAgICB7Ci0gICAgICAgIE11dGV4
TG9ja2VyIGxvY2tlcihtX29ic2VydmVyTXV0ZXgpOwotICAgICAgICBtX21lbW9yeVByZXNzdXJl
UmVhc29uID0gTWVtb3J5UHJlc3N1cmVSZWFzb25Ob25lOwotICAgIH0KLX0KLQotYm9vbCBNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6OnNob3VsZFdhaXRGb3JNZW1vcnlDbGVhck1lc3NhZ2UoKQotewot
ICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX29ic2VydmVyTXV0ZXgpOwotICAgIHJldHVybiBtX21l
bW9yeVByZXNzdXJlUmVhc29uICYgTWVtb3J5UHJlc3N1cmVSZWFzb25WTVN0YXR1czsKLX0KLQot
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlSWZOZWVk
ZWQoKQotewotICAgIEFTU0VSVChXZWJUaHJlYWRJc0xvY2tlZE9yRGlzYWJsZWQoKSk7Ci0KLSAg
ICB7Ci0gICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX29ic2VydmVyTXV0ZXgpOwotICAgICAg
ICBtX29ic2VydmVyID0gMDsKLSAgICB9Ci0KLSAgICBpZiAoaGFzUmVjZWl2ZWRNZW1vcnlQcmVz
c3VyZSgpKSB7Ci0gICAgICAgIEFTU0VSVChtX3JlbGVhc2VNZW1vcnlCbG9jayk7Ci0gICAgICAg
IExPRyhNZW1vcnlQcmVzc3VyZSwgIkhhbmRsZSBtZW1vcnkgcHJlc3N1cmUgYXQgJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKLSAgICAgICAgbV9yZWxlYXNlTWVtb3J5QmxvY2soKTsKLSAgICAg
ICAgaWYgKG1fY2xlYXJQcmVzc3VyZU9uTWVtb3J5UmVsZWFzZSkKLSAgICAgICAgICAgIGNsZWFy
TWVtb3J5UHJlc3N1cmUoKTsKLSAgICB9Ci19Ci0KLXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVy
OjpwbGF0Zm9ybVJlbGVhc2VNZW1vcnkoYm9vbCkKLXsKLSNpZiBVU0UoSU9TVVJGQUNFKQotICAg
IElPU3VyZmFjZVBvb2w6OnNoYXJlZFBvb2woKS5kaXNjYXJkQWxsU3VyZmFjZXMoKTsKLSNlbmRp
ZgotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYjI4YzM1Ni4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tCisrKyAvZGV2L251bGwKQEAg
LTEsMTUxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIk1lbW9yeVByZXNzdXJlSGFu
ZGxlci5oIgotCi0jaWYgIVBMQVRGT1JNKElPUykKLQotI2ltcG9ydCAiSU9TdXJmYWNlUG9vbC5o
IgotI2ltcG9ydCAiR0NDb250cm9sbGVyLmgiCi0jaW1wb3J0ICJMYXllclBvb2wuaCIKLSNpbXBv
cnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKLSNpbXBvcnQgPG1hbGxvYy9tYWxsb2MuaD4K
LSNpbXBvcnQgPG5vdGlmeS5oPgotI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGRpc3BhdGNoX3NvdXJjZV90IF9jYWNoZV9ldmVudF9z
b3VyY2UgPSAwOwotc3RhdGljIGRpc3BhdGNoX3NvdXJjZV90IF90aW1lcl9ldmVudF9zb3VyY2Ug
PSAwOwotc3RhdGljIGludCBfbm90aWZ5VG9rZW47Ci0KLS8vIERpc2FibGUgbWVtb3J5IGV2ZW50
IHJlY2VwdGlvbiBmb3IgYSBtaW5pbXVtIG9mIHNfbWluaW11bUhvbGRPZmZUaW1lCi0vLyBzZWNv
bmRzIGFmdGVyIHJlY2VpdmluZyBhbiBldmVudC4gIERvbid0IGxldCBldmVudHMgZmlyZSBhbnkg
c29vbmVyIHRoYW4KLS8vIHNfaG9sZE9mZk11bHRpcGxpZXIgdGltZXMgdGhlIGxhc3QgY2xlYW51
cCBwcm9jZXNzaW5nIHRpbWUuICBFZmZlY3RpdmVseSAKLS8vIHRoaXMgaXMgMSAvIHNfaG9sZE9m
Zk11bHRpcGxpZXIgcGVyY2VudCBvZiB0aGUgdGltZS4KLS8vIFRoZXNlIHZhbHVlIHNlZW1zIHJl
YXNvbmFibGUgYW5kIHRlc3RpbmcgdmVyaWZpZXMgdGhhdCBpdCB0aHJvdHRsZXMgZnJlcXVlbnQK
LS8vIGxvdyBtZW1vcnkgZXZlbnRzLCBncmVhdGx5IHJlZHVjaW5nIENQVSB1c2FnZS4KLXN0YXRp
YyBjb25zdCB1bnNpZ25lZCBzX21pbmltdW1Ib2xkT2ZmVGltZSA9IDU7Ci1zdGF0aWMgY29uc3Qg
dW5zaWduZWQgc19ob2xkT2ZmTXVsdGlwbGllciA9IDIwOwotCi12b2lkIE1lbW9yeVByZXNzdXJl
SGFuZGxlcjo6aW5zdGFsbCgpCi17Ci0gICAgaWYgKG1faW5zdGFsbGVkIHx8IF90aW1lcl9ldmVu
dF9zb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIF57Ci0jaWYgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTA5MAotICAgICAgICBfY2FjaGVfZXZlbnRfc291cmNlID0gd2tDcmVhdGVNZW1vcnlTdGF0
dXNQcmVzc3VyZUNyaXRpY2FsRGlzcGF0Y2hPbk1haW5RdWV1ZSgpOwotI2Vsc2UKLSAgICAgICAg
X2NhY2hlX2V2ZW50X3NvdXJjZSA9IHdrQ3JlYXRlVk1QcmVzc3VyZURpc3BhdGNoT25NYWluUXVl
dWUoKTsKLSNlbmRpZgotICAgICAgICBpZiAoX2NhY2hlX2V2ZW50X3NvdXJjZSkgewotICAgICAg
ICAgICAgZGlzcGF0Y2hfc2V0X2NvbnRleHQoX2NhY2hlX2V2ZW50X3NvdXJjZSwgdGhpcyk7Ci0g
ICAgICAgICAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoX2NhY2hlX2V2ZW50
X3NvdXJjZSwgXnsgbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkucmVzcG9uZFRvTWVtb3J5UHJlc3N1
cmUoKTt9KTsKLSAgICAgICAgICAgIGRpc3BhdGNoX3Jlc3VtZShfY2FjaGVfZXZlbnRfc291cmNl
KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgLy8gQWxsb3cgc2ltdWxhdGlvbiBvZiBtZW1v
cnkgcHJlc3N1cmUgd2l0aCAibm90aWZ5dXRpbCAtcCBvcmcuV2ViS2l0Lmxvd01lbW9yeSIKLSAg
ICBub3RpZnlfcmVnaXN0ZXJfZGlzcGF0Y2goIm9yZy5XZWJLaXQubG93TWVtb3J5IiwgJl9ub3Rp
ZnlUb2tlbiwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXihpbnQpIHsKLQotICAgICAgICAv
LyBXZSBvbmx5IGRvIGEgc3luY2hyb25vdXMgR0Mgd2hlbiAqc2ltdWxhdGluZyogbWVtb3J5IHBy
ZXNzdXJlLgotICAgICAgICAvLyBUaGlzIGdpdmVzIHVzIGEgbW9yZSBjb25zaXN0ZW50IHBpY3R1
cmUgb2YgbGl2ZSBvYmplY3RzIGF0IHRoZSBlbmQgb2YgdGVzdGluZy4KLSAgICAgICAgZ2NDb250
cm9sbGVyKCkuZ2FyYmFnZUNvbGxlY3ROb3coKTsKLQotICAgICAgICBtZW1vcnlQcmVzc3VyZUhh
bmRsZXIoKS5yZXNwb25kVG9NZW1vcnlQcmVzc3VyZSgpOwotICAgICAgICBtYWxsb2Nfem9uZV9w
cmVzc3VyZV9yZWxpZWYobnVsbHB0ciwgMCk7Ci0gICAgfSk7Ci0KLSAgICBtX2luc3RhbGxlZCA9
IHRydWU7Ci19Ci0KLXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjp1bmluc3RhbGwoKQotewot
ICAgIGlmICghbV9pbnN0YWxsZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRpc3BhdGNoX2Fz
eW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgIGlmIChfY2FjaGVfZXZl
bnRfc291cmNlKSB7Ci0gICAgICAgICAgICBkaXNwYXRjaF9zb3VyY2VfY2FuY2VsKF9jYWNoZV9l
dmVudF9zb3VyY2UpOwotICAgICAgICAgICAgZGlzcGF0Y2hfcmVsZWFzZShfY2FjaGVfZXZlbnRf
c291cmNlKTsKLSAgICAgICAgICAgIF9jYWNoZV9ldmVudF9zb3VyY2UgPSAwOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKF90aW1lcl9ldmVudF9zb3VyY2UpIHsKLSAgICAgICAgICAgIGRpc3Bh
dGNoX3NvdXJjZV9jYW5jZWwoX3RpbWVyX2V2ZW50X3NvdXJjZSk7Ci0gICAgICAgICAgICBkaXNw
YXRjaF9yZWxlYXNlKF90aW1lcl9ldmVudF9zb3VyY2UpOwotICAgICAgICAgICAgX3RpbWVyX2V2
ZW50X3NvdXJjZSA9IDA7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIG1faW5zdGFsbGVkID0g
ZmFsc2U7Ci0gICAgCi0gICAgbm90aWZ5X2NhbmNlbChfbm90aWZ5VG9rZW4pOwotfQotCi12b2lk
IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQotewotICAg
IGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgIF90
aW1lcl9ldmVudF9zb3VyY2UgPSBkaXNwYXRjaF9zb3VyY2VfY3JlYXRlKERJU1BBVENIX1NPVVJD
RV9UWVBFX1RJTUVSLCAwLCAwLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpKTsKLSAgICAgICAg
aWYgKF90aW1lcl9ldmVudF9zb3VyY2UpIHsKLSAgICAgICAgICAgIGRpc3BhdGNoX3NldF9jb250
ZXh0KF90aW1lcl9ldmVudF9zb3VyY2UsIHRoaXMpOwotICAgICAgICAgICAgZGlzcGF0Y2hfc291
cmNlX3NldF90aW1lcihfdGltZXJfZXZlbnRfc291cmNlLCBkaXNwYXRjaF90aW1lKERJU1BBVENI
X1RJTUVfTk9XLCBzZWNvbmRzICogTlNFQ19QRVJfU0VDKSwgRElTUEFUQ0hfVElNRV9GT1JFVkVS
LCAxICogc19taW5pbXVtSG9sZE9mZlRpbWUpOwotICAgICAgICAgICAgZGlzcGF0Y2hfc291cmNl
X3NldF9ldmVudF9oYW5kbGVyKF90aW1lcl9ldmVudF9zb3VyY2UsIF57Ci0gICAgICAgICAgICAg
ICAgaWYgKF90aW1lcl9ldmVudF9zb3VyY2UpIHsKLSAgICAgICAgICAgICAgICAgICAgZGlzcGF0
Y2hfc291cmNlX2NhbmNlbChfdGltZXJfZXZlbnRfc291cmNlKTsKLSAgICAgICAgICAgICAgICAg
ICAgZGlzcGF0Y2hfcmVsZWFzZShfdGltZXJfZXZlbnRfc291cmNlKTsKLSAgICAgICAgICAgICAg
ICAgICAgX3RpbWVyX2V2ZW50X3NvdXJjZSA9IDA7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlcigpLmluc3RhbGwoKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgZGlzcGF0Y2hfcmVzdW1lKF90aW1lcl9ldmVudF9zb3VyY2UpOwot
ICAgICAgICB9Ci0gICAgfSk7Ci19Ci0KLXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNw
b25kVG9NZW1vcnlQcmVzc3VyZSgpCi17Ci0gICAgdW5pbnN0YWxsKCk7Ci0KLSAgICBkb3VibGUg
c3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0KLSAgICBtX2xvd01l
bW9yeUhhbmRsZXIoZmFsc2UpOwotCi0gICAgdW5zaWduZWQgaG9sZE9mZlRpbWUgPSAobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWUpICogc19ob2xkT2ZmTXVsdGlwbGll
cjsKLQotICAgIGhvbGRPZmYoc3RkOjptYXgoaG9sZE9mZlRpbWUsIHNfbWluaW11bUhvbGRPZmZU
aW1lKSk7Ci19Ci0KLXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpwbGF0Zm9ybVJlbGVhc2VN
ZW1vcnkoYm9vbCkKLXsKLSAgICBMYXllclBvb2w6OnNoYXJlZFBvb2woKS0+ZHJhaW4oKTsKLSAg
ICBJT1N1cmZhY2VQb29sOjpzaGFyZWRQb29sKCkuZGlzY2FyZEFsbFN1cmZhY2VzKCk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>