<?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>202132</bug_id>
          
          <creation_ts>2019-09-23 23:05:06 -0700</creation_ts>
          <short_desc>Refactor cellSize() out of VMInspector::verifyCellSize().</short_desc>
          <delta_ts>2019-09-24 00:45:20 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=202085</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1573573</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-23 23:05:06 -0700</bug_when>
    <thetext>See https://bugs.webkit.org/show_bug.cgi?id=202085#c14.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573588</commentid>
    <comment_count>1</comment_count>
      <attachid>379436</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-23 23:46:09 -0700</bug_when>
    <thetext>Created attachment 379436
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573590</commentid>
    <comment_count>2</comment_count>
      <attachid>379436</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-09-23 23:52:12 -0700</bug_when>
    <thetext>Comment on attachment 379436
proposed patch.

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

&gt; Source/JavaScriptCore/runtime/CellSize.h:36
&gt; +inline size_t cellSize(VM&amp; vm, JSCell* cell)

why not put isDynamicallySizedType in here too?

&gt; Source/JavaScriptCore/runtime/CellSize.h:65
&gt; +    default:

ASSERT(!isDynamicallySizedType(cell))?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573594</commentid>
    <comment_count>3</comment_count>
      <attachid>379436</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-24 00:01:54 -0700</bug_when>
    <thetext>Comment on attachment 379436
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/CellSize.h:36
&gt;&gt; +inline size_t cellSize(VM&amp; vm, JSCell* cell)
&gt; 
&gt; why not put isDynamicallySizedType in here too?

I was thinking it belongs in JSType.h, but now that you mentioned it, it does pertain to cell sizing.  I&apos;ll move it here.

&gt;&gt; Source/JavaScriptCore/runtime/CellSize.h:65
&gt;&gt; +    default:
&gt; 
&gt; ASSERT(!isDynamicallySizedType(cell))?

I&apos;ll just put this whole switch statement in a &quot;if (isDynamicallySizedType(cell))&quot; instead.  That will allow me to put a RELEASE_ASSERT_NOT_REACHED() in the default case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573597</commentid>
    <comment_count>4</comment_count>
      <attachid>379438</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-24 00:08:08 -0700</bug_when>
    <thetext>Created attachment 379438
patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573600</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-24 00:44:15 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r250289: &lt;http://trac.webkit.org/r250289&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573601</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-24 00:45:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55653382&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379436</attachid>
            <date>2019-09-23 23:46:09 -0700</date>
            <delta_ts>2019-09-24 00:08:08 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-202132.patch</filename>
            <type>text/plain</type>
            <size>12549</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMjg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE5LTA5LTIzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBjZWxsU2l6ZSgpIG91dCBvZiBWTUluc3BlY3Rvcjo6dmVyaWZ5Q2VsbFNpemUoKS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjEzMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBydW50aW1lL0NlbGxTaXplLmg6IEFkZGVkLgorICAgICAgICAoSlND
OjpjZWxsU2l6ZSk6CisgICAgICAgICogcnVudGltZS9EaXJlY3RBcmd1bWVudHMuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisgICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVz
cGFjZU9iamVjdC5oOgorICAgICAgICAqIHRvb2xzL1ZNSW5zcGVjdG9ySW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpWTUluc3BlY3Rvcjo6dmVyaWZ5Q2VsbFNpemUpOgorCiAyMDE5LTA5LTIzICBN
YXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2luZyBJbnRl
Z3JpdHkgYXVkaXQgZnVuY3Rpb25zLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dAkocmV2aXNpb24gMjUwMjg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03NjcsNiArNzY3LDcgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQQogICAgIHJ1bnRpbWUvQ2FnZWRCYXJyaWVyUHRyLmgK
ICAgICBydW50aW1lL0NhbGxEYXRhLmgKICAgICBydW50aW1lL0NhdGNoU2NvcGUuaAorICAgIHJ1
bnRpbWUvQ2VsbFNpemUuaAogICAgIHJ1bnRpbWUvQ2xhc3NJbmZvLmgKICAgICBydW50aW1lL0Nv
ZGVTcGVjaWFsaXphdGlvbktpbmQuaAogICAgIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1MDI4NSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTExLDYgKzE5MTEsNyBAQAogCQlGRUEzQkJBQzIxMkM5
N0NCMDBFOTNBRDEgLyogREZHQ0ZHLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRUEzQkJBQjIxMkM5N0NCMDBFOTNBRDEgLyogREZHQ0ZHLmggKi87IH07
CiAJCUZFQjUxRjZDMUE5N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVCNTFGNkIxQTk3QjY4ODAw
MUY5MjFDIC8qIFJlZ3Jlc3MxNDE4MDkubW0gKi87IH07CiAJCUZFQjU4QzE1MTg3QjhCMTYwMDk4
RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZFQjU4QzEzMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRs
aW5nU2NvcGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlGRUMxNjAzMjIzMzlFOUY5MDBBMDRDQjggLyogQ2VsbFNpemUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQzE2MDMxMjMzOUU5RjkwMEEwNENC
OCAvKiBDZWxsU2l6ZS5oICovOyB9OwogCQlGRUM1Nzk3MzIzMTA1QjUxMDBCQ0E4M0YgLyogVk1J
bnNwZWN0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRUM1Nzk3MjIzMTA1QjQ4MDBCQ0E4M0YgLyogVk1JbnNwZWN0b3JJbmxpbmVzLmgg
Ki87IH07CiAJCUZFQzU3OTc2MjMxMDVGNEUwMEJDQTgzRiAvKiBJbnRlZ3JpdHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQzU3OTc1MjMxMDVGNDMw
MEJDQTgzRiAvKiBJbnRlZ3JpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGRUM1Nzk3ODIzMTA5NTRDMDBCQ0E4M0YgLyogSW50ZWdyaXR5SW5s
aW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVD
NTc5NzcyMzEwOTU0QjAwQkNBODNGIC8qIEludGVncml0eUlubGluZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTEzOCw2ICs1MTM5LDcgQEAK
IAkJRkVCNTFGNkIxQTk3QjY4ODAwMUY5MjFDIC8qIFJlZ3Jlc3MxNDE4MDkubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBSZWdyZXNzMTQxODA5Lm1tOyBwYXRoID0g
QVBJL3Rlc3RzL1JlZ3Jlc3MxNDE4MDkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZFQjU4QzEyMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXJyb3JIYW5kbGluZ1Njb3BlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVCNThDMTMxODdCOEIxNjAwOThFRjBCIC8q
IEVycm9ySGFuZGxpbmdTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
cnJvckhhbmRsaW5nU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVDMTYw
MzEyMzM5RTlGOTAwQTA0Q0I4IC8qIENlbGxTaXplLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENlbGxTaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQzU3
OTcyMjMxMDVCNDgwMEJDQTgzRiAvKiBWTUluc3BlY3RvcklubGluZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVk1JbnNwZWN0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFQzU3OTc0MjMxMDVGNDIwMEJDQTgzRiAvKiBJbnRlZ3JpdHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW50ZWdyaXR5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVDNTc5NzUyMzEwNUY0MzAwQkNBODNGIC8qIElu
dGVncml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlZ3JpdHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY5NDksNiArNjk1MSw3IEBACiAJCQkJMTQ1
QzUwN0YwRDlERjYzQjAwODhGNkI5IC8qIENhbGxEYXRhLmggKi8sCiAJCQkJRkU4MEMxOTgxRDc3
NUZCNDAwODUxMEMwIC8qIENhdGNoU2NvcGUuY3BwICovLAogCQkJCUZFODBDMTk2MUQ3NzVCMjcw
MDg1MTBDMCAvKiBDYXRjaFNjb3BlLmggKi8sCisJCQkJRkVDMTYwMzEyMzM5RTlGOTAwQTA0Q0I4
IC8qIENlbGxTaXplLmggKi8sCiAJCQkJRTMyNkM0OTYxRUNCRUY1NzAwQTlBOTA1IC8qIENsYXNz
SW5mby5jcHAgKi8sCiAJCQkJQkM2QUFBRTQwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNzSW5mby5o
ICovLAogCQkJCTBGRTA1MDFDMUFBOTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuY3Bw
ICovLApAQCAtOTAyOSw2ICs5MDMyLDcgQEAKIAkJCQlGRTFCRDAyMTFFNzIwMjc5MDAxMzRCQzkg
LyogQ2VsbFByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMUMzRERBMUJCQ0UwOUUwMEU1
MjNFNCAvKiBDZWxsU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkFBQUU1MEUxRjQyNjUw
MEFEODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUZFQzE2MDMyMjMzOUU5
RjkwMEEwNENCOCAvKiBDZWxsU2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFMDUwMjYxQUE5
MDk1NjAwRDMzQjMzIC8qIENsb25lZEFyZ3VtZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
OEM0NUUwRTE2RjVDRDAwQjM0NDYwIC8qIENMb29wU3RhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3QzFFQUYwMTc5ODdBQjYwMDI5OURCMiAvKiBDTG9vcFN0YWNrSW5saW5lcy5oIGluIEhlYWRl
cnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DZWxsU2l6ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NlbGxTaXplLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2VsbFNpemUuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJEaXJlY3RBcmd1
bWVudHMuaCIKKyNpbmNsdWRlICJKU0JpZ0ludC5oIgorI2luY2x1ZGUgIkpTTGV4aWNhbEVudmly
b25tZW50LmgiCisjaW5jbHVkZSAiSlNNb2R1bGVFbnZpcm9ubWVudC5oIgorI2luY2x1ZGUgIkpT
TW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitpbmxpbmUgc2l6
ZV90IGNlbGxTaXplKFZNJiB2bSwgSlNDZWxsKiBjZWxsKQoreworICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gY2VsbC0+c3RydWN0dXJlKHZtKTsKKyAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNz
SW5mbyA9IHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCk7CisgICAgSlNUeXBlIGNlbGxUeXBlID0gY2Vs
bC0+dHlwZSgpOworCisgICAgc3dpdGNoIChjZWxsVHlwZSkgeworICAgIGNhc2UgQmlnSW50VHlw
ZTogeworICAgICAgICBhdXRvKiBiaWdJbnQgPSBqc0Nhc3Q8SlNCaWdJbnQqPihjZWxsKTsKKyAg
ICAgICAgcmV0dXJuIEpTQmlnSW50OjphbGxvY2F0aW9uU2l6ZShiaWdJbnQtPmxlbmd0aCgpKTsK
KyAgICB9CisgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNUeXBlOiB7CisgICAgICAgIGF1dG8qIGFy
Z3MgPSBqc0Nhc3Q8RGlyZWN0QXJndW1lbnRzKj4oY2VsbCk7CisgICAgICAgIHJldHVybiBEaXJl
Y3RBcmd1bWVudHM6OmFsbG9jYXRpb25TaXplKGFyZ3MtPm1fbWluQ2FwYWNpdHkpOworICAgIH0K
KyAgICBjYXNlIEZpbmFsT2JqZWN0VHlwZToKKyAgICAgICAgcmV0dXJuIEpTRmluYWxPYmplY3Q6
OmFsbG9jYXRpb25TaXplKHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKSk7CisgICAgY2FzZSBM
ZXhpY2FsRW52aXJvbm1lbnRUeXBlOiB7CisgICAgICAgIGF1dG8qIGVudiA9IGpzQ2FzdDxKU0xl
eGljYWxFbnZpcm9ubWVudCo+KGNlbGwpOworICAgICAgICByZXR1cm4gSlNMZXhpY2FsRW52aXJv
bm1lbnQ6OmFsbG9jYXRpb25TaXplKGVudi0+c3ltYm9sVGFibGUoKSk7CisgICAgfQorICAgIGNh
c2UgTW9kdWxlRW52aXJvbm1lbnRUeXBlOiB7CisgICAgICAgIGF1dG8qIGVudiA9IGpzQ2FzdDxK
U01vZHVsZUVudmlyb25tZW50Kj4oY2VsbCk7CisgICAgICAgIHJldHVybiBKU01vZHVsZUVudmly
b25tZW50OjphbGxvY2F0aW9uU2l6ZShlbnYtPnN5bWJvbFRhYmxlKCkpOworICAgIH0KKyAgICBj
YXNlIE1vZHVsZU5hbWVzcGFjZU9iamVjdFR5cGU6IHsKKyAgICAgICAgYXV0byogb2JqID0ganND
YXN0PEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Kj4oY2VsbCk7CisgICAgICAgIHJldHVybiBKU01v
ZHVsZU5hbWVzcGFjZU9iamVjdDo6YWxsb2NhdGlvblNpemUob2JqLT5tX25hbWVzLmNhcGFjaXR5
KCkpOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0
dXJuIGNsYXNzSW5mby0+c3RhdGljQ2xhc3NTaXplOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RpcmVjdEFyZ3VtZW50cy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RpcmVjdEFyZ3VtZW50
cy5oCShyZXZpc2lvbiAyNTAyODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
aXJlY3RBcmd1bWVudHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4NSw3IEBAIHByaXZh
dGU6CiAgICAgdXNpbmcgTWFwcGVkQXJndW1lbnRzID0gQ2FnZWRCYXJyaWVyUHRyPEdpZ2FjYWdl
OjpQcmltaXRpdmUsIGJvb2w+OwogICAgIE1hcHBlZEFyZ3VtZW50cyBtX21hcHBlZEFyZ3VtZW50
czsgLy8gSWYgbm9uLW51bGwsIGl0IG1lYW5zIHRoYXQgbGVuZ3RoLCBjYWxsZWUsIGFuZCBjYWxs
ZXIgYXJlIGZ1bGx5IG1hdGVyaWFsaXplZCBwcm9wZXJ0aWVzLgogCi0gICAgZnJpZW5kIGNsYXNz
IFZNSW5zcGVjdG9yOworICAgIGZyaWVuZCBzaXplX3QgY2VsbFNpemUoVk0mLCBKU0NlbGwqKTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCaWdJbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JpZ0ludC5oCShyZXZpc2lvbiAyNTAyODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JpZ0ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTAsNyArMjUwLDcgQEAg
cHJpdmF0ZToKICAgICBjb25zdCB1bnNpZ25lZCBtX2xlbmd0aDsKICAgICBib29sIG1fc2lnbiB7
IGZhbHNlIH07CiAKLSAgICBmcmllbmQgY2xhc3MgVk1JbnNwZWN0b3I7CisgICAgZnJpZW5kIHNp
emVfdCBjZWxsU2l6ZShWTSYsIEpTQ2VsbCopOwogfTsKIAogaW5saW5lIHNpemVfdCBKU0JpZ0lu
dDo6YWxsb2NhdGlvblNpemUodW5zaWduZWQgbGVuZ3RoKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oCShy
ZXZpc2lvbiAyNTAyODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVs
ZU5hbWVzcGFjZU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNyArMTA0LDcgQEAgcHJp
dmF0ZToKICAgICBWZWN0b3I8SWRlbnRpZmllcj4gbV9uYW1lczsKICAgICBXcml0ZUJhcnJpZXI8
QWJzdHJhY3RNb2R1bGVSZWNvcmQ+IG1fbW9kdWxlUmVjb3JkOwogCi0gICAgZnJpZW5kIGNsYXNz
IFZNSW5zcGVjdG9yOworICAgIGZyaWVuZCBzaXplX3QgY2VsbFNpemUoVk0mLCBKU0NlbGwqKTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rv
b2xzL1ZNSW5zcGVjdG9ySW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90b29scy9WTUluc3BlY3RvcklubGluZXMuaAkocmV2aXNpb24gMjUwMjg1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVjdG9ySW5saW5lcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSwxMSArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkRpcmVj
dEFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIkpTQmlnSW50LmgiCi0jaW5jbHVkZSAiSlNMZXhpY2Fs
RW52aXJvbm1lbnQuaCIKLSNpbmNsdWRlICJKU01vZHVsZUVudmlyb25tZW50LmgiCi0jaW5jbHVk
ZSAiSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaCIKKyNpbmNsdWRlICJDZWxsU2l6ZS5oIgogI2lu
Y2x1ZGUgIlZNSW5zcGVjdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAt
NTEsNDQgKzQ3LDEwIEBAIGJvb2wgVk1JbnNwZWN0b3I6OnZlcmlmeUNlbGxTaXplKFZNJiB2bSwK
ICAgICBKU1R5cGUgY2VsbFR5cGUgPSBjZWxsLT50eXBlKCk7CiAgICAgQVVESVRfVkVSSUZZKGFj
dGlvbiwgdmVyaWZpZXIsIGNlbGxUeXBlID09IHN0cnVjdHVyZS0+bV9ibG9iLnR5cGUoKSwgY2Vs
bCwgY2VsbFR5cGUsIHN0cnVjdHVyZS0+bV9ibG9iLnR5cGUoKSk7CiAKLSAgICBpZiAoaXNEeW5h
bWljYWxseVNpemVkVHlwZShjZWxsVHlwZSkpIHsKLSAgICAgICAgc2l6ZV90IGNlbGxTaXplID0g
MDsKLSAgICAgICAgc3dpdGNoIChjZWxsVHlwZSkgewotICAgICAgICBjYXNlIEJpZ0ludFR5cGU6
IHsKLSAgICAgICAgICAgIGF1dG8qIGJpZ0ludCA9IGpzQ2FzdDxKU0JpZ0ludCo+KGNlbGwpOwot
ICAgICAgICAgICAgY2VsbFNpemUgPSBKU0JpZ0ludDo6YWxsb2NhdGlvblNpemUoYmlnSW50LT5s
ZW5ndGgoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIERp
cmVjdEFyZ3VtZW50c1R5cGU6IHsKLSAgICAgICAgICAgIGF1dG8qIGFyZ3MgPSBqc0Nhc3Q8RGly
ZWN0QXJndW1lbnRzKj4oY2VsbCk7Ci0gICAgICAgICAgICBjZWxsU2l6ZSA9IERpcmVjdEFyZ3Vt
ZW50czo6YWxsb2NhdGlvblNpemUoYXJncy0+bV9taW5DYXBhY2l0eSk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEZpbmFsT2JqZWN0VHlwZToKLSAgICAgICAg
ICAgIGNlbGxTaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoc3RydWN0dXJlLT5p
bmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIExleGlj
YWxFbnZpcm9ubWVudFR5cGU6IHsKLSAgICAgICAgICAgIGF1dG8qIGVudiA9IGpzQ2FzdDxKU0xl
eGljYWxFbnZpcm9ubWVudCo+KGNlbGwpOwotICAgICAgICAgICAgY2VsbFNpemUgPSBKU0xleGlj
YWxFbnZpcm9ubWVudDo6YWxsb2NhdGlvblNpemUoZW52LT5zeW1ib2xUYWJsZSgpKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgTW9kdWxlRW52aXJvbm1lbnRU
eXBlOiB7Ci0gICAgICAgICAgICBhdXRvKiBlbnYgPSBqc0Nhc3Q8SlNNb2R1bGVFbnZpcm9ubWVu
dCo+KGNlbGwpOwotICAgICAgICAgICAgY2VsbFNpemUgPSBKU01vZHVsZUVudmlyb25tZW50Ojph
bGxvY2F0aW9uU2l6ZShlbnYtPnN5bWJvbFRhYmxlKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBNb2R1bGVOYW1lc3BhY2VPYmplY3RUeXBlOiB7Ci0gICAg
ICAgICAgICBhdXRvKiBvYmogPSBqc0Nhc3Q8SlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqPihjZWxs
KTsKLSAgICAgICAgICAgIGNlbGxTaXplID0gSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmFsbG9j
YXRpb25TaXplKG9iai0+bV9uYW1lcy5jYXBhY2l0eSgpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICAgICB9Ci0gICAgICAgIEFVRElUX1ZFUklGWShhY3Rpb24sIHZl
cmlmaWVyLCBjZWxsU2l6ZSA8PSBhbGxvY2F0b3JDZWxsU2l6ZSwgY2VsbCwgY2VsbFR5cGUsIGNl
bGxTaXplLCBhbGxvY2F0b3JDZWxsU2l6ZSk7Ci0gICAgICAgIEFVRElUX1ZFUklGWShhY3Rpb24s
IHZlcmlmaWVyLCBjZWxsU2l6ZSA+PSBjbGFzc0luZm8tPnN0YXRpY0NsYXNzU2l6ZSwgY2VsbCwg
Y2VsbFR5cGUsIGNlbGxTaXplLCBjbGFzc0luZm8tPnN0YXRpY0NsYXNzU2l6ZSk7Ci0gICAgfSBl
bHNlCi0gICAgICAgIEFVRElUX1ZFUklGWShhY3Rpb24sIHZlcmlmaWVyLCBjbGFzc0luZm8tPnN0
YXRpY0NsYXNzU2l6ZSA8PSBhbGxvY2F0b3JDZWxsU2l6ZSwgY2VsbCwgY2VsbFR5cGUsIGNsYXNz
SW5mby0+c3RhdGljQ2xhc3NTaXplLCBhbGxvY2F0b3JDZWxsU2l6ZSk7CisgICAgc2l6ZV90IHNp
emUgPSBjZWxsU2l6ZSh2bSwgY2VsbCk7CisgICAgQVVESVRfVkVSSUZZKGFjdGlvbiwgdmVyaWZp
ZXIsIHNpemUgPD0gYWxsb2NhdG9yQ2VsbFNpemUsIGNlbGwsIGNlbGxUeXBlLCBzaXplLCBhbGxv
Y2F0b3JDZWxsU2l6ZSwgY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemUpOworICAgIGlmIChpc0R5
bmFtaWNhbGx5U2l6ZWRUeXBlKGNlbGxUeXBlKSkKKyAgICAgICAgQVVESVRfVkVSSUZZKGFjdGlv
biwgdmVyaWZpZXIsIHNpemUgPj0gY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemUsIGNlbGwsIGNl
bGxUeXBlLCBzaXplLCBjbGFzc0luZm8tPnN0YXRpY0NsYXNzU2l6ZSk7CiAKICAgICByZXR1cm4g
dHJ1ZTsKIH0K
</data>
<flag name="review"
          id="395147"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379438</attachid>
            <date>2019-09-24 00:08:08 -0700</date>
            <delta_ts>2019-09-24 00:08:08 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-202132.patch</filename>
            <type>text/plain</type>
            <size>13978</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMjg4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE5LTA5LTI0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBjZWxsU2l6ZSgpIG91dCBvZiBWTUluc3BlY3Rvcjo6dmVyaWZ5Q2VsbFNpemUoKS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjEzMgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBydW50aW1lL0NlbGxTaXplLmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpp
c0R5bmFtaWNhbGx5U2l6ZWRUeXBlKToKKyAgICAgICAgKEpTQzo6Y2VsbFNpemUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRGlyZWN0QXJndW1lbnRzLmg6CisgICAgICAgICogcnVudGltZS9KU0JpZ0lu
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAoSlNDOjppc0R5bmFtaWNhbGx5U2l6ZWRU
eXBlKTogRGVsZXRlZC4KKyAgICAgICAgKiB0b29scy9WTUluc3BlY3RvcklubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6Vk1JbnNwZWN0b3I6OnZlcmlmeUNlbGxTaXplKToKKwogMjAxOS0wOS0yMyAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cm9kdWNpbmcgSW50
ZWdyaXR5IGF1ZGl0IGZ1bmN0aW9ucy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDI1MDI4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNzY3LDYgKzc2Nyw3IEBAIHNldChKYXZhU2NyaXB0
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUEKICAgICBydW50aW1lL0NhZ2VkQmFycmllclB0ci5o
CiAgICAgcnVudGltZS9DYWxsRGF0YS5oCiAgICAgcnVudGltZS9DYXRjaFNjb3BlLmgKKyAgICBy
dW50aW1lL0NlbGxTaXplLmgKICAgICBydW50aW1lL0NsYXNzSW5mby5oCiAgICAgcnVudGltZS9D
b2RlU3BlY2lhbGl6YXRpb25LaW5kLmgKICAgICBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTAyODgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTkxMSw2ICsxOTExLDcgQEAKIAkJRkVBM0JCQUMyMTJD
OTdDQjAwRTkzQUQxIC8qIERGR0NGRy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkVBM0JCQUIyMTJDOTdDQjAwRTkzQUQxIC8qIERGR0NGRy5oICovOyB9
OwogCQlGRUI1MUY2QzFBOTdCNjg4MDAxRjkyMUMgLyogUmVncmVzczE0MTgwOS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQjUxRjZCMUE5N0I2ODgw
MDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tICovOyB9OwogCQlGRUI1OEMxNTE4N0I4QjE2MDA5
OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRUI1OEMxMzE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5k
bGluZ1Njb3BlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJRkVDMTYwMzIyMzM5RTlGOTAwQTA0Q0I4IC8qIENlbGxTaXplLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUMxNjAzMTIzMzlFOUY5MDBBMDRD
QjggLyogQ2VsbFNpemUuaCAqLzsgfTsKIAkJRkVDNTc5NzMyMzEwNUI1MTAwQkNBODNGIC8qIFZN
SW5zcGVjdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVDNTc5NzIyMzEwNUI0ODAwQkNBODNGIC8qIFZNSW5zcGVjdG9ySW5saW5lcy5o
ICovOyB9OwogCQlGRUM1Nzk3NjIzMTA1RjRFMDBCQ0E4M0YgLyogSW50ZWdyaXR5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUM1Nzk3NTIzMTA1RjQz
MDBCQ0E4M0YgLyogSW50ZWdyaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRkVDNTc5NzgyMzEwOTU0QzAwQkNBODNGIC8qIEludGVncml0eUlu
bGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
QzU3OTc3MjMxMDk1NEIwMEJDQTgzRiAvKiBJbnRlZ3JpdHlJbmxpbmVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUxMzgsNiArNTEzOSw3IEBA
CiAJCUZFQjUxRjZCMUE5N0I2ODgwMDFGOTIxQyAvKiBSZWdyZXNzMTQxODA5Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUmVncmVzczE0MTgwOS5tbTsgcGF0aCA9
IEFQSS90ZXN0cy9SZWdyZXNzMTQxODA5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRUI1OEMxMjE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3BlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVycm9ySGFuZGxpbmdTY29wZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQjU4QzEzMTg3QjhCMTYwMDk4RUYwQiAv
KiBFcnJvckhhbmRsaW5nU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RXJyb3JIYW5kbGluZ1Njb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQzE2
MDMxMjMzOUU5RjkwMEEwNENCOCAvKiBDZWxsU2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDZWxsU2l6ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUM1
Nzk3MjIzMTA1QjQ4MDBCQ0E4M0YgLyogVk1JbnNwZWN0b3JJbmxpbmVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZNSW5zcGVjdG9ySW5saW5lcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRUM1Nzk3NDIzMTA1RjQyMDBCQ0E4M0YgLyogSW50ZWdyaXR5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVncml0eS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQzU3OTc1MjMxMDVGNDMwMEJDQTgzRiAvKiBJ
bnRlZ3JpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50ZWdyaXR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTQ5LDYgKzY5NTEsNyBAQAogCQkJCTE0
NUM1MDdGMEQ5REY2M0IwMDg4RjZCOSAvKiBDYWxsRGF0YS5oICovLAogCQkJCUZFODBDMTk4MUQ3
NzVGQjQwMDg1MTBDMCAvKiBDYXRjaFNjb3BlLmNwcCAqLywKIAkJCQlGRTgwQzE5NjFENzc1QjI3
MDA4NTEwQzAgLyogQ2F0Y2hTY29wZS5oICovLAorCQkJCUZFQzE2MDMxMjMzOUU5RjkwMEEwNENC
OCAvKiBDZWxsU2l6ZS5oICovLAogCQkJCUUzMjZDNDk2MUVDQkVGNTcwMEE5QTkwNSAvKiBDbGFz
c0luZm8uY3BwICovLAogCQkJCUJDNkFBQUU0MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0luZm8u
aCAqLywKIAkJCQkwRkUwNTAxQzFBQTkwOTU2MDBEMzNCMzMgLyogQ2xvbmVkQXJndW1lbnRzLmNw
cCAqLywKQEAgLTkwMjksNiArOTAzMiw3IEBACiAJCQkJRkUxQkQwMjExRTcyMDI3OTAwMTM0QkM5
IC8qIENlbGxQcm9maWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjFDM0REQTFCQkNFMDlFMDBF
NTIzRTQgLyogQ2VsbFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzZBQUFFNTBFMUY0MjY1
MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUMxNjAzMjIzMzlF
OUY5MDBBMDRDQjggLyogQ2VsbFNpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTA1MDI2MUFB
OTA5NTYwMEQzM0IzMyAvKiBDbG9uZWRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MThDNDVFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBDTG9vcFN0YWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBN0MxRUFGMDE3OTg3QUI2MDAyOTlEQjIgLyogQ0xvb3BTdGFja0lubGluZXMuaCBpbiBIZWFk
ZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2VsbFNpemUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DZWxsU2l6ZS5oCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NlbGxTaXplLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRGlyZWN0QXJn
dW1lbnRzLmgiCisjaW5jbHVkZSAiSlNCaWdJbnQuaCIKKyNpbmNsdWRlICJKU0xleGljYWxFbnZp
cm9ubWVudC5oIgorI2luY2x1ZGUgIkpTTW9kdWxlRW52aXJvbm1lbnQuaCIKKyNpbmNsdWRlICJK
U01vZHVsZU5hbWVzcGFjZU9iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworaW5saW5lIGNv
bnN0ZXhwciBib29sIGlzRHluYW1pY2FsbHlTaXplZFR5cGUoSlNUeXBlIHR5cGUpCit7CisgICAg
aWYgKHR5cGUgPT0gQmlnSW50VHlwZQorICAgICAgICB8fCB0eXBlID09IERpcmVjdEFyZ3VtZW50
c1R5cGUKKyAgICAgICAgfHwgdHlwZSA9PSBGaW5hbE9iamVjdFR5cGUKKyAgICAgICAgfHwgdHlw
ZSA9PSBMZXhpY2FsRW52aXJvbm1lbnRUeXBlCisgICAgICAgIHx8IHR5cGUgPT0gTW9kdWxlRW52
aXJvbm1lbnRUeXBlCisgICAgICAgIHx8IHR5cGUgPT0gTW9kdWxlTmFtZXNwYWNlT2JqZWN0VHlw
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitpbmxpbmUg
c2l6ZV90IGNlbGxTaXplKFZNJiB2bSwgSlNDZWxsKiBjZWxsKQoreworICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gY2VsbC0+c3RydWN0dXJlKHZtKTsKKyAgICBjb25zdCBDbGFzc0luZm8qIGNs
YXNzSW5mbyA9IHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCk7CisgICAgSlNUeXBlIGNlbGxUeXBlID0g
Y2VsbC0+dHlwZSgpOworCisgICAgaWYgKGlzRHluYW1pY2FsbHlTaXplZFR5cGUoY2VsbFR5cGUp
KSB7CisgICAgICAgIHN3aXRjaCAoY2VsbFR5cGUpIHsKKyAgICAgICAgY2FzZSBCaWdJbnRUeXBl
OiB7CisgICAgICAgICAgICBhdXRvKiBiaWdJbnQgPSBqc0Nhc3Q8SlNCaWdJbnQqPihjZWxsKTsK
KyAgICAgICAgICAgIHJldHVybiBKU0JpZ0ludDo6YWxsb2NhdGlvblNpemUoYmlnSW50LT5sZW5n
dGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNUeXBlOiB7Cisg
ICAgICAgICAgICBhdXRvKiBhcmdzID0ganNDYXN0PERpcmVjdEFyZ3VtZW50cyo+KGNlbGwpOwor
ICAgICAgICAgICAgcmV0dXJuIERpcmVjdEFyZ3VtZW50czo6YWxsb2NhdGlvblNpemUoYXJncy0+
bV9taW5DYXBhY2l0eSk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBGaW5hbE9iamVjdFR5cGU6
CisgICAgICAgICAgICByZXR1cm4gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoc3RydWN0
dXJlLT5pbmxpbmVDYXBhY2l0eSgpKTsKKyAgICAgICAgY2FzZSBMZXhpY2FsRW52aXJvbm1lbnRU
eXBlOiB7CisgICAgICAgICAgICBhdXRvKiBlbnYgPSBqc0Nhc3Q8SlNMZXhpY2FsRW52aXJvbm1l
bnQqPihjZWxsKTsKKyAgICAgICAgICAgIHJldHVybiBKU0xleGljYWxFbnZpcm9ubWVudDo6YWxs
b2NhdGlvblNpemUoZW52LT5zeW1ib2xUYWJsZSgpKTsKKyAgICAgICAgfQorICAgICAgICBjYXNl
IE1vZHVsZUVudmlyb25tZW50VHlwZTogeworICAgICAgICAgICAgYXV0byogZW52ID0ganNDYXN0
PEpTTW9kdWxlRW52aXJvbm1lbnQqPihjZWxsKTsKKyAgICAgICAgICAgIHJldHVybiBKU01vZHVs
ZUVudmlyb25tZW50OjphbGxvY2F0aW9uU2l6ZShlbnYtPnN5bWJvbFRhYmxlKCkpOworICAgICAg
ICB9CisgICAgICAgIGNhc2UgTW9kdWxlTmFtZXNwYWNlT2JqZWN0VHlwZTogeworICAgICAgICAg
ICAgYXV0byogb2JqID0ganNDYXN0PEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Kj4oY2VsbCk7Cisg
ICAgICAgICAgICByZXR1cm4gSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmFsbG9jYXRpb25TaXpl
KG9iai0+bV9uYW1lcy5jYXBhY2l0eSgpKTsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAg
IH0KKyAgICByZXR1cm4gY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGlyZWN0QXJn
dW1lbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGly
ZWN0QXJndW1lbnRzLmgJKHJldmlzaW9uIDI1MDI4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RpcmVjdEFyZ3VtZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyArMTg1
LDcgQEAgcHJpdmF0ZToKICAgICB1c2luZyBNYXBwZWRBcmd1bWVudHMgPSBDYWdlZEJhcnJpZXJQ
dHI8R2lnYWNhZ2U6OlByaW1pdGl2ZSwgYm9vbD47CiAgICAgTWFwcGVkQXJndW1lbnRzIG1fbWFw
cGVkQXJndW1lbnRzOyAvLyBJZiBub24tbnVsbCwgaXQgbWVhbnMgdGhhdCBsZW5ndGgsIGNhbGxl
ZSwgYW5kIGNhbGxlciBhcmUgZnVsbHkgbWF0ZXJpYWxpemVkIHByb3BlcnRpZXMuCiAKLSAgICBm
cmllbmQgY2xhc3MgVk1JbnNwZWN0b3I7CisgICAgZnJpZW5kIHNpemVfdCBjZWxsU2l6ZShWTSYs
IEpTQ2VsbCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgJKHJldmlzaW9uIDI1MDI4OCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1MCw3
ICsyNTAsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IHVuc2lnbmVkIG1fbGVuZ3RoOwogICAgIGJv
b2wgbV9zaWduIHsgZmFsc2UgfTsKIAotICAgIGZyaWVuZCBjbGFzcyBWTUluc3BlY3RvcjsKKyAg
ICBmcmllbmQgc2l6ZV90IGNlbGxTaXplKFZNJiwgSlNDZWxsKik7CiB9OwogCiBpbmxpbmUgc2l6
ZV90IEpTQmlnSW50OjphbGxvY2F0aW9uU2l6ZSh1bnNpZ25lZCBsZW5ndGgpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0LmgJKHJldmlzaW9uIDI1MDI4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsx
MDQsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxJZGVudGlmaWVyPiBtX25hbWVzOwogICAgIFdy
aXRlQmFycmllcjxBYnN0cmFjdE1vZHVsZVJlY29yZD4gbV9tb2R1bGVSZWNvcmQ7CiAKLSAgICBm
cmllbmQgY2xhc3MgVk1JbnNwZWN0b3I7CisgICAgZnJpZW5kIHNpemVfdCBjZWxsU2l6ZShWTSYs
IEpTQ2VsbCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGUuaAkocmV2aXNpb24gMjUwMjg4KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MCwxOCArMTQw
LDYgQEAgaW5saW5lIGNvbnN0ZXhwciBib29sIGlzVHlwZWRBcnJheVR5cGUoSgogICAgIHJldHVy
biAoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHR5cGUpIC0gRmlyc3RUeXBlZEFycmF5VHlwZSkgPCBO
dW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3OwogfQogCi1pbmxpbmUgY29u
c3RleHByIGJvb2wgaXNEeW5hbWljYWxseVNpemVkVHlwZShKU1R5cGUgdHlwZSkKLXsKLSAgICBp
ZiAodHlwZSA9PSBCaWdJbnRUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gRGlyZWN0QXJndW1lbnRz
VHlwZQotICAgICAgICB8fCB0eXBlID09IEZpbmFsT2JqZWN0VHlwZQotICAgICAgICB8fCB0eXBl
ID09IExleGljYWxFbnZpcm9ubWVudFR5cGUKLSAgICAgICAgfHwgdHlwZSA9PSBNb2R1bGVFbnZp
cm9ubWVudFR5cGUKLSAgICAgICAgfHwgdHlwZSA9PSBNb2R1bGVOYW1lc3BhY2VPYmplY3RUeXBl
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90b29scy9WTUluc3BlY3RvcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3JJbmxpbmVzLmgJKHJldmlzaW9uIDI1MDI4OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3RvcklubGluZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJE
aXJlY3RBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJKU0JpZ0ludC5oIgotI2luY2x1ZGUgIkpTTGV4
aWNhbEVudmlyb25tZW50LmgiCi0jaW5jbHVkZSAiSlNNb2R1bGVFbnZpcm9ubWVudC5oIgotI2lu
Y2x1ZGUgIkpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgiCisjaW5jbHVkZSAiQ2VsbFNpemUuaCIK
ICNpbmNsdWRlICJWTUluc3BlY3Rvci5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAK
QEAgLTUxLDQ0ICs0NywxMCBAQCBib29sIFZNSW5zcGVjdG9yOjp2ZXJpZnlDZWxsU2l6ZShWTSYg
dm0sCiAgICAgSlNUeXBlIGNlbGxUeXBlID0gY2VsbC0+dHlwZSgpOwogICAgIEFVRElUX1ZFUklG
WShhY3Rpb24sIHZlcmlmaWVyLCBjZWxsVHlwZSA9PSBzdHJ1Y3R1cmUtPm1fYmxvYi50eXBlKCks
IGNlbGwsIGNlbGxUeXBlLCBzdHJ1Y3R1cmUtPm1fYmxvYi50eXBlKCkpOwogCi0gICAgaWYgKGlz
RHluYW1pY2FsbHlTaXplZFR5cGUoY2VsbFR5cGUpKSB7Ci0gICAgICAgIHNpemVfdCBjZWxsU2l6
ZSA9IDA7Ci0gICAgICAgIHN3aXRjaCAoY2VsbFR5cGUpIHsKLSAgICAgICAgY2FzZSBCaWdJbnRU
eXBlOiB7Ci0gICAgICAgICAgICBhdXRvKiBiaWdJbnQgPSBqc0Nhc3Q8SlNCaWdJbnQqPihjZWxs
KTsKLSAgICAgICAgICAgIGNlbGxTaXplID0gSlNCaWdJbnQ6OmFsbG9jYXRpb25TaXplKGJpZ0lu
dC0+bGVuZ3RoKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2Fz
ZSBEaXJlY3RBcmd1bWVudHNUeXBlOiB7Ci0gICAgICAgICAgICBhdXRvKiBhcmdzID0ganNDYXN0
PERpcmVjdEFyZ3VtZW50cyo+KGNlbGwpOwotICAgICAgICAgICAgY2VsbFNpemUgPSBEaXJlY3RB
cmd1bWVudHM6OmFsbG9jYXRpb25TaXplKGFyZ3MtPm1fbWluQ2FwYWNpdHkpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBGaW5hbE9iamVjdFR5cGU6Ci0gICAg
ICAgICAgICBjZWxsU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKHN0cnVjdHVy
ZS0+aW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBM
ZXhpY2FsRW52aXJvbm1lbnRUeXBlOiB7Ci0gICAgICAgICAgICBhdXRvKiBlbnYgPSBqc0Nhc3Q8
SlNMZXhpY2FsRW52aXJvbm1lbnQqPihjZWxsKTsKLSAgICAgICAgICAgIGNlbGxTaXplID0gSlNM
ZXhpY2FsRW52aXJvbm1lbnQ6OmFsbG9jYXRpb25TaXplKGVudi0+c3ltYm9sVGFibGUoKSk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIE1vZHVsZUVudmlyb25t
ZW50VHlwZTogewotICAgICAgICAgICAgYXV0byogZW52ID0ganNDYXN0PEpTTW9kdWxlRW52aXJv
bm1lbnQqPihjZWxsKTsKLSAgICAgICAgICAgIGNlbGxTaXplID0gSlNNb2R1bGVFbnZpcm9ubWVu
dDo6YWxsb2NhdGlvblNpemUoZW52LT5zeW1ib2xUYWJsZSgpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgTW9kdWxlTmFtZXNwYWNlT2JqZWN0VHlwZTogewot
ICAgICAgICAgICAgYXV0byogb2JqID0ganNDYXN0PEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Kj4o
Y2VsbCk7Ci0gICAgICAgICAgICBjZWxsU2l6ZSA9IEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Ojph
bGxvY2F0aW9uU2l6ZShvYmotPm1fbmFtZXMuY2FwYWNpdHkoKSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgfQotICAgICAgICBBVURJVF9WRVJJRlkoYWN0aW9u
LCB2ZXJpZmllciwgY2VsbFNpemUgPD0gYWxsb2NhdG9yQ2VsbFNpemUsIGNlbGwsIGNlbGxUeXBl
LCBjZWxsU2l6ZSwgYWxsb2NhdG9yQ2VsbFNpemUpOwotICAgICAgICBBVURJVF9WRVJJRlkoYWN0
aW9uLCB2ZXJpZmllciwgY2VsbFNpemUgPj0gY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemUsIGNl
bGwsIGNlbGxUeXBlLCBjZWxsU2l6ZSwgY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemUpOwotICAg
IH0gZWxzZQotICAgICAgICBBVURJVF9WRVJJRlkoYWN0aW9uLCB2ZXJpZmllciwgY2xhc3NJbmZv
LT5zdGF0aWNDbGFzc1NpemUgPD0gYWxsb2NhdG9yQ2VsbFNpemUsIGNlbGwsIGNlbGxUeXBlLCBj
bGFzc0luZm8tPnN0YXRpY0NsYXNzU2l6ZSwgYWxsb2NhdG9yQ2VsbFNpemUpOworICAgIHNpemVf
dCBzaXplID0gY2VsbFNpemUodm0sIGNlbGwpOworICAgIEFVRElUX1ZFUklGWShhY3Rpb24sIHZl
cmlmaWVyLCBzaXplIDw9IGFsbG9jYXRvckNlbGxTaXplLCBjZWxsLCBjZWxsVHlwZSwgc2l6ZSwg
YWxsb2NhdG9yQ2VsbFNpemUsIGNsYXNzSW5mby0+c3RhdGljQ2xhc3NTaXplKTsKKyAgICBpZiAo
aXNEeW5hbWljYWxseVNpemVkVHlwZShjZWxsVHlwZSkpCisgICAgICAgIEFVRElUX1ZFUklGWShh
Y3Rpb24sIHZlcmlmaWVyLCBzaXplID49IGNsYXNzSW5mby0+c3RhdGljQ2xhc3NTaXplLCBjZWxs
LCBjZWxsVHlwZSwgc2l6ZSwgY2xhc3NJbmZvLT5zdGF0aWNDbGFzc1NpemUpOwogCiAgICAgcmV0
dXJuIHRydWU7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>