<?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>179911</bug_id>
          
          <creation_ts>2017-11-21 02:30:38 -0800</creation_ts>
          <short_desc>[DFG] Define defs for MapSet/SetAdd to participate in CSE</short_desc>
          <delta_ts>2018-01-04 07:59:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373957</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-21 02:30:38 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374063</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-21 10:40:59 -0800</bug_when>
    <thetext>One way I&apos;ve come up with doing this thing efficiently is that SetAdd and MapSet returns bucket, with `def()`. Then the GetMapBucket will be merged to SetAdd / MapSet&apos;s results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382747</commentid>
    <comment_count>2</comment_count>
      <attachid>329649</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-18 05:25:56 -0800</bug_when>
    <thetext>Created attachment 329649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383121</commentid>
    <comment_count>3</comment_count>
      <attachid>329757</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-19 05:29:00 -0800</bug_when>
    <thetext>Created attachment 329757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385635</commentid>
    <comment_count>4</comment_count>
      <attachid>329757</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-01-03 17:37:14 -0800</bug_when>
    <thetext>Comment on attachment 329757
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385812</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-01-04 07:57:10 -0800</bug_when>
    <thetext>Committed r226408: &lt;https://trac.webkit.org/changeset/226408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385813</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-04 07:59:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/36297546&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329649</attachid>
            <date>2017-12-18 05:25:56 -0800</date>
            <delta_ts>2017-12-19 05:28:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179911-20171218222555.patch</filename>
            <type>text/plain</type>
            <size>20716</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODVlZDA0YTU3ZGU0NjAzZGI1YTZkMTEwZWIzZGE5MWZlMmY4ZmQ5Li41ZjI0MTNhOWI5ZDFlODhj
NzUxMTI1YjNhNzI1MDBmZjA1NzVjMWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxNy0xMi0xOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBEZWZpbmUgZGVmcyBmb3IgTWFwU2V0L1NldEFkZCB0byBw
YXJ0aWNpcGF0ZSBpbiBDU0UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3OTkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwgb3VyIE1hcFNldCBhbmQgU2V0QWRkIERGRyBub2Rl
cyBwYXJ0aWNpcGF0ZSBpbiBDU0UuCisgICAgICAgIFRvIGhhbmRsZSBhIGJpdCB0cmlja3kgREZH
IE1hcCBvcGVyYXRpb24gbm9kZXMsIE1hcFNldCBhbmQgU2V0QWRkCisgICAgICAgIHByb2R1Y2Ug
YWRkZWQgYnVja2V0IGFzIGl0cyByZXN1bHQuIFN1YnNlcXVlbnQgR2V0TWFwQnVja2V0IHdpbGwK
KyAgICAgICAgYmUgcmVtb3ZlZCBieSBDU0UuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJl
dGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9E
RkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAg
ICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlU2V0QWRkKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1hcFNldCk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlU2V0QWRk
KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU1hcFNldCk6
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBydW50aW1lL0hhc2hN
YXBJbXBsLmg6CisgICAgICAgIChKU0M6Okhhc2hNYXBJbXBsOjphZGROb3JtYWxpemVkKToKKyAg
ICAgICAgKEpTQzo6SGFzaE1hcEltcGw6OmFkZE5vcm1hbGl6ZWRJbnRlcm5hbCk6CisKIDIwMTct
MTItMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gVXNlIElzb1NwYWNlIGZvciBKU1dlYWtNYXAgYW5kIEpTV2Vha1NldCB0byB1c2UgZmlu
YWxpemVVbmNvbmRpdGlvbmFsbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCAwNmQ0MmY3ZDVkMGM0
OWZjYzdkNTY4NWJjNThjN2UzMzMxZWMwYzBmLi4wMDg0N2YxMDg5OTE5NGIxNGQ5YzEzY2IwZmJh
NTgxYTQ1MGJlY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xMTU0LDcgKzExNTQsMTEgQEAg
Ym9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNldEFk
ZDoKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXQobV9ncmFwaCwgbV92bS5oYXNoTWFwQnVja2V0
U2V0U3RydWN0dXJlLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIE1hcFNldDoK
KyAgICAgICAgZm9yTm9kZShub2RlKS5zZXQobV9ncmFwaCwgbV92bS5oYXNoTWFwQnVja2V0TWFw
U3RydWN0dXJlLmdldCgpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFdlYWtNYXBHZXQ6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDMxMzVlNzY1
NDYwMzE4ODhjZGI2Nzc3N2IxZGFlOWUxOTRiOGI1N2MuLjk2NTM4ZDkxNTA1MTkxMWQ5Y2Y1ZWM4
YzhiZWQ3MjMyNzRhMDI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJl
cml6ZS5oCkBAIC0xNjQ5LDE2ICsxNjQ5LDE4IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAg
ICAgfQogCiAgICAgY2FzZSBTZXRBZGQ6IHsKLSAgICAgICAgLy8gRklYTUU6IERlZmluZSBkZWZz
IGZvciB0aGVtIHRvIHBhcnRpY2lwYXRlIGluIENTRS4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTkxMQorICAgICAgICBFZGdlJiBtYXBFZGdl
ID0gbm9kZS0+Y2hpbGQxKCk7CisgICAgICAgIEVkZ2UmIGtleUVkZ2UgPSBub2RlLT5jaGlsZDIo
KTsKICAgICAgICAgd3JpdGUoSlNTZXRGaWVsZHMpOworICAgICAgICBkZWYoSGVhcExvY2F0aW9u
KE1hcEJ1Y2tldExvYywgSlNTZXRGaWVsZHMsIG1hcEVkZ2UsIGtleUVkZ2UpLCBMYXp5Tm9kZShu
b2RlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBjYXNlIE1hcFNldDogewotICAg
ICAgICAvLyBGSVhNRTogRGVmaW5lIGRlZnMgZm9yIHRoZW0gdG8gcGFydGljaXBhdGUgaW4gQ1NF
LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5
OTExCisgICAgICAgIEVkZ2UmIG1hcEVkZ2UgPSBncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKTsK
KyAgICAgICAgRWRnZSYga2V5RWRnZSA9IGdyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDEpOwogICAg
ICAgICB3cml0ZShKU01hcEZpZWxkcyk7CisgICAgICAgIGRlZihIZWFwTG9jYXRpb24oTWFwQnVj
a2V0TG9jLCBKU01hcEZpZWxkcywgbWFwRWRnZSwga2V5RWRnZSksIExhenlOb2RlKG5vZGUpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCmluZGV4IDhmYWUxYjRlMTJkNzgxYTIzMmNmZjY5OTcwZTkyZGNkZTk3OTdiMDYuLjU2
ZGU4NDBmNGIxNmMyMTdkODFmYWMyOGJhMTc4NmVjMmYwNGNjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTQ0MCw4ICs0NDAsOCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oR2V0TWFwQnVja2V0TmV4dCwgTm9kZVJlc3Vs
dEpTKSBcCiAgICAgbWFjcm8oTG9hZEtleUZyb21NYXBCdWNrZXQsIE5vZGVSZXN1bHRKUykgXAog
ICAgIG1hY3JvKExvYWRWYWx1ZUZyb21NYXBCdWNrZXQsIE5vZGVSZXN1bHRKUykgXAotICAgIG1h
Y3JvKFNldEFkZCwgTm9kZU11c3RHZW5lcmF0ZSkgXAotICAgIG1hY3JvKE1hcFNldCwgTm9kZU11
c3RHZW5lcmF0ZSB8IE5vZGVIYXNWYXJBcmdzKSBcCisgICAgbWFjcm8oU2V0QWRkLCBOb2RlTXVz
dEdlbmVyYXRlIHwgTm9kZVJlc3VsdEpTKSBcCisgICAgbWFjcm8oTWFwU2V0LCBOb2RlTXVzdEdl
bmVyYXRlIHwgTm9kZUhhc1ZhckFyZ3MgfCBOb2RlUmVzdWx0SlMpIFwKICAgICAvKiBOb2RlcyBm
b3IgSlNXZWFrTWFwIGFuZCBKU1dlYWtTZXQgKi8gXAogICAgIG1hY3JvKFdlYWtNYXBHZXQsIE5v
ZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKEV4dHJhY3RWYWx1ZUZyb21XZWFrTWFwR2V0LCBOb2Rl
UmVzdWx0SlMpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
CmluZGV4IDY3MWY5NGQ3N2ZhYTZhYzQ0MmFjOWY1MjAxYTBlZjA0Zjg3YWU0YzkuLjg2ZjhiNDlk
OWY2YWM2MjA4MmIwMTI3ZTVkODMzZjA3NWJjZjg3Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtMjU3MywxOCArMjU3MywyNCBAQCBKU0NlbGwq
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSlNTZXRGaW5kQnVja2V0KEV4ZWNTdGF0ZSogZXhlYywg
SlNDZWxsKiBtYXAsIEVuYwogICAgIHJldHVybiAqYnVja2V0OwogfQogCi12b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uU2V0QWRkKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBzZXQsIEVuY29k
ZWRKU1ZhbHVlIGtleSwgaW50MzJfdCBoYXNoKQorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblNldEFkZChFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogc2V0LCBFbmNvZGVkSlNWYWx1ZSBr
ZXksIGludDMyX3QgaGFzaCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICBqc0Nhc3Q8SlNTZXQqPihz
ZXQpLT5hZGROb3JtYWxpemVkKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShrZXkpLCBKU1ZhbHVlKCks
IGhhc2gpOworICAgIGF1dG8qIGJ1Y2tldCA9IGpzQ2FzdDxKU1NldCo+KHNldCktPmFkZE5vcm1h
bGl6ZWQoZXhlYywgSlNWYWx1ZTo6ZGVjb2RlKGtleSksIEpTVmFsdWUoKSwgaGFzaCk7CisgICAg
aWYgKCFidWNrZXQpCisgICAgICAgIHJldHVybiB2bS5zZW50aW5lbFNldEJ1Y2tldC5nZXQoKTsK
KyAgICByZXR1cm4gYnVja2V0OwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWFw
U2V0KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBtYXAsIEVuY29kZWRKU1ZhbHVlIGtleSwgRW5j
b2RlZEpTVmFsdWUgdmFsdWUsIGludDMyX3QgaGFzaCkKK0pTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25NYXBTZXQoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIG1hcCwgRW5jb2RlZEpTVmFs
dWUga2V5LCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgaW50MzJfdCBoYXNoKQogewogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4
ZWMpOwotICAgIGpzQ2FzdDxKU01hcCo+KG1hcCktPmFkZE5vcm1hbGl6ZWQoZXhlYywgSlNWYWx1
ZTo6ZGVjb2RlKGtleSksIEpTVmFsdWU6OmRlY29kZSh2YWx1ZSksIGhhc2gpOworICAgIGF1dG8q
IGJ1Y2tldCA9IGpzQ2FzdDxKU01hcCo+KG1hcCktPmFkZE5vcm1hbGl6ZWQoZXhlYywgSlNWYWx1
ZTo6ZGVjb2RlKGtleSksIEpTVmFsdWU6OmRlY29kZSh2YWx1ZSksIGhhc2gpOworICAgIGlmICgh
YnVja2V0KQorICAgICAgICByZXR1cm4gdm0uc2VudGluZWxNYXBCdWNrZXQuZ2V0KCk7CisgICAg
cmV0dXJuIGJ1Y2tldDsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZXRQcm90b3R5cGVPZk9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2Jq
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAppbmRleCA1YmVj
OWI3YWJhZTU3OWJmMmIyMjZjZGI0NjY2ODQ4NjlmOGRjZDE0Li4yMzI3ODU3ZmMzYzllYjdiY2I0
MDZkZGM1MjBkY2I4MTFkZTQ1YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuaApAQCAtMTM4LDggKzEzOCw2IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25EZWZpbmVBY2Nlc3NvclByb3BlcnR5KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlCiB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVmaW5lQWNjZXNzb3JQcm9wZXJ0eVN0cmluZyhF
eGVjU3RhdGUqLCBKU09iamVjdCosIEpTU3RyaW5nKiwgSlNPYmplY3QqLCBKU09iamVjdCosIGlu
dDMyX3QpIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWZpbmVB
Y2Nlc3NvclByb3BlcnR5U3RyaW5nSWRlbnQoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBVbmlxdWVk
U3RyaW5nSW1wbCosIEpTT2JqZWN0KiwgSlNPYmplY3QqLCBpbnQzMl90KSBXVEZfSU5URVJOQUw7
CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVmaW5lQWNjZXNzb3JQcm9wZXJ0eVN5bWJv
bChFeGVjU3RhdGUqLCBKU09iamVjdCosIFN5bWJvbCosIEpTT2JqZWN0KiwgSlNPYmplY3QqLCBp
bnQzMl90KSBXVEZfSU5URVJOQUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU2V0QWRk
KEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90KSBXVEZfSU5URVJO
QUw7Ci12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWFwU2V0KEV4ZWNTdGF0ZSosIEpTQ2Vs
bCosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCkgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25BcnJheVB1c2goRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBKU0FycmF5KikgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25BcnJheVB1c2hNdWx0aXBs
ZShFeGVjU3RhdGUqLCBKU0FycmF5Kiwgdm9pZCogYnVmZmVyLCBpbnQzMl90IGVsZW1lbnRDb3Vu
dCkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25B
cnJheVB1c2hEb3VibGUoRXhlY1N0YXRlKiwgZG91YmxlIHZhbHVlLCBKU0FycmF5KikgV1RGX0lO
VEVSTkFMOwpAQCAtMTYzLDYgKzE2MSw4IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRp
b25DcmVhdGVDbG9uZWRBcmd1bWVudHNEdXJpbmdFeGl0KEV4ZWNTdGF0ZSosIElubGluCiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZSosIFJlZ2lzdGVyKiBhcmd1bWVudFN0YXJ0LCBpbnQzMl90IGxlbmd0aCwg
SlNGdW5jdGlvbiogY2FsbGVlKTsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVh
dGVSZXN0KEV4ZWNTdGF0ZSosIFJlZ2lzdGVyKiBhcmd1bWVudFN0YXJ0LCB1bnNpZ25lZCBudW1i
ZXJPZkFyZ3VtZW50c1RvU2tpcCwgdW5zaWduZWQgYXJyYXlTaXplKTsKIEpTQ2VsbCogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1ZmZlcihFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBK
U0NlbGwqLCBzaXplX3QpIFdURl9JTlRFUk5BTDsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVy
YXRpb25TZXRBZGQoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3Qp
IFdURl9JTlRFUk5BTDsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXBTZXQoRXhl
Y1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90
KSBXVEZfSU5URVJOQUw7CiBkb3VibGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25GTW9kT25JbnRz
KGludDMyX3QsIGludDMyX3QpIFdURl9JTlRFUk5BTDsKIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk9iamVjdElzT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxs
KikgV1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT2JqZWN0SXNG
dW5jdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCopIFdURl9JTlRFUk5B
TDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNzk0YTc3OTk5MGFjYTQ0OTNlZDlmMDc2Yzhl
MmNhNDdjYjZlZjgyZi4uOTdlNDJiODI5NmNiMWFiYmQ0OTdiNTQ4Nzg3YzljZDBkZjVjN2FhZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTc3Myw2ICs3NzMsOCBAQCBjbGFzcyBQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIGNhc2UgR2V0TWFw
QnVja2V0OgogICAgICAgICBjYXNlIEdldE1hcEJ1Y2tldEhlYWQ6CiAgICAgICAgIGNhc2UgR2V0
TWFwQnVja2V0TmV4dDoKKyAgICAgICAgY2FzZSBTZXRBZGQ6CisgICAgICAgIGNhc2UgTWFwU2V0
OgogICAgICAgICAgICAgc2V0UHJlZGljdGlvbihTcGVjQ2VsbE90aGVyKTsKICAgICAgICAgICAg
IGJyZWFrOwogCkBAIC0xMTgwLDggKzExODIsNiBAQCBjbGFzcyBQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIGNhc2UgUHV0RHluYW1pY1ZhcjoKICAg
ICAgICAgY2FzZSBOdWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5OgogICAgICAgICBjYXNlIElu
aXRpYWxpemVFbnRyeXBvaW50QXJndW1lbnRzOgotICAgICAgICBjYXNlIFNldEFkZDoKLSAgICAg
ICAgY2FzZSBNYXBTZXQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAg
ICAvLyBUaGlzIGdldHMgaWdub3JlZCBiZWNhdXNlIGl0IG9ubHkgcHJldGVuZHMgdG8gcHJvZHVj
ZSBhIHZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAppbmRleCBiNzA5OTFhMzgwNmFlYThmYmIxZGJiZmMzMjU1OTk5NjFkYWE2NzU1Li4y
YWE0NzU2MDk5NDU5ZmEwMjY0OWM1MWViNTkyOTk2MzU1YWU2ZWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTA5NTUsMTAgKzEw
OTU1LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTZXRBZGQoTm9kZSogbm9kZSkK
IAogICAgIHNwZWN1bGF0ZVNldE9iamVjdChub2RlLT5jaGlsZDEoKSwgc2V0R1BSKTsKIAorICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBHUFJSZWcgcmVzdWx0R1BS
ID0gcmVzdWx0LmdwcigpOworCiAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvblNldEFkZCwgc2V0R1BSLCBrZXlSZWdzLCBoYXNoR1BSKTsKKyAgICBjYWxs
T3BlcmF0aW9uKG9wZXJhdGlvblNldEFkZCwgcmVzdWx0R1BSLCBzZXRHUFIsIGtleVJlZ3MsIGhh
c2hHUFIpOwogICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgbm9SZXN1bHQobm9kZSk7
CisgICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlTWFwU2V0KE5vZGUqIG5vZGUpCkBAIC0xMDk3NSwxMCArMTA5NzgsMTMgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1hcFNldChOb2RlKiBub2RlKQogCiAgICAgc3Bl
Y3VsYXRlTWFwT2JqZWN0KG1faml0LmdyYXBoKCkudmFyQXJnQ2hpbGQobm9kZSwgMCksIG1hcEdQ
Uik7CiAKKyAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgR1BSUmVn
IHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKKwogICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAg
Y2FsbE9wZXJhdGlvbihvcGVyYXRpb25NYXBTZXQsIG1hcEdQUiwga2V5UmVncywgdmFsdWVSZWdz
LCBoYXNoR1BSKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk1hcFNldCwgcmVzdWx0R1BS
LCBtYXBHUFIsIGtleVJlZ3MsIHZhbHVlUmVncywgaGFzaEdQUik7CiAgICAgbV9qaXQuZXhjZXB0
aW9uQ2hlY2soKTsKLSAgICBub1Jlc3VsdChub2RlKTsKKyAgICBjZWxsUmVzdWx0KHJlc3VsdEdQ
Uiwgbm9kZSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVXZWFrTWFwR2V0KE5v
ZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKaW5kZXggOTc0ZmM0MWM4ODNlMGU4NzUxYjE1M2MxN2M5NWI1OTc5YWU1YjhiNi4uODg2MGQ4
ZTkyY2I3YWUyMDlkYzQ5Y2MxMWNkNmFhZTIxMjBjYWQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtMTQyOCw2ICsxNDI4LDE2IEBAIGNs
YXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLnBheWxvYWRH
UFIoKSwgYXJnMyk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKKyAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihD
X0pJVE9wZXJhdGlvbl9FQ0pKWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcx
LCBKU1ZhbHVlUmVncyBhcmcyLCBKU1ZhbHVlUmVncyBhcmczLCBHUFJSZWcgYXJnNCkKKyAgICB7
CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLnBh
eWxvYWRHUFIoKSwgYXJnMy5wYXlsb2FkR1BSKCksIGFyZzQpOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BS
UmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFyZzIpCiAgICAgewogICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5ncHIoKSk7CkBA
IC0yMDMzLDYgKzIwNDMsMTEgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFy
ZzIudGFnR1BSKCksIGFyZzMpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oQ19KSVRPcGVyYXRpb25fRUNKSlogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJS
ZWcgYXJnMSwgSlNWYWx1ZVJlZ3MgYXJnMiwgSlNWYWx1ZVJlZ3MgYXJnMywgR1BSUmVnIGFyZzQp
CisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
YXJnMi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCksIGFyZzMucGF5bG9hZEdQUigpLCBhcmcz
LnRhZ0dQUigpLCBhcmc0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKENfSklUT3BlcmF0aW9uX0VDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBh
cmcxLCBKU1ZhbHVlUmVncyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA3
OTMxOWU1YTg1YjQ3MmVjN2ExNzUzYWIxNWI2OTNkNzI4NjEwOTJkLi42MTU2MTdmYmY1MDRkMGRj
MTAwZmM5ZThmODRiM2JlMGZmZmJkMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC04OTA3LDcgKzg5MDcsNyBAQCBjbGFzcyBMb3dlckRG
R1RvQjMgewogICAgICAgICBMVmFsdWUga2V5ID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigp
KTsKICAgICAgICAgTFZhbHVlIGhhc2ggPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMygpKTsKIAot
ICAgICAgICB2bUNhbGwoVm9pZCwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvblNldEFkZCksIG1f
Y2FsbEZyYW1lLCBzZXQsIGtleSwgaGFzaCk7CisgICAgICAgIHNldEpTVmFsdWUodm1DYWxsKHBv
aW50ZXJUeXBlKCksIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25TZXRBZGQpLCBtX2NhbGxGcmFt
ZSwgc2V0LCBrZXksIGhhc2gpKTsKICAgICB9CiAKICAgICB2b2lkIGNvbXBpbGVNYXBTZXQoKQpA
QCAtODkxNyw3ICs4OTE3LDcgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgTFZhbHVl
IHZhbHVlID0gbG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMikpOwogICAg
ICAgICBMVmFsdWUgaGFzaCA9IGxvd0ludDMyKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAz
KSk7CiAKLSAgICAgICAgdm1DYWxsKFZvaWQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYXBT
ZXQpLCBtX2NhbGxGcmFtZSwgbWFwLCBrZXksIHZhbHVlLCBoYXNoKTsKKyAgICAgICAgc2V0SlNW
YWx1ZSh2bUNhbGwocG9pbnRlclR5cGUoKSwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk1hcFNl
dCksIG1fY2FsbEZyYW1lLCBtYXAsIGtleSwgdmFsdWUsIGhhc2gpKTsKICAgICB9CiAKICAgICB2
b2lkIGNvbXBpbGVXZWFrTWFwR2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmgKaW5kZXggNzQ3OTE0NjczOTU3OTFmYjI4Mjg3ZTdmNzhmMzk2MmM2OTgxYzQ5NS4u
YjljMjA4YTQ5M2M2MmUzYzk4NWFkMzU2N2E2M2Y3NjNjZDA4MmQwMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTIxOCw2ICsyMTgsNyBAQCB0eXBlZGVm
IEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VDWlopKEV4ZWNTdGF0ZSos
IEpTQ2VsbCosIGludDMyXwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9w
ZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9P
UEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VKc2NJKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgVW5p
cXVlZFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRP
cGVyYXRpb25fRUNKWikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUsIGludDMy
X3QpOwordHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FQ0pK
WikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBp
bnQzMl90KTsKIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25f
RUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEpTQ2Vs
bCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VDTykoRXhlY1N0YXRlKiwgSlNDZWxs
KiwgSlNPYmplY3QqKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJh
dGlvbl9EKShkb3VibGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSGFzaE1hcEltcGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hhc2hNYXBJ
bXBsLmgKaW5kZXggMTE4NjIwMmViYzNiMTE0NWZlZDY1ZmIwNTE3MzA4MGZhZGZlMDA1Yy4uOTRl
ZTJlMzkxZWJkYzIwYWQwZGM1NGZhZjcyYmMyZmUzM2YzZmMyNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGFzaE1hcEltcGwuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9IYXNoTWFwSW1wbC5oCkBAIC00NjksMTYgKzQ2OSwxNyBAQCBjbGFz
cyBIYXNoTWFwSW1wbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICAgICAgICAgIHJl
aGFzaChleGVjKTsKICAgICB9CiAKLSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgYWRkTm9ybWFsaXpl
ZChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUga2V5LCBKU1ZhbHVlIHZhbHVlLCB1aW50MzJfdCBo
YXNoKQorICAgIEFMV0FZU19JTkxJTkUgSGFzaE1hcEJ1Y2tldFR5cGUqIGFkZE5vcm1hbGl6ZWQo
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGtleSwgSlNWYWx1ZSB2YWx1ZSwgdWludDMyX3QgaGFz
aCkKICAgICB7CiAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uobm9ybWFsaXplTWFwS2V5KGtl
eSkgPT0ga2V5LCAiV2UgZXhwZWN0IG5vcm1hbGl6ZWQgdmFsdWVzIGZsb3dpbmcgaW50byB0aGlz
IGZ1bmN0aW9uLiIpOwogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGpzTWFwSGFzaChleGVj
LCBleGVjLT52bSgpLCBrZXkpID09IGhhc2gsICJXZSBleHBlY3QgaGFzaCB2YWx1ZSBpcyB3aGF0
IHdlIGV4cGVjdC4iKTsKIAotICAgICAgICBhZGROb3JtYWxpemVkSW50ZXJuYWwoZXhlYy0+dm0o
KSwga2V5LCB2YWx1ZSwgaGFzaCwgWyZdIChIYXNoTWFwQnVja2V0VHlwZSogYnVja2V0KSB7Cisg
ICAgICAgIGF1dG8qIGJ1Y2tldCA9IGFkZE5vcm1hbGl6ZWRJbnRlcm5hbChleGVjLT52bSgpLCBr
ZXksIHZhbHVlLCBoYXNoLCBbJl0gKEhhc2hNYXBCdWNrZXRUeXBlKiBidWNrZXQpIHsKICAgICAg
ICAgICAgIHJldHVybiAhaXNEZWxldGVkKGJ1Y2tldCkgJiYgYXJlS2V5c0VxdWFsKGV4ZWMsIGtl
eSwgYnVja2V0LT5rZXkoKSk7CiAgICAgICAgIH0pOwogICAgICAgICBpZiAoc2hvdWxkUmVoYXNo
QWZ0ZXJBZGQoKSkKICAgICAgICAgICAgIHJlaGFzaChleGVjKTsKKyAgICAgICAgcmV0dXJuIGJ1
Y2tldDsKICAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgcmVtb3ZlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSBrZXkpCkBAIC02MDYsNyArNjA3LDcgQEAgY2xhc3MgSGFzaE1hcEltcGwg
OiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2FuVXNlQnVja2V0PgotICAgIEFMV0FZU19JTkxJTkUgdm9pZCBhZGROb3JtYWxpemVkSW50
ZXJuYWwoVk0mIHZtLCBKU1ZhbHVlIGtleSwgSlNWYWx1ZSB2YWx1ZSwgdWludDMyX3QgaGFzaCwg
Y29uc3QgQ2FuVXNlQnVja2V0JiBjYW5Vc2VCdWNrZXQpCisgICAgQUxXQVlTX0lOTElORSBIYXNo
TWFwQnVja2V0VHlwZSogYWRkTm9ybWFsaXplZEludGVybmFsKFZNJiB2bSwgSlNWYWx1ZSBrZXks
IEpTVmFsdWUgdmFsdWUsIHVpbnQzMl90IGhhc2gsIGNvbnN0IENhblVzZUJ1Y2tldCYgY2FuVXNl
QnVja2V0KQogICAgIHsKICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShub3JtYWxpemVNYXBL
ZXkoa2V5KSA9PSBrZXksICJXZSBleHBlY3Qgbm9ybWFsaXplZCB2YWx1ZXMgZmxvd2luZyBpbnRv
IHRoaXMgZnVuY3Rpb24uIik7CiAKQEAgLTYxNyw3ICs2MTgsNyBAQCBjbGFzcyBIYXNoTWFwSW1w
bCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICAgICAgd2hpbGUgKCFpc0VtcHR5KGJ1
Y2tldCkpIHsKICAgICAgICAgICAgIGlmIChjYW5Vc2VCdWNrZXQoYnVja2V0KSkgewogICAgICAg
ICAgICAgICAgIGJ1Y2tldC0+c2V0VmFsdWUodm0sIHZhbHVlKTsKLSAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICAgICAgcmV0dXJuIGJ1Y2tldDsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGluZGV4ID0gKGluZGV4ICsgMSkgJiBtYXNrOwogICAgICAgICAgICAgYnVja2V0
ID0gYnVmZmVyW2luZGV4XTsKQEAgLTYzNSw2ICs2MzYsNyBAQCBjbGFzcyBIYXNoTWFwSW1wbCA6
IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICAgICAgbmV3RW50cnktPnNldE5leHQodm0s
IG5ld1RhaWwpOwogCiAgICAgICAgICsrbV9rZXlDb3VudDsKKyAgICAgICAgcmV0dXJuIG5ld0Vu
dHJ5OwogICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgSGFzaE1hcEJ1Y2tldFR5cGUqKiBmaW5k
QnVja2V0QWxyZWFkeUhhc2hlZEFuZE5vcm1hbGl6ZWQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IGtleSwgdWludDMyX3QgaGFzaCkKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWIwMGE5OTA2YmE3MTU2NWEzZDA5MTg5MTljYzI0ZjI1MmEy
MTI2ZS4uNTZlNWUxYWFmMDE5NjM5MWUwNzI2NTBjODljYjJlNTgwOThmNjAwNyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxNy0xMi0xOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4K
KworICAgICAgICBbREZHXSBEZWZpbmUgZGVmcyBmb3IgTWFwU2V0L1NldEFkZCB0byBwYXJ0aWNp
cGF0ZSBpbiBDU0UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluIGFkZGl0aW9uIHRvIHRoZXNlIHRlc3RzLCBtYXAtc2V0LWNzZS5qcyBhbmQgc2V0LWFk
ZC1jc2UuanMgd29yay4KKworICAgICAgICAqIHN0cmVzcy9tYXAtc2V0LWNoYW5nZS1nZXQuanM6
IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAodGVzdCk6CisgICAgICAgICog
c3RyZXNzL21hcC1zZXQtY3JlYXRlLWJ1Y2tldC5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRC
ZSk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiBzdHJlc3Mvc2V0LWFkZC1jcmVhdGUtYnVj
a2V0LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKwogMjAxNy0xMi0xNCAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgQ2xlYW5VcCBhZnRlciBM
SUNNIGlzIGVycm9uZW91c2x5IHJlbW92aW5nIGEgQ2hlY2sKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
c3RyZXNzL21hcC1zZXQtY2hhbmdlLWdldC5qcyBiL0pTVGVzdHMvc3RyZXNzL21hcC1zZXQtY2hh
bmdlLWdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDQ5ZWI3ZGRjNDBlNzdmNDk3OTFlOWZiZDQwM2U4MDll
ZTljNzNhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbWFwLXNldC1jaGFuZ2Ut
Z2V0LmpzCkBAIC0wLDAgKzEsMjEgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0
ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICB2YXIgbWFwID0gbmV3IE1hcCgpOworICAgIG1hcC5zZXQoNDIsIDIwKTsKKyAgICB2YXIgcmVz
MSA9IG1hcC5nZXQoNDIpOworICAgIG1hcC5zZXQoNDIsIDQwMCk7CisgICAgdmFyIHJlczIgPSBt
YXAuZ2V0KDQyKTsKKyAgICByZXR1cm4gW3JlczEsIHJlczJdOworfQorbm9JbmxpbmUodGVzdCk7
CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMWU2OyArK2kpIHsKKyAgICB2YXIgW3JlczEsIHJlczJd
ID0gdGVzdCgpOworICAgIHNob3VsZEJlKHJlczEsIDIwKTsKKyAgICBzaG91bGRCZShyZXMyLCA0
MDApOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbWFwLXNldC1jcmVhdGUtYnVja2V0
LmpzIGIvSlNUZXN0cy9zdHJlc3MvbWFwLXNldC1jcmVhdGUtYnVja2V0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZkOTBkNjY3NTY0MDYwMDNhOGMyZGRkOTU5OTIzNmYzODk5ODFjZGYKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9tYXAtc2V0LWNyZWF0ZS1idWNrZXQuanMKQEAgLTAsMCArMSwy
MyBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyAr
IGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBtYXAgPSBuZXcgTWFw
KCk7CisgICAgdmFyIHJlczEgPSBtYXAuZ2V0KDQyKTsKKyAgICBtYXAuc2V0KDQyLCAyMCk7Cisg
ICAgdmFyIHJlczIgPSBtYXAuZ2V0KDQyKTsKKyAgICBtYXAuc2V0KDQyLCA0MDApOworICAgIHZh
ciByZXMzID0gbWFwLmdldCg0Mik7CisgICAgcmV0dXJuIFtyZXMxLCByZXMyLCByZXMzXTsKK30K
K25vSW5saW5lKHRlc3QpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDFlNTsgKytpKSB7CisgICAg
dmFyIFtyZXMxLCByZXMyLCByZXMzXSA9IHRlc3QoKTsKKyAgICBzaG91bGRCZShyZXMxLCB1bmRl
ZmluZWQpOworICAgIHNob3VsZEJlKHJlczIsIDIwKTsKKyAgICBzaG91bGRCZShyZXMzLCA0MDAp
OworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvc2V0LWFkZC1jcmVhdGUtYnVja2V0Lmpz
IGIvSlNUZXN0cy9zdHJlc3Mvc2V0LWFkZC1jcmVhdGUtYnVja2V0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3
OWM2MzY4Zjc3N2I2M2JlYmQ0NzI3NjFiODBlY2NjMWU1ZDViODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3N0cmVzcy9zZXQtYWRkLWNyZWF0ZS1idWNrZXQuanMKQEAgLTAsMCArMSwyNiBA
QAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFj
dHVhbCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBzZXQgPSBuZXcgU2V0KCk7
CisgICAgdmFyIHJlczEgPSBzZXQuaGFzKDQyKTsKKyAgICBzZXQuYWRkKDQyKTsKKyAgICB2YXIg
cmVzMiA9IHNldC5oYXMoNDIpOworICAgIHNldC5hZGQoNDIpOworICAgIHZhciByZXMzID0gc2V0
Lmhhcyg0Mik7CisgICAgc2V0LmRlbGV0ZSg0Mik7CisgICAgdmFyIHJlczQgPSBzZXQuaGFzKDQy
KTsKKyAgICByZXR1cm4gW3JlczEsIHJlczIsIHJlczMsIHJlczRdOworfQorbm9JbmxpbmUodGVz
dCk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMWU1OyArK2kpIHsKKyAgICB2YXIgW3JlczEsIHJl
czIsIHJlczMsIHJlczRdID0gdGVzdCgpOworICAgIHNob3VsZEJlKHJlczEsIGZhbHNlKTsKKyAg
ICBzaG91bGRCZShyZXMyLCB0cnVlKTsKKyAgICBzaG91bGRCZShyZXMzLCB0cnVlKTsKKyAgICBz
aG91bGRCZShyZXM0LCBmYWxzZSk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329757</attachid>
            <date>2017-12-19 05:29:00 -0800</date>
            <delta_ts>2018-01-03 17:37:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179911-20171219222859.patch</filename>
            <type>text/plain</type>
            <size>20721</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZDIwMTFlMThhMDQ1NWYxZDExYzllODFlN2YwMmJhOTk5ODBlNGUwLi42NDZhNDRjYTU5ZGRhMmQy
MDc4ZGJjOTZkZmU0ZjRjOWUzOGYzMjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxNy0xMi0xOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBEZWZpbmUgZGVmcyBmb3IgTWFwU2V0L1NldEFkZCB0byBw
YXJ0aWNpcGF0ZSBpbiBDU0UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3OTkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwgb3VyIE1hcFNldCBhbmQgU2V0QWRkIERGRyBub2Rl
cyBwYXJ0aWNpcGF0ZSBpbiBDU0UuCisgICAgICAgIFRvIGhhbmRsZSBhIGJpdCB0cmlja3kgREZH
IE1hcCBvcGVyYXRpb24gbm9kZXMsIE1hcFNldCBhbmQgU2V0QWRkCisgICAgICAgIHByb2R1Y2Ug
YWRkZWQgYnVja2V0IGFzIGl0cyByZXN1bHQuIFN1YnNlcXVlbnQgR2V0TWFwQnVja2V0IHdpbGwK
KyAgICAgICAgYmUgcmVtb3ZlZCBieSBDU0UuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJl
dGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9E
RkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAg
ICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlU2V0QWRkKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1hcFNldCk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlU2V0QWRk
KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU1hcFNldCk6
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBydW50aW1lL0hhc2hN
YXBJbXBsLmg6CisgICAgICAgIChKU0M6Okhhc2hNYXBJbXBsOjphZGROb3JtYWxpemVkKToKKyAg
ICAgICAgKEpTQzo6SGFzaE1hcEltcGw6OmFkZE5vcm1hbGl6ZWRJbnRlcm5hbCk6CisKIDIwMTct
MTItMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0ZUTF0gTmV3QXJyYXlCdWZmZXIgc2hvdWxkIGJlIHNpbmtlZCBpZiBpdCBpcyBvbmx5IHVzZWQg
Zm9yIHNwcmVhZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDY0MDE1NTM0OWY4NTllZjY2NmUx
OTVmMjBmMDg5Y2UyNDFkNzU2ZGYuLjNiMjAzYmYyNmQzMzNmYmJkZDM4MGZmNDVjNDUxYzg3N2Fm
MjM3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTExNTQsNyArMTE1NCwxMSBAQCBib29sIEFi
c3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNp
Z25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgU2V0QWRkOgorICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBtX3ZtLmhhc2hNYXBCdWNrZXRTZXRTdHJ1
Y3R1cmUuZ2V0KCkpOworICAgICAgICBicmVhazsKKwogICAgIGNhc2UgTWFwU2V0OgorICAgICAg
ICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBtX3ZtLmhhc2hNYXBCdWNrZXRNYXBTdHJ1Y3R1
cmUuZ2V0KCkpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgV2Vha01hcEdldDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMTMwZDBhMDZkYmM1ZTY3
OWIzOGU1NTk1YjBkOGQwMDRjYzZiOTc3NC4uYmYyYWM2ZWNmOTc4MmY5YTY5OTFlYTU1ZjZiMTBl
NDMzNzljNjBkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
QEAgLTE2NTAsMTYgKzE2NTAsMTggQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9k
ZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICB9CiAK
ICAgICBjYXNlIFNldEFkZDogewotICAgICAgICAvLyBGSVhNRTogRGVmaW5lIGRlZnMgZm9yIHRo
ZW0gdG8gcGFydGljaXBhdGUgaW4gQ1NFLgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5OTExCisgICAgICAgIEVkZ2UmIG1hcEVkZ2UgPSBub2Rl
LT5jaGlsZDEoKTsKKyAgICAgICAgRWRnZSYga2V5RWRnZSA9IG5vZGUtPmNoaWxkMigpOwogICAg
ICAgICB3cml0ZShKU1NldEZpZWxkcyk7CisgICAgICAgIGRlZihIZWFwTG9jYXRpb24oTWFwQnVj
a2V0TG9jLCBKU1NldEZpZWxkcywgbWFwRWRnZSwga2V5RWRnZSksIExhenlOb2RlKG5vZGUpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGNhc2UgTWFwU2V0OiB7Ci0gICAgICAgIC8v
IEZJWE1FOiBEZWZpbmUgZGVmcyBmb3IgdGhlbSB0byBwYXJ0aWNpcGF0ZSBpbiBDU0UuCi0gICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk5MTEKKyAg
ICAgICAgRWRnZSYgbWFwRWRnZSA9IGdyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApOworICAgICAg
ICBFZGdlJiBrZXlFZGdlID0gZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMSk7CiAgICAgICAgIHdy
aXRlKEpTTWFwRmllbGRzKTsKKyAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihNYXBCdWNrZXRMb2Ms
IEpTTWFwRmllbGRzLCBtYXBFZGdlLCBrZXlFZGdlKSwgTGF6eU5vZGUobm9kZSkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgK
aW5kZXggNjQ2MDZkNTU0YmM3NWM3MTJmYzc4YTYyYTBkYTlhZTYxYjMwMGM5My4uZmRhMjliMTcy
OTAyZTc1OTc4ODc5M2E5ZmVmNWMxMzJhMWE5MTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZVR5cGUuaApAQCAtNDQxLDggKzQ0MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgREZHIHsKICAgICBtYWNybyhHZXRNYXBCdWNrZXROZXh0LCBOb2RlUmVzdWx0SlMpIFwK
ICAgICBtYWNybyhMb2FkS2V5RnJvbU1hcEJ1Y2tldCwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFj
cm8oTG9hZFZhbHVlRnJvbU1hcEJ1Y2tldCwgTm9kZVJlc3VsdEpTKSBcCi0gICAgbWFjcm8oU2V0
QWRkLCBOb2RlTXVzdEdlbmVyYXRlKSBcCi0gICAgbWFjcm8oTWFwU2V0LCBOb2RlTXVzdEdlbmVy
YXRlIHwgTm9kZUhhc1ZhckFyZ3MpIFwKKyAgICBtYWNybyhTZXRBZGQsIE5vZGVNdXN0R2VuZXJh
dGUgfCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhNYXBTZXQsIE5vZGVNdXN0R2VuZXJhdGUg
fCBOb2RlSGFzVmFyQXJncyB8IE5vZGVSZXN1bHRKUykgXAogICAgIC8qIE5vZGVzIGZvciBKU1dl
YWtNYXAgYW5kIEpTV2Vha1NldCAqLyBcCiAgICAgbWFjcm8oV2Vha01hcEdldCwgTm9kZVJlc3Vs
dEpTKSBcCiAgICAgbWFjcm8oRXh0cmFjdFZhbHVlRnJvbVdlYWtNYXBHZXQsIE5vZGVSZXN1bHRK
UykgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXgg
NjcxZjk0ZDc3ZmFhNmFjNDQyYWM5ZjUyMDFhMGVmMDRmODdhZTRjOS4uODZmOGI0OWQ5ZjZhYzYy
MDgyYjAxMjdlNWQ4MzNmMDc1YmNmODdjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09wZXJhdGlvbnMuY3BwCkBAIC0yNTczLDE4ICsyNTczLDI0IEBAIEpTQ2VsbCogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25KU1NldEZpbmRCdWNrZXQoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwq
IG1hcCwgRW5jCiAgICAgcmV0dXJuICpidWNrZXQ7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25TZXRBZGQoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIHNldCwgRW5jb2RlZEpTVmFs
dWUga2V5LCBpbnQzMl90IGhhc2gpCitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU2V0
QWRkKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBzZXQsIEVuY29kZWRKU1ZhbHVlIGtleSwgaW50
MzJfdCBoYXNoKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIGpzQ2FzdDxKU1NldCo+KHNldCktPmFk
ZE5vcm1hbGl6ZWQoZXhlYywgSlNWYWx1ZTo6ZGVjb2RlKGtleSksIEpTVmFsdWUoKSwgaGFzaCk7
CisgICAgYXV0byogYnVja2V0ID0ganNDYXN0PEpTU2V0Kj4oc2V0KS0+YWRkTm9ybWFsaXplZChl
eGVjLCBKU1ZhbHVlOjpkZWNvZGUoa2V5KSwgSlNWYWx1ZSgpLCBoYXNoKTsKKyAgICBpZiAoIWJ1
Y2tldCkKKyAgICAgICAgcmV0dXJuIHZtLnNlbnRpbmVsU2V0QnVja2V0LmdldCgpOworICAgIHJl
dHVybiBidWNrZXQ7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXBTZXQoRXhl
Y1N0YXRlKiBleGVjLCBKU0NlbGwqIG1hcCwgRW5jb2RlZEpTVmFsdWUga2V5LCBFbmNvZGVkSlNW
YWx1ZSB2YWx1ZSwgaW50MzJfdCBoYXNoKQorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk1hcFNldChFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogbWFwLCBFbmNvZGVkSlNWYWx1ZSBrZXks
IEVuY29kZWRKU1ZhbHVlIHZhbHVlLCBpbnQzMl90IGhhc2gpCiB7CiAgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0g
ICAganNDYXN0PEpTTWFwKj4obWFwKS0+YWRkTm9ybWFsaXplZChleGVjLCBKU1ZhbHVlOjpkZWNv
ZGUoa2V5KSwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKSwgaGFzaCk7CisgICAgYXV0byogYnVja2V0
ID0ganNDYXN0PEpTTWFwKj4obWFwKS0+YWRkTm9ybWFsaXplZChleGVjLCBKU1ZhbHVlOjpkZWNv
ZGUoa2V5KSwgSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKSwgaGFzaCk7CisgICAgaWYgKCFidWNrZXQp
CisgICAgICAgIHJldHVybiB2bS5zZW50aW5lbE1hcEJ1Y2tldC5nZXQoKTsKKyAgICByZXR1cm4g
YnVja2V0OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldFBy
b3RvdHlwZU9mT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4IDViZWM5YjdhYmFl
NTc5YmYyYjIyNmNkYjQ2NjY4NDg2OWY4ZGNkMTQuLjIzMjc4NTdmYzNjOWViN2JjYjQwNmRkYzUy
MGRjYjgxMWRlNDVhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9u
cy5oCkBAIC0xMzgsOCArMTM4LDYgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlZmlu
ZUFjY2Vzc29yUHJvcGVydHkoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGUKIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25EZWZpbmVBY2Nlc3NvclByb3BlcnR5U3RyaW5nKEV4ZWNTdGF0
ZSosIEpTT2JqZWN0KiwgSlNTdHJpbmcqLCBKU09iamVjdCosIEpTT2JqZWN0KiwgaW50MzJfdCkg
V1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlZmluZUFjY2Vzc29y
UHJvcGVydHlTdHJpbmdJZGVudChFeGVjU3RhdGUqLCBKU09iamVjdCosIFVuaXF1ZWRTdHJpbmdJ
bXBsKiwgSlNPYmplY3QqLCBKU09iamVjdCosIGludDMyX3QpIFdURl9JTlRFUk5BTDsKIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25EZWZpbmVBY2Nlc3NvclByb3BlcnR5U3ltYm9sKEV4ZWNT
dGF0ZSosIEpTT2JqZWN0KiwgU3ltYm9sKiwgSlNPYmplY3QqLCBKU09iamVjdCosIGludDMyX3Qp
IFdURl9JTlRFUk5BTDsKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25TZXRBZGQoRXhlY1N0
YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpIFdURl9JTlRFUk5BTDsKLXZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXBTZXQoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90KSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFycmF5UHVzaChFeGVjU3RhdGUqLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEpTQXJyYXkqKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFycmF5UHVzaE11bHRpcGxlKEV4ZWNT
dGF0ZSosIEpTQXJyYXkqLCB2b2lkKiBidWZmZXIsIGludDMyX3QgZWxlbWVudENvdW50KSBXVEZf
SU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFycmF5UHVz
aERvdWJsZShFeGVjU3RhdGUqLCBkb3VibGUgdmFsdWUsIEpTQXJyYXkqKSBXVEZfSU5URVJOQUw7
CkBAIC0xNjMsNiArMTYxLDggQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0
ZUNsb25lZEFyZ3VtZW50c0R1cmluZ0V4aXQoRXhlY1N0YXRlKiwgSW5saW4KIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVDbG9uZWRBcmd1bWVudHMoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlKiwgUmVnaXN0ZXIqIGFyZ3VtZW50U3RhcnQsIGludDMyX3QgbGVuZ3RoLCBKU0Z1bmN0
aW9uKiBjYWxsZWUpOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVJlc3Qo
RXhlY1N0YXRlKiwgUmVnaXN0ZXIqIGFyZ3VtZW50U3RhcnQsIHVuc2lnbmVkIG51bWJlck9mQXJn
dW1lbnRzVG9Ta2lwLCB1bnNpZ25lZCBhcnJheVNpemUpOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIEpTQ2VsbCos
IHNpemVfdCkgV1RGX0lOVEVSTkFMOworSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNl
dEFkZChFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCkgV1RGX0lO
VEVSTkFMOworSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hcFNldChFeGVjU3RhdGUq
LCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpIFdURl9J
TlRFUk5BTDsKIGRvdWJsZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkZNb2RPbkludHMoaW50MzJf
dCwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
T2JqZWN0SXNPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqKSBXVEZf
SU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25PYmplY3RJc0Z1bmN0aW9u
KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9w
YWdhdGlvblBoYXNlLmNwcAppbmRleCBkZDhkOGUwMjYzZGJhNWRmYWE0NGMxYzc4MzdmZmRhODU0
MGUyZDRmLi5iZDFiMjAxNDQ0NjQ2N2EyNGMzNTgxY2FiMDViODVhOWY4MzgyYmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9w
YWdhdGlvblBoYXNlLmNwcApAQCAtNzczLDYgKzc3Myw4IEBAIGNsYXNzIFByZWRpY3Rpb25Qcm9w
YWdhdGlvblBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBHZXRNYXBCdWNrZXQ6
CiAgICAgICAgIGNhc2UgR2V0TWFwQnVja2V0SGVhZDoKICAgICAgICAgY2FzZSBHZXRNYXBCdWNr
ZXROZXh0OgorICAgICAgICBjYXNlIFNldEFkZDoKKyAgICAgICAgY2FzZSBNYXBTZXQ6CiAgICAg
ICAgICAgICBzZXRQcmVkaWN0aW9uKFNwZWNDZWxsT3RoZXIpOwogICAgICAgICAgICAgYnJlYWs7
CiAKQEAgLTExODEsOCArMTE4Myw2IEBAIGNsYXNzIFByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
IDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBQdXREeW5hbWljVmFyOgogICAgICAgICBj
YXNlIE51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHk6CiAgICAgICAgIGNhc2UgSW5pdGlhbGl6
ZUVudHJ5cG9pbnRBcmd1bWVudHM6Ci0gICAgICAgIGNhc2UgU2V0QWRkOgotICAgICAgICBjYXNl
IE1hcFNldDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIC8vIFRo
aXMgZ2V0cyBpZ25vcmVkIGJlY2F1c2UgaXQgb25seSBwcmV0ZW5kcyB0byBwcm9kdWNlIGEgdmFs
dWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
CmluZGV4IGI3MDk5MWEzODA2YWVhOGZiYjFkYmJmYzMyNTU5OTk2MWRhYTY3NTUuLjNiN2NhZjdm
MWQ5YWU4NjMxMTNlNzczZjAyZmRmMmI3YzYxNzg1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xMDk1Niw5ICsxMDk1NiwxMSBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlU2V0QWRkKE5vZGUqIG5vZGUpCiAgICAgc3Bl
Y3VsYXRlU2V0T2JqZWN0KG5vZGUtPmNoaWxkMSgpLCBzZXRHUFIpOwogCiAgICAgZmx1c2hSZWdp
c3RlcnMoKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblNldEFkZCwgc2V0R1BSLCBrZXlS
ZWdzLCBoYXNoR1BSKTsKKyAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Cisg
ICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvblNldEFkZCwgcmVzdWx0R1BSLCBzZXRHUFIsIGtleVJlZ3MsIGhhc2hHUFIpOwogICAg
IG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgbm9SZXN1bHQobm9kZSk7CisgICAgY2VsbFJl
c3VsdChyZXN1bHRHUFIsIG5vZGUpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
TWFwU2V0KE5vZGUqIG5vZGUpCkBAIC0xMDk3Niw5ICsxMDk3OCwxMSBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlTWFwU2V0KE5vZGUqIG5vZGUpCiAgICAgc3BlY3VsYXRlTWFwT2JqZWN0
KG1faml0LmdyYXBoKCkudmFyQXJnQ2hpbGQobm9kZSwgMCksIG1hcEdQUik7CiAKICAgICBmbHVz
aFJlZ2lzdGVycygpOwotICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTWFwU2V0LCBtYXBHUFIs
IGtleVJlZ3MsIHZhbHVlUmVncywgaGFzaEdQUik7CisgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOworICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7CisgICAg
Y2FsbE9wZXJhdGlvbihvcGVyYXRpb25NYXBTZXQsIHJlc3VsdEdQUiwgbWFwR1BSLCBrZXlSZWdz
LCB2YWx1ZVJlZ3MsIGhhc2hHUFIpOwogICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAg
bm9SZXN1bHQobm9kZSk7CisgICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogfQogCiB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlV2Vha01hcEdldChOb2RlKiBub2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDk3NGZjNDFj
ODgzZTBlODc1MWIxNTNjMTdjOTViNTk3OWFlNWI4YjYuLjg4NjBkOGU5MmNiN2FlMjA5ZGM0OWNj
MTFjZDZhYWUyMTIwY2FkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE0MjgsNiArMTQyOCwxNiBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJ
VCB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcy
LCBhcmczKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VDSlogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNW
YWx1ZVJlZ3MgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzMpOworICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAg
fQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNK
Slogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNWYWx1ZVJlZ3MgYXJn
MiwgSlNWYWx1ZVJlZ3MgYXJnMywgR1BSUmVnIGFyZzQpCisgICAgeworICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzMu
cGF5bG9hZEdQUigpLCBhcmc0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0VDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJl
ZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIuZ3ByKCkpOwpAQCAtMjAzMyw2ICsyMDQzLDEx
IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpLCBhcmcz
KTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQp
OwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0
aW9uX0VDSkpaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVS
ZWdzIGFyZzIsIEpTVmFsdWVSZWdzIGFyZzMsIEdQUlJlZyBhcmc0KQorICAgIHsKKyAgICAgICAg
bV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigp
LCBhcmcyLnRhZ0dQUigpLCBhcmczLnBheWxvYWRHUFIoKSwgYXJnMy50YWdHUFIoKSwgYXJnNCk7
CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsK
KyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlv
bl9FQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNWYWx1ZVJlZ3Mg
YXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBhcmcyLnBheWxvYWRHUFIoKSwgYXJnMi50YWdHUFIoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggM2UzMWEyMjkwNzY3ZjY2OTFl
ZDdiOTVjYjM5YzQ0NWY5NDc3NDE3Mi4uODYxZTJlZGUxZWUwM2RiZmYwMGFlN2I4ZDI0MjExNTM2
ZjBhMWQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcApAQCAtODk5Myw3ICs4OTkzLDcgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAg
TFZhbHVlIGtleSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIExWYWx1
ZSBoYXNoID0gbG93SW50MzIobV9ub2RlLT5jaGlsZDMoKSk7CiAKLSAgICAgICAgdm1DYWxsKFZv
aWQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25TZXRBZGQpLCBtX2NhbGxGcmFtZSwgc2V0LCBr
ZXksIGhhc2gpOworICAgICAgICBzZXRKU1ZhbHVlKHZtQ2FsbChwb2ludGVyVHlwZSgpLCBtX291
dC5vcGVyYXRpb24ob3BlcmF0aW9uU2V0QWRkKSwgbV9jYWxsRnJhbWUsIHNldCwga2V5LCBoYXNo
KSk7CiAgICAgfQogCiAgICAgdm9pZCBjb21waWxlTWFwU2V0KCkKQEAgLTkwMDMsNyArOTAwMyw3
IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0pTVmFs
dWUobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDIpKTsKICAgICAgICAgTFZhbHVlIGhhc2gg
PSBsb3dJbnQzMihtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMykpOwogCi0gICAgICAgIHZt
Q2FsbChWb2lkLCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTWFwU2V0KSwgbV9jYWxsRnJhbWUs
IG1hcCwga2V5LCB2YWx1ZSwgaGFzaCk7CisgICAgICAgIHNldEpTVmFsdWUodm1DYWxsKHBvaW50
ZXJUeXBlKCksIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYXBTZXQpLCBtX2NhbGxGcmFtZSwg
bWFwLCBrZXksIHZhbHVlLCBoYXNoKSk7CiAgICAgfQogCiAgICAgdm9pZCBjb21waWxlV2Vha01h
cEdldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDc0
NzkxNDY3Mzk1NzkxZmIyODI4N2U3Zjc4ZjM5NjJjNjk4MWM0OTUuLmI5YzIwOGE0OTNjNjJlM2M5
ODVhZDM1NjdhNjNmNzYzY2QwODJkMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCkBAIC0yMTgsNiArMjE4LDcgQEAgdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BF
UkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FQ1paKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBpbnQzMl8K
IHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRVopKEV4ZWNT
dGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9w
ZXJhdGlvbl9FSnNjSSkoRXhlY1N0YXRlKiwgSlNTY29wZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7
CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VDSlopKEV4
ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90KTsKK3R5cGVkZWYgSlND
ZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUNKSlopKEV4ZWNTdGF0ZSosIEpT
Q2VsbCosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCk7CiB0eXBlZGVm
IEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VDSikoRXhlY1N0YXRlKiwg
SlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9O
ICpDX0pJVE9wZXJhdGlvbl9FQ08pKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEpTT2JqZWN0Kik7CiB0
eXBlZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRCkoZG91YmxlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hhc2hNYXBJbXBsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IYXNoTWFwSW1wbC5oCmluZGV4IDExODYy
MDJlYmMzYjExNDVmZWQ2NWZiMDUxNzMwODBmYWRmZTAwNWMuLjk0ZWUyZTM5MWViZGMyMGFkMGRj
NTRmYWY3MmJjMmZlMzNmM2ZjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0hhc2hNYXBJbXBsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SGFzaE1hcEltcGwuaApAQCAtNDY5LDE2ICs0NjksMTcgQEAgY2xhc3MgSGFzaE1hcEltcGwgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgICAgICAgICByZWhhc2goZXhlYyk7CiAgICAg
fQogCi0gICAgQUxXQVlTX0lOTElORSB2b2lkIGFkZE5vcm1hbGl6ZWQoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIGtleSwgSlNWYWx1ZSB2YWx1ZSwgdWludDMyX3QgaGFzaCkKKyAgICBBTFdBWVNf
SU5MSU5FIEhhc2hNYXBCdWNrZXRUeXBlKiBhZGROb3JtYWxpemVkKEV4ZWNTdGF0ZSogZXhlYywg
SlNWYWx1ZSBrZXksIEpTVmFsdWUgdmFsdWUsIHVpbnQzMl90IGhhc2gpCiAgICAgewogICAgICAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKG5vcm1hbGl6ZU1hcEtleShrZXkpID09IGtleSwgIldlIGV4
cGVjdCBub3JtYWxpemVkIHZhbHVlcyBmbG93aW5nIGludG8gdGhpcyBmdW5jdGlvbi4iKTsKICAg
ICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShqc01hcEhhc2goZXhlYywgZXhlYy0+dm0oKSwga2V5
KSA9PSBoYXNoLCAiV2UgZXhwZWN0IGhhc2ggdmFsdWUgaXMgd2hhdCB3ZSBleHBlY3QuIik7CiAK
LSAgICAgICAgYWRkTm9ybWFsaXplZEludGVybmFsKGV4ZWMtPnZtKCksIGtleSwgdmFsdWUsIGhh
c2gsIFsmXSAoSGFzaE1hcEJ1Y2tldFR5cGUqIGJ1Y2tldCkgeworICAgICAgICBhdXRvKiBidWNr
ZXQgPSBhZGROb3JtYWxpemVkSW50ZXJuYWwoZXhlYy0+dm0oKSwga2V5LCB2YWx1ZSwgaGFzaCwg
WyZdIChIYXNoTWFwQnVja2V0VHlwZSogYnVja2V0KSB7CiAgICAgICAgICAgICByZXR1cm4gIWlz
RGVsZXRlZChidWNrZXQpICYmIGFyZUtleXNFcXVhbChleGVjLCBrZXksIGJ1Y2tldC0+a2V5KCkp
OwogICAgICAgICB9KTsKICAgICAgICAgaWYgKHNob3VsZFJlaGFzaEFmdGVyQWRkKCkpCiAgICAg
ICAgICAgICByZWhhc2goZXhlYyk7CisgICAgICAgIHJldHVybiBidWNrZXQ7CiAgICAgfQogCiAg
ICAgQUxXQVlTX0lOTElORSBib29sIHJlbW92ZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUga2V5
KQpAQCAtNjA2LDcgKzYwNyw3IEBAIGNsYXNzIEhhc2hNYXBJbXBsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENhblVzZUJ1Y2tldD4K
LSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgYWRkTm9ybWFsaXplZEludGVybmFsKFZNJiB2bSwgSlNW
YWx1ZSBrZXksIEpTVmFsdWUgdmFsdWUsIHVpbnQzMl90IGhhc2gsIGNvbnN0IENhblVzZUJ1Y2tl
dCYgY2FuVXNlQnVja2V0KQorICAgIEFMV0FZU19JTkxJTkUgSGFzaE1hcEJ1Y2tldFR5cGUqIGFk
ZE5vcm1hbGl6ZWRJbnRlcm5hbChWTSYgdm0sIEpTVmFsdWUga2V5LCBKU1ZhbHVlIHZhbHVlLCB1
aW50MzJfdCBoYXNoLCBjb25zdCBDYW5Vc2VCdWNrZXQmIGNhblVzZUJ1Y2tldCkKICAgICB7CiAg
ICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uobm9ybWFsaXplTWFwS2V5KGtleSkgPT0ga2V5LCAi
V2UgZXhwZWN0IG5vcm1hbGl6ZWQgdmFsdWVzIGZsb3dpbmcgaW50byB0aGlzIGZ1bmN0aW9uLiIp
OwogCkBAIC02MTcsNyArNjE4LDcgQEAgY2xhc3MgSGFzaE1hcEltcGwgOiBwdWJsaWMgSlNOb25G
aW5hbE9iamVjdCB7CiAgICAgICAgIHdoaWxlICghaXNFbXB0eShidWNrZXQpKSB7CiAgICAgICAg
ICAgICBpZiAoY2FuVXNlQnVja2V0KGJ1Y2tldCkpIHsKICAgICAgICAgICAgICAgICBidWNrZXQt
PnNldFZhbHVlKHZtLCB2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIHJldHVybiBidWNrZXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpbmRleCA9
IChpbmRleCArIDEpICYgbWFzazsKICAgICAgICAgICAgIGJ1Y2tldCA9IGJ1ZmZlcltpbmRleF07
CkBAIC02MzUsNiArNjM2LDcgQEAgY2xhc3MgSGFzaE1hcEltcGwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgICAgIG5ld0VudHJ5LT5zZXROZXh0KHZtLCBuZXdUYWlsKTsKIAogICAg
ICAgICArK21fa2V5Q291bnQ7CisgICAgICAgIHJldHVybiBuZXdFbnRyeTsKICAgICB9CiAKICAg
ICBBTFdBWVNfSU5MSU5FIEhhc2hNYXBCdWNrZXRUeXBlKiogZmluZEJ1Y2tldEFscmVhZHlIYXNo
ZWRBbmROb3JtYWxpemVkKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBrZXksIHVpbnQzMl90IGhh
c2gpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDVkYTZjMjlmOWQ1OTNjMmQ3NWEzZjEzYWJjNjMxODczMjU2YWIxOGEuLmEyNTRjODI5YWU2
YzBjNjQ4ZTg5YWZmNTA5Y2E1MDRiMjAwOTJhYjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMTItMTkg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0RGR10g
RGVmaW5lIGRlZnMgZm9yIE1hcFNldC9TZXRBZGQgdG8gcGFydGljaXBhdGUgaW4gQ1NFCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk5MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBhZGRpdGlvbiB0
byB0aGVzZSB0ZXN0cywgbWFwLXNldC1jc2UuanMgYW5kIHNldC1hZGQtY3NlLmpzIHdvcmsuCisK
KyAgICAgICAgKiBzdHJlc3MvbWFwLXNldC1jaGFuZ2UtZ2V0LmpzOiBBZGRlZC4KKyAgICAgICAg
KHNob3VsZEJlKToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHN0cmVzcy9tYXAtc2V0LWNy
ZWF0ZS1idWNrZXQuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAodGVz
dCk6CisgICAgICAgICogc3RyZXNzL3NldC1hZGQtY3JlYXRlLWJ1Y2tldC5qczogQWRkZWQuCisg
ICAgICAgIChzaG91bGRCZSk6CisKIDIwMTctMTItMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5l
LnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0ZUTF0gTmV3QXJyYXlCdWZmZXIgc2hvdWxkIGJl
IHNpbmtlZCBpZiBpdCBpcyBvbmx5IHVzZWQgZm9yIHNwcmVhZGluZwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3MvbWFwLXNldC1jaGFuZ2UtZ2V0LmpzIGIvSlNUZXN0cy9zdHJlc3MvbWFwLXNl
dC1jaGFuZ2UtZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNDllYjdkZGM0MGU3N2Y0OTc5MWU5ZmJkNDAz
ZTgwOWVlOWM3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9tYXAtc2V0LWNo
YW5nZS1nZXQuanMKQEAgLTAsMCArMSwyMSBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBl
eHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7CisgICAgbWFwLnNldCg0MiwgMjApOworICAgIHZh
ciByZXMxID0gbWFwLmdldCg0Mik7CisgICAgbWFwLnNldCg0MiwgNDAwKTsKKyAgICB2YXIgcmVz
MiA9IG1hcC5nZXQoNDIpOworICAgIHJldHVybiBbcmVzMSwgcmVzMl07Cit9Citub0lubGluZSh0
ZXN0KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxZTY7ICsraSkgeworICAgIHZhciBbcmVzMSwg
cmVzMl0gPSB0ZXN0KCk7CisgICAgc2hvdWxkQmUocmVzMSwgMjApOworICAgIHNob3VsZEJlKHJl
czIsIDQwMCk7Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9tYXAtc2V0LWNyZWF0ZS1i
dWNrZXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9tYXAtc2V0LWNyZWF0ZS1idWNrZXQuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmQ5MGQ2Njc1NjQwNjAwM2E4YzJkZGQ5NTk5MjM2ZjM4OTk4MWNkZgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL21hcC1zZXQtY3JlYXRlLWJ1Y2tldC5qcwpAQCAtMCww
ICsxLDIzIEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVl
OiAnICsgYWN0dWFsKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIG1hcCA9IG5l
dyBNYXAoKTsKKyAgICB2YXIgcmVzMSA9IG1hcC5nZXQoNDIpOworICAgIG1hcC5zZXQoNDIsIDIw
KTsKKyAgICB2YXIgcmVzMiA9IG1hcC5nZXQoNDIpOworICAgIG1hcC5zZXQoNDIsIDQwMCk7Cisg
ICAgdmFyIHJlczMgPSBtYXAuZ2V0KDQyKTsKKyAgICByZXR1cm4gW3JlczEsIHJlczIsIHJlczNd
OworfQorbm9JbmxpbmUodGVzdCk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMWU1OyArK2kpIHsK
KyAgICB2YXIgW3JlczEsIHJlczIsIHJlczNdID0gdGVzdCgpOworICAgIHNob3VsZEJlKHJlczEs
IHVuZGVmaW5lZCk7CisgICAgc2hvdWxkQmUocmVzMiwgMjApOworICAgIHNob3VsZEJlKHJlczMs
IDQwMCk7Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9zZXQtYWRkLWNyZWF0ZS1idWNr
ZXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9zZXQtYWRkLWNyZWF0ZS1idWNrZXQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODc5YzYzNjhmNzc3YjYzYmViZDQ3Mjc2MWI4MGVjY2MxZTVkNWI4NwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvc3RyZXNzL3NldC1hZGQtY3JlYXRlLWJ1Y2tldC5qcwpAQCAtMCwwICsx
LDI2IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAn
ICsgYWN0dWFsKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHNldCA9IG5ldyBT
ZXQoKTsKKyAgICB2YXIgcmVzMSA9IHNldC5oYXMoNDIpOworICAgIHNldC5hZGQoNDIpOworICAg
IHZhciByZXMyID0gc2V0Lmhhcyg0Mik7CisgICAgc2V0LmFkZCg0Mik7CisgICAgdmFyIHJlczMg
PSBzZXQuaGFzKDQyKTsKKyAgICBzZXQuZGVsZXRlKDQyKTsKKyAgICB2YXIgcmVzNCA9IHNldC5o
YXMoNDIpOworICAgIHJldHVybiBbcmVzMSwgcmVzMiwgcmVzMywgcmVzNF07Cit9Citub0lubGlu
ZSh0ZXN0KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxZTU7ICsraSkgeworICAgIHZhciBbcmVz
MSwgcmVzMiwgcmVzMywgcmVzNF0gPSB0ZXN0KCk7CisgICAgc2hvdWxkQmUocmVzMSwgZmFsc2Up
OworICAgIHNob3VsZEJlKHJlczIsIHRydWUpOworICAgIHNob3VsZEJlKHJlczMsIHRydWUpOwor
ICAgIHNob3VsZEJlKHJlczQsIGZhbHNlKTsKK30K
</data>
<flag name="review"
          id="348804"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>