<?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>204124</bug_id>
          
          <creation_ts>2019-11-12 12:54:29 -0800</creation_ts>
          <short_desc>[JSC] JSC GC relies on CodeBlock is not PreciseAllocation</short_desc>
          <delta_ts>2019-11-12 17:40:40 -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>
          <dependson>201908</dependson>
          <blocked>204039</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589602</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 12:54:29 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589606</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 13:23:54 -0800</bug_when>
    <thetext>For now, we disable lower-tier-cells for CodeBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589614</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-12 13:34:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/57128580&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589615</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 13:35:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/57067238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589623</commentid>
    <comment_count>4</comment_count>
      <attachid>383380</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 13:52:38 -0800</bug_when>
    <thetext>Created attachment 383380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589692</commentid>
    <comment_count>5</comment_count>
      <attachid>383403</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 16:40:22 -0800</bug_when>
    <thetext>Created attachment 383403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589694</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 16:40:40 -0800</bug_when>
    <thetext>Small refactoring is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589699</commentid>
    <comment_count>7</comment_count>
      <attachid>383403</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 16:44:12 -0800</bug_when>
    <thetext>Comment on attachment 383403
Patch

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

&gt; Source/JavaScriptCore/heap/IsoSubspacePerVM.cpp:33
&gt;  class IsoSubspacePerVM::AutoremovingIsoSubspace : public IsoSubspace {

I strongly want to remove IsoSubspacePerVM anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589722</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-12 17:40:40 -0800</bug_when>
    <thetext>Committed r252385: &lt;https://trac.webkit.org/changeset/252385&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383380</attachid>
            <date>2019-11-12 13:52:38 -0800</date>
            <delta_ts>2019-11-12 16:40:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204124-20191112135237.patch</filename>
            <type>text/plain</type>
            <size>23580</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWVjZjQ0MmU3YjA0ZGU1ZWQ3MWExMzBlNDk2NDAzZDhhZWJhYzkyLi4wZTA2M2Y4YWQ5NmY2ZTFl
Mzg0MjI4MGZmMmYyZTk4M2QxMGVlOGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MyBAQAorMjAxOS0xMS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTQyBHQyByZWxpZXMgb24gQ29kZUJsb2NrIGlzIG5vdCBQcmVj
aXNlQWxsb2NhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0MTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBpcyBhIGZvbGxvdy11cCBwYXRjaCBhZnRlciByMjUyMjk4LiBUaGlzIHBhdGNo
IGZpeGVzIHNldmVyYWwgR0MgaXNzdWVzLgorCisgICAgICAgIDEuIFdlIGZvdW5kIHRoYXQgQ29k
ZUJsb2NrIGhlYXZpbHkgcmVsaWVzIG9uIHRoZSBmYWN0IHRoYXQgdGhpcyBpcyBuZXZlciBnZXR0
aW5nIFByZWNpc2VBbGxvY2F0aW9uLgorICAgICAgICAgICBGb3IgZXhhbXBsZSwgaW4gb3VyIEdD
LCB3ZSBzY2FuIGNvbnNlcnZhdGl2ZSByb290cyB0byBjb2xsZWN0IGN1cnJlbnRseS1leGVjdXRp
bmcgQ29kZUJsb2Nrcy4KKyAgICAgICAgICAgQnV0IGlmIHRoaXMgaXMgZG9uZSBpbiBhbiBFZGVu
IGN5Y2xlLCB0aGlzIGNhbiBvbmx5IGZpbmQgUHJlY2lzZUFsbG9jYXRpb24gQ29kZUJsb2NrcyBh
bGxvY2F0ZWQKKyAgICAgICAgICAgaW4gdGhpcyBjdXJyZW50IEVkZW4gY3ljbGUsIHNpbmNlIHdl
IG9ubHkgdXNlIEVkZW4gUHJlY2lzZUFsbG9jYXRpb24gdmVjdG9yIHRvIGZpbmQgdGhlc2UgY2Vs
bHMuCisgICAgICAgICAgIFRoaXMgbWVhbnMgc29tZSBDb2RlQmxvY2tzIHRoYXQgYXJlIFByZWNp
c2VBbGxvY2F0aW9uIGFuZCBhbGxvY2F0ZWQgaW4gdGhlIHBhc3QgRWRlbiBjeWNsZSBjYW4KKyAg
ICAgICAgICAgYmUgbWlzc2VkIGluIHRoaXMgY3VycmVudGx5LWV4ZWN1dGluZyBzZXQuIEJ1dCB3
ZSBkbyBub3Qgd2FudCB0byBzb3J0IGFsbCB0aGUgUHJlY2lzZUFsbG9jYXRpb24KKyAgICAgICAg
ICAgdmVjdG9yIGV2ZXJ5IHRpbWUgRWRlbiBjeWNsZSBoYXBwZW5zLiBTbywgZm9yIG5vdywgd2Ug
bWFrZSAjIG9mIGxvd2VyLXRpZXIgY2VsbHMgb2YgQ29kZUJsb2NrcyAwCisgICAgICAgICAgIHNv
IHRoYXQgQ29kZUJsb2NrcyBhcmUgYWx3YXlzIGFsbG9jYXRlZCBhcyBub24gUHJlY2lzZUFsbG9j
YXRpb24uCisKKyAgICAgICAgMi4gV2UgaGFkIGFuIHByZS1leGlzdGluZyBQcmVjaXNlQWxsb2Nh
dGlvbiBidWc6IHdoZW4gV2Vhazw+IGlzIHBvaW50aW5nIFByZWNpc2VBbGxvY2F0aW9uLCB3ZSBr
ZWVwCisgICAgICAgICAgIFByZWNpc2VBbGxvY2F0aW9uIGluIG1fcHJlY2lzZUFsbG9jYXRpb25z
IHZlY3RvciB3aGlsZSB0aGUgY2VsbCBpbnNpZGUgaXQgaXMgZGVzdHJveWVkLiBUaGlzIGlzIE9L
LgorICAgICAgICAgICBCdXQgSGVhcFV0aWw6OmZpbmRHQ09iamVjdFBvaW50ZXJzRm9yTWFya2lu
ZyBjYW4gcG9wdWxhdGUgdGhpcyBQcmVjaXNlQWxsb2NhdGlvbiB3aGVuIHBlcmZvcm1pbmcKKyAg
ICAgICAgICAgY29uc2VydmF0aXZlIHJvb3Qgc2Nhbm5pbmcuIFRoaXMgbWVhbnMgdGhhdCBIZWFw
VXRpbDo6ZmluZEdDT2JqZWN0UG9pbnRlcnNGb3JNYXJraW5nIGNhbiBwb3B1bGF0ZQorICAgICAg
ICAgICBkZXN0cm95ZWQgY2VsbHMuIFdlIGluc2VydCBoYXNWYWxpZENlbGwgY2hlY2sgdG8gYXZv
aWQgdGhpcyBpc3N1ZS4KKworICAgICAgICAzLiBTdWJzcGFjZTo6c3dlZXAgb25seSBzd2VlcHMg
bm9uIFByZWNpc2VBbGxvY2F0aW9uIGJsb2NrcyBkZXNwaXRlIG9mIHRoaXMgbmFtZS4gVGhpcyBp
cyBhIHByb2JsZW0KKyAgICAgICAgICAgc2luY2Ugd2UgYXJlIGV4cGxpY2l0bHkgY2FsbGluZyBT
dWJzcGFjZTo6c3dlZXAgdG8gc3dlZXAgU2NyaXB0RXhlY3V0YWJsZXMsIENvZGVCbG9ja3MsIGFu
ZCBKSVQKKyAgICAgICAgICAgc3R1YnMgaW4gYSBkZWZpbmVkIG9yZGVyLiBXZSByZW5hbWUgU3Vi
c3BhY2U6OnN3ZWVwIHRvIFN1YnNwYWNlOjpzd2VlcEJsb2NrcywgYW5kIGludHJvZHVjZQorICAg
ICAgICAgICBJc29TdWJzcGFjZTo6c3dlZXAgd2hpY2ggYWxzbyBzd2VlcHMgUHJlY2lzZUFsbG9j
YXRpb25zIGZvciBsb3dlci10aWVyIGNlbGxzIGNvcnJlY3RseS4KKyAgICAgICAgICAgV2UgYXJl
IGNhbGxpbmcgUHJlY2lzZUFsbG9jYXRpb246OnN3ZWVwLCBidXQgd2Ugc3RpbGwgbGVhdmUgUHJl
Y2lzZUFsbG9jYXRpb24gaW4gbV9wcmVjaXNlQWxsb2NhdGlvbnMuCisgICAgICAgICAgIFRoaXMg
aXMgT0sgc2luY2UgUHJlY2lzZUFsbG9jYXRpb246OnN3ZWVwIGNhbiBiZSBjYWxsZWQgbXVsdGlw
bGUgdGltZXMuIERlc3Ryb3lpbmcgLyBSZXVzaW5nIFByZWNpc2VBbGxvY2F0aW9ucworICAgICAg
ICAgICBhcmUgZG9uZSBieSBNYXJrZWRTcGFjZTo6c3dlZXBQcmVjaXNlQWxsb2NhdGlvbnMuCisK
KyAgICAgICAgNC4gV2UgY2xlYXIgSXNvQ2VsbFNldCdzIGJpdCBhcyBzb29uIGFzIFByZWNpc2VB
bGxvY2F0aW9uJ3MgY2VsbCBpcyBkZXN0cm95ZWQuIFRoaXMgaXMgYWxpZ25lZCB0byB0aGUKKyAg
ICAgICAgICAgYmVoYXZpb3Igb2YgTWFya2VkQmxvY2tzLgorCisgICAgICAgICogaGVhcC9Db2Rl
QmxvY2tTZXRJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkNvZGVCbG9ja1NldDo6bWFyayk6Cisg
ICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVhcDo6c3dlZXBTeW5jaHJv
bm91c2x5KToKKyAgICAgICAgKEpTQzo6SGVhcDo6c3dlZXBJbkZpbmFsaXplKToKKyAgICAgICAg
KiBoZWFwL0hlYXBVdGlsLmg6CisgICAgICAgIChKU0M6OkhlYXBVdGlsOjpmaW5kR0NPYmplY3RQ
b2ludGVyc0Zvck1hcmtpbmcpOgorICAgICAgICAqIGhlYXAvSXNvQ2VsbFNldC5oOgorICAgICAg
ICAqIGhlYXAvSXNvQ2VsbFNldElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SXNvQ2VsbFNldDo6
Y2xlYXJMb3dlclRpZXJDZWxsKToKKyAgICAgICAgKEpTQzo6SXNvQ2VsbFNldDo6c3dlZXBMb3dl
clRpZXJDZWxsKTogRGVsZXRlZC4KKyAgICAgICAgKiBoZWFwL0lzb1N1YnNwYWNlLmNwcDoKKyAg
ICAgICAgKEpTQzo6SXNvU3Vic3BhY2U6Oklzb1N1YnNwYWNlKToKKyAgICAgICAgKEpTQzo6SXNv
U3Vic3BhY2U6OnRyeUFsbG9jYXRlRnJvbUxvd2VyVGllcik6CisgICAgICAgIChKU0M6Oklzb1N1
YnNwYWNlOjpzd2VlcExvd2VyVGllckNlbGwpOgorICAgICAgICAqIGhlYXAvSXNvU3Vic3BhY2Uu
aDoKKyAgICAgICAgKiBoZWFwL0lzb1N1YnNwYWNlSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpJ
c29TdWJzcGFjZTo6Y2xlYXJJc29DZWxsU2V0Qml0KToKKyAgICAgICAgKEpTQzo6SXNvU3Vic3Bh
Y2U6OnN3ZWVwKToKKyAgICAgICAgKiBoZWFwL01hcmtlZFNwYWNlLmNwcDoKKyAgICAgICAgKEpT
Qzo6TWFya2VkU3BhY2U6OnN3ZWVwQmxvY2tzKToKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6
OnN3ZWVwKTogRGVsZXRlZC4KKyAgICAgICAgKiBoZWFwL01hcmtlZFNwYWNlLmg6CisgICAgICAg
ICogaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OlByZWNpc2VBbGxv
Y2F0aW9uOjpQcmVjaXNlQWxsb2NhdGlvbik6CisgICAgICAgIChKU0M6OlByZWNpc2VBbGxvY2F0
aW9uOjpzd2VlcCk6CisgICAgICAgICogaGVhcC9TdWJzcGFjZS5jcHA6CisgICAgICAgIChKU0M6
OlN1YnNwYWNlOjpzd2VlcEJsb2Nrcyk6CisgICAgICAgIChKU0M6OlN1YnNwYWNlOjpzd2VlcCk6
IERlbGV0ZWQuCisgICAgICAgICogaGVhcC9TdWJzcGFjZS5oOgorICAgICAgICAqIHJ1bnRpbWUv
Vk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoK
KyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaDoKKwogMjAxOS0xMS0xMSAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IGZpeCBpbmNvcnJlY3QgYXNzZXJ0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9Db2RlQmxvY2tTZXRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9Db2RlQmxvY2tTZXRJbmxpbmVzLmgKaW5kZXggNWRkYmY0OTRhYjIzZTgwODBiOTkzMmEwZDJm
OWUzY2RlY2FkNTI3Ni4uN2I1MTFlZjUwMjE4NmY0ZTNhMGQ5ZGI2NTZjNTEyNWQ0NTQ4MmI0YyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0SW5saW5l
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvZGVCbG9ja1NldElubGluZXMu
aApAQCAtMzgsNiArMzgsMTAgQEAgaW5saW5lIHZvaWQgQ29kZUJsb2NrU2V0OjptYXJrKGNvbnN0
IEFic3RyYWN0TG9ja2VyJiwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAgaWYgKCFjb2RlQmxv
Y2spCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIENvbnNlcnZhdGl2ZSByb290IHNjYW5uaW5n
IGluIEVkZW4gY29sbGVjdGlvbiBjYW4gb25seSBmaW5kIFByZWNpc2VBbGxvY2F0aW9uIHRoYXQg
aXMgYWxsb2NhdGVkIGluIHRoaXMgRWRlbiBjeWNsZS4KKyAgICAvLyBTaW5jZSBDb2RlQmxvY2tT
ZXQ6Om1fY3VycmVudGx5RXhlY3V0aW5nIGlzIHN0cm9uZ2x5IGFzc3VtaW5nIHRoYXQgdGhpcyBj
YXRjaGVzIGFsbCB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBDb2RlQmxvY2ssCisgICAgLy8gd2Ug
bm93IGhhdmUgYSByZXN0cmljdGlvbiB0aGF0IGFsbCBDb2RlQmxvY2sgbmVlZHMgdG8gYmUgYSBu
b24tcHJlY2lzZS1hbGxvY2F0aW9uLgorICAgIEFTU0VSVCghY29kZUJsb2NrLT5pc1ByZWNpc2VB
bGxvY2F0aW9uKCkpOwogICAgIG1fY3VycmVudGx5RXhlY3V0aW5nLmFkZChjb2RlQmxvY2spOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDg5ZmRjMWMxY2NkYWYwNzkx
NzE0MjhlYTY5NGVhNDQ0NDRiOTBlMzcuLjY4NjRkM2VkY2IwODg2NmM0ODg5MGI0YWEzNGZkZjQ2
NWM4ZjBmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0xMDU0LDcgKzEw
NTQsNyBAQCB2b2lkIEhlYXA6OnN3ZWVwU3luY2hyb25vdXNseSgpCiAgICAgICAgIGRhdGFMb2co
IkZ1bGwgc3dlZXA6ICIsIGNhcGFjaXR5KCkgLyAxMDI0LCAia2IgIik7CiAgICAgICAgIGJlZm9y
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIH0KLSAgICBtX29iamVjdFNwYWNlLnN3ZWVw
KCk7CisgICAgbV9vYmplY3RTcGFjZS5zd2VlcEJsb2NrcygpOwogICAgIG1fb2JqZWN0U3BhY2Uu
c2hyaW5rKCk7CiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dDKCkpIHsKICAgICAgICAgTW9ub3Rvbmlj
VGltZSBhZnRlciA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpAQCAtMjE1NCw3ICsyMTU0LDExIEBA
IHZvaWQgSGVhcDo6d2FpdEZvckNvbGxlY3Rpb24oVGlja2V0IHRpY2tldCkKIHZvaWQgSGVhcDo6
c3dlZXBJbkZpbmFsaXplKCkKIHsKICAgICBtX29iamVjdFNwYWNlLnN3ZWVwUHJlY2lzZUFsbG9j
YXRpb25zKCk7Ci0gICAgdm0oKS5lYWdlcmx5U3dlcHREZXN0cnVjdGlibGVPYmplY3RTcGFjZS5z
d2VlcCgpOworI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKKyAgICAvLyBXZSBob2xkIG9udG8gYSBs
b3Qgb2YgbWVtb3J5LCBzbyBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZSB0byBiZSBzd2VwdCBlYWdl
cmx5LgorICAgIGlmICh2bSgpLm1fd2ViQXNzZW1ibHlNZW1vcnlTcGFjZSkKKyAgICAgICAgdm0o
KS5tX3dlYkFzc2VtYmx5TWVtb3J5U3BhY2UtPnN3ZWVwKCk7CisjZW5kaWYKIH0KIAogdm9pZCBI
ZWFwOjpzdXNwZW5kQ29tcGlsZXJUaHJlYWRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXBVdGlsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
VXRpbC5oCmluZGV4IGRjOTVhMWNjYTg1YzMwNGMyZDE2YmMzZGVmNzA2ZjQ4OGUwOTg2ZmYuLmQ3
NjIzYjJlZDUyYTdmOTlkMmYwZjMyYWQ0ZDhhY2VmMWRhNTQ4ODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBVdGlsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcFV0aWwuaApAQCAtNjcsNyArNjcsNyBAQCBjbGFzcyBIZWFwVXRpbCB7CiAg
ICAgICAgICAgICAgICAgICAgIFtdIChQcmVjaXNlQWxsb2NhdGlvbioqIHB0cikgLT4gUHJlY2lz
ZUFsbG9jYXRpb24qIHsgcmV0dXJuICpwdHI7IH0pOwogICAgICAgICAgICAgICAgIGlmIChyZXN1
bHQpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBhdHRlbXB0TGFyZ2UgPSBbJl0gKFByZWNp
c2VBbGxvY2F0aW9uKiBhbGxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
YWxsb2NhdGlvbi0+Y29udGFpbnMocG9pbnRlcikpCisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYWxsb2NhdGlvbi0+Y29udGFpbnMocG9pbnRlcikgJiYgYWxsb2NhdGlvbi0+aGFzVmFsaWRD
ZWxsKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuYyhhbGxvY2F0aW9uLT5jZWxs
KCksIGFsbG9jYXRpb24tPmF0dHJpYnV0ZXMoKS5jZWxsS2luZCk7CiAgICAgICAgICAgICAgICAg
ICAgIH07CiAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSXNvQ2VsbFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNv
Q2VsbFNldC5oCmluZGV4IGY0YmY2ZjlkYzhiYjQxMGViMThjZjVjM2Q5NmYyYzJkNWE0OGVlODcu
LjU4NzkzZWViZmNmZjIwYTEyMGQxOWZmYmU4MGQ5ZjY2YTRiMzE5OGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0NlbGxTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9Jc29DZWxsU2V0LmgKQEAgLTcyLDcgKzcyLDcgQEAgY2xhc3MgSXNvQ2Vs
bFNldCA6IHB1YmxpYyBQYWNrZWRSYXdTZW50aW5lbE5vZGU8SXNvQ2VsbFNldD4gewogICAgIHZv
aWQgZGlkUmVzaXplQml0cyhzaXplX3QgbmV3U2l6ZSk7CiAgICAgdm9pZCBkaWRSZW1vdmVCbG9j
ayhzaXplX3QgYmxvY2tJbmRleCk7CiAgICAgdm9pZCBzd2VlcFRvRnJlZUxpc3QoTWFya2VkQmxv
Y2s6OkhhbmRsZSopOwotICAgIHZvaWQgc3dlZXBMb3dlclRpZXJDZWxsKHVuc2lnbmVkKTsKKyAg
ICB2b2lkIGNsZWFyTG93ZXJUaWVyQ2VsbCh1bnNpZ25lZCk7CiAgICAgCiAgICAgQml0bWFwPE1h
cmtlZEJsb2NrOjpudW1iZXJPZkxvd2VyVGllckNlbGxzPiBtX2xvd2VyVGllckJpdHM7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0NlbGxTZXRJbmxpbmVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29DZWxsU2V0SW5saW5lcy5oCmluZGV4IGFm
ZWUyMzk5NGUzODUxZTQ5ZWEzZDI4YzY1MTU0NjhmOTFkZDQxNWYuLmZjODE2OTI4N2YwNTY2YmVl
Yjg5ZDE5ODQ3MTkxMWE0YTc1OWM0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0lzb0NlbGxTZXRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSXNvQ2VsbFNldElubGluZXMuaApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgSXNvQ2VsbFNl
dDo6Zm9yRWFjaExpdmVDZWxsKGNvbnN0IEZ1bmMmIGZ1bmMpCiAgICAgICAgIH0pOwogfQogCi1p
bmxpbmUgdm9pZCBJc29DZWxsU2V0Ojpzd2VlcExvd2VyVGllckNlbGwodW5zaWduZWQgaW5kZXgp
CitpbmxpbmUgdm9pZCBJc29DZWxsU2V0OjpjbGVhckxvd2VyVGllckNlbGwodW5zaWduZWQgaW5k
ZXgpCiB7CiAgICAgbV9sb3dlclRpZXJCaXRzLmNvbmN1cnJlbnRUZXN0QW5kQ2xlYXIoaW5kZXgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuY3BwCmluZGV4IDJj
MWI5NWY4MzgwOWIyOTY0MTBjMjQ5OGY1NzFkNTA2N2IzMTU4MTcuLjZhZDJmOTcyOGI3MmVhZDQ4
M2E3Y2QyOTc2MGVjZTg4MmRjZDYyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0lzb1N1YnNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9J
c29TdWJzcGFjZS5jcHAKQEAgLTM1LDEzICszNSwxNSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
SXNvU3Vic3BhY2U6Oklzb1N1YnNwYWNlKENTdHJpbmcgbmFtZSwgSGVhcCYgaGVhcCwgSGVhcENl
bGxUeXBlKiBoZWFwQ2VsbFR5cGUsIHNpemVfdCBzaXplKQorSXNvU3Vic3BhY2U6Oklzb1N1YnNw
YWNlKENTdHJpbmcgbmFtZSwgSGVhcCYgaGVhcCwgSGVhcENlbGxUeXBlKiBoZWFwQ2VsbFR5cGUs
IHNpemVfdCBzaXplLCB1aW50OF90IHJlbWFpbmluZ0xvd2VyVGllckNlbGxDb3VudCkKICAgICA6
IFN1YnNwYWNlKG5hbWUsIGhlYXApCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fZGlyZWN0
b3J5KCZoZWFwLCBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Y8TWFya2VkQmxvY2s6OmF0b21TaXpl
PihzaXplKSkKICAgICAsIG1fbG9jYWxBbGxvY2F0b3IoJm1fZGlyZWN0b3J5KQogICAgICwgbV9p
c29BbGlnbmVkTWVtb3J5QWxsb2NhdG9yKG1ha2VVbmlxdWU8SXNvQWxpZ25lZE1lbW9yeUFsbG9j
YXRvcj4oKSkKKyAgICAsIG1fcmVtYWluaW5nTG93ZXJUaWVyQ2VsbENvdW50KHJlbWFpbmluZ0xv
d2VyVGllckNlbGxDb3VudCkKIHsKKyAgICBBU1NFUlQocmVtYWluaW5nTG93ZXJUaWVyQ2VsbENv
dW50IDw9IE1hcmtlZEJsb2NrOjpudW1iZXJPZkxvd2VyVGllckNlbGxzKTsKICAgICBtX2lzSXNv
U3Vic3BhY2UgPSB0cnVlOwogICAgIGluaXRpYWxpemUoaGVhcENlbGxUeXBlLCBtX2lzb0FsaWdu
ZWRNZW1vcnlBbGxvY2F0b3IuZ2V0KCkpOwogCkBAIC0xMDgsOSArMTEwLDkgQEAgdm9pZCogSXNv
U3Vic3BhY2U6OnRyeUFsbG9jYXRlRnJvbUxvd2VyVGllcigpCiAgICAgICAgIGFsbG9jYXRpb24t
PnJlbW92ZSgpOwogICAgICAgICByZXR1cm4gcmV2aXZlKGFsbG9jYXRpb24pOwogICAgIH0KLSAg
ICBpZiAobV9sb3dlclRpZXJDZWxsQ291bnQgIT0gTWFya2VkQmxvY2s6Om51bWJlck9mTG93ZXJU
aWVyQ2VsbHMpIHsKKyAgICBpZiAobV9yZW1haW5pbmdMb3dlclRpZXJDZWxsQ291bnQpIHsKICAg
ICAgICAgc2l6ZV90IHNpemUgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Y8TWFya2VkU3BhY2U6
OnNpemVTdGVwPihtX3NpemUpOwotICAgICAgICBQcmVjaXNlQWxsb2NhdGlvbiogYWxsb2NhdGlv
biA9IFByZWNpc2VBbGxvY2F0aW9uOjpjcmVhdGVGb3JMb3dlclRpZXIoKm1fc3BhY2UuaGVhcCgp
LCBzaXplLCB0aGlzLCBtX2xvd2VyVGllckNlbGxDb3VudCsrKTsKKyAgICAgICAgUHJlY2lzZUFs
bG9jYXRpb24qIGFsbG9jYXRpb24gPSBQcmVjaXNlQWxsb2NhdGlvbjo6Y3JlYXRlRm9yTG93ZXJU
aWVyKCptX3NwYWNlLmhlYXAoKSwgc2l6ZSwgdGhpcywgLS1tX3JlbWFpbmluZ0xvd2VyVGllckNl
bGxDb3VudCk7CiAgICAgICAgIHJldHVybiByZXZpdmUoYWxsb2NhdGlvbik7CiAgICAgfQogICAg
IHJldHVybiBudWxscHRyOwpAQCAtMTE4LDEzICsxMjAsOCBAQCB2b2lkKiBJc29TdWJzcGFjZTo6
dHJ5QWxsb2NhdGVGcm9tTG93ZXJUaWVyKCkKIAogdm9pZCBJc29TdWJzcGFjZTo6c3dlZXBMb3dl
clRpZXJDZWxsKFByZWNpc2VBbGxvY2F0aW9uKiBwcmVjaXNlQWxsb2NhdGlvbikKIHsKLSAgICB1
bnNpZ25lZCBsb3dlclRpZXJJbmRleCA9IHByZWNpc2VBbGxvY2F0aW9uLT5sb3dlclRpZXJJbmRl
eCgpOwogICAgIHByZWNpc2VBbGxvY2F0aW9uID0gcHJlY2lzZUFsbG9jYXRpb24tPnJldXNlRm9y
TG93ZXJUaWVyKCk7CiAgICAgbV9sb3dlclRpZXJGcmVlTGlzdC5hcHBlbmQocHJlY2lzZUFsbG9j
YXRpb24pOwotICAgIG1fY2VsbFNldHMuZm9yRWFjaCgKLSAgICAgICAgWyZdIChJc29DZWxsU2V0
KiBzZXQpIHsKLSAgICAgICAgICAgIHNldC0+c3dlZXBMb3dlclRpZXJDZWxsKGxvd2VyVGllcklu
ZGV4KTsKLSAgICAgICAgfSk7CiB9CiAKIHZvaWQgSXNvU3Vic3BhY2U6OmRlc3Ryb3lMb3dlclRp
ZXJGcmVlTGlzdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29T
dWJzcGFjZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuaAppbmRl
eCBiZmMzZGU5NTBlMmEwODQyZTM4ZmUxZjhlMWNjMDNjYTVjZDllNmViLi5iYzEwNmY0MWYwMzg0
MzA4ZGUyODYwNThjZWJmZTM5MTA4OWNkODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Jc29TdWJzcGFjZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0lzb1N1YnNwYWNlLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgSXNvQ2VsbFNldDsKIAogY2xh
c3MgSXNvU3Vic3BhY2UgOiBwdWJsaWMgU3Vic3BhY2UgewogcHVibGljOgotICAgIEpTX0VYUE9S
VF9QUklWQVRFIElzb1N1YnNwYWNlKENTdHJpbmcgbmFtZSwgSGVhcCYsIEhlYXBDZWxsVHlwZSos
IHNpemVfdCBzaXplKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBJc29TdWJzcGFjZShDU3RyaW5n
IG5hbWUsIEhlYXAmLCBIZWFwQ2VsbFR5cGUqLCBzaXplX3Qgc2l6ZSwgdWludDhfdCByZW1haW5p
bmdMb3dlclRpZXJDZWxsQ291bnQgPSBNYXJrZWRCbG9jazo6bnVtYmVyT2ZMb3dlclRpZXJDZWxs
cyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgfklzb1N1YnNwYWNlKCk7CiAKICAgICBzaXplX3Qg
c2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQpAQCAtNDksMTAgKzQ5LDEzIEBAIGNsYXNz
IElzb1N1YnNwYWNlIDogcHVibGljIFN1YnNwYWNlIHsKICAgICB2b2lkKiBhbGxvY2F0ZU5vblZp
cnR1YWwoVk0mLCBzaXplX3QsIEdDRGVmZXJyYWxDb250ZXh0KiwgQWxsb2NhdGlvbkZhaWx1cmVN
b2RlKTsKIAogICAgIHZvaWQgc3dlZXBMb3dlclRpZXJDZWxsKFByZWNpc2VBbGxvY2F0aW9uKik7
CisgICAgdm9pZCBjbGVhcklzb0NlbGxTZXRCaXQoUHJlY2lzZUFsbG9jYXRpb24qKTsKIAogICAg
IHZvaWQqIHRyeUFsbG9jYXRlRnJvbUxvd2VyVGllcigpOwogICAgIHZvaWQgZGVzdHJveUxvd2Vy
VGllckZyZWVMaXN0KCk7CiAKKyAgICB2b2lkIHN3ZWVwKCk7CisKIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIElzb0NlbGxTZXQ7CiAgICAgCkBAIC02Niw3ICs2OSw3IEBAIGNsYXNzIElzb1N1
YnNwYWNlIDogcHVibGljIFN1YnNwYWNlIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvQWxpZ25l
ZE1lbW9yeUFsbG9jYXRvcj4gbV9pc29BbGlnbmVkTWVtb3J5QWxsb2NhdG9yOwogICAgIFNlbnRp
bmVsTGlua2VkTGlzdDxQcmVjaXNlQWxsb2NhdGlvbiwgUGFja2VkUmF3U2VudGluZWxOb2RlPFBy
ZWNpc2VBbGxvY2F0aW9uPj4gbV9sb3dlclRpZXJGcmVlTGlzdDsKICAgICBTZW50aW5lbExpbmtl
ZExpc3Q8SXNvQ2VsbFNldCwgUGFja2VkUmF3U2VudGluZWxOb2RlPElzb0NlbGxTZXQ+PiBtX2Nl
bGxTZXRzOwotICAgIHVpbnQ4X3QgbV9sb3dlclRpZXJDZWxsQ291bnQgeyAwIH07CisgICAgdWlu
dDhfdCBtX3JlbWFpbmluZ0xvd2VyVGllckNlbGxDb3VudCB7IDAgfTsKIH07CiAKIEFMV0FZU19J
TkxJTkUgQWxsb2NhdG9yIElzb1N1YnNwYWNlOjphbGxvY2F0b3JGb3JOb25WaXJ0dWFsKHNpemVf
dCBzaXplLCBBbGxvY2F0b3JGb3JNb2RlKQpAQCAtNzYsNiArNzksNyBAQCBBTFdBWVNfSU5MSU5F
IEFsbG9jYXRvciBJc29TdWJzcGFjZTo6YWxsb2NhdG9yRm9yTm9uVmlydHVhbChzaXplX3Qgc2l6
ZSwgQWxsb2NhdAogfQogCiAjZGVmaW5lIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGhlYXBDZWxs
VHlwZSwgdHlwZSkgKCJJc29sYXRlZCAiICN0eXBlICIgU3BhY2UiLCAoaGVhcCksIChoZWFwQ2Vs
bFR5cGUpLCBzaXplb2YodHlwZSkpCisjZGVmaW5lIElTT19TVUJTUEFDRV9JTklUX1dJVEhPVVRf
TE9XRVJfVElFUl9DRUxMUyhoZWFwLCBoZWFwQ2VsbFR5cGUsIHR5cGUpICgiSXNvbGF0ZWQgIiAj
dHlwZSAiIFNwYWNlIiwgKGhlYXApLCAoaGVhcENlbGxUeXBlKSwgc2l6ZW9mKHR5cGUpLCAwKQog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IGlzQWxsb2NhdGVkRnJvbUlzb1N1YnNwYWNl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VJbmxpbmVzLmgK
aW5kZXggNWNjZWZmZTMxMWJkZmMzOGJmZjAyNWE1ZDAwZDQwYmYyNDU2M2ZlYS4uMDUxOGE3ZmUw
NjJkNjA5MTY5ZDdiYzNmNzUzYzU4NGRjNGVlY2Y3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VJbmxpbmVzLmgKQEAgLTM1LDUgKzM1LDI0IEBAIEFMV0FZ
U19JTkxJTkUgdm9pZCogSXNvU3Vic3BhY2U6OmFsbG9jYXRlTm9uVmlydHVhbChWTSYsIHNpemVf
dCBzaXplLCBHQ0RlZmVycmFsCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAoraW5saW5lIHZvaWQg
SXNvU3Vic3BhY2U6OmNsZWFySXNvQ2VsbFNldEJpdChQcmVjaXNlQWxsb2NhdGlvbiogcHJlY2lz
ZUFsbG9jYXRpb24pCit7CisgICAgdW5zaWduZWQgbG93ZXJUaWVySW5kZXggPSBwcmVjaXNlQWxs
b2NhdGlvbi0+bG93ZXJUaWVySW5kZXgoKTsKKyAgICBtX2NlbGxTZXRzLmZvckVhY2goCisgICAg
ICAgIFsmXShJc29DZWxsU2V0KiBzZXQpIHsKKyAgICAgICAgICAgIHNldC0+Y2xlYXJMb3dlclRp
ZXJDZWxsKGxvd2VyVGllckluZGV4KTsKKyAgICAgICAgfSk7Cit9CisKK2lubGluZSB2b2lkIElz
b1N1YnNwYWNlOjpzd2VlcCgpCit7CisgICAgU3Vic3BhY2U6OnN3ZWVwQmxvY2tzKCk7CisgICAg
Ly8gV2Ugc3dlZXAgcHJlY2lzZS1hbGxvY2F0aW9ucyBlYWdlcmx5LCBidXQgd2UgZG8gbm90IGZy
ZWUgaXQgaW1tZWRpYXRlbHkuCisgICAgLy8gVGhpcyBwYXJ0IHNob3VsZCBiZSBkb25lIGJ5IE1h
cmtlZFNwYWNlOjpzd2VlcFByZWNpc2VBbGxvY2F0aW9ucy4KKyAgICBtX3ByZWNpc2VBbGxvY2F0
aW9ucy5mb3JFYWNoKFsmXShQcmVjaXNlQWxsb2NhdGlvbiogYWxsb2NhdGlvbikgeworICAgICAg
ICBhbGxvY2F0aW9uLT5zd2VlcCgpOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3BwCmluZGV4IDczY2Vj
OGU2Y2MyMWI1YWE0OGFiZjhiZmFkOWIzNDMzZjQ3NWQzNDMuLjk3MDNlMzU3MWUzZjRjZGY4YjIx
MjgwYzM5MTA3MTkxM2UzNWM4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL01hcmtlZFNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJr
ZWRTcGFjZS5jcHAKQEAgLTIzMiw3ICsyMzIsNyBAQCB2b2lkIE1hcmtlZFNwYWNlOjpsYXN0Q2hh
bmNlVG9GaW5hbGl6ZSgpCiAgICAgLy8gV2UgZG8gbm90IGNhbGwgbGFzdENoYW5jZVRvRmluYWxp
emUgZm9yIGxvd2VyLXRpZXIgc3dlcHQgY2VsbHMgc2luY2Ugd2UgbmVlZCBub3RoaW5nIHRvIGRv
LgogfQogCi12b2lkIE1hcmtlZFNwYWNlOjpzd2VlcCgpCit2b2lkIE1hcmtlZFNwYWNlOjpzd2Vl
cEJsb2NrcygpCiB7CiAgICAgbV9oZWFwLT5zd2VlcGVyKCkuc3RvcFN3ZWVwaW5nKCk7CiAgICAg
Zm9yRWFjaERpcmVjdG9yeSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5o
CmluZGV4IGUxZmU3ZWI5MzQ4OWQyMWQ4YjYxYzNiMjYxYjQzYjU0ZDliYWUxNGEuLjAwNjgwNWI0
NDdiZTFiNTIxYmNhNDQ0YzFkY2VhMWVmNzQyNzg0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTWFya2VkU3BhY2UuaApAQCAtMTQwLDcgKzE0MCw3IEBAIGNsYXNzIE1hcmtlZFNwYWNl
IHsKICAgICB2b2lkIGVuZE1hcmtpbmcoKTsKICAgICB2b2lkIHNuYXBzaG90VW5zd2VwdCgpOwog
ICAgIHZvaWQgY2xlYXJOZXdseUFsbG9jYXRlZCgpOwotICAgIHZvaWQgc3dlZXAoKTsKKyAgICB2
b2lkIHN3ZWVwQmxvY2tzKCk7CiAgICAgdm9pZCBzd2VlcFByZWNpc2VBbGxvY2F0aW9ucygpOwog
ICAgIHZvaWQgYXNzZXJ0Tm9VbnN3ZXB0KCk7CiAgICAgc2l6ZV90IG9iamVjdENvdW50KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5jcHAKaW5k
ZXggZGVjY2YwYjE5NjI3NjliZDJmMmIyNWFkYTFmMjAxNGUzMmMyN2ZjNS4uNWRkY2MxYjgwNmQz
YTIzMzg2MmEzNzRkNDQ2ZmYzYTE5ZDU5ZjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvUHJlY2lzZUFsbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1ByZWNpc2VBbGxvY2F0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5j
bHVkZSAiQWxpZ25lZE1lbW9yeUFsbG9jYXRvci5oIgogI2luY2x1ZGUgIkhlYXAuaCIKKyNpbmNs
dWRlICJJc29DZWxsU2V0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiU3Vic3BhY2VJbmxpbmVzLmgiCkBAIC0xNzgs
NiArMTc5LDcgQEAgUHJlY2lzZUFsbG9jYXRpb246OlByZWNpc2VBbGxvY2F0aW9uKEhlYXAmIGhl
YXAsIHNpemVfdCBzaXplLCBTdWJzcGFjZSogc3Vic3BhY2UKICAgICAsIG1fd2Vha1NldChoZWFw
LnZtKCkpCiB7CiAgICAgbV9pc01hcmtlZC5zdG9yZSgwKTsKKyAgICBBU1NFUlQoY2VsbCgpLT5p
c1ByZWNpc2VBbGxvY2F0aW9uKCkpOwogfQogCiBQcmVjaXNlQWxsb2NhdGlvbjo6flByZWNpc2VB
bGxvY2F0aW9uKCkKQEAgLTIyNyw2ICsyMjksMTAgQEAgdm9pZCBQcmVjaXNlQWxsb2NhdGlvbjo6
c3dlZXAoKQogICAgIGlmIChtX2hhc1ZhbGlkQ2VsbCAmJiAhaXNMaXZlKCkpIHsKICAgICAgICAg
aWYgKG1fYXR0cmlidXRlcy5kZXN0cnVjdGlvbiA9PSBOZWVkc0Rlc3RydWN0aW9uKQogICAgICAg
ICAgICAgbV9zdWJzcGFjZS0+ZGVzdHJveSh2bSgpLCBzdGF0aWNfY2FzdDxKU0NlbGwqPihjZWxs
KCkpKTsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIGNsZWFyIElzb0NlbGxTZXQncyBiaXQgYmVmb3Jl
IGFjdHVhbGx5IGRlc3Ryb3lpbmcgUHJlY2lzZUFsbG9jYXRpb24KKyAgICAgICAgLy8gc2luY2Ug
UHJlY2lzZUFsbG9jYXRpb24ncyBkZXN0cnVjdGlvbiBjYW4gYmUgZGVsYXllZCB1bnRpbCBpdHMg
V2Vha1NldCBpcyBjbGVhcmVkLgorICAgICAgICBpZiAoaXNMb3dlclRpZXIoKSkKKyAgICAgICAg
ICAgIHN0YXRpY19jYXN0PElzb1N1YnNwYWNlKj4obV9zdWJzcGFjZSktPmNsZWFySXNvQ2VsbFNl
dEJpdCh0aGlzKTsKICAgICAgICAgbV9oYXNWYWxpZENlbGwgPSBmYWxzZTsKICAgICB9CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFjZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFjZS5jcHAKaW5kZXggZGU0MDYxN2ZkMzJjZmVk
ZTJhYmJmOWJlMmI4YjlkZTkyMjBmZmY1Zi4uOTRjMmZmNGM2YjJhY2E2YzE5ZGMxNThjYjRmOGU2
MzczNGQwZTNhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Vic3Bh
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N1YnNwYWNlLmNwcApAQCAt
MTI0LDcgKzEyNCw3IEBAIFJlZjxTaGFyZWRUYXNrPE1hcmtlZEJsb2NrOjpIYW5kbGUqKCk+PiBT
dWJzcGFjZTo6cGFyYWxsZWxOb3RFbXB0eU1hcmtlZEJsb2NrU291CiAgICAgICAgIH0pOwogfQog
Ci12b2lkIFN1YnNwYWNlOjpzd2VlcCgpCit2b2lkIFN1YnNwYWNlOjpzd2VlcEJsb2NrcygpCiB7
CiAgICAgZm9yRWFjaERpcmVjdG9yeSgKICAgICAgICAgWyZdIChCbG9ja0RpcmVjdG9yeSYgZGly
ZWN0b3J5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFj
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Vic3BhY2UuaAppbmRleCAwZTkxN2Ew
ZDUwYWE2YTk1YTc4ZTQzNjlmNjU1NWUyZmVhOWJkMzU5Li5iNTA4MTE0NGNkNGMwYjEyOTFjZDJj
MzUzYzIyYzZmYzQ3YzFmZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9TdWJzcGFjZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N1YnNwYWNlLmgK
QEAgLTkyLDcgKzkyLDcgQEAgY2xhc3MgU3Vic3BhY2UgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEZ1bmM+CiAgICAgdm9pZCBmb3JFYWNoTGl2ZUNlbGwoY29uc3QgRnVuYyYpOwogICAgIAotICAg
IHZvaWQgc3dlZXAoKTsKKyAgICB2b2lkIHN3ZWVwQmxvY2tzKCk7CiAgICAgCiAgICAgU3Vic3Bh
Y2UqIG5leHRTdWJzcGFjZUluQWxpZ25lZE1lbW9yeUFsbG9jYXRvcigpIGNvbnN0IHsgcmV0dXJu
IG1fbmV4dFN1YnNwYWNlSW5BbGlnbmVkTWVtb3J5QWxsb2NhdG9yOyB9CiAgICAgdm9pZCBzZXRO
ZXh0U3Vic3BhY2VJbkFsaWduZWRNZW1vcnlBbGxvY2F0b3IoU3Vic3BhY2UqIHN1YnNwYWNlKSB7
IG1fbmV4dFN1YnNwYWNlSW5BbGlnbmVkTWVtb3J5QWxsb2NhdG9yID0gc3Vic3BhY2U7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCAxODRiMjM0NmE1NDJiYjMyMWE4M2Vh
YThmMDRjMTVhNjJjY2Y2YTQ3Li42NWI2NmQ5ZmY0YTQzNzhmNmYxZWM1NGFlMmQzYWZlZWUyYjQy
NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC0xMDQsNiArMTA0LDcg
QEAKICNpbmNsdWRlICJKU1dlYkFzc2VtYmx5LmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseUNv
ZGVCbG9jay5oIgogI2luY2x1ZGUgIkpTV2ViQXNzZW1ibHlDb2RlQmxvY2tIZWFwQ2VsbFR5cGUu
aCIKKyNpbmNsdWRlICJKU1dlYkFzc2VtYmx5TWVtb3J5LmgiCiAjaW5jbHVkZSAiSlNXaXRoU2Nv
cGUuaCIKICNpbmNsdWRlICJMTEludERhdGEuaCIKICNpbmNsdWRlICJMZXhlci5oIgpAQCAtMjc1
LDcgKzI3Niw2IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAg
ICAsIGRlc3RydWN0aWJsZUNlbGxTcGFjZSgiRGVzdHJ1Y3RpYmxlIEpTQ2VsbCIsIGhlYXAsIGRl
c3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIGZhc3RNYWxsb2NBbGxvY2F0b3IuZ2V0
KCkpIC8vIEhhc2g6MHhiZmZmM2Q3MwogICAgICwgc3RyaW5nU3BhY2UoIkpTU3RyaW5nIiwgaGVh
cCwgc3RyaW5nSGVhcENlbGxUeXBlLmdldCgpLCBmYXN0TWFsbG9jQWxsb2NhdG9yLmdldCgpKSAv
LyBIYXNoOjB4OTBjZjc1OGYKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdFNwYWNlKCJKU0Rlc3Ry
dWN0aWJsZU9iamVjdCIsIGhlYXAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5nZXQo
KSwgZmFzdE1hbGxvY0FsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweDRmNWVkN2E5Ci0gICAgLCBl
YWdlcmx5U3dlcHREZXN0cnVjdGlibGVPYmplY3RTcGFjZSgiRWFnZXJseSBTd2VwdCBKU0Rlc3Ry
dWN0aWJsZU9iamVjdCIsIGhlYXAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5nZXQo
KSwgZmFzdE1hbGxvY0FsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweDZlYmYyOGUyCiAgICAgLCBl
eGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlU3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgY2Vs
bEhlYXBDZWxsVHlwZS5nZXQoKSwgRXhlY3V0YWJsZVRvQ29kZUJsb2NrRWRnZSkgLy8gSGFzaDow
eDdiNzMwYjIwCiAgICAgLCBmdW5jdGlvblNwYWNlIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGNl
bGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTRnVuY3Rpb24pIC8vIEhhc2g6MHg4MDBmY2E3MgogICAg
ICwgaW50ZXJuYWxGdW5jdGlvblNwYWNlIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGRlc3RydWN0
aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSW50ZXJuYWxGdW5jdGlvbikgLy8gSGFzaDow
eGY4NDVjNDY0CkBAIC0yODYsNyArMjg2LDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBU
eXBlIGhlYXBUeXBlKQogICAgICwgc3ltYm9sVGFibGVTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVCho
ZWFwLCBkZXN0cnVjdGlibGVDZWxsSGVhcENlbGxUeXBlLmdldCgpLCBTeW1ib2xUYWJsZSkgLy8g
SGFzaDoweGM1MjE1YWZkCiAgICAgLCBleGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlc1dpdGhDb25z
dHJhaW50cyhleGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlU3BhY2UpCiAgICAgLCBleGVjdXRhYmxl
VG9Db2RlQmxvY2tFZGdlc1dpdGhGaW5hbGl6ZXJzKGV4ZWN1dGFibGVUb0NvZGVCbG9ja0VkZ2VT
cGFjZSkKLSAgICAsIGNvZGVCbG9ja1NwYWNlIElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGRlc3Ry
dWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIENvZGVCbG9jaykgLy8gSGFzaDoweDc3ZTY2
ZWM5CisgICAgLCBjb2RlQmxvY2tTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVF9XSVRIT1VUX0xPV0VS
X1RJRVJfQ0VMTFMoaGVhcCwgZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQ29k
ZUJsb2NrKSAvLyBIYXNoOjB4NzdlNjZlYzkKICAgICAsIGZ1bmN0aW9uRXhlY3V0YWJsZVNwYWNl
IElTT19TVUJTUEFDRV9JTklUKGhlYXAsIGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUuZ2V0
KCksIEZ1bmN0aW9uRXhlY3V0YWJsZSkgLy8gSGFzaDoweDVkMTU4ZjMKICAgICAsIHByb2dyYW1F
eGVjdXRhYmxlU3BhY2UgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgZGVzdHJ1Y3RpYmxlQ2VsbEhl
YXBDZWxsVHlwZS5nZXQoKSwgUHJvZ3JhbUV4ZWN1dGFibGUpIC8vIEhhc2g6MHg1MjdjNzdlNwog
ICAgICwgdW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGVTcGFjZSBJU09fU1VCU1BBQ0VfSU5JVCho
ZWFwLCBkZXN0cnVjdGlibGVDZWxsSGVhcENlbGxUeXBlLmdldCgpLCBVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZSkgLy8gSGFzaDoweGY2YjgyOGQ5CkBAIC0xMzAyLDYgKzEzMDIsNyBAQCBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cob2JqQ0NhbGxiYWNrRnVuY3Rpb25T
cGFjZSwgZGVzdHJ1Y3RpYmxlTwogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWJBc3NlbWJseUNvZGVCbG9ja1NwYWNlLCB3
ZWJBc3NlbWJseUNvZGVCbG9ja0hlYXBDZWxsVHlwZS5nZXQoKSwgSlNXZWJBc3NlbWJseUNvZGVC
bG9jaykgLy8gSGFzaDoweDlhZDk5NWNkCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1cod2ViQXNzZW1ibHlGdW5jdGlvblNwYWNlLCB3ZWJBc3NlbWJseUZ1bmN0aW9uSGVh
cENlbGxUeXBlLmdldCgpLCBXZWJBc3NlbWJseUZ1bmN0aW9uKSAvLyBIYXNoOjB4OGI3YzMyZGIK
K0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWJBc3NlbWJseU1lbW9y
eVNwYWNlLCBkZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTV2ViQXNzZW1i
bHlNZW1vcnkpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cod2ViQXNz
ZW1ibHlXcmFwcGVyRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgV2ViQXNz
ZW1ibHlXcmFwcGVyRnVuY3Rpb24pIC8vIEhhc2g6MHhkNGE1ZmYwMQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IGNhNTE0NDQ2MjVjZjM1ODdmZjZlMjU4NWFkNGQw
Nzg1MTIwODA5OTcuLjk3NGJmMTEzMGE3Yjk5NGQ3Yzc0ZGYxYWU0ODBlYzFjZDgwNjcwZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMzc2LDcgKzM3Niw2IEBAIGNsYXNzIFZN
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExp
c3ROb2RlPFZNPiB7CiAgICAgQ29tcGxldGVTdWJzcGFjZSBkZXN0cnVjdGlibGVDZWxsU3BhY2U7
CiAgICAgQ29tcGxldGVTdWJzcGFjZSBzdHJpbmdTcGFjZTsKICAgICBDb21wbGV0ZVN1YnNwYWNl
IGRlc3RydWN0aWJsZU9iamVjdFNwYWNlOwotICAgIENvbXBsZXRlU3Vic3BhY2UgZWFnZXJseVN3
ZXB0RGVzdHJ1Y3RpYmxlT2JqZWN0U3BhY2U7CiAgICAgCiAgICAgSXNvU3Vic3BhY2UgZXhlY3V0
YWJsZVRvQ29kZUJsb2NrRWRnZVNwYWNlOwogICAgIElzb1N1YnNwYWNlIGZ1bmN0aW9uU3BhY2U7
CkBAIC00MTQsNiArNDEzLDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICNpZiBFTkFCTEUoV0VC
QVNTRU1CTFkpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUih3ZWJBc3Nl
bWJseUNvZGVCbG9ja1NwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVIod2ViQXNzZW1ibHlGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVIod2ViQXNzZW1ibHlNZW1vcnlTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKHdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uU3BhY2UpCiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseU1lbW9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eU1lbW9yeS5oCmluZGV4IDFmNjA2MjEzZmVkNDlmNWZhZTgzZDJmYWQ3MTk3ZjEyMzNlYThhYWEu
LjE1YTcyMDE3YzdkNzkyODg2NDViMTA1YjlmZjliOGYxYzk5YTliMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmgKQEAgLTQy
LDExICs0MiwxMCBAQCBjbGFzcyBKU1dlYkFzc2VtYmx5TWVtb3J5IGZpbmFsIDogcHVibGljIEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxl
T2JqZWN0IEJhc2U7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VB
Y2Nlc3M+Ci0gICAgc3RhdGljIENvbXBsZXRlU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAg
ICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAgICB7Ci0gICAgICAg
IC8vIFdlIGhvbGQgb250byBhIGxvdCBvZiBtZW1vcnksIHNvIGl0IG1ha2VzIGEgbG90IG9mIHNl
bnNlIHRvIGJlIHN3ZXB0IGVhZ2VybHkuCi0gICAgICAgIHJldHVybiAmdm0uZWFnZXJseVN3ZXB0
RGVzdHJ1Y3RpYmxlT2JqZWN0U3BhY2U7CisgICAgICAgIHJldHVybiB2bS53ZWJBc3NlbWJseU1l
bW9yeVNwYWNlPG1vZGU+KCk7CiAgICAgfQogCiAgICAgc3RhdGljIEpTV2ViQXNzZW1ibHlNZW1v
cnkqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFZNJiwgU3RydWN0dXJlKik7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEzNmY1NTU2NmY4
MjkwOGM4OGQ5ZDAwNjNkNjBiNDJkNzViMWUxZjcuLjNiYWUwZDFhNzY0ZjFmN2I4MWU3NzljNDk5
ODQ0MWZlMGRiYTFlOTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTEtMTIgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU0MgR0MgcmVsaWVzIG9uIENv
ZGVCbG9jayBpcyBub3QgUHJlY2lzZUFsbG9jYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2Vuc3VyZS1jb2RlLWJsb2NrLWlzLW5v
dC1wcmVjaXNlLWFsbG9jYXRpb24uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAg
KGdldCBmb3IpOgorCiAyMDE5LTExLTExICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bz
b255LmNvbT4KIAogICAgICAgICBVVEMgb2Zmc2V0IGZvciBTYW1vYSBpcyBtaXNjYWxjdWxhdGVk
IHdoZW4gIUhBVkUoVElNRUdNKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZW5zdXJlLWNv
ZGUtYmxvY2staXMtbm90LXByZWNpc2UtYWxsb2NhdGlvbi5qcyBiL0pTVGVzdHMvc3RyZXNzL2Vu
c3VyZS1jb2RlLWJsb2NrLWlzLW5vdC1wcmVjaXNlLWFsbG9jYXRpb24uanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDMwYTEzN2VjNmMxNTc1ZDM3ZDExNzNhYTIwNDg4ZmQwMTRjMDk2YwotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvc3RyZXNzL2Vuc3VyZS1jb2RlLWJsb2NrLWlzLW5vdC1wcmVjaXNlLWFsbG9j
YXRpb24uanMKQEAgLTAsMCArMSwxMSBAQAorLy9AIHNsb3chCisvLyBEb2VzIG5vdCBjcmFzaC4K
K2Z1bmN0aW9uIGZvbygpIHsKKyAgICArbmV3IFByb3h5KHt9LCB7Z2V0OiBmb299KTsKK30KKwor
Zm9yIChsZXQgaT0wOyBpPCA1MDA7IGkrKykgeworICAgIG5ldyBQcm9taXNlKGZvbyk7CisgICAg
Y29uc3QgYTAgPSBbXTsKKyAgICBjb25zdCBhMSA9IFswXTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383403</attachid>
            <date>2019-11-12 16:40:22 -0800</date>
            <delta_ts>2019-11-12 17:09:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204124-20191112164021.patch</filename>
            <type>text/plain</type>
            <size>25814</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OWU2YTRhMTdhNzk0NTZhOWI3ZjczMTg4OGE3OGNiZTg3NTFkMTgzLi5lNWU0MjFmOTNkOWFhZDRh
MGU3YzZjMWUyYTIxNDQ5OTA3YzhiNGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3OCBAQAorMjAxOS0xMS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpTQyBHQyByZWxpZXMgb24gQ29kZUJsb2NrIGlzIG5vdCBQcmVj
aXNlQWxsb2NhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0MTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBpcyBhIGZvbGxvdy11cCBwYXRjaCBhZnRlciByMjUyMjk4LiBUaGlzIHBhdGNo
IGZpeGVzIHNldmVyYWwgR0MgaXNzdWVzLgorCisgICAgICAgIDEuIFdlIGZvdW5kIHRoYXQgQ29k
ZUJsb2NrIGhlYXZpbHkgcmVsaWVzIG9uIHRoZSBmYWN0IHRoYXQgdGhpcyBpcyBuZXZlciBnZXR0
aW5nIFByZWNpc2VBbGxvY2F0aW9uLgorICAgICAgICAgICBGb3IgZXhhbXBsZSwgaW4gb3VyIEdD
LCB3ZSBzY2FuIGNvbnNlcnZhdGl2ZSByb290cyB0byBjb2xsZWN0IGN1cnJlbnRseS1leGVjdXRp
bmcgQ29kZUJsb2Nrcy4KKyAgICAgICAgICAgQnV0IGlmIHRoaXMgaXMgZG9uZSBpbiBhbiBFZGVu
IGN5Y2xlLCB0aGlzIGNhbiBvbmx5IGZpbmQgUHJlY2lzZUFsbG9jYXRpb24gQ29kZUJsb2NrcyBh
bGxvY2F0ZWQKKyAgICAgICAgICAgaW4gdGhpcyBjdXJyZW50IEVkZW4gY3ljbGUsIHNpbmNlIHdl
IG9ubHkgdXNlIEVkZW4gUHJlY2lzZUFsbG9jYXRpb24gdmVjdG9yIHRvIGZpbmQgdGhlc2UgY2Vs
bHMuCisgICAgICAgICAgIFRoaXMgbWVhbnMgc29tZSBDb2RlQmxvY2tzIHRoYXQgYXJlIFByZWNp
c2VBbGxvY2F0aW9uIGFuZCBhbGxvY2F0ZWQgaW4gdGhlIHBhc3QgRWRlbiBjeWNsZSBjYW4KKyAg
ICAgICAgICAgYmUgbWlzc2VkIGluIHRoaXMgY3VycmVudGx5LWV4ZWN1dGluZyBzZXQuIEJ1dCB3
ZSBkbyBub3Qgd2FudCB0byBzb3J0IGFsbCB0aGUgUHJlY2lzZUFsbG9jYXRpb24KKyAgICAgICAg
ICAgdmVjdG9yIGV2ZXJ5IHRpbWUgRWRlbiBjeWNsZSBoYXBwZW5zLiBTbywgZm9yIG5vdywgd2Ug
bWFrZSAjIG9mIGxvd2VyLXRpZXIgY2VsbHMgb2YgQ29kZUJsb2NrcyAwCisgICAgICAgICAgIHNv
IHRoYXQgQ29kZUJsb2NrcyBhcmUgYWx3YXlzIGFsbG9jYXRlZCBhcyBub24gUHJlY2lzZUFsbG9j
YXRpb24uCisKKyAgICAgICAgMi4gV2UgaGFkIGFuIHByZS1leGlzdGluZyBQcmVjaXNlQWxsb2Nh
dGlvbiBidWc6IHdoZW4gV2Vhazw+IGlzIHBvaW50aW5nIFByZWNpc2VBbGxvY2F0aW9uLCB3ZSBr
ZWVwCisgICAgICAgICAgIFByZWNpc2VBbGxvY2F0aW9uIGluIG1fcHJlY2lzZUFsbG9jYXRpb25z
IHZlY3RvciB3aGlsZSB0aGUgY2VsbCBpbnNpZGUgaXQgaXMgZGVzdHJveWVkLiBUaGlzIGlzIE9L
LgorICAgICAgICAgICBCdXQgSGVhcFV0aWw6OmZpbmRHQ09iamVjdFBvaW50ZXJzRm9yTWFya2lu
ZyBjYW4gcG9wdWxhdGUgdGhpcyBQcmVjaXNlQWxsb2NhdGlvbiB3aGVuIHBlcmZvcm1pbmcKKyAg
ICAgICAgICAgY29uc2VydmF0aXZlIHJvb3Qgc2Nhbm5pbmcuIFRoaXMgbWVhbnMgdGhhdCBIZWFw
VXRpbDo6ZmluZEdDT2JqZWN0UG9pbnRlcnNGb3JNYXJraW5nIGNhbiBwb3B1bGF0ZQorICAgICAg
ICAgICBkZXN0cm95ZWQgY2VsbHMuIFdlIGluc2VydCBoYXNWYWxpZENlbGwgY2hlY2sgdG8gYXZv
aWQgdGhpcyBpc3N1ZS4KKworICAgICAgICAzLiBTdWJzcGFjZTo6c3dlZXAgb25seSBzd2VlcHMg
bm9uIFByZWNpc2VBbGxvY2F0aW9uIGJsb2NrcyBkZXNwaXRlIG9mIHRoaXMgbmFtZS4gVGhpcyBp
cyBhIHByb2JsZW0KKyAgICAgICAgICAgc2luY2Ugd2UgYXJlIGV4cGxpY2l0bHkgY2FsbGluZyBT
dWJzcGFjZTo6c3dlZXAgdG8gc3dlZXAgU2NyaXB0RXhlY3V0YWJsZXMsIENvZGVCbG9ja3MsIGFu
ZCBKSVQKKyAgICAgICAgICAgc3R1YnMgaW4gYSBkZWZpbmVkIG9yZGVyLiBXZSByZW5hbWUgU3Vi
c3BhY2U6OnN3ZWVwIHRvIFN1YnNwYWNlOjpzd2VlcEJsb2NrcywgYW5kIGludHJvZHVjZQorICAg
ICAgICAgICBJc29TdWJzcGFjZTo6c3dlZXAgd2hpY2ggYWxzbyBzd2VlcHMgUHJlY2lzZUFsbG9j
YXRpb25zIGZvciBsb3dlci10aWVyIGNlbGxzIGNvcnJlY3RseS4KKyAgICAgICAgICAgV2UgYXJl
IGNhbGxpbmcgUHJlY2lzZUFsbG9jYXRpb246OnN3ZWVwLCBidXQgd2Ugc3RpbGwgbGVhdmUgUHJl
Y2lzZUFsbG9jYXRpb24gaW4gbV9wcmVjaXNlQWxsb2NhdGlvbnMuCisgICAgICAgICAgIFRoaXMg
aXMgT0sgc2luY2UgUHJlY2lzZUFsbG9jYXRpb246OnN3ZWVwIGNhbiBiZSBjYWxsZWQgbXVsdGlw
bGUgdGltZXMuIERlc3Ryb3lpbmcgLyBSZXVzaW5nIFByZWNpc2VBbGxvY2F0aW9ucworICAgICAg
ICAgICBhcmUgZG9uZSBieSBNYXJrZWRTcGFjZTo6c3dlZXBQcmVjaXNlQWxsb2NhdGlvbnMuCisK
KyAgICAgICAgNC4gV2UgY2xlYXIgSXNvQ2VsbFNldCdzIGJpdCBhcyBzb29uIGFzIFByZWNpc2VB
bGxvY2F0aW9uJ3MgY2VsbCBpcyBkZXN0cm95ZWQuIFRoaXMgaXMgYWxpZ25lZCB0byB0aGUKKyAg
ICAgICAgICAgYmVoYXZpb3Igb2YgTWFya2VkQmxvY2tzLgorCisgICAgICAgICogYnl0ZWNvZGUv
Q29kZUJsb2NrLmg6CisgICAgICAgICogaGVhcC9Db2RlQmxvY2tTZXRJbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9ja1NldDo6bWFyayk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6c3dlZXBTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKEpTQzo6
SGVhcDo6c3dlZXBJbkZpbmFsaXplKToKKyAgICAgICAgKiBoZWFwL0hlYXBVdGlsLmg6CisgICAg
ICAgIChKU0M6OkhlYXBVdGlsOjpmaW5kR0NPYmplY3RQb2ludGVyc0Zvck1hcmtpbmcpOgorICAg
ICAgICAqIGhlYXAvSXNvQ2VsbFNldC5oOgorICAgICAgICAqIGhlYXAvSXNvQ2VsbFNldElubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6SXNvQ2VsbFNldDo6Y2xlYXJMb3dlclRpZXJDZWxsKToKKyAg
ICAgICAgKEpTQzo6SXNvQ2VsbFNldDo6c3dlZXBMb3dlclRpZXJDZWxsKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBoZWFwL0lzb1N1YnNwYWNlLmNwcDoKKyAgICAgICAgKEpTQzo6SXNvU3Vic3BhY2U6
Oklzb1N1YnNwYWNlKToKKyAgICAgICAgKEpTQzo6SXNvU3Vic3BhY2U6OnRyeUFsbG9jYXRlRnJv
bUxvd2VyVGllcik6CisgICAgICAgIChKU0M6Oklzb1N1YnNwYWNlOjpzd2VlcExvd2VyVGllckNl
bGwpOgorICAgICAgICAqIGhlYXAvSXNvU3Vic3BhY2UuaDoKKyAgICAgICAgKiBoZWFwL0lzb1N1
YnNwYWNlSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpJc29TdWJzcGFjZTo6Y2xlYXJJc29DZWxs
U2V0Qml0KToKKyAgICAgICAgKEpTQzo6SXNvU3Vic3BhY2U6OnN3ZWVwKToKKyAgICAgICAgKiBo
ZWFwL0lzb1N1YnNwYWNlUGVyVk0uY3BwOgorICAgICAgICAoSlNDOjpJc29TdWJzcGFjZVBlclZN
OjpBdXRvcmVtb3ZpbmdJc29TdWJzcGFjZTo6QXV0b3JlbW92aW5nSXNvU3Vic3BhY2UpOgorICAg
ICAgICAqIGhlYXAvTWFya2VkQmxvY2suaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZFNwYWNlLmNw
cDoKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6OnN3ZWVwQmxvY2tzKToKKyAgICAgICAgKEpT
Qzo6TWFya2VkU3BhY2U6OnN3ZWVwKTogRGVsZXRlZC4KKyAgICAgICAgKiBoZWFwL01hcmtlZFNw
YWNlLmg6CisgICAgICAgICogaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5jcHA6CisgICAgICAgIChK
U0M6OlByZWNpc2VBbGxvY2F0aW9uOjpQcmVjaXNlQWxsb2NhdGlvbik6CisgICAgICAgIChKU0M6
OlByZWNpc2VBbGxvY2F0aW9uOjpzd2VlcCk6CisgICAgICAgICogaGVhcC9TdWJzcGFjZS5jcHA6
CisgICAgICAgIChKU0M6OlN1YnNwYWNlOjpzd2VlcEJsb2Nrcyk6CisgICAgICAgIChKU0M6OlN1
YnNwYWNlOjpzd2VlcCk6IERlbGV0ZWQuCisgICAgICAgICogaGVhcC9TdWJzcGFjZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAg
ICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAqIHdh
c20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5oOgorCiAyMDE5LTExLTEyICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBSZWdFeHBCdWlsdGluRXhlYyBz
aG91bGQgY3JlYXRlICJncm91cHMiIHByb3BlcnR5IHVuY29uZGl0aW9uYWxseQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IGQyYzA2OTgwM2E4MTExZmU2
MmJlZDZkMGY4YjAwMWMxZDhkZmMwYTguLjk1YmMxYjYzOGU2ZjIxZjgyOTNiNTRlZDM2MjFiYThh
MDYxYWZlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgK
QEAgLTExNiw2ICsxMTYsOCBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vzcz4KICAgICBzdGF0aWMgSXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9yKFZNJikgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIC8vIEdDIHN0
cm9uZ2x5IGFzc3VtZXMgQ29kZUJsb2NrIGlzIG5vdCBhIFByZWNpc2VBbGxvY2F0aW9uIGZvciBu
b3cuCisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50OF90IG51bWJlck9mTG93ZXJUaWVyQ2VsbHMg
PSAwOwogCiAgICAgREVDTEFSRV9JTkZPOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Db2RlQmxvY2tTZXRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9Db2RlQmxvY2tTZXRJbmxpbmVzLmgKaW5kZXggNWRkYmY0OTRhYjIzZTgwODBiOTkzMmEw
ZDJmOWUzY2RlY2FkNTI3Ni4uN2I1MTFlZjUwMjE4NmY0ZTNhMGQ5ZGI2NTZjNTEyNWQ0NTQ4MmI0
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0SW5s
aW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvZGVCbG9ja1NldElubGlu
ZXMuaApAQCAtMzgsNiArMzgsMTAgQEAgaW5saW5lIHZvaWQgQ29kZUJsb2NrU2V0OjptYXJrKGNv
bnN0IEFic3RyYWN0TG9ja2VyJiwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAgaWYgKCFjb2Rl
QmxvY2spCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIENvbnNlcnZhdGl2ZSByb290IHNjYW5u
aW5nIGluIEVkZW4gY29sbGVjdGlvbiBjYW4gb25seSBmaW5kIFByZWNpc2VBbGxvY2F0aW9uIHRo
YXQgaXMgYWxsb2NhdGVkIGluIHRoaXMgRWRlbiBjeWNsZS4KKyAgICAvLyBTaW5jZSBDb2RlQmxv
Y2tTZXQ6Om1fY3VycmVudGx5RXhlY3V0aW5nIGlzIHN0cm9uZ2x5IGFzc3VtaW5nIHRoYXQgdGhp
cyBjYXRjaGVzIGFsbCB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBDb2RlQmxvY2ssCisgICAgLy8g
d2Ugbm93IGhhdmUgYSByZXN0cmljdGlvbiB0aGF0IGFsbCBDb2RlQmxvY2sgbmVlZHMgdG8gYmUg
YSBub24tcHJlY2lzZS1hbGxvY2F0aW9uLgorICAgIEFTU0VSVCghY29kZUJsb2NrLT5pc1ByZWNp
c2VBbGxvY2F0aW9uKCkpOwogICAgIG1fY3VycmVudGx5RXhlY3V0aW5nLmFkZChjb2RlQmxvY2sp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDg5ZmRjMWMxY2NkYWYw
NzkxNzE0MjhlYTY5NGVhNDQ0NDRiOTBlMzcuLjY4NjRkM2VkY2IwODg2NmM0ODg5MGI0YWEzNGZk
ZjQ2NWM4ZjBmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0xMDU0LDcg
KzEwNTQsNyBAQCB2b2lkIEhlYXA6OnN3ZWVwU3luY2hyb25vdXNseSgpCiAgICAgICAgIGRhdGFM
b2coIkZ1bGwgc3dlZXA6ICIsIGNhcGFjaXR5KCkgLyAxMDI0LCAia2IgIik7CiAgICAgICAgIGJl
Zm9yZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIH0KLSAgICBtX29iamVjdFNwYWNlLnN3
ZWVwKCk7CisgICAgbV9vYmplY3RTcGFjZS5zd2VlcEJsb2NrcygpOwogICAgIG1fb2JqZWN0U3Bh
Y2Uuc2hyaW5rKCk7CiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dDKCkpIHsKICAgICAgICAgTW9ub3Rv
bmljVGltZSBhZnRlciA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpAQCAtMjE1NCw3ICsyMTU0LDEx
IEBAIHZvaWQgSGVhcDo6d2FpdEZvckNvbGxlY3Rpb24oVGlja2V0IHRpY2tldCkKIHZvaWQgSGVh
cDo6c3dlZXBJbkZpbmFsaXplKCkKIHsKICAgICBtX29iamVjdFNwYWNlLnN3ZWVwUHJlY2lzZUFs
bG9jYXRpb25zKCk7Ci0gICAgdm0oKS5lYWdlcmx5U3dlcHREZXN0cnVjdGlibGVPYmplY3RTcGFj
ZS5zd2VlcCgpOworI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKKyAgICAvLyBXZSBob2xkIG9udG8g
YSBsb3Qgb2YgbWVtb3J5LCBzbyBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZSB0byBiZSBzd2VwdCBl
YWdlcmx5LgorICAgIGlmICh2bSgpLm1fd2ViQXNzZW1ibHlNZW1vcnlTcGFjZSkKKyAgICAgICAg
dm0oKS5tX3dlYkFzc2VtYmx5TWVtb3J5U3BhY2UtPnN3ZWVwKCk7CisjZW5kaWYKIH0KIAogdm9p
ZCBIZWFwOjpzdXNwZW5kQ29tcGlsZXJUaHJlYWRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXBVdGlsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwVXRpbC5oCmluZGV4IGRjOTVhMWNjYTg1YzMwNGMyZDE2YmMzZGVmNzA2ZjQ4OGUwOTg2ZmYu
LmQ3NjIzYjJlZDUyYTdmOTlkMmYwZjMyYWQ0ZDhhY2VmMWRhNTQ4ODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBVdGlsLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcFV0aWwuaApAQCAtNjcsNyArNjcsNyBAQCBjbGFzcyBIZWFwVXRpbCB7
CiAgICAgICAgICAgICAgICAgICAgIFtdIChQcmVjaXNlQWxsb2NhdGlvbioqIHB0cikgLT4gUHJl
Y2lzZUFsbG9jYXRpb24qIHsgcmV0dXJuICpwdHI7IH0pOwogICAgICAgICAgICAgICAgIGlmIChy
ZXN1bHQpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBhdHRlbXB0TGFyZ2UgPSBbJl0gKFBy
ZWNpc2VBbGxvY2F0aW9uKiBhbGxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYWxsb2NhdGlvbi0+Y29udGFpbnMocG9pbnRlcikpCisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoYWxsb2NhdGlvbi0+Y29udGFpbnMocG9pbnRlcikgJiYgYWxsb2NhdGlvbi0+aGFzVmFs
aWRDZWxsKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuYyhhbGxvY2F0aW9uLT5j
ZWxsKCksIGFsbG9jYXRpb24tPmF0dHJpYnV0ZXMoKS5jZWxsS2luZCk7CiAgICAgICAgICAgICAg
ICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSXNvQ2VsbFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SXNvQ2VsbFNldC5oCmluZGV4IGY0YmY2ZjlkYzhiYjQxMGViMThjZjVjM2Q5NmYyYzJkNWE0OGVl
ODcuLmMyOWFkZmI2MTNlMDM4ZmZkMGE0OWIxOTdkM2I5MDU2MTIxMTc1NWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0NlbGxTZXQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9Jc29DZWxsU2V0LmgKQEAgLTcyLDkgKzcyLDkgQEAgY2xhc3MgSXNv
Q2VsbFNldCA6IHB1YmxpYyBQYWNrZWRSYXdTZW50aW5lbE5vZGU8SXNvQ2VsbFNldD4gewogICAg
IHZvaWQgZGlkUmVzaXplQml0cyhzaXplX3QgbmV3U2l6ZSk7CiAgICAgdm9pZCBkaWRSZW1vdmVC
bG9jayhzaXplX3QgYmxvY2tJbmRleCk7CiAgICAgdm9pZCBzd2VlcFRvRnJlZUxpc3QoTWFya2Vk
QmxvY2s6OkhhbmRsZSopOwotICAgIHZvaWQgc3dlZXBMb3dlclRpZXJDZWxsKHVuc2lnbmVkKTsK
KyAgICB2b2lkIGNsZWFyTG93ZXJUaWVyQ2VsbCh1bnNpZ25lZCk7CiAgICAgCi0gICAgQml0bWFw
PE1hcmtlZEJsb2NrOjpudW1iZXJPZkxvd2VyVGllckNlbGxzPiBtX2xvd2VyVGllckJpdHM7Cisg
ICAgQml0bWFwPE1hcmtlZEJsb2NrOjptYXhOdW1iZXJPZkxvd2VyVGllckNlbGxzPiBtX2xvd2Vy
VGllckJpdHM7CiAKICAgICBJc29TdWJzcGFjZSYgbV9zdWJzcGFjZTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0NlbGxTZXRJbmxpbmVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29DZWxsU2V0SW5saW5lcy5oCmluZGV4IGFmZWUyMzk5
NGUzODUxZTQ5ZWEzZDI4YzY1MTU0NjhmOTFkZDQxNWYuLmZjODE2OTI4N2YwNTY2YmVlYjg5ZDE5
ODQ3MTkxMWE0YTc1OWM0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0lzb0NlbGxTZXRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNv
Q2VsbFNldElubGluZXMuaApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgSXNvQ2VsbFNldDo6Zm9y
RWFjaExpdmVDZWxsKGNvbnN0IEZ1bmMmIGZ1bmMpCiAgICAgICAgIH0pOwogfQogCi1pbmxpbmUg
dm9pZCBJc29DZWxsU2V0Ojpzd2VlcExvd2VyVGllckNlbGwodW5zaWduZWQgaW5kZXgpCitpbmxp
bmUgdm9pZCBJc29DZWxsU2V0OjpjbGVhckxvd2VyVGllckNlbGwodW5zaWduZWQgaW5kZXgpCiB7
CiAgICAgbV9sb3dlclRpZXJCaXRzLmNvbmN1cnJlbnRUZXN0QW5kQ2xlYXIoaW5kZXgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuY3BwCmluZGV4IDJjMWI5NWY4
MzgwOWIyOTY0MTBjMjQ5OGY1NzFkNTA2N2IzMTU4MTcuLjQ1M2U2MDIzM2Q2MTFkNDdjMzE3YmI3
M2RjYjliMjY2ZTkwOTZjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0lzb1N1YnNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJz
cGFjZS5jcHAKQEAgLTM1LDEzICszNSwxNSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotSXNvU3Vi
c3BhY2U6Oklzb1N1YnNwYWNlKENTdHJpbmcgbmFtZSwgSGVhcCYgaGVhcCwgSGVhcENlbGxUeXBl
KiBoZWFwQ2VsbFR5cGUsIHNpemVfdCBzaXplKQorSXNvU3Vic3BhY2U6Oklzb1N1YnNwYWNlKENT
dHJpbmcgbmFtZSwgSGVhcCYgaGVhcCwgSGVhcENlbGxUeXBlKiBoZWFwQ2VsbFR5cGUsIHNpemVf
dCBzaXplLCB1aW50OF90IG51bWJlck9mTG93ZXJUaWVyQ2VsbHMpCiAgICAgOiBTdWJzcGFjZShu
YW1lLCBoZWFwKQogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2RpcmVjdG9yeSgmaGVhcCwg
V1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mPE1hcmtlZEJsb2NrOjphdG9tU2l6ZT4oc2l6ZSkpCiAg
ICAgLCBtX2xvY2FsQWxsb2NhdG9yKCZtX2RpcmVjdG9yeSkKICAgICAsIG1faXNvQWxpZ25lZE1l
bW9yeUFsbG9jYXRvcihtYWtlVW5pcXVlPElzb0FsaWduZWRNZW1vcnlBbGxvY2F0b3I+KCkpCisg
ICAgLCBtX3JlbWFpbmluZ0xvd2VyVGllckNlbGxDb3VudChudW1iZXJPZkxvd2VyVGllckNlbGxz
KQogeworICAgIEFTU0VSVChudW1iZXJPZkxvd2VyVGllckNlbGxzIDw9IE1hcmtlZEJsb2NrOjpt
YXhOdW1iZXJPZkxvd2VyVGllckNlbGxzKTsKICAgICBtX2lzSXNvU3Vic3BhY2UgPSB0cnVlOwog
ICAgIGluaXRpYWxpemUoaGVhcENlbGxUeXBlLCBtX2lzb0FsaWduZWRNZW1vcnlBbGxvY2F0b3Iu
Z2V0KCkpOwogCkBAIC0xMDgsOSArMTEwLDkgQEAgdm9pZCogSXNvU3Vic3BhY2U6OnRyeUFsbG9j
YXRlRnJvbUxvd2VyVGllcigpCiAgICAgICAgIGFsbG9jYXRpb24tPnJlbW92ZSgpOwogICAgICAg
ICByZXR1cm4gcmV2aXZlKGFsbG9jYXRpb24pOwogICAgIH0KLSAgICBpZiAobV9sb3dlclRpZXJD
ZWxsQ291bnQgIT0gTWFya2VkQmxvY2s6Om51bWJlck9mTG93ZXJUaWVyQ2VsbHMpIHsKKyAgICBp
ZiAobV9yZW1haW5pbmdMb3dlclRpZXJDZWxsQ291bnQpIHsKICAgICAgICAgc2l6ZV90IHNpemUg
PSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Y8TWFya2VkU3BhY2U6OnNpemVTdGVwPihtX3NpemUp
OwotICAgICAgICBQcmVjaXNlQWxsb2NhdGlvbiogYWxsb2NhdGlvbiA9IFByZWNpc2VBbGxvY2F0
aW9uOjpjcmVhdGVGb3JMb3dlclRpZXIoKm1fc3BhY2UuaGVhcCgpLCBzaXplLCB0aGlzLCBtX2xv
d2VyVGllckNlbGxDb3VudCsrKTsKKyAgICAgICAgUHJlY2lzZUFsbG9jYXRpb24qIGFsbG9jYXRp
b24gPSBQcmVjaXNlQWxsb2NhdGlvbjo6Y3JlYXRlRm9yTG93ZXJUaWVyKCptX3NwYWNlLmhlYXAo
KSwgc2l6ZSwgdGhpcywgLS1tX3JlbWFpbmluZ0xvd2VyVGllckNlbGxDb3VudCk7CiAgICAgICAg
IHJldHVybiByZXZpdmUoYWxsb2NhdGlvbik7CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwpA
QCAtMTE4LDEzICsxMjAsOCBAQCB2b2lkKiBJc29TdWJzcGFjZTo6dHJ5QWxsb2NhdGVGcm9tTG93
ZXJUaWVyKCkKIAogdm9pZCBJc29TdWJzcGFjZTo6c3dlZXBMb3dlclRpZXJDZWxsKFByZWNpc2VB
bGxvY2F0aW9uKiBwcmVjaXNlQWxsb2NhdGlvbikKIHsKLSAgICB1bnNpZ25lZCBsb3dlclRpZXJJ
bmRleCA9IHByZWNpc2VBbGxvY2F0aW9uLT5sb3dlclRpZXJJbmRleCgpOwogICAgIHByZWNpc2VB
bGxvY2F0aW9uID0gcHJlY2lzZUFsbG9jYXRpb24tPnJldXNlRm9yTG93ZXJUaWVyKCk7CiAgICAg
bV9sb3dlclRpZXJGcmVlTGlzdC5hcHBlbmQocHJlY2lzZUFsbG9jYXRpb24pOwotICAgIG1fY2Vs
bFNldHMuZm9yRWFjaCgKLSAgICAgICAgWyZdIChJc29DZWxsU2V0KiBzZXQpIHsKLSAgICAgICAg
ICAgIHNldC0+c3dlZXBMb3dlclRpZXJDZWxsKGxvd2VyVGllckluZGV4KTsKLSAgICAgICAgfSk7
CiB9CiAKIHZvaWQgSXNvU3Vic3BhY2U6OmRlc3Ryb3lMb3dlclRpZXJGcmVlTGlzdCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJzcGFjZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuaAppbmRleCBiZmMzZGU5NTBlMmEwODQy
ZTM4ZmUxZjhlMWNjMDNjYTVjZDllNmViLi5jYTc3N2QwOGFmMWRhNWUwMDk1YzI4ODljMTI0NGY0
ZGU2Y2NhNTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJz
cGFjZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlLmgKQEAg
LTM3LDcgKzM3LDcgQEAgY2xhc3MgSXNvQ2VsbFNldDsKIAogY2xhc3MgSXNvU3Vic3BhY2UgOiBw
dWJsaWMgU3Vic3BhY2UgewogcHVibGljOgotICAgIEpTX0VYUE9SVF9QUklWQVRFIElzb1N1YnNw
YWNlKENTdHJpbmcgbmFtZSwgSGVhcCYsIEhlYXBDZWxsVHlwZSosIHNpemVfdCBzaXplKTsKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBJc29TdWJzcGFjZShDU3RyaW5nIG5hbWUsIEhlYXAmLCBIZWFw
Q2VsbFR5cGUqLCBzaXplX3Qgc2l6ZSwgdWludDhfdCBudW1iZXJPZkxvd2VyVGllckNlbGxzKTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSB+SXNvU3Vic3BhY2UoKTsKIAogICAgIHNpemVfdCBzaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CkBAIC00OSwxMCArNDksMTMgQEAgY2xhc3MgSXNv
U3Vic3BhY2UgOiBwdWJsaWMgU3Vic3BhY2UgewogICAgIHZvaWQqIGFsbG9jYXRlTm9uVmlydHVh
bChWTSYsIHNpemVfdCwgR0NEZWZlcnJhbENvbnRleHQqLCBBbGxvY2F0aW9uRmFpbHVyZU1vZGUp
OwogCiAgICAgdm9pZCBzd2VlcExvd2VyVGllckNlbGwoUHJlY2lzZUFsbG9jYXRpb24qKTsKKyAg
ICB2b2lkIGNsZWFySXNvQ2VsbFNldEJpdChQcmVjaXNlQWxsb2NhdGlvbiopOwogCiAgICAgdm9p
ZCogdHJ5QWxsb2NhdGVGcm9tTG93ZXJUaWVyKCk7CiAgICAgdm9pZCBkZXN0cm95TG93ZXJUaWVy
RnJlZUxpc3QoKTsKIAorICAgIHZvaWQgc3dlZXAoKTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgSXNvQ2VsbFNldDsKICAgICAKQEAgLTY2LDcgKzY5LDcgQEAgY2xhc3MgSXNvU3Vic3Bh
Y2UgOiBwdWJsaWMgU3Vic3BhY2UgewogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29BbGlnbmVkTWVt
b3J5QWxsb2NhdG9yPiBtX2lzb0FsaWduZWRNZW1vcnlBbGxvY2F0b3I7CiAgICAgU2VudGluZWxM
aW5rZWRMaXN0PFByZWNpc2VBbGxvY2F0aW9uLCBQYWNrZWRSYXdTZW50aW5lbE5vZGU8UHJlY2lz
ZUFsbG9jYXRpb24+PiBtX2xvd2VyVGllckZyZWVMaXN0OwogICAgIFNlbnRpbmVsTGlua2VkTGlz
dDxJc29DZWxsU2V0LCBQYWNrZWRSYXdTZW50aW5lbE5vZGU8SXNvQ2VsbFNldD4+IG1fY2VsbFNl
dHM7Ci0gICAgdWludDhfdCBtX2xvd2VyVGllckNlbGxDb3VudCB7IDAgfTsKKyAgICB1aW50OF90
IG1fcmVtYWluaW5nTG93ZXJUaWVyQ2VsbENvdW50IHsgMCB9OwogfTsKIAogQUxXQVlTX0lOTElO
RSBBbGxvY2F0b3IgSXNvU3Vic3BhY2U6OmFsbG9jYXRvckZvck5vblZpcnR1YWwoc2l6ZV90IHNp
emUsIEFsbG9jYXRvckZvck1vZGUpCkBAIC03NSw3ICs3OCw3IEBAIEFMV0FZU19JTkxJTkUgQWxs
b2NhdG9yIElzb1N1YnNwYWNlOjphbGxvY2F0b3JGb3JOb25WaXJ0dWFsKHNpemVfdCBzaXplLCBB
bGxvY2F0CiAgICAgcmV0dXJuIEFsbG9jYXRvcigmbV9sb2NhbEFsbG9jYXRvcik7CiB9CiAKLSNk
ZWZpbmUgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgaGVhcENlbGxUeXBlLCB0eXBlKSAoIklzb2xh
dGVkICIgI3R5cGUgIiBTcGFjZSIsIChoZWFwKSwgKGhlYXBDZWxsVHlwZSksIHNpemVvZih0eXBl
KSkKKyNkZWZpbmUgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgaGVhcENlbGxUeXBlLCB0eXBlKSAo
Iklzb2xhdGVkICIgI3R5cGUgIiBTcGFjZSIsIChoZWFwKSwgKGhlYXBDZWxsVHlwZSksIHNpemVv
Zih0eXBlKSwgdHlwZTo6bnVtYmVyT2ZMb3dlclRpZXJDZWxscykKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4KIHN0cnVjdCBpc0FsbG9jYXRlZEZyb21Jc29TdWJzcGFjZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJzcGFjZUlubGluZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlSW5saW5lcy5oCmluZGV4IDVjY2VmZmUzMTFi
ZGZjMzhiZmYwMjVhNWQwMGQ0MGJmMjQ1NjNmZWEuLjA1MThhN2ZlMDYyZDYwOTE2OWQ3YmMzZjc1
M2M1ODRkYzRlZWNmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lz
b1N1YnNwYWNlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1
YnNwYWNlSW5saW5lcy5oCkBAIC0zNSw1ICszNSwyNCBAQCBBTFdBWVNfSU5MSU5FIHZvaWQqIElz
b1N1YnNwYWNlOjphbGxvY2F0ZU5vblZpcnR1YWwoVk0mLCBzaXplX3Qgc2l6ZSwgR0NEZWZlcnJh
bAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK2lubGluZSB2b2lkIElzb1N1YnNwYWNlOjpjbGVh
cklzb0NlbGxTZXRCaXQoUHJlY2lzZUFsbG9jYXRpb24qIHByZWNpc2VBbGxvY2F0aW9uKQorewor
ICAgIHVuc2lnbmVkIGxvd2VyVGllckluZGV4ID0gcHJlY2lzZUFsbG9jYXRpb24tPmxvd2VyVGll
ckluZGV4KCk7CisgICAgbV9jZWxsU2V0cy5mb3JFYWNoKAorICAgICAgICBbJl0oSXNvQ2VsbFNl
dCogc2V0KSB7CisgICAgICAgICAgICBzZXQtPmNsZWFyTG93ZXJUaWVyQ2VsbChsb3dlclRpZXJJ
bmRleCk7CisgICAgICAgIH0pOworfQorCitpbmxpbmUgdm9pZCBJc29TdWJzcGFjZTo6c3dlZXAo
KQoreworICAgIFN1YnNwYWNlOjpzd2VlcEJsb2NrcygpOworICAgIC8vIFdlIHN3ZWVwIHByZWNp
c2UtYWxsb2NhdGlvbnMgZWFnZXJseSwgYnV0IHdlIGRvIG5vdCBmcmVlIGl0IGltbWVkaWF0ZWx5
LgorICAgIC8vIFRoaXMgcGFydCBzaG91bGQgYmUgZG9uZSBieSBNYXJrZWRTcGFjZTo6c3dlZXBQ
cmVjaXNlQWxsb2NhdGlvbnMuCisgICAgbV9wcmVjaXNlQWxsb2NhdGlvbnMuZm9yRWFjaChbJl0o
UHJlY2lzZUFsbG9jYXRpb24qIGFsbG9jYXRpb24pIHsKKyAgICAgICAgYWxsb2NhdGlvbi0+c3dl
ZXAoKTsKKyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlUGVyVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VQZXJWTS5jcHAKaW5kZXggNDk5ZGI4ZDk3ZDdl
OTc2NWRhYWQ0YjA4OTBhMDczMDFjMjYzNDE0MS4uYjllMTg1MDkwNDJlNzAxNzA3YjY3NmU4ODIx
YjBjNDFhZjVkOGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNv
U3Vic3BhY2VQZXJWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vi
c3BhY2VQZXJWTS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBJ
c29TdWJzcGFjZVBlclZNOjpBdXRvcmVtb3ZpbmdJc29TdWJzcGFjZSA6IHB1YmxpYyBJc29TdWJz
cGFjZSB7CiBwdWJsaWM6CiAgICAgQXV0b3JlbW92aW5nSXNvU3Vic3BhY2UoSXNvU3Vic3BhY2VQ
ZXJWTSYgcGVyVk0sIENTdHJpbmcgbmFtZSwgSGVhcCYgaGVhcCwgSGVhcENlbGxUeXBlKiBoZWFw
Q2VsbFR5cGUsIHNpemVfdCBzaXplKQotICAgICAgICA6IElzb1N1YnNwYWNlKG5hbWUsIGhlYXAs
IGhlYXBDZWxsVHlwZSwgc2l6ZSkKKyAgICAgICAgOiBJc29TdWJzcGFjZShuYW1lLCBoZWFwLCBo
ZWFwQ2VsbFR5cGUsIHNpemUsIC8qIG51bWJlck9mTG93ZXJUaWVyQ2VsbHMgKi8gMCkKICAgICAg
ICAgLCBtX3BlclZNKHBlclZNKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvTWFya2VkQmxvY2suaAppbmRleCA5NTk2YTY5ZmE2YzYyMzljYWJkODhkYWZjOTgzZTNmMjg4
YWNkZDhkLi5hZmNjYjhiNDU1ODMwZTQzMDg0YTdjYjg3Y2JiMjNkMGYyMjgzNjVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgKQEAgLTc4LDggKzc4LDggQEAgY2xh
c3MgTWFya2VkQmxvY2sgewogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgYXRvbXNQZXJC
bG9jayA9IGJsb2NrU2l6ZSAvIGF0b21TaXplOwogCi0gICAgc3RhdGljIGNvbnN0ZXhwciBzaXpl
X3QgbnVtYmVyT2ZMb3dlclRpZXJDZWxscyA9IDg7Ci0gICAgc3RhdGljX2Fzc2VydChudW1iZXJP
Zkxvd2VyVGllckNlbGxzIDw9IDI1Nik7CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4
TnVtYmVyT2ZMb3dlclRpZXJDZWxscyA9IDg7CisgICAgc3RhdGljX2Fzc2VydChtYXhOdW1iZXJP
Zkxvd2VyVGllckNlbGxzIDw9IDI1Nik7CiAgICAgCiAgICAgc3RhdGljX2Fzc2VydCghKE1hcmtl
ZEJsb2NrOjphdG9tU2l6ZSAmIChNYXJrZWRCbG9jazo6YXRvbVNpemUgLSAxKSksICJNYXJrZWRC
bG9jazo6YXRvbVNpemUgbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4iKTsKICAgICBzdGF0aWNfYXNz
ZXJ0KCEoTWFya2VkQmxvY2s6OmJsb2NrU2l6ZSAmIChNYXJrZWRCbG9jazo6YmxvY2tTaXplIC0g
MSkpLCAiTWFya2VkQmxvY2s6OmJsb2NrU2l6ZSBtdXN0IGJlIGEgcG93ZXIgb2YgdHdvLiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3BwCmluZGV4IDczY2VjOGU2
Y2MyMWI1YWE0OGFiZjhiZmFkOWIzNDMzZjQ3NWQzNDMuLjk3MDNlMzU3MWUzZjRjZGY4YjIxMjgw
YzM5MTA3MTkxM2UzNWM4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZFNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRT
cGFjZS5jcHAKQEAgLTIzMiw3ICsyMzIsNyBAQCB2b2lkIE1hcmtlZFNwYWNlOjpsYXN0Q2hhbmNl
VG9GaW5hbGl6ZSgpCiAgICAgLy8gV2UgZG8gbm90IGNhbGwgbGFzdENoYW5jZVRvRmluYWxpemUg
Zm9yIGxvd2VyLXRpZXIgc3dlcHQgY2VsbHMgc2luY2Ugd2UgbmVlZCBub3RoaW5nIHRvIGRvLgog
fQogCi12b2lkIE1hcmtlZFNwYWNlOjpzd2VlcCgpCit2b2lkIE1hcmtlZFNwYWNlOjpzd2VlcEJs
b2NrcygpCiB7CiAgICAgbV9oZWFwLT5zd2VlcGVyKCkuc3RvcFN3ZWVwaW5nKCk7CiAgICAgZm9y
RWFjaERpcmVjdG9yeSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01h
cmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCmlu
ZGV4IGUxZmU3ZWI5MzQ4OWQyMWQ4YjYxYzNiMjYxYjQzYjU0ZDliYWUxNGEuLjAwNjgwNWI0NDdi
ZTFiNTIxYmNhNDQ0YzFkY2VhMWVmNzQyNzg0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvTWFya2VkU3BhY2UuaApAQCAtMTQwLDcgKzE0MCw3IEBAIGNsYXNzIE1hcmtlZFNwYWNlIHsK
ICAgICB2b2lkIGVuZE1hcmtpbmcoKTsKICAgICB2b2lkIHNuYXBzaG90VW5zd2VwdCgpOwogICAg
IHZvaWQgY2xlYXJOZXdseUFsbG9jYXRlZCgpOwotICAgIHZvaWQgc3dlZXAoKTsKKyAgICB2b2lk
IHN3ZWVwQmxvY2tzKCk7CiAgICAgdm9pZCBzd2VlcFByZWNpc2VBbGxvY2F0aW9ucygpOwogICAg
IHZvaWQgYXNzZXJ0Tm9VbnN3ZXB0KCk7CiAgICAgc2l6ZV90IG9iamVjdENvdW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5jcHAKaW5kZXgg
ZGVjY2YwYjE5NjI3NjliZDJmMmIyNWFkYTFmMjAxNGUzMmMyN2ZjNS4uNWRkY2MxYjgwNmQzYTIz
Mzg2MmEzNzRkNDQ2ZmYzYTE5ZDU5ZjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvUHJlY2lzZUFsbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL1ByZWNpc2VBbGxvY2F0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVk
ZSAiQWxpZ25lZE1lbW9yeUFsbG9jYXRvci5oIgogI2luY2x1ZGUgIkhlYXAuaCIKKyNpbmNsdWRl
ICJJc29DZWxsU2V0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
ICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiU3Vic3BhY2VJbmxpbmVzLmgiCkBAIC0xNzgsNiAr
MTc5LDcgQEAgUHJlY2lzZUFsbG9jYXRpb246OlByZWNpc2VBbGxvY2F0aW9uKEhlYXAmIGhlYXAs
IHNpemVfdCBzaXplLCBTdWJzcGFjZSogc3Vic3BhY2UKICAgICAsIG1fd2Vha1NldChoZWFwLnZt
KCkpCiB7CiAgICAgbV9pc01hcmtlZC5zdG9yZSgwKTsKKyAgICBBU1NFUlQoY2VsbCgpLT5pc1By
ZWNpc2VBbGxvY2F0aW9uKCkpOwogfQogCiBQcmVjaXNlQWxsb2NhdGlvbjo6flByZWNpc2VBbGxv
Y2F0aW9uKCkKQEAgLTIyNyw2ICsyMjksMTAgQEAgdm9pZCBQcmVjaXNlQWxsb2NhdGlvbjo6c3dl
ZXAoKQogICAgIGlmIChtX2hhc1ZhbGlkQ2VsbCAmJiAhaXNMaXZlKCkpIHsKICAgICAgICAgaWYg
KG1fYXR0cmlidXRlcy5kZXN0cnVjdGlvbiA9PSBOZWVkc0Rlc3RydWN0aW9uKQogICAgICAgICAg
ICAgbV9zdWJzcGFjZS0+ZGVzdHJveSh2bSgpLCBzdGF0aWNfY2FzdDxKU0NlbGwqPihjZWxsKCkp
KTsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIGNsZWFyIElzb0NlbGxTZXQncyBiaXQgYmVmb3JlIGFj
dHVhbGx5IGRlc3Ryb3lpbmcgUHJlY2lzZUFsbG9jYXRpb24KKyAgICAgICAgLy8gc2luY2UgUHJl
Y2lzZUFsbG9jYXRpb24ncyBkZXN0cnVjdGlvbiBjYW4gYmUgZGVsYXllZCB1bnRpbCBpdHMgV2Vh
a1NldCBpcyBjbGVhcmVkLgorICAgICAgICBpZiAoaXNMb3dlclRpZXIoKSkKKyAgICAgICAgICAg
IHN0YXRpY19jYXN0PElzb1N1YnNwYWNlKj4obV9zdWJzcGFjZSktPmNsZWFySXNvQ2VsbFNldEJp
dCh0aGlzKTsKICAgICAgICAgbV9oYXNWYWxpZENlbGwgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFjZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFjZS5jcHAKaW5kZXggZGU0MDYxN2ZkMzJjZmVkZTJh
YmJmOWJlMmI4YjlkZTkyMjBmZmY1Zi4uOTRjMmZmNGM2YjJhY2E2YzE5ZGMxNThjYjRmOGU2Mzcz
NGQwZTNhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Vic3BhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N1YnNwYWNlLmNwcApAQCAtMTI0
LDcgKzEyNCw3IEBAIFJlZjxTaGFyZWRUYXNrPE1hcmtlZEJsb2NrOjpIYW5kbGUqKCk+PiBTdWJz
cGFjZTo6cGFyYWxsZWxOb3RFbXB0eU1hcmtlZEJsb2NrU291CiAgICAgICAgIH0pOwogfQogCi12
b2lkIFN1YnNwYWNlOjpzd2VlcCgpCit2b2lkIFN1YnNwYWNlOjpzd2VlcEJsb2NrcygpCiB7CiAg
ICAgZm9yRWFjaERpcmVjdG9yeSgKICAgICAgICAgWyZdIChCbG9ja0RpcmVjdG9yeSYgZGlyZWN0
b3J5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdWJzcGFjZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3Vic3BhY2UuaAppbmRleCAwZTkxN2EwZDUw
YWE2YTk1YTc4ZTQzNjlmNjU1NWUyZmVhOWJkMzU5Li5iNTA4MTE0NGNkNGMwYjEyOTFjZDJjMzUz
YzIyYzZmYzQ3YzFmZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9T
dWJzcGFjZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N1YnNwYWNlLmgKQEAg
LTkyLDcgKzkyLDcgQEAgY2xhc3MgU3Vic3BhY2UgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1
bmM+CiAgICAgdm9pZCBmb3JFYWNoTGl2ZUNlbGwoY29uc3QgRnVuYyYpOwogICAgIAotICAgIHZv
aWQgc3dlZXAoKTsKKyAgICB2b2lkIHN3ZWVwQmxvY2tzKCk7CiAgICAgCiAgICAgU3Vic3BhY2Uq
IG5leHRTdWJzcGFjZUluQWxpZ25lZE1lbW9yeUFsbG9jYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1f
bmV4dFN1YnNwYWNlSW5BbGlnbmVkTWVtb3J5QWxsb2NhdG9yOyB9CiAgICAgdm9pZCBzZXROZXh0
U3Vic3BhY2VJbkFsaWduZWRNZW1vcnlBbGxvY2F0b3IoU3Vic3BhY2UqIHN1YnNwYWNlKSB7IG1f
bmV4dFN1YnNwYWNlSW5BbGlnbmVkTWVtb3J5QWxsb2NhdG9yID0gc3Vic3BhY2U7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggZTA5NWFkM2ZmZTc3ODc2ZTNmMTk0
MTNhZDk1ZTBjY2RkNzNlNjA0ZC4uMjA4NDIzNzMwOGM0YWMzMmY3OWMxZjA3MGI3MTAxNjcxMmEz
MmM4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTkxLDYgKzkx
LDcgQEAgY2xhc3MgSlNDZWxsIDogcHVibGljIEhlYXBDZWxsIHsKICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTg4CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgogICAgIHN0YXRpYyBDb21wbGV0ZVN1YnNwYWNl
KiBzdWJzcGFjZUZvcihWTSYpOworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBudW1iZXJP
Zkxvd2VyVGllckNlbGxzID0gODsKIAogICAgIHN0YXRpYyBKU0NlbGwqIHNlZW5NdWx0aXBsZUNh
bGxlZU9iamVjdHMoKSB7IHJldHVybiBiaXR3aXNlX2Nhc3Q8SlNDZWxsKj4oc3RhdGljX2Nhc3Q8
dWludHB0cl90PigxKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4
IDE4NGIyMzQ2YTU0MmJiMzIxYTgzZWFhOGYwNGMxNWE2MmNjZjZhNDcuLjJhZDZjNWUyNjM2MDhi
OTEyMGNjYmQyMzM4NTUzNzliNWZmZTZkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5jcHAKQEAgLTEwNCw2ICsxMDQsNyBAQAogI2luY2x1ZGUgIkpTV2ViQXNzZW1ibHkuaCIKICNp
bmNsdWRlICJKU1dlYkFzc2VtYmx5Q29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJs
eUNvZGVCbG9ja0hlYXBDZWxsVHlwZS5oIgorI2luY2x1ZGUgIkpTV2ViQXNzZW1ibHlNZW1vcnku
aCIKICNpbmNsdWRlICJKU1dpdGhTY29wZS5oIgogI2luY2x1ZGUgIkxMSW50RGF0YS5oIgogI2lu
Y2x1ZGUgIkxleGVyLmgiCkBAIC0yNzUsNyArMjc2LDYgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUs
IEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgZGVzdHJ1Y3RpYmxlQ2VsbFNwYWNlKCJEZXN0cnVj
dGlibGUgSlNDZWxsIiwgaGVhcCwgZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
ZmFzdE1hbGxvY0FsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweGJmZmYzZDczCiAgICAgLCBzdHJp
bmdTcGFjZSgiSlNTdHJpbmciLCBoZWFwLCBzdHJpbmdIZWFwQ2VsbFR5cGUuZ2V0KCksIGZhc3RN
YWxsb2NBbGxvY2F0b3IuZ2V0KCkpIC8vIEhhc2g6MHg5MGNmNzU4ZgogICAgICwgZGVzdHJ1Y3Rp
YmxlT2JqZWN0U3BhY2UoIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0IiwgaGVhcCwgZGVzdHJ1Y3RpYmxl
T2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBmYXN0TWFsbG9jQWxsb2NhdG9yLmdldCgpKSAvLyBI
YXNoOjB4NGY1ZWQ3YTkKLSAgICAsIGVhZ2VybHlTd2VwdERlc3RydWN0aWJsZU9iamVjdFNwYWNl
KCJFYWdlcmx5IFN3ZXB0IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IiwgaGVhcCwgZGVzdHJ1Y3RpYmxl
T2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBmYXN0TWFsbG9jQWxsb2NhdG9yLmdldCgpKSAvLyBI
YXNoOjB4NmViZjI4ZTIKICAgICAsIGV4ZWN1dGFibGVUb0NvZGVCbG9ja0VkZ2VTcGFjZSBJU09f
U1VCU1BBQ0VfSU5JVChoZWFwLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBFeGVjdXRhYmxlVG9D
b2RlQmxvY2tFZGdlKSAvLyBIYXNoOjB4N2I3MzBiMjAKICAgICAsIGZ1bmN0aW9uU3BhY2UgSVNP
X1NVQlNQQUNFX0lOSVQoaGVhcCwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNGdW5jdGlvbikg
Ly8gSGFzaDoweDgwMGZjYTcyCiAgICAgLCBpbnRlcm5hbEZ1bmN0aW9uU3BhY2UgSVNPX1NVQlNQ
QUNFX0lOSVQoaGVhcCwgZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBJbnRl
cm5hbEZ1bmN0aW9uKSAvLyBIYXNoOjB4Zjg0NWM0NjQKQEAgLTEzMDIsNiArMTMwMiw3IEBAIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhvYmpDQ2FsbGJhY2tGdW5jdGlv
blNwYWNlLCBkZXN0cnVjdGlibGVPCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYkFzc2VtYmx5Q29kZUJsb2NrU3BhY2Us
IHdlYkFzc2VtYmx5Q29kZUJsb2NrSGVhcENlbGxUeXBlLmdldCgpLCBKU1dlYkFzc2VtYmx5Q29k
ZUJsb2NrKSAvLyBIYXNoOjB4OWFkOTk1Y2QKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyh3ZWJBc3NlbWJseUZ1bmN0aW9uU3BhY2UsIHdlYkFzc2VtYmx5RnVuY3Rpb25I
ZWFwQ2VsbFR5cGUuZ2V0KCksIFdlYkFzc2VtYmx5RnVuY3Rpb24pIC8vIEhhc2g6MHg4YjdjMzJk
YgorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYkFzc2VtYmx5TWVt
b3J5U3BhY2UsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNXZWJBc3Nl
bWJseU1lbW9yeSkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWJB
c3NlbWJseVdyYXBwZXJGdW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBXZWJB
c3NlbWJseVdyYXBwZXJGdW5jdGlvbikgLy8gSGFzaDoweGQ0YTVmZjAxCiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXggY2E1MTQ0NDYyNWNmMzU4N2ZmNmUyNTg1YWQ0
ZDA3ODUxMjA4MDk5Ny4uOTc0YmYxMTMwYTdiOTk0ZDdjNzRkZjFhZTQ4MGVjMWNkODA2NzBkYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0zNzYsNyArMzc2LDYgQEAgY2xhc3Mg
Vk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2Vk
TGlzdE5vZGU8Vk0+IHsKICAgICBDb21wbGV0ZVN1YnNwYWNlIGRlc3RydWN0aWJsZUNlbGxTcGFj
ZTsKICAgICBDb21wbGV0ZVN1YnNwYWNlIHN0cmluZ1NwYWNlOwogICAgIENvbXBsZXRlU3Vic3Bh
Y2UgZGVzdHJ1Y3RpYmxlT2JqZWN0U3BhY2U7Ci0gICAgQ29tcGxldGVTdWJzcGFjZSBlYWdlcmx5
U3dlcHREZXN0cnVjdGlibGVPYmplY3RTcGFjZTsKICAgICAKICAgICBJc29TdWJzcGFjZSBleGVj
dXRhYmxlVG9Db2RlQmxvY2tFZGdlU3BhY2U7CiAgICAgSXNvU3Vic3BhY2UgZnVuY3Rpb25TcGFj
ZTsKQEAgLTQxNCw2ICs0MTMsNyBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogI2lmIEVOQUJMRShX
RUJBU1NFTUJMWSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKHdlYkFz
c2VtYmx5Q29kZUJsb2NrU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUih3ZWJBc3NlbWJseUZ1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUih3ZWJBc3NlbWJseU1lbW9yeVNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVIod2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb25TcGFjZSkKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5TWVtb3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TWVtb3J5LmgKaW5kZXggMWY2MDYyMTNmZWQ0OWY1ZmFlODNkMmZhZDcxOTdmMTIzM2VhOGFh
YS4uMTVhNzIwMTdjN2Q3OTI4ODY0NWIxMDViOWZmOWI4ZjFjOTlhOWIzNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaApAQCAt
NDIsMTEgKzQyLDEwIEBAIGNsYXNzIEpTV2ViQXNzZW1ibHlNZW1vcnkgZmluYWwgOiBwdWJsaWMg
SlNEZXN0cnVjdGlibGVPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgSlNEZXN0cnVjdGli
bGVPYmplY3QgQmFzZTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFj
ZUFjY2Vzcz4KLSAgICBzdGF0aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZt
KQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgor
ICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQogICAgIHsKLSAgICAg
ICAgLy8gV2UgaG9sZCBvbnRvIGEgbG90IG9mIG1lbW9yeSwgc28gaXQgbWFrZXMgYSBsb3Qgb2Yg
c2Vuc2UgdG8gYmUgc3dlcHQgZWFnZXJseS4KLSAgICAgICAgcmV0dXJuICZ2bS5lYWdlcmx5U3dl
cHREZXN0cnVjdGlibGVPYmplY3RTcGFjZTsKKyAgICAgICAgcmV0dXJuIHZtLndlYkFzc2VtYmx5
TWVtb3J5U3BhY2U8bW9kZT4oKTsKICAgICB9CiAKICAgICBzdGF0aWMgSlNXZWJBc3NlbWJseU1l
bW9yeSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTFmM2JmN2E3
YWM3NmIzOGU5OWUwMTdmOGRiYjFkNzQwY2ExYzE3Ny4uZjEzZWM2MDcxYTE4YmVhMzc5YjU2MTU0
NmVlNjA4NzQwMmZjOTMwNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMS0xMiAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIEpTQyBHQyByZWxpZXMgb24g
Q29kZUJsb2NrIGlzIG5vdCBQcmVjaXNlQWxsb2NhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvZW5zdXJlLWNvZGUtYmxvY2staXMt
bm90LXByZWNpc2UtYWxsb2NhdGlvbi5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAg
ICAoZ2V0IGZvcik6CisKIDIwMTktMTEtMTIgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPgogCiAgICAgICAgIFJlZ0V4cEJ1aWx0aW5FeGVjIHNob3VsZCBjcmVhdGUgImdy
b3VwcyIgcHJvcGVydHkgdW5jb25kaXRpb25hbGx5CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9lbnN1cmUtY29kZS1ibG9jay1pcy1ub3QtcHJlY2lzZS1hbGxvY2F0aW9uLmpzIGIvSlNUZXN0
cy9zdHJlc3MvZW5zdXJlLWNvZGUtYmxvY2staXMtbm90LXByZWNpc2UtYWxsb2NhdGlvbi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MzBhMTM3ZWM2YzE1NzVkMzdkMTE3M2FhMjA0ODhmZDAxNGMwOTZjCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvZW5zdXJlLWNvZGUtYmxvY2staXMtbm90LXBy
ZWNpc2UtYWxsb2NhdGlvbi5qcwpAQCAtMCwwICsxLDExIEBACisvL0Agc2xvdyEKKy8vIERvZXMg
bm90IGNyYXNoLgorZnVuY3Rpb24gZm9vKCkgeworICAgICtuZXcgUHJveHkoe30sIHtnZXQ6IGZv
b30pOworfQorCitmb3IgKGxldCBpPTA7IGk8IDUwMDsgaSsrKSB7CisgICAgbmV3IFByb21pc2Uo
Zm9vKTsKKyAgICBjb25zdCBhMCA9IFtdOworICAgIGNvbnN0IGExID0gWzBdOworfQo=
</data>
<flag name="review"
          id="399139"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>