<?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>227569</bug_id>
          
          <creation_ts>2021-06-30 23:48:04 -0700</creation_ts>
          <short_desc>CSS parser using a token for Unicode ranges, but recent CSS specification says it should not</short_desc>
          <delta_ts>2021-07-01 23:38:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774011</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-30 23:48:04 -0700</bug_when>
    <thetext>CSS parser using a token for Unicode ranges, but recent CSS specification says it should not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774018</commentid>
    <comment_count>1</comment_count>
      <attachid>432661</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-07-01 00:09:54 -0700</bug_when>
    <thetext>Created attachment 432661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774369</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-07-01 23:37:48 -0700</bug_when>
    <thetext>Committed r279498 (239350@main): &lt;https://commits.webkit.org/239350@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774370</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-01 23:38:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/80066943&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432661</attachid>
            <date>2021-07-01 00:09:54 -0700</date>
            <delta_ts>2021-07-01 19:46:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227569-20210701000953.patch</filename>
            <type>text/plain</type>
            <size>35709</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5YmI2ZjhkMTQ3ZDRl
MWY2ZWUwNjg3NTdiZjRkZTNjOTllNmVkOC4uNDBlY2RjYTJiMTdkYTIwMGMwNjc0ODVmYmFjMGYx
ZjZkNTE1ZjNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIxLTA2LTMwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDU1MgcGFyc2VyIHVzaW5nIGEg
dG9rZW4gZm9yIFVuaWNvZGUgcmFuZ2VzLCBidXQgcmVjZW50IENTUyBzcGVjaWZpY2F0aW9uIHNh
eXMgaXQgc2hvdWxkIG5vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3NTY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
eW50YXgvdW5pY29kZS1yYW5nZS1zZWxlY3Rvci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc3ludGF4L3VyYW5nZS1wYXJzaW5nLmh0
bWwKKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyVG9rZW46OkNTU1BhcnNlclRva2VuKTogQ2hhbmdlIHRoZSBOdW1i
ZXJUb2tlbiBjb25zdHJ1Y3RvciB0bworICAgICAgICB0YWtlIGEgU3RyaW5nVmlldyBzbyB3ZSBj
YW4gcmVjb3ZlciB0aGUgb3JpZ2luYWwgdGV4dCBpZiB3ZSBuZWVkIHRvIHBhcnNlIGl0IGFzCisg
ICAgICAgIHBhcnQgb2YgYSBVbmljb2RlIHJhbmdlLiBBbHNvIGluaXRpYWxpemUgbV9ub25Vbml0
UHJlZml4TGVuZ3RoIHRvIDAKKyAgICAgICAgKFdlYkNvcmU6Om1lcmdlSWZBZGphY2VudCk6IEFk
ZGVkLiBIZWxwZXIgdXNlZCBieSBjb252ZXJ0VG9EaW1lbnNpb25XaXRoVW5pdC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlclRva2VuOjpjb252ZXJ0VG9EaW1lbnNpb25XaXRoVW5pdCk6IElm
IHRoZSBudW1iZXIgdG9rZW4gc3RyaW5nCisgICAgICAgIGlzIGFkamFjZW50IHRvIHRoZSBkaW1l
bnNpb24sIHRoZW4gc3RvcmUgdGhlIHN0cmluZyBjb250YWluaW5nIGJvdGgsIHNvIGl0IGNhbgor
ICAgICAgICBiZSB1c2VkIGlmIHdlIG5lZWQgdG8gcGFyc2UgaXQgYXMgcGFydCBvZiBhIFVuaWNv
ZGUgcmFuZ2UuIElmIHRoZSBzdHJpbmcgaXMgbG9uZywKKyAgICAgICAgdGhlbiBkb24ndCBib3Ro
ZXIgYmVjYXVzZSBhIGxvbmcgc3RyaW5nIGNhbid0IGJlIHBhcnQgb2Ygc3VjaCBhIHJhbmdlIGFu
eXdheS4gV2UKKyAgICAgICAgdXNlIDQgYml0cyBmb3IgdGhlIGxlbmd0aCwgc28gY2FuIGhhbmRs
ZSBsZW5ndGhzIGluIHRoZSByYW5nZSBbMSwxNV0uCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJUb2tlbjo6b3JpZ2luYWxUZXh0IGNvbnN0KTogQWRkZWQuIFVzZWQgdG8gcmVjb3ZlciB0aGUg
b3JpZ2luYWwKKyAgICAgICAgdGV4dCBmb3IgVW5pY29kZSByYW5nZSBwYXJzaW5nLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyVG9rZW46OnVuaXRTdHJpbmcgY29uc3QpOiBBZGRlZC4gVXNl
ZCB0byBnZXQganVzdCB0aGUgdW5pdCBwYXJ0CisgICAgICAgIG9mIHRoZSBzdHJpbmcgZm9yIERp
bWVuc2lvblRva2VuLCBzaW5jZSB0aGUgZnVsbCBzdHJpbmcgbm93IGNhbiBpbmNsdWRlIHRoZSBu
dW1iZXIKKyAgICAgICAgYXMgd2VsbCBpbiBzb21lIGNhc2VzIChzZWUgYWJvdmUpLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyVG9rZW46OmNvcHlXaXRoVXBkYXRlZFN0cmluZyBjb25zdCk6
IENoYW5nZWQgdGhlIGFyZ3VtZW50IHR5cGUKKyAgICAgICAgdG8gU3RyaW5nVmlldyBpbnN0ZWFk
IG9mIHVzaW5nIGNvbnN0JiBhbmQgYWRkZWQgYW4gYXNzZXJ0aW9uIHNpbmNlIHRoaXMgaXMgb25s
eQorICAgICAgICBzYWZlIGlmIHdlIGFyZSBtb3ZpbmcgdGhlIGJhY2tpbmcgY2hhcmFjdGVycywg
bm90IGNoYW5naW5nIHRoZSBzdHJpbmcgY29udGVudHMuCisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXJUb2tlbjo6dmFsdWVEYXRhQ2hhclJhd0VxdWFsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlclRva2VuOjpvcGVyYXRvcj09IGNvbnN0KTogVXNlIFN0cmlu
Z1ZpZXcgPT0gb3BlcmF0b3IgaW5zdGVhZCBvZgorICAgICAgICBvdXIgb3duIHZhbHVlRGF0YUNo
YXJSYXdFcXVhbCBmdW5jdGlvbi4gQWxzbyB1c2UgdW5pdFN0cmluZyBmb3IgRGltZW5zaW9uVG9r
ZW4uCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJUb2tlbjo6c2VyaWFsaXplIGNvbnN0KTog
VXNlIHVuaXRTdHJpbmcgZm9yIERpbWVuc2lvblRva2VuLgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTUGFyc2VyVG9rZW4uaDogVXBkYXRlZCBmb3IgdGhlIGFib3ZlLiBBbHNvIGRlbGV0ZWQKKyAg
ICAgICAgVW5pY29kZVJhbmdlVG9rZW4sIHVuaWNvZGVSYW5nZVN0YXJ0LCB1bmljb2RlUmFuZ2VF
bmQsIGFuZCBtX3VuaWNvZGVSYW5nZS4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2Vy
SGVscGVyczo6Y29uc3VtZVJlc29sdXRpb25DU1NQcmltaXRpdmVWYWx1ZVdpdGhLbm93blRva2Vu
VHlwZURpbWVuc2lvbik6CisgICAgICAgIFVzZSB1bml0U3RyaW5nIGZvciBEaW1lbnNpb25Ub2tl
bi4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VIZXhD
b2xvcik6IERpdHRvLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlcldv
cmtlclNhZmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
V29ya2VyU2FmZTo6Y29uc3VtZU9wdGlvbmFsRGVsaW1pdGVyKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnNXb3JrZXJTYWZlOjpjb25zdW1lSWRlbnRp
Zmllcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
V29ya2VyU2FmZTo6Y29uc3VtZUFuZEFwcGVuZE9wdGlvbmFsTnVtYmVyKTogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnNXb3JrZXJTYWZlOjpjb25zdW1l
QW5kQXBwZW5kT3B0aW9uYWxEZWxpbWl0ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyc1dvcmtlclNhZmU6OmNvbnN1bWVBbmRBcHBlbmRPcHRpb25h
bFF1ZXN0aW9uTWFya3MpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyc1dvcmtlclNhZmU6OmNvbnN1bWVVbmljb2RlUmFuZ2VTdHJpbmcpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyc1dvcmtlclNhZmU6OmNv
bnN1bWVVbmljb2RlUmFuZ2UpOiBBZGRlZC4gQWxvbmcgd2l0aCB0aGUKKyAgICAgICAgZnVuY3Rp
b25zIGFib3ZlLCB0aGlzIGltcGxlbWVudHMgdGhlIENTUyBzcGVjaWZpY2F0aW9uJ3MgYWxnb3Jp
dGhtIGZvciBjb25zdW1pbmcgYSBVbmljb2RlCisgICAgICAgIHJhbmdlLCBiYXNlZCBvbiBleGlz
dGluZyB0b2tlbnMgd2l0aG91dCByZXF1aXJpbmcgYSA8dXJhbmdlPiB0b2tlbi4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyc1dvcmtlclNhZmU6OmNvbnN1bWVGb250
RmFjZVVuaWNvZGVSYW5nZSk6IENhbGwKKyAgICAgICAgdGhlIG5ldyBjb25zdW1lVW5pY29kZVJh
bmdlIGZ1bmN0aW9uIGZyb20gdGhpcyBmaWxlIGluc3RlYWQgb2YgdGhlIG9sZCBvbmUgdGhhdAor
ICAgICAgICBkZXBlbmRlZCBvbiBhIDx1cmFuZ2U+IHRva2VuLiBBbHNvIHJlZmFjdG9yZWQgdG8g
dXNlIGF1dG8gYW5kIHRvIGRvIHRoZSB2YWxpZGl0eQorICAgICAgICBjaGVjayBmb3IgdGhlIHJh
bmdlIGFzIHNwZWNpZmllZC4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJz
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUFOUGx1c0IpOiBVc2UgdW5pdFN0cmlu
ZyBmb3IgRGltZW5zaW9uVG9rZW4uCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Rva2VuaXpl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb2tlbml6ZXI6OmxldHRlclUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVyOjpjb25zdW1lTnVtYmVyKTogQWRkZWQg
Y29kZSB0byBwYXNzIGluIHRoZSBvcmlnaW5hbCB0ZXh0CisgICAgICAgIHdoZW4gY29uc3RydWN0
aW5nIGEgTnVtYmVyVG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpDU1NUb2tlbml6ZXI6OmNvbnN1
bWVVbmljb2RlUmFuZ2UpOiBEZWxldGVkLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NUb2tl
bml6ZXIuaDogRGVsZXRlZCBjb25zdW1lVW5pY29kZVJhbmdlLgorCisgICAgICAgICogY3NzL3Bh
cnNlci9TaXplc0NhbGNQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2l6ZXNDYWxjUGFy
c2VyOjpjYWxjVG9SZXZlcnNlUG9saXNoTm90YXRpb24pOiBSZW1vdmVkIGNhc2UgZm9yCisgICAg
ICAgIFVuaWNvZGVSYW5nZVRva2VuLgorCisgICAgICAgICogZG9tL0NvbnN0YW50UHJvcGVydHlN
YXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWFibGVEYXRhRm9yUG9zaXRpdmVQaXhlbExl
bmd0aCk6IFBhc3MgYSBudWxsIFN0cmluZ1ZpZXcgZm9yIHRoZQorICAgICAgICBvcmlnaW5hbCB0
ZXh0IHdoZW4gY29uc3RydWN0aW5nIGEgTnVtYmVyVG9rZW4uIFRoaXMgaXMgT0sgZm9yIG5vdyBz
aW5jZSB0aGlzIHRva2VuCisgICAgICAgIHdvbid0IGV2ZXIgYmUgcGFyc2VkIGFzIHBhcnQgb2Yg
YSBVbmljb2RlIHJhbmdlLCBhbmQgd2UgY2FuIGNoYW5nZSBpdCBpZiB3ZSBldmVyCisgICAgICAg
IG5lZWQgdG8gc3VwcG9ydCBvcmlnaW5hbFRleHQgZm9yIGFueSBvdGhlciBjYXNlcy4KKyAgICAg
ICAgKFdlYkNvcmU6OnZhcmlhYmxlRGF0YUZvclBvc2l0aXZlRHVyYXRpb24pOiBEaXR0by4KKwog
MjAyMS0wNi0zMCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBQQ006IENoYW5nZSBpbXBvcnQgZnJvbSBDcnlwdG9LaXRDQnJpZGdpbmcgdG8gQ3J5cHRvS2l0
UHJpdmF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJU
b2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcApp
bmRleCA5YTdiNzI0YWRlMjllY2Y2MWQxZGE4OGFhMzUzMjI3YzhkMTY4OTU5Li5lYTcwMzA0NGIx
NzFiMzE1MTA4NGZlMjBiNmQ2OWI5MDQ1NzAwNjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAy
MDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdo
dCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTIzOCwyNCArMjM4LDE1IEBAIENTU1BhcnNl
clRva2VuOjpDU1NQYXJzZXJUb2tlbihDU1NQYXJzZXJUb2tlblR5cGUgdHlwZSwgU3RyaW5nVmll
dyB2YWx1ZSwgQmxvY2tUCiAgICAgbV9pZCA9IC0xOwogfQogCi1DU1NQYXJzZXJUb2tlbjo6Q1NT
UGFyc2VyVG9rZW4oQ1NTUGFyc2VyVG9rZW5UeXBlIHR5cGUsIGRvdWJsZSBudW1lcmljVmFsdWUs
IE51bWVyaWNWYWx1ZVR5cGUgbnVtZXJpY1ZhbHVlVHlwZSwgTnVtZXJpY1NpZ24gc2lnbikKLSAg
ICA6IG1fdHlwZSh0eXBlKQorQ1NTUGFyc2VyVG9rZW46OkNTU1BhcnNlclRva2VuKGRvdWJsZSBu
dW1lcmljVmFsdWUsIE51bWVyaWNWYWx1ZVR5cGUgbnVtZXJpY1ZhbHVlVHlwZSwgTnVtZXJpY1Np
Z24gc2lnbiwgU3RyaW5nVmlldyBvcmlnaW5hbFRleHQpCisgICAgOiBtX3R5cGUoTnVtYmVyVG9r
ZW4pCiAgICAgLCBtX2Jsb2NrVHlwZShOb3RCbG9jaykKICAgICAsIG1fbnVtZXJpY1ZhbHVlVHlw
ZShudW1lcmljVmFsdWVUeXBlKQogICAgICwgbV9udW1lcmljU2lnbihzaWduKQogICAgICwgbV91
bml0KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDU1NVbml0VHlwZTo6Q1NTX05VTUJFUikpCisgICAg
LCBtX251bWVyaWNWYWx1ZShudW1lcmljVmFsdWUpCiB7Ci0gICAgQVNTRVJUKHR5cGUgPT0gTnVt
YmVyVG9rZW4pOwotICAgIG1fbnVtZXJpY1ZhbHVlID0gbnVtZXJpY1ZhbHVlOwotfQotCi1DU1NQ
YXJzZXJUb2tlbjo6Q1NTUGFyc2VyVG9rZW4oQ1NTUGFyc2VyVG9rZW5UeXBlIHR5cGUsIFVDaGFy
MzIgc3RhcnQsIFVDaGFyMzIgZW5kKQotICAgIDogbV90eXBlKFVuaWNvZGVSYW5nZVRva2VuKQot
ICAgICwgbV9ibG9ja1R5cGUoTm90QmxvY2spCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0eXBlLCB0
eXBlID09IFVuaWNvZGVSYW5nZVRva2VuKTsKLSAgICBtX3VuaWNvZGVSYW5nZS5zdGFydCA9IHN0
YXJ0OwotICAgIG1fdW5pY29kZVJhbmdlLmVuZCA9IGVuZDsKKyAgICBpbml0VmFsdWVGcm9tU3Ry
aW5nVmlldyhvcmlnaW5hbFRleHQpOwogfQogCiBDU1NQYXJzZXJUb2tlbjo6Q1NTUGFyc2VyVG9r
ZW4oSGFzaFRva2VuVHlwZSB0eXBlLCBTdHJpbmdWaWV3IHZhbHVlKQpAQCAtMjY2LDEyICsyNTcs
MzQgQEAgQ1NTUGFyc2VyVG9rZW46OkNTU1BhcnNlclRva2VuKEhhc2hUb2tlblR5cGUgdHlwZSwg
U3RyaW5nVmlldyB2YWx1ZSkKICAgICBpbml0VmFsdWVGcm9tU3RyaW5nVmlldyh2YWx1ZSk7CiB9
CiAKK3N0YXRpYyBTdHJpbmdWaWV3IG1lcmdlSWZBZGphY2VudChTdHJpbmdWaWV3IGEsIFN0cmlu
Z1ZpZXcgYikKK3sKKyAgICBpZiAoYS5pczhCaXQoKSAmJiBiLmlzOEJpdCgpKSB7CisgICAgICAg
IGF1dG8gY2hhcmFjdGVycyA9IGEuY2hhcmFjdGVyczgoKTsKKyAgICAgICAgaWYgKGNoYXJhY3Rl
cnMgKyBhLmxlbmd0aCgpID09IGIuY2hhcmFjdGVyczgoKSkKKyAgICAgICAgICAgIHJldHVybiB7
IGNoYXJhY3RlcnMsIGEubGVuZ3RoKCkgKyBiLmxlbmd0aCgpIH07CisgICAgfSBlbHNlIGlmICgh
YS5pczhCaXQoKSAmJiAhYi5pczhCaXQoKSkgeworICAgICAgICBhdXRvIGNoYXJhY3RlcnMgPSBh
LmNoYXJhY3RlcnMxNigpOworICAgICAgICBpZiAoY2hhcmFjdGVycyArIGEubGVuZ3RoKCkgPT0g
Yi5jaGFyYWN0ZXJzMTYoKSkKKyAgICAgICAgICAgIHJldHVybiB7IGNoYXJhY3RlcnMsIGEubGVu
Z3RoKCkgKyBiLmxlbmd0aCgpIH07CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CisKIHZvaWQg
Q1NTUGFyc2VyVG9rZW46OmNvbnZlcnRUb0RpbWVuc2lvbldpdGhVbml0KFN0cmluZ1ZpZXcgdW5p
dCkKIHsKICAgICBBU1NFUlQobV90eXBlID09IE51bWJlclRva2VuKTsKKyAgICBhdXRvIG9yaWdp
bmFsTnVtYmVyVGV4dCA9IG9yaWdpbmFsVGV4dCgpOworICAgIGF1dG8gb3JpZ2luYWxOdW1iZXJU
ZXh0TGVuZ3RoID0gb3JpZ2luYWxOdW1iZXJUZXh0Lmxlbmd0aCgpOworICAgIGF1dG8gc3RyaW5n
ID0gdW5pdDsKKyAgICBpZiAob3JpZ2luYWxOdW1iZXJUZXh0TGVuZ3RoICYmIG9yaWdpbmFsTnVt
YmVyVGV4dExlbmd0aCA8IDE2KSB7CisgICAgICAgIGlmIChhdXRvIG1lcmdlZCA9IG1lcmdlSWZB
ZGphY2VudChvcmlnaW5hbE51bWJlclRleHQsIHVuaXQpKQorICAgICAgICAgICAgc3RyaW5nID0g
bWVyZ2VkOworICAgIH0KICAgICBtX3R5cGUgPSBEaW1lbnNpb25Ub2tlbjsKLSAgICBpbml0VmFs
dWVGcm9tU3RyaW5nVmlldyh1bml0KTsKICAgICBtX3VuaXQgPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oc3RyaW5nVG9Vbml0VHlwZSh1bml0KSk7CisgICAgbV9ub25Vbml0UHJlZml4TGVuZ3RoID0g
c3RyaW5nID09IHVuaXQgPyAwIDogb3JpZ2luYWxOdW1iZXJUZXh0TGVuZ3RoOworICAgIGluaXRW
YWx1ZUZyb21TdHJpbmdWaWV3KHN0cmluZyk7CiB9CiAKIHZvaWQgQ1NTUGFyc2VyVG9rZW46OmNv
bnZlcnRUb1BlcmNlbnRhZ2UoKQpAQCAtMjgxLDYgKzI5NCwxOCBAQCB2b2lkIENTU1BhcnNlclRv
a2VuOjpjb252ZXJ0VG9QZXJjZW50YWdlKCkKICAgICBtX3VuaXQgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFKTsKIH0KIAorU3RyaW5nVmlldyBDU1NQ
YXJzZXJUb2tlbjo6b3JpZ2luYWxUZXh0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV90eXBlID09
IE51bWJlclRva2VuIHx8IG1fdHlwZSA9PSBEaW1lbnNpb25Ub2tlbik7CisgICAgcmV0dXJuIHZh
bHVlKCk7Cit9CisKK1N0cmluZ1ZpZXcgQ1NTUGFyc2VyVG9rZW46OnVuaXRTdHJpbmcoKSBjb25z
dAoreworICAgIEFTU0VSVChtX3R5cGUgPT0gRGltZW5zaW9uVG9rZW4pOworICAgIHJldHVybiB2
YWx1ZSgpLnN1YnN0cmluZyhtX25vblVuaXRQcmVmaXhMZW5ndGgpOworfQorCiBVQ2hhciBDU1NQ
YXJzZXJUb2tlbjo6ZGVsaW1pdGVyKCkgY29uc3QKIHsKICAgICBBU1NFUlQobV90eXBlID09IERl
bGltaXRlclRva2VuKTsKQEAgLTMzMywzNyArMzU4LDU0IEBAIENTU1ZhbHVlSUQgQ1NTUGFyc2Vy
VG9rZW46OmZ1bmN0aW9uSWQoKSBjb25zdAogCiBib29sIENTU1BhcnNlclRva2VuOjpoYXNTdHJp
bmdCYWNraW5nKCkgY29uc3QKIHsKLSAgICBDU1NQYXJzZXJUb2tlblR5cGUgdG9rZW5UeXBlID0g
dHlwZSgpOwotICAgIHJldHVybiB0b2tlblR5cGUgPT0gSWRlbnRUb2tlbgotICAgICAgICB8fCB0
b2tlblR5cGUgPT0gRnVuY3Rpb25Ub2tlbgotICAgICAgICB8fCB0b2tlblR5cGUgPT0gQXRLZXl3
b3JkVG9rZW4KLSAgICAgICAgfHwgdG9rZW5UeXBlID09IEhhc2hUb2tlbgotICAgICAgICB8fCB0
b2tlblR5cGUgPT0gVXJsVG9rZW4KLSAgICAgICAgfHwgdG9rZW5UeXBlID09IERpbWVuc2lvblRv
a2VuCi0gICAgICAgIHx8IHRva2VuVHlwZSA9PSBTdHJpbmdUb2tlbjsKKyAgICBzd2l0Y2ggKHR5
cGUoKSkgeworICAgIGNhc2UgQXRLZXl3b3JkVG9rZW46CisgICAgY2FzZSBEaW1lbnNpb25Ub2tl
bjoKKyAgICBjYXNlIEZ1bmN0aW9uVG9rZW46CisgICAgY2FzZSBIYXNoVG9rZW46CisgICAgY2Fz
ZSBJZGVudFRva2VuOgorICAgIGNhc2UgTnVtYmVyVG9rZW46CisgICAgY2FzZSBQZXJjZW50YWdl
VG9rZW46CisgICAgY2FzZSBTdHJpbmdUb2tlbjoKKyAgICBjYXNlIFVybFRva2VuOgorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNlIEJhZFN0cmluZ1Rva2VuOgorICAgIGNhc2UgQmFkVXJs
VG9rZW46CisgICAgY2FzZSBDRENUb2tlbjoKKyAgICBjYXNlIENET1Rva2VuOgorICAgIGNhc2Ug
Q29sb25Ub2tlbjoKKyAgICBjYXNlIENvbHVtblRva2VuOgorICAgIGNhc2UgQ29tbWFUb2tlbjoK
KyAgICBjYXNlIENvbW1lbnRUb2tlbjoKKyAgICBjYXNlIERhc2hNYXRjaFRva2VuOgorICAgIGNh
c2UgRGVsaW1pdGVyVG9rZW46CisgICAgY2FzZSBFT0ZUb2tlbjoKKyAgICBjYXNlIEluY2x1ZGVN
YXRjaFRva2VuOgorICAgIGNhc2UgTGVmdEJyYWNlVG9rZW46CisgICAgY2FzZSBMZWZ0QnJhY2tl
dFRva2VuOgorICAgIGNhc2UgTGVmdFBhcmVudGhlc2lzVG9rZW46CisgICAgY2FzZSBQcmVmaXhN
YXRjaFRva2VuOgorICAgIGNhc2UgUmlnaHRCcmFjZVRva2VuOgorICAgIGNhc2UgUmlnaHRCcmFj
a2V0VG9rZW46CisgICAgY2FzZSBSaWdodFBhcmVudGhlc2lzVG9rZW46CisgICAgY2FzZSBTZW1p
Y29sb25Ub2tlbjoKKyAgICBjYXNlIFN1YnN0cmluZ01hdGNoVG9rZW46CisgICAgY2FzZSBTdWZm
aXhNYXRjaFRva2VuOgorICAgIGNhc2UgV2hpdGVzcGFjZVRva2VuOgorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotQ1NTUGFyc2VyVG9rZW4gQ1NTUGFyc2VyVG9rZW46OmNvcHlXaXRoVXBkYXRlZFN0
cmluZyhjb25zdCBTdHJpbmdWaWV3JiBzdHJpbmcpIGNvbnN0CitDU1NQYXJzZXJUb2tlbiBDU1NQ
YXJzZXJUb2tlbjo6Y29weVdpdGhVcGRhdGVkU3RyaW5nKFN0cmluZ1ZpZXcgc3RyaW5nKSBjb25z
dAogeworICAgIEFTU0VSVCh2YWx1ZSgpID09IHN0cmluZyk7CiAgICAgQ1NTUGFyc2VyVG9rZW4g
Y29weSgqdGhpcyk7CiAgICAgY29weS5pbml0VmFsdWVGcm9tU3RyaW5nVmlldyhzdHJpbmcpOwog
ICAgIHJldHVybiBjb3B5OwogfQogCi1ib29sIENTU1BhcnNlclRva2VuOjp2YWx1ZURhdGFDaGFy
UmF3RXF1YWwoY29uc3QgQ1NTUGFyc2VyVG9rZW4mIG90aGVyKSBjb25zdAotewotICAgIGlmICht
X3ZhbHVlTGVuZ3RoICE9IG90aGVyLm1fdmFsdWVMZW5ndGgpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmIChtX3ZhbHVlRGF0YUNoYXJSYXcgPT0gb3RoZXIubV92YWx1ZURhdGFDaGFy
UmF3ICYmIG1fdmFsdWVJczhCaXQgPT0gb3RoZXIubV92YWx1ZUlzOEJpdCkKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBpZiAobV92YWx1ZUlzOEJpdCkKLSAgICAgICAgcmV0dXJuIG90aGVy
Lm1fdmFsdWVJczhCaXQgPyBlcXVhbChzdGF0aWNfY2FzdDxjb25zdCBMQ2hhcio+KG1fdmFsdWVE
YXRhQ2hhclJhdyksIHN0YXRpY19jYXN0PGNvbnN0IExDaGFyKj4ob3RoZXIubV92YWx1ZURhdGFD
aGFyUmF3KSwgbV92YWx1ZUxlbmd0aCkgOiBlcXVhbChzdGF0aWNfY2FzdDxjb25zdCBMQ2hhcio+
KG1fdmFsdWVEYXRhQ2hhclJhdyksIHN0YXRpY19jYXN0PGNvbnN0IFVDaGFyKj4ob3RoZXIubV92
YWx1ZURhdGFDaGFyUmF3KSwgbV92YWx1ZUxlbmd0aCk7Ci0gICAgCi0gICAgcmV0dXJuIG90aGVy
Lm1fdmFsdWVJczhCaXQgPyBlcXVhbChzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+KG1fdmFsdWVE
YXRhQ2hhclJhdyksIHN0YXRpY19jYXN0PGNvbnN0IExDaGFyKj4ob3RoZXIubV92YWx1ZURhdGFD
aGFyUmF3KSwgbV92YWx1ZUxlbmd0aCkgOiBlcXVhbChzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+
KG1fdmFsdWVEYXRhQ2hhclJhdyksIHN0YXRpY19jYXN0PGNvbnN0IFVDaGFyKj4ob3RoZXIubV92
YWx1ZURhdGFDaGFyUmF3KSwgbV92YWx1ZUxlbmd0aCk7Ci19Ci0KIGJvb2wgQ1NTUGFyc2VyVG9r
ZW46Om9wZXJhdG9yPT0oY29uc3QgQ1NTUGFyc2VyVG9rZW4mIG90aGVyKSBjb25zdAogewogICAg
IGlmIChtX3R5cGUgIT0gb3RoZXIubV90eXBlKQpAQCAtMzc5LDE2ICs0MjEsMTQgQEAgYm9vbCBD
U1NQYXJzZXJUb2tlbjo6b3BlcmF0b3I9PShjb25zdCBDU1NQYXJzZXJUb2tlbiYgb3RoZXIpIGNv
bnN0CiAgICAgY2FzZSBGdW5jdGlvblRva2VuOgogICAgIGNhc2UgU3RyaW5nVG9rZW46CiAgICAg
Y2FzZSBVcmxUb2tlbjoKLSAgICAgICAgcmV0dXJuIHZhbHVlRGF0YUNoYXJSYXdFcXVhbChvdGhl
cik7CisgICAgICAgIHJldHVybiB2YWx1ZSgpID09IG90aGVyLnZhbHVlKCk7CiAgICAgY2FzZSBE
aW1lbnNpb25Ub2tlbjoKLSAgICAgICAgaWYgKCF2YWx1ZURhdGFDaGFyUmF3RXF1YWwob3RoZXIp
KQorICAgICAgICBpZiAodW5pdFN0cmluZygpICE9IG90aGVyLnVuaXRTdHJpbmcoKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBOdW1i
ZXJUb2tlbjoKICAgICBjYXNlIFBlcmNlbnRhZ2VUb2tlbjoKICAgICAgICAgcmV0dXJuIG1fbnVt
ZXJpY1NpZ24gPT0gb3RoZXIubV9udW1lcmljU2lnbiAmJiBtX251bWVyaWNWYWx1ZSA9PSBvdGhl
ci5tX251bWVyaWNWYWx1ZSAmJiBtX251bWVyaWNWYWx1ZVR5cGUgPT0gb3RoZXIubV9udW1lcmlj
VmFsdWVUeXBlOwotICAgIGNhc2UgVW5pY29kZVJhbmdlVG9rZW46Ci0gICAgICAgIHJldHVybiBt
X3VuaWNvZGVSYW5nZS5zdGFydCA9PSBvdGhlci5tX3VuaWNvZGVSYW5nZS5zdGFydCAmJiBtX3Vu
aWNvZGVSYW5nZS5lbmQgPT0gb3RoZXIubV91bmljb2RlUmFuZ2UuZW5kOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTQ5NiwxMiArNTM2LDkgQEAgdm9pZCBD
U1NQYXJzZXJUb2tlbjo6c2VyaWFsaXplKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0IENT
U1BhcnNlclRva2VuKiBuZXgKICAgICBjYXNlIERpbWVuc2lvblRva2VuOgogICAgICAgICAvLyBU
aGlzIHdpbGwgaW5jb3JyZWN0bHkgc2VyaWFsaXplIGUuZy4gNGUzZTIgYXMgNDAwMGUyLgogICAg
ICAgICBidWlsZGVyLmFwcGVuZChudW1lcmljVmFsdWUoKSk7Ci0gICAgICAgIHNlcmlhbGl6ZUlk
ZW50aWZpZXIodmFsdWUoKS50b1N0cmluZygpLCBidWlsZGVyKTsKKyAgICAgICAgc2VyaWFsaXpl
SWRlbnRpZmllcih1bml0U3RyaW5nKCkudG9TdHJpbmcoKSwgYnVpbGRlcik7CiAgICAgICAgIGFw
cGVuZENvbW1lbnRJZk5lZWRlZCh7IElkZW50VG9rZW4sIEZ1bmN0aW9uVG9rZW4sIFVybFRva2Vu
LCBCYWRVcmxUb2tlbiwgTnVtYmVyVG9rZW4sIFBlcmNlbnRhZ2VUb2tlbiwgRGltZW5zaW9uVG9r
ZW4sIENEQ1Rva2VuIH0sICctJyk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgVW5pY29kZVJh
bmdlVG9rZW46Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJVKyIsIGhleCh1bmljb2RlUmFuZ2VT
dGFydCgpKSwgJy0nLCBoZXgodW5pY29kZVJhbmdlRW5kKCkpKTsKLSAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBTdHJpbmdUb2tlbjoKICAgICAgICAgc2VyaWFsaXplU3RyaW5nKHZhbHVlKCkudG9T
dHJpbmcoKSwgYnVpbGRlcik7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJUb2tlbi5oCmluZGV4IDFhNzYyNGJiMzZkNDA3MDM5YzE4NWQzMGM1Nzli
N2E4NGExZTdmMGYuLjg3NGI0NjM3N2QwNzJhYjcwYzEyMTIzZWI4MGU5NmI1NzRiMzc0NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmgKQEAgLTEsNSArMSw1
IEBACiAvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01MSw3ICs1
MSw2IEBAIGVudW0gQ1NTUGFyc2VyVG9rZW5UeXBlIHsKICAgICBTdWZmaXhNYXRjaFRva2VuLAog
ICAgIFN1YnN0cmluZ01hdGNoVG9rZW4sCiAgICAgQ29sdW1uVG9rZW4sCi0gICAgVW5pY29kZVJh
bmdlVG9rZW4sCiAgICAgV2hpdGVzcGFjZVRva2VuLAogICAgIENET1Rva2VuLAogICAgIENEQ1Rv
a2VuLApAQCAtMTAyLDggKzEwMSw3IEBAIHB1YmxpYzoKICAgICBDU1NQYXJzZXJUb2tlbihDU1NQ
YXJzZXJUb2tlblR5cGUsIFN0cmluZ1ZpZXcsIEJsb2NrVHlwZSA9IE5vdEJsb2NrKTsKIAogICAg
IENTU1BhcnNlclRva2VuKENTU1BhcnNlclRva2VuVHlwZSwgVUNoYXIpOyAvLyBmb3IgRGVsaW1p
dGVyVG9rZW4KLSAgICBDU1NQYXJzZXJUb2tlbihDU1NQYXJzZXJUb2tlblR5cGUsIGRvdWJsZSwg
TnVtZXJpY1ZhbHVlVHlwZSwgTnVtZXJpY1NpZ24pOyAvLyBmb3IgTnVtYmVyVG9rZW4KLSAgICBD
U1NQYXJzZXJUb2tlbihDU1NQYXJzZXJUb2tlblR5cGUsIFVDaGFyMzIsIFVDaGFyMzIpOyAvLyBm
b3IgVW5pY29kZVJhbmdlVG9rZW4KKyAgICBDU1NQYXJzZXJUb2tlbihkb3VibGUsIE51bWVyaWNW
YWx1ZVR5cGUsIE51bWVyaWNTaWduLCBTdHJpbmdWaWV3IG9yaWdpbmFsVGV4dCk7IC8vIGZvciBO
dW1iZXJUb2tlbgogCiAgICAgQ1NTUGFyc2VyVG9rZW4oSGFzaFRva2VuVHlwZSwgU3RyaW5nVmll
dyk7CiAKQEAgLTEyOCwxMSArMTI2LDExIEBAIHB1YmxpYzoKICAgICBOdW1lcmljU2lnbiBudW1l
cmljU2lnbigpIGNvbnN0OwogICAgIE51bWVyaWNWYWx1ZVR5cGUgbnVtZXJpY1ZhbHVlVHlwZSgp
IGNvbnN0OwogICAgIGRvdWJsZSBudW1lcmljVmFsdWUoKSBjb25zdDsKKyAgICBTdHJpbmdWaWV3
IG9yaWdpbmFsVGV4dCgpIGNvbnN0OwogICAgIEhhc2hUb2tlblR5cGUgZ2V0SGFzaFRva2VuVHlw
ZSgpIGNvbnN0IHsgQVNTRVJUKG1fdHlwZSA9PSBIYXNoVG9rZW4pOyByZXR1cm4gbV9oYXNoVG9r
ZW5UeXBlOyB9CiAgICAgQmxvY2tUeXBlIGdldEJsb2NrVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PEJsb2NrVHlwZT4obV9ibG9ja1R5cGUpOyB9CiAgICAgQ1NTVW5pdFR5cGUgdW5p
dFR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDU1NVbml0VHlwZT4obV91bml0KTsg
fQotICAgIFVDaGFyMzIgdW5pY29kZVJhbmdlU3RhcnQoKSBjb25zdCB7IEFTU0VSVChtX3R5cGUg
PT0gVW5pY29kZVJhbmdlVG9rZW4pOyByZXR1cm4gbV91bmljb2RlUmFuZ2Uuc3RhcnQ7IH0KLSAg
ICBVQ2hhcjMyIHVuaWNvZGVSYW5nZUVuZCgpIGNvbnN0IHsgQVNTRVJUKG1fdHlwZSA9PSBVbmlj
b2RlUmFuZ2VUb2tlbik7IHJldHVybiBtX3VuaWNvZGVSYW5nZS5lbmQ7IH0KKyAgICBTdHJpbmdW
aWV3IHVuaXRTdHJpbmcoKSBjb25zdDsKICAgICBDU1NWYWx1ZUlEIGlkKCkgY29uc3Q7CiAgICAg
Q1NTVmFsdWVJRCBmdW5jdGlvbklkKCkgY29uc3Q7CiAKQEAgLTE0MiwzOSArMTQwLDMzIEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2VyaWFsaXplKFN0cmluZ0J1aWxkZXImLCBjb25zdCBDU1NQYXJz
ZXJUb2tlbiogbmV4dFRva2VuID0gbnVsbHB0cikgY29uc3Q7CiAKLSAgICBDU1NQYXJzZXJUb2tl
biBjb3B5V2l0aFVwZGF0ZWRTdHJpbmcoY29uc3QgU3RyaW5nVmlldyYpIGNvbnN0OworICAgIENT
U1BhcnNlclRva2VuIGNvcHlXaXRoVXBkYXRlZFN0cmluZyhTdHJpbmdWaWV3KSBjb25zdDsKIAog
cHJpdmF0ZToKICAgICB2b2lkIGluaXRWYWx1ZUZyb21TdHJpbmdWaWV3KFN0cmluZ1ZpZXcgc3Ry
aW5nKQogICAgIHsKICAgICAgICAgbV92YWx1ZUxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKICAg
ICAgICAgbV92YWx1ZUlzOEJpdCA9IHN0cmluZy5pczhCaXQoKTsKLSAgICAgICAgbV92YWx1ZURh
dGFDaGFyUmF3ID0gbV92YWx1ZUlzOEJpdCA/IGNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0
PGNvbnN0IHZvaWQqPihzdHJpbmcuY2hhcmFjdGVyczgoKSkpIDogY29uc3RfY2FzdDx2b2lkKj4o
c3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0cmluZy5jaGFyYWN0ZXJzMTYoKSkpOworICAgICAg
ICBtX3ZhbHVlRGF0YUNoYXJSYXcgPSBtX3ZhbHVlSXM4Qml0ID8gc3RhdGljX2Nhc3Q8Y29uc3Qg
dm9pZCo+KHN0cmluZy5jaGFyYWN0ZXJzOCgpKSA6IHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihz
dHJpbmcuY2hhcmFjdGVyczE2KCkpOwogICAgIH0KICAgICB1bnNpZ25lZCBtX3R5cGUgOiA2OyAv
LyBDU1NQYXJzZXJUb2tlblR5cGUKICAgICB1bnNpZ25lZCBtX2Jsb2NrVHlwZSA6IDI7IC8vIEJs
b2NrVHlwZQogICAgIHVuc2lnbmVkIG1fbnVtZXJpY1ZhbHVlVHlwZSA6IDE7IC8vIE51bWVyaWNW
YWx1ZVR5cGUKICAgICB1bnNpZ25lZCBtX251bWVyaWNTaWduIDogMjsgLy8gTnVtZXJpY1NpZ24K
ICAgICB1bnNpZ25lZCBtX3VuaXQgOiA3OyAvLyBDU1NVbml0VHlwZQotCi0gICAgYm9vbCB2YWx1
ZURhdGFDaGFyUmF3RXF1YWwoY29uc3QgQ1NTUGFyc2VyVG9rZW4mIG90aGVyKSBjb25zdDsKKyAg
ICB1bnNpZ25lZCBtX25vblVuaXRQcmVmaXhMZW5ndGggOiA0OyAvLyBPbmx5IGZvciBEaW1lbnNp
b25UeXBlLCBvbmx5IG5lZWRzIHRvIGJlIGxvbmcgZW5vdWdoIGZvciBVbmljb2RlUmFuZ2UgcGFy
c2luZy4KIAogICAgIC8vIG1fdmFsdWUuLi4gaXMgYW4gdW5wYWNrZWQgU3RyaW5nVmlldyBzbyB0
aGF0IHdlIGNhbiBwYWNrIGl0CiAgICAgLy8gdGlnaHRseSB3aXRoIHRoZSByZXN0IG9mIHRoaXMg
b2JqZWN0IGZvciBhIHNtYWxsZXIgb2JqZWN0IHNpemUuCiAgICAgYm9vbCBtX3ZhbHVlSXM4Qml0
IDogMTsKICAgICB1bnNpZ25lZCBtX3ZhbHVlTGVuZ3RoOwotICAgIHZvaWQqIG1fdmFsdWVEYXRh
Q2hhclJhdzsgLy8gRWl0aGVyIExDaGFyKiBvciBVQ2hhciouCisgICAgY29uc3Qgdm9pZCogbV92
YWx1ZURhdGFDaGFyUmF3OyAvLyBFaXRoZXIgTENoYXIqIG9yIFVDaGFyKi4KIAogICAgIHVuaW9u
IHsKICAgICAgICAgVUNoYXIgbV9kZWxpbWl0ZXI7CiAgICAgICAgIEhhc2hUb2tlblR5cGUgbV9o
YXNoVG9rZW5UeXBlOwogICAgICAgICBkb3VibGUgbV9udW1lcmljVmFsdWU7CiAgICAgICAgIG11
dGFibGUgaW50IG1faWQ7Ci0KLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIFVDaGFyMzIg
c3RhcnQ7Ci0gICAgICAgICAgICBVQ2hhcjMyIGVuZDsKLSAgICAgICAgfSBtX3VuaWNvZGVSYW5n
ZTsKICAgICB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCmluZGV4IGVhODhmZjU4MTVmYzI4MTI4NDEzOTg5
ZjA1MjM5YzVjYzc4Y2VjZGEuLjczNmIyZTkyNDU1YzIxZmVkZWZlOTBhODUyMWU2Mzg0Yjc1Mjgz
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5
UGFyc2VySGVscGVycy5jcHAKQEAgLTYzNCw3ICs2MzQsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBjb25zdW1lUmVzb2x1dGlvbkNTU1ByaW1pdGl2ZVZhbHVlV2l0aEtub3du
VG9rZQogCiAgICAgaWYgKGF1dG8gdW5pdCA9IHJhbmdlLnBlZWsoKS51bml0VHlwZSgpOyB1bml0
ID09IENTU1VuaXRUeXBlOjpDU1NfRFBQWCB8fCB1bml0ID09IENTU1VuaXRUeXBlOjpDU1NfRFBJ
IHx8IHVuaXQgPT0gQ1NTVW5pdFR5cGU6OkNTU19EUENNKQogICAgICAgICByZXR1cm4gcG9vbC5j
cmVhdGVWYWx1ZShyYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgpLm51bWVyaWNWYWx1
ZSgpLCB1bml0KTsKLSAgICBpZiAoYWxsb3dYID09IEFsbG93WFJlc29sdXRpb25Vbml0OjpBbGxv
dyAmJiByYW5nZS5wZWVrKCkudmFsdWUoKSA9PSAieCIpCisgICAgaWYgKGFsbG93WCA9PSBBbGxv
d1hSZXNvbHV0aW9uVW5pdDo6QWxsb3cgJiYgcmFuZ2UucGVlaygpLnVuaXRTdHJpbmcoKSA9PSAi
eCIpCiAgICAgICAgIHJldHVybiBwb29sLmNyZWF0ZVZhbHVlKHJhbmdlLmNvbnN1bWVJbmNsdWRp
bmdXaGl0ZXNwYWNlKCkubnVtZXJpY1ZhbHVlKCksIENTU1VuaXRUeXBlOjpDU1NfRFBQWCk7CiAK
ICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI0NTYsNyArMjQ1Niw3IEBAIHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPFNSR0JBPHVpbnQ4X3Q+PiBwYXJzZUhleENvbG9yKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlLCBiCiAgICAgICAgICAgICBpZiAodG9rZW4udHlwZSgpID09IE51bWJlclRva2VuKQog
ICAgICAgICAgICAgICAgIHN0cmluZyA9IFN0cmluZzo6bnVtYmVyKGludGVnZXJWYWx1ZSk7IC8v
IGUuZy4gMTEyMjMzCiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nID0g
bWFrZVN0cmluZyhpbnRlZ2VyVmFsdWUsIHRva2VuLnZhbHVlKCkpOyAvLyBlLmcuIDAwMDFGRgor
ICAgICAgICAgICAgICAgIHN0cmluZyA9IG1ha2VTdHJpbmcoaW50ZWdlclZhbHVlLCB0b2tlbi51
bml0U3RyaW5nKCkpOyAvLyBlLmcuIDAwMDFGRgogICAgICAgICAgICAgaWYgKHN0cmluZy5sZW5n
dGgoKSA8IDYpCiAgICAgICAgICAgICAgICAgc3RyaW5nID0gbWFrZVN0cmluZygmIjAwMDAwMCJb
c3RyaW5nLmxlbmd0aCgpXSwgc3RyaW5nKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlcldvcmtlclNhZmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlcldvcmtlclNhZmUuY3BwCmluZGV4IDRiOWY5
ZjUxYWJhOTM3YjFlMzBhNDU5Nzg1MjIwZDNkMTNiNjk1YTEuLmQ0M2RkNDI5OTVjN2IyNWNkMjhl
NzQxMTg0MTU4MGMzMjJjMjRhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXJXb3JrZXJTYWZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyV29ya2VyU2FmZS5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvLyBDb3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAvLyBDb3B5cmlnaHQgKEMpIDIwMjEgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KIC8v
IENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgogLy8KQEAgLTM5MywyMyArMzkzLDEyNiBA
QCBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVGb250U3RyZXRjaFJhbmdlKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlLCBDU1NWYWx1ZVBvbwogfQogI2VuZGlmCiAKLVJlZlB0cjxDU1NWYWx1ZUxp
c3Q+IGNvbnN1bWVGb250RmFjZVVuaWNvZGVSYW5nZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSkKK3N0YXRpYyBib29sIGNvbnN1bWVPcHRpb25hbERlbGltaXRlcihDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSwgVUNoYXIgdmFsdWUpCiB7Ci0gICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdmFs
dWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGlmICghKHJh
bmdlLnBlZWsoKS50eXBlKCkgPT0gRGVsaW1pdGVyVG9rZW4gJiYgcmFuZ2UucGVlaygpLmRlbGlt
aXRlcigpID09IHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJhbmdlLmNvbnN1
bWUoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAotICAgIGRvIHsKLSAgICAgICAgY29uc3QgQ1NT
UGFyc2VyVG9rZW4mIHRva2VuID0gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsK
LSAgICAgICAgaWYgKHRva2VuLnR5cGUoKSAhPSBVbmljb2RlUmFuZ2VUb2tlbikKLSAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworc3RhdGljIFN0cmluZ1ZpZXcgY29uc3VtZUlkZW50aWZpZXIo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBl
KCkgIT0gSWRlbnRUb2tlbikKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcmFuZ2Uu
Y29uc3VtZSgpLnZhbHVlKCk7Cit9CisKK3N0YXRpYyBib29sIGNvbnN1bWVBbmRBcHBlbmRPcHRp
b25hbE51bWJlcihTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSwgQ1NTUGFyc2VyVG9rZW5UeXBlIHR5cGUgPSBOdW1iZXJUb2tlbikKK3sKKyAgICBpZiAo
cmFuZ2UucGVlaygpLnR5cGUoKSAhPSB0eXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
YXV0byBvcmlnaW5hbFRleHQgPSByYW5nZS5jb25zdW1lKCkub3JpZ2luYWxUZXh0KCk7CisgICAg
aWYgKG9yaWdpbmFsVGV4dC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGJ1
aWxkZXIuYXBwZW5kKG9yaWdpbmFsVGV4dCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRp
YyBib29sIGNvbnN1bWVBbmRBcHBlbmRPcHRpb25hbERlbGltaXRlcihTdHJpbmdCdWlsZGVyJiBi
dWlsZGVyLCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgVUNoYXIgdmFsdWUpCit7CisgICAg
aWYgKCFjb25zdW1lT3B0aW9uYWxEZWxpbWl0ZXIocmFuZ2UsIHZhbHVlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGJ1aWxkZXIuYXBwZW5kKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworc3RhdGljIHZvaWQgY29uc3VtZUFuZEFwcGVuZE9wdGlvbmFsUXVlc3Rpb25NYXJrcyhT
dHJpbmdCdWlsZGVyJiBidWlsZGVyLCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAg
ICB3aGlsZSAoY29uc3VtZUFuZEFwcGVuZE9wdGlvbmFsRGVsaW1pdGVyKGJ1aWxkZXIsIHJhbmdl
LCAnPycpKSB7IH0KK30KIAotICAgICAgICBVQ2hhcjMyIHN0YXJ0ID0gdG9rZW4udW5pY29kZVJh
bmdlU3RhcnQoKTsKLSAgICAgICAgVUNoYXIzMiBlbmQgPSB0b2tlbi51bmljb2RlUmFuZ2VFbmQo
KTsKLSAgICAgICAgaWYgKHN0YXJ0ID4gZW5kKQorc3RhdGljIFN0cmluZyBjb25zdW1lVW5pY29k
ZVJhbmdlU3RyaW5nKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmICghZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY29uc3VtZUlkZW50aWZpZXIocmFuZ2UpLCAidSIp
KQorICAgICAgICByZXR1cm4geyB9OworICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICBp
ZiAoY29uc3VtZUFuZEFwcGVuZE9wdGlvbmFsTnVtYmVyKGJ1aWxkZXIsIHJhbmdlLCBEaW1lbnNp
b25Ub2tlbikpCisgICAgICAgIGNvbnN1bWVBbmRBcHBlbmRPcHRpb25hbFF1ZXN0aW9uTWFya3Mo
YnVpbGRlciwgcmFuZ2UpOworICAgIGVsc2UgaWYgKGNvbnN1bWVBbmRBcHBlbmRPcHRpb25hbE51
bWJlcihidWlsZGVyLCByYW5nZSkpIHsKKyAgICAgICAgaWYgKCEoY29uc3VtZUFuZEFwcGVuZE9w
dGlvbmFsTnVtYmVyKGJ1aWxkZXIsIHJhbmdlLCBEaW1lbnNpb25Ub2tlbikgfHwgY29uc3VtZUFu
ZEFwcGVuZE9wdGlvbmFsTnVtYmVyKGJ1aWxkZXIsIHJhbmdlKSkpCisgICAgICAgICAgICBjb25z
dW1lQW5kQXBwZW5kT3B0aW9uYWxRdWVzdGlvbk1hcmtzKGJ1aWxkZXIsIHJhbmdlKTsKKyAgICB9
IGVsc2UgaWYgKGNvbnN1bWVPcHRpb25hbERlbGltaXRlcihyYW5nZSwgJysnKSkgeworICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnKycpOworICAgICAgICBpZiAoYXV0byBpZGVudGlmaWVyID0gY29u
c3VtZUlkZW50aWZpZXIocmFuZ2UpOyAhaWRlbnRpZmllci5pc051bGwoKSkKKyAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKGlkZW50aWZpZXIpOworICAgICAgICBlbHNlIGlmICghY29uc3VtZUFu
ZEFwcGVuZE9wdGlvbmFsRGVsaW1pdGVyKGJ1aWxkZXIsIHJhbmdlLCAnPycpKQorICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgY29uc3VtZUFuZEFwcGVuZE9wdGlvbmFsUXVlc3Rpb25N
YXJrcyhidWlsZGVyLCByYW5nZSk7CisgICAgfSBlbHNlCisgICAgICAgIHJldHVybiB7IH07Cisg
ICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30KKworc3RydWN0IFVuaWNvZGVSYW5nZSB7
CisgICAgVUNoYXIzMiBzdGFydDsKKyAgICBVQ2hhcjMyIGVuZDsKK307CisKK3N0YXRpYyBzdGQ6
Om9wdGlvbmFsPFVuaWNvZGVSYW5nZT4gY29uc3VtZVVuaWNvZGVSYW5nZShDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSkKK3sKKyAgICByZXR1cm4gcmVhZENoYXJhY3RlcnNGb3JQYXJzaW5nKGNv
bnN1bWVVbmljb2RlUmFuZ2VTdHJpbmcocmFuZ2UpLCBbJl0oYXV0byBidWZmZXIpIC0+IHN0ZDo6
b3B0aW9uYWw8VW5pY29kZVJhbmdlPiB7CisgICAgICAgIGlmICghc2tpcEV4YWN0bHkoYnVmZmVy
LCAnKycpKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgVUNoYXIz
MiBzdGFydCA9IDA7CisgICAgICAgIHVuc2lnbmVkIGhleERpZ2l0Q291bnQgPSAwOworICAgICAg
ICB3aGlsZSAoYnVmZmVyLmhhc0NoYXJhY3RlcnNSZW1haW5pbmcoKSAmJiBpc0FTQ0lJSGV4RGln
aXQoKmJ1ZmZlcikpIHsKKyAgICAgICAgICAgIGlmICgrK2hleERpZ2l0Q291bnQgPiA2KQorICAg
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICBzdGFydCA8PD0g
NDsKKyAgICAgICAgICAgIHN0YXJ0IHw9IHRvQVNDSUlIZXhWYWx1ZSgqYnVmZmVyKyspOworICAg
ICAgICB9CisgICAgICAgIGF1dG8gZW5kID0gc3RhcnQ7CisgICAgICAgIHdoaWxlIChza2lwRXhh
Y3RseShidWZmZXIsICc/JykpIHsKKyAgICAgICAgICAgIGlmICgrK2hleERpZ2l0Q291bnQgPiA2
KQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICBzdGFy
dCA8PD0gNDsKKyAgICAgICAgICAgIGVuZCA8PD0gNDsKKyAgICAgICAgICAgIGVuZCB8PSAweEY7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFoZXhEaWdpdENvdW50KQorICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgaWYgKHN0YXJ0ID09IGVuZCAmJiBidWZmZXIuaGFz
Q2hhcmFjdGVyc1JlbWFpbmluZygpKSB7CisgICAgICAgICAgICBpZiAoIXNraXBFeGFjdGx5KGJ1
ZmZlciwgJy0nKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAg
ICAgICAgZW5kID0gMDsKKyAgICAgICAgICAgIGhleERpZ2l0Q291bnQgPSAwOworICAgICAgICAg
ICAgd2hpbGUgKGJ1ZmZlci5oYXNDaGFyYWN0ZXJzUmVtYWluaW5nKCkgJiYgaXNBU0NJSUhleERp
Z2l0KCpidWZmZXIpKSB7CisgICAgICAgICAgICAgICAgaWYgKCsraGV4RGlnaXRDb3VudCA+IDYp
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICAg
ICAgZW5kIDw8PSA0OworICAgICAgICAgICAgICAgIGVuZCB8PSB0b0FTQ0lJSGV4VmFsdWUoKmJ1
ZmZlcisrKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghaGV4RGlnaXRDb3VudCkK
KyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICB9CisgICAgICAg
IGlmIChidWZmZXIuaGFzQ2hhcmFjdGVyc1JlbWFpbmluZygpKQorICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgeyBzdGFydCwgZW5kIH0gfTsKKyAgICB9
KTsKK30KKworUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZUZvbnRGYWNlVW5pY29kZVJhbmdl
KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGF1dG8gdmFsdWVzID0gQ1NTVmFs
dWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgYXV0byB1
bmljb2RlUmFuZ2UgPSBjb25zdW1lVW5pY29kZVJhbmdlKHJhbmdlKTsKKyAgICAgICAgcmFuZ2Uu
Y29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICAgICAgaWYgKCF1bmljb2RlUmFuZ2UgfHwgdW5pY29k
ZVJhbmdlLT5lbmQgPiBVQ0hBUl9NQVhfVkFMVUUgfHwgdW5pY29kZVJhbmdlLT5zdGFydCA+IHVu
aWNvZGVSYW5nZS0+ZW5kKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHZh
bHVlcy0+YXBwZW5kKENTU1VuaWNvZGVSYW5nZVZhbHVlOjpjcmVhdGUoc3RhcnQsIGVuZCkpOwor
ICAgICAgICB2YWx1ZXMtPmFwcGVuZChDU1NVbmljb2RlUmFuZ2VWYWx1ZTo6Y3JlYXRlKHVuaWNv
ZGVSYW5nZS0+c3RhcnQsIHVuaWNvZGVSYW5nZS0+ZW5kKSk7CiAgICAgfSB3aGlsZSAoQ1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdl
KSk7Ci0KLSAgICByZXR1cm4gdmFsdWVzOworICAgIHJldHVybiBXVEZNb3ZlKHZhbHVlcyk7CiB9
CiAKIHN0YXRpYyBSZWZQdHI8Q1NTRm9udEZlYXR1cmVWYWx1ZT4gY29uc3VtZUZvbnRGZWF0dXJl
VGFnKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRleCBhYWQ5MmNiOGM5ZTFhYjZhNWVlMjM1
OGEwMmUwYjQ3YzQ2MzRkZDA0Li5lYzM2YTBkZmZhMTkyMWM4ZTRhNDc5NTI0MmIyODU0YzUzYjRk
MTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2Vy
LmNwcApAQCAtODY4LDcgKzg2OCw3IEBAIHN0YXRpYyBib29sIGNvbnN1bWVBTlBsdXNCKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBzdGQ6OnBhaXI8aW50LCBpbnQ+JiByZXN1CiAgICAgICAg
IG5TdHJpbmcgPSByYW5nZS5jb25zdW1lKCkudmFsdWUoKS50b1N0cmluZygpOwogICAgIH0gZWxz
ZSBpZiAodG9rZW4udHlwZSgpID09IERpbWVuc2lvblRva2VuICYmIHRva2VuLm51bWVyaWNWYWx1
ZVR5cGUoKSA9PSBJbnRlZ2VyVmFsdWVUeXBlKSB7CiAgICAgICAgIHJlc3VsdC5maXJzdCA9IHRv
a2VuLm51bWVyaWNWYWx1ZSgpOwotICAgICAgICBuU3RyaW5nID0gdG9rZW4udmFsdWUoKS50b1N0
cmluZygpOworICAgICAgICBuU3RyaW5nID0gdG9rZW4udW5pdFN0cmluZygpLnRvU3RyaW5nKCk7
CiAgICAgfSBlbHNlIGlmICh0b2tlbi50eXBlKCkgPT0gSWRlbnRUb2tlbikgewogICAgICAgICBp
ZiAodG9rZW4udmFsdWUoKVswXSA9PSAnLScpIHsKICAgICAgICAgICAgIHJlc3VsdC5maXJzdCA9
IC0xOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXIuY3BwCmluZGV4IDkw
MmM2ZTJjNTFkZDVmOTgwMjdhZGVkY2NmYjMyMGUyN2Q2YjEzZjcuLmQ3ODJhMTVkM2Y3Y2I2YzBm
MGIxZDNmZjc2MjBjOWQxMWU2ODAzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTVG9rZW5pemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Rva2VuaXplci5jcHAKQEAgLTM1NSwxNiArMzU1LDYgQEAgQ1NTUGFyc2VyVG9rZW4gQ1NTVG9r
ZW5pemVyOjphc2NpaURpZ2l0KFVDaGFyIGNjKQogICAgIHJldHVybiBjb25zdW1lTnVtZXJpY1Rv
a2VuKCk7CiB9CiAKLUNTU1BhcnNlclRva2VuIENTU1Rva2VuaXplcjo6bGV0dGVyVShVQ2hhciBj
YykKLXsKLSAgICBpZiAobV9pbnB1dC5wZWVrKDApID09ICcrJyAmJiAoaXNBU0NJSUhleERpZ2l0
KG1faW5wdXQucGVlaygxKSkgfHwgbV9pbnB1dC5wZWVrKDEpID09ICc/JykpIHsKLSAgICAgICAg
bV9pbnB1dC5hZHZhbmNlKCk7Ci0gICAgICAgIHJldHVybiBjb25zdW1lVW5pY29kZVJhbmdlKCk7
Ci0gICAgfQotICAgIHJlY29uc3VtZShjYyk7Ci0gICAgcmV0dXJuIGNvbnN1bWVJZGVudExpa2VU
b2tlbigpOwotfQotCiBDU1NQYXJzZXJUb2tlbiBDU1NUb2tlbml6ZXI6Om5hbWVTdGFydChVQ2hh
ciBjYykKIHsKICAgICByZWNvbnN1bWUoY2MpOwpAQCAtNDY3LDcgKzQ1Nyw3IEBAIGNvbnN0IENT
U1Rva2VuaXplcjo6Q29kZVBvaW50IENTU1Rva2VuaXplcjo6Y29kZVBvaW50c1sxMjhdID0gewog
ICAgICZDU1NUb2tlbml6ZXI6Om5hbWVTdGFydCwKICAgICAmQ1NTVG9rZW5pemVyOjpuYW1lU3Rh
cnQsCiAgICAgJkNTU1Rva2VuaXplcjo6bmFtZVN0YXJ0LAotICAgICZDU1NUb2tlbml6ZXI6Omxl
dHRlclUsCisgICAgJkNTU1Rva2VuaXplcjo6bmFtZVN0YXJ0LAogICAgICZDU1NUb2tlbml6ZXI6
Om5hbWVTdGFydCwKICAgICAmQ1NTVG9rZW5pemVyOjpuYW1lU3RhcnQsCiAgICAgJkNTU1Rva2Vu
aXplcjo6bmFtZVN0YXJ0LApAQCAtNDk5LDcgKzQ4OSw3IEBAIGNvbnN0IENTU1Rva2VuaXplcjo6
Q29kZVBvaW50IENTU1Rva2VuaXplcjo6Y29kZVBvaW50c1sxMjhdID0gewogICAgICZDU1NUb2tl
bml6ZXI6Om5hbWVTdGFydCwKICAgICAmQ1NTVG9rZW5pemVyOjpuYW1lU3RhcnQsCiAgICAgJkNT
U1Rva2VuaXplcjo6bmFtZVN0YXJ0LAotICAgICZDU1NUb2tlbml6ZXI6OmxldHRlclUsCisgICAg
JkNTU1Rva2VuaXplcjo6bmFtZVN0YXJ0LAogICAgICZDU1NUb2tlbml6ZXI6Om5hbWVTdGFydCwK
ICAgICAmQ1NTVG9rZW5pemVyOjpuYW1lU3RhcnQsCiAgICAgJkNTU1Rva2VuaXplcjo6bmFtZVN0
YXJ0LApAQCAtNTQ1LDYgKzUzNSw4IEBAIENTU1BhcnNlclRva2VuIENTU1Rva2VuaXplcjo6Y29u
c3VtZU51bWJlcigpCiB7CiAgICAgQVNTRVJUKG5leHRDaGFyc0FyZU51bWJlcigpKTsKIAorICAg
IGF1dG8gc3RhcnRPZmZzZXQgPSBtX2lucHV0Lm9mZnNldCgpOworCiAgICAgTnVtZXJpY1ZhbHVl
VHlwZSB0eXBlID0gSW50ZWdlclZhbHVlVHlwZTsKICAgICBOdW1lcmljU2lnbiBzaWduID0gTm9T
aWduOwogICAgIHVuc2lnbmVkIG51bWJlckxlbmd0aCA9IDA7CkBAIC01ODAsNyArNTcyLDcgQEAg
Q1NTUGFyc2VyVG9rZW4gQ1NTVG9rZW5pemVyOjpjb25zdW1lTnVtYmVyKCkKICAgICBkb3VibGUg
dmFsdWUgPSBtX2lucHV0LmdldERvdWJsZSgwLCBudW1iZXJMZW5ndGgpOwogICAgIG1faW5wdXQu
YWR2YW5jZShudW1iZXJMZW5ndGgpOwogCi0gICAgcmV0dXJuIENTU1BhcnNlclRva2VuKE51bWJl
clRva2VuLCB2YWx1ZSwgdHlwZSwgc2lnbik7CisgICAgcmV0dXJuIENTU1BhcnNlclRva2VuKHZh
bHVlLCB0eXBlLCBzaWduLCBtX2lucHV0LnJhbmdlQXQoc3RhcnRPZmZzZXQsIG1faW5wdXQub2Zm
c2V0KCkgLSBzdGFydE9mZnNldCkpOwogfQogCiAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3Mz
LXN5bnRheC8jY29uc3VtZS1hLW51bWVyaWMtdG9rZW4KQEAgLTY1MiwzNyArNjQ0LDYgQEAgQ1NT
UGFyc2VyVG9rZW4gQ1NTVG9rZW5pemVyOjpjb25zdW1lU3RyaW5nVG9rZW5VbnRpbChVQ2hhciBl
bmRpbmdDb2RlUG9pbnQpCiAgICAgfQogfQogCi1DU1NQYXJzZXJUb2tlbiBDU1NUb2tlbml6ZXI6
OmNvbnN1bWVVbmljb2RlUmFuZ2UoKQotewotICAgIEFTU0VSVChpc0FTQ0lJSGV4RGlnaXQobV9p
bnB1dC5wZWVrKDApKSB8fCBtX2lucHV0LnBlZWsoMCkgPT0gJz8nKTsKLSAgICBpbnQgbGVuZ3Ro
UmVtYWluaW5nID0gNjsKLSAgICBVQ2hhcjMyIHN0YXJ0ID0gMDsKLQotICAgIHdoaWxlIChsZW5n
dGhSZW1haW5pbmcgJiYgaXNBU0NJSUhleERpZ2l0KG1faW5wdXQucGVlaygwKSkpIHsKLSAgICAg
ICAgc3RhcnQgPSBzdGFydCAqIDE2ICsgdG9BU0NJSUhleFZhbHVlKGNvbnN1bWUoKSk7Ci0gICAg
ICAgIC0tbGVuZ3RoUmVtYWluaW5nOwotICAgIH0KLQotICAgIFVDaGFyMzIgZW5kID0gc3RhcnQ7
Ci0gICAgaWYgKGxlbmd0aFJlbWFpbmluZyAmJiBjb25zdW1lSWZOZXh0KCc/JykpIHsKLSAgICAg
ICAgZG8gewotICAgICAgICAgICAgc3RhcnQgKj0gMTY7Ci0gICAgICAgICAgICBlbmQgPSBlbmQg
KiAxNiArIDB4RjsKLSAgICAgICAgICAgIC0tbGVuZ3RoUmVtYWluaW5nOwotICAgICAgICB9IHdo
aWxlIChsZW5ndGhSZW1haW5pbmcgJiYgY29uc3VtZUlmTmV4dCgnPycpKTsKLSAgICB9IGVsc2Ug
aWYgKG1faW5wdXQucGVlaygwKSA9PSAnLScgJiYgaXNBU0NJSUhleERpZ2l0KG1faW5wdXQucGVl
aygxKSkpIHsKLSAgICAgICAgbV9pbnB1dC5hZHZhbmNlKCk7Ci0gICAgICAgIGxlbmd0aFJlbWFp
bmluZyA9IDY7Ci0gICAgICAgIGVuZCA9IDA7Ci0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGVu
ZCA9IGVuZCAqIDE2ICsgdG9BU0NJSUhleFZhbHVlKGNvbnN1bWUoKSk7Ci0gICAgICAgICAgICAt
LWxlbmd0aFJlbWFpbmluZzsKLSAgICAgICAgfSB3aGlsZSAobGVuZ3RoUmVtYWluaW5nICYmIGlz
QVNDSUlIZXhEaWdpdChtX2lucHV0LnBlZWsoMCkpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gQ1NT
UGFyc2VyVG9rZW4oVW5pY29kZVJhbmdlVG9rZW4sIHN0YXJ0LCBlbmQpOwotfQotCiAvLyBodHRw
Oi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Mtc3ludGF4LyNub24tcHJpbnRhYmxlLWNvZGUtcG9pbnQK
IHN0YXRpYyBib29sIGlzTm9uUHJpbnRhYmxlQ29kZVBvaW50KFVDaGFyIGNjKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmgKaW5kZXggMjY1ODJkMTk4NWRkY2UxODQw
NDk4Mjg5NzYzYmQ5NTMwZTY2MTZhMC4uMjEwMDkxNzAzOGIxMGY2MmE3ZmEyNTMwMzMxNmRjYmZk
YzVkZGFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rva2VuaXplci5oCkBAIC02
OCw3ICs2OCw2IEBAIHByaXZhdGU6CiAgICAgQ1NTUGFyc2VyVG9rZW4gY29uc3VtZUlkZW50TGlr
ZVRva2VuKCk7CiAgICAgQ1NTUGFyc2VyVG9rZW4gY29uc3VtZU51bWJlcigpOwogICAgIENTU1Bh
cnNlclRva2VuIGNvbnN1bWVTdHJpbmdUb2tlblVudGlsKFVDaGFyKTsKLSAgICBDU1NQYXJzZXJU
b2tlbiBjb25zdW1lVW5pY29kZVJhbmdlKCk7CiAgICAgQ1NTUGFyc2VyVG9rZW4gY29uc3VtZVVy
bFRva2VuKCk7CiAKICAgICB2b2lkIGNvbnN1bWVCYWRVcmxSZW1uYW50cygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwCmluZGV4IDRjMzZjNzQwYTM3
ODI0NzgxMTNjMTc4OTQ2ZWJiMmRlODFjNTZmZDkuLjIzMzNmNDkwMzNlMjkwYTdjYjg1YjgyMjAx
MzY5ZDM0NjRiYTgzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6
ZXNDYWxjUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQ2Fs
Y1BhcnNlci5jcHAKQEAgLTE2Nyw3ICsxNjcsNiBAQCBib29sIFNpemVzQ2FsY1BhcnNlcjo6Y2Fs
Y1RvUmV2ZXJzZVBvbGlzaE5vdGF0aW9uKENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2UpCiAgICAg
ICAgIGNhc2UgU3VmZml4TWF0Y2hUb2tlbjoKICAgICAgICAgY2FzZSBTdWJzdHJpbmdNYXRjaFRv
a2VuOgogICAgICAgICBjYXNlIENvbHVtblRva2VuOgotICAgICAgICBjYXNlIFVuaWNvZGVSYW5n
ZVRva2VuOgogICAgICAgICBjYXNlIElkZW50VG9rZW46CiAgICAgICAgIGNhc2UgQ29tbWFUb2tl
bjoKICAgICAgICAgY2FzZSBDb2xvblRva2VuOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnN0YW50UHJvcGVydHlNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnN0YW50
UHJvcGVydHlNYXAuY3BwCmluZGV4IGJlNWFkNDgzZTBjMTM5N2I1ZjI4OWNhN2RjMzJhMjZlNTlk
NmY4OWYuLjAxMTliYzA4NGVhMjI2NzAyYTUwNTA3ODY0NDg0MzIzYzA1ZmJhYTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db25zdGFudFByb3BlcnR5TWFwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ29uc3RhbnRQcm9wZXJ0eU1hcC5jcHAKQEAgLTEwNSw3ICsxMDUsNyBA
QCBzdGF0aWMgUmVmPENTU1ZhcmlhYmxlRGF0YT4gdmFyaWFibGVEYXRhRm9yUG9zaXRpdmVQaXhl
bExlbmd0aChmbG9hdCBsZW5ndGhJblB4KQogewogICAgIEFTU0VSVChsZW5ndGhJblB4ID49IDAp
OwogCi0gICAgQ1NTUGFyc2VyVG9rZW4gdG9rZW4oTnVtYmVyVG9rZW4sIGxlbmd0aEluUHgsIE51
bWJlclZhbHVlVHlwZSwgTm9TaWduKTsKKyAgICBDU1NQYXJzZXJUb2tlbiB0b2tlbihsZW5ndGhJ
blB4LCBOdW1iZXJWYWx1ZVR5cGUsIE5vU2lnbiwgeyB9KTsKICAgICB0b2tlbi5jb252ZXJ0VG9E
aW1lbnNpb25XaXRoVW5pdCgicHgiKTsKIAogICAgIFZlY3RvcjxDU1NQYXJzZXJUb2tlbj4gdG9r
ZW5zIHsgdG9rZW4gfTsKQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgUmVmPENTU1ZhcmlhYmxl
RGF0YT4gdmFyaWFibGVEYXRhRm9yUG9zaXRpdmVEdXJhdGlvbihTZWNvbmRzIGR1cmF0aW9uSW5T
ZQogewogICAgIEFTU0VSVChkdXJhdGlvbkluU2Vjb25kcyA+PSAwX3MpOwogCi0gICAgQ1NTUGFy
c2VyVG9rZW4gdG9rZW4oTnVtYmVyVG9rZW4sIGR1cmF0aW9uSW5TZWNvbmRzLnZhbHVlKCksIE51
bWJlclZhbHVlVHlwZSwgTm9TaWduKTsKKyAgICBDU1NQYXJzZXJUb2tlbiB0b2tlbihkdXJhdGlv
bkluU2Vjb25kcy52YWx1ZSgpLCBOdW1iZXJWYWx1ZVR5cGUsIE5vU2lnbiwgeyB9KTsKICAgICB0
b2tlbi5jb252ZXJ0VG9EaW1lbnNpb25XaXRoVW5pdCgicyIpOwogCiAgICAgVmVjdG9yPENTU1Bh
cnNlclRva2VuPiB0b2tlbnMgeyB0b2tlbiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggZTNjNmZlMWU1ZjVhNGQyOWJhZmZmNjc4ZTFkOGIyODdmOTYxZjcyYi4uY2U2ZmFmMGE0
ZGE3ZGVhNTI1MWUyN2JiN2M5ZTI2ZGE5ZjhkODJlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIENTUyBwYXJzZXIgdXNpbmcgYSB0b2tlbiBmb3IgVW5pY29k
ZSByYW5nZXMsIGJ1dCByZWNlbnQgQ1NTIHNwZWNpZmljYXRpb24gc2F5cyBpdCBzaG91bGQgbm90
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1NjkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXN5bnRheC91bmljb2RlLXJhbmdlLXNlbGVjdG9yLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zeW50YXgvdXJh
bmdlLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICBFeHBlY3QgcGFzc2VzIGluc3RlYWQg
b2YgZmFpbHMuCisKIDIwMjEtMDYtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMjc5NDI3KSBbIE1hYyBdIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L2Nzcy1tb2R1bGUvaW50ZWdyaXR5Lmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXN5bnRheC91
bmljb2RlLXJhbmdlLXNlbGVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zeW50YXgvdW5pY29kZS1yYW5nZS1zZWxl
Y3Rvci1leHBlY3RlZC50eHQKaW5kZXggOTU5YTQxNTE1NTQ2N2UxYzI0ZTNhYjU1MGU0OGM3YjI3
YWUzOTMyMS4uNDg5YWU3MDUxZGY1OGRmYzFmZWNhOTA2MzMxYTIyZGI1YjgyMGE5YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXN5bnRheC91bmljb2RlLXJhbmdlLXNlbGVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc3ludGF4L3VuaWNv
ZGUtcmFuZ2Utc2VsZWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFVu
aWNvZGUgcmFuZ2UgaXMgbm90IGEgdG9rZW4sIGFuZCBkb2Vzbid0IGNhdXNlIGNvbmZ1c2lvbiBp
biBzZWxlY3RvcnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQg
Z290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgVW5pY29kZSByYW5nZSBpcyBub3QgYSB0b2tlbiwg
YW5kIGRvZXNuJ3QgY2F1c2UgY29uZnVzaW9uIGluIHNlbGVjdG9ycwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc3ludGF4
L3VyYW5nZS1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zeW50YXgvdXJhbmdlLXBhcnNpbmctZXhwZWN0ZWQu
dHh0CmluZGV4IDk4YWNkMzVkNjQzMGRlZjExMTQ1ZDhiNTc2ZmQ4YzlkNGQ2Njc2YzAuLjhhMTI2
ZTgxODA2ZTJhZjRlZTBmMmNlOWEzYWUwOTRjYzczNzAwNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zeW50YXgvdXJhbmdl
LXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zeW50YXgvdXJhbmdlLXBhcnNpbmctZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMICJ1LyoqLysvKiovYS8qKi8/IiA9PiAiVStBMC1BRiIg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlUrQTAtQUYiIGJ1dCBnb3QgIlUrMTM1NyIKK1BBU1Mg
InUvKiovKy8qKi9hLyoqLz8iID0+ICJVK0EwLUFGIgogUEFTUyAidSthYmMiID0+ICJVK0FCQyIK
IFBBU1MgIlUrYWJjIiA9PiAiVStBQkMiCiBQQVNTICJ1K0FCQyIgPT4gIlUrQUJDIgpAQCAtMjcs
OSArMjcsOSBAQCBQQVNTICJ1K2FhYT8/Pz8iIGlzIGludmFsaWQKIFBBU1MgInUrYWE/Pz8/PyIg
aXMgaW52YWxpZAogUEFTUyAidSthPz8/Pz8/IiBpcyBpbnZhbGlkCiBQQVNTICJ1K2E/YSIgaXMg
aW52YWxpZAotRkFJTCAidSthYWFhYWEiIGlzIGludmFsaWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIlUrMTM1NyIgYnV0IGdvdCAiVStBQUFBQUEiCi1GQUlMICJ1K2E/Pz8/PyIgaXMgaW52YWxp
ZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVSsxMzU3IiBidXQgZ290ICJVK0EwMDAwMC1BRkZG
RkYiCi1GQUlMICJ1LyoqLyswYS8qKi8/IiA9PiAiVStBMC1BRiIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIlUrQTAtQUYiIGJ1dCBnb3QgIlUrMTM1NyIKK1BBU1MgInUrYWFhYWFhIiBpcyBpbnZh
bGlkCitQQVNTICJ1K2E/Pz8/PyIgaXMgaW52YWxpZAorUEFTUyAidS8qKi8rMGEvKiovPyIgPT4g
IlUrQTAtQUYiCiBQQVNTICJ1KzBhIiA9PiAiVStBIgogUEFTUyAiVSswYTAiID0+ICJVK0EwIgog
UEFTUyAidSswYWFhYWEiID0+ICJVK0FBQUFBIgpAQCAtNDQsOSArNDQsOSBAQCBQQVNTICJ1KzAw
MDAwMGEiIGlzIGludmFsaWQKIFBBU1MgInUrMGE/Pz8/IiA9PiAiVStBMDAwMC1BRkZGRiIKIFBB
U1MgInUrMGE/Pz8/PyIgaXMgaW52YWxpZAogUEFTUyAidSswMGE/Pz8/IiBpcyBpbnZhbGlkCi1G
QUlMICJ1KzIyMjIyYSIgaXMgaW52YWxpZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVSsxMzU3
IiBidXQgZ290ICJVKzIyMjIyQSIKK1BBU1MgInUrMjIyMjJhIiBpcyBpbnZhbGlkCiBQQVNTICJ1
KzFlOWEiID0+ICJVKzFFOUEiCi1GQUlMICJ1LyoqLyswLyoqLz8iID0+ICJVKzAtRiIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIlUrMC1GIiBidXQgZ290ICJVKzEzNTciCitQQVNTICJ1LyoqLysw
LyoqLz8iID0+ICJVKzAtRiIKIFBBU1MgInUvKiovMCIgaXMgaW52YWxpZAogUEFTUyAidSswIiA9
PiAiVSswIgogUEFTUyAidSswMCIgPT4gIlUrMCIKQEAgLTYzLDkgKzYzLDkgQEAgUEFTUyAidSsw
MDAwMD8/IiBpcyBpbnZhbGlkCiBQQVNTICJ1KzA/Pz8/Pz8iIGlzIGludmFsaWQKIFBBU1MgInUr
MWUzIiA9PiAiVSsxRTMiCiBQQVNTICJ1KzFlLTIwIiA9PiAiVSsxRS0yMCIKLUZBSUwgInUrMjIy
MjIyIiBpcyBpbnZhbGlkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJVKzEzNTciIGJ1dCBnb3Qg
IlUrMjIyMjIyIgotRkFJTCAidSsyPz8/Pz8iIGlzIGludmFsaWQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIlUrMTM1NyIgYnV0IGdvdCAiVSsyMDAwMDAtMkZGRkZGIgotRkFJTCAidS8qKi8rMC8q
Ki8tMGEiID0+ICJVKzAtQSIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlUrMC1BIiBidXQgZ290
ICJVKzEzNTciCitQQVNTICJ1KzIyMjIyMiIgaXMgaW52YWxpZAorUEFTUyAidSsyPz8/Pz8iIGlz
IGludmFsaWQKK1BBU1MgInUvKiovKzAvKiovLTBhIiA9PiAiVSswLUEiCiBQQVNTICJ1KzAtMGEi
ID0+ICJVKzAtQSIKIFBBU1MgInUrMDAwMDAwLTBhYWFhYSIgPT4gIlUrMC1BQUFBQSIKIFBBU1Mg
InUrMDAwMDAwMC0wYSIgaXMgaW52YWxpZApAQCAtNzQsOCArNzQsOCBAQCBQQVNTICJ1KzAtMDAw
MDAwYSIgaXMgaW52YWxpZAogUEFTUyAidSswKzBhIiBpcyBpbnZhbGlkCiBQQVNTICJ1KzA/LTBh
IiBpcyBpbnZhbGlkCiBQQVNTICJ1KzAtMGE/IiBpcyBpbnZhbGlkCi1GQUlMICJ1KzIyMjIyMi0y
MjIyMmEiIGlzIGludmFsaWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlUrMTM1NyIgYnV0IGdv
dCAiVSsyMjIyMjItMjIyMjJBIgotRkFJTCAidS8qKi8rMC8qKi8tMSIgPT4gIlUrMC0xIiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiVSswLTEiIGJ1dCBnb3QgIlUrMTM1NyIKK1BBU1MgInUrMjIy
MjIyLTIyMjIyYSIgaXMgaW52YWxpZAorUEFTUyAidS8qKi8rMC8qKi8tMSIgPT4gIlUrMC0xIgog
UEFTUyAidSswLTEiID0+ICJVKzAtMSIKIFBBU1MgInUtMC0xIiBpcyBpbnZhbGlkCiBQQVNTICJ1
LTArMSIgaXMgaW52YWxpZApAQCAtODMsMTIgKzgzLDEyIEBAIFBBU1MgInUrMCsxIiBpcyBpbnZh
bGlkCiBQQVNTICJ1KzAwMDAwMC0wMDAwMDEiID0+ICJVKzAtMSIKIFBBU1MgInUrMDAwMDAwMC0x
IiBpcyBpbnZhbGlkCiBQQVNTICJ1KzAtMDAwMDAwMSIgaXMgaW52YWxpZAotRkFJTCAidSswLTIy
MjIyMiIgaXMgaW52YWxpZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVSsxMzU3IiBidXQgZ290
ICJVKzAtMjIyMjIyIgotRkFJTCAidS8qKi8rLyoqLz8iID0+ICJVKzAtRiIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlUrMC1GIiBidXQgZ290ICJVKzEzNTciCitQQVNTICJ1KzAtMjIyMjIyIiBp
cyBpbnZhbGlkCitQQVNTICJ1LyoqLysvKiovPyIgPT4gIlUrMC1GIgogUEFTUyAidSs/IiA9PiAi
VSswLUYiCiBQQVNTICJ1Kz8/Pz8/IiA9PiAidSswLUZGRkZGIgogUEFTUyAidSs/Pz8/Pz8/IiBp
cyBpbnZhbGlkCiBQQVNTICJ1Kz9hIiBpcyBpbnZhbGlkCi1GQUlMICJ1Kz8/Pz8/PyIgaXMgaW52
YWxpZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVSsxMzU3IiBidXQgZ290ICJVKzAtRkZGRkZG
IgotRkFJTCB1K2EgaXMgYSB2YWxpZCBzZWxlY3RvciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dSArIGEiIGJ1dCBnb3QgIi5lcnJvciIKK1BBU1MgInUrPz8/Pz8/IiBpcyBpbnZhbGlkCitQQVNT
IHUrYSBpcyBhIHZhbGlkIHNlbGVjdG9yCiAK
</data>
<flag name="review"
          id="454696"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>