<?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>230826</bug_id>
          
          <creation_ts>2021-09-27 05:05:44 -0700</creation_ts>
          <short_desc>[CSS Cascade Layers] Support @layer statement before @import statements</short_desc>
          <delta_ts>2021-09-27 09:30:59 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220779</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1797430</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-27 05:05:44 -0700</bug_when>
    <thetext>@layer a, b;
@import url(foo.css);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797433</commentid>
    <comment_count>1</comment_count>
      <attachid>439347</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-27 05:28:33 -0700</bug_when>
    <thetext>Created attachment 439347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797514</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-27 09:27:10 -0700</bug_when>
    <thetext>Committed r283120 (242178@main): &lt;https://commits.webkit.org/242178@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439347.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797516</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-27 09:28:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83576659&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439347</attachid>
            <date>2021-09-27 05:28:33 -0700</date>
            <delta_ts>2021-09-27 09:27:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230826-20210927152832.patch</filename>
            <type>text/plain</type>
            <size>18981</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM2ODYyOWE0MWM0ZWY4
ZTg5NWIxOWI1YjVmZTljN2JjMDgxZDhiMC4uNzI1ZDI0YjFkZGVjNmRiZjY4ODc0YTY4ZmExMTVi
MGM1MjdlNWU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTA5LTI3ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENhc2NhZGUgTGF5
ZXJzXSBTdXBwb3J0IEBsYXllciBzdGF0ZW1lbnQgYmVmb3JlIEBpbXBvcnQgc3RhdGVtZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwODI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydCBj
YXNlIGxpa2UKKworICAgICAgICAgICAgQGxheWVyIGEsIGI7CisgICAgICAgICAgICBAaW1wb3J0
IHVybChmb28uY3NzKTsKKworICAgICAgICBCZWZvcmUgdGhpcyBwYXRjaCBAaW1wb3J0IHJ1bGVz
IGNvdWxkIG9ubHkgYmUgcHJlY2VkZWQgYnkgYSBAY2hhcnNldCBydWxlLgorCisgICAgICAgICog
Y3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVMYXllcjo6Y3Jl
YXRlU3RhdGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUxheWVyOjpjcmVhdGVC
bG9jayk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVMYXllcjo6Y3JlYXRlKTogRGVsZXRl
ZC4KKworICAgICAgICBTb21lIGNsYXJpZnlpbmcgcmVuYW1pbmcuCisKKyAgICAgICAgKiBjc3Mv
U3R5bGVSdWxlLmg6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnBhcnNlckFwcGVuZFJ1bGUpOgorCisg
ICAgICAgIEFkZCBhIG5ldyBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxlcyB2ZWN0b3IgYW5k
IHB1dCBhbnkgZWFybHkgbGF5ZXIgc3RhdGVtZW50cyB0aGVyZS4KKworICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVTaGVldENvbnRlbnRzOjpydWxlQXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVTaGVldENvbnRlbnRzOjpydWxlQ291bnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVTaGVldENvbnRlbnRzOjpjbGVhclJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
U2hlZXRDb250ZW50czo6d3JhcHBlckluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVTaGVldENvbnRlbnRzOjp3cmFwcGVyRGVsZXRlUnVsZSk6CisgICAgICAgICogY3NzL1N0eWxl
U2hlZXRDb250ZW50cy5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlTmV3QWxsb3dlZFJ1bGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVJbXBvcnRSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVMYXllclJ1bGUpOgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydC4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oOgorICAgICAg
ICAqIHN0eWxlL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6
OkJ1aWxkZXI6OmFkZENoaWxkUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJ1bGVT
ZXQ6OkJ1aWxkZXI6OmFkZFJ1bGVzRnJvbVNoZWV0KToKKworICAgICAgICBSZWdpc3RlciBsYXll
cnMgYmVmb3JlIGltcG9ydHMuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpC
dWlsZGVyOjpyZWdpc3RlckxheWVycyk6CisKKyAgICAgICAgRmFjdG9yIGludG8gYSBmdW5jdGlv
bi4KKworICAgICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKwogMjAyMS0wOS0yNiAgSmVhbi1ZdmVz
IEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIFtNU0VdIGFwcGVuZGluZyB0byB0
aGUgc291cmNlIGJ1ZmZlciB3aWxsIG5vdCB0aHJvdyB3aGVuIHRoZSBzb3VyY2UgYnVmZmVyIGlz
IGZ1bGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDlkYTFjODZkMmNkOWE5M2M5MjMw
NWQ2MzA5MmI3MTc4MzgwMDJlNWMuLjA3MzU3NTA1ODM4ODNjYWM1NWZlMDQ2MTliZmIwMzVmMTAw
MTA5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC01MDAsMTcgKzUwMCwxNyBAQCBT
dHlsZVJ1bGVMYXllcjo6U3R5bGVSdWxlTGF5ZXIoY29uc3QgU3R5bGVSdWxlTGF5ZXImIG90aGVy
KQogewogfQogCi1SZWY8U3R5bGVSdWxlTGF5ZXI+IFN0eWxlUnVsZUxheWVyOjpjcmVhdGUoVmVj
dG9yPENhc2NhZGVMYXllck5hbWU+JiYgbmFtZUxpc3QpCitSZWY8U3R5bGVSdWxlTGF5ZXI+IFN0
eWxlUnVsZUxheWVyOjpjcmVhdGVTdGF0ZW1lbnQoVmVjdG9yPENhc2NhZGVMYXllck5hbWU+JiYg
bmFtZUxpc3QpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTGF5ZXIoV1RG
TW92ZShuYW1lTGlzdCkpKTsKIH0KIAotUmVmPFN0eWxlUnVsZUxheWVyPiBTdHlsZVJ1bGVMYXll
cjo6Y3JlYXRlKENhc2NhZGVMYXllck5hbWUmJiBuYW1lLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVs
ZUJhc2U+PiYmIHJ1bGVzKQorUmVmPFN0eWxlUnVsZUxheWVyPiBTdHlsZVJ1bGVMYXllcjo6Y3Jl
YXRlQmxvY2soQ2FzY2FkZUxheWVyTmFtZSYmIG5hbWUsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxl
QmFzZT4+JiYgcnVsZXMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTGF5
ZXIoV1RGTW92ZShuYW1lKSwgV1RGTW92ZShydWxlcykpKTsKIH0KIAotUmVmPFN0eWxlUnVsZUxh
eWVyPiBTdHlsZVJ1bGVMYXllcjo6Y3JlYXRlKENhc2NhZGVMYXllck5hbWUmJiBuYW1lLCBzdGQ6
OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgcnVsZXMpCitSZWY8U3R5
bGVSdWxlTGF5ZXI+IFN0eWxlUnVsZUxheWVyOjpjcmVhdGVCbG9jayhDYXNjYWRlTGF5ZXJOYW1l
JiYgbmFtZSwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIHJ1
bGVzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUxheWVyKFdURk1vdmUo
bmFtZSksIFdURk1vdmUocnVsZXMpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggOTdl
YzkxMWVlZDNjNzkxMzFhZGRkYTZjYzdlMGZkYmVhMmNhYTk0ZC4uNTQyZDJjZDFiMGYzZWY2YWVh
ZmQ2OGIzMDVlNTQ2NWQ2MTI1OTFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtMjkwLDEy
ICsyOTAsMTIgQEAgcHJpdmF0ZToKIAogY2xhc3MgU3R5bGVSdWxlTGF5ZXIgZmluYWwgOiBwdWJs
aWMgU3R5bGVSdWxlR3JvdXAgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTGF5
ZXI+IGNyZWF0ZShWZWN0b3I8Q2FzY2FkZUxheWVyTmFtZT4mJik7Ci0gICAgc3RhdGljIFJlZjxT
dHlsZVJ1bGVMYXllcj4gY3JlYXRlKENhc2NhZGVMYXllck5hbWUmJiwgVmVjdG9yPFJlZlB0cjxT
dHlsZVJ1bGVCYXNlPj4mJik7Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVMYXllcj4gY3JlYXRl
KENhc2NhZGVMYXllck5hbWUmJiwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1
bGVMaXN0PiYmKTsKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUxheWVyPiBjcmVhdGVTdGF0ZW1l
bnQoVmVjdG9yPENhc2NhZGVMYXllck5hbWU+JiYpOworICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxl
TGF5ZXI+IGNyZWF0ZUJsb2NrKENhc2NhZGVMYXllck5hbWUmJiwgVmVjdG9yPFJlZlB0cjxTdHls
ZVJ1bGVCYXNlPj4mJik7CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVMYXllcj4gY3JlYXRlQmxv
Y2soQ2FzY2FkZUxheWVyTmFtZSYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3Vw
UnVsZUxpc3Q+JiYpOwogICAgIFJlZjxTdHlsZVJ1bGVMYXllcj4gY29weSgpIGNvbnN0IHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTGF5ZXIoKnRoaXMpKTsgfQogCi0gICAgYm9vbCBp
c0xpc3QoKSBjb25zdCB7IHJldHVybiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFZlY3RvcjxDYXNj
YWRlTGF5ZXJOYW1lPj4obV9uYW1lVmFyaWFudCk7IH0KKyAgICBib29sIGlzU3RhdGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxWZWN0b3I8Q2FzY2FkZUxheWVy
TmFtZT4+KG1fbmFtZVZhcmlhbnQpOyB9CiAKICAgICBhdXRvJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gV1RGOjpnZXQ8Q2FzY2FkZUxheWVyTmFtZT4obV9uYW1lVmFyaWFudCk7IH0KICAgICBhdXRv
JiBuYW1lTGlzdCgpIGNvbnN0IHsgcmV0dXJuIFdURjo6Z2V0PFZlY3RvcjxDYXNjYWRlTGF5ZXJO
YW1lPj4obV9uYW1lVmFyaWFudCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250
ZW50cy5jcHAKaW5kZXggYTZlOTcxYzYyNjM2NmJiYTAwZTdkNWVlZDhkNTIzMGU3ODYzZWM5ZS4u
OGZkZmJiZDhkYTQ2NjhjMmI4M2VlMDgzZTIwYzZmOWU1ZTI0MzhhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEzMyw2ICsxMzMsMTQgQEAgdm9pZCBT
dHlsZVNoZWV0Q29udGVudHM6OnBhcnNlckFwcGVuZFJ1bGUoUmVmPFN0eWxlUnVsZUJhc2U+JiYg
cnVsZSkKIHsKICAgICBBU1NFUlQoIXJ1bGUtPmlzQ2hhcnNldFJ1bGUoKSk7CiAKKyAgICBpZiAo
aXM8U3R5bGVSdWxlTGF5ZXI+KHJ1bGUpICYmIG1faW1wb3J0UnVsZXMuaXNFbXB0eSgpICYmIG1f
Y2hpbGRSdWxlcy5pc0VtcHR5KCkgJiYgbV9uYW1lc3BhY2VSdWxlcy5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgYXV0byYgbGF5ZXJSdWxlID0gZG93bmNhc3Q8U3R5bGVSdWxlTGF5ZXI+KHJ1bGUuZ2V0
KCkpOworICAgICAgICBpZiAobGF5ZXJSdWxlLmlzU3RhdGVtZW50KCkpIHsKKyAgICAgICAgICAg
IG1fbGF5ZXJSdWxlc0JlZm9yZUltcG9ydFJ1bGVzLmFwcGVuZCgmbGF5ZXJSdWxlKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChpczxTdHlsZVJ1bGVJ
bXBvcnQ+KHJ1bGUpKSB7CiAgICAgICAgIC8vIFBhcnNlciBlbmZvcmNlcyB0aGF0IEBpbXBvcnQg
cnVsZXMgY29tZSBiZWZvcmUgYW55dGhpbmcgZWxzZSBleGNlcHQgQGNoYXJzZXQuCiAgICAgICAg
IEFTU0VSVChtX2NoaWxkUnVsZXMuaXNFbXB0eSgpKTsKQEAgLTE0Niw5ICsxNTQsOSBAQCB2b2lk
IFN0eWxlU2hlZXRDb250ZW50czo6cGFyc2VyQXBwZW5kUnVsZShSZWY8U3R5bGVSdWxlQmFzZT4m
JiBydWxlKQogICAgICAgICAvLyBQYXJzZXIgZW5mb3JjZXMgdGhhdCBAbmFtZXNwYWNlIHJ1bGVz
IGNvbWUgYmVmb3JlIGFsbCBydWxlcyBvdGhlciB0aGFuCiAgICAgICAgIC8vIGltcG9ydC9jaGFy
c2V0IHJ1bGVzCiAgICAgICAgIEFTU0VSVChtX2NoaWxkUnVsZXMuaXNFbXB0eSgpKTsKLSAgICAg
ICAgU3R5bGVSdWxlTmFtZXNwYWNlJiBuYW1lc3BhY2VSdWxlID0gZG93bmNhc3Q8U3R5bGVSdWxl
TmFtZXNwYWNlPihydWxlLmdldCgpKTsKKyAgICAgICAgYXV0byYgbmFtZXNwYWNlUnVsZSA9IGRv
d25jYXN0PFN0eWxlUnVsZU5hbWVzcGFjZT4ocnVsZS5nZXQoKSk7CiAgICAgICAgIHBhcnNlckFk
ZE5hbWVzcGFjZShuYW1lc3BhY2VSdWxlLnByZWZpeCgpLCBuYW1lc3BhY2VSdWxlLnVyaSgpKTsK
LSAgICAgICAgbV9uYW1lc3BhY2VSdWxlcy5hcHBlbmQoZG93bmNhc3Q8U3R5bGVSdWxlTmFtZXNw
YWNlPihydWxlLnB0cigpKSk7CisgICAgICAgIG1fbmFtZXNwYWNlUnVsZXMuYXBwZW5kKCZuYW1l
c3BhY2VSdWxlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTcwLDYgKzE3OCwxMSBA
QCBTdHlsZVJ1bGVCYXNlKiBTdHlsZVNoZWV0Q29udGVudHM6OnJ1bGVBdCh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihpbmRleCA8IHJ1
bGVDb3VudCgpKTsKICAgICAKICAgICB1bnNpZ25lZCBjaGlsZFZlY3RvckluZGV4ID0gaW5kZXg7
CisgICAgaWYgKGNoaWxkVmVjdG9ySW5kZXggPCBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxl
cy5zaXplKCkpCisgICAgICAgIHJldHVybiBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxlc1tj
aGlsZFZlY3RvckluZGV4XS5nZXQoKTsKKworICAgIGNoaWxkVmVjdG9ySW5kZXggLT0gbV9sYXll
clJ1bGVzQmVmb3JlSW1wb3J0UnVsZXMuc2l6ZSgpOworCiAgICAgaWYgKGNoaWxkVmVjdG9ySW5k
ZXggPCBtX2ltcG9ydFJ1bGVzLnNpemUoKSkKICAgICAgICAgcmV0dXJuIG1faW1wb3J0UnVsZXNb
Y2hpbGRWZWN0b3JJbmRleF0uZ2V0KCk7CiAKQEAgLTE4Niw2ICsxOTksNyBAQCBTdHlsZVJ1bGVC
YXNlKiBTdHlsZVNoZWV0Q29udGVudHM6OnJ1bGVBdCh1bnNpZ25lZCBpbmRleCkgY29uc3QKIHVu
c2lnbmVkIFN0eWxlU2hlZXRDb250ZW50czo6cnVsZUNvdW50KCkgY29uc3QKIHsKICAgICB1bnNp
Z25lZCByZXN1bHQgPSAwOworICAgIHJlc3VsdCArPSBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRS
dWxlcy5zaXplKCk7CiAgICAgcmVzdWx0ICs9IG1faW1wb3J0UnVsZXMuc2l6ZSgpOwogICAgIHJl
c3VsdCArPSBtX25hbWVzcGFjZVJ1bGVzLnNpemUoKTsKICAgICByZXN1bHQgKz0gbV9jaGlsZFJ1
bGVzLnNpemUoKTsKQEAgLTIwMyw2ICsyMTcsNyBAQCB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6
Y2xlYXJSdWxlcygpCiAgICAgICAgIEFTU0VSVChtX2ltcG9ydFJ1bGVzLmF0KGkpLT5wYXJlbnRT
dHlsZVNoZWV0KCkgPT0gdGhpcyk7CiAgICAgICAgIG1faW1wb3J0UnVsZXNbaV0tPmNsZWFyUGFy
ZW50U3R5bGVTaGVldCgpOwogICAgIH0KKyAgICBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxl
cy5jbGVhcigpOwogICAgIG1faW1wb3J0UnVsZXMuY2xlYXIoKTsKICAgICBtX25hbWVzcGFjZVJ1
bGVzLmNsZWFyKCk7CiAgICAgbV9jaGlsZFJ1bGVzLmNsZWFyKCk7CkBAIC0yMjQsNiArMjM5LDE3
IEBAIGJvb2wgU3R5bGVTaGVldENvbnRlbnRzOjp3cmFwcGVySW5zZXJ0UnVsZShSZWY8U3R5bGVS
dWxlQmFzZT4mJiBydWxlLCB1bnNpZ25lZCBpCiAgICAgQVNTRVJUKCFydWxlLT5pc0NoYXJzZXRS
dWxlKCkpOwogICAgIAogICAgIHVuc2lnbmVkIGNoaWxkVmVjdG9ySW5kZXggPSBpbmRleDsKKyAg
ICBpZiAoY2hpbGRWZWN0b3JJbmRleCA8IG1fbGF5ZXJSdWxlc0JlZm9yZUltcG9ydFJ1bGVzLnNp
emUoKSB8fCAoY2hpbGRWZWN0b3JJbmRleCA9PSBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxl
cy5zaXplKCkgJiYgaXM8U3R5bGVSdWxlTGF5ZXI+KHJ1bGUpKSkgeworICAgICAgICBpZiAoIWlz
PFN0eWxlUnVsZUxheWVyPihydWxlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgYXV0byYgbGF5ZXJSdWxlID0gZG93bmNhc3Q8U3R5bGVSdWxlTGF5ZXI+KHJ1bGUuZ2V0KCkp
OworICAgICAgICBpZiAobGF5ZXJSdWxlLmlzU3RhdGVtZW50KCkpCisgICAgICAgICAgICBtX2xh
eWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxlcy5pbnNlcnQoY2hpbGRWZWN0b3JJbmRleCwgJmxheWVy
UnVsZSk7CisgICAgICAgIGVsc2UgaWYgKGNoaWxkVmVjdG9ySW5kZXggPCBtX2xheWVyUnVsZXNC
ZWZvcmVJbXBvcnRSdWxlcy5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorICAgIGNoaWxkVmVjdG9ySW5kZXggLT0gbV9sYXllclJ1bGVzQmVmb3JlSW1wb3J0UnVsZXMu
c2l6ZSgpOworCiAgICAgaWYgKGNoaWxkVmVjdG9ySW5kZXggPCBtX2ltcG9ydFJ1bGVzLnNpemUo
KSB8fCAoY2hpbGRWZWN0b3JJbmRleCA9PSBtX2ltcG9ydFJ1bGVzLnNpemUoKSAmJiBydWxlLT5p
c0ltcG9ydFJ1bGUoKSkpIHsKICAgICAgICAgLy8gSW5zZXJ0aW5nIG5vbi1pbXBvcnQgcnVsZSBi
ZWZvcmUgQGltcG9ydCBpcyBub3QgYWxsb3dlZC4KICAgICAgICAgaWYgKCFpczxTdHlsZVJ1bGVJ
bXBvcnQ+KHJ1bGUpKQpAQCAtMjM5LDcgKzI2NSw2IEBAIGJvb2wgU3R5bGVTaGVldENvbnRlbnRz
Ojp3cmFwcGVySW5zZXJ0UnVsZShSZWY8U3R5bGVSdWxlQmFzZT4mJiBydWxlLCB1bnNpZ25lZCBp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjaGlsZFZlY3RvckluZGV4IC09IG1faW1wb3J0
UnVsZXMuc2l6ZSgpOwogCi0gICAgCiAgICAgaWYgKGNoaWxkVmVjdG9ySW5kZXggPCBtX25hbWVz
cGFjZVJ1bGVzLnNpemUoKSB8fCAoY2hpbGRWZWN0b3JJbmRleCA9PSBtX25hbWVzcGFjZVJ1bGVz
LnNpemUoKSAmJiBydWxlLT5pc05hbWVzcGFjZVJ1bGUoKSkpIHsKICAgICAgICAgLy8gSW5zZXJ0
aW5nIG5vbi1uYW1lc3BhY2UgcnVsZXMgb3RoZXIgdGhhbiBpbXBvcnQgcnVsZSBiZWZvcmUgQG5h
bWVzcGFjZSBpcwogICAgICAgICAvLyBub3QgYWxsb3dlZC4KQEAgLTI3OCw2ICszMDMsMTIgQEAg
dm9pZCBTdHlsZVNoZWV0Q29udGVudHM6OndyYXBwZXJEZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4
KQogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGluZGV4IDwgcnVsZUNvdW50
KCkpOwogCiAgICAgdW5zaWduZWQgY2hpbGRWZWN0b3JJbmRleCA9IGluZGV4OworICAgIGlmIChj
aGlsZFZlY3RvckluZGV4IDwgbV9sYXllclJ1bGVzQmVmb3JlSW1wb3J0UnVsZXMuc2l6ZSgpKSB7
CisgICAgICAgIG1fbGF5ZXJSdWxlc0JlZm9yZUltcG9ydFJ1bGVzLnJlbW92ZShjaGlsZFZlY3Rv
ckluZGV4KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjaGlsZFZlY3RvckluZGV4IC09
IG1fbGF5ZXJSdWxlc0JlZm9yZUltcG9ydFJ1bGVzLnNpemUoKTsKKwogICAgIGlmIChjaGlsZFZl
Y3RvckluZGV4IDwgbV9pbXBvcnRSdWxlcy5zaXplKCkpIHsKICAgICAgICAgbV9pbXBvcnRSdWxl
c1tjaGlsZFZlY3RvckluZGV4XS0+Y2xlYXJQYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgICAgIG1f
aW1wb3J0UnVsZXMucmVtb3ZlKGNoaWxkVmVjdG9ySW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlU2hlZXRDb250ZW50cy5oCmluZGV4IDI2MGUwOTdhOWE5OTliYTczYzYzY2JhZDc1NDM3YjZm
MGI4YjhlOGQuLjNiYzJiZTI4NzA3ZDFiYzcwYmUxZmM2ZDUxNGJhNDI4ZjQzNWE0OWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xh
c3MgTm9kZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNs
YXNzIFN0eWxlUnVsZUltcG9ydDsKK2NsYXNzIFN0eWxlUnVsZUxheWVyOwogY2xhc3MgU3R5bGVS
dWxlTmFtZXNwYWNlOwogCiBlbnVtIGNsYXNzIENhY2hlUG9saWN5IDogdWludDhfdDsKQEAgLTEw
MiwxMCArMTAzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyUnVsZXMoKTsKIAogICAgIFN0
cmluZyBlbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RpbmdG
cm9tQ2hhcnNldFJ1bGU7IH0KLSAgICAvLyBSdWxlcyBvdGhlciB0aGFuIEBjaGFyc2V0IGFuZCBA
aW1wb3J0LgotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBjaGlsZFJ1
bGVzKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZFJ1bGVzOyB9CisgICAgY29uc3QgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVMYXllcj4+JiBsYXllclJ1bGVzQmVmb3JlSW1wb3J0UnVsZXMoKSBjb25z
dCB7IHJldHVybiBtX2xheWVyUnVsZXNCZWZvcmVJbXBvcnRSdWxlczsgfQogICAgIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8U3R5bGVSdWxlSW1wb3J0Pj4mIGltcG9ydFJ1bGVzKCkgY29uc3QgeyByZXR1
cm4gbV9pbXBvcnRSdWxlczsgfQogICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlTmFt
ZXNwYWNlPj4mIG5hbWVzcGFjZVJ1bGVzKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lc3BhY2VSdWxl
czsgfQorICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBjaGlsZFJ1bGVz
KCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZFJ1bGVzOyB9CiAKICAgICB2b2lkIG5vdGlmeUxvYWRl
ZFNoZWV0KGNvbnN0IENhY2hlZENTU1N0eWxlU2hlZXQqKTsKICAgICAKQEAgLTE2MCw2ICsxNjEs
NyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX29yaWdpbmFsVVJMOwogCiAgICAgU3RyaW5nIG1f
ZW5jb2RpbmdGcm9tQ2hhcnNldFJ1bGU7CisgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVMYXll
cj4+IG1fbGF5ZXJSdWxlc0JlZm9yZUltcG9ydFJ1bGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3R5
bGVSdWxlSW1wb3J0Pj4gbV9pbXBvcnRSdWxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0eWxlUnVs
ZU5hbWVzcGFjZT4+IG1fbmFtZXNwYWNlUnVsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPj4gbV9jaGlsZFJ1bGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5jcHAKaW5kZXggMjQ3ZGZjYmJiNjEwMGExOGVkOWIyZWZkYmUyNWNjMTUyOTIyYTU0
MS4uMTI4YzczYjgwNzhkMjg1Y2ZjODYzNGQ5MzIzZDUyMGE0ZjgwNDI0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0zNDQsNyArMzQ0LDkgQEAg
c3RhdGljIENTU1BhcnNlckltcGw6OkFsbG93ZWRSdWxlc1R5cGUgY29tcHV0ZU5ld0FsbG93ZWRS
dWxlcyhDU1NQYXJzZXJJbXBsOjpBbGwKICAgICBpZiAoIXJ1bGUgfHwgYWxsb3dlZFJ1bGVzID09
IENTU1BhcnNlckltcGw6OktleWZyYW1lUnVsZXMgfHwgYWxsb3dlZFJ1bGVzID09IENTU1BhcnNl
ckltcGw6OkNvdW50ZXJTdHlsZVJ1bGVzIHx8IGFsbG93ZWRSdWxlcyA9PSBDU1NQYXJzZXJJbXBs
OjpOb1J1bGVzKQogICAgICAgICByZXR1cm4gYWxsb3dlZFJ1bGVzOwogICAgIEFTU0VSVChhbGxv
d2VkUnVsZXMgPD0gQ1NTUGFyc2VySW1wbDo6UmVndWxhclJ1bGVzKTsKLSAgICBpZiAocnVsZS0+
aXNDaGFyc2V0UnVsZSgpIHx8IHJ1bGUtPmlzSW1wb3J0UnVsZSgpKQorICAgIGlmIChhbGxvd2Vk
UnVsZXMgPD0gQ1NTUGFyc2VySW1wbDo6QWxsb3dMYXllclN0YXRlbWVudFJ1bGVzICYmIChydWxl
LT5pc0NoYXJzZXRSdWxlKCkgfHwgcnVsZS0+aXNMYXllclJ1bGUoKSkpCisgICAgICAgIHJldHVy
biBDU1NQYXJzZXJJbXBsOjpBbGxvd0xheWVyU3RhdGVtZW50UnVsZXM7CisgICAgaWYgKHJ1bGUt
PmlzSW1wb3J0UnVsZSgpKQogICAgICAgICByZXR1cm4gQ1NTUGFyc2VySW1wbDo6QWxsb3dJbXBv
cnRSdWxlczsKICAgICBpZiAocnVsZS0+aXNOYW1lc3BhY2VSdWxlKCkpCiAgICAgICAgIHJldHVy
biBDU1NQYXJzZXJJbXBsOjpBbGxvd05hbWVzcGFjZVJ1bGVzOwpAQCAtNTU3LDcgKzU1OSw3IEBA
IFJlZlB0cjxTdHlsZVJ1bGVJbXBvcnQ+IENTU1BhcnNlckltcGw6OmNvbnN1bWVJbXBvcnRSdWxl
KENTU1BhcnNlclRva2VuUmFuZ2UgcHJlCiAgICAgYXV0byBjb25zdW1lQ2FzY2FkZUxheWVyID0g
WyZdKCkgLT4gc3RkOjpvcHRpb25hbDxDYXNjYWRlTGF5ZXJOYW1lPiB7CiAgICAgICAgIGlmICgh
bV9jb250ZXh0LmNhc2NhZGVMYXllcnNFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsK
LSAgICAgICAgCisKICAgICAgICAgYXV0byYgdG9rZW4gPSBwcmVsdWRlLnBlZWsoKTsKICAgICAg
ICAgaWYgKHRva2VuLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuICYmIGVxdWFsSWdub3JpbmdBU0NJ
SUNhc2UodG9rZW4udmFsdWUoKSwgImxheWVyIikpIHsKICAgICAgICAgICAgIGF1dG8gY29udGVu
dHMgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVGdW5jdGlvbihwcmVsdWRlKTsK
QEAgLTgxNCw3ICs4MTYsNyBAQCBSZWZQdHI8U3R5bGVSdWxlTGF5ZXI+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVMYXllclJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdQogICAgICAgICAgICAg
bV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkoZW5kT2Zmc2V0KTsKICAg
ICAgICAgfQogCi0gICAgICAgIHJldHVybiBTdHlsZVJ1bGVMYXllcjo6Y3JlYXRlKFdURk1vdmUo
bmFtZUxpc3QpKTsKKyAgICAgICAgcmV0dXJuIFN0eWxlUnVsZUxheWVyOjpjcmVhdGVTdGF0ZW1l
bnQoV1RGTW92ZShuYW1lTGlzdCkpOwogICAgIH0KIAogICAgIGF1dG8gbmFtZSA9IGNvbnN1bWVD
YXNjYWRlTGF5ZXJOYW1lKHByZWx1ZGUsIEFsbG93QW5vbnltb3VzOjpZZXMpOwpAQCAtODI2LDcg
KzgyOCw3IEBAIFJlZlB0cjxTdHlsZVJ1bGVMYXllcj4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUxh
eWVyUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgaWYgKG1fZGVmZXJyZWRQYXJzZXIpCi0gICAgICAgIHJldHVybiBTdHlsZVJ1bGVM
YXllcjo6Y3JlYXRlKFdURk1vdmUoKm5hbWUpLCBtYWtlVW5pcXVlPERlZmVycmVkU3R5bGVHcm91
cFJ1bGVMaXN0PigqYmxvY2ssICptX2RlZmVycmVkUGFyc2VyKSk7CisgICAgICAgIHJldHVybiBT
dHlsZVJ1bGVMYXllcjo6Y3JlYXRlQmxvY2soV1RGTW92ZSgqbmFtZSksIG1ha2VVbmlxdWU8RGVm
ZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+KCpibG9jaywgKm1fZGVmZXJyZWRQYXJzZXIpKTsKIAog
ICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikgewogICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+
b2JzZXJ2ZXIoKS5zdGFydFJ1bGVIZWFkZXIoU3R5bGVSdWxlVHlwZTo6TGF5ZXIsIG1fb2JzZXJ2
ZXJXcmFwcGVyLT5zdGFydE9mZnNldChwcmVsdWRlQ29weSkpOwpAQCAtODQzLDcgKzg0NSw3IEBA
IFJlZlB0cjxTdHlsZVJ1bGVMYXllcj4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUxheWVyUnVsZShD
U1NQYXJzZXJUb2tlblJhbmdlIHByZWx1CiAgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVyKQogICAg
ICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5lbmRSdWxlQm9keShtX29ic2VydmVy
V3JhcHBlci0+ZW5kT2Zmc2V0KCpibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZUxheWVy
OjpjcmVhdGUoV1RGTW92ZSgqbmFtZSksIFdURk1vdmUocnVsZXMpKTsKKyAgICByZXR1cm4gU3R5
bGVSdWxlTGF5ZXI6OmNyZWF0ZUJsb2NrKFdURk1vdmUoKm5hbWUpLCBXVEZNb3ZlKHJ1bGVzKSk7
CiB9CiAKIC8vIEZJWE1FLU5FV1BBUlNFUjogU3VwcG9ydCAiYXBwbHkiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCmluZGV4IGUyNWZlNWUyYTc1MjhjYWI0MzRhOWVl
Yjg2YThkMWNkN2FmYWEzYWQuLmQ4Y2Y3Yjg1MDEzN2M0NWYzYTQ2OWVmMzNiOTNhMWJjMWEwZGJk
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCkBAIC03Nyw2
ICs3Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gbWF5IGZvbGxvdyBpdCwgaS5lLiBAbmFtZXNw
YWNlIHJ1bGVzIGFuZCByZWd1bGFyIHJ1bGVzLgogICAgICAgICAvLyBBbGxvd0NoYXJzZXRSdWxl
cyBhbmQgQWxsb3dOYW1lc3BhY2VSdWxlcyBiZWhhdmUgc2ltaWxhcmx5LgogICAgICAgICBBbGxv
d0NoYXJzZXRSdWxlcywKKyAgICAgICAgQWxsb3dMYXllclN0YXRlbWVudFJ1bGVzLAogICAgICAg
ICBBbGxvd0ltcG9ydFJ1bGVzLAogICAgICAgICBBbGxvd05hbWVzcGFjZVJ1bGVzLAogICAgICAg
ICBSZWd1bGFyUnVsZXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCmluZGV4IDM5N2JmMjU5NDgx
OTBlMmQxMGY3MTM3NDE5N2RlZTdhYjc2MjM1NWYuLmFlZDQ4NTM3ZWRmZGUxZjgxNmQwNGNiNjRh
MzcwOTBiMTAwN2U5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCkBAIC0zMzUsMTIgKzMz
NSw5IEBAIHZvaWQgUnVsZVNldDo6QnVpbGRlcjo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8
UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMpCiAgICAgICAgIH0KICAgICAgICAgaWYgKGlz
PFN0eWxlUnVsZUxheWVyPigqcnVsZSkpIHsKICAgICAgICAgICAgIGF1dG8mIGxheWVyUnVsZSA9
IGRvd25jYXN0PFN0eWxlUnVsZUxheWVyPigqcnVsZSk7Ci0gICAgICAgICAgICBpZiAobGF5ZXJS
dWxlLmlzTGlzdCgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gTGlzdCBzeW50YXggdGhhdCBqdXN0
IHJlZ2lzdGVycyB0aGUgbGF5ZXJzLgotICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6
IGxheWVyUnVsZS5uYW1lTGlzdCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2hDYXNjYWRl
TGF5ZXIobmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIHBvcENhc2NhZGVMYXllcihuYW1lKTsK
LSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobGF5ZXJSdWxlLmlzU3RhdGVtZW50
KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBTdGF0ZW1lbnQgc3ludGF4IGp1c3QgcmVnaXN0ZXJz
IHRoZSBsYXllcnMuCisgICAgICAgICAgICAgICAgcmVnaXN0ZXJMYXllcnMobGF5ZXJSdWxlLm5h
bWVMaXN0KCkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgLy8gQmxvY2sgc3ludGF4LgpAQCAtMzgxLDYgKzM3OCw5IEBAIHZvaWQgUnVsZVNl
dDo6QnVpbGRlcjo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiYgcnVsZXMpCiAKIHZvaWQgUnVsZVNldDo6QnVpbGRlcjo6YWRkUnVsZXNGcm9tU2hlZXQo
Y29uc3QgU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCkKIHsKKyAgICBmb3IgKGF1dG8mIHJ1bGUg
OiBzaGVldC5sYXllclJ1bGVzQmVmb3JlSW1wb3J0UnVsZXMoKSkKKyAgICAgICAgcmVnaXN0ZXJM
YXllcnMocnVsZS0+bmFtZUxpc3QoKSk7CisKICAgICBmb3IgKGF1dG8mIHJ1bGUgOiBzaGVldC5p
bXBvcnRSdWxlcygpKSB7CiAgICAgICAgIGlmICghcnVsZS0+c3R5bGVTaGVldCgpKQogICAgICAg
ICAgICAgY29udGludWU7CkBAIC00MTcsNiArNDE3LDE0IEBAIHZvaWQgUnVsZVNldDo6QnVpbGRl
cjo6YWRkU3R5bGVSdWxlKGNvbnN0IFN0eWxlUnVsZSYgcnVsZSkKICAgICAgICAgcnVsZVNldC0+
YWRkUnVsZShydWxlLCBzZWxlY3RvckluZGV4LCBzZWxlY3Rvckxpc3RJbmRleCsrLCBjdXJyZW50
Q2FzY2FkZUxheWVySWRlbnRpZmllciwgJm1lZGlhUXVlcnlDb2xsZWN0b3IpOwogfQogCit2b2lk
IFJ1bGVTZXQ6OkJ1aWxkZXI6OnJlZ2lzdGVyTGF5ZXJzKGNvbnN0IFZlY3RvcjxDYXNjYWRlTGF5
ZXJOYW1lPiYgbmFtZXMpCit7CisgICAgZm9yIChhdXRvJiBuYW1lIDogbmFtZXMpIHsKKyAgICAg
ICAgcHVzaENhc2NhZGVMYXllcihuYW1lKTsKKyAgICAgICAgcG9wQ2FzY2FkZUxheWVyKG5hbWUp
OworICAgIH0KK30KKwogdm9pZCBSdWxlU2V0OjpCdWlsZGVyOjpwdXNoQ2FzY2FkZUxheWVyKGNv
bnN0IENhc2NhZGVMYXllck5hbWUmIG5hbWUpCiB7CiAgICAgaWYgKG1vZGUgIT0gTW9kZTo6Tm9y
bWFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IDU3MTI1Y2VlODg3ZGMxOWQwYjk4NzhhOGY2
ODZmN2Y4NGYyMWU3ZWQuLjRkNzZjY2FiNjM5ZDliMzJlZjNkOGExODBjYjA0N2U1ZWNiYzg5MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKQEAgLTE3MSw2ICsxNzEsNyBAQCBwcml2YXRlOgogICAg
ICAgICB2b2lkIGFkZENoaWxkUnVsZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNl
Pj4mKTsKICAgICAgICAgdm9pZCBhZGRTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJik7CiAKKyAg
ICAgICAgdm9pZCByZWdpc3RlckxheWVycyhjb25zdCBWZWN0b3I8Q2FzY2FkZUxheWVyTmFtZT4m
KTsKICAgICAgICAgdm9pZCBwdXNoQ2FzY2FkZUxheWVyKGNvbnN0IENhc2NhZGVMYXllck5hbWUm
KTsKICAgICAgICAgdm9pZCBwb3BDYXNjYWRlTGF5ZXIoY29uc3QgQ2FzY2FkZUxheWVyTmFtZSYp
OwogICAgICAgICB2b2lkIHVwZGF0ZUNhc2NhZGVMYXllck9yZGVyKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCAxYjBhOTcxZjNhYjIzZTEyMjFkMDEyMzUxYmEwZmJlYjEwZjdk
ZmQ2Li4zMzI4OWJiNWZlOTQyOTNmMjU3ZGZmZTk5OTI5OTlkNGQ3ZWIyMzJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wOS0yNyAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBDYXNjYWRlIExheWVy
c10gU3VwcG9ydCBAbGF5ZXIgc3RhdGVtZW50IGJlZm9yZSBAaW1wb3J0IHN0YXRlbWVudHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDgyNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9sYXllci1pbXBvcnQtZXhwZWN0ZWQudHh0OgorCiAy
MDIxLTA5LTI2ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGNhbnZhcyBIaXRSZWdpb25zIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9sYXllci1p
bXBvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvbGF5ZXItaW1wb3J0LWV4cGVjdGVkLnR4dAppbmRleCAx
NDIyNjRkNzk2ZjgwYzI4MDNjNTAzYTRkMDU2Nzg3MWEwZTgwMGE5Li43MmRjMzA1YTk4MzlkNWJh
MzVhZDUwNDQxZTEwZTA2Zjg3YzZmMjM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9sYXllci1pbXBvcnQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jYXNjYWRlL2xheWVyLWltcG9ydC1leHBlY3RlZC50eHQKQEAgLTE3LDkgKzE3
LDkgQEAgUEFTUyBDNyBOYW1lZCBpbXBvcnRzCiBQQVNTIEM4IE5hbWVkIGltcG9ydHMKIFBBU1Mg
QzkgTmFtZWQgaW1wb3J0cwogUEFTUyBEMSBMYXllciBzdGF0ZW1lbnQgd2l0aCBpbXBvcnRzCi1G
QUlMIEQyIExheWVyIHN0YXRlbWVudCB3aXRoIGltcG9ydHMgYXNzZXJ0X2VxdWFsczogRDIgTGF5
ZXIgc3RhdGVtZW50IHdpdGggaW1wb3J0cywgdGFyZ2V0ICdmaXJzdCcgZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKLUZBSUwgRDMgTGF5ZXIgc3RhdGVt
ZW50IHdpdGggaW1wb3J0cyBhc3NlcnRfZXF1YWxzOiBEMyBMYXllciBzdGF0ZW1lbnQgd2l0aCBp
bXBvcnRzLCB0YXJnZXQgJ2ZpcnN0JyBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3Qg
InJnYigyNTUsIDAsIDApIgotRkFJTCBENCBMYXllciBzdGF0ZW1lbnQgd2l0aCBpbXBvcnRzIGFz
c2VydF9lcXVhbHM6IEQ0IExheWVyIHN0YXRlbWVudCB3aXRoIGltcG9ydHMsIHRhcmdldCAnZmly
c3QnIGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCi1G
QUlMIEQ1IExheWVyIHN0YXRlbWVudCB3aXRoIGltcG9ydHMgYXNzZXJ0X2VxdWFsczogRDUgTGF5
ZXIgc3RhdGVtZW50IHdpdGggaW1wb3J0cywgdGFyZ2V0ICdmaXJzdCcgZXhwZWN0ZWQgInJnYigw
LCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgRDIgTGF5ZXIgc3RhdGVt
ZW50IHdpdGggaW1wb3J0cworUEFTUyBEMyBMYXllciBzdGF0ZW1lbnQgd2l0aCBpbXBvcnRzCitQ
QVNTIEQ0IExheWVyIHN0YXRlbWVudCB3aXRoIGltcG9ydHMKK1BBU1MgRDUgTGF5ZXIgc3RhdGVt
ZW50IHdpdGggaW1wb3J0cwogUEFTUyBENiBMYXllciBzdGF0ZW1lbnQgd2l0aCBpbXBvcnRzCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>