<?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>227916</bug_id>
          
          <creation_ts>2021-07-13 12:59:39 -0700</creation_ts>
          <short_desc>[WK2] Push OS state dumping logic down from WebProcess to AuxiliaryProcess</short_desc>
          <delta_ts>2021-07-13 21:37:14 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>227917</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776730</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 12:59:39 -0700</bug_when>
    <thetext>...with the intention of using it for `GPUProcess` as well, in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776733</commentid>
    <comment_count>1</comment_count>
      <attachid>433445</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 13:16:46 -0700</bug_when>
    <thetext>Created attachment 433445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776831</commentid>
    <comment_count>2</comment_count>
      <attachid>433445</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-13 18:24:51 -0700</bug_when>
    <thetext>Comment on attachment 433445
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=433445&amp;action=review

&gt; Source/WebKit/WebProcess/WebProcess.h:413
&gt; +    RetainPtr&lt;NSDictionary&gt; dictionaryForStateDumper() const final;

Can we make it more clear in the name what this is about? Every time I have encountered this function before it was wildly unclear what state was being dumped and why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776836</commentid>
    <comment_count>3</comment_count>
      <attachid>433445</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 18:37:35 -0700</bug_when>
    <thetext>Comment on attachment 433445
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=433445&amp;action=review

&gt;&gt; Source/WebKit/WebProcess/WebProcess.h:413
&gt;&gt; +    RetainPtr&lt;NSDictionary&gt; dictionaryForStateDumper() const final;
&gt; 
&gt; Can we make it more clear in the name what this is about? Every time I have encountered this function before it was wildly unclear what state was being dumped and why.

Sounds good! I&apos;ll rename this to `additionalStateForDiagnosticReport` as we discussed on Slack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776837</commentid>
    <comment_count>4</comment_count>
      <attachid>433470</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 18:41:48 -0700</bug_when>
    <thetext>Created attachment 433470
Rename method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776843</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-13 19:42:19 -0700</bug_when>
    <thetext>Committed r279902 (239651@main): &lt;https://commits.webkit.org/239651@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433470.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776844</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-13 19:43:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80552993&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433445</attachid>
            <date>2021-07-13 13:16:46 -0700</date>
            <delta_ts>2021-07-13 18:41:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227916-20210713131645.patch</filename>
            <type>text/plain</type>
            <size>12696</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjODc3MDQ3MDllYTVjMDM4
MzNkMDgxY2JlNGU2OGMyODhhZjg2N2MuLjgxZmJmMmZjM2NkNDhlNzQ4ZjFkMGU0NDVjNDNjNGE2
NTM2OTY1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDctMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gUHVzaCBPUyBz
dGF0ZSBkdW1waW5nIGxvZ2ljIGRvd24gZnJvbSBXZWJQcm9jZXNzIHRvIEF1eGlsaWFyeVByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFj
dG9yIHN0YXRlIGR1bXBpbmcgcmVnaXN0cmF0aW9uIGNvZGUgaW4gcHJlcGFyYXRpb24gZm9yIHN1
cHBvcnRpbmcgc3RhdGUgZHVtcGluZyBpbiB0aGUgR1BVIHByb2Nlc3Mgb24gQ29jb2EKKyAgICAg
ICAgcGxhdGZvcm1zIHdoZW4gdHJpZ2dlcmluZyBzeXN0ZW0gZGlhZ25vc3RpY3MuIFRoZSBsb2dp
YyB0aGF0IGN1cnJlbnRseSBsaXZlcyBpbgorICAgICAgICBgV2ViUHJvY2Vzczo6cmVnaXN0ZXJX
aXRoU3RhdGVEdW1wZXJgIGlzIGNvbXByaXNlZCBvZiB0d28gcGFydHM6ICgxKSBjb2RlIHRoYXQg
Y2FsbHMgYG9zX3N0YXRlX2FkZF9oYW5kbGVyYCB3aXRoCisgICAgICAgIGEgYG9zX3N0YXRlX2Rh
dGFfdGAgcHJvdmlkZXIsIGFuZCAoMikgY29kZSB0aGF0IGJ1aWxkcyBhIGRpY3Rpb25hcnkgY29u
dGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIHNwZWNpZmljCisgICAgICAgIHRvIHRoZSB3
ZWIgcHJvY2Vzcy4KKworICAgICAgICBTaW5jZSBHUFVQcm9jZXNzIHdpbGwgcmVxdWlyZSBvbmx5
IHRoZSBmb3JtZXIsIHdlIGhvaXN0IGxvZ2ljIGZvciAoMSkgaW50byB0aGUgc3VwZXJjbGFzcyAo
QXV4aWxpYXJ5UHJvY2Vzcykgc28KKyAgICAgICAgdGhhdCBib3RoIEdQVVByb2Nlc3MgYW5kIFdl
YlByb2Nlc3MgY2FuIGludm9rZSBpdCwgYW5kIHJlZmFjdG9yICgyKSB0byBiZSBhIHZpcnR1YWwg
bWV0aG9kIHRoYXQgbWF5IGJlCisgICAgICAgIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyB0byBw
cm92aWRlIHByb2Nlc3Mtc3BlY2lmaWMgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQv
QXV4aWxpYXJ5UHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzOjpk
aWN0aW9uYXJ5Rm9yU3RhdGVEdW1wZXIgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9B
dXhpbGlhcnlQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nl
c3M6OnJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKToKKworICAgICAgICBBZGRpdGlvbmFsbHkgbWFr
ZSB0aGlzIHRha2UgdGhlIHRpdGxlIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBsYWJlbCB0
aGUgc3RhdGUgZGF0YSwgdG8gYXZvaWQgdGhlIG5lZWQgZm9yIGEKKyAgICAgICAgc2Vjb25kIHN1
YmNsYXNzaW5nIG1ldGhvZCB0byBwcm92aWRlIHRoZSB0aXRsZS4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWN0aW9uYXJ5Rm9yU3Rh
dGVEdW1wZXIgY29uc3QpOgorCisgICAgICAgIFB1bGwgbG9naWMgZm9yIGNvbGxlY3RpbmcgZGlh
Z25vc3RpYyBpbmZvcm1hdGlvbiBpbiB0aGUgd2ViIHByb2Nlc3Mgb3V0IGludG8gYSBzZXBhcmF0
ZSBoZWxwZXIgbWV0aG9kLgorCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpyZWdpc3Rl
cldpdGhTdGF0ZUR1bXBlcik6IERlbGV0ZWQuCisKIDIwMjEtMDctMTMgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBpT1MvdHZP
Uy93YXRjaE9TIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1
eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3Mu
aAppbmRleCA1NGZkYzMwYTI2M2UzY2Q2NmNhNmZiNzNhNDk3Mjk5Y2Q4ODFhNjM0Li5hMjRmZTM3
MzhhM2ViYjViNjNkNTk2MWRlZjcyOGUxYmJlYjQ1MGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
QXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0zNiw2ICszNiwxMiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIFBM
QVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNlbmRpZgorCitPQkpD
X0NMQVNTIE5TRGljdGlvbmFyeTsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnM7CkBAIC0xMDcsNiArMTEzLDExIEBAIHByb3RlY3Rl
ZDoKIAogICAgIHZpcnR1YWwgdm9pZCBzdG9wUnVuTG9vcCgpOwogCisjaWYgVVNFKE9TX1NUQVRF
KQorICAgIHZvaWQgcmVnaXN0ZXJXaXRoU3RhdGVEdW1wZXIoQVNDSUlMaXRlcmFsIHRpdGxlKTsK
KyAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRpY3Rpb25hcnlGb3JTdGF0ZUR1
bXBlcigpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorI2VuZGlmIC8vIFVTRShPU19TVEFURSkKKwog
I2lmIFVTRShBUFBLSVQpCiAgICAgc3RhdGljIHZvaWQgc3RvcE5TQXBwUnVuTG9vcCgpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdXhpbGlhcnlQcm9j
ZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdXhpbGlhcnlQcm9jZXNz
Q29jb2EubW0KaW5kZXggMDI3NzM1MTJkZDExODkxZTQxYzgwOTkwZWE3NDdkZmIwMTMwODNhMS4u
ZDUyNzY2MTVhNzQ2ZmNmM2NkMjA0MWIyM2Q5MzVmOWM5ZDEzYzdkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxpYXJ5UHJvY2Vzc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1eGlsaWFyeVByb2Nlc3NDb2NvYS5tbQpAQCAtMjYs
NiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJBdXhpbGlhcnlQcm9jZXNz
LmgiCiAKKyNpbXBvcnQgIk9TU3RhdGVTUEkuaCIKICNpbXBvcnQgIldLQ3Jhc2hSZXBvcnRlci5o
IgogI2ltcG9ydCAiWFBDU2VydmljZUVudHJ5UG9pbnQuaCIKICNpbXBvcnQgPFdlYkNvcmUvRmxv
YXRpbmdQb2ludEVudmlyb25tZW50Lmg+CkBAIC04MSw0ICs4Miw1MiBAQCB2b2lkIEF1eGlsaWFy
eVByb2Nlc3M6OnBsYXRmb3JtU3RvcFJ1bkxvb3AoKQogICAgIFhQQ1NlcnZpY2VFeGl0KFdURk1v
dmUobV9wcmlvcml0eUJvb3N0TWVzc2FnZSkpOwogfQogCisjaWYgVVNFKE9TX1NUQVRFKQorCit2
b2lkIEF1eGlsaWFyeVByb2Nlc3M6OnJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKEFTQ0lJTGl0ZXJh
bCB0aXRsZSkKK3sKKyAgICBvc19zdGF0ZV9hZGRfaGFuZGxlcihkaXNwYXRjaF9nZXRfbWFpbl9x
dWV1ZSgpLCBbdGhpcywgdGl0bGVdIChvc19zdGF0ZV9oaW50c190IGhpbnRzKSB7CisgICAgICAg
IEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgb3Nfc3RhdGVfZGF0YV90IG9zX3N0YXRl
ID0gbnVsbHB0cjsKKworICAgICAgICAgICAgLy8gT25seSBnYXRoZXIgc3RhdGUgb24gZmF1bHRz
IGFuZCBzeXNkaWFnbm9zZS4gSXQncyBvdmVya2lsbCBmb3IKKyAgICAgICAgICAgIC8vIGdlbmVy
YWwgZXJyb3IgbWVzc2FnZXMuCisgICAgICAgICAgICBpZiAoaGludHMtPm9zaF9hcGkgPT0gT1Nf
U1RBVEVfQVBJX0VSUk9SKQorICAgICAgICAgICAgICAgIHJldHVybiBvc19zdGF0ZTsKKworICAg
ICAgICAgICAgYXV0byBzdGF0ZURpY3Rpb25hcnkgPSBkaWN0aW9uYXJ5Rm9yU3RhdGVEdW1wZXIo
KTsKKworICAgICAgICAgICAgLy8gU3VibWl0dGluZyBhbiBlbXB0eSBwcm9jZXNzIHN0YXRlIG9i
amVjdCBtYXkgcHJvdmlkZSBhbgorICAgICAgICAgICAgLy8gaW5kaWNhdGlvbiBvZiB0aGUgZXhp
c3RhbmNlIG9mIHByaXZhdGUgc2Vzc2lvbnMsIHdoaWNoIHdlJ2QgbGlrZQorICAgICAgICAgICAg
Ly8gdG8gaGlkZSwgc28gZG9uJ3QgcmV0dXJuIGVtcHR5IGRpY3Rpb25hcmllcy4KKyAgICAgICAg
ICAgIGlmICghW3N0YXRlRGljdGlvbmFyeSBjb3VudF0pCisgICAgICAgICAgICAgICAgcmV0dXJu
IG9zX3N0YXRlOworCisgICAgICAgICAgICAvLyBTZXJpYWxpemUgdGhlIGFjY3VtdWxhdGVkIHBy
b2Nlc3Mgc3RhdGUgc28gdGhhdCB3ZSBjYW4gcHV0IHRoZQorICAgICAgICAgICAgLy8gcmVzdWx0
IGluIGFuIG9zX3N0YXRlX2RhdGFfdCBzdHJ1Y3R1cmUuCisgICAgICAgICAgICBOU0Vycm9yICpl
cnJvciA9IG5pbDsKKyAgICAgICAgICAgIGF1dG8gZGF0YSA9IFtOU1Byb3BlcnR5TGlzdFNlcmlh
bGl6YXRpb24gZGF0YVdpdGhQcm9wZXJ0eUxpc3Q6c3RhdGVEaWN0aW9uYXJ5LmdldCgpIGZvcm1h
dDpOU1Byb3BlcnR5TGlzdEJpbmFyeUZvcm1hdF92MV8wIG9wdGlvbnM6MCBlcnJvcjomZXJyb3Jd
OworCisgICAgICAgICAgICBpZiAoIWRhdGEpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoZGF0
YSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG9zX3N0YXRlOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBhdXRvIG5lZWRlZFNpemUgPSBPU19TVEFURV9EQVRBX1NJWkVfTkVFREVEKGRh
dGEubGVuZ3RoKTsKKyAgICAgICAgICAgIG9zX3N0YXRlID0gKG9zX3N0YXRlX2RhdGFfdCltYWxs
b2MobmVlZGVkU2l6ZSk7CisgICAgICAgICAgICBpZiAob3Nfc3RhdGUpIHsKKyAgICAgICAgICAg
ICAgICBtZW1zZXQob3Nfc3RhdGUsIDAsIG5lZWRlZFNpemUpOworICAgICAgICAgICAgICAgIG9z
X3N0YXRlLT5vc2RfdHlwZSA9IE9TX1NUQVRFX0RBVEFfU0VSSUFMSVpFRF9OU0NGX09CSkVDVDsK
KyAgICAgICAgICAgICAgICBvc19zdGF0ZS0+b3NkX2RhdGFfc2l6ZSA9IGRhdGEubGVuZ3RoOwor
ICAgICAgICAgICAgICAgIHN0cmxjcHkob3Nfc3RhdGUtPm9zZF90aXRsZSwgdGl0bGUuY2hhcmFj
dGVycygpLCBzaXplb2Yob3Nfc3RhdGUtPm9zZF90aXRsZSkpOworICAgICAgICAgICAgICAgIG1l
bWNweShvc19zdGF0ZS0+b3NkX2RhdGEsIGRhdGEuYnl0ZXMsIGRhdGEubGVuZ3RoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIG9zX3N0YXRlOworICAgICAgICB9CisgICAg
fSk7CiB9CisKKyNlbmRpZiAvLyBVU0UoT1NfU1RBVEUpCisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZTdjMmY3ZjI5NjBjNzM5
ZDBmMDAxNDdhMzlkYzEzNTk1Y2RiMTlhZS4uMDlhNWMzODMxYmMzNzlmMjMzNzNhODdhMmFiYzRl
YWI4YWYwYjQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC00MTAs
NyArNDEwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXdhcm1XaXRoRG9tYWluSW5mb3JtYXRp
b24oY29uc3QgV2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uJik7CiAKICNpZiBVU0UoT1NfU1RB
VEUpCi0gICAgdm9pZCByZWdpc3RlcldpdGhTdGF0ZUR1bXBlcigpOworICAgIFJldGFpblB0cjxO
U0RpY3Rpb25hcnk+IGRpY3Rpb25hcnlGb3JTdGF0ZUR1bXBlcigpIGNvbnN0IGZpbmFsOwogI2Vu
ZGlmCiAKICAgICB2b2lkIG1hcmtBbGxMYXllcnNWb2xhdGlsZShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KaW5kZXggMTMzMWZhZjVlNTFjNWQ5ZDMxODFmNWQ2NDhkOThkYTc3ZmE0ZWRm
Yy4uMjNhZGE5ZGExZWE3ZGMzM2UxNWJkNjQzYmMzZmQ5ZGJmZDk0ZThmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0zMyw3
ICszMyw2IEBACiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uaCIKLSNpbXBvcnQgIk9TU3RhdGVTUEkuaCIKICNpbXBvcnQgIk9iakNPYmplY3RHcmFwaC5o
IgogI2ltcG9ydCAiUHJvY2Vzc0Fzc2VydGlvbi5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lv
bi5oIgpAQCAtNTkxLDg2ICs1OTAsNDQgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJXaXRoQWNjZXNz
aWJpbGl0eSgpCiB9CiAKICNpZiBVU0UoT1NfU1RBVEUpCi12b2lkIFdlYlByb2Nlc3M6OnJlZ2lz
dGVyV2l0aFN0YXRlRHVtcGVyKCkKLXsKLSAgICBvc19zdGF0ZV9hZGRfaGFuZGxlcihkaXNwYXRj
aF9nZXRfbWFpbl9xdWV1ZSgpLCBeKG9zX3N0YXRlX2hpbnRzX3QgaGludHMpIHsKLQotICAgICAg
ICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgICAgIG9zX3N0YXRlX2RhdGFfdCBvc19zdGF0
ZSA9IG5pbDsKLQotICAgICAgICAgICAgLy8gT25seSBnYXRoZXIgc3RhdGUgb24gZmF1bHRzIGFu
ZCBzeXNkaWFnbm9zZS4gSXQncyBvdmVya2lsbCBmb3IKLSAgICAgICAgICAgIC8vIGdlbmVyYWwg
ZXJyb3IgbWVzc2FnZXMuCi0gICAgICAgICAgICBpZiAoaGludHMtPm9zaF9hcGkgPT0gT1NfU1RB
VEVfQVBJX0VSUk9SKQotICAgICAgICAgICAgICAgIHJldHVybiBvc19zdGF0ZTsKLQotICAgICAg
ICAgICAgLy8gQ3JlYXRlIGEgZGljdGlvbmFyeSB0byBjb250YWluIHRoZSBjb2xsZWN0ZWQgc3Rh
dGUuIFRoaXMKLSAgICAgICAgICAgIC8vIGRpY3Rpb25hcnkgd2lsbCBiZSBzZXJpYWxpemVkIGFu
ZCBwYXNzZWQgYmFjayB0byBvc19zdGF0ZS4KLSAgICAgICAgICAgIGF1dG8gc3RhdGVEaWN0ID0g
YWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKLQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGF1dG8gbWVtb3J5VXNhZ2VTdGF0cyA9IGFkb3B0TlMoW1tO
U011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICAgICAgZm9yIChh
dXRvJiBpdCA6IFBlcmZvcm1hbmNlTG9nZ2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKFNob3Vs
ZEluY2x1ZGVFeHBlbnNpdmVDb21wdXRhdGlvbnM6OlllcykpIHsKLSAgICAgICAgICAgICAgICAg
ICAgYXV0byBrZXlTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoVVRG
OFN0cmluZzppdC5rZXldKTsKLSAgICAgICAgICAgICAgICAgICAgW21lbW9yeVVzYWdlU3RhdHMg
c2V0T2JqZWN0OkAoaXQudmFsdWUpIGZvcktleTprZXlTdHJpbmcuZ2V0KCldOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBbc3RhdGVEaWN0IHNldE9iamVjdDptZW1vcnlVc2Fn
ZVN0YXRzLmdldCgpIGZvcktleTpAIk1lbW9yeSBVc2FnZSBTdGF0cyJdOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgYXV0byBqc09iamVjdENvdW50cyA9
IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAg
ICAgICAgZm9yIChhdXRvJiBpdCA6IFBlcmZvcm1hbmNlTG9nZ2luZzo6amF2YVNjcmlwdE9iamVj
dENvdW50cygpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8ga2V5U3RyaW5nID0gYWRvcHRO
UyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aFVURjhTdHJpbmc6aXQua2V5XSk7Ci0gICAgICAg
ICAgICAgICAgICAgIFtqc09iamVjdENvdW50cyBzZXRPYmplY3Q6QChpdC52YWx1ZSkgZm9yS2V5
OmtleVN0cmluZy5nZXQoKV07Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFtz
dGF0ZURpY3Qgc2V0T2JqZWN0OmpzT2JqZWN0Q291bnRzLmdldCgpIGZvcktleTpAIkphdmFTY3Jp
cHQgT2JqZWN0IENvdW50cyJdOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBhdXRvIHBh
Z2VMb2FkVGltZXMgPSBjcmVhdGVOU0FycmF5KG1fcGFnZU1hcC52YWx1ZXMoKSwgW10gKGF1dG8m
IHBhZ2UpIC0+IGlkIHsKLSAgICAgICAgICAgICAgICBpZiAocGFnZS0+dXNlc0VwaGVtZXJhbFNl
c3Npb24oKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgICAgICAgICAg
ICAgIHJldHVybiBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2UxOTcwOnBhZ2UtPmxv
YWRDb21taXRUaW1lKCkuc2Vjb25kc1NpbmNlRXBvY2goKS5zZWNvbmRzKCldOwotICAgICAgICAg
ICAgfSk7CiAKLSAgICAgICAgICAgIC8vIEFkZGluZyBhbiBlbXB0eSBhcnJheSB0byB0aGUgcHJv
Y2VzcyBzdGF0ZSBtYXkgcHJvdmlkZSBhbgotICAgICAgICAgICAgLy8gaW5kaWNhdGlvbiBvZiB0
aGUgZXhpc3RhbmNlIG9mIHByaXZhdGUgc2Vzc2lvbnMsIHdoaWNoIHdlJ2QgbGlrZQotICAgICAg
ICAgICAgLy8gdG8gaGlkZSwgc28gZG9uJ3QgYWRkIGVtcHR5IGFycmF5cy4KLSAgICAgICAgICAg
IGlmIChbcGFnZUxvYWRUaW1lcyBjb3VudF0pCi0gICAgICAgICAgICAgICAgW3N0YXRlRGljdCBz
ZXRPYmplY3Q6cGFnZUxvYWRUaW1lcy5nZXQoKSBmb3JLZXk6QCJQYWdlIExvYWQgVGltZXMiXTsK
LQotICAgICAgICAgICAgLy8gLS0tIFBvc3NpYmx5IGFkZCBvdGhlciBzdGF0ZSBoZXJlIGFzIG90
aGVyIGVudHJpZXMgaW4gdGhlIGRpY3Rpb25hcnkuIC0tLQotCi0gICAgICAgICAgICAvLyBTdWJt
aXR0aW5nIGFuIGVtcHR5IHByb2Nlc3Mgc3RhdGUgb2JqZWN0IG1heSBwcm92aWRlIGFuCi0gICAg
ICAgICAgICAvLyBpbmRpY2F0aW9uIG9mIHRoZSBleGlzdGFuY2Ugb2YgcHJpdmF0ZSBzZXNzaW9u
cywgd2hpY2ggd2UnZCBsaWtlCi0gICAgICAgICAgICAvLyB0byBoaWRlLCBzbyBkb24ndCByZXR1
cm4gZW1wdHkgZGljdGlvbmFyaWVzLgotICAgICAgICAgICAgaWYgKCFbc3RhdGVEaWN0IGNvdW50
XSkKLSAgICAgICAgICAgICAgICByZXR1cm4gb3Nfc3RhdGU7Ci0KLSAgICAgICAgICAgIC8vIFNl
cmlhbGl6ZSB0aGUgYWNjdW11bGF0ZWQgcHJvY2VzcyBzdGF0ZSBzbyB0aGF0IHdlIGNhbiBwdXQg
dGhlCi0gICAgICAgICAgICAvLyByZXN1bHQgaW4gYW4gb3Nfc3RhdGVfZGF0YV90IHN0cnVjdHVy
ZS4KLSAgICAgICAgICAgIE5TRXJyb3IqIGVycm9yID0gbmlsOwotICAgICAgICAgICAgTlNEYXRh
KiBkYXRhID0gW05TUHJvcGVydHlMaXN0U2VyaWFsaXphdGlvbiBkYXRhV2l0aFByb3BlcnR5TGlz
dDpzdGF0ZURpY3QuZ2V0KCkgZm9ybWF0Ok5TUHJvcGVydHlMaXN0QmluYXJ5Rm9ybWF0X3YxXzAg
b3B0aW9uczowIGVycm9yOiZlcnJvcl07CitSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBXZWJQcm9j
ZXNzOjpkaWN0aW9uYXJ5Rm9yU3RhdGVEdW1wZXIoKSBjb25zdAoreworICAgIGF1dG8gc3RhdGVE
aWN0aW9uYXJ5ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsK
KyAgICB7CisgICAgICAgIGF1dG8gbWVtb3J5VXNhZ2VTdGF0cyA9IGFkb3B0TlMoW1tOU011dGFi
bGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CisgICAgICAgIGZvciAoYXV0byYgaXQgOiBQZXJm
b3JtYW5jZUxvZ2dpbmc6Om1lbW9yeVVzYWdlU3RhdGlzdGljcyhTaG91bGRJbmNsdWRlRXhwZW5z
aXZlQ29tcHV0YXRpb25zOjpZZXMpKSB7CisgICAgICAgICAgICBhdXRvIGtleVN0cmluZyA9IGFk
b3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhVVEY4U3RyaW5nOml0LmtleV0pOworICAg
ICAgICAgICAgW21lbW9yeVVzYWdlU3RhdHMgc2V0T2JqZWN0OkAoaXQudmFsdWUpIGZvcktleTpr
ZXlTdHJpbmcuZ2V0KCldOworICAgICAgICB9CisgICAgICAgIFtzdGF0ZURpY3Rpb25hcnkgc2V0
T2JqZWN0Om1lbW9yeVVzYWdlU3RhdHMuZ2V0KCkgZm9yS2V5OkAiTWVtb3J5IFVzYWdlIFN0YXRz
Il07CisgICAgfQorICAgIHsKKyAgICAgICAgYXV0byBqc09iamVjdENvdW50cyA9IGFkb3B0TlMo
W1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CisgICAgICAgIGZvciAoYXV0byYg
aXQgOiBQZXJmb3JtYW5jZUxvZ2dpbmc6OmphdmFTY3JpcHRPYmplY3RDb3VudHMoKSkgeworICAg
ICAgICAgICAgYXV0byBrZXlTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRX
aXRoVVRGOFN0cmluZzppdC5rZXldKTsKKyAgICAgICAgICAgIFtqc09iamVjdENvdW50cyBzZXRP
YmplY3Q6QChpdC52YWx1ZSkgZm9yS2V5OmtleVN0cmluZy5nZXQoKV07CisgICAgICAgIH0KKyAg
ICAgICAgW3N0YXRlRGljdGlvbmFyeSBzZXRPYmplY3Q6anNPYmplY3RDb3VudHMuZ2V0KCkgZm9y
S2V5OkAiSmF2YVNjcmlwdCBPYmplY3QgQ291bnRzIl07CisgICAgfQorICAgIGF1dG8gcGFnZUxv
YWRUaW1lcyA9IGNyZWF0ZU5TQXJyYXkobV9wYWdlTWFwLnZhbHVlcygpLCBbXSAoYXV0byYgcGFn
ZSkgLT4gaWQgeworICAgICAgICBpZiAocGFnZS0+dXNlc0VwaGVtZXJhbFNlc3Npb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICAgICAgICAgIGlmICghZGF0YSkgewotICAgICAg
ICAgICAgICAgIEFTU0VSVChkYXRhKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gb3Nfc3RhdGU7
Ci0gICAgICAgICAgICB9CisgICAgICAgIHJldHVybiBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVy
dmFsU2luY2UxOTcwOnBhZ2UtPmxvYWRDb21taXRUaW1lKCkuc2Vjb25kc1NpbmNlRXBvY2goKS5z
ZWNvbmRzKCldOworICAgIH0pOwogCi0gICAgICAgICAgICBzaXplX3QgbmVlZGVkU2l6ZSA9IE9T
X1NUQVRFX0RBVEFfU0laRV9ORUVERUQoZGF0YS5sZW5ndGgpOwotICAgICAgICAgICAgb3Nfc3Rh
dGUgPSAob3Nfc3RhdGVfZGF0YV90KW1hbGxvYyhuZWVkZWRTaXplKTsKLSAgICAgICAgICAgIGlm
IChvc19zdGF0ZSkgewotICAgICAgICAgICAgICAgIG1lbXNldChvc19zdGF0ZSwgMCwgbmVlZGVk
U2l6ZSk7Ci0gICAgICAgICAgICAgICAgb3Nfc3RhdGUtPm9zZF90eXBlID0gT1NfU1RBVEVfREFU
QV9TRVJJQUxJWkVEX05TQ0ZfT0JKRUNUOwotICAgICAgICAgICAgICAgIG9zX3N0YXRlLT5vc2Rf
ZGF0YV9zaXplID0gZGF0YS5sZW5ndGg7Ci0gICAgICAgICAgICAgICAgc3RybGNweShvc19zdGF0
ZS0+b3NkX3RpdGxlLCAiV2ViQ29udGVudCBzdGF0ZSIsIHNpemVvZihvc19zdGF0ZS0+b3NkX3Rp
dGxlKSk7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KG9zX3N0YXRlLT5vc2RfZGF0YSwgZGF0YS5i
eXRlcywgZGF0YS5sZW5ndGgpOwotICAgICAgICAgICAgfQorICAgIC8vIEFkZGluZyBhbiBlbXB0
eSBhcnJheSB0byB0aGUgcHJvY2VzcyBzdGF0ZSBtYXkgcHJvdmlkZSBhbgorICAgIC8vIGluZGlj
YXRpb24gb2YgdGhlIGV4aXN0YW5jZSBvZiBwcml2YXRlIHNlc3Npb25zLCB3aGljaCB3ZSdkIGxp
a2UKKyAgICAvLyB0byBoaWRlLCBzbyBkb24ndCBhZGQgZW1wdHkgYXJyYXlzLgorICAgIGlmIChb
cGFnZUxvYWRUaW1lcyBjb3VudF0pCisgICAgICAgIFtzdGF0ZURpY3Rpb25hcnkgc2V0T2JqZWN0
OnBhZ2VMb2FkVGltZXMuZ2V0KCkgZm9yS2V5OkAiUGFnZSBMb2FkIFRpbWVzIl07CiAKLSAgICAg
ICAgICAgIHJldHVybiBvc19zdGF0ZTsKLSAgICAgICAgfQotICAgIH0pOworICAgIC8vIC0tLSBQ
b3NzaWJseSBhZGQgb3RoZXIgc3RhdGUgaGVyZSBhcyBvdGhlciBlbnRyaWVzIGluIHRoZSBkaWN0
aW9uYXJ5LiAtLS0KKyAgICByZXR1cm4gc3RhdGVEaWN0aW9uYXJ5OwogfQotI2VuZGlmCisKKyNl
bmRpZiAvLyBVU0UoT1NfU1RBVEUpCiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFs
aXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQogewpAQCAtNzAyLDcgKzY1OSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRp
b25QCiAgICAgICAgIG1fcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6V2ViQ29udGVudDsKIAog
I2lmIFVTRShPU19TVEFURSkKLSAgICByZWdpc3RlcldpdGhTdGF0ZUR1bXBlcigpOworICAgIHJl
Z2lzdGVyV2l0aFN0YXRlRHVtcGVyKCJXZWJDb250ZW50IHN0YXRlIl9zKTsKICNlbmRpZgogCiAj
aWYgSEFWRShBUFBfU1NPKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433470</attachid>
            <date>2021-07-13 18:41:48 -0700</date>
            <delta_ts>2021-07-13 21:37:14 -0700</delta_ts>
            <desc>Rename method</desc>
            <filename>bug-227916-20210713184147.patch</filename>
            <type>text/plain</type>
            <size>12752</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjODc3MDQ3MDllYTVjMDM4
MzNkMDgxY2JlNGU2OGMyODhhZjg2N2MuLmFhYzkxZTExYWM5Yjk1MGFkZjg4ZTc4MWRiZTA1NzMx
OGE5YmU3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDctMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gUHVzaCBPUyBz
dGF0ZSBkdW1waW5nIGxvZ2ljIGRvd24gZnJvbSBXZWJQcm9jZXNzIHRvIEF1eGlsaWFyeVByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgUmVmYWN0b3Ig
c3RhdGUgZHVtcGluZyByZWdpc3RyYXRpb24gY29kZSBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9y
dGluZyBzdGF0ZSBkdW1waW5nIGluIHRoZSBHUFUgcHJvY2VzcyBvbiBDb2NvYQorICAgICAgICBw
bGF0Zm9ybXMgd2hlbiB0cmlnZ2VyaW5nIHN5c3RlbSBkaWFnbm9zdGljcy4gVGhlIGxvZ2ljIHRo
YXQgY3VycmVudGx5IGxpdmVzIGluCisgICAgICAgIGBXZWJQcm9jZXNzOjpyZWdpc3RlcldpdGhT
dGF0ZUR1bXBlcmAgaXMgY29tcHJpc2VkIG9mIHR3byBwYXJ0czogKDEpIGNvZGUgdGhhdCBjYWxs
cyBgb3Nfc3RhdGVfYWRkX2hhbmRsZXJgIHdpdGgKKyAgICAgICAgYSBgb3Nfc3RhdGVfZGF0YV90
YCBwcm92aWRlciwgYW5kICgyKSBjb2RlIHRoYXQgYnVpbGRzIGEgZGljdGlvbmFyeSBjb250YWlu
aW5nIGRpYWdub3N0aWMgaW5mb3JtYXRpb24gc3BlY2lmaWMKKyAgICAgICAgdG8gdGhlIHdlYiBw
cm9jZXNzLgorCisgICAgICAgIFNpbmNlIEdQVVByb2Nlc3Mgd2lsbCByZXF1aXJlIG9ubHkgdGhl
IGZvcm1lciwgd2UgaG9pc3QgbG9naWMgZm9yICgxKSBpbnRvIHRoZSBzdXBlcmNsYXNzIChBdXhp
bGlhcnlQcm9jZXNzKSBzbworICAgICAgICB0aGF0IGJvdGggR1BVUHJvY2VzcyBhbmQgV2ViUHJv
Y2VzcyBjYW4gaW52b2tlIGl0LCBhbmQgcmVmYWN0b3IgKDIpIHRvIGJlIGEgdmlydHVhbCBtZXRo
b2QgdGhhdCBtYXkgYmUKKyAgICAgICAgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHByb3Zp
ZGUgcHJvY2Vzcy1zcGVjaWZpYyBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFNoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmFkZGl0
aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9D
b2NvYS9BdXhpbGlhcnlQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3M6OnJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKToKKworICAgICAgICBBZGRpdGlvbmFs
bHkgbWFrZSB0aGlzIHRha2UgdGhlIHRpdGxlIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBs
YWJlbCB0aGUgc3RhdGUgZGF0YSwgdG8gYXZvaWQgdGhlIG5lZWQgZm9yIGEKKyAgICAgICAgc2Vj
b25kIHN1YmNsYXNzaW5nIG1ldGhvZCB0byBwcm92aWRlIHRoZSB0aXRsZS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphZGRpdGlvbmFs
U3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0IGNvbnN0KToKKworICAgICAgICBQdWxsIGxvZ2ljIGZv
ciBjb2xsZWN0aW5nIGRpYWdub3N0aWMgaW5mb3JtYXRpb24gaW4gdGhlIHdlYiBwcm9jZXNzIG91
dCBpbnRvIGEgc2VwYXJhdGUgaGVscGVyIG1ldGhvZC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cmVnaXN0ZXJXaXRoU3RhdGVEdW1wZXIpOiBEZWxldGVkLgorCiAyMDIxLTA3LTEz
ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgaU9TL3R2T1Mvd2F0Y2hPUyBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
dXhpbGlhcnlQcm9jZXNzLmgKaW5kZXggNTRmZGMzMGEyNjNlM2NkNjZjYTZmYjczYTQ5NzI5OWNk
ODgxYTYzNC4uZjVlOWMxZjBmM2MzODZmZjFlNTZiMTU2NWNmYTcxZGQ3N2FmOTI0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaApAQCAtMzYsNiArMzYsMTIgQEAKICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CisjZW5kaWYKKworT0JKQ19DTEFTUyBOU0RpY3Rpb25hcnk7CisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA3LDYgKzEx
MywxMSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFJ1bkxvb3AoKTsKIAor
I2lmIFVTRShPU19TVEFURSkKKyAgICB2b2lkIHJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKEFTQ0lJ
TGl0ZXJhbCB0aXRsZSk7CisgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhZGRp
dGlvbmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QgeyByZXR1cm4geyB9OyB9Cisj
ZW5kaWYgLy8gVVNFKE9TX1NUQVRFKQorCiAjaWYgVVNFKEFQUEtJVCkKICAgICBzdGF0aWMgdm9p
ZCBzdG9wTlNBcHBSdW5Mb29wKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL0F1eGlsaWFyeVByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0F1eGlsaWFyeVByb2Nlc3NDb2NvYS5tbQppbmRleCAwMjc3MzUxMmRkMTE4OTFl
NDFjODA5OTBlYTc0N2RmYjAxMzA4M2ExLi4yYWY4NTVhODUwZmQ4YTM4Mjk0MzZjOTI2MmMyY2Y0
MmNkZjQwNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdXhpbGlh
cnlQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxp
YXJ5UHJvY2Vzc0NvY29hLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIkF1eGlsaWFyeVByb2Nlc3MuaCIKIAorI2ltcG9ydCAiT1NTdGF0ZVNQSS5oIgog
I2ltcG9ydCAiV0tDcmFzaFJlcG9ydGVyLmgiCiAjaW1wb3J0ICJYUENTZXJ2aWNlRW50cnlQb2lu
dC5oIgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdGluZ1BvaW50RW52aXJvbm1lbnQuaD4KQEAgLTgx
LDQgKzgyLDUyIEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6cGxhdGZvcm1TdG9wUnVuTG9vcCgp
CiAgICAgWFBDU2VydmljZUV4aXQoV1RGTW92ZShtX3ByaW9yaXR5Qm9vc3RNZXNzYWdlKSk7CiB9
CiAKKyNpZiBVU0UoT1NfU1RBVEUpCisKK3ZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6cmVnaXN0ZXJX
aXRoU3RhdGVEdW1wZXIoQVNDSUlMaXRlcmFsIHRpdGxlKQoreworICAgIG9zX3N0YXRlX2FkZF9o
YW5kbGVyKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFt0aGlzLCB0aXRsZV0gKG9zX3N0YXRl
X2hpbnRzX3QgaGludHMpIHsKKyAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgICAg
ICBvc19zdGF0ZV9kYXRhX3Qgb3Nfc3RhdGUgPSBudWxscHRyOworCisgICAgICAgICAgICAvLyBP
bmx5IGdhdGhlciBzdGF0ZSBvbiBmYXVsdHMgYW5kIHN5c2RpYWdub3NlLiBJdCdzIG92ZXJraWxs
IGZvcgorICAgICAgICAgICAgLy8gZ2VuZXJhbCBlcnJvciBtZXNzYWdlcy4KKyAgICAgICAgICAg
IGlmIChoaW50cy0+b3NoX2FwaSA9PSBPU19TVEFURV9BUElfRVJST1IpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIG9zX3N0YXRlOworCisgICAgICAgICAgICBhdXRvIHN0YXRlRGljdGlvbmFyeSA9
IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQoKTsKKworICAgICAgICAgICAgLy8g
U3VibWl0dGluZyBhbiBlbXB0eSBwcm9jZXNzIHN0YXRlIG9iamVjdCBtYXkgcHJvdmlkZSBhbgor
ICAgICAgICAgICAgLy8gaW5kaWNhdGlvbiBvZiB0aGUgZXhpc3RhbmNlIG9mIHByaXZhdGUgc2Vz
c2lvbnMsIHdoaWNoIHdlJ2QgbGlrZQorICAgICAgICAgICAgLy8gdG8gaGlkZSwgc28gZG9uJ3Qg
cmV0dXJuIGVtcHR5IGRpY3Rpb25hcmllcy4KKyAgICAgICAgICAgIGlmICghW3N0YXRlRGljdGlv
bmFyeSBjb3VudF0pCisgICAgICAgICAgICAgICAgcmV0dXJuIG9zX3N0YXRlOworCisgICAgICAg
ICAgICAvLyBTZXJpYWxpemUgdGhlIGFjY3VtdWxhdGVkIHByb2Nlc3Mgc3RhdGUgc28gdGhhdCB3
ZSBjYW4gcHV0IHRoZQorICAgICAgICAgICAgLy8gcmVzdWx0IGluIGFuIG9zX3N0YXRlX2RhdGFf
dCBzdHJ1Y3R1cmUuCisgICAgICAgICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICAgICAg
ICAgIGF1dG8gZGF0YSA9IFtOU1Byb3BlcnR5TGlzdFNlcmlhbGl6YXRpb24gZGF0YVdpdGhQcm9w
ZXJ0eUxpc3Q6c3RhdGVEaWN0aW9uYXJ5LmdldCgpIGZvcm1hdDpOU1Byb3BlcnR5TGlzdEJpbmFy
eUZvcm1hdF92MV8wIG9wdGlvbnM6MCBlcnJvcjomZXJyb3JdOworCisgICAgICAgICAgICBpZiAo
IWRhdGEpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoZGF0YSk7CisgICAgICAgICAgICAgICAg
cmV0dXJuIG9zX3N0YXRlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIG5lZWRl
ZFNpemUgPSBPU19TVEFURV9EQVRBX1NJWkVfTkVFREVEKGRhdGEubGVuZ3RoKTsKKyAgICAgICAg
ICAgIG9zX3N0YXRlID0gKG9zX3N0YXRlX2RhdGFfdCltYWxsb2MobmVlZGVkU2l6ZSk7CisgICAg
ICAgICAgICBpZiAob3Nfc3RhdGUpIHsKKyAgICAgICAgICAgICAgICBtZW1zZXQob3Nfc3RhdGUs
IDAsIG5lZWRlZFNpemUpOworICAgICAgICAgICAgICAgIG9zX3N0YXRlLT5vc2RfdHlwZSA9IE9T
X1NUQVRFX0RBVEFfU0VSSUFMSVpFRF9OU0NGX09CSkVDVDsKKyAgICAgICAgICAgICAgICBvc19z
dGF0ZS0+b3NkX2RhdGFfc2l6ZSA9IGRhdGEubGVuZ3RoOworICAgICAgICAgICAgICAgIHN0cmxj
cHkob3Nfc3RhdGUtPm9zZF90aXRsZSwgdGl0bGUuY2hhcmFjdGVycygpLCBzaXplb2Yob3Nfc3Rh
dGUtPm9zZF90aXRsZSkpOworICAgICAgICAgICAgICAgIG1lbWNweShvc19zdGF0ZS0+b3NkX2Rh
dGEsIGRhdGEuYnl0ZXMsIGRhdGEubGVuZ3RoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgcmV0dXJuIG9zX3N0YXRlOworICAgICAgICB9CisgICAgfSk7CiB9CisKKyNlbmRpZiAvLyBV
U0UoT1NfU1RBVEUpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKaW5kZXggZTdjMmY3ZjI5NjBjNzM5ZDBmMDAxNDdhMzlkYzEzNTk1Y2Ri
MTlhZS4uNzY3OGFjM2UxOTk3YzU3MDY5NmNhMzRiNjQyYmZhN2NhZDJjZDQ2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC00MTAsNyArNDEwLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHByZXdhcm1XaXRoRG9tYWluSW5mb3JtYXRpb24oY29uc3QgV2ViQ29yZTo6UHJl
d2FybUluZm9ybWF0aW9uJik7CiAKICNpZiBVU0UoT1NfU1RBVEUpCi0gICAgdm9pZCByZWdpc3Rl
cldpdGhTdGF0ZUR1bXBlcigpOworICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9u
YWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCiAgICAg
dm9pZCBtYXJrQWxsTGF5ZXJzVm9sYXRpbGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CmluZGV4IDEzMzFmYWY1ZTUxYzVkOWQzMTgxZjVkNjQ4ZDk4ZGE3N2ZhNGVkZmMuLjQwOTcyZjNh
NGMwYmE3OGVkNTlmNTZiN2U3MTJhZTk3YmY1OTM4ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMzMsNyArMzMsNiBAQAog
I2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCi0jaW1w
b3J0ICJPU1N0YXRlU1BJLmgiCiAjaW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKICNpbXBvcnQg
IlByb2Nlc3NBc3NlcnRpb24uaCIKICNpbXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKQEAgLTU5
MSw4NiArNTkwLDQ0IEBAIHN0YXRpYyB2b2lkIHJlZ2lzdGVyV2l0aEFjY2Vzc2liaWxpdHkoKQog
fQogCiAjaWYgVVNFKE9TX1NUQVRFKQotdm9pZCBXZWJQcm9jZXNzOjpyZWdpc3RlcldpdGhTdGF0
ZUR1bXBlcigpCi17Ci0gICAgb3Nfc3RhdGVfYWRkX2hhbmRsZXIoZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgXihvc19zdGF0ZV9oaW50c190IGhpbnRzKSB7Ci0KLSAgICAgICAgQGF1dG9yZWxl
YXNlcG9vbCB7Ci0gICAgICAgICAgICBvc19zdGF0ZV9kYXRhX3Qgb3Nfc3RhdGUgPSBuaWw7Ci0K
LSAgICAgICAgICAgIC8vIE9ubHkgZ2F0aGVyIHN0YXRlIG9uIGZhdWx0cyBhbmQgc3lzZGlhZ25v
c2UuIEl0J3Mgb3ZlcmtpbGwgZm9yCi0gICAgICAgICAgICAvLyBnZW5lcmFsIGVycm9yIG1lc3Nh
Z2VzLgotICAgICAgICAgICAgaWYgKGhpbnRzLT5vc2hfYXBpID09IE9TX1NUQVRFX0FQSV9FUlJP
UikKLSAgICAgICAgICAgICAgICByZXR1cm4gb3Nfc3RhdGU7Ci0KLSAgICAgICAgICAgIC8vIENy
ZWF0ZSBhIGRpY3Rpb25hcnkgdG8gY29udGFpbiB0aGUgY29sbGVjdGVkIHN0YXRlLiBUaGlzCi0g
ICAgICAgICAgICAvLyBkaWN0aW9uYXJ5IHdpbGwgYmUgc2VyaWFsaXplZCBhbmQgcGFzc2VkIGJh
Y2sgdG8gb3Nfc3RhdGUuCi0gICAgICAgICAgICBhdXRvIHN0YXRlRGljdCA9IGFkb3B0TlMoW1tO
U011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7Ci0KLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBhdXRvIG1lbW9yeVVzYWdlU3RhdHMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGlj
dGlvbmFyeSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIGZvciAoYXV0byYgaXQgOiBQ
ZXJmb3JtYW5jZUxvZ2dpbmc6Om1lbW9yeVVzYWdlU3RhdGlzdGljcyhTaG91bGRJbmNsdWRlRXhw
ZW5zaXZlQ29tcHV0YXRpb25zOjpZZXMpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8ga2V5
U3RyaW5nID0gYWRvcHROUyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aFVURjhTdHJpbmc6aXQu
a2V5XSk7Ci0gICAgICAgICAgICAgICAgICAgIFttZW1vcnlVc2FnZVN0YXRzIHNldE9iamVjdDpA
KGl0LnZhbHVlKSBmb3JLZXk6a2V5U3RyaW5nLmdldCgpXTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgW3N0YXRlRGljdCBzZXRPYmplY3Q6bWVtb3J5VXNhZ2VTdGF0cy5nZXQo
KSBmb3JLZXk6QCJNZW1vcnkgVXNhZ2UgU3RhdHMiXTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGF1dG8ganNPYmplY3RDb3VudHMgPSBhZG9wdE5TKFtb
TlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgICAgIGZvciAo
YXV0byYgaXQgOiBQZXJmb3JtYW5jZUxvZ2dpbmc6OmphdmFTY3JpcHRPYmplY3RDb3VudHMoKSkg
ewotICAgICAgICAgICAgICAgICAgICBhdXRvIGtleVN0cmluZyA9IGFkb3B0TlMoW1tOU1N0cmlu
ZyBhbGxvY10gaW5pdFdpdGhVVEY4U3RyaW5nOml0LmtleV0pOwotICAgICAgICAgICAgICAgICAg
ICBbanNPYmplY3RDb3VudHMgc2V0T2JqZWN0OkAoaXQudmFsdWUpIGZvcktleTprZXlTdHJpbmcu
Z2V0KCldOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBbc3RhdGVEaWN0IHNl
dE9iamVjdDpqc09iamVjdENvdW50cy5nZXQoKSBmb3JLZXk6QCJKYXZhU2NyaXB0IE9iamVjdCBD
b3VudHMiXTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgYXV0byBwYWdlTG9hZFRpbWVz
ID0gY3JlYXRlTlNBcnJheShtX3BhZ2VNYXAudmFsdWVzKCksIFtdIChhdXRvJiBwYWdlKSAtPiBp
ZCB7Ci0gICAgICAgICAgICAgICAgaWYgKHBhZ2UtPnVzZXNFcGhlbWVyYWxTZXNzaW9uKCkpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4g
W05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlMTk3MDpwYWdlLT5sb2FkQ29tbWl0VGlt
ZSgpLnNlY29uZHNTaW5jZUVwb2NoKCkuc2Vjb25kcygpXTsKLSAgICAgICAgICAgIH0pOwogCi0g
ICAgICAgICAgICAvLyBBZGRpbmcgYW4gZW1wdHkgYXJyYXkgdG8gdGhlIHByb2Nlc3Mgc3RhdGUg
bWF5IHByb3ZpZGUgYW4KLSAgICAgICAgICAgIC8vIGluZGljYXRpb24gb2YgdGhlIGV4aXN0YW5j
ZSBvZiBwcml2YXRlIHNlc3Npb25zLCB3aGljaCB3ZSdkIGxpa2UKLSAgICAgICAgICAgIC8vIHRv
IGhpZGUsIHNvIGRvbid0IGFkZCBlbXB0eSBhcnJheXMuCi0gICAgICAgICAgICBpZiAoW3BhZ2VM
b2FkVGltZXMgY291bnRdKQotICAgICAgICAgICAgICAgIFtzdGF0ZURpY3Qgc2V0T2JqZWN0OnBh
Z2VMb2FkVGltZXMuZ2V0KCkgZm9yS2V5OkAiUGFnZSBMb2FkIFRpbWVzIl07Ci0KLSAgICAgICAg
ICAgIC8vIC0tLSBQb3NzaWJseSBhZGQgb3RoZXIgc3RhdGUgaGVyZSBhcyBvdGhlciBlbnRyaWVz
IGluIHRoZSBkaWN0aW9uYXJ5LiAtLS0KLQotICAgICAgICAgICAgLy8gU3VibWl0dGluZyBhbiBl
bXB0eSBwcm9jZXNzIHN0YXRlIG9iamVjdCBtYXkgcHJvdmlkZSBhbgotICAgICAgICAgICAgLy8g
aW5kaWNhdGlvbiBvZiB0aGUgZXhpc3RhbmNlIG9mIHByaXZhdGUgc2Vzc2lvbnMsIHdoaWNoIHdl
J2QgbGlrZQotICAgICAgICAgICAgLy8gdG8gaGlkZSwgc28gZG9uJ3QgcmV0dXJuIGVtcHR5IGRp
Y3Rpb25hcmllcy4KLSAgICAgICAgICAgIGlmICghW3N0YXRlRGljdCBjb3VudF0pCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIG9zX3N0YXRlOwotCi0gICAgICAgICAgICAvLyBTZXJpYWxpemUgdGhl
IGFjY3VtdWxhdGVkIHByb2Nlc3Mgc3RhdGUgc28gdGhhdCB3ZSBjYW4gcHV0IHRoZQotICAgICAg
ICAgICAgLy8gcmVzdWx0IGluIGFuIG9zX3N0YXRlX2RhdGFfdCBzdHJ1Y3R1cmUuCi0gICAgICAg
ICAgICBOU0Vycm9yKiBlcnJvciA9IG5pbDsKLSAgICAgICAgICAgIE5TRGF0YSogZGF0YSA9IFtO
U1Byb3BlcnR5TGlzdFNlcmlhbGl6YXRpb24gZGF0YVdpdGhQcm9wZXJ0eUxpc3Q6c3RhdGVEaWN0
LmdldCgpIGZvcm1hdDpOU1Byb3BlcnR5TGlzdEJpbmFyeUZvcm1hdF92MV8wIG9wdGlvbnM6MCBl
cnJvcjomZXJyb3JdOworUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gV2ViUHJvY2Vzczo6YWRkaXRp
b25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0Cit7CisgICAgYXV0byBzdGF0ZURp
Y3Rpb25hcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwor
ICAgIHsKKyAgICAgICAgYXV0byBtZW1vcnlVc2FnZVN0YXRzID0gYWRvcHROUyhbW05TTXV0YWJs
ZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgZm9yIChhdXRvJiBpdCA6IFBlcmZv
cm1hbmNlTG9nZ2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKFNob3VsZEluY2x1ZGVFeHBlbnNp
dmVDb21wdXRhdGlvbnM6OlllcykpIHsKKyAgICAgICAgICAgIGF1dG8ga2V5U3RyaW5nID0gYWRv
cHROUyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aFVURjhTdHJpbmc6aXQua2V5XSk7CisgICAg
ICAgICAgICBbbWVtb3J5VXNhZ2VTdGF0cyBzZXRPYmplY3Q6QChpdC52YWx1ZSkgZm9yS2V5Omtl
eVN0cmluZy5nZXQoKV07CisgICAgICAgIH0KKyAgICAgICAgW3N0YXRlRGljdGlvbmFyeSBzZXRP
YmplY3Q6bWVtb3J5VXNhZ2VTdGF0cy5nZXQoKSBmb3JLZXk6QCJNZW1vcnkgVXNhZ2UgU3RhdHMi
XTsKKyAgICB9CisgICAgeworICAgICAgICBhdXRvIGpzT2JqZWN0Q291bnRzID0gYWRvcHROUyhb
W05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgZm9yIChhdXRvJiBp
dCA6IFBlcmZvcm1hbmNlTG9nZ2luZzo6amF2YVNjcmlwdE9iamVjdENvdW50cygpKSB7CisgICAg
ICAgICAgICBhdXRvIGtleVN0cmluZyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdp
dGhVVEY4U3RyaW5nOml0LmtleV0pOworICAgICAgICAgICAgW2pzT2JqZWN0Q291bnRzIHNldE9i
amVjdDpAKGl0LnZhbHVlKSBmb3JLZXk6a2V5U3RyaW5nLmdldCgpXTsKKyAgICAgICAgfQorICAg
ICAgICBbc3RhdGVEaWN0aW9uYXJ5IHNldE9iamVjdDpqc09iamVjdENvdW50cy5nZXQoKSBmb3JL
ZXk6QCJKYXZhU2NyaXB0IE9iamVjdCBDb3VudHMiXTsKKyAgICB9CisgICAgYXV0byBwYWdlTG9h
ZFRpbWVzID0gY3JlYXRlTlNBcnJheShtX3BhZ2VNYXAudmFsdWVzKCksIFtdIChhdXRvJiBwYWdl
KSAtPiBpZCB7CisgICAgICAgIGlmIChwYWdlLT51c2VzRXBoZW1lcmFsU2Vzc2lvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgICAgICAgICAgaWYgKCFkYXRhKSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKGRhdGEpOwotICAgICAgICAgICAgICAgIHJldHVybiBvc19zdGF0ZTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2
YWxTaW5jZTE5NzA6cGFnZS0+bG9hZENvbW1pdFRpbWUoKS5zZWNvbmRzU2luY2VFcG9jaCgpLnNl
Y29uZHMoKV07CisgICAgfSk7CiAKLSAgICAgICAgICAgIHNpemVfdCBuZWVkZWRTaXplID0gT1Nf
U1RBVEVfREFUQV9TSVpFX05FRURFRChkYXRhLmxlbmd0aCk7Ci0gICAgICAgICAgICBvc19zdGF0
ZSA9IChvc19zdGF0ZV9kYXRhX3QpbWFsbG9jKG5lZWRlZFNpemUpOwotICAgICAgICAgICAgaWYg
KG9zX3N0YXRlKSB7Ci0gICAgICAgICAgICAgICAgbWVtc2V0KG9zX3N0YXRlLCAwLCBuZWVkZWRT
aXplKTsKLSAgICAgICAgICAgICAgICBvc19zdGF0ZS0+b3NkX3R5cGUgPSBPU19TVEFURV9EQVRB
X1NFUklBTElaRURfTlNDRl9PQkpFQ1Q7Ci0gICAgICAgICAgICAgICAgb3Nfc3RhdGUtPm9zZF9k
YXRhX3NpemUgPSBkYXRhLmxlbmd0aDsKLSAgICAgICAgICAgICAgICBzdHJsY3B5KG9zX3N0YXRl
LT5vc2RfdGl0bGUsICJXZWJDb250ZW50IHN0YXRlIiwgc2l6ZW9mKG9zX3N0YXRlLT5vc2RfdGl0
bGUpKTsKLSAgICAgICAgICAgICAgICBtZW1jcHkob3Nfc3RhdGUtPm9zZF9kYXRhLCBkYXRhLmJ5
dGVzLCBkYXRhLmxlbmd0aCk7Ci0gICAgICAgICAgICB9CisgICAgLy8gQWRkaW5nIGFuIGVtcHR5
IGFycmF5IHRvIHRoZSBwcm9jZXNzIHN0YXRlIG1heSBwcm92aWRlIGFuCisgICAgLy8gaW5kaWNh
dGlvbiBvZiB0aGUgZXhpc3RhbmNlIG9mIHByaXZhdGUgc2Vzc2lvbnMsIHdoaWNoIHdlJ2QgbGlr
ZQorICAgIC8vIHRvIGhpZGUsIHNvIGRvbid0IGFkZCBlbXB0eSBhcnJheXMuCisgICAgaWYgKFtw
YWdlTG9hZFRpbWVzIGNvdW50XSkKKyAgICAgICAgW3N0YXRlRGljdGlvbmFyeSBzZXRPYmplY3Q6
cGFnZUxvYWRUaW1lcy5nZXQoKSBmb3JLZXk6QCJQYWdlIExvYWQgVGltZXMiXTsKIAotICAgICAg
ICAgICAgcmV0dXJuIG9zX3N0YXRlOwotICAgICAgICB9Ci0gICAgfSk7CisgICAgLy8gLS0tIFBv
c3NpYmx5IGFkZCBvdGhlciBzdGF0ZSBoZXJlIGFzIG90aGVyIGVudHJpZXMgaW4gdGhlIGRpY3Rp
b25hcnkuIC0tLQorICAgIHJldHVybiBzdGF0ZURpY3Rpb25hcnk7CiB9Ci0jZW5kaWYKKworI2Vu
ZGlmIC8vIFVTRShPU19TVEFURSkKIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVQcm9jZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMpCiB7CkBAIC03MDIsNyArNjU5LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlv
blAKICAgICAgICAgbV9wcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpXZWJDb250ZW50OwogCiAj
aWYgVVNFKE9TX1NUQVRFKQotICAgIHJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKCk7CisgICAgcmVn
aXN0ZXJXaXRoU3RhdGVEdW1wZXIoIldlYkNvbnRlbnQgc3RhdGUiX3MpOwogI2VuZGlmCiAKICNp
ZiBIQVZFKEFQUF9TU08pIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQo=
</data>
<flag name="commit-queue"
          id="455737"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>