<?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>227190</bug_id>
          
          <creation_ts>2021-06-19 20:50:37 -0700</creation_ts>
          <short_desc>CSS counter style improvements for Armenian, Tamil, and some CJK styles</short_desc>
          <delta_ts>2022-03-16 14:04:39 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=48000</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=146349</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=21439</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771141</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-19 20:50:37 -0700</bug_when>
    <thetext>CSS counter style improvements for Armenian, Tamil, and some CJK styles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771144</commentid>
    <comment_count>1</comment_count>
      <attachid>431813</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-19 22:00:01 -0700</bug_when>
    <thetext>Created attachment 431813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771145</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-19 22:01:52 -0700</bug_when>
    <thetext>Got started on this because Sam mentioned that css-counter-style was a directory where we had a lot of Web Platform Test failures. This fixes somewhere between 1/4 and 1/3 of the failures and I’ll follow up with more fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771163</commentid>
    <comment_count>3</comment_count>
      <attachid>431818</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-20 06:16:02 -0700</bug_when>
    <thetext>Created attachment 431818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771171</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-20 10:31:22 -0700</bug_when>
    <thetext>Committed r279055 (238975@main): &lt;https://commits.webkit.org/238975@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431818.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771172</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-20 10:32:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/79539314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851974</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-16 14:04:39 -0700</bug_when>
    <thetext>I’d be surprised if this still reproduces after https://commits.webkit.org/238975@main</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431813</attachid>
            <date>2021-06-19 22:00:01 -0700</date>
            <delta_ts>2021-06-20 06:16:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227190-20210619220000.patch</filename>
            <type>text/plain</type>
            <size>79691</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg0OTViOGJmNmVhODk1
Zjk3MTA0NDQ4MGYxY2VkNzVkYzhjYzVmOC4uYzRjOGU0MjAzNzU4MGUwMWVhNjgzMDE0MDU4ZjNm
MjM1ZTlhYjVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTA2LTE5ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDU1MgY291bnRlciBzdHlsZSBp
bXByb3ZlbWVudHMgZm9yIEFybWVuaWFuLCBUYW1pbCwgYW5kIHNvbWUgQ0pLIHN0eWxlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTkwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oOiBBZGRlZCBDSktEZWNpbWFsIGFuZCBUYW1pbC4KKyAgICAg
ICAgQWxzbyB1cGRhdGVkIGZvciBuYW1lIGNoYW5nZXMgb2YgQ2prIHRvIENKSy4KKworICAgICAg
ICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOiBBZGRlZCBjamstZGVjaW1hbCBhbmQgdGFtaWwu
CisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmlzUHJlZGVmaW5lZENv
dW50ZXJTdHlsZSk6CisgICAgICAgIFVwZGF0ZWQgc2luY2UgdGhlIGxhc3QgcHJlZGVmaW5lZCBj
b3VudGVyIHN0eWxlIGlzIG5vdyBUYW1pbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0TWFya2VyLmNwcDogVHdlYWsgY29kaW5nIHN0eWxlIGEgYml0LCB1c2luZworICAgICAgICBj
b25zdGV4cHIgYW5kIGF1dG8gYW5kIHJlbW92aW5nIHNvbWUgdW5uZWVkZWQgZXhwbGljaXQgdHlw
ZSBuYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OmVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKTogQWRk
ZWQgVGFtaWwuIENvcnJlY3RlZCByYW5nZQorICAgICAgICBmb3IgQXJtZW5pYW4sIExvd2VyQXJt
ZW5pYW4sIGFuZCBVcHBlckFybWVuaWFuIHRvIGJlIDEtOTk5OS4KKyAgICAgICAgQWRkZWQgQ0pL
RGVjaW1hbC4gVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzIG9mIENqayB0byBDSksuCisgICAgICAg
IChXZWJDb3JlOjpsaXN0TWFya2VyU3VmZml4KTogQWRkZGVkIFRhbWlsLiBDb3JyZWN0ZWQgc3Vm
Zml4IGZvcgorICAgICAgICBtdWx0aXBsZSB0eXBlcyB0byBiZSBpZGVvZ3JhcGhpYyBjb21tYSBp
bnN0ZWFkIG9mIHBlcmlvZC4KKyAgICAgICAgKFdlYkNvcmU6OnN1ZmZpeFJlcXVpcmVzU3BhY2Up
OiBBZGRlZC4gVXNlZCBzbyB3ZSBkb24ndCBhZGQgYSBzcGFjZQorICAgICAgICBhZnRlciBhbGwg
c3VmZml4ZXMuCisgICAgICAgIChXZWJDb3JlOjpsaXN0TWFya2VyVGV4dCk6IEFkZGVkIENKS0Rl
Y2ltYWwgYW5kIFRhbWlsLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQpOiBSZW1vdmVkIGFsbCB0aGUgY2FzZXMgZm9yIHRoZQorICAgICAgICBtYW55IGxpc3Qgc3R5
bGUgdHlwZXMgdGhhdCBqdXN0IHBhaW50IGFzIHRleHQsIHVzaW5nIGRlZmF1bHQgaW5zdGVhZC4K
KyAgICAgICAgQ2FsbCBzdWZmaXhSZXF1aXJlc1NwYWNlIGFuZCBkb24ndCBhZGQgYSBzcGFjZSBp
ZiBub3QgbmVlZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRl
Q29udGVudCk6IFJlbW92ZWQgYWxsIHRoZSBjYXNlcyBmb3IKKyAgICAgICAgdGhlIG1hbnkgbGlz
dCBzdHlsZSB0eXBlcyB0aGF0IGFyZSB0ZXh0IGJhc2VkLCB1c2luZyBkZWZhdWx0IGluc3RlYWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocyk6IFJlbW92ZWQKKyAgICAgICAgYWxsIHRoZSBjYXNlcyBmb3IgdGhlIG1hbnkg
bGlzdCBzdHlsZSB0eXBlcyB0aGF0IGFyZSB0ZXh0IGJhc2VkLCB1c2luZworICAgICAgICBkZWZh
dWx0IGluc3RlYWQuIENhbGwgc3VmZml4UmVxdWlyZXNTcGFjZSBhbmQgZG9uJ3QgaW5jbHVkZSB0
aGUgc3BhY2UKKyAgICAgICAgaWYgbm90IG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxpc3RNYXJrZXI6OnN1ZmZpeCBjb25zdCk6IENhbGwgc3VmZml4UmVxdWlyZXNTcGFjZQorICAg
ICAgICBhbmQgZG9uJ3QgaW5jbHVkZSBhIHNwYWNlIGlmIG5vdCBuZWVkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QpOiBSZW1vdmVk
IGFsbCB0aGUKKyAgICAgICAgY2FzZXMgZm9yIHRoZSBtYW55IGxpc3Qgc3R5bGUgdHlwZXMgdGhh
dCBhcmUgdGV4dCBiYXNlZCwgdXNpbmcgZGVmYXVsdAorICAgICAgICBpbnN0ZWFkLiBDYWxsIHN1
ZmZpeFJlcXVpcmVzU3BhY2UgYW5kIGRvbid0IGluY2x1ZGUgdGhlIHNwYWNlIGlmIG5vdAorICAg
ICAgICBuZWVkZWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6IEFkZGVkIENKS0RlY2lt
YWwgYW5kIFRhbWlsLiBBbHNvIHNvcnRlZCB0aGUKKyAgICAgICAgbGlzdCBzdHlsZXMgYWxwaGFi
ZXRpY2FsbHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaDogQWRkZWQgQ0pLRGVjaW1hbCBhbmQKKyAgICAgICAgVGFtaWwgYW5kIHVzZSBDSksgaW5z
dGVhZCBvZiBDamsgaW4gbmFtZXMgb2YgdGhlIG90aGVyIHN0eWxlcy4KKwogMjAyMS0wNi0xOSAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IENTUyBzZXJpYWxp
emF0aW9uIGlzc3VlcyBhZmZlY3RpbmcgY3NzLWNvdW50ZXItc3R5bGVzIHRlc3RzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA5ZGM3NDcw
Yzg0ODEzMGNkYzRjM2U4YzJmOGNiMDk3MmMxZDZhYTcwLi5jNjgwN2I5NGQ4NDdiZTA1YTUyYTVi
OGRkYWQyNjcwMmI0MGIzNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTE3NjAsMjEgKzE3NjAsMjQgQEAgdGVtcGxhdGU8PiBpbmxp
bmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpc3RTdHlsZVR5cGUgZSkK
ICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlQmVuZ2FsaTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpDYW1ib2RpYW46Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQ2FtYm9k
aWFuOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZToKLSAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVDaXJjbGU7CisgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpDSktEZWNpbWFsOgorICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNq
a0RlY2ltYWw7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prRWFy
dGhseUJyYW5jaDoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2g6CiAg
ICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQ2prRWFydGhseUJyYW5jaDsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtIZWF2ZW5seVN0ZW06CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpDSktIZWF2ZW5seVN0ZW06CiAgICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlQ2prSGVhdmVubHlTdGVtOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQg
PSBDU1NWYWx1ZUNqa0lkZW9ncmFwaGljOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkNhbWJvZGlhbjoKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVD
YW1ib2RpYW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xl
OgorICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNpcmNsZTsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86CiAgICAgICAg
IG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRGVjaW1hbExlYWRpbmdaZXJvOwogICAgICAgICBi
cmVhazsKQEAgLTE5MzUsNiArMTkzOCw5IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShMaXN0U3R5bGVUeXBlIGUpCiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUludmFs
aWQ7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGFtaWw6CisgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVGFtaWw7CisgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VGVsdWd1OgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBD
U1NWYWx1ZVRlbHVndTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCmluZGV4IDQzNjBhMGI2MTllZGUxMzEyMTkyNTc0ODAwZTgxOWVhOWZiOWI4ODQu
LjI1Njk5ZTYxMWFjOGIxYmFkODNlM2YzZDRhMTI5NDQxMDg5MmRhZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC00NDQsNiArNDQ0LDggQEAgaGlyYWdhbmEKIGth
dGFrYW5hCiBoaXJhZ2FuYS1pcm9oYQoga2F0YWthbmEtaXJvaGEKK2Nqay1kZWNpbWFsCit0YW1p
bAogLy9ub25lCiAvLwogLy8gQ1NTX1BST1BfRElTUExBWToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAppbmRleCA0MWNi
NDk1MzVjOGU4YTlkODBhN2U3Y2ZlMGYxNzA2NzFlYjI2YWI0Li45ODdmYzVkMWY2ODA1N2ZmNzE5
OTZlMjQzNDZjMjg1OTA2Njg1MzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCkBAIC0zNTMzLDcgKzM1MzMsNyBA
QCBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVJbWFnZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dAogLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1j
b3VudGVyLXN0eWxlcy0zLyNwcmVkZWZpbmVkLWNvdW50ZXJzCiBib29sIGlzUHJlZGVmaW5lZENv
dW50ZXJTdHlsZShDU1NWYWx1ZUlEIHZhbHVlSUQpCiB7Ci0gICAgcmV0dXJuIHZhbHVlSUQgPj0g
Q1NTVmFsdWVEaXNjICYmIHZhbHVlSUQgPD0gQ1NTVmFsdWVLYXRha2FuYUlyb2hhOworICAgIHJl
dHVybiB2YWx1ZUlEID49IENTU1ZhbHVlRGlzYyAmJiB2YWx1ZUlEIDw9IENTU1ZhbHVlVGFtaWw7
CiB9CiAKIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlw
ZWRlZi1jb3VudGVyLXN0eWxlLW5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0TWFya2VyLmNwcAppbmRleCBhZmJjNWNmYmQ1ZmEzZGY1NGE0ZmFhM2Q2MTExMzZhYmE0
NjU4Mzg1Li42ZGNkZTMzNDllM2VlOTEwMmM1YWI4MzI5NzhkN2VhZWZmY2FhNjQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCkBAIC00NSw3ICs0
NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7CiAKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChSZW5kZXJMaXN0TWFya2VyKTsKIAotY29uc3QgaW50IGNNYXJrZXJQYWRkaW5n
ID0gNzsKK2NvbnN0ZXhwciBpbnQgY01hcmtlclBhZGRpbmcgPSA3OwogCiBlbnVtIGNsYXNzIExl
dHRlckNhc2UgeyBMb3dlciwgVXBwZXIgfTsKIGVudW0gY2xhc3MgU2VxdWVuY2VUeXBlIHsgTnVt
ZXJpYywgQWxwaGFiZXRpYyB9OwpAQCAtNjMsOCArNjMsOCBAQCBzdGF0aWMgTkVWRVJfSU5MSU5F
IFN0cmluZyB0b1JvbWFuKGludCBudW1iZXIsIExldHRlckNhc2UgbGV0dGVyQ2FzZSkKICAgICBM
Q2hhciBsZXR0ZXJzW2xldHRlcnNTaXplXTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7Ci0g
ICAgY29uc3QgTENoYXIgbGRpZ2l0c1tdID0geyAnaScsICd2JywgJ3gnLCAnbCcsICdjJywgJ2Qn
LCAnbScgfTsKLSAgICBjb25zdCBMQ2hhciB1ZGlnaXRzW10gPSB7ICdJJywgJ1YnLCAnWCcsICdM
JywgJ0MnLCAnRCcsICdNJyB9OworICAgIGNvbnN0ZXhwciBMQ2hhciBsZGlnaXRzW10gPSB7ICdp
JywgJ3YnLCAneCcsICdsJywgJ2MnLCAnZCcsICdtJyB9OworICAgIGNvbnN0ZXhwciBMQ2hhciB1
ZGlnaXRzW10gPSB7ICdJJywgJ1YnLCAnWCcsICdMJywgJ0MnLCAnRCcsICdNJyB9OwogICAgIGNv
bnN0IExDaGFyKiBkaWdpdHMgPSBsZXR0ZXJDYXNlID09IExldHRlckNhc2U6OlVwcGVyID8gdWRp
Z2l0cyA6IGxkaWdpdHM7CiAgICAgaW50IGQgPSAwOwogICAgIGRvIHsKQEAgLTgzLDcgKzgzLDcg
QEAgc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9Sb21hbihpbnQgbnVtYmVyLCBMZXR0ZXJD
YXNlIGxldHRlckNhc2UpCiAgICAgfSB3aGlsZSAobnVtYmVyKTsKIAogICAgIEFTU0VSVChsZW5n
dGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiBTdHJpbmcgeyAmbGV0dGVyc1tsZXR0ZXJz
U2l6ZSAtIGxlbmd0aF0sIGxlbmd0aCB9OworICAgIHJldHVybiB7ICZsZXR0ZXJzW2xldHRlcnNT
aXplIC0gbGVuZ3RoXSwgbGVuZ3RoIH07CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgdG9BbHBoYWJl
dGljT3JOdW1lcmljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIHNlcXUKICAgICAg
ICAgbGV0dGVyc1tsZXR0ZXJzU2l6ZSAtICsrbGVuZ3RoXSA9IGh5cGhlbk1pbnVzOwogCiAgICAg
QVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6ZSk7Ci0gICAgcmV0dXJuIFN0cmluZyB7ICZsZXR0
ZXJzW2xldHRlcnNTaXplIC0gbGVuZ3RoXSwgbGVuZ3RoIH07CisgICAgcmV0dXJuIHsgJmxldHRl
cnNbbGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGggfTsKIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KQEAgLTE4OSw3ICsxODksNyBAQCBzdGF0aWMgTkVWRVJfSU5MSU5F
IGludCB0b0hlYnJld1VuZGVyMTAwMChpbnQgbnVtYmVyLCBVQ2hhciBsZXR0ZXJzWzVdKQogICAg
ICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDE0ODcgKyBudW1iZXIgLSA5OwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGlmIChpbnQgdGVucyA9IG51bWJlciAvIDEwKSB7Ci0gICAgICAgICAgICBzdGF0
aWMgY29uc3QgVUNoYXIgaGVicmV3VGVuc1s5XSA9IHsgMTQ5NywgMTQ5OSwgMTUwMCwgMTUwMiwg
MTUwNCwgMTUwNSwgMTUwNiwgMTUwOCwgMTUxMCB9OworICAgICAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciBVQ2hhciBoZWJyZXdUZW5zWzldID0geyAxNDk3LCAxNDk5LCAxNTAwLCAxNTAyLCAxNTA0
LCAxNTA1LCAxNTA2LCAxNTA4LCAxNTEwIH07CiAgICAgICAgICAgICBsZXR0ZXJzW2xlbmd0aCsr
XSA9IGhlYnJld1RlbnNbdGVucyAtIDFdOwogICAgICAgICB9CiAgICAgICAgIGlmIChpbnQgb25l
cyA9IG51bWJlciAlIDEwKQpAQCAtMjA1LDggKzIwNSw4IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUg
U3RyaW5nIHRvSGVicmV3KGludCBudW1iZXIpCiAgICAgQVNTRVJUKG51bWJlciA+PSAwICYmIG51
bWJlciA8PSA5OTk5OTkpOwogCiAgICAgaWYgKG51bWJlciA9PSAwKSB7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCBVQ2hhciBoZWJyZXdaZXJvWzNdID0geyAweDA1RDAsIDB4MDVFNCwgMHgwNUUxIH07
Ci0gICAgICAgIHJldHVybiBTdHJpbmcgeyBoZWJyZXdaZXJvLCAzIH07CisgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgaGVicmV3WmVyb1szXSA9IHsgMHgwNUQwLCAweDA1RTQsIDB4MDVF
MSB9OworICAgICAgICByZXR1cm4geyBoZWJyZXdaZXJvLCAzIH07CiAgICAgfQogCiAgICAgY29u
c3RleHByIHVuc2lnbmVkIGxldHRlcnNTaXplID0gMTE7IC8vIGJpZyBlbm91Z2ggZm9yIHR3byA1
LWRpZ2l0IHNlcXVlbmNlcyBwbHVzIGEgcXVvdGUgbWFyayBiZXR3ZWVuCkBAIC0yMjMsNyArMjIz
LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9IZWJyZXcoaW50IG51bWJlcikKICAg
ICBsZW5ndGggKz0gdG9IZWJyZXdVbmRlcjEwMDAobnVtYmVyLCBsZXR0ZXJzICsgbGVuZ3RoKTsK
IAogICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiBTdHJpbmcg
eyBsZXR0ZXJzLCBsZW5ndGggfTsKKyAgICByZXR1cm4geyBsZXR0ZXJzLCBsZW5ndGggfTsKIH0K
IAogc3RhdGljIE5FVkVSX0lOTElORSB1bnNpZ25lZCB0b0FybWVuaWFuVW5kZXIxMDAwMChpbnQg
bnVtYmVyLCBMZXR0ZXJDYXNlIGxldHRlckNhc2UsIGJvb2wgYWRkQ2lyY3VtZmxleCwgVUNoYXIg
bGV0dGVyc1s5XSkKQEAgLTI3Nyw3ICsyNzcsNyBAQCBzdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmlu
ZyB0b0FybWVuaWFuKGludCBudW1iZXIsIExldHRlckNhc2UgbGV0dGVyQ2FzZSkKICAgICBsZW5n
dGggKz0gdG9Bcm1lbmlhblVuZGVyMTAwMDAobnVtYmVyICUgMTAwMDAsIGxldHRlckNhc2UsIGZh
bHNlLCBsZXR0ZXJzICsgbGVuZ3RoKTsKIAogICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1Np
emUpOwotICAgIHJldHVybiBTdHJpbmcgeyBsZXR0ZXJzLCBsZW5ndGggfTsKKyAgICByZXR1cm4g
eyBsZXR0ZXJzLCBsZW5ndGggfTsKIH0KIAogc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9H
ZW9yZ2lhbihpbnQgbnVtYmVyKQpAQCAtMjkzLDM1ICsyOTMsMzUgQEAgc3RhdGljIE5FVkVSX0lO
TElORSBTdHJpbmcgdG9HZW9yZ2lhbihpbnQgbnVtYmVyKQogICAgICAgICBsZXR0ZXJzW2xlbmd0
aCsrXSA9IDB4MTBGNTsKIAogICAgIGlmIChpbnQgdGhvdXNhbmRzID0gKG51bWJlciAvIDEwMDAp
ICUgMTApIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGdlb3JnaWFuVGhvdXNhbmRzWzld
ID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGdlb3JnaWFuVGhvdXNhbmRzWzld
ID0gewogICAgICAgICAgICAgMHgxMEU5LCAweDEwRUEsIDB4MTBFQiwgMHgxMEVDLCAweDEwRUQs
IDB4MTBFRSwgMHgxMEY0LCAweDEwRUYsIDB4MTBGMAogICAgICAgICB9OwogICAgICAgICBsZXR0
ZXJzW2xlbmd0aCsrXSA9IGdlb3JnaWFuVGhvdXNhbmRzW3Rob3VzYW5kcyAtIDFdOwogICAgIH0K
IAogICAgIGlmIChpbnQgaHVuZHJlZHMgPSAobnVtYmVyIC8gMTAwKSAlIDEwKSB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciBnZW9yZ2lhbkh1bmRyZWRzWzldID0geworICAgICAgICBzdGF0
aWMgY29uc3RleHByIFVDaGFyIGdlb3JnaWFuSHVuZHJlZHNbOV0gPSB7CiAgICAgICAgICAgICAw
eDEwRTAsIDB4MTBFMSwgMHgxMEUyLCAweDEwRjMsIDB4MTBFNCwgMHgxMEU1LCAweDEwRTYsIDB4
MTBFNywgMHgxMEU4CiAgICAgICAgIH07CiAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gZ2Vv
cmdpYW5IdW5kcmVkc1todW5kcmVkcyAtIDFdOwogICAgIH0KIAogICAgIGlmIChpbnQgdGVucyA9
IChudW1iZXIgLyAxMCkgJSAxMCkgewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZ2Vvcmdp
YW5UZW5zWzldID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGdlb3JnaWFuVGVu
c1s5XSA9IHsKICAgICAgICAgICAgIDB4MTBEOCwgMHgxMEQ5LCAweDEwREEsIDB4MTBEQiwgMHgx
MERDLCAweDEwRjIsIDB4MTBERCwgMHgxMERFLCAweDEwREYKICAgICAgICAgfTsKICAgICAgICAg
bGV0dGVyc1tsZW5ndGgrK10gPSBnZW9yZ2lhblRlbnNbdGVucyAtIDFdOwogICAgIH0KIAogICAg
IGlmIChpbnQgb25lcyA9IG51bWJlciAlIDEwKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hh
ciBnZW9yZ2lhbk9uZXNbOV0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZ2Vv
cmdpYW5PbmVzWzldID0gewogICAgICAgICAgICAgMHgxMEQwLCAweDEwRDEsIDB4MTBEMiwgMHgx
MEQzLCAweDEwRDQsIDB4MTBENSwgMHgxMEQ2LCAweDEwRjEsIDB4MTBENwogICAgICAgICB9Owog
ICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IGdlb3JnaWFuT25lc1tvbmVzIC0gMV07CiAgICAg
fQogCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6ZSk7Ci0gICAgcmV0dXJuIFN0cmlu
ZyB7IGxldHRlcnMsIGxlbmd0aCB9OworICAgIHJldHVybiB7IGxldHRlcnMsIGxlbmd0aCB9Owog
fQogCiAvLyBUaGUgdGFibGUgdXNlcyB0aGUgb3JkZXIgZnJvbSB0aGUgQ1NTMyBzcGVjaWZpY2F0
aW9uOgpAQCAtMzM5LDcgKzMzOSw3IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvQ0pL
SWRlb2dyYXBoaWMoaW50IG51bWJlciwgY29uc3QgVUNoYXIgdGFibGVbMTZdKQogICAgIH07CiAK
ICAgICBpZiAoIW51bWJlcikKLSAgICAgICAgcmV0dXJuIFN0cmluZyB7ICZ0YWJsZVtkaWdpdDAg
LSAxXSAsIDEgfTsKKyAgICAgICAgcmV0dXJuIHsgJnRhYmxlW2RpZ2l0MCAtIDFdICwgMSB9Owog
CiAgICAgY29uc3RleHByIHVuc2lnbmVkIGdyb3VwTGVuZ3RoID0gODsgLy8gNCBkaWdpdHMsIDMg
ZGlnaXQgbWFya2VycywgYW5kIGEgZ3JvdXAgbWFya2VyCiAgICAgY29uc3RleHByIHVuc2lnbmVk
IGJ1ZmZlckxlbmd0aCA9IDQgKiBncm91cExlbmd0aDsKQEAgLTQwMiwxMyArNDAyLDE0IEBAIHN0
YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvQ0pLSWRlb2dyYXBoaWMoaW50IG51bWJlciwgY29u
c3QgVUNoYXIgdGFibGVbMTZdKQogICAgIGlmIChsYXN0ID09IGRpZ2l0MCkKICAgICAgICAgLS1s
ZW5ndGg7CiAKLSAgICByZXR1cm4gU3RyaW5nIHsgY2hhcmFjdGVycywgbGVuZ3RoIH07CisgICAg
cmV0dXJuIHsgY2hhcmFjdGVycywgbGVuZ3RoIH07CiB9CiAKIHN0YXRpYyBMaXN0U3R5bGVUeXBl
IGVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQog
ewotICAgIC8vIE5vdGUsIHRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0YXRlbWVudCBoYXMgYmVlbiBl
eHBsaWNpdGx5IGdyb3VwZWQKLSAgICAvLyBieSBsaXN0LXN0eWxlLXR5cGUgb3JkaW5hbCByYW5n
ZS4KKyAgICAvLyBGSVhNRTogVHlwZXMgd2UgbmVlZCB0byBhZGQ6IGphcGFuZXNlLWZvcm1hbCwg
amFwYW5lc2UtaW5mb3JtYWwsIGtvcmVhbi1oYW5ndWwtZm9ybWFsLCBrb3JlYW4taGFuamEtZm9y
bWFsLCBrb3JlYW4taGFuamEtaW5mb3JtYWwsIHNpbXAtY2hpbmVzZS1mb3JtYWwsIHNpbXAtY2hp
bmVzZS1pbmZvcm1hbCwgdGFtbWlsLCB0cmFkLWNoaW5lc2UtZm9ybWFsLCB0cmFkLWNoaW5lc2Ut
aW5mb3JtYWwKKworICAgIC8vIE5vdGUsIHRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0YXRlbWVudCBo
YXMgYmVlbiBleHBsaWNpdGx5IGdyb3VwZWQgYnkgbGlzdC1zdHlsZS10eXBlIG9yZGluYWwgcmFu
Z2UuCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcmFiaWNJ
bmRpYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6CkBAIC00MzMsNiArNDM0LDcg
QEAgc3RhdGljIExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxl
VHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcml5YToKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlBlcnNpYW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpT
cXVhcmU6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUYW1pbDoKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlRlbHVndToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRoYWk6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpUaWJldGFuOgpAQCAtNDQwLDcgKzQ0MiwxMCBAQCBzdGF0aWMgTGlzdFN0
eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2
YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6CiAgICAgICAgIHJldHVybiB0eXBl
OyAvLyBDYW4gcmVwcmVzZW50IGFsbCBvcmRpbmFscy4KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkFybWVuaWFuOgotICAgICAgICByZXR1cm4gKHZhbHVlIDwgMSB8fCB2YWx1ZSA+IDk5OTk5OTk5
KSA/IExpc3RTdHlsZVR5cGU6OkRlY2ltYWwgOiB0eXBlOworICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJBcm1lbmlhbjoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46
CisgICAgICAgIHJldHVybiAodmFsdWUgPCAxIHx8IHZhbHVlID4gOTk5OSkgPyBMaXN0U3R5bGVU
eXBlOjpEZWNpbWFsIDogdHlwZTsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWw6
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoKICAgICAgICAgcmV0dXJu
ICh2YWx1ZSA8IDApID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpHZW9yZ2lhbjoKQEAgLTQ1NCw4ICs0NTksOCBAQCBzdGF0aWMgTGlzdFN0
eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2
YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpBbWhhcmljQWJlZ2VkZToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNr
czoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0VhcnRobHlCcmFuY2g6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpDamtIZWF2ZW5seVN0ZW06CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpD
SktFYXJ0aGx5QnJhbmNoOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSGVhdmVubHlTdGVt
OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWM6CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0FiZWdlZGU6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0Fi
ZWdlZGVBbUV0OgpAQCAtNDgwLDcgKzQ4NSw2IEBAIHN0YXRpYyBMaXN0U3R5bGVUeXBlIGVmZmVj
dGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRh
a2FuYUlyb2hhOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBoYToKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpM
b3dlckdyZWVrOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjoKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuOgpAQCAtNDkzLDcgKzQ5Nyw2IEBAIHN0YXRp
YyBMaXN0U3R5bGVUeXBlIGVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlw
ZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdDoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VXBwZXJBbHBoYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckdyZWVrOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VXBwZXJMYXRpbjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTm9yd2VnaWFu
OgpAQCAtNTA5LDEzICs1MTIsOCBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0
TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKIAogc3RhdGljIFVDaGFy
IGxpc3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiB7Ci0gICAg
Ly8gSWYgdGhlIGxpc3Qtc3R5bGUtdHlwZSBjYW5ub3QgcmVwcmVzZW50IHx2YWx1ZXwgYmVjYXVz
ZSBpdCdzIG91dHNpZGUgaXRzCi0gICAgLy8gb3JkaW5hbCByYW5nZSB0aGVuIHdlIGZhbGwgYmFj
ayB0byBhbm90aGVyIGxpc3Qgc3R5bGUgdGhhdCBjYW4gcmVwcmVzZW50IHx2YWx1ZXwuCi0gICAg
TGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVUeXBlID0gZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUodHlw
ZSwgdmFsdWUpOwotCi0gICAgLy8gTm90ZSwgdGhlIGZvbGxvd2luZyBzd2l0Y2ggc3RhdGVtZW50
IGhhcyBiZWVuIGV4cGxpY2l0bHkKLSAgICAvLyBncm91cGVkIGJ5IGxpc3Qtc3R5bGUtdHlwZSBz
dWZmaXguCi0gICAgc3dpdGNoIChlZmZlY3RpdmVUeXBlKSB7CisgICAgLy8gTm90ZSwgdGhlIGZv
bGxvd2luZyBzd2l0Y2ggc3RhdGVtZW50IGhhcyBiZWVuIGV4cGxpY2l0bHkgZ3JvdXBlZCBieSBs
aXN0LXN0eWxlLXR5cGUgc3VmZml4LgorICAgIHN3aXRjaCAoZWZmZWN0aXZlTGlzdE1hcmtlclR5
cGUodHlwZSwgdmFsdWUpKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBc3Rlcmlza3M6CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDaXJjbGU6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpE
aXNjOgpAQCAtNTU3LDggKzU1NSw2IEBAIHN0YXRpYyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KExp
c3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Qmlu
YXJ5OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0
aGx5QnJhbmNoOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVtOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmk6CkBA
IC01NjgsMTEgKzU2NCw3IEBAIHN0YXRpYyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KExpc3RTdHls
ZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsOgog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsQ29uc29uYW50OgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6SGVicmV3OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmE6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYUlyb2hhOgogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6S2FubmFkYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okto
bWVyOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TGFvOgogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJBbHBoYToKQEAgLTU4OCw2ICs1ODAsNyBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtl
clN1ZmZpeChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Ok9jdGFsOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JpeWE6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpQZXJzaWFuOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGFtaWw6CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUZWx1Z3U6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpU
aGFpOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGliZXRhbjoKQEAgLTYwMCw2ICs1OTMsMTQg
QEAgc3RhdGljIFVDaGFyIGxpc3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQg
dmFsdWUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlclJvbWFuOgogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6VXJkdToKICAgICAgICAgcmV0dXJuICcuJzsKKyAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkNKS0RlY2ltYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktFYXJ0aGx5QnJh
bmNoOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSGVhdmVubHlTdGVtOgorICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6SGlyYWdhbmE6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2Fu
YUlyb2hhOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6CisgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpLYXRha2FuYUlyb2hhOgorICAgICAgICByZXR1cm4gaWRlb2dyYXBoaWNDb21t
YTsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlN0cmluZzoKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNjA5LDMyICs2MTAsMzUgQEAgc3RhdGljIFVD
aGFyIGxpc3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAg
cmV0dXJuICcuJzsKIH0KIAorc3RhdGljIGJvb2wgc3VmZml4UmVxdWlyZXNTcGFjZShVQ2hhciBz
dWZmaXgpCit7CisgICAgcmV0dXJuIHN1ZmZpeCA9PSAnLicgfHwgc3VmZml4ID09IGV0aGlvcGlj
UHJlZmFjZUNvbG9uOworfQorCiBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0
eXBlLCBpbnQgdmFsdWUpCiB7Ci0gICAgLy8gSWYgdGhlIGxpc3Qtc3R5bGUtdHlwZSBjYW5ub3Qg
cmVwcmVzZW50IHx2YWx1ZXwgYmVjYXVzZSBpdCdzIG91dHNpZGUgaXRzCi0gICAgLy8gb3JkaW5h
bCByYW5nZSB0aGVuIHdlIGZhbGwgYmFjayB0byBhbm90aGVyIGxpc3Qgc3R5bGUgdGhhdCBjYW4g
cmVwcmVzZW50IHx2YWx1ZXwuCiAgICAgc3dpdGNoIChlZmZlY3RpdmVMaXN0TWFya2VyVHlwZSh0
eXBlLCB2YWx1ZSkpIHsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok5vbmU6CiAgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBc3Rlcmlza3M6
IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IExDaGFyIGFzdGVyaXNrc1N5bWJvbHNbMV0gPSB7IDB4
MkEgfTsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBMQ2hhciBhc3Rlcmlza3NTeW1ib2xzWzFd
ID0geyAweDJBIH07CiAgICAgICAgIHJldHVybiB0b1N5bWJvbGljKHZhbHVlLCBhc3Rlcmlza3NT
eW1ib2xzKTsKICAgICB9CiAgICAgLy8gV2UgdXNlIHRoZSBzYW1lIGNoYXJhY3RlcnMgZm9yIHRl
eHQgc2VjdXJpdHkuCiAgICAgLy8gU2VlIFJlbmRlclRleHQ6OnNldEludGVybmFsU3RyaW5nLgog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xlOgotICAgICAgICByZXR1cm4gU3RyaW5nIHsg
JndoaXRlQnVsbGV0LCAxIH07CisgICAgICAgIHJldHVybiB7ICZ3aGl0ZUJ1bGxldCwgMSB9Owog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzYzoKLSAgICAgICAgcmV0dXJuIFN0cmluZyB7ICZi
dWxsZXQsIDEgfTsKKyAgICAgICAgcmV0dXJuIHsgJmJ1bGxldCwgMSB9OwogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Rm9vdG5vdGVzOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBmb290
bm90ZXNTeW1ib2xzWzRdID0geyAweDAwMkEsIDB4MjA1MSwgMHgyMDIwLCAweDIwMjEgfTsKKyAg
ICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBmb290bm90ZXNTeW1ib2xzWzRdID0geyAweDAw
MkEsIDB4MjA1MSwgMHgyMDIwLCAweDIwMjEgfTsKICAgICAgICAgcmV0dXJuIHRvU3ltYm9saWMo
dmFsdWUsIGZvb3Rub3Rlc1N5bWJvbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlNxdWFyZToKICAgICAgICAgLy8gVGhlIENTUyAyLjEgdGVzdCBzdWl0ZSB1c2VzIFUrMjVFRSBC
TEFDSyBNRURJVU0gU01BTEwgU1FVQVJFIGluc3RlYWQsCiAgICAgICAgIC8vIGJ1dCB3ZSB1c2Vk
IHRoaXMgYmVjYXVzZSB3ZSB0aG91Z2h0IGl0IGxvb2tlZCBiZXR0ZXIuCi0gICAgICAgIHJldHVy
biBTdHJpbmcgeyAmYmxhY2tTcXVhcmUsIDEgfTsKKyAgICAgICAgcmV0dXJuIHsgJmJsYWNrU3F1
YXJlLCAxIH07CiAKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRlY2ltYWw6CiAgICAgICAgIHJl
dHVybiBTdHJpbmc6Om51bWJlcih2YWx1ZSk7CkBAIC02NDIsMjggKzY0NiwyOCBAQCBTdHJpbmcg
bGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86CiAgICAgICAgIGlmICh2YWx1ZSA+PSAw
ICYmIHZhbHVlIDw9IDkpIHsKICAgICAgICAgICAgIExDaGFyIGNoYXJhY3RlcnNbMl0gPSB7ICcw
Jywgc3RhdGljX2Nhc3Q8TENoYXI+KCcwJyArIHZhbHVlKSB9OyAvLyAwMCB0byAwOQotICAgICAg
ICAgICAgcmV0dXJuIFN0cmluZyB7IGNoYXJhY3RlcnMsIDIgfTsKKyAgICAgICAgICAgIHJldHVy
biB7IGNoYXJhY3RlcnMsIDIgfTsKICAgICAgICAgfQogICAgICAgICBpZiAodmFsdWUgPj0gLTkg
JiYgdmFsdWUgPD0gLTEpIHsKICAgICAgICAgICAgIExDaGFyIGNoYXJhY3RlcnNbM10gPSB7ICct
JywgJzAnLCBzdGF0aWNfY2FzdDxMQ2hhcj4oJzAnIC0gdmFsdWUpIH07IC8vIC0wMSB0byAtMDkK
LSAgICAgICAgICAgIHJldHVybiBTdHJpbmcgeyBjaGFyYWN0ZXJzLCAzIH07CisgICAgICAgICAg
ICByZXR1cm4geyBjaGFyYWN0ZXJzLCAzIH07CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIFN0
cmluZzo6bnVtYmVyKHZhbHVlKTsKIAogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJhYmljSW5k
aWM6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGFyYWJpY0luZGljTnVtZXJhbHNbMTBd
ID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGFyYWJpY0luZGljTnVtZXJhbHNb
MTBdID0gewogICAgICAgICAgICAgMHgwNjYwLCAweDA2NjEsIDB4MDY2MiwgMHgwNjYzLCAweDA2
NjQsIDB4MDY2NSwgMHgwNjY2LCAweDA2NjcsIDB4MDY2OCwgMHgwNjY5CiAgICAgICAgIH07CiAg
ICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGFyYWJpY0luZGljTnVtZXJhbHMpOwogICAg
IH0KIAogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmluYXJ5OiB7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBMQ2hhciBiaW5hcnlOdW1lcmFsc1syXSA9IHsgJzAnLCAnMScgfTsKKyAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBMQ2hhciBiaW5hcnlOdW1lcmFsc1syXSA9IHsgJzAnLCAnMScgfTsKICAg
ICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgYmluYXJ5TnVtZXJhbHMpOwogICAgIH0KIAog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmVuZ2FsaTogewotICAgICAgICBzdGF0aWMgY29uc3Qg
VUNoYXIgYmVuZ2FsaU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBV
Q2hhciBiZW5nYWxpTnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgwOUU2LCAweDA5RTcs
IDB4MDlFOCwgMHgwOUU5LCAweDA5RUEsIDB4MDlFQiwgMHgwOUVDLCAweDA5RUQsIDB4MDlFRSwg
MHgwOUVGCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGJlbmdh
bGlOdW1lcmFscyk7CkBAIC02NzEsMTA0ICs2NzUsMTA0IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4
dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKIAogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6Q2FtYm9kaWFuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2htZXI6IHsKLSAgICAgICAg
c3RhdGljIGNvbnN0IFVDaGFyIGtobWVyTnVtZXJhbHNbMTBdID0geworICAgICAgICBzdGF0aWMg
Y29uc3RleHByIFVDaGFyIGtobWVyTnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgxN0Uw
LCAweDE3RTEsIDB4MTdFMiwgMHgxN0UzLCAweDE3RTQsIDB4MTdFNSwgMHgxN0U2LCAweDE3RTcs
IDB4MTdFOCwgMHgxN0U5CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFs
dWUsIGtobWVyTnVtZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFu
YWdhcmk6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGRldmFuYWdhcmlOdW1lcmFsc1sx
MF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZGV2YW5hZ2FyaU51bWVyYWxz
WzEwXSA9IHsKICAgICAgICAgICAgIDB4MDk2NiwgMHgwOTY3LCAweDA5NjgsIDB4MDk2OSwgMHgw
OTZBLCAweDA5NkIsIDB4MDk2QywgMHgwOTZELCAweDA5NkUsIDB4MDk2RgogICAgICAgICB9Owog
ICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBkZXZhbmFnYXJpTnVtZXJhbHMpOwogICAg
IH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1amFyYXRpOiB7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBVQ2hhciBndWphcmF0aU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciBVQ2hhciBndWphcmF0aU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MEFFNiwg
MHgwQUU3LCAweDBBRTgsIDB4MEFFOSwgMHgwQUVBLCAweDBBRUIsIDB4MEFFQywgMHgwQUVELCAw
eDBBRUUsIDB4MEFFRgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVl
LCBndWphcmF0aU51bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJt
dWtoaTogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZ3VybXVraGlOdW1lcmFsc1sxMF0g
PSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZ3VybXVraGlOdW1lcmFsc1sxMF0g
PSB7CiAgICAgICAgICAgICAweDBBNjYsIDB4MEE2NywgMHgwQTY4LCAweDBBNjksIDB4MEE2QSwg
MHgwQTZCLCAweDBBNkMsIDB4MEE2RCwgMHgwQTZFLCAweDBBNkYKICAgICAgICAgfTsKICAgICAg
ICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgZ3VybXVraGlOdW1lcmFscyk7CiAgICAgfQogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6S2FubmFkYTogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIga2FubmFkYU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hh
ciBrYW5uYWRhTnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgwQ0U2LCAweDBDRTcsIDB4
MENFOCwgMHgwQ0U5LCAweDBDRUEsIDB4MENFQiwgMHgwQ0VDLCAweDBDRUQsIDB4MENFRSwgMHgw
Q0VGCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGthbm5hZGFO
dW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJIZXhhZGVjaW1h
bDogewotICAgICAgICBzdGF0aWMgY29uc3QgTENoYXIgbG93ZXJIZXhhZGVjaW1hbE51bWVyYWxz
WzE2XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBMQ2hhciBsb3dlckhleGFkZWNpbWFs
TnVtZXJhbHNbMTZdID0gewogICAgICAgICAgICAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1
JywgJzYnLCAnNycsICc4JywgJzknLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnCiAgICAg
ICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGxvd2VySGV4YWRlY2ltYWxO
dW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TGFvOiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciBsYW9OdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRpYyBj
b25zdGV4cHIgVUNoYXIgbGFvTnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgwRUQwLCAw
eDBFRDEsIDB4MEVEMiwgMHgwRUQzLCAweDBFRDQsIDB4MEVENSwgMHgwRUQ2LCAweDBFRDcsIDB4
MEVEOCwgMHgwRUQ5CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUs
IGxhb051bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpNYWxheWFsYW06
IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIG1hbGF5YWxhbU51bWVyYWxzWzEwXSA9IHsK
KyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBtYWxheWFsYW1OdW1lcmFsc1sxMF0gPSB7
CiAgICAgICAgICAgICAweDBENjYsIDB4MEQ2NywgMHgwRDY4LCAweDBENjksIDB4MEQ2QSwgMHgw
RDZCLCAweDBENkMsIDB4MEQ2RCwgMHgwRDZFLCAweDBENkYKICAgICAgICAgfTsKICAgICAgICAg
cmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgbWFsYXlhbGFtTnVtZXJhbHMpOwogICAgIH0KICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIgbW9uZ29saWFuTnVtZXJhbHNbMTBdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVD
aGFyIG1vbmdvbGlhbk51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MTgxMCwgMHgxODEx
LCAweDE4MTIsIDB4MTgxMywgMHgxODE0LCAweDE4MTUsIDB4MTgxNiwgMHgxODE3LCAweDE4MTgs
IDB4MTgxOQogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBtb25n
b2xpYW5OdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlhbm1hcjog
ewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgbXlhbm1hck51bWVyYWxzWzEwXSA9IHsKKyAg
ICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBteWFubWFyTnVtZXJhbHNbMTBdID0gewogICAg
ICAgICAgICAgMHgxMDQwLCAweDEwNDEsIDB4MTA0MiwgMHgxMDQzLCAweDEwNDQsIDB4MTA0NSwg
MHgxMDQ2LCAweDEwNDcsIDB4MTA0OCwgMHgxMDQ5CiAgICAgICAgIH07CiAgICAgICAgIHJldHVy
biB0b051bWVyaWModmFsdWUsIG15YW5tYXJOdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6T2N0YWw6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IExDaGFyIG9jdGFsTnVt
ZXJhbHNbOF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgb2N0YWxOdW1lcmFs
c1s4XSA9IHsKICAgICAgICAgICAgICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2Jywg
JzcnCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIG9jdGFsTnVt
ZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9yaXlhOiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciBvcml5YU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0ZXhwciBVQ2hhciBvcml5YU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MEI2
NiwgMHgwQjY3LCAweDBCNjgsIDB4MEI2OSwgMHgwQjZBLCAweDBCNkIsIDB4MEI2QywgMHgwQjZE
LCAweDBCNkUsIDB4MEI2RgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZh
bHVlLCBvcml5YU51bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQZXJz
aWFuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXJkdTogewotICAgICAgICBzdGF0aWMgY29u
c3QgVUNoYXIgdXJkdU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBV
Q2hhciB1cmR1TnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgwNkYwLCAweDA2RjEsIDB4
MDZGMiwgMHgwNkYzLCAweDA2RjQsIDB4MDZGNSwgMHgwNkY2LCAweDA2RjcsIDB4MDZGOCwgMHgw
NkY5CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIHVyZHVOdW1l
cmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGVsdWd1OiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciB0ZWx1Z3VOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgdGVsdWd1TnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgw
QzY2LCAweDBDNjcsIDB4MEM2OCwgMHgwQzY5LCAweDBDNkEsIDB4MEM2QiwgMHgwQzZDLCAweDBD
NkQsIDB4MEM2RSwgMHgwQzZGCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWMo
dmFsdWUsIHRlbHVndU51bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpU
aWJldGFuOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciB0aWJldGFuTnVtZXJhbHNbMTBd
ID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIHRpYmV0YW5OdW1lcmFsc1sxMF0g
PSB7CiAgICAgICAgICAgICAweDBGMjAsIDB4MEYyMSwgMHgwRjIyLCAweDBGMjMsIDB4MEYyNCwg
MHgwRjI1LCAweDBGMjYsIDB4MEYyNywgMHgwRjI4LCAweDBGMjkKICAgICAgICAgfTsKICAgICAg
ICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgdGliZXRhbk51bWVyYWxzKTsKICAgICB9CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciB0
aGFpTnVtZXJhbHNbMTBdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIHRoYWlO
dW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAweDBFNTAsIDB4MEU1MSwgMHgwRTUyLCAweDBF
NTMsIDB4MEU1NCwgMHgwRTU1LCAweDBFNTYsIDB4MEU1NywgMHgwRTU4LCAweDBFNTkKICAgICAg
ICAgfTsKICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgdGhhaU51bWVyYWxzKTsKICAg
ICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBMQ2hhciB1cHBlckhleGFkZWNpbWFsTnVtZXJhbHNbMTZdID0geworICAg
ICAgICBzdGF0aWMgY29uc3RleHByIExDaGFyIHVwcGVySGV4YWRlY2ltYWxOdW1lcmFsc1sxNl0g
PSB7CiAgICAgICAgICAgICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3Jywg
JzgnLCAnOScsICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicKICAgICAgICAgfTsKICAgICAg
ICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgdXBwZXJIZXhhZGVjaW1hbE51bWVyYWxzKTsKQEAg
LTc3Niw3ICs3ODAsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxhdGluOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBM
Q2hhciBsb3dlckxhdGluQWxwaGFiZXRbMjZdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHBy
IExDaGFyIGxvd2VyTGF0aW5BbHBoYWJldFsyNl0gPSB7CiAgICAgICAgICAgICAnYScsICdiJywg
J2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsCiAg
ICAgICAgICAgICAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAn
dycsICd4JywgJ3knLCAneicKICAgICAgICAgfTsKQEAgLTc4NCwxNCArNzg4LDE0IEBAIFN0cmlu
ZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICB9CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFscGhhOgogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6VXBwZXJMYXRpbjogewotICAgICAgICBzdGF0aWMgY29uc3QgTENoYXIgdXBwZXJMYXRpbkFs
cGhhYmV0WzI2XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBMQ2hhciB1cHBlckxhdGlu
QWxwaGFiZXRbMjZdID0gewogICAgICAgICAgICAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdG
JywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLAogICAgICAgICAgICAgJ04nLCAn
TycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1on
CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIHVwcGVyTGF0
aW5BbHBoYWJldCk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlazog
ewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgbG93ZXJHcmVla0FscGhhYmV0WzI0XSA9IHsK
KyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBsb3dlckdyZWVrQWxwaGFiZXRbMjRdID0g
ewogICAgICAgICAgICAgMHgwM0IxLCAweDAzQjIsIDB4MDNCMywgMHgwM0I0LCAweDAzQjUsIDB4
MDNCNiwgMHgwM0I3LCAweDAzQjgsCiAgICAgICAgICAgICAweDAzQjksIDB4MDNCQSwgMHgwM0JC
LCAweDAzQkMsIDB4MDNCRCwgMHgwM0JFLCAweDAzQkYsIDB4MDNDMCwKICAgICAgICAgICAgIDB4
MDNDMSwgMHgwM0MzLCAweDAzQzQsIDB4MDNDNSwgMHgwM0M2LCAweDAzQzcsIDB4MDNDOCwgMHgw
M0M5CkBAIC04MDAsOSArODA0LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5
cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KIAogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGly
YWdhbmE6IHsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgdGFibGUgY29tZXMgZnJvbSB0aGUgQ1NT
MyBkcmFmdCwgYW5kIGlzIHByb2JhYmx5Ci0gICAgICAgIC8vIGluY29ycmVjdCwgZ2l2ZW4gdGhl
IGNvbW1lbnRzIGluIHRoYXQgZHJhZnQuCi0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBoaXJh
Z2FuYUFscGhhYmV0WzQ4XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBoaXJh
Z2FuYUFscGhhYmV0WzQ4XSA9IHsKICAgICAgICAgICAgIDB4MzA0MiwgMHgzMDQ0LCAweDMwNDYs
IDB4MzA0OCwgMHgzMDRBLCAweDMwNEIsIDB4MzA0RCwgMHgzMDRGLAogICAgICAgICAgICAgMHgz
MDUxLCAweDMwNTMsIDB4MzA1NSwgMHgzMDU3LCAweDMwNTksIDB4MzA1QiwgMHgzMDVELCAweDMw
NUYsCiAgICAgICAgICAgICAweDMwNjEsIDB4MzA2NCwgMHgzMDY2LCAweDMwNjgsIDB4MzA2QSwg
MHgzMDZCLCAweDMwNkMsIDB4MzA2RCwKQEAgLTgxMyw5ICs4MTUsNyBAQCBTdHJpbmcgbGlzdE1h
cmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgIHJldHVybiB0
b0FscGhhYmV0aWModmFsdWUsIGhpcmFnYW5hQWxwaGFiZXQpOwogICAgIH0KICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkhpcmFnYW5hSXJvaGE6IHsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgdGFi
bGUgY29tZXMgZnJvbSB0aGUgQ1NTMyBkcmFmdCwgYW5kIGlzIHByb2JhYmx5Ci0gICAgICAgIC8v
IGluY29ycmVjdCwgZ2l2ZW4gdGhlIGNvbW1lbnRzIGluIHRoYXQgZHJhZnQuCi0gICAgICAgIHN0
YXRpYyBjb25zdCBVQ2hhciBoaXJhZ2FuYUlyb2hhQWxwaGFiZXRbNDddID0geworICAgICAgICBz
dGF0aWMgY29uc3RleHByIFVDaGFyIGhpcmFnYW5hSXJvaGFBbHBoYWJldFs0N10gPSB7CiAgICAg
ICAgICAgICAweDMwNDQsIDB4MzA4RCwgMHgzMDZGLCAweDMwNkIsIDB4MzA3QiwgMHgzMDc4LCAw
eDMwNjgsIDB4MzA2MSwKICAgICAgICAgICAgIDB4MzA4QSwgMHgzMDZDLCAweDMwOEIsIDB4MzA5
MiwgMHgzMDhGLCAweDMwNEIsIDB4MzA4OCwgMHgzMDVGLAogICAgICAgICAgICAgMHgzMDhDLCAw
eDMwNUQsIDB4MzA2NCwgMHgzMDZELCAweDMwNkEsIDB4MzA4OSwgMHgzMDgwLCAweDMwNDYsCkBA
IC04MjYsOSArODI2LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlw
ZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBoaXJhZ2Fu
YUlyb2hhQWxwaGFiZXQpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5h
OiB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHRhYmxlIGNvbWVzIGZyb20gdGhlIENTUzMgZHJh
ZnQsIGFuZCBpcyBwcm9iYWJseQotICAgICAgICAvLyBpbmNvcnJlY3QsIGdpdmVuIHRoZSBjb21t
ZW50cyBpbiB0aGF0IGRyYWZ0LgotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIga2F0YWthbmFB
bHBoYWJldFs0OF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIga2F0YWthbmFB
bHBoYWJldFs0OF0gPSB7CiAgICAgICAgICAgICAweDMwQTIsIDB4MzBBNCwgMHgzMEE2LCAweDMw
QTgsIDB4MzBBQSwgMHgzMEFCLCAweDMwQUQsIDB4MzBBRiwKICAgICAgICAgICAgIDB4MzBCMSwg
MHgzMEIzLCAweDMwQjUsIDB4MzBCNywgMHgzMEI5LCAweDMwQkIsIDB4MzBCRCwgMHgzMEJGLAog
ICAgICAgICAgICAgMHgzMEMxLCAweDMwQzQsIDB4MzBDNiwgMHgzMEM4LCAweDMwQ0EsIDB4MzBD
QiwgMHgzMENDLCAweDMwQ0QsCkBAIC04MzksOSArODM3LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJU
ZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4gdG9BbHBo
YWJldGljKHZhbHVlLCBrYXRha2FuYUFscGhhYmV0KTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpLYXRha2FuYUlyb2hhOiB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHRhYmxlIGNv
bWVzIGZyb20gdGhlIENTUzMgZHJhZnQsIGFuZCBpcyBwcm9iYWJseQotICAgICAgICAvLyBpbmNv
cnJlY3QsIGdpdmVuIHRoZSBjb21tZW50cyBpbiB0aGF0IGRyYWZ0LgotICAgICAgICBzdGF0aWMg
Y29uc3QgVUNoYXIga2F0YWthbmFJcm9oYUFscGhhYmV0WzQ3XSA9IHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0ZXhwciBVQ2hhciBrYXRha2FuYUlyb2hhQWxwaGFiZXRbNDddID0gewogICAgICAgICAg
ICAgMHgzMEE0LCAweDMwRUQsIDB4MzBDRiwgMHgzMENCLCAweDMwREIsIDB4MzBEOCwgMHgzMEM4
LCAweDMwQzEsCiAgICAgICAgICAgICAweDMwRUEsIDB4MzBDQywgMHgzMEVCLCAweDMwRjIsIDB4
MzBFRiwgMHgzMEFCLCAweDMwRTgsIDB4MzBCRiwKICAgICAgICAgICAgIDB4MzBFQywgMHgzMEJE
LCAweDMwQzQsIDB4MzBDRCwgMHgzMENBLCAweDMwRTksIDB4MzBFMCwgMHgzMEE2LApAQCAtODU1
LDcgKzg1MSw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGlu
dCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFmYXI6CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFdDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0
aGlvcGljSGFsZWhhbWVBYUVyOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBldGhpb3Bp
Y0hhbGVoYW1lQWFFckFscGhhYmV0WzE4XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBV
Q2hhciBldGhpb3BpY0hhbGVoYW1lQWFFckFscGhhYmV0WzE4XSA9IHsKICAgICAgICAgICAgIDB4
MTIwMCwgMHgxMjA4LCAweDEyMTAsIDB4MTIxOCwgMHgxMjI4LCAweDEyMzAsIDB4MTI2MCwgMHgx
MjcwLCAweDEyOTAsCiAgICAgICAgICAgICAweDEyQTAsIDB4MTJBOCwgMHgxMkM4LCAweDEyRDAs
IDB4MTJFOCwgMHgxMkYwLCAweDEzMDgsIDB4MTMzOCwgMHgxMzQ4CiAgICAgICAgIH07CkBAIC04
NjMsNyArODU5LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwg
aW50IHZhbHVlKQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdDogewotICAgICAgICBzdGF0
aWMgY29uc3QgVUNoYXIgZXRoaW9waWNIYWxlaGFtZUFtRXRBbHBoYWJldFszM10gPSB7CisgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNIYWxlaGFtZUFtRXRBbHBoYWJldFsz
M10gPSB7CiAgICAgICAgICAgICAweDEyMDAsIDB4MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIy
MCwgMHgxMjI4LCAweDEyMzAsIDB4MTIzOCwgMHgxMjQwLAogICAgICAgICAgICAgMHgxMjYwLCAw
eDEyNzAsIDB4MTI3OCwgMHgxMjgwLCAweDEyOTAsIDB4MTI5OCwgMHgxMkEwLCAweDEyQTgsIDB4
MTJCOCwKICAgICAgICAgICAgIDB4MTJDOCwgMHgxMkQwLCAweDEyRDgsIDB4MTJFMCwgMHgxMkU4
LCAweDEyRjAsIDB4MTMwMCwgMHgxMzA4LCAweDEzMjAsCkBAIC04NzMsNyArODY5LDcgQEAgU3Ry
aW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0K
ICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWNBYmVnZWRlOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIgZXRoaW9waWNBYmVnZWRlQW1FdEFscGhhYmV0WzMzXSA9IHsKKyAgICAgICAgc3RhdGljIGNv
bnN0ZXhwciBVQ2hhciBldGhpb3BpY0FiZWdlZGVBbUV0QWxwaGFiZXRbMzNdID0gewogICAgICAg
ICAgICAgMHgxMkEwLCAweDEyNjAsIDB4MTMwOCwgMHgxMkYwLCAweDEzMDAsIDB4MTIwMCwgMHgx
MkM4LCAweDEyRDgsIDB4MTJFMCwKICAgICAgICAgICAgIDB4MTIxMCwgMHgxMzIwLCAweDEzMjgs
IDB4MTJFOCwgMHgxMkE4LCAweDEyQjgsIDB4MTIwOCwgMHgxMjE4LCAweDEyOTAsCiAgICAgICAg
ICAgICAweDEyOTgsIDB4MTIyMCwgMHgxMkQwLCAweDEzNDgsIDB4MTMzOCwgMHgxMjQwLCAweDEy
MjgsIDB4MTIzMCwgMHgxMjM4LApAQCAtODgxLDE1ICs4NzcsMTUgQEAgU3RyaW5nIGxpc3RNYXJr
ZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICB9OwogICAgICAg
ICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhpb3BpY0FiZWdlZGVBbUV0QWxwaGFiZXQp
OwogICAgIH0KLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0VhcnRobHlCcmFuY2g6IHsKLSAg
ICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGNqa0VhcnRobHlCcmFuY2hBbHBoYWJldFsxMl0gPSB7
CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktFYXJ0aGx5QnJhbmNoOiB7CisgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgVUNoYXIgY2prRWFydGhseUJyYW5jaEFscGhhYmV0WzEyXSA9IHsKICAg
ICAgICAgICAgIDB4NUI1MCwgMHg0RTExLCAweDVCQzUsIDB4NTM2RiwgMHg4RkIwLCAweDVERjMs
IDB4NTM0OCwgMHg2NzJBLCAweDc1MzMsCiAgICAgICAgICAgICAweDkxNDksIDB4NjIwQywgMHg0
RUE1CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGNqa0Vh
cnRobHlCcmFuY2hBbHBoYWJldCk7CiAgICAgfQotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2pr
SGVhdmVubHlTdGVtOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBjamtIZWF2ZW5seVN0
ZW1BbHBoYWJldFsxMF0gPSB7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktIZWF2ZW5seVN0
ZW06IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBjamtIZWF2ZW5seVN0ZW1BbHBo
YWJldFsxMF0gPSB7CiAgICAgICAgICAgICAweDc1MzIsIDB4NEU1OSwgMHg0RTE5LCAweDRFMDEs
IDB4NjIwQSwgMHg1REYxLCAweDVFOUEsIDB4OEY5QiwgMHg1OEVDLAogICAgICAgICAgICAgMHg3
Njc4CiAgICAgICAgIH07CkBAIC04OTcsNyArODkzLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0
KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZUdlejogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZXRoaW9waWNIYWxlaGFtZUdlekFs
cGhhYmV0WzI2XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0hh
bGVoYW1lR2V6QWxwaGFiZXRbMjZdID0gewogICAgICAgICAgICAgMHgxMjAwLCAweDEyMDgsIDB4
MTIxMCwgMHgxMjE4LCAweDEyMjAsIDB4MTIyOCwgMHgxMjMwLCAweDEyNDAsIDB4MTI2MCwKICAg
ICAgICAgICAgIDB4MTI3MCwgMHgxMjgwLCAweDEyOTAsIDB4MTJBMCwgMHgxMkE4LCAweDEyQzgs
IDB4MTJEMCwgMHgxMkQ4LCAweDEyRTgsCiAgICAgICAgICAgICAweDEyRjAsIDB4MTMwOCwgMHgx
MzIwLCAweDEzMzAsIDB4MTMzOCwgMHgxMzQwLCAweDEzNDgsIDB4MTM1MApAQCAtOTA2LDcgKzkw
Miw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1
ZSkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGU6CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVHZXo6IHsKLSAgICAgICAgc3RhdGlj
IGNvbnN0IFVDaGFyIGV0aGlvcGljQWJlZ2VkZUdlekFscGhhYmV0WzI2XSA9IHsKKyAgICAgICAg
c3RhdGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0FiZWdlZGVHZXpBbHBoYWJldFsyNl0gPSB7
CiAgICAgICAgICAgICAweDEyQTAsIDB4MTI2MCwgMHgxMzA4LCAweDEyRjAsIDB4MTIwMCwgMHgx
MkM4LCAweDEyRDgsIDB4MTIxMCwgMHgxMzIwLAogICAgICAgICAgICAgMHgxMkU4LCAweDEyQTgs
IDB4MTIwOCwgMHgxMjE4LCAweDEyOTAsIDB4MTIyMCwgMHgxMkQwLCAweDEzNDgsIDB4MTMzOCwK
ICAgICAgICAgICAgIDB4MTI0MCwgMHgxMjI4LCAweDEyMzAsIDB4MTI3MCwgMHgxMjgwLCAweDEz
NDAsIDB4MTMzMCwgMHgxMzUwCkBAIC05MTQsMTQgKzkxMCwxNCBAQCBTdHJpbmcgbGlzdE1hcmtl
clRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgIHJldHVybiB0b0Fs
cGhhYmV0aWModmFsdWUsIGV0aGlvcGljQWJlZ2VkZUdlekFscGhhYmV0KTsKICAgICB9CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6IHsKLSAgICAgICAgc3RhdGljIGNv
bnN0IFVDaGFyIGhhbmd1bENvbnNvbmFudEFscGhhYmV0WzE0XSA9IHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0ZXhwciBVQ2hhciBoYW5ndWxDb25zb25hbnRBbHBoYWJldFsxNF0gPSB7CiAgICAgICAg
ICAgICAweDMxMzEsIDB4MzEzNCwgMHgzMTM3LCAweDMxMzksIDB4MzE0MSwgMHgzMTQyLCAweDMx
NDUsIDB4MzE0NywgMHgzMTQ4LAogICAgICAgICAgICAgMHgzMTRBLCAweDMxNEIsIDB4MzE0Qywg
MHgzMTRELCAweDMxNEUKICAgICAgICAgfTsKICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2
YWx1ZSwgaGFuZ3VsQ29uc29uYW50QWxwaGFiZXQpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okhhbmd1bDogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgaGFuZ3VsQWxwaGFi
ZXRbMTRdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGhhbmd1bEFscGhhYmV0
WzE0XSA9IHsKICAgICAgICAgICAgIDB4QUMwMCwgMHhCMDk4LCAweEIyRTQsIDB4Qjc3QywgMHhC
OUM4LCAweEJDMTQsIDB4QzBBQywgMHhDNTQ0LCAweEM3OTAsCiAgICAgICAgICAgICAweENDMjgs
IDB4Q0U3NCwgMHhEMEMwLCAweEQzMEMsIDB4RDU1OAogICAgICAgICB9OwpAQCAtOTI5LDcgKzky
NSw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1
ZSkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcm9tbzoKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBV
Q2hhciBldGhpb3BpY0hhbGVoYW1lT21FdEFscGhhYmV0WzI1XSA9IHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0hhbGVoYW1lT21FdEFscGhhYmV0WzI1XSA9IHsKICAg
ICAgICAgICAgIDB4MTIwMCwgMHgxMjA4LCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgs
IDB4MTI0MCwgMHgxMjYwLCAweDEyNzAsCiAgICAgICAgICAgICAweDEyNzgsIDB4MTI5MCwgMHgx
Mjk4LCAweDEyQTAsIDB4MTJBOCwgMHgxMkM4LCAweDEyRTgsIDB4MTJGMCwgMHgxMkY4LAogICAg
ICAgICAgICAgMHgxMzAwLCAweDEzMDgsIDB4MTMyMCwgMHgxMzI4LCAweDEzMzgsIDB4MTMzMCwg
MHgxMzQ4CkBAIC05MzgsNyArOTM0LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHls
ZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNp
ZGFtYToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTaWRFdDogewot
ICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZXRoaW9waWNIYWxlaGFtZVNpZEV0QWxwaGFiZXRb
MjZdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGV0aGlvcGljSGFsZWhhbWVT
aWRFdEFscGhhYmV0WzI2XSA9IHsKICAgICAgICAgICAgIDB4MTIwMCwgMHgxMjA4LCAweDEyMTAs
IDB4MTIxOCwgMHgxMjI4LCAweDEyMzAsIDB4MTIzOCwgMHgxMjQwLCAweDEyNjAsCiAgICAgICAg
ICAgICAweDEyNzAsIDB4MTI3OCwgMHgxMjkwLCAweDEyOTgsIDB4MTJBMCwgMHgxMkE4LCAweDEy
QzgsIDB4MTJFOCwgMHgxMkYwLAogICAgICAgICAgICAgMHgxMkY4LCAweDEzMDAsIDB4MTMwOCwg
MHgxMzIwLCAweDEzMjgsIDB4MTMzOCwgMHgxMzMwLCAweDEzNDgKQEAgLTk0Nyw3ICs5NDMsNyBA
QCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAg
ICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U29tYWxpOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFy
IGV0aGlvcGljSGFsZWhhbWVTb0V0QWxwaGFiZXRbMjJdID0geworICAgICAgICBzdGF0aWMgY29u
c3RleHByIFVDaGFyIGV0aGlvcGljSGFsZWhhbWVTb0V0QWxwaGFiZXRbMjJdID0gewogICAgICAg
ICAgICAgMHgxMjAwLCAweDEyMDgsIDB4MTIxMCwgMHgxMjE4LCAweDEyMjgsIDB4MTIzMCwgMHgx
MjM4LCAweDEyNDAsIDB4MTI2MCwKICAgICAgICAgICAgIDB4MTI3MCwgMHgxMjkwLCAweDEyQTAs
IDB4MTJBOCwgMHgxMkI4LCAweDEyQzgsIDB4MTJEMCwgMHgxMkU4LCAweDEyRjAsCiAgICAgICAg
ICAgICAweDEzMDAsIDB4MTMwOCwgMHgxMzM4LCAweDEzNDgKQEAgLTk1Niw3ICs5NTIsNyBAQCBT
dHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAg
fQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmU6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpFdGhpb3BpY0hhbGVoYW1lVGlnOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBldGhp
b3BpY0hhbGVoYW1lVGlnQWxwaGFiZXRbMjddID0geworICAgICAgICBzdGF0aWMgY29uc3RleHBy
IFVDaGFyIGV0aGlvcGljSGFsZWhhbWVUaWdBbHBoYWJldFsyN10gPSB7CiAgICAgICAgICAgICAw
eDEyMDAsIDB4MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsIDB4
MTI0MCwgMHgxMjYwLAogICAgICAgICAgICAgMHgxMjcwLCAweDEyNzgsIDB4MTI5MCwgMHgxMkEw
LCAweDEyQTgsIDB4MTJDOCwgMHgxMkQwLCAweDEyRDgsIDB4MTJFOCwKICAgICAgICAgICAgIDB4
MTJGMCwgMHgxMzAwLCAweDEzMDgsIDB4MTMyMCwgMHgxMzI4LCAweDEzMzgsIDB4MTMzMCwgMHgx
MzQ4LCAweDEzNTAKQEAgLTk2NSw3ICs5NjEsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlz
dFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6VGlncmlueWFFcjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVU
aUVyOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBldGhpb3BpY0hhbGVoYW1lVGlFckFs
cGhhYmV0WzMxXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0hh
bGVoYW1lVGlFckFscGhhYmV0WzMxXSA9IHsKICAgICAgICAgICAgIDB4MTIwMCwgMHgxMjA4LCAw
eDEyMTAsIDB4MTIxOCwgMHgxMjI4LCAweDEyMzAsIDB4MTIzOCwgMHgxMjQwLCAweDEyNTAsCiAg
ICAgICAgICAgICAweDEyNjAsIDB4MTI3MCwgMHgxMjc4LCAweDEyOTAsIDB4MTI5OCwgMHgxMkEw
LCAweDEyQTgsIDB4MTJCOCwgMHgxMkM4LAogICAgICAgICAgICAgMHgxMkQwLCAweDEyRDgsIDB4
MTJFMCwgMHgxMkU4LCAweDEyRjAsIDB4MTMwMCwgMHgxMzA4LCAweDEzMjAsIDB4MTMyOCwKQEAg
LTk3NSw3ICs5NzEsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFi
ZWdlZGU6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUVyOiB7Ci0g
ICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBldGhpb3BpY0FiZWdlZGVUaUVyQWxwaGFiZXRbMzFd
ID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGV0aGlvcGljQWJlZ2VkZVRpRXJB
bHBoYWJldFszMV0gPSB7CiAgICAgICAgICAgICAweDEyQTAsIDB4MTI2MCwgMHgxMzA4LCAweDEy
RjAsIDB4MTMwMCwgMHgxMjAwLCAweDEyQzgsIDB4MTJEOCwgMHgxMkUwLAogICAgICAgICAgICAg
MHgxMjEwLCAweDEzMjAsIDB4MTMyOCwgMHgxMkU4LCAweDEyQTgsIDB4MTJCOCwgMHgxMjA4LCAw
eDEyMTgsIDB4MTI5MCwKICAgICAgICAgICAgIDB4MTI5OCwgMHgxMkQwLCAweDEzNDgsIDB4MTMz
OCwgMHgxMjQwLCAweDEyNTAsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsCkBAIC05ODUsNyArOTgx
LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVl
KQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDogewotICAgICAgICBzdGF0aWMgY29u
c3QgVUNoYXIgZXRoaW9waWNIYWxlaGFtZVRpRXRBbHBoYWJldFszNF0gPSB7CisgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNIYWxlaGFtZVRpRXRBbHBoYWJldFszNF0gPSB7
CiAgICAgICAgICAgICAweDEyMDAsIDB4MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIyMCwgMHgx
MjI4LCAweDEyMzAsIDB4MTIzOCwgMHgxMjQwLAogICAgICAgICAgICAgMHgxMjUwLCAweDEyNjAs
IDB4MTI3MCwgMHgxMjc4LCAweDEyODAsIDB4MTI5MCwgMHgxMjk4LCAweDEyQTAsIDB4MTJBOCwK
ICAgICAgICAgICAgIDB4MTJCOCwgMHgxMkM4LCAweDEyRDAsIDB4MTJEOCwgMHgxMkUwLCAweDEy
RTgsIDB4MTJGMCwgMHgxMzAwLCAweDEzMDgsCkBAIC05OTUsNyArOTkxLDcgQEAgU3RyaW5nIGxp
c3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFdDogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIg
ZXRoaW9waWNBYmVnZWRlVGlFdEFscGhhYmV0WzM0XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciBVQ2hhciBldGhpb3BpY0FiZWdlZGVUaUV0QWxwaGFiZXRbMzRdID0gewogICAgICAgICAg
ICAgMHgxMkEwLCAweDEyNjAsIDB4MTMwOCwgMHgxMkYwLCAweDEzMDAsIDB4MTIwMCwgMHgxMkM4
LCAweDEyRDgsIDB4MTJFMCwKICAgICAgICAgICAgIDB4MTIxMCwgMHgxMzIwLCAweDEzMjgsIDB4
MTJFOCwgMHgxMkE4LCAweDEyQjgsIDB4MTIwOCwgMHgxMjE4LCAweDEyOTAsCiAgICAgICAgICAg
ICAweDEyOTgsIDB4MTIyMCwgMHgxMkQwLCAweDEzNDgsIDB4MTMzOCwgMHgxMjQwLCAweDEyNTAs
IDB4MTIyOCwgMHgxMjMwLApAQCAtMTAwNCw3ICsxMDAwLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJU
ZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4gdG9BbHBo
YWJldGljKHZhbHVlLCBldGhpb3BpY0FiZWdlZGVUaUV0QWxwaGFiZXQpOwogICAgIH0KICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyR3JlZWs6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVD
aGFyIHVwcGVyR3JlZWtBbHBoYWJldFsyNF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIg
VUNoYXIgdXBwZXJHcmVla0FscGhhYmV0WzI0XSA9IHsKICAgICAgICAgICAgIDB4MDM5MSwgMHgw
MzkyLCAweDAzOTMsIDB4MDM5NCwgMHgwMzk1LCAweDAzOTYsIDB4MDM5NywgMHgwMzk4LCAweDAz
OTksCiAgICAgICAgICAgICAweDAzOUEsIDB4MDM5QiwgMHgwMzlDLCAweDAzOUQsIDB4MDM5RSwg
MHgwMzlGLCAweDAzQTAsIDB4MDNBMSwgMHgwM0EzLAogICAgICAgICAgICAgMHgwM0E0LCAweDAz
QTUsIDB4MDNBNiwgMHgwM0E3LCAweDAzQTgsIDB4MDNBOQpAQCAtMTAxMiw3ICsxMDA4LDcgQEAg
U3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAg
ICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCB1cHBlckdyZWVrQWxwaGFiZXQpOwogICAg
IH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuOiB7Ci0gICAgICAgIHN0
YXRpYyBjb25zdCBMQ2hhciBsb3dlck5vcndlZ2lhbkFscGhhYmV0WzI5XSA9IHsKKyAgICAgICAg
c3RhdGljIGNvbnN0ZXhwciBMQ2hhciBsb3dlck5vcndlZ2lhbkFscGhhYmV0WzI5XSA9IHsKICAg
ICAgICAgICAgIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsIDB4Njgs
IDB4NjksCiAgICAgICAgICAgICAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLCAw
eDcwLCAweDcxLCAweDcyLAogICAgICAgICAgICAgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3
NywgMHg3OCwgMHg3OSwgMHg3QSwgMHhFNiwKQEAgLTEwMjEsNyArMTAxNyw3IEBAIFN0cmluZyBs
aXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgcmV0
dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwgbG93ZXJOb3J3ZWdpYW5BbHBoYWJldCk7CiAgICAgfQog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW46IHsKLSAgICAgICAgc3RhdGlj
IGNvbnN0IExDaGFyIHVwcGVyTm9yd2VnaWFuQWxwaGFiZXRbMjldID0geworICAgICAgICBzdGF0
aWMgY29uc3RleHByIExDaGFyIHVwcGVyTm9yd2VnaWFuQWxwaGFiZXRbMjldID0gewogICAgICAg
ICAgICAgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywgMHg0OCwgMHg0
OSwKICAgICAgICAgICAgIDB4NEEsIDB4NEIsIDB4NEMsIDB4NEQsIDB4NEUsIDB4NEYsIDB4NTAs
IDB4NTEsIDB4NTIsCiAgICAgICAgICAgICAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAw
eDU4LCAweDU5LCAweDVBLCAweEM2LApAQCAtMTAzMCw3ICsxMDI2LDcgQEAgU3RyaW5nIGxpc3RN
YXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4g
dG9BbHBoYWJldGljKHZhbHVlLCB1cHBlck5vcndlZ2lhbkFscGhhYmV0KTsKICAgICB9CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzogewotICAgICAgICBzdGF0aWMgY29u
c3QgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxUYWJsZVsxNl0gPSB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxUYWJsZVsx
Nl0gPSB7CiAgICAgICAgICAgICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LAogICAgICAgICAgICAg
MHg1MzQxLCAweDc2N0UsIDB4NTM0MywKICAgICAgICAgICAgIDB4OTZGNiwgMHg0RTAwLCAweDRF
OEMsIDB4NEUwOSwgMHg1NkRCLApAQCAtMTA0NCw4ICsxMDQwLDYgQEAgU3RyaW5nIGxpc3RNYXJr
ZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VXBwZXJSb21hbjoKICAgICAgICAgcmV0dXJuIHRvUm9tYW4odmFsdWUsIExldHRlckNh
c2U6OlVwcGVyKTsKIAotICAgIC8vIEEgQ1NTMyBkcmFmdCBzYWlkIHRoYXQgImFybWVuaWFuIiBt
ZWFucyAibG93ZXItYXJtZW5pYW4iLiBCdXQgdGhlIENTUzIuMSB0ZXN0Ci0gICAgLy8gc3VpdGUg
Y29udGFpbnMgdXBwZXJjYXNlIHRlc3QgcmVzdWx0cyBmb3IgImFybWVuaWFuIjsgb3VyIGJlaGF2
aW9yIG1hdGNoZXMgdGhhdC4KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBcm1lbmlhbjoKICAgICAgICAgcmV0dXJuIHRvQXJt
ZW5pYW4odmFsdWUsIExldHRlckNhc2U6OlVwcGVyKTsKQEAgLTEwNTYsNiArMTA1MCwyMCBAQCBT
dHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAg
ICAgIHJldHVybiB0b0dlb3JnaWFuKHZhbHVlKTsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhl
YnJldzoKICAgICAgICAgcmV0dXJuIHRvSGVicmV3KHZhbHVlKTsKKworICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6Q0pLRGVjaW1hbDogeworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIENK
S0RlY2ltYWxOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgICAgICAweDMwMDcsIDB4NEUwMCwgMHg0
RThDLCAweDRFMDksIDB4NTZEQiwgMHg0RTk0LCAweDUxNkQsIDB4NEUwMywgMHg1MTZCLCAweDRF
NUQKKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgQ0pLRGVjaW1h
bE51bWVyYWxzKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUYW1pbDogeworICAg
ICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIHRhbWlsTnVtZXJhbHNbMTBdID0geworICAgICAg
ICAgICAgMHgwQkU2LCAweDBCRTcsIDB4MEJFOCwgMHgwQkU5LCAweDBCRUEsIDB4MEJFQiwgMHgw
QkVDLCAweDBCRUQsIDB4MEJFRSwgMHgwQkVGCisgICAgICAgIH07CisgICAgICAgIHJldHVybiB0
b051bWVyaWModmFsdWUsIHRhbWlsTnVtZXJhbHMpOworICAgIH0KKwogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6U3RyaW5nOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
YnJlYWs7CkBAIC0xMTczLDEzICsxMTgxLDEzIEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNlCiAg
ICAgICAgIGNvbnRleHQuZmlsbFJlY3Qoc25hcHBlZEludFJlY3Qoc2VsUmVjdCksIG1fbGlzdEl0
ZW0tPnNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpKTsKICAgICB9CiAKLSAgICBjb25zdCBDb2xv
ciBjb2xvcihzdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcldpdGhDb2xvckZpbHRlcihDU1NQ
cm9wZXJ0eUNvbG9yKSk7CisgICAgYXV0byBjb2xvciA9IHN0eWxlKCkudmlzaXRlZERlcGVuZGVu
dENvbG9yV2l0aENvbG9yRmlsdGVyKENTU1Byb3BlcnR5Q29sb3IpOwogICAgIGNvbnRleHQuc2V0
U3Ryb2tlQ29sb3IoY29sb3IpOwogICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoU29saWRTdHJv
a2UpOwogICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKDEuMGYpOwogICAgIGNvbnRleHQu
c2V0RmlsbENvbG9yKGNvbG9yKTsKIAotICAgIExpc3RTdHlsZVR5cGUgdHlwZSA9IHN0eWxlKCku
bGlzdFN0eWxlVHlwZSgpOworICAgIGF1dG8gdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgp
OwogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzYzoKICAg
ICAgICAgY29udGV4dC5kcmF3RWxsaXBzZShtYXJrZXJSZWN0KTsKQEAgLTExOTMsODQgKzEyMDEs
NyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpOb25lOgogICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpBZmFyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpYzoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkFtaGFyaWNBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJh
YmljSW5kaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkJpbmFyeToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDYW1ib2RpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpDSktJZGVvZ3JhcGhpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0VhcnRobHlCcmFu
Y2g6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtIZWF2ZW5seVN0ZW06Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpEZWNpbWFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2FyaToKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkV0aGlvcGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9w
aWNBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpFdGhpb3BpY0FiZWdlZGVUaUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNI
YWxlaGFtZUFhRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFF
dDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUdlejoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVNpZEV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxl
aGFtZVNvRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0OgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZzoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6Okdlb3JnaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1
bDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkhlYnJldzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okthbm5hZGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYToKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hSXJvaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpLaG1lcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkxhbzoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okxvd2VyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFu
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlazoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okxvd2VySGV4YWRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxh
dGluOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW46Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TWFsYXlh
bGFtOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TW9uZ29saWFuOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6TXlhbm1hcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9jdGFsOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6T3JpeWE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcm9tbzoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlBlcnNpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpTaWRhbWE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTb21hbGk6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpUZWx1Z3U6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6VGliZXRhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3Jl
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFcjoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlRpZ3JpbnlhRXJBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlu
eWFFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVw
cGVyQXJtZW5pYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckdyZWVrOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OlVwcGVyTGF0aW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlck5vcndlZ2lhbjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpVcmR1OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXN0ZXJpc2tzOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5n
OgorICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBpZiAobV90ZXh0Lmlz
RW1wdHkoKSkKQEAgLTEyOTYsNyArMTIyNyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNlCiAg
ICAgaWYgKHR5cGUgPT0gTGlzdFN0eWxlVHlwZTo6QXN0ZXJpc2tzIHx8IHR5cGUgPT0gTGlzdFN0
eWxlVHlwZTo6Rm9vdG5vdGVzIHx8IHR5cGUgPT0gTGlzdFN0eWxlVHlwZTo6U3RyaW5nKQogICAg
ICAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIHRleHRPcmlnaW4pOwogICAgIGVs
c2UgewotICAgICAgICBjb25zdCBVQ2hhciBzdWZmaXggPSBsaXN0TWFya2VyU3VmZml4KHR5cGUs
IG1fbGlzdEl0ZW0tPnZhbHVlKCkpOworICAgICAgICBhdXRvIHN1ZmZpeCA9IGxpc3RNYXJrZXJT
dWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSk7CiAKICAgICAgICAgLy8gRklYTUU6IENv
dWxkIHVzZSBhIFZlY3RvciB3aXRoIGlubGluZSBjYXBhY2l0eSBpbnN0ZWFkIG9mIFN0cmluZyB0
byBhdm9pZAogICAgICAgICAvLyBtZW1vcnkgYWxsb2NhdGlvbiBoZXJlLgpAQCAtMTMwNiwyNSAr
MTIzNywyOCBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZQogICAgICAgICAvLyBjaGVja2luZyB0
aGUgZmlyc3QgY2hhcmFjdGVyLCBhbmQgb25seSBuZWVkIHRvIGhhbmRsZSBVX1JJR0hUX1RPX0xF
RlQuCiAgICAgICAgIC8vIEZJWE1FOiBDb3VsZCBjaGVjayBtb3JlIGVmZmljaWVudGx5IHRoYW4g
dV9jaGFyRGlyZWN0aW9uLCBzaW5jZSB3ZSBrbm93CiAgICAgICAgIC8vIG9ubHkgY2VydGFpbiBj
aGFyYWN0ZXJzIGFyZSB1c2VkIGFuZCBvbmx5IG5lZWQgdG8gY2hlY2sgZm9yIFVfUklHSFRfVE9f
TEVGVC4KKyAgICAgICAgYm9vbCBzaG91bGRBZGRTcGFjZSA9IHN1ZmZpeFJlcXVpcmVzU3BhY2Uo
c3VmZml4KTsKICAgICAgICAgaWYgKHVfY2hhckRpcmVjdGlvbihtX3RleHRbMF0pID09IFVfUklH
SFRfVE9fTEVGVCkgewogICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV90ZXh0Lmxlbmd0
aCgpOwogICAgICAgICAgICAgVUNoYXIqIGNoYXJhY3RlcnM7Ci0gICAgICAgICAgICB0ZXh0VG9E
cmF3ID0gU3RyaW5nOjpjcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCArIDIsIGNoYXJhY3RlcnMp
OworICAgICAgICAgICAgdGV4dFRvRHJhdyA9IFN0cmluZzo6Y3JlYXRlVW5pbml0aWFsaXplZChs
ZW5ndGggKyAxICsgc2hvdWxkQWRkU3BhY2UsIGNoYXJhY3RlcnMpOwogICAgICAgICAgICAgaWYg
KCFzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICpj
aGFyYWN0ZXJzKysgPSBzcGFjZTsKKyAgICAgICAgICAgICAgICBpZiAoc2hvdWxkQWRkU3BhY2Up
CisgICAgICAgICAgICAgICAgICAgICpjaGFyYWN0ZXJzKysgPSBzcGFjZTsKICAgICAgICAgICAg
ICAgICAqY2hhcmFjdGVycysrID0gc3VmZml4OwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgICpj
aGFyYWN0ZXJzKysgPSBtX3RleHRbbGVuZ3RoIC0gaSAtIDFdOwogICAgICAgICAgICAgaWYgKHN0
eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgKmNoYXJh
Y3RlcnMrKyA9IHN1ZmZpeDsKLSAgICAgICAgICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7
CisgICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZFNwYWNlKQorICAgICAgICAgICAgICAgICAg
ICAqY2hhcmFjdGVycysrID0gc3BhY2U7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAg
ICAgICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcobV90ZXh0LCBzdWZmaXgsIHNwYWNl
KTsKKyAgICAgICAgICAgICAgICB0ZXh0VG9EcmF3ID0gbWFrZVN0cmluZyhtX3RleHQsIHN1ZmZp
eCwgc2hvdWxkQWRkU3BhY2UgPyAiICIgOiAiIik7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcoc3BhY2UsIHN1ZmZpeCwgbV90ZXh0KTsK
KyAgICAgICAgICAgICAgICB0ZXh0VG9EcmF3ID0gbWFrZVN0cmluZyhzaG91bGRBZGRTcGFjZSA/
ICIgIiA6ICIiLCBzdWZmaXgsIG1fdGV4dCk7CiAgICAgICAgIH0KICAgICAgICAgdGV4dFJ1bi5z
ZXRUZXh0KHRleHRUb0RyYXcpOwogCkBAIC0xNTEyLDcgKzE0NDYsNyBAQCB2b2lkIFJlbmRlckxp
c3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
TGlzdFN0eWxlVHlwZSB0eXBlID0gc3R5bGUoKS5saXN0U3R5bGVUeXBlKCk7CisgICAgYXV0byB0
eXBlID0gc3R5bGUoKS5saXN0U3R5bGVUeXBlKCk7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgogICAgICAgICBicmVhazsKQEAgLTE1MjQsODMgKzE0
NTgsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQoKQogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6U3F1YXJlOgogICAgICAgICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0
eXBlLCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3IgdGhlc2UgdHlwZXMKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBc3Rlcmlza3M6Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpGb290bm90ZXM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBZmFyOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFy
aWNBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWM6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFy
eToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpDYW1ib2RpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0VhcnRobHlCcmFuY2g6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpDamtIZWF2ZW5seVN0ZW06Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNp
bWFsTGVhZGluZ1plcm86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2FyaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0
aGlvcGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlv
cGljQWJlZ2VkZVRpRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVU
aUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXI6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFdDoKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNIYWxlaGFtZUdlejoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVPbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNpZEV0
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFcjoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVRpZzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okdlb3JnaWFuOgotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpH
dXJtdWtoaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bDoKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhlYnJl
dzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6SGlyYWdhbmFJcm9oYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkthdGFrYW5hSXJvaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLaG1lcjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkxhbzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6TG93ZXJHcmVlazoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4YWRl
Y2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxhdGluOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
clJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TWFsYXlhbGFtOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TW9uZ29saWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlhbm1hcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9jdGFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
T3JpeWE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcm9tbzoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlBlcnNpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTaWRhbWE6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpTb21hbGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUZWx1Z3U6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VGliZXRhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JlOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VGlncmlueWFFcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXJB
YmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdDoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJBbHBoYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckdyZWVrOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJIZXhhZGVjaW1hbDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlck5vcndlZ2lhbjoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyUm9tYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcmR1OgorICAgIGRl
ZmF1bHQ6CiAgICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIG1fbGlzdEl0ZW0t
PnZhbHVlKCkpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNjIyLDcgKzE0ODAsNyBAQCB2
b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAg
ICBjb25zdCBGb250Q2FzY2FkZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKIAogICAg
IExheW91dFVuaXQgbG9naWNhbFdpZHRoOwotICAgIExpc3RTdHlsZVR5cGUgdHlwZSA9IHN0eWxl
KCkubGlzdFN0eWxlVHlwZSgpOworICAgIGF1dG8gdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlw
ZSgpOwogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZToK
ICAgICAgICAgYnJlYWs7CkBAIC0xNjM5LDg5ICsxNDk3LDE1IEBAIHZvaWQgUmVuZGVyTGlzdE1h
cmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6U3F1YXJlOgogICAgICAgICBsb2dpY2FsV2lkdGggPSAoZm9udC5mb250TWV0cmljcygp
LmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIgKyAyOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkFmYXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGU6Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpBcmFiaWNJbmRpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmluYXJ5OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
QmVuZ2FsaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNhbWJvZGlhbjoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2pr
RWFydGhseUJyYW5jaDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0hlYXZlbmx5U3RlbToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVybzoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZXZhbmFnYXJp
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0FiZWdlZGU6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0Fi
ZWdlZGVBbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6Ogot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFcjoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpFdGhpb3BpY0hhbGVoYW1lQWFFcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
SGFsZWhhbWVBYUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFt
RXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lR2V6OgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZU9tRXQ6Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU2lkRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lU29FdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVUaUVyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6R2VvcmdpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdWphcmF0
aToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1cm11a2hpOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6SGFuZ3VsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsQ29uc29uYW50Ogot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVicmV3OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
SGlyYWdhbmE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYUlyb2hhOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6S2FubmFkYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFr
YW5hOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYToKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OktobWVyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TGFvOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBoYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxv
d2VyQXJtZW5pYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckdyZWVrOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJIZXhhZGVjaW1hbDoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6Okxvd2VyTGF0aW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlck5vcndlZ2lhbjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyUm9tYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpNYWxheWFsYW06Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpNb25nb2xpYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpNeWFubWFyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T2N0
YWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcml5YToKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6Ok9yb21vOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6UGVyc2lhbjoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlNpZGFtYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNvbWFsaToKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlRlbHVndToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRo
YWk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWJldGFuOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VGlncmU6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGU6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpUaWdyaW55YUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdl
ZGU6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFscGhhOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VXBwZXJBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyR3Jl
ZWs6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVy
Tm9yd2VnaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlVyZHU6CisgICAgZGVmYXVsdDoKICAgICAgICAgaWYgKG1fdGV4dC5p
c0VtcHR5KCkpCiAgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSAwOwogICAgICAgICBlbHNlIHsK
ICAgICAgICAgICAgIFRleHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4o
bV90ZXh0LCBzdHlsZSgpKTsKICAgICAgICAgICAgIExheW91dFVuaXQgaXRlbVdpZHRoIHsgZm9u
dC53aWR0aChydW4pIH07Ci0gICAgICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9IHsgbGlz
dE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07Ci0gICAgICAg
ICAgICBMYXlvdXRVbml0IHN1ZmZpeFNwYWNlV2lkdGggeyBmb250LndpZHRoKFJlbmRlckJsb2Nr
Ojpjb25zdHJ1Y3RUZXh0UnVuKHN1ZmZpeFNwYWNlLCAyLCBzdHlsZSgpKSkgfTsKLSAgICAgICAg
ICAgIGxvZ2ljYWxXaWR0aCA9IGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGg7CisgICAgICAg
ICAgICBVQ2hhciBzdWZmaXhbMl0gPSB7IGxpc3RNYXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRl
bS0+dmFsdWUoKSksICcgJyB9OworICAgICAgICAgICAgTGF5b3V0VW5pdCBzdWZmaXhXaWR0aCB7
IGZvbnQud2lkdGgoUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oc3VmZml4LCBzdWZmaXhS
ZXF1aXJlc1NwYWNlKHN1ZmZpeFswXSkgPyAyIDogMSwgc3R5bGUoKSkpIH07CisgICAgICAgICAg
ICBsb2dpY2FsV2lkdGggPSBpdGVtV2lkdGggKyBzdWZmaXhXaWR0aDsKICAgICAgICAgfQogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC0xODAwLDE2ICsxNTg0LDE3IEBAIExheW91dFVuaXQgUmVu
ZGVyTGlzdE1hcmtlcjo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBl
LCBib29sIGZpCiAKIFN0cmluZyBSZW5kZXJMaXN0TWFya2VyOjpzdWZmaXgoKSBjb25zdAogewot
ICAgIExpc3RTdHlsZVR5cGUgdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOworICAgIGF1
dG8gdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOwogICAgIGlmICh0eXBlID09IExpc3RT
dHlsZVR5cGU6OlN0cmluZykKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKLSAgICBj
b25zdCBVQ2hhciBzdWZmaXggPSBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0tPnZh
bHVlKCkpOworICAgIGF1dG8gc3VmZml4ID0gbGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJ
dGVtLT52YWx1ZSgpKTsKIAogICAgIGlmIChzdWZmaXggPT0gJyAnKQogICAgICAgICByZXR1cm4g
IiAiX3N0cjsKKyAgICBpZiAoIXN1ZmZpeFJlcXVpcmVzU3BhY2Uoc3VmZml4KSkKKyAgICAgICAg
cmV0dXJuIHsgJnN1ZmZpeCwgMSB9OwogCi0gICAgLy8gSWYgdGhlIHN1ZmZpeCBpcyBub3QgJyAn
LCBhbiBleHRyYSBzcGFjZSBpcyBuZWVkZWQKICAgICBVQ2hhciBkYXRhWzJdOwogICAgIGlmIChz
dHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICBkYXRhWzBdID0gc3Vm
Zml4OwpAQCAtMTgxOCw4ICsxNjAzLDcgQEAgU3RyaW5nIFJlbmRlckxpc3RNYXJrZXI6OnN1ZmZp
eCgpIGNvbnN0CiAgICAgICAgIGRhdGFbMF0gPSAnICc7CiAgICAgICAgIGRhdGFbMV0gPSBzdWZm
aXg7CiAgICAgfQotCi0gICAgcmV0dXJuIFN0cmluZyhkYXRhLCAyKTsKKyAgICByZXR1cm4geyBk
YXRhLCAyIH07CiB9CiAKIGJvb2wgUmVuZGVyTGlzdE1hcmtlcjo6aXNJbnNpZGUoKSBjb25zdApA
QCAtMTgzMyw3ICsxNjE3LDcgQEAgRmxvYXRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0
aXZlTWFya2VyUmVjdCgpCiAgICAgICAgIHJldHVybiBGbG9hdFJlY3QoMCwgMCwgbV9pbWFnZS0+
aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKS53aWR0aCgpLCBtX2ltYWdl
LT5pbWFnZVNpemUodGhpcywgc3R5bGUoKS5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpKTsKICAg
ICAKICAgICBGbG9hdFJlY3QgcmVsYXRpdmVSZWN0OwotICAgIExpc3RTdHlsZVR5cGUgdHlwZSA9
IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOworICAgIGF1dG8gdHlwZSA9IHN0eWxlKCkubGlzdFN0
eWxlVHlwZSgpOwogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
QXN0ZXJpc2tzOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgpAQCAtMTg1Nyw4
OSArMTY0MSwxNSBAQCBGbG9hdFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXJr
ZXJSZWN0KCkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgogICAgICAgICBy
ZXR1cm4gRmxvYXRSZWN0KCk7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBZmFyOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFy
aWNBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWM6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFy
eToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpDYW1ib2RpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0VhcnRobHlCcmFuY2g6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpDamtIZWF2ZW5seVN0ZW06Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNp
bWFsTGVhZGluZ1plcm86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2FyaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0
aGlvcGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlv
cGljQWJlZ2VkZVRpRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVU
aUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXI6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFdDoKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNIYWxlaGFtZUdlejoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVPbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNpZEV0
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFcjoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVRpZzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okdlb3JnaWFuOgotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpH
dXJtdWtoaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bDoKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhlYnJl
dzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6SGlyYWdhbmFJcm9oYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkthdGFrYW5hSXJvaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLaG1lcjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkxhbzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6TG93ZXJHcmVlazoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4YWRl
Y2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxhdGluOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
clJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TWFsYXlhbGFtOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TW9uZ29saWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlhbm1hcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9jdGFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
T3JpeWE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcm9tbzoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlBlcnNpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTaWRhbWE6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpTb21hbGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUZWx1Z3U6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VGliZXRhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JlOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VGlncmlueWFFcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXJB
YmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdDoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJBbHBoYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckdyZWVrOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJIZXhhZGVjaW1hbDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlck5vcndlZ2lhbjoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyUm9tYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcmR1OgorICAgIGRl
ZmF1bHQ6CiAgICAgICAgIGlmIChtX3RleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJu
IEZsb2F0UmVjdCgpOwogICAgICAgICBjb25zdCBGb250Q2FzY2FkZSYgZm9udCA9IHN0eWxlKCku
Zm9udENhc2NhZGUoKTsKICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3Ry
dWN0VGV4dFJ1bihtX3RleHQsIHN0eWxlKCkpOwogICAgICAgICBmbG9hdCBpdGVtV2lkdGggPSBm
b250LndpZHRoKHJ1bik7Ci0gICAgICAgIFVDaGFyIHN1ZmZpeFNwYWNlWzJdID0geyBsaXN0TWFy
a2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKLSAgICAgICAgZmxv
YXQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRl
eHRSdW4oc3VmZml4U3BhY2UsIDIsIHN0eWxlKCkpKTsKLSAgICAgICAgcmVsYXRpdmVSZWN0ID0g
RmxvYXRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQuZm9udE1l
dHJpY3MoKS5oZWlnaHQoKSk7CisgICAgICAgIFVDaGFyIHN1ZmZpeFsyXSA9IHsgbGlzdE1hcmtl
clN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07CisgICAgICAgIGZsb2F0
IHN1ZmZpeFdpZHRoID0gZm9udC53aWR0aChSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihz
dWZmaXgsIHN1ZmZpeFJlcXVpcmVzU3BhY2Uoc3VmZml4WzBdKSA/IDIgOiAxLCBzdHlsZSgpKSk7
CisgICAgICAgIHJlbGF0aXZlUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBzdWZm
aXhXaWR0aCwgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAo
IXN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKaW5kZXgg
Y2U1ZTcyMTIzMzZhZGE5M2Y1YTExMTUxYTNhYWVhOTc1NGM5MjA5MC4uMWFjMTdiZDEwNzZjMTIz
YTAwOWEwM2JhMmIzZGNjYjVjNDU1YTAxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwCkBAIC03MTUsODggKzcx
NSw5MCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMaXN0U3R5bGVQ
b3NpdGlvbiBwb3NpdGlvbikKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMs
IExpc3RTdHlsZVR5cGUgc3R5bGVUeXBlKQogewogICAgIHN3aXRjaCAoc3R5bGVUeXBlKSB7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOiB0cyA8PCAiZGlzYyI7IGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xlOiB0cyA8PCAiY2lyY2xlIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpTcXVhcmU6IHRzIDw8ICJzcXVhcmUiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkRlY2ltYWw6IHRzIDw8ICJkZWNpbWFsIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86IHRzIDw8ICJkZWNpbWFsLWxlYWRp
bmctemVybyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZhcjogdHMgPDwgImFm
YXIiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6IHRzIDw8ICJhbWhh
cmljIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljQWJlZ2VkZTogdHMg
PDwgImFtaGFyaWMtYWJlZ2VkZSI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJh
YmljSW5kaWM6IHRzIDw8ICJhcmFiaWMtaW5kaWMiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkJpbmFyeTogdHMgPDwgImJpbmFyeSI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6QXJtZW5pYW46IHRzIDw8ICJhcm1lbmlhbiI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6QXN0ZXJpc2tzOiB0cyA8PCAiYXN0ZXJpc2tzIjsgYnJlYWs7CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpCZW5nYWxpOiB0cyA8PCAiYmVuZ2FsaSI7IGJyZWFrOworICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6QmluYXJ5OiB0cyA8PCAiYmluYXJ5IjsgYnJlYWs7CisgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpDSktEZWNpbWFsOiB0cyA8PCAiY2prLWRlY2ltYWwiOyBicmVhazsKKyAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOiB0cyA8PCAiY2prLWlkZW9ncmFw
aGljIjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDYW1ib2RpYW46IHRzIDw8ICJj
YW1ib2RpYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OktobWVyOiB0cyA8PCAi
a2htZXIiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZTogdHMgPDwgImNp
cmNsZSI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRWFydGhseUJyYW5jaDog
dHMgPDwgImNqay1lYXJ0aGx5LWJyYW5jaCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6Q0pLSGVhdmVubHlTdGVtOiB0cyA8PCAiY2prLWhlYXZlbmx5LXN0ZW0iOyBicmVhazsKKyAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkRlY2ltYWw6IHRzIDw8ICJkZWNpbWFsIjsgYnJlYWs7Cisg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86IHRzIDw8ICJkZWNpbWFs
LWxlYWRpbmctemVybyI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2Fy
aTogdHMgPDwgImRldmFuYWdhcmkiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRp
c2M6IHRzIDw8ICJkaXNjIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3Bp
YzogdHMgPDwgImV0aGlvcGljIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0FiZWdlZGU6IHRzIDw8ICJldGhpb3BpYy1hYmVnZWRlIjsgYnJlYWs7CisgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVBbUV0OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2Vk
ZS1hbS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRl
R2V6OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiOyBicmVhazsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXI6IHRzIDw8ICJldGhpb3BpYy1hYmVnZWRlLXRp
LWVyIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUV0
OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS10aS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXI6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1h
YS1lciI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFh
RXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1hYS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFtRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFt
ZS1hbS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZUdlejogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLWdleiI7IGJyZWFrOworICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZU9tRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFt
ZS1vbS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZVNpZEV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IjsgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU29FdDogdHMgPDwgImV0aGlvcGljLWhh
bGVoYW1lLXNvLWV0IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hh
bGVoYW1lVGlFcjogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWVyIjsgYnJlYWs7CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDogdHMgPDwgImV0aGlvcGlj
LWhhbGVoYW1lLXRpLWV0IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3Bp
Y0hhbGVoYW1lVGlnOiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIjsgYnJlYWs7CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpGb290bm90ZXM6IHRzIDw8ICJmb290bm90ZXMiOyBicmVhazsK
KyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okdlb3JnaWFuOiB0cyA8PCAiZ2VvcmdpYW4iOyBicmVh
azsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1amFyYXRpOiB0cyA8PCAiZ3VqYXJhdGkiOyBi
cmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1cm11a2hpOiB0cyA8PCAiZ3VybXVraGki
OyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bDogdHMgPDwgImhhbmd1bCI7
IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsQ29uc29uYW50OiB0cyA8PCAi
aGFuZ3VsLWNvbnNvbmFudCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVicmV3
OiB0cyA8PCAiaGVicmV3IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2Fu
YTogdHMgPDwgImhpcmFnYW5hIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJh
Z2FuYUlyb2hhOiB0cyA8PCAiaGlyYWdhbmEtaXJvaGEiOyBicmVhazsKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okthbm5hZGE6IHRzIDw8ICJrYW5uYWRhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsOiB0cyA8PCAibG93ZXItaGV4YWRlY2ltYWwiOyBi
cmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOiB0cyA8PCAia2F0YWthbmEi
OyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hSXJvaGE6IHRzIDw8ICJr
YXRha2FuYS1pcm9oYSI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2htZXI6IHRz
IDw8ICJraG1lciI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TGFvOiB0cyA8PCAi
bGFvIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFscGhhOiB0cyA8PCAi
bG93ZXItYWxwaGEiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5p
YW46IHRzIDw8ICJsb3dlci1hcm1lbmlhbiI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJHcmVlazogdHMgPDwgImxvd2VyLWdyZWVrIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsOiB0cyA8PCAibG93ZXItaGV4YWRlY2ltYWwiOyBi
cmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTGF0aW46IHRzIDw8ICJsb3dlci1s
YXRpbiI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW46IHRz
IDw8ICJsb3dlci1ub3J3ZWdpYW4iOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxv
d2VyUm9tYW46IHRzIDw8ICJsb3dlci1yb21hbiI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6TWFsYXlhbGFtOiB0cyA8PCAibWFsYXlhbGFtIjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpNb25nb2xpYW46IHRzIDw8ICJtb25nb2xpYW4iOyBicmVhazsKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Ok15YW5tYXI6IHRzIDw8ICJteWFubWFyIjsgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpOb25lOiB0cyA8PCAibm9uZSI7IGJyZWFrOwogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6T2N0YWw6IHRzIDw8ICJvY3RhbCI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6T3JpeWE6IHRzIDw8ICJvcml5YSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6UGVyc2lhbjogdHMgPDwgInBlcnNpYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVyZHU6IHRzIDw8ICJ1cmR1IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUZWx1Z3U6IHRzIDw8ICJ0ZWx1Z3UiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlRpYmV0YW46IHRzIDw8ICJ0aWJldGFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUaGFpOiB0cyA8PCAidGhhaSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBw
ZXJIZXhhZGVjaW1hbDogdHMgPDwgInVwcGVyLWhleGFkZWNpbWFsIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOiB0cyA8PCAibG93ZXItcm9tYW4iOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46IHRzIDw8ICJ1cHBlci1yb21hbiI7
IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlazogdHMgPDwgImxvd2Vy
LWdyZWVrIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFscGhhOiB0cyA8
PCAibG93ZXItYWxwaGEiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTGF0
aW46IHRzIDw8ICJsb3dlci1sYXRpbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJBbHBoYTogdHMgPDwgInVwcGVyLWFscGhhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpVcHBlckxhdGluOiB0cyA8PCAidXBwZXItbGF0aW4iOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkFmYXI6IHRzIDw8ICJhZmFyIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFdDogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1l
LWFhLWV0IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1l
QWFFcjogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWVyIjsgYnJlYWs7Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpBbWhhcmljOiB0cyA8PCAiYW1oYXJpYyI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFtRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxl
aGFtZS1hbS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdl
ZGU6IHRzIDw8ICJhbWhhcmljLWFiZWdlZGUiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQ6IHRzIDw8ICJldGhpb3BpYy1hYmVnZWRlLWFtLWV0Ijsg
YnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0aGx5QnJhbmNoOiB0cyA8PCAi
Y2prLWVhcnRobHktYnJhbmNoIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtI
ZWF2ZW5seVN0ZW06IHRzIDw8ICJjamstaGVhdmVubHktc3RlbSI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWM6IHRzIDw8ICJldGhpb3BpYyI7IGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUdlejogdHMgPDwgImV0aGlvcGljLWhh
bGVoYW1lLWdleiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVn
ZWRlOiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDogdHMgPDwgImhh
bmd1bC1jb25zb25hbnQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bDog
dHMgPDwgImhhbmd1bCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3
ZWdpYW46IHRzIDw8ICJsb3dlci1ub3J3ZWdpYW4iOyBicmVhazsKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Ok9yb21vOiB0cyA8PCAib3JvbW8iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtb20tZXQi
OyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlBlcnNpYW46IHRzIDw8ICJwZXJzaWFu
IjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTaWRhbWE6IHRzIDw8ICJzaWRhbWEi
OyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTaWRFdDog
dHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6U29tYWxpOiB0cyA8PCAic29tYWxpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU29FdDogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXNv
LWV0IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTcXVhcmU6IHRzIDw8ICJzcXVh
cmUiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlN0cmluZzogdHMgPDwgInN0cmlu
ZyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGFtaWw6IHRzIDw8ICJ0YW1pbCI7
IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGVsdWd1OiB0cyA8PCAidGVsdWd1Ijsg
YnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOiB0cyA8PCAidGhhaSI7IGJyZWFr
OworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGliZXRhbjogdHMgPDwgInRpYmV0YW4iOyBicmVh
azsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JlOiB0cyA8PCAidGlncmUiOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaWc6IHRzIDw8ICJldGhp
b3BpYy1oYWxlaGFtZS10aWciOyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3Jp
bnlhRXI6IHRzIDw8ICJ0aWdyaW55YS1lciI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNIYWxlaGFtZVRpRXI6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciI7
IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGU6IHRzIDw8
ICJ0aWdyaW55YS1lci1hYmVnZWRlIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0FiZWdlZGVUaUVyOiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS10aS1lciI7IGJyZWFr
OwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdDogdHMgPDwgInRpZ3JpbnlhLWV0
IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDog
dHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0IjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZTogdHMgPDwgInRpZ3JpbnlhLWV0LWFiZWdlZGUiOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXQ6IHRzIDw8
ICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpVcHBlckFscGhhOiB0cyA8PCAidXBwZXItYWxwaGEiOyBicmVhazsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46IHRzIDw8ICJ1cHBlci1hcm1lbmlhbiI7IGJyZWFrOwog
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazogdHMgPDwgInVwcGVyLWdyZWVrIjsg
YnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOiB0cyA8PCAi
dXBwZXItaGV4YWRlY2ltYWwiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVy
TGF0aW46IHRzIDw8ICJ1cHBlci1sYXRpbiI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6VXBwZXJOb3J3ZWdpYW46IHRzIDw8ICJ1cHBlci1ub3J3ZWdpYW4iOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczogdHMgPDwgImFzdGVyaXNrcyI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOiB0cyA8PCAiZm9vdG5vdGVzIjsgYnJl
YWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIZWJyZXc6IHRzIDw8ICJoZWJyZXciOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOiB0cyA8PCAiYXJtZW5pYW4iOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46IHRzIDw8ICJsb3dl
ci1hcm1lbmlhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBcm1lbmlh
bjogdHMgPDwgInVwcGVyLWFybWVuaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpHZW9yZ2lhbjogdHMgPDwgImdlb3JnaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpDSktJZGVvZ3JhcGhpYzogdHMgPDwgImNqay1pZGVvZ3JhcGhpYyI7IGJyZWFrOwotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmE6IHRzIDw8ICJoaXJhZ2FuYSI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6IHRzIDw8ICJrYXRha2FuYSI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYTogdHMgPDwgImhpcmFnYW5h
LWlyb2hhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYUlyb2hhOiB0
cyA8PCAia2F0YWthbmEtaXJvaGEiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok5v
bmU6IHRzIDw8ICJub25lIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTdHJpbmc6
IHRzIDw8ICJzdHJpbmciOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9t
YW46IHRzIDw8ICJ1cHBlci1yb21hbiI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXJkdTogdHMgPDwgInVyZHUiOyBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIHRzOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3Rh
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaAppbmRleCA0OTkwNGE2ZjIxZWU2ZDI2MWI4OTI5YzY3M2NiNDQxYzJjOTc0Nzg1Li4yNDFm
ZTUwOTYxNmY0OTUyM2RlNjI2MTAyMDgyNDdiOWM1ZmM3NTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNjE3
LDggKzYxNyw4IEBAIGVudW0gY2xhc3MgTGlzdFN0eWxlVHlwZSA6IHVpbnQ4X3QgewogICAgIEV0
aGlvcGljSGFsZWhhbWVBbUV0LAogICAgIEFtaGFyaWNBYmVnZWRlLAogICAgIEV0aGlvcGljQWJl
Z2VkZUFtRXQsCi0gICAgQ2prRWFydGhseUJyYW5jaCwKLSAgICBDamtIZWF2ZW5seVN0ZW0sCisg
ICAgQ0pLRWFydGhseUJyYW5jaCwKKyAgICBDSktIZWF2ZW5seVN0ZW0sCiAgICAgRXRoaW9waWMs
CiAgICAgRXRoaW9waWNIYWxlaGFtZUdleiwKICAgICBFdGhpb3BpY0FiZWdlZGUsCkBAIC02NTYs
NiArNjU2LDggQEAgZW51bSBjbGFzcyBMaXN0U3R5bGVUeXBlIDogdWludDhfdCB7CiAgICAgS2F0
YWthbmEsCiAgICAgSGlyYWdhbmFJcm9oYSwKICAgICBLYXRha2FuYUlyb2hhLAorICAgIENKS0Rl
Y2ltYWwsCisgICAgVGFtaWwsCiAgICAgU3RyaW5nLAogICAgIE5vbmUKIH07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWU2
MzcyMjUyN2Y4YjE2MDYzMTEwNDA5NWZmOWU4NTQ0Mjc1MGI5YS4uMTgxZDdiNjNjYjYzMGQ0YzUz
MTBhODJkZDg5MTA2NGQzOGI2ZDg0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA2LTE5
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDU1MgY291bnRlciBz
dHlsZSBpbXByb3ZlbWVudHMgZm9yIEFybWVuaWFuLCBUYW1pbCwgYW5kIHNvbWUgQ0pLIHN0eWxl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOiBSZW1vdmUgZmFpbHVyZSBleHBlY3RhdGlvbnMgZm9yIDI2IHRlc3RzLgor
CiAyMDIxLTA2LTE5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXggQ1NTIHNlcmlhbGl6YXRpb24gaXNzdWVzIGFmZmVjdGluZyBjc3MtY291bnRlci1zdHlsZXMg
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDRiMDM0NjE4MDcyN2M2OWQ5MWNmN2Q0YWZmYmMz
YWI5ZDY1YTc0Y2IuLmRlNGUzNDE4ZDc1NTU1MmQyYjJlZTY1ZmFhMDk0ZGFmYzcxMDhiYzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDc0NywxNiArNDc0Nyw2IEBAIHdlYmtpdC5vcmcvYi8yMjQz
NTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMv
c2l6aW5nCiB3ZWJraXQub3JnL2IvMjI0MzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvY3Nzb20tZ2V0Qm91bmRpbmdDbGllbnRSZWN0LXZlcnRpY2FsLXJs
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyBAY291bnRlci1zdHlsZSByZWYgdGVzdHMg
dGhhdCBjdXJyZW50bHkgZmFpbAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2FybWVuaWFuL2NzczMtY291bnRlci1zdHlsZXMtMDA4Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jamstZGVjaW1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY2prLWRlY2ltYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0w
MDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nqay1kZWNpbWFsL2NzczMtY291bnRlci1zdHls
ZXMtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jamstZWFydGhseS1icmFuY2gvY3NzMy1j
b3VudGVyLXN0eWxlcy0yMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nqay1lYXJ0aGx5LWJy
YW5jaC9jc3MzLWNvdW50ZXItc3R5bGVzLTIwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY2pr
LWVhcnRobHktYnJhbmNoL2NzczMtY291bnRlci1zdHlsZXMtMjAzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jamstaGVhdmVubHktc3RlbS9jc3MzLWNvdW50ZXItc3R5bGVzLTIwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvY2prLWhlYXZlbmx5LXN0ZW0vY3NzMy1jb3VudGVyLXN0eWxlcy0y
MDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nqay1oZWF2ZW5seS1zdGVtL2NzczMtY291bnRl
ci1zdHlsZXMtMjA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1hZGRpdGl2
ZS1zeW1ib2xzLXNldHRlci1pbnZhbGlkLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9j
c3NvbS1hZGRpdGl2ZS1zeW1ib2xzLXNldHRlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY3Nz
b20vY3Nzb20tZmFsbGJhY2stc2V0dGVyLWludmFsaWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQpAQCAtNDc3NywxMiArNDc2Nyw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1zeXN0ZW0tc2V0dGVyCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY3Nzb20vY3Nz
b20tc3lzdGVtLXNldHRlci0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1z
eXN0ZW0tc2V0dGVyLWludmFsaWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2hlYnJldy9jc3Mz
LWNvdW50ZXItc3R5bGVzLTAxNmEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2hpcmFnYW5hLWly
b2hhL2NzczMtY291bnRlci1zdHlsZXMtMDMzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9oaXJh
Z2FuYS1pcm9oYS9jc3MzLWNvdW50ZXItc3R5bGVzLTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvaGlyYWdhbmEtaXJvaGEvY3NzMy1jb3VudGVyLXN0eWxlcy0wMzUuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2hpcmFnYW5hL2NzczMtY291bnRlci1zdHlsZXMtMDMwLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3Vu
dGVyLXN0eWxlcy9oaXJhZ2FuYS9jc3MzLWNvdW50ZXItc3R5bGVzLTAzMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvaGlyYWdhbmEvY3NzMy1jb3VudGVyLXN0eWxlcy0wMzIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2phcGFuZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA0Ny5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvamFwYW5lc2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMt
MDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVy
LXN0eWxlcy0wNDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDc5MywxMiArNDc3Nyw2
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9qYXBhbmVzZS1pbmZvcm1hbC9jc3MzLWNvCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFwYW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVy
LXN0eWxlcy0wNDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWluZm9ybWFsL2Nz
czMtY291bnRlci1zdHlsZXMtMDQ1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1p
bmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA0Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
a2F0YWthbmEtaXJvaGEvY3NzMy1jb3VudGVyLXN0eWxlcy0wMzkuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2thdGFrYW5hLWlyb2hhL2NzczMtY291bnRlci1zdHlsZXMtMDQwLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9rYXRha2FuYS1pcm9oYS9jc3MzLWNvdW50ZXItc3R5bGVzLTA0MS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMva2F0YWthbmEvY3NzMy1jb3VudGVyLXN0eWxlcy0wMzYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2thdGFrYW5hL2NzczMtY291bnRlci1zdHlsZXMtMDM3Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rYXRha2FuYS9jc3MzLWNvdW50ZXItc3R5bGVzLTAzOC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMva29yZWFuLWhhbmd1bC1mb3JtYWwvY3NzMy1jb3VudGVy
LXN0eWxlcy0wNTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5ndWwtZm9ybWFs
L2NzczMtY291bnRlci1zdHlsZXMtMDUzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4t
aGFuZ3VsLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1NC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCkBAIC00ODI5LDkgKzQ4MDcsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWluZm9ybWFsL2NzcwogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAt
Y2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA3My5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRl
ci1zdHlsZXMvc2ltcC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDc0Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9zaW1wLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVy
LXN0eWxlcy0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RhbWlsL2NzczMtY291bnRlci1z
dHlsZXMtMTQ2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90YW1pbC9jc3MzLWNvdW50ZXItc3R5
bGVzLTE0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvdGFtaWwvY3NzMy1jb3VudGVyLXN0eWxl
cy0xNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1j
b3VudGVyLXN0eWxlcy0wODYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1m
b3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3Ry
YWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQpAQCAtNDg0Miw3ICs0ODE3LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1pbmZvcm1hbC9jc3MK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90
cmFkLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvdHJhZC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291
bnRlci1zdHlsZXMtMDg1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy91cHBlci1hcm1lbmlhbi9j
c3MzLWNvdW50ZXItc3R5bGVzLTEwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvdXBwZXItcm9t
YW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3VwcGVy
LXJvbWFuL2NzczMtY291bnRlci1zdHlsZXMtMDI0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy91
cHBlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5bGVzLTAyNGEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431818</attachid>
            <date>2021-06-20 06:16:02 -0700</date>
            <delta_ts>2021-06-20 10:31:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227190-20210620061601.patch</filename>
            <type>text/plain</type>
            <size>82180</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNlNDI3YmY5MTYxZDRk
YzlkYjNkYzE1ODliNDliZjZmZjJiMDg0Ny4uZDdmYzZhMWY5ZjQ4MzRiNjgyNDI3NzI4NjA1YTM0
ZDI1ZGRiNWEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTA2LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDU1MgY291bnRlciBzdHlsZSBp
bXByb3ZlbWVudHMgZm9yIEFybWVuaWFuLCBUYW1pbCwgYW5kIHNvbWUgQ0pLIHN0eWxlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTkwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oOiBBZGRlZCBDSktEZWNpbWFsIGFuZCBUYW1pbC4KKyAgICAg
ICAgQWxzbyB1cGRhdGVkIGZvciBuYW1lIGNoYW5nZXMgb2YgQ2prIHRvIENKSy4KKworICAgICAg
ICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOiBBZGRlZCBjamstZGVjaW1hbCBhbmQgdGFtaWwu
CisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmlzUHJlZGVmaW5lZENv
dW50ZXJTdHlsZSk6CisgICAgICAgIFVwZGF0ZWQgc2luY2UgdGhlIGxhc3QgcHJlZGVmaW5lZCBj
b3VudGVyIHN0eWxlIGlzIG5vdyBUYW1pbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0TWFya2VyLmNwcDogVHdlYWsgY29kaW5nIHN0eWxlIGEgYml0LCB1c2luZworICAgICAgICBj
b25zdGV4cHIgYW5kIGF1dG8gYW5kIHJlbW92aW5nIHNvbWUgdW5uZWVkZWQgZXhwbGljaXQgdHlw
ZSBuYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OmVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKTogQWRk
ZWQgVGFtaWwuIENvcnJlY3RlZCByYW5nZQorICAgICAgICBmb3IgQXJtZW5pYW4sIExvd2VyQXJt
ZW5pYW4sIGFuZCBVcHBlckFybWVuaWFuIHRvIGJlIDEtOTk5OS4KKyAgICAgICAgQWRkZWQgQ0pL
RGVjaW1hbC4gVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzIG9mIENqayB0byBDSksuCisgICAgICAg
IChXZWJDb3JlOjpsaXN0TWFya2VyU3VmZml4KTogQWRkZGVkIFRhbWlsLiBDb3JyZWN0ZWQgc3Vm
Zml4IGZvcgorICAgICAgICBtdWx0aXBsZSB0eXBlcyB0byBiZSBpZGVvZ3JhcGhpYyBjb21tYSBp
bnN0ZWFkIG9mIHBlcmlvZC4KKyAgICAgICAgKFdlYkNvcmU6OnN1ZmZpeFJlcXVpcmVzU3BhY2Up
OiBBZGRlZC4gVXNlZCBzbyB3ZSBkb24ndCBhZGQgYSBzcGFjZQorICAgICAgICBhZnRlciBhbGwg
c3VmZml4ZXMuCisgICAgICAgIChXZWJDb3JlOjpsaXN0TWFya2VyVGV4dCk6IEFkZGVkIENKS0Rl
Y2ltYWwgYW5kIFRhbWlsLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQpOiBSZW1vdmVkIGFsbCB0aGUgY2FzZXMgZm9yIHRoZQorICAgICAgICBtYW55IGxpc3Qgc3R5
bGUgdHlwZXMgdGhhdCBqdXN0IHBhaW50IGFzIHRleHQsIHVzaW5nIGRlZmF1bHQgaW5zdGVhZC4K
KyAgICAgICAgQ2FsbCBzdWZmaXhSZXF1aXJlc1NwYWNlIGFuZCBkb24ndCBhZGQgYSBzcGFjZSBp
ZiBub3QgbmVlZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRl
Q29udGVudCk6IFJlbW92ZWQgYWxsIHRoZSBjYXNlcyBmb3IKKyAgICAgICAgdGhlIG1hbnkgbGlz
dCBzdHlsZSB0eXBlcyB0aGF0IGFyZSB0ZXh0IGJhc2VkLCB1c2luZyBkZWZhdWx0IGluc3RlYWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocyk6IFJlbW92ZWQKKyAgICAgICAgYWxsIHRoZSBjYXNlcyBmb3IgdGhlIG1hbnkg
bGlzdCBzdHlsZSB0eXBlcyB0aGF0IGFyZSB0ZXh0IGJhc2VkLCB1c2luZworICAgICAgICBkZWZh
dWx0IGluc3RlYWQuIENhbGwgc3VmZml4UmVxdWlyZXNTcGFjZSBhbmQgZG9uJ3QgaW5jbHVkZSB0
aGUgc3BhY2UKKyAgICAgICAgaWYgbm90IG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxpc3RNYXJrZXI6OnN1ZmZpeCBjb25zdCk6IENhbGwgc3VmZml4UmVxdWlyZXNTcGFjZQorICAg
ICAgICBhbmQgZG9uJ3QgaW5jbHVkZSBhIHNwYWNlIGlmIG5vdCBuZWVkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QpOiBSZW1vdmVk
IGFsbCB0aGUKKyAgICAgICAgY2FzZXMgZm9yIHRoZSBtYW55IGxpc3Qgc3R5bGUgdHlwZXMgdGhh
dCBhcmUgdGV4dCBiYXNlZCwgdXNpbmcgZGVmYXVsdAorICAgICAgICBpbnN0ZWFkLiBDYWxsIHN1
ZmZpeFJlcXVpcmVzU3BhY2UgYW5kIGRvbid0IGluY2x1ZGUgdGhlIHNwYWNlIGlmIG5vdAorICAg
ICAgICBuZWVkZWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6IEFkZGVkIENKS0RlY2lt
YWwgYW5kIFRhbWlsLiBBbHNvIHNvcnRlZCB0aGUKKyAgICAgICAgbGlzdCBzdHlsZXMgYWxwaGFi
ZXRpY2FsbHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaDogQWRkZWQgQ0pLRGVjaW1hbCBhbmQKKyAgICAgICAgVGFtaWwgYW5kIHVzZSBDSksgaW5z
dGVhZCBvZiBDamsgaW4gbmFtZXMgb2YgdGhlIG90aGVyIHN0eWxlcy4KKwogMjAyMS0wNi0yMCAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgc2hhZG93
LXJvb3QgY3JlYXRpb24gZm9yIGlucHV0IGVsZW1lbnQgaWYgaXQgaXMgbm90IG5lY2Vzc2FyeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXgg
OWRjNzQ3MGM4NDgxMzBjZGM0YzNlOGMyZjhjYjA5NzJjMWQ2YWE3MC4uYzY4MDdiOTRkODQ3YmUw
NWE1MmE1YjhkZGFkMjY3MDJiNDBiMzYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0xNzYwLDIxICsxNzYwLDI0IEBAIHRlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShMaXN0U3R5bGVU
eXBlIGUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpCZW5nYWxpOgogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUJlbmdhbGk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Q2FtYm9kaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZUNhbWJvZGlhbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDaXJj
bGU6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQ2lyY2xlOworICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDoKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVDamtEZWNpbWFsOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkNqa0VhcnRobHlCcmFuY2g6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktFYXJ0aGx5QnJh
bmNoOgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNqa0VhcnRobHlCcmFuY2g7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVt
OgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSGVhdmVubHlTdGVtOgogICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNqa0hlYXZlbmx5U3RlbTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoKICAgICAgICAgbV92YWx1ZS52
YWx1ZUlEID0gQ1NTVmFsdWVDamtJZGVvZ3JhcGhpYzsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpDYW1ib2RpYW46CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlQ2FtYm9kaWFuOworICAgICAgICBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkNpcmNsZToKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVDaXJjbGU7CisgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgog
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZURlY2ltYWxMZWFkaW5nWmVybzsKICAg
ICAgICAgYnJlYWs7CkBAIC0xOTM1LDYgKzE5MzgsOSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoTGlzdFN0eWxlVHlwZSBlKQogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFs
dWVJbnZhbGlkOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRhbWls
OgorICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVRhbWlsOworICAgICAgICBicmVh
azsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRlbHVndToKICAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVUZWx1Z3U7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgppbmRleCA0MzYwYTBiNjE5ZWRlMTMxMjE5MjU3NDgwMGU4MTllYTlm
YjliODg0Li4yNTY5OWU2MTFhYzhiMWJhZDgzZTNmM2Q0YTEyOTQ0MTA4OTJkYWVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtNDQ0LDYgKzQ0NCw4IEBAIGhpcmFn
YW5hCiBrYXRha2FuYQogaGlyYWdhbmEtaXJvaGEKIGthdGFrYW5hLWlyb2hhCitjamstZGVjaW1h
bAordGFtaWwKIC8vbm9uZQogLy8KIC8vIENTU19QUk9QX0RJU1BMQVk6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKaW5k
ZXggNDFjYjQ5NTM1YzhlOGE5ZDgwYTdlN2NmZTBmMTcwNjcxZWIyNmFiNC4uOTg3ZmM1ZDFmNjgw
NTdmZjcxOTk2ZTI0MzQ2YzI4NTkwNjY4NTMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMzUzMyw3ICsz
NTMzLDcgQEAgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lSW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQKIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtY291bnRlci1zdHlsZXMtMy8jcHJlZGVmaW5lZC1jb3VudGVycwogYm9vbCBpc1ByZWRl
ZmluZWRDb3VudGVyU3R5bGUoQ1NTVmFsdWVJRCB2YWx1ZUlEKQogewotICAgIHJldHVybiB2YWx1
ZUlEID49IENTU1ZhbHVlRGlzYyAmJiB2YWx1ZUlEIDw9IENTU1ZhbHVlS2F0YWthbmFJcm9oYTsK
KyAgICByZXR1cm4gdmFsdWVJRCA+PSBDU1NWYWx1ZURpc2MgJiYgdmFsdWVJRCA8PSBDU1NWYWx1
ZVRhbWlsOwogfQogCiAvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVz
LTMvI3R5cGVkZWYtY291bnRlci1zdHlsZS1uYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggYWZiYzVjZmJkNWZhM2RmNTRhNGZhYTNkNjEx
MTM2YWJhNDY1ODM4NS4uNmRjZGUzMzQ5ZTNlZTkxMDJjNWFiODMyOTc4ZDdlYWVmZmNhYTY0MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcApAQCAt
NDUsNyArNDUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyTGlzdE1hcmtlcik7CiAKLWNvbnN0IGludCBjTWFya2Vy
UGFkZGluZyA9IDc7Citjb25zdGV4cHIgaW50IGNNYXJrZXJQYWRkaW5nID0gNzsKIAogZW51bSBj
bGFzcyBMZXR0ZXJDYXNlIHsgTG93ZXIsIFVwcGVyIH07CiBlbnVtIGNsYXNzIFNlcXVlbmNlVHlw
ZSB7IE51bWVyaWMsIEFscGhhYmV0aWMgfTsKQEAgLTYzLDggKzYzLDggQEAgc3RhdGljIE5FVkVS
X0lOTElORSBTdHJpbmcgdG9Sb21hbihpbnQgbnVtYmVyLCBMZXR0ZXJDYXNlIGxldHRlckNhc2Up
CiAgICAgTENoYXIgbGV0dGVyc1tsZXR0ZXJzU2l6ZV07CiAKICAgICB1bnNpZ25lZCBsZW5ndGgg
PSAwOwotICAgIGNvbnN0IExDaGFyIGxkaWdpdHNbXSA9IHsgJ2knLCAndicsICd4JywgJ2wnLCAn
YycsICdkJywgJ20nIH07Ci0gICAgY29uc3QgTENoYXIgdWRpZ2l0c1tdID0geyAnSScsICdWJywg
J1gnLCAnTCcsICdDJywgJ0QnLCAnTScgfTsKKyAgICBjb25zdGV4cHIgTENoYXIgbGRpZ2l0c1td
ID0geyAnaScsICd2JywgJ3gnLCAnbCcsICdjJywgJ2QnLCAnbScgfTsKKyAgICBjb25zdGV4cHIg
TENoYXIgdWRpZ2l0c1tdID0geyAnSScsICdWJywgJ1gnLCAnTCcsICdDJywgJ0QnLCAnTScgfTsK
ICAgICBjb25zdCBMQ2hhciogZGlnaXRzID0gbGV0dGVyQ2FzZSA9PSBMZXR0ZXJDYXNlOjpVcHBl
ciA/IHVkaWdpdHMgOiBsZGlnaXRzOwogICAgIGludCBkID0gMDsKICAgICBkbyB7CkBAIC04Myw3
ICs4Myw3IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvUm9tYW4oaW50IG51bWJlciwg
TGV0dGVyQ2FzZSBsZXR0ZXJDYXNlKQogICAgIH0gd2hpbGUgKG51bWJlcik7CiAKICAgICBBU1NF
UlQobGVuZ3RoIDw9IGxldHRlcnNTaXplKTsKLSAgICByZXR1cm4gU3RyaW5nIHsgJmxldHRlcnNb
bGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGggfTsKKyAgICByZXR1cm4geyAmbGV0dGVyc1ts
ZXR0ZXJzU2l6ZSAtIGxlbmd0aF0sIGxlbmd0aCB9OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgpAQCAtMTIxLDcgKzEyMSw3IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRv
QWxwaGFiZXRpY09yTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzZXF1
CiAgICAgICAgIGxldHRlcnNbbGV0dGVyc1NpemUgLSArK2xlbmd0aF0gPSBoeXBoZW5NaW51czsK
IAogICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiBTdHJpbmcg
eyAmbGV0dGVyc1tsZXR0ZXJzU2l6ZSAtIGxlbmd0aF0sIGxlbmd0aCB9OworICAgIHJldHVybiB7
ICZsZXR0ZXJzW2xldHRlcnNTaXplIC0gbGVuZ3RoXSwgbGVuZ3RoIH07CiB9CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CkBAIC0xODksNyArMTg5LDcgQEAgc3RhdGljIE5FVkVS
X0lOTElORSBpbnQgdG9IZWJyZXdVbmRlcjEwMDAoaW50IG51bWJlciwgVUNoYXIgbGV0dGVyc1s1
XSkKICAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAxNDg3ICsgbnVtYmVyIC0gOTsKICAgICB9
IGVsc2UgewogICAgICAgICBpZiAoaW50IHRlbnMgPSBudW1iZXIgLyAxMCkgewotICAgICAgICAg
ICAgc3RhdGljIGNvbnN0IFVDaGFyIGhlYnJld1RlbnNbOV0gPSB7IDE0OTcsIDE0OTksIDE1MDAs
IDE1MDIsIDE1MDQsIDE1MDUsIDE1MDYsIDE1MDgsIDE1MTAgfTsKKyAgICAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgaGVicmV3VGVuc1s5XSA9IHsgMTQ5NywgMTQ5OSwgMTUwMCwgMTUw
MiwgMTUwNCwgMTUwNSwgMTUwNiwgMTUwOCwgMTUxMCB9OwogICAgICAgICAgICAgbGV0dGVyc1ts
ZW5ndGgrK10gPSBoZWJyZXdUZW5zW3RlbnMgLSAxXTsKICAgICAgICAgfQogICAgICAgICBpZiAo
aW50IG9uZXMgPSBudW1iZXIgJSAxMCkKQEAgLTIwNSw4ICsyMDUsOCBAQCBzdGF0aWMgTkVWRVJf
SU5MSU5FIFN0cmluZyB0b0hlYnJldyhpbnQgbnVtYmVyKQogICAgIEFTU0VSVChudW1iZXIgPj0g
MCAmJiBudW1iZXIgPD0gOTk5OTk5KTsKIAogICAgIGlmIChudW1iZXIgPT0gMCkgewotICAgICAg
ICBzdGF0aWMgY29uc3QgVUNoYXIgaGVicmV3WmVyb1szXSA9IHsgMHgwNUQwLCAweDA1RTQsIDB4
MDVFMSB9OwotICAgICAgICByZXR1cm4gU3RyaW5nIHsgaGVicmV3WmVybywgMyB9OworICAgICAg
ICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGhlYnJld1plcm9bM10gPSB7IDB4MDVEMCwgMHgwNUU0
LCAweDA1RTEgfTsKKyAgICAgICAgcmV0dXJuIHsgaGVicmV3WmVybywgMyB9OwogICAgIH0KIAog
ICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBsZXR0ZXJzU2l6ZSA9IDExOyAvLyBiaWcgZW5vdWdoIGZv
ciB0d28gNS1kaWdpdCBzZXF1ZW5jZXMgcGx1cyBhIHF1b3RlIG1hcmsgYmV0d2VlbgpAQCAtMjIz
LDcgKzIyMyw3IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvSGVicmV3KGludCBudW1i
ZXIpCiAgICAgbGVuZ3RoICs9IHRvSGVicmV3VW5kZXIxMDAwKG51bWJlciwgbGV0dGVycyArIGxl
bmd0aCk7CiAKICAgICBBU1NFUlQobGVuZ3RoIDw9IGxldHRlcnNTaXplKTsKLSAgICByZXR1cm4g
U3RyaW5nIHsgbGV0dGVycywgbGVuZ3RoIH07CisgICAgcmV0dXJuIHsgbGV0dGVycywgbGVuZ3Ro
IH07CiB9CiAKIHN0YXRpYyBORVZFUl9JTkxJTkUgdW5zaWduZWQgdG9Bcm1lbmlhblVuZGVyMTAw
MDAoaW50IG51bWJlciwgTGV0dGVyQ2FzZSBsZXR0ZXJDYXNlLCBib29sIGFkZENpcmN1bWZsZXgs
IFVDaGFyIGxldHRlcnNbOV0pCkBAIC0yNzcsNyArMjc3LDcgQEAgc3RhdGljIE5FVkVSX0lOTElO
RSBTdHJpbmcgdG9Bcm1lbmlhbihpbnQgbnVtYmVyLCBMZXR0ZXJDYXNlIGxldHRlckNhc2UpCiAg
ICAgbGVuZ3RoICs9IHRvQXJtZW5pYW5VbmRlcjEwMDAwKG51bWJlciAlIDEwMDAwLCBsZXR0ZXJD
YXNlLCBmYWxzZSwgbGV0dGVycyArIGxlbmd0aCk7CiAKICAgICBBU1NFUlQobGVuZ3RoIDw9IGxl
dHRlcnNTaXplKTsKLSAgICByZXR1cm4gU3RyaW5nIHsgbGV0dGVycywgbGVuZ3RoIH07CisgICAg
cmV0dXJuIHsgbGV0dGVycywgbGVuZ3RoIH07CiB9CiAKIHN0YXRpYyBORVZFUl9JTkxJTkUgU3Ry
aW5nIHRvR2VvcmdpYW4oaW50IG51bWJlcikKQEAgLTI5MywzNSArMjkzLDM1IEBAIHN0YXRpYyBO
RVZFUl9JTkxJTkUgU3RyaW5nIHRvR2VvcmdpYW4oaW50IG51bWJlcikKICAgICAgICAgbGV0dGVy
c1tsZW5ndGgrK10gPSAweDEwRjU7CiAKICAgICBpZiAoaW50IHRob3VzYW5kcyA9IChudW1iZXIg
LyAxMDAwKSAlIDEwKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBnZW9yZ2lhblRob3Vz
YW5kc1s5XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBnZW9yZ2lhblRob3Vz
YW5kc1s5XSA9IHsKICAgICAgICAgICAgIDB4MTBFOSwgMHgxMEVBLCAweDEwRUIsIDB4MTBFQywg
MHgxMEVELCAweDEwRUUsIDB4MTBGNCwgMHgxMEVGLCAweDEwRjAKICAgICAgICAgfTsKICAgICAg
ICAgbGV0dGVyc1tsZW5ndGgrK10gPSBnZW9yZ2lhblRob3VzYW5kc1t0aG91c2FuZHMgLSAxXTsK
ICAgICB9CiAKICAgICBpZiAoaW50IGh1bmRyZWRzID0gKG51bWJlciAvIDEwMCkgJSAxMCkgewot
ICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZ2VvcmdpYW5IdW5kcmVkc1s5XSA9IHsKKyAgICAg
ICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBnZW9yZ2lhbkh1bmRyZWRzWzldID0gewogICAgICAg
ICAgICAgMHgxMEUwLCAweDEwRTEsIDB4MTBFMiwgMHgxMEYzLCAweDEwRTQsIDB4MTBFNSwgMHgx
MEU2LCAweDEwRTcsIDB4MTBFOAogICAgICAgICB9OwogICAgICAgICBsZXR0ZXJzW2xlbmd0aCsr
XSA9IGdlb3JnaWFuSHVuZHJlZHNbaHVuZHJlZHMgLSAxXTsKICAgICB9CiAKICAgICBpZiAoaW50
IHRlbnMgPSAobnVtYmVyIC8gMTApICUgMTApIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFy
IGdlb3JnaWFuVGVuc1s5XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBnZW9y
Z2lhblRlbnNbOV0gPSB7CiAgICAgICAgICAgICAweDEwRDgsIDB4MTBEOSwgMHgxMERBLCAweDEw
REIsIDB4MTBEQywgMHgxMEYyLCAweDEwREQsIDB4MTBERSwgMHgxMERGCiAgICAgICAgIH07CiAg
ICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gZ2VvcmdpYW5UZW5zW3RlbnMgLSAxXTsKICAgICB9
CiAKICAgICBpZiAoaW50IG9uZXMgPSBudW1iZXIgJSAxMCkgewotICAgICAgICBzdGF0aWMgY29u
c3QgVUNoYXIgZ2VvcmdpYW5PbmVzWzldID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVD
aGFyIGdlb3JnaWFuT25lc1s5XSA9IHsKICAgICAgICAgICAgIDB4MTBEMCwgMHgxMEQxLCAweDEw
RDIsIDB4MTBEMywgMHgxMEQ0LCAweDEwRDUsIDB4MTBENiwgMHgxMEYxLCAweDEwRDcKICAgICAg
ICAgfTsKICAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSBnZW9yZ2lhbk9uZXNbb25lcyAtIDFd
OwogICAgIH0KIAogICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVy
biBTdHJpbmcgeyBsZXR0ZXJzLCBsZW5ndGggfTsKKyAgICByZXR1cm4geyBsZXR0ZXJzLCBsZW5n
dGggfTsKIH0KIAogLy8gVGhlIHRhYmxlIHVzZXMgdGhlIG9yZGVyIGZyb20gdGhlIENTUzMgc3Bl
Y2lmaWNhdGlvbjoKQEAgLTMzOSw3ICszMzksNyBAQCBzdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmlu
ZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0IFVDaGFyIHRhYmxlWzE2XSkKICAg
ICB9OwogCiAgICAgaWYgKCFudW1iZXIpCi0gICAgICAgIHJldHVybiBTdHJpbmcgeyAmdGFibGVb
ZGlnaXQwIC0gMV0gLCAxIH07CisgICAgICAgIHJldHVybiB7ICZ0YWJsZVtkaWdpdDAgLSAxXSAs
IDEgfTsKIAogICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBncm91cExlbmd0aCA9IDg7IC8vIDQgZGln
aXRzLCAzIGRpZ2l0IG1hcmtlcnMsIGFuZCBhIGdyb3VwIG1hcmtlcgogICAgIGNvbnN0ZXhwciB1
bnNpZ25lZCBidWZmZXJMZW5ndGggPSA0ICogZ3JvdXBMZW5ndGg7CkBAIC00MDIsMTMgKzQwMiwx
NCBAQCBzdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmluZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1i
ZXIsIGNvbnN0IFVDaGFyIHRhYmxlWzE2XSkKICAgICBpZiAobGFzdCA9PSBkaWdpdDApCiAgICAg
ICAgIC0tbGVuZ3RoOwogCi0gICAgcmV0dXJuIFN0cmluZyB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9
OworICAgIHJldHVybiB7IGNoYXJhY3RlcnMsIGxlbmd0aCB9OwogfQogCiBzdGF0aWMgTGlzdFN0
eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2
YWx1ZSkKIHsKLSAgICAvLyBOb3RlLCB0aGUgZm9sbG93aW5nIHN3aXRjaCBzdGF0ZW1lbnQgaGFz
IGJlZW4gZXhwbGljaXRseSBncm91cGVkCi0gICAgLy8gYnkgbGlzdC1zdHlsZS10eXBlIG9yZGlu
YWwgcmFuZ2UuCisgICAgLy8gRklYTUU6IFR5cGVzIHdlIG5lZWQgdG8gYWRkOiBqYXBhbmVzZS1m
b3JtYWwsIGphcGFuZXNlLWluZm9ybWFsLCBrb3JlYW4taGFuZ3VsLWZvcm1hbCwga29yZWFuLWhh
bmphLWZvcm1hbCwga29yZWFuLWhhbmphLWluZm9ybWFsLCBzaW1wLWNoaW5lc2UtZm9ybWFsLCBz
aW1wLWNoaW5lc2UtaW5mb3JtYWwsIHRhbW1pbCwgdHJhZC1jaGluZXNlLWZvcm1hbCwgdHJhZC1j
aGluZXNlLWluZm9ybWFsCisKKyAgICAvLyBOb3RlLCB0aGUgZm9sbG93aW5nIHN3aXRjaCBzdGF0
ZW1lbnQgaGFzIGJlZW4gZXhwbGljaXRseSBncm91cGVkIGJ5IGxpc3Qtc3R5bGUtdHlwZSBvcmRp
bmFsIHJhbmdlLgogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
QXJhYmljSW5kaWM6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpCZW5nYWxpOgpAQCAtNDMzLDYg
KzQzNCw3IEBAIHN0YXRpYyBMaXN0U3R5bGVUeXBlIGVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExp
c3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3Jp
eWE6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQZXJzaWFuOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6U3F1YXJlOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGFtaWw6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpUZWx1Z3U6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaGFpOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VGliZXRhbjoKQEAgLTQ0MCw3ICs0NDIsMTAgQEAgc3RhdGlj
IExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcmR1OgogICAgICAgICByZXR1
cm4gdHlwZTsgLy8gQ2FuIHJlcHJlc2VudCBhbGwgb3JkaW5hbHMuCiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpBcm1lbmlhbjoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUgPiA5
OTk5OTk5OSkgPyBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsIDogdHlwZTsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFy
bWVuaWFuOgorICAgICAgICByZXR1cm4gKHZhbHVlIDwgMSB8fCB2YWx1ZSA+IDk5OTkpID8gTGlz
dFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktE
ZWNpbWFsOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWM6CiAgICAgICAg
IHJldHVybiAodmFsdWUgPCAwKSA/IExpc3RTdHlsZVR5cGU6OkRlY2ltYWwgOiB0eXBlOwogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6R2VvcmdpYW46CkBAIC00NTQsOCArNDU5LDggQEAgc3RhdGlj
IExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljOgogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGU6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpB
c3Rlcmlza3M6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0aGx5QnJhbmNoOgotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVtOgorICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6Q0pLRWFydGhseUJyYW5jaDoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0hlYXZl
bmx5U3RlbToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljOgogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNBYmVnZWRlQW1FdDoKQEAgLTQ4MCw3ICs0ODUsNiBAQCBzdGF0aWMgTGlzdFN0eWxlVHlw
ZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkK
ICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6S2F0YWthbmFJcm9oYToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6TG93ZXJHcmVlazoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTGF0aW46CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlck5vcndlZ2lhbjoKQEAgLTQ5Myw3ICs0OTcsNiBA
QCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVU
eXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZToKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlVwcGVyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFy
bWVuaWFuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazoKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlck5v
cndlZ2lhbjoKQEAgLTUwOSwxMyArNTEyLDggQEAgc3RhdGljIExpc3RTdHlsZVR5cGUgZWZmZWN0
aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAKIHN0YXRp
YyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQog
ewotICAgIC8vIElmIHRoZSBsaXN0LXN0eWxlLXR5cGUgY2Fubm90IHJlcHJlc2VudCB8dmFsdWV8
IGJlY2F1c2UgaXQncyBvdXRzaWRlIGl0cwotICAgIC8vIG9yZGluYWwgcmFuZ2UgdGhlbiB3ZSBm
YWxsIGJhY2sgdG8gYW5vdGhlciBsaXN0IHN0eWxlIHRoYXQgY2FuIHJlcHJlc2VudCB8dmFsdWV8
LgotICAgIExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlVHlwZSA9IGVmZmVjdGl2ZUxpc3RNYXJrZXJU
eXBlKHR5cGUsIHZhbHVlKTsKLQotICAgIC8vIE5vdGUsIHRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0
YXRlbWVudCBoYXMgYmVlbiBleHBsaWNpdGx5Ci0gICAgLy8gZ3JvdXBlZCBieSBsaXN0LXN0eWxl
LXR5cGUgc3VmZml4LgotICAgIHN3aXRjaCAoZWZmZWN0aXZlVHlwZSkgeworICAgIC8vIE5vdGUs
IHRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0YXRlbWVudCBoYXMgYmVlbiBleHBsaWNpdGx5IGdyb3Vw
ZWQgYnkgbGlzdC1zdHlsZS10eXBlIHN1ZmZpeC4KKyAgICBzd2l0Y2ggKGVmZmVjdGl2ZUxpc3RN
YXJrZXJUeXBlKHR5cGUsIHZhbHVlKSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXN0ZXJp
c2tzOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xlOgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RGlzYzoKQEAgLTU1Nyw4ICs1NTUsNiBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtlclN1
ZmZpeChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkJpbmFyeToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNhbWJvZGlhbjoKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
Q2prRWFydGhseUJyYW5jaDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNqa0hlYXZlbmx5U3Rl
bToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRlY2ltYWxMZWFkaW5nWmVybzoKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkRlY2ltYWw6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZXZhbmFn
YXJpOgpAQCAtNTY4LDExICs1NjQsNyBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtlclN1ZmZpeChM
aXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhh
bmd1bDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDoKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkhlYnJldzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5h
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okthbm5hZGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYToKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hSXJvaGE6CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpLaG1lcjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkxhbzoKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okxvd2VyQWxwaGE6CkBAIC01ODgsNiArNTgwLDcgQEAgc3RhdGljIFVDaGFyIGxp
c3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpPY3RhbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9yaXlhOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6UGVyc2lhbjoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRh
bWlsOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGVsdWd1OgogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VGhhaToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpYmV0YW46CkBAIC02MDAsNiAr
NTkzLDE0IEBAIHN0YXRpYyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KExpc3RTdHlsZVR5cGUgdHlw
ZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6CiAgICAgICAgIHJldHVybiAnLic7CisgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpDSktEZWNpbWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRWFy
dGhseUJyYW5jaDoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbToKKyAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
SGlyYWdhbmFJcm9oYToKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgorICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYToKKyAgICAgICAgcmV0dXJuIGlkZW9ncmFw
aGljQ29tbWE7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTdHJpbmc6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKQEAgLTYwOSwzMiArNjEwLDM1IEBAIHN0
YXRpYyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVl
KQogICAgIHJldHVybiAnLic7CiB9CiAKK3N0YXRpYyBib29sIHN1ZmZpeFJlcXVpcmVzU3BhY2Uo
VUNoYXIgc3VmZml4KQoreworICAgIHJldHVybiBzdWZmaXggPT0gJy4nIHx8IHN1ZmZpeCA9PSBl
dGhpb3BpY1ByZWZhY2VDb2xvbjsKK30KKwogU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHls
ZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogewotICAgIC8vIElmIHRoZSBsaXN0LXN0eWxlLXR5cGUg
Y2Fubm90IHJlcHJlc2VudCB8dmFsdWV8IGJlY2F1c2UgaXQncyBvdXRzaWRlIGl0cwotICAgIC8v
IG9yZGluYWwgcmFuZ2UgdGhlbiB3ZSBmYWxsIGJhY2sgdG8gYW5vdGhlciBsaXN0IHN0eWxlIHRo
YXQgY2FuIHJlcHJlc2VudCB8dmFsdWV8LgogICAgIHN3aXRjaCAoZWZmZWN0aXZlTGlzdE1hcmtl
clR5cGUodHlwZSwgdmFsdWUpKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgogICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXN0
ZXJpc2tzOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBMQ2hhciBhc3Rlcmlza3NTeW1ib2xzWzFd
ID0geyAweDJBIH07CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgYXN0ZXJpc2tzU3lt
Ym9sc1sxXSA9IHsgMHgyQSB9OwogICAgICAgICByZXR1cm4gdG9TeW1ib2xpYyh2YWx1ZSwgYXN0
ZXJpc2tzU3ltYm9scyk7CiAgICAgfQogICAgIC8vIFdlIHVzZSB0aGUgc2FtZSBjaGFyYWN0ZXJz
IGZvciB0ZXh0IHNlY3VyaXR5LgogICAgIC8vIFNlZSBSZW5kZXJUZXh0OjpzZXRJbnRlcm5hbFN0
cmluZy4KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZToKLSAgICAgICAgcmV0dXJuIFN0
cmluZyB7ICZ3aGl0ZUJ1bGxldCwgMSB9OworICAgICAgICByZXR1cm4geyAmd2hpdGVCdWxsZXQs
IDEgfTsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRpc2M6Ci0gICAgICAgIHJldHVybiBTdHJp
bmcgeyAmYnVsbGV0LCAxIH07CisgICAgICAgIHJldHVybiB7ICZidWxsZXQsIDEgfTsKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlczogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIgZm9vdG5vdGVzU3ltYm9sc1s0XSA9IHsgMHgwMDJBLCAweDIwNTEsIDB4MjAyMCwgMHgyMDIx
IH07CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZm9vdG5vdGVzU3ltYm9sc1s0XSA9
IHsgMHgwMDJBLCAweDIwNTEsIDB4MjAyMCwgMHgyMDIxIH07CiAgICAgICAgIHJldHVybiB0b1N5
bWJvbGljKHZhbHVlLCBmb290bm90ZXNTeW1ib2xzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpTcXVhcmU6CiAgICAgICAgIC8vIFRoZSBDU1MgMi4xIHRlc3Qgc3VpdGUgdXNlcyBV
KzI1RUUgQkxBQ0sgTUVESVVNIFNNQUxMIFNRVUFSRSBpbnN0ZWFkLAogICAgICAgICAvLyBidXQg
d2UgdXNlZCB0aGlzIGJlY2F1c2Ugd2UgdGhvdWdodCBpdCBsb29rZWQgYmV0dGVyLgotICAgICAg
ICByZXR1cm4gU3RyaW5nIHsgJmJsYWNrU3F1YXJlLCAxIH07CisgICAgICAgIHJldHVybiB7ICZi
bGFja1NxdWFyZSwgMSB9OwogCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOgogICAg
ICAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOwpAQCAtNjQyLDI4ICs2NDYsMjggQEAg
U3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgogICAgICAgICBpZiAodmFs
dWUgPj0gMCAmJiB2YWx1ZSA8PSA5KSB7CiAgICAgICAgICAgICBMQ2hhciBjaGFyYWN0ZXJzWzJd
ID0geyAnMCcsIHN0YXRpY19jYXN0PExDaGFyPignMCcgKyB2YWx1ZSkgfTsgLy8gMDAgdG8gMDkK
LSAgICAgICAgICAgIHJldHVybiBTdHJpbmcgeyBjaGFyYWN0ZXJzLCAyIH07CisgICAgICAgICAg
ICByZXR1cm4geyBjaGFyYWN0ZXJzLCAyIH07CiAgICAgICAgIH0KICAgICAgICAgaWYgKHZhbHVl
ID49IC05ICYmIHZhbHVlIDw9IC0xKSB7CiAgICAgICAgICAgICBMQ2hhciBjaGFyYWN0ZXJzWzNd
ID0geyAnLScsICcwJywgc3RhdGljX2Nhc3Q8TENoYXI+KCcwJyAtIHZhbHVlKSB9OyAvLyAtMDEg
dG8gLTA5Ci0gICAgICAgICAgICByZXR1cm4gU3RyaW5nIHsgY2hhcmFjdGVycywgMyB9OworICAg
ICAgICAgICAgcmV0dXJuIHsgY2hhcmFjdGVycywgMyB9OwogICAgICAgICB9CiAgICAgICAgIHJl
dHVybiBTdHJpbmc6Om51bWJlcih2YWx1ZSk7CiAKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFy
YWJpY0luZGljOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBhcmFiaWNJbmRpY051bWVy
YWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBhcmFiaWNJbmRpY051
bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MDY2MCwgMHgwNjYxLCAweDA2NjIsIDB4MDY2
MywgMHgwNjY0LCAweDA2NjUsIDB4MDY2NiwgMHgwNjY3LCAweDA2NjgsIDB4MDY2OQogICAgICAg
ICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBhcmFiaWNJbmRpY051bWVyYWxz
KTsKICAgICB9CiAKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeTogewotICAgICAgICBz
dGF0aWMgY29uc3QgTENoYXIgYmluYXJ5TnVtZXJhbHNbMl0gPSB7ICcwJywgJzEnIH07CisgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgYmluYXJ5TnVtZXJhbHNbMl0gPSB7ICcwJywgJzEn
IH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGJpbmFyeU51bWVyYWxzKTsKICAg
ICB9CiAKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJlbmdhbGk6IHsKLSAgICAgICAgc3RhdGlj
IGNvbnN0IFVDaGFyIGJlbmdhbGlOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgVUNoYXIgYmVuZ2FsaU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MDlFNiwg
MHgwOUU3LCAweDA5RTgsIDB4MDlFOSwgMHgwOUVBLCAweDA5RUIsIDB4MDlFQywgMHgwOUVELCAw
eDA5RUUsIDB4MDlFRgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVl
LCBiZW5nYWxpTnVtZXJhbHMpOwpAQCAtNjcxLDEwNCArNjc1LDEwNCBAQCBTdHJpbmcgbGlzdE1h
cmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkNhbWJvZGlhbjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OktobWVyOiB7Ci0g
ICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBraG1lck51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAg
c3RhdGljIGNvbnN0ZXhwciBVQ2hhciBraG1lck51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAg
IDB4MTdFMCwgMHgxN0UxLCAweDE3RTIsIDB4MTdFMywgMHgxN0U0LCAweDE3RTUsIDB4MTdFNiwg
MHgxN0U3LCAweDE3RTgsIDB4MTdFOQogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1l
cmljKHZhbHVlLCBraG1lck51bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpEZXZhbmFnYXJpOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBkZXZhbmFnYXJpTnVt
ZXJhbHNbMTBdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGRldmFuYWdhcmlO
dW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAweDA5NjYsIDB4MDk2NywgMHgwOTY4LCAweDA5
NjksIDB4MDk2QSwgMHgwOTZCLCAweDA5NkMsIDB4MDk2RCwgMHgwOTZFLCAweDA5NkYKICAgICAg
ICAgfTsKICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgZGV2YW5hZ2FyaU51bWVyYWxz
KTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdWphcmF0aTogewotICAgICAgICBz
dGF0aWMgY29uc3QgVUNoYXIgZ3VqYXJhdGlOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgZ3VqYXJhdGlOdW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAw
eDBBRTYsIDB4MEFFNywgMHgwQUU4LCAweDBBRTksIDB4MEFFQSwgMHgwQUVCLCAweDBBRUMsIDB4
MEFFRCwgMHgwQUVFLCAweDBBRUYKICAgICAgICAgfTsKICAgICAgICAgcmV0dXJuIHRvTnVtZXJp
Yyh2YWx1ZSwgZ3VqYXJhdGlOdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6R3VybXVraGk6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGd1cm11a2hpTnVtZXJh
bHNbMTBdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGd1cm11a2hpTnVtZXJh
bHNbMTBdID0gewogICAgICAgICAgICAgMHgwQTY2LCAweDBBNjcsIDB4MEE2OCwgMHgwQTY5LCAw
eDBBNkEsIDB4MEE2QiwgMHgwQTZDLCAweDBBNkQsIDB4MEE2RSwgMHgwQTZGCiAgICAgICAgIH07
CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGd1cm11a2hpTnVtZXJhbHMpOwogICAg
IH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6IHsKLSAgICAgICAgc3RhdGljIGNv
bnN0IFVDaGFyIGthbm5hZGFOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4
cHIgVUNoYXIga2FubmFkYU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MENFNiwgMHgw
Q0U3LCAweDBDRTgsIDB4MENFOSwgMHgwQ0VBLCAweDBDRUIsIDB4MENFQywgMHgwQ0VELCAweDBD
RUUsIDB4MENFRgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBr
YW5uYWRhTnVtZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4
YWRlY2ltYWw6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IExDaGFyIGxvd2VySGV4YWRlY2ltYWxO
dW1lcmFsc1sxNl0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgbG93ZXJIZXhh
ZGVjaW1hbE51bWVyYWxzWzE2XSA9IHsKICAgICAgICAgICAgICcwJywgJzEnLCAnMicsICczJywg
JzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdm
JwogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBsb3dlckhleGFk
ZWNpbWFsTnVtZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxhbzogewot
ICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgbGFvTnVtZXJhbHNbMTBdID0geworICAgICAgICBz
dGF0aWMgY29uc3RleHByIFVDaGFyIGxhb051bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4
MEVEMCwgMHgwRUQxLCAweDBFRDIsIDB4MEVEMywgMHgwRUQ0LCAweDBFRDUsIDB4MEVENiwgMHgw
RUQ3LCAweDBFRDgsIDB4MEVEOQogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmlj
KHZhbHVlLCBsYW9OdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TWFs
YXlhbGFtOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBtYWxheWFsYW1OdW1lcmFsc1sx
MF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgbWFsYXlhbGFtTnVtZXJhbHNb
MTBdID0gewogICAgICAgICAgICAgMHgwRDY2LCAweDBENjcsIDB4MEQ2OCwgMHgwRDY5LCAweDBE
NkEsIDB4MEQ2QiwgMHgwRDZDLCAweDBENkQsIDB4MEQ2RSwgMHgwRDZGCiAgICAgICAgIH07CiAg
ICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIG1hbGF5YWxhbU51bWVyYWxzKTsKICAgICB9
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpNb25nb2xpYW46IHsKLSAgICAgICAgc3RhdGljIGNv
bnN0IFVDaGFyIG1vbmdvbGlhbk51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciBVQ2hhciBtb25nb2xpYW5OdW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAweDE4MTAs
IDB4MTgxMSwgMHgxODEyLCAweDE4MTMsIDB4MTgxNCwgMHgxODE1LCAweDE4MTYsIDB4MTgxNywg
MHgxODE4LCAweDE4MTkKICAgICAgICAgfTsKICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1
ZSwgbW9uZ29saWFuTnVtZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok15
YW5tYXI6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIG15YW5tYXJOdW1lcmFsc1sxMF0g
PSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgbXlhbm1hck51bWVyYWxzWzEwXSA9
IHsKICAgICAgICAgICAgIDB4MTA0MCwgMHgxMDQxLCAweDEwNDIsIDB4MTA0MywgMHgxMDQ0LCAw
eDEwNDUsIDB4MTA0NiwgMHgxMDQ3LCAweDEwNDgsIDB4MTA0OQogICAgICAgICB9OwogICAgICAg
ICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBteWFubWFyTnVtZXJhbHMpOwogICAgIH0KICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok9jdGFsOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBMQ2hhciBv
Y3RhbE51bWVyYWxzWzhdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIExDaGFyIG9jdGFs
TnVtZXJhbHNbOF0gPSB7CiAgICAgICAgICAgICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUn
LCAnNicsICc3JwogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBv
Y3RhbE51bWVyYWxzKTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcml5YTogewot
ICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgb3JpeWFOdW1lcmFsc1sxMF0gPSB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgb3JpeWFOdW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAg
ICAweDBCNjYsIDB4MEI2NywgMHgwQjY4LCAweDBCNjksIDB4MEI2QSwgMHgwQjZCLCAweDBCNkMs
IDB4MEI2RCwgMHgwQjZFLCAweDBCNkYKICAgICAgICAgfTsKICAgICAgICAgcmV0dXJuIHRvTnVt
ZXJpYyh2YWx1ZSwgb3JpeWFOdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6UGVyc2lhbjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6IHsKLSAgICAgICAgc3Rh
dGljIGNvbnN0IFVDaGFyIHVyZHVOdW1lcmFsc1sxMF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgVUNoYXIgdXJkdU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAgICAgIDB4MDZGMCwgMHgw
NkYxLCAweDA2RjIsIDB4MDZGMywgMHgwNkY0LCAweDA2RjUsIDB4MDZGNiwgMHgwNkY3LCAweDA2
RjgsIDB4MDZGOQogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCB1
cmR1TnVtZXJhbHMpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRlbHVndTogewot
ICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgdGVsdWd1TnVtZXJhbHNbMTBdID0geworICAgICAg
ICBzdGF0aWMgY29uc3RleHByIFVDaGFyIHRlbHVndU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAg
ICAgIDB4MEM2NiwgMHgwQzY3LCAweDBDNjgsIDB4MEM2OSwgMHgwQzZBLCAweDBDNkIsIDB4MEM2
QywgMHgwQzZELCAweDBDNkUsIDB4MEM2RgogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9O
dW1lcmljKHZhbHVlLCB0ZWx1Z3VOdW1lcmFscyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VGliZXRhbjogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgdGliZXRhbk51bWVy
YWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciB0aWJldGFuTnVtZXJh
bHNbMTBdID0gewogICAgICAgICAgICAgMHgwRjIwLCAweDBGMjEsIDB4MEYyMiwgMHgwRjIzLCAw
eDBGMjQsIDB4MEYyNSwgMHgwRjI2LCAweDBGMjcsIDB4MEYyOCwgMHgwRjI5CiAgICAgICAgIH07
CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIHRpYmV0YW5OdW1lcmFscyk7CiAgICAg
fQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGhhaTogewotICAgICAgICBzdGF0aWMgY29uc3Qg
VUNoYXIgdGhhaU51bWVyYWxzWzEwXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hh
ciB0aGFpTnVtZXJhbHNbMTBdID0gewogICAgICAgICAgICAgMHgwRTUwLCAweDBFNTEsIDB4MEU1
MiwgMHgwRTUzLCAweDBFNTQsIDB4MEU1NSwgMHgwRTU2LCAweDBFNTcsIDB4MEU1OCwgMHgwRTU5
CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIHRoYWlOdW1lcmFs
cyk7CiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDogewot
ICAgICAgICBzdGF0aWMgY29uc3QgTENoYXIgdXBwZXJIZXhhZGVjaW1hbE51bWVyYWxzWzE2XSA9
IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBMQ2hhciB1cHBlckhleGFkZWNpbWFsTnVtZXJh
bHNbMTZdID0gewogICAgICAgICAgICAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYn
LCAnNycsICc4JywgJzknLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnCiAgICAgICAgIH07
CiAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIHVwcGVySGV4YWRlY2ltYWxOdW1lcmFs
cyk7CkBAIC03NzYsNyArNzgwLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5
cGUgdHlwZSwgaW50IHZhbHVlKQogCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFscGhh
OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjogewotICAgICAgICBzdGF0aWMg
Y29uc3QgTENoYXIgbG93ZXJMYXRpbkFscGhhYmV0WzI2XSA9IHsKKyAgICAgICAgc3RhdGljIGNv
bnN0ZXhwciBMQ2hhciBsb3dlckxhdGluQWxwaGFiZXRbMjZdID0gewogICAgICAgICAgICAgJ2En
LCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywg
J20nLAogICAgICAgICAgICAgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScs
ICd2JywgJ3cnLCAneCcsICd5JywgJ3onCiAgICAgICAgIH07CkBAIC03ODQsMTQgKzc4OCwxNCBA
QCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAg
ICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYToKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlVwcGVyTGF0aW46IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IExDaGFyIHVwcGVy
TGF0aW5BbHBoYWJldFsyNl0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgdXBw
ZXJMYXRpbkFscGhhYmV0WzI2XSA9IHsKICAgICAgICAgICAgICdBJywgJ0InLCAnQycsICdEJywg
J0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywKICAgICAgICAgICAg
ICdOJywgJ08nLCAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAn
WScsICdaJwogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCB1
cHBlckxhdGluQWxwaGFiZXQpOwogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2Vy
R3JlZWs6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGxvd2VyR3JlZWtBbHBoYWJldFsy
NF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgbG93ZXJHcmVla0FscGhhYmV0
WzI0XSA9IHsKICAgICAgICAgICAgIDB4MDNCMSwgMHgwM0IyLCAweDAzQjMsIDB4MDNCNCwgMHgw
M0I1LCAweDAzQjYsIDB4MDNCNywgMHgwM0I4LAogICAgICAgICAgICAgMHgwM0I5LCAweDAzQkEs
IDB4MDNCQiwgMHgwM0JDLCAweDAzQkQsIDB4MDNCRSwgMHgwM0JGLCAweDAzQzAsCiAgICAgICAg
ICAgICAweDAzQzEsIDB4MDNDMywgMHgwM0M0LCAweDAzQzUsIDB4MDNDNiwgMHgwM0M3LCAweDAz
QzgsIDB4MDNDOQpAQCAtODAwLDkgKzgwNCw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0
U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICB9CiAKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkhpcmFnYW5hOiB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHRhYmxlIGNvbWVzIGZyb20g
dGhlIENTUzMgZHJhZnQsIGFuZCBpcyBwcm9iYWJseQotICAgICAgICAvLyBpbmNvcnJlY3QsIGdp
dmVuIHRoZSBjb21tZW50cyBpbiB0aGF0IGRyYWZ0LgotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIgaGlyYWdhbmFBbHBoYWJldFs0OF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNo
YXIgaGlyYWdhbmFBbHBoYWJldFs0OF0gPSB7CiAgICAgICAgICAgICAweDMwNDIsIDB4MzA0NCwg
MHgzMDQ2LCAweDMwNDgsIDB4MzA0QSwgMHgzMDRCLCAweDMwNEQsIDB4MzA0RiwKICAgICAgICAg
ICAgIDB4MzA1MSwgMHgzMDUzLCAweDMwNTUsIDB4MzA1NywgMHgzMDU5LCAweDMwNUIsIDB4MzA1
RCwgMHgzMDVGLAogICAgICAgICAgICAgMHgzMDYxLCAweDMwNjQsIDB4MzA2NiwgMHgzMDY4LCAw
eDMwNkEsIDB4MzA2QiwgMHgzMDZDLCAweDMwNkQsCkBAIC04MTMsOSArODE1LDcgQEAgU3RyaW5n
IGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICBy
ZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBoaXJhZ2FuYUFscGhhYmV0KTsKICAgICB9CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYUlyb2hhOiB7Ci0gICAgICAgIC8vIEZJWE1FOiBU
aGlzIHRhYmxlIGNvbWVzIGZyb20gdGhlIENTUzMgZHJhZnQsIGFuZCBpcyBwcm9iYWJseQotICAg
ICAgICAvLyBpbmNvcnJlY3QsIGdpdmVuIHRoZSBjb21tZW50cyBpbiB0aGF0IGRyYWZ0LgotICAg
ICAgICBzdGF0aWMgY29uc3QgVUNoYXIgaGlyYWdhbmFJcm9oYUFscGhhYmV0WzQ3XSA9IHsKKyAg
ICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBoaXJhZ2FuYUlyb2hhQWxwaGFiZXRbNDddID0g
ewogICAgICAgICAgICAgMHgzMDQ0LCAweDMwOEQsIDB4MzA2RiwgMHgzMDZCLCAweDMwN0IsIDB4
MzA3OCwgMHgzMDY4LCAweDMwNjEsCiAgICAgICAgICAgICAweDMwOEEsIDB4MzA2QywgMHgzMDhC
LCAweDMwOTIsIDB4MzA4RiwgMHgzMDRCLCAweDMwODgsIDB4MzA1RiwKICAgICAgICAgICAgIDB4
MzA4QywgMHgzMDVELCAweDMwNjQsIDB4MzA2RCwgMHgzMDZBLCAweDMwODksIDB4MzA4MCwgMHgz
MDQ2LApAQCAtODI2LDkgKzgyNiw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVU
eXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwg
aGlyYWdhbmFJcm9oYUFscGhhYmV0KTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpL
YXRha2FuYTogewotICAgICAgICAvLyBGSVhNRTogVGhpcyB0YWJsZSBjb21lcyBmcm9tIHRoZSBD
U1MzIGRyYWZ0LCBhbmQgaXMgcHJvYmFibHkKLSAgICAgICAgLy8gaW5jb3JyZWN0LCBnaXZlbiB0
aGUgY29tbWVudHMgaW4gdGhhdCBkcmFmdC4KLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGth
dGFrYW5hQWxwaGFiZXRbNDhdID0geworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGth
dGFrYW5hQWxwaGFiZXRbNDhdID0gewogICAgICAgICAgICAgMHgzMEEyLCAweDMwQTQsIDB4MzBB
NiwgMHgzMEE4LCAweDMwQUEsIDB4MzBBQiwgMHgzMEFELCAweDMwQUYsCiAgICAgICAgICAgICAw
eDMwQjEsIDB4MzBCMywgMHgzMEI1LCAweDMwQjcsIDB4MzBCOSwgMHgzMEJCLCAweDMwQkQsIDB4
MzBCRiwKICAgICAgICAgICAgIDB4MzBDMSwgMHgzMEM0LCAweDMwQzYsIDB4MzBDOCwgMHgzMENB
LCAweDMwQ0IsIDB4MzBDQywgMHgzMENELApAQCAtODM5LDkgKzgzNyw3IEBAIFN0cmluZyBsaXN0
TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgcmV0dXJu
IHRvQWxwaGFiZXRpYyh2YWx1ZSwga2F0YWthbmFBbHBoYWJldCk7CiAgICAgfQogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYTogewotICAgICAgICAvLyBGSVhNRTogVGhpcyB0
YWJsZSBjb21lcyBmcm9tIHRoZSBDU1MzIGRyYWZ0LCBhbmQgaXMgcHJvYmFibHkKLSAgICAgICAg
Ly8gaW5jb3JyZWN0LCBnaXZlbiB0aGUgY29tbWVudHMgaW4gdGhhdCBkcmFmdC4KLSAgICAgICAg
c3RhdGljIGNvbnN0IFVDaGFyIGthdGFrYW5hSXJvaGFBbHBoYWJldFs0N10gPSB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIga2F0YWthbmFJcm9oYUFscGhhYmV0WzQ3XSA9IHsKICAg
ICAgICAgICAgIDB4MzBBNCwgMHgzMEVELCAweDMwQ0YsIDB4MzBDQiwgMHgzMERCLCAweDMwRDgs
IDB4MzBDOCwgMHgzMEMxLAogICAgICAgICAgICAgMHgzMEVBLCAweDMwQ0MsIDB4MzBFQiwgMHgz
MEYyLCAweDMwRUYsIDB4MzBBQiwgMHgzMEU4LCAweDMwQkYsCiAgICAgICAgICAgICAweDMwRUMs
IDB4MzBCRCwgMHgzMEM0LCAweDMwQ0QsIDB4MzBDQSwgMHgzMEU5LCAweDMwRTAsIDB4MzBBNiwK
QEAgLTg1NSw3ICs4NTEsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0
eXBlLCBpbnQgdmFsdWUpCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBZmFyOgogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQ6CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFcjogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIg
ZXRoaW9waWNIYWxlaGFtZUFhRXJBbHBoYWJldFsxOF0gPSB7CisgICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgVUNoYXIgZXRoaW9waWNIYWxlaGFtZUFhRXJBbHBoYWJldFsxOF0gPSB7CiAgICAgICAg
ICAgICAweDEyMDAsIDB4MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAweDEy
NjAsIDB4MTI3MCwgMHgxMjkwLAogICAgICAgICAgICAgMHgxMkEwLCAweDEyQTgsIDB4MTJDOCwg
MHgxMkQwLCAweDEyRTgsIDB4MTJGMCwgMHgxMzA4LCAweDEzMzgsIDB4MTM0OAogICAgICAgICB9
OwpAQCAtODYzLDcgKzg1OSw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBl
IHR5cGUsIGludCB2YWx1ZSkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmlj
OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFtRXQ6IHsKLSAgICAg
ICAgc3RhdGljIGNvbnN0IFVDaGFyIGV0aGlvcGljSGFsZWhhbWVBbUV0QWxwaGFiZXRbMzNdID0g
eworICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGV0aGlvcGljSGFsZWhhbWVBbUV0QWxw
aGFiZXRbMzNdID0gewogICAgICAgICAgICAgMHgxMjAwLCAweDEyMDgsIDB4MTIxMCwgMHgxMjE4
LCAweDEyMjAsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsIDB4MTI0MCwKICAgICAgICAgICAgIDB4
MTI2MCwgMHgxMjcwLCAweDEyNzgsIDB4MTI4MCwgMHgxMjkwLCAweDEyOTgsIDB4MTJBMCwgMHgx
MkE4LCAweDEyQjgsCiAgICAgICAgICAgICAweDEyQzgsIDB4MTJEMCwgMHgxMkQ4LCAweDEyRTAs
IDB4MTJFOCwgMHgxMkYwLCAweDEzMDAsIDB4MTMwOCwgMHgxMzIwLApAQCAtODczLDcgKzg2OSw3
IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkK
ICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljQWJlZ2VkZToKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQ6IHsKLSAgICAgICAgc3RhdGljIGNv
bnN0IFVDaGFyIGV0aGlvcGljQWJlZ2VkZUFtRXRBbHBoYWJldFszM10gPSB7CisgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNBYmVnZWRlQW1FdEFscGhhYmV0WzMzXSA9IHsK
ICAgICAgICAgICAgIDB4MTJBMCwgMHgxMjYwLCAweDEzMDgsIDB4MTJGMCwgMHgxMzAwLCAweDEy
MDAsIDB4MTJDOCwgMHgxMkQ4LCAweDEyRTAsCiAgICAgICAgICAgICAweDEyMTAsIDB4MTMyMCwg
MHgxMzI4LCAweDEyRTgsIDB4MTJBOCwgMHgxMkI4LCAweDEyMDgsIDB4MTIxOCwgMHgxMjkwLAog
ICAgICAgICAgICAgMHgxMjk4LCAweDEyMjAsIDB4MTJEMCwgMHgxMzQ4LCAweDEzMzgsIDB4MTI0
MCwgMHgxMjI4LCAweDEyMzAsIDB4MTIzOCwKQEAgLTg4MSwxNSArODc3LDE1IEBAIFN0cmluZyBs
aXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgfTsK
ICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwgZXRoaW9waWNBYmVnZWRlQW1FdEFs
cGhhYmV0KTsKICAgICB9Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0aGx5QnJhbmNo
OiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBjamtFYXJ0aGx5QnJhbmNoQWxwaGFiZXRb
MTJdID0geworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRWFydGhseUJyYW5jaDogeworICAg
ICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGNqa0VhcnRobHlCcmFuY2hBbHBoYWJldFsxMl0g
PSB7CiAgICAgICAgICAgICAweDVCNTAsIDB4NEUxMSwgMHg1QkM1LCAweDUzNkYsIDB4OEZCMCwg
MHg1REYzLCAweDUzNDgsIDB4NjcyQSwgMHg3NTMzLAogICAgICAgICAgICAgMHg5MTQ5LCAweDYy
MEMsIDB4NEVBNQogICAgICAgICB9OwogICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVl
LCBjamtFYXJ0aGx5QnJhbmNoQWxwaGFiZXQpOwogICAgIH0KLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkNqa0hlYXZlbmx5U3RlbTogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgY2prSGVh
dmVubHlTdGVtQWxwaGFiZXRbMTBdID0geworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSGVh
dmVubHlTdGVtOiB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgY2prSGVhdmVubHlT
dGVtQWxwaGFiZXRbMTBdID0gewogICAgICAgICAgICAgMHg3NTMyLCAweDRFNTksIDB4NEUxOSwg
MHg0RTAxLCAweDYyMEEsIDB4NURGMSwgMHg1RTlBLCAweDhGOUIsIDB4NThFQywKICAgICAgICAg
ICAgIDB4NzY3OAogICAgICAgICB9OwpAQCAtODk3LDcgKzg5Myw3IEBAIFN0cmluZyBsaXN0TWFy
a2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICB9CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
SGFsZWhhbWVHZXo6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGV0aGlvcGljSGFsZWhh
bWVHZXpBbHBoYWJldFsyNl0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRo
aW9waWNIYWxlaGFtZUdlekFscGhhYmV0WzI2XSA9IHsKICAgICAgICAgICAgIDB4MTIwMCwgMHgx
MjA4LCAweDEyMTAsIDB4MTIxOCwgMHgxMjIwLCAweDEyMjgsIDB4MTIzMCwgMHgxMjQwLCAweDEy
NjAsCiAgICAgICAgICAgICAweDEyNzAsIDB4MTI4MCwgMHgxMjkwLCAweDEyQTAsIDB4MTJBOCwg
MHgxMkM4LCAweDEyRDAsIDB4MTJEOCwgMHgxMkU4LAogICAgICAgICAgICAgMHgxMkYwLCAweDEz
MDgsIDB4MTMyMCwgMHgxMzMwLCAweDEzMzgsIDB4MTM0MCwgMHgxMzQ4LCAweDEzNTAKQEAgLTkw
Niw3ICs5MDIsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBp
bnQgdmFsdWUpCiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRl
OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlR2V6OiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciBldGhpb3BpY0FiZWdlZGVHZXpBbHBoYWJldFsyNl0gPSB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNBYmVnZWRlR2V6QWxwaGFiZXRb
MjZdID0gewogICAgICAgICAgICAgMHgxMkEwLCAweDEyNjAsIDB4MTMwOCwgMHgxMkYwLCAweDEy
MDAsIDB4MTJDOCwgMHgxMkQ4LCAweDEyMTAsIDB4MTMyMCwKICAgICAgICAgICAgIDB4MTJFOCwg
MHgxMkE4LCAweDEyMDgsIDB4MTIxOCwgMHgxMjkwLCAweDEyMjAsIDB4MTJEMCwgMHgxMzQ4LCAw
eDEzMzgsCiAgICAgICAgICAgICAweDEyNDAsIDB4MTIyOCwgMHgxMjMwLCAweDEyNzAsIDB4MTI4
MCwgMHgxMzQwLCAweDEzMzAsIDB4MTM1MApAQCAtOTE0LDE0ICs5MTAsMTQgQEAgU3RyaW5nIGxp
c3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1
cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhpb3BpY0FiZWdlZGVHZXpBbHBoYWJldCk7CiAgICAg
fQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsQ29uc29uYW50OiB7Ci0gICAgICAgIHN0
YXRpYyBjb25zdCBVQ2hhciBoYW5ndWxDb25zb25hbnRBbHBoYWJldFsxNF0gPSB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgaGFuZ3VsQ29uc29uYW50QWxwaGFiZXRbMTRdID0gewog
ICAgICAgICAgICAgMHgzMTMxLCAweDMxMzQsIDB4MzEzNywgMHgzMTM5LCAweDMxNDEsIDB4MzE0
MiwgMHgzMTQ1LCAweDMxNDcsIDB4MzE0OCwKICAgICAgICAgICAgIDB4MzE0QSwgMHgzMTRCLCAw
eDMxNEMsIDB4MzE0RCwgMHgzMTRFCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiB0b0FscGhh
YmV0aWModmFsdWUsIGhhbmd1bENvbnNvbmFudEFscGhhYmV0KTsKICAgICB9CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpIYW5ndWw6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGhhbmd1
bEFscGhhYmV0WzE0XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBoYW5ndWxB
bHBoYWJldFsxNF0gPSB7CiAgICAgICAgICAgICAweEFDMDAsIDB4QjA5OCwgMHhCMkU0LCAweEI3
N0MsIDB4QjlDOCwgMHhCQzE0LCAweEMwQUMsIDB4QzU0NCwgMHhDNzkwLAogICAgICAgICAgICAg
MHhDQzI4LCAweENFNzQsIDB4RDBDMCwgMHhEMzBDLCAweEQ1NTgKICAgICAgICAgfTsKQEAgLTky
OSw3ICs5MjUsNyBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBp
bnQgdmFsdWUpCiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JvbW86CiAgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21FdDogewotICAgICAgICBzdGF0aWMg
Y29uc3QgVUNoYXIgZXRoaW9waWNIYWxlaGFtZU9tRXRBbHBoYWJldFsyNV0gPSB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNIYWxlaGFtZU9tRXRBbHBoYWJldFsyNV0g
PSB7CiAgICAgICAgICAgICAweDEyMDAsIDB4MTIwOCwgMHgxMjE4LCAweDEyMjgsIDB4MTIzMCwg
MHgxMjM4LCAweDEyNDAsIDB4MTI2MCwgMHgxMjcwLAogICAgICAgICAgICAgMHgxMjc4LCAweDEy
OTAsIDB4MTI5OCwgMHgxMkEwLCAweDEyQTgsIDB4MTJDOCwgMHgxMkU4LCAweDEyRjAsIDB4MTJG
OCwKICAgICAgICAgICAgIDB4MTMwMCwgMHgxMzA4LCAweDEzMjAsIDB4MTMyOCwgMHgxMzM4LCAw
eDEzMzAsIDB4MTM0OApAQCAtOTM4LDcgKzkzNCw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChM
aXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpTaWRhbWE6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lU2lk
RXQ6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGV0aGlvcGljSGFsZWhhbWVTaWRFdEFs
cGhhYmV0WzI2XSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0hh
bGVoYW1lU2lkRXRBbHBoYWJldFsyNl0gPSB7CiAgICAgICAgICAgICAweDEyMDAsIDB4MTIwOCwg
MHgxMjEwLCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsIDB4MTI0MCwgMHgxMjYwLAog
ICAgICAgICAgICAgMHgxMjcwLCAweDEyNzgsIDB4MTI5MCwgMHgxMjk4LCAweDEyQTAsIDB4MTJB
OCwgMHgxMkM4LCAweDEyRTgsIDB4MTJGMCwKICAgICAgICAgICAgIDB4MTJGOCwgMHgxMzAwLCAw
eDEzMDgsIDB4MTMyMCwgMHgxMzI4LCAweDEzMzgsIDB4MTMzMCwgMHgxMzQ4CkBAIC05NDcsNyAr
OTQzLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZh
bHVlKQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNvbWFsaToKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTb0V0OiB7Ci0gICAgICAgIHN0YXRpYyBjb25z
dCBVQ2hhciBldGhpb3BpY0hhbGVoYW1lU29FdEFscGhhYmV0WzIyXSA9IHsKKyAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0hhbGVoYW1lU29FdEFscGhhYmV0WzIyXSA9IHsK
ICAgICAgICAgICAgIDB4MTIwMCwgMHgxMjA4LCAweDEyMTAsIDB4MTIxOCwgMHgxMjI4LCAweDEy
MzAsIDB4MTIzOCwgMHgxMjQwLCAweDEyNjAsCiAgICAgICAgICAgICAweDEyNzAsIDB4MTI5MCwg
MHgxMkEwLCAweDEyQTgsIDB4MTJCOCwgMHgxMkM4LCAweDEyRDAsIDB4MTJFOCwgMHgxMkYwLAog
ICAgICAgICAgICAgMHgxMzAwLCAweDEzMDgsIDB4MTMzOCwgMHgxMzQ4CkBAIC05NTYsNyArOTUy
LDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVl
KQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JlOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZzogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNo
YXIgZXRoaW9waWNIYWxlaGFtZVRpZ0FscGhhYmV0WzI3XSA9IHsKKyAgICAgICAgc3RhdGljIGNv
bnN0ZXhwciBVQ2hhciBldGhpb3BpY0hhbGVoYW1lVGlnQWxwaGFiZXRbMjddID0gewogICAgICAg
ICAgICAgMHgxMjAwLCAweDEyMDgsIDB4MTIxMCwgMHgxMjE4LCAweDEyMjgsIDB4MTIzMCwgMHgx
MjM4LCAweDEyNDAsIDB4MTI2MCwKICAgICAgICAgICAgIDB4MTI3MCwgMHgxMjc4LCAweDEyOTAs
IDB4MTJBMCwgMHgxMkE4LCAweDEyQzgsIDB4MTJEMCwgMHgxMkQ4LCAweDEyRTgsCiAgICAgICAg
ICAgICAweDEyRjAsIDB4MTMwMCwgMHgxMzA4LCAweDEzMjAsIDB4MTMyOCwgMHgxMzM4LCAweDEz
MzAsIDB4MTM0OCwgMHgxMzUwCkBAIC05NjUsNyArOTYxLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJU
ZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlRpZ3JpbnlhRXI6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hh
bGVoYW1lVGlFcjogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZXRoaW9waWNIYWxlaGFt
ZVRpRXJBbHBoYWJldFszMV0gPSB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgZXRo
aW9waWNIYWxlaGFtZVRpRXJBbHBoYWJldFszMV0gPSB7CiAgICAgICAgICAgICAweDEyMDAsIDB4
MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsIDB4MTI0MCwgMHgx
MjUwLAogICAgICAgICAgICAgMHgxMjYwLCAweDEyNzAsIDB4MTI3OCwgMHgxMjkwLCAweDEyOTgs
IDB4MTJBMCwgMHgxMkE4LCAweDEyQjgsIDB4MTJDOCwKICAgICAgICAgICAgIDB4MTJEMCwgMHgx
MkQ4LCAweDEyRTAsIDB4MTJFOCwgMHgxMkYwLCAweDEzMDAsIDB4MTMwOCwgMHgxMzIwLCAweDEz
MjgsCkBAIC05NzUsNyArOTcxLDcgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5
cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3Jp
bnlhRXJBYmVnZWRlOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlF
cjogewotICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZXRoaW9waWNBYmVnZWRlVGlFckFscGhh
YmV0WzMxXSA9IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY0FiZWdl
ZGVUaUVyQWxwaGFiZXRbMzFdID0gewogICAgICAgICAgICAgMHgxMkEwLCAweDEyNjAsIDB4MTMw
OCwgMHgxMkYwLCAweDEzMDAsIDB4MTIwMCwgMHgxMkM4LCAweDEyRDgsIDB4MTJFMCwKICAgICAg
ICAgICAgIDB4MTIxMCwgMHgxMzIwLCAweDEzMjgsIDB4MTJFOCwgMHgxMkE4LCAweDEyQjgsIDB4
MTIwOCwgMHgxMjE4LCAweDEyOTAsCiAgICAgICAgICAgICAweDEyOTgsIDB4MTJEMCwgMHgxMzQ4
LCAweDEzMzgsIDB4MTI0MCwgMHgxMjUwLCAweDEyMjgsIDB4MTIzMCwgMHgxMjM4LApAQCAtOTg1
LDcgKzk4MSw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGlu
dCB2YWx1ZSkKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0OgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6IHsKLSAgICAgICAgc3Rh
dGljIGNvbnN0IFVDaGFyIGV0aGlvcGljSGFsZWhhbWVUaUV0QWxwaGFiZXRbMzRdID0geworICAg
ICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGV0aGlvcGljSGFsZWhhbWVUaUV0QWxwaGFiZXRb
MzRdID0gewogICAgICAgICAgICAgMHgxMjAwLCAweDEyMDgsIDB4MTIxMCwgMHgxMjE4LCAweDEy
MjAsIDB4MTIyOCwgMHgxMjMwLCAweDEyMzgsIDB4MTI0MCwKICAgICAgICAgICAgIDB4MTI1MCwg
MHgxMjYwLCAweDEyNzAsIDB4MTI3OCwgMHgxMjgwLCAweDEyOTAsIDB4MTI5OCwgMHgxMkEwLCAw
eDEyQTgsCiAgICAgICAgICAgICAweDEyQjgsIDB4MTJDOCwgMHgxMkQwLCAweDEyRDgsIDB4MTJF
MCwgMHgxMkU4LCAweDEyRjAsIDB4MTMwMCwgMHgxMzA4LApAQCAtOTk1LDcgKzk5MSw3IEBAIFN0
cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICB9
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZToKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXQ6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0
IFVDaGFyIGV0aGlvcGljQWJlZ2VkZVRpRXRBbHBoYWJldFszNF0gPSB7CisgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgZXRoaW9waWNBYmVnZWRlVGlFdEFscGhhYmV0WzM0XSA9IHsKICAg
ICAgICAgICAgIDB4MTJBMCwgMHgxMjYwLCAweDEzMDgsIDB4MTJGMCwgMHgxMzAwLCAweDEyMDAs
IDB4MTJDOCwgMHgxMkQ4LCAweDEyRTAsCiAgICAgICAgICAgICAweDEyMTAsIDB4MTMyMCwgMHgx
MzI4LCAweDEyRTgsIDB4MTJBOCwgMHgxMkI4LCAweDEyMDgsIDB4MTIxOCwgMHgxMjkwLAogICAg
ICAgICAgICAgMHgxMjk4LCAweDEyMjAsIDB4MTJEMCwgMHgxMzQ4LCAweDEzMzgsIDB4MTI0MCwg
MHgxMjUwLCAweDEyMjgsIDB4MTIzMCwKQEAgLTEwMDQsNyArMTAwMCw3IEBAIFN0cmluZyBsaXN0
TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgcmV0dXJu
IHRvQWxwaGFiZXRpYyh2YWx1ZSwgZXRoaW9waWNBYmVnZWRlVGlFdEFscGhhYmV0KTsKICAgICB9
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckdyZWVrOiB7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBVQ2hhciB1cHBlckdyZWVrQWxwaGFiZXRbMjRdID0geworICAgICAgICBzdGF0aWMgY29u
c3RleHByIFVDaGFyIHVwcGVyR3JlZWtBbHBoYWJldFsyNF0gPSB7CiAgICAgICAgICAgICAweDAz
OTEsIDB4MDM5MiwgMHgwMzkzLCAweDAzOTQsIDB4MDM5NSwgMHgwMzk2LCAweDAzOTcsIDB4MDM5
OCwgMHgwMzk5LAogICAgICAgICAgICAgMHgwMzlBLCAweDAzOUIsIDB4MDM5QywgMHgwMzlELCAw
eDAzOUUsIDB4MDM5RiwgMHgwM0EwLCAweDAzQTEsIDB4MDNBMywKICAgICAgICAgICAgIDB4MDNB
NCwgMHgwM0E1LCAweDAzQTYsIDB4MDNBNywgMHgwM0E4LCAweDAzQTkKQEAgLTEwMTIsNyArMTAw
OCw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1
ZSkKICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwgdXBwZXJHcmVla0FscGhhYmV0
KTsKICAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlck5vcndlZ2lhbjogewotICAg
ICAgICBzdGF0aWMgY29uc3QgTENoYXIgbG93ZXJOb3J3ZWdpYW5BbHBoYWJldFsyOV0gPSB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgTENoYXIgbG93ZXJOb3J3ZWdpYW5BbHBoYWJldFsyOV0g
PSB7CiAgICAgICAgICAgICAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3
LCAweDY4LCAweDY5LAogICAgICAgICAgICAgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwg
MHg2RiwgMHg3MCwgMHg3MSwgMHg3MiwKICAgICAgICAgICAgIDB4NzMsIDB4NzQsIDB4NzUsIDB4
NzYsIDB4NzcsIDB4NzgsIDB4NzksIDB4N0EsIDB4RTYsCkBAIC0xMDIxLDcgKzEwMTcsNyBAQCBT
dHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAg
ICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGxvd2VyTm9yd2VnaWFuQWxwaGFiZXQpOwog
ICAgIH0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTm9yd2VnaWFuOiB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBMQ2hhciB1cHBlck5vcndlZ2lhbkFscGhhYmV0WzI5XSA9IHsKKyAgICAg
ICAgc3RhdGljIGNvbnN0ZXhwciBMQ2hhciB1cHBlck5vcndlZ2lhbkFscGhhYmV0WzI5XSA9IHsK
ICAgICAgICAgICAgIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsIDB4
NDgsIDB4NDksCiAgICAgICAgICAgICAweDRBLCAweDRCLCAweDRDLCAweDRELCAweDRFLCAweDRG
LCAweDUwLCAweDUxLCAweDUyLAogICAgICAgICAgICAgMHg1MywgMHg1NCwgMHg1NSwgMHg1Niwg
MHg1NywgMHg1OCwgMHg1OSwgMHg1QSwgMHhDNiwKQEAgLTEwMzAsNyArMTAyNiw3IEBAIFN0cmlu
ZyBsaXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAg
cmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwgdXBwZXJOb3J3ZWdpYW5BbHBoYWJldCk7CiAgICAg
fQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWM6IHsKLSAgICAgICAgc3Rh
dGljIGNvbnN0IFVDaGFyIHRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsVGFibGVbMTZdID0gewor
ICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIHRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFs
VGFibGVbMTZdID0gewogICAgICAgICAgICAgMHg4NDJDLCAweDUxMDQsIDB4NTE0NiwKICAgICAg
ICAgICAgIDB4NTM0MSwgMHg3NjdFLCAweDUzNDMsCiAgICAgICAgICAgICAweDk2RjYsIDB4NEUw
MCwgMHg0RThDLCAweDRFMDksIDB4NTZEQiwKQEAgLTEwNDQsOCArMTA0MCw2IEBAIFN0cmluZyBs
aXN0TWFya2VyVGV4dChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46CiAgICAgICAgIHJldHVybiB0b1JvbWFuKHZhbHVlLCBM
ZXR0ZXJDYXNlOjpVcHBlcik7CiAKLSAgICAvLyBBIENTUzMgZHJhZnQgc2FpZCB0aGF0ICJhcm1l
bmlhbiIgbWVhbnMgImxvd2VyLWFybWVuaWFuIi4gQnV0IHRoZSBDU1MyLjEgdGVzdAotICAgIC8v
IHN1aXRlIGNvbnRhaW5zIHVwcGVyY2FzZSB0ZXN0IHJlc3VsdHMgZm9yICJhcm1lbmlhbiI7IG91
ciBiZWhhdmlvciBtYXRjaGVzIHRoYXQuCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlh
bjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46CiAgICAgICAgIHJldHVy
biB0b0FybWVuaWFuKHZhbHVlLCBMZXR0ZXJDYXNlOjpVcHBlcik7CkBAIC0xMDU2LDYgKzEwNTAs
MjAgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVl
KQogICAgICAgICByZXR1cm4gdG9HZW9yZ2lhbih2YWx1ZSk7CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpIZWJyZXc6CiAgICAgICAgIHJldHVybiB0b0hlYnJldyh2YWx1ZSk7CisKKyAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWw6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBV
Q2hhciBDSktEZWNpbWFsTnVtZXJhbHNbMTBdID0geworICAgICAgICAgICAgMHgzMDA3LCAweDRF
MDAsIDB4NEU4QywgMHg0RTA5LCAweDU2REIsIDB4NEU5NCwgMHg1MTZELCAweDRFMDMsIDB4NTE2
QiwgMHg0RTVECisgICAgICAgIH07CisgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIENK
S0RlY2ltYWxOdW1lcmFscyk7CisgICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGFtaWw6
IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciB0YW1pbE51bWVyYWxzWzEwXSA9IHsK
KyAgICAgICAgICAgIDB4MEJFNiwgMHgwQkU3LCAweDBCRTgsIDB4MEJFOSwgMHgwQkVBLCAweDBC
RUIsIDB4MEJFQywgMHgwQkVELCAweDBCRUUsIDB4MEJFRgorICAgICAgICB9OworICAgICAgICBy
ZXR1cm4gdG9OdW1lcmljKHZhbHVlLCB0YW1pbE51bWVyYWxzKTsKKyAgICB9CisKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlN0cmluZzoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMTE3MywxMyArMTE4MSwxMyBAQCB2b2lkIFJlbmRlckxpc3RNYXJr
ZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRP
ZmZzZQogICAgICAgICBjb250ZXh0LmZpbGxSZWN0KHNuYXBwZWRJbnRSZWN0KHNlbFJlY3QpLCBt
X2xpc3RJdGVtLT5zZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSk7CiAgICAgfQogCi0gICAgY29u
c3QgQ29sb3IgY29sb3Ioc3R5bGUoKS52aXNpdGVkRGVwZW5kZW50Q29sb3JXaXRoQ29sb3JGaWx0
ZXIoQ1NTUHJvcGVydHlDb2xvcikpOworICAgIGF1dG8gY29sb3IgPSBzdHlsZSgpLnZpc2l0ZWRE
ZXBlbmRlbnRDb2xvcldpdGhDb2xvckZpbHRlcihDU1NQcm9wZXJ0eUNvbG9yKTsKICAgICBjb250
ZXh0LnNldFN0cm9rZUNvbG9yKGNvbG9yKTsKICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKFNv
bGlkU3Ryb2tlKTsKICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcygxLjBmKTsKICAgICBj
b250ZXh0LnNldEZpbGxDb2xvcihjb2xvcik7CiAKLSAgICBMaXN0U3R5bGVUeXBlIHR5cGUgPSBz
dHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKKyAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHls
ZVR5cGUoKTsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRp
c2M6CiAgICAgICAgIGNvbnRleHQuZHJhd0VsbGlwc2UobWFya2VyUmVjdCk7CkBAIC0xMTkzLDg0
ICsxMjAxLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2UKICAgICAgICAgcmV0dXJuOwogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZToKICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6QWZhcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkFyYWJpY0luZGljOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJtZW5pYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpCaW5hcnk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpCZW5n
YWxpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0
aGx5QnJhbmNoOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVtOgotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RGVjaW1hbDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmk6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkV0aGlvcGljQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2Vk
ZUFtRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVHZXo6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUVyOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0
aGlvcGljSGFsZWhhbWVBYUVyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxl
aGFtZUFhRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdDoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXo6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21FdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVTaWRFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlv
cGljSGFsZWhhbWVTb0V0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZVRpRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDoKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaWc6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpHZW9yZ2lhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1amFyYXRpOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VybXVraGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpIYW5ndWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpIZWJyZXc6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJh
Z2FuYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hSXJvaGE6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpLYW5uYWRhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYUlyb2hhOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6S2htZXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMYW86Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpMb3dlckFscGhhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJB
cm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWs6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
TG93ZXJMYXRpbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuOgotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJSb21hbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
Ok1hbGF5YWxhbToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Ok15YW5tYXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPY3RhbDoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok9yaXlhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
T3JvbW86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQZXJzaWFuOgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6U2lkYW1hOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U29tYWxpOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6VGVsdWd1OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGhhaToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpYmV0YW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUaWdyZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXI6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlRpZ3JpbnlhRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpVcHBlckFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVySGV4YWRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpVcHBlckxhdGluOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3
ZWdpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlclJvbWFuOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6VXJkdToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlczoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlN0cmluZzoKKyAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgaWYgKG1f
dGV4dC5pc0VtcHR5KCkpCkBAIC0xMjk2LDcgKzEyMjcsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJr
ZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRP
ZmZzZQogICAgIGlmICh0eXBlID09IExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcyB8fCB0eXBlID09
IExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlcyB8fCB0eXBlID09IExpc3RTdHlsZVR5cGU6OlN0cmlu
ZykKICAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCB0ZXh0T3JpZ2luKTsK
ICAgICBlbHNlIHsKLSAgICAgICAgY29uc3QgVUNoYXIgc3VmZml4ID0gbGlzdE1hcmtlclN1ZmZp
eCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKTsKKyAgICAgICAgYXV0byBzdWZmaXggPSBsaXN0
TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpOwogCiAgICAgICAgIC8vIEZJ
WE1FOiBDb3VsZCB1c2UgYSBWZWN0b3Igd2l0aCBpbmxpbmUgY2FwYWNpdHkgaW5zdGVhZCBvZiBT
dHJpbmcgdG8gYXZvaWQKICAgICAgICAgLy8gbWVtb3J5IGFsbG9jYXRpb24gaGVyZS4KQEAgLTEz
MDYsMjUgKzEyMzcsMjggQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2UKICAgICAgICAgLy8gY2hl
Y2tpbmcgdGhlIGZpcnN0IGNoYXJhY3RlciwgYW5kIG9ubHkgbmVlZCB0byBoYW5kbGUgVV9SSUdI
VF9UT19MRUZULgogICAgICAgICAvLyBGSVhNRTogQ291bGQgY2hlY2sgbW9yZSBlZmZpY2llbnRs
eSB0aGFuIHVfY2hhckRpcmVjdGlvbiwgc2luY2Ugd2Uga25vdwogICAgICAgICAvLyBvbmx5IGNl
cnRhaW4gY2hhcmFjdGVycyBhcmUgdXNlZCBhbmQgb25seSBuZWVkIHRvIGNoZWNrIGZvciBVX1JJ
R0hUX1RPX0xFRlQuCisgICAgICAgIGJvb2wgc2hvdWxkQWRkU3BhY2UgPSBzdWZmaXhSZXF1aXJl
c1NwYWNlKHN1ZmZpeCk7CiAgICAgICAgIGlmICh1X2NoYXJEaXJlY3Rpb24obV90ZXh0WzBdKSA9
PSBVX1JJR0hUX1RPX0xFRlQpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IG1fdGV4
dC5sZW5ndGgoKTsKICAgICAgICAgICAgIFVDaGFyKiBjaGFyYWN0ZXJzOwotICAgICAgICAgICAg
dGV4dFRvRHJhdyA9IFN0cmluZzo6Y3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGggKyAyLCBjaGFy
YWN0ZXJzKTsKKyAgICAgICAgICAgIHRleHRUb0RyYXcgPSBTdHJpbmc6OmNyZWF0ZVVuaW5pdGlh
bGl6ZWQobGVuZ3RoICsgMSArIHNob3VsZEFkZFNwYWNlLCBjaGFyYWN0ZXJzKTsKICAgICAgICAg
ICAgIGlmICghc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAgICAgICAgICAg
ICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7CisgICAgICAgICAgICAgICAgaWYgKHNob3VsZEFk
ZFNwYWNlKQorICAgICAgICAgICAgICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7CiAgICAg
ICAgICAgICAgICAgKmNoYXJhY3RlcnMrKyA9IHN1ZmZpeDsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKICAgICAgICAgICAg
ICAgICAqY2hhcmFjdGVycysrID0gbV90ZXh0W2xlbmd0aCAtIGkgLSAxXTsKICAgICAgICAgICAg
IGlmIChzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAg
ICpjaGFyYWN0ZXJzKysgPSBzdWZmaXg7Ci0gICAgICAgICAgICAgICAgKmNoYXJhY3RlcnMrKyA9
IHNwYWNlOworICAgICAgICAgICAgICAgIGlmIChzaG91bGRBZGRTcGFjZSkKKyAgICAgICAgICAg
ICAgICAgICAgKmNoYXJhY3RlcnMrKyA9IHNwYWNlOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgaWYgKHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigp
KQotICAgICAgICAgICAgICAgIHRleHRUb0RyYXcgPSBtYWtlU3RyaW5nKG1fdGV4dCwgc3VmZml4
LCBzcGFjZSk7CisgICAgICAgICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcobV90ZXh0
LCBzdWZmaXgsIHNob3VsZEFkZFNwYWNlID8gIiAiIDogIiIpOwogICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgIHRleHRUb0RyYXcgPSBtYWtlU3RyaW5nKHNwYWNlLCBzdWZmaXgsIG1f
dGV4dCk7CisgICAgICAgICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcoc2hvdWxkQWRk
U3BhY2UgPyAiICIgOiAiIiwgc3VmZml4LCBtX3RleHQpOwogICAgICAgICB9CiAgICAgICAgIHRl
eHRSdW4uc2V0VGV4dCh0ZXh0VG9EcmF3KTsKIApAQCAtMTUxMiw3ICsxNDQ2LDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVDb250ZW50KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIExpc3RTdHlsZVR5cGUgdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOworICAg
IGF1dG8gdHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOwogICAgIHN3aXRjaCAodHlwZSkg
ewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZToKICAgICAgICAgYnJlYWs7CkBAIC0xNTI0
LDgzICsxNDU4LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVDb250ZW50KCkKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlNxdWFyZToKICAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtl
clRleHQodHlwZSwgMCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRoZXNlIHR5cGVzCiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXN0ZXJpc2tzOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZhcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpBbWhhcmljQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFyYWJpY0luZGljOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJtZW5pYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpCaW5hcnk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpCZW5nYWxpOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Q2FtYm9kaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dy
YXBoaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0aGx5QnJhbmNoOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVtOgotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6RGVjaW1hbExlYWRpbmdaZXJvOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmk6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQ6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVHZXo6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpFdGhpb3BpY0FiZWdlZGVUaUVyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNB
YmVnZWRlVGlFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVy
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQ6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXo6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0hhbGVoYW1lT21FdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVTaWRFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTb0V0Ogot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXI6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVUaWc6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lh
bjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1amFyYXRpOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6R3VybXVraGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWw6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpIZWJyZXc6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYToKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkhpcmFnYW5hSXJvaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYW5u
YWRhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpLYXRha2FuYUlyb2hhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2htZXI6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMYW86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ckFscGhhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBcm1lbmlhbjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWs6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ckhleGFkZWNpbWFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjoKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJSb21hbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok1hbGF5YWxhbToKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok15
YW5tYXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPY3RhbDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Ok9yaXlhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JvbW86Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpQZXJzaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U2lkYW1hOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U29tYWxpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VGVsdWd1OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGhhaToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlRpYmV0YW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyZToKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdy
aW55YUVyQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFu
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVySGV4YWRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckxh
dGluOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW46Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpVcHBlclJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXJkdToK
KyAgICBkZWZhdWx0OgogICAgICAgICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBlLCBtX2xp
c3RJdGVtLT52YWx1ZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTYyMiw3ICsxNDgw
LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygpCiAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRDYXNjYWRlKCk7
CiAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aDsKLSAgICBMaXN0U3R5bGVUeXBlIHR5cGUg
PSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKKyAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RT
dHlsZVR5cGUoKTsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
Ok5vbmU6CiAgICAgICAgIGJyZWFrOwpAQCAtMTYzOSw4OSArMTQ5NywxNSBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlNxdWFyZToKICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnQuZm9udE1l
dHJpY3MoKS5hc2NlbnQoKSAqIDIgLyAzICsgMSkgLyAyICsgMjsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBZmFyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1o
YXJpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWNBYmVnZWRlOgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1l
bmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkJlbmdhbGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDYW1ib2RpYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkNqa0VhcnRobHlCcmFuY2g6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtIZWF2ZW5s
eVN0ZW06Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGV2
YW5hZ2FyaToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNBYmVnZWRlQW1FdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2Vk
ZUdlejoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXI6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUV0OgotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lQWFFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVBbUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUdlejoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OgotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNpZEV0OgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0hhbGVoYW1lVGlFcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVUaUV0OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZzoKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6Okdlb3JnaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
R3VqYXJhdGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaToKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6Okhhbmd1bDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNv
bmFudDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhlYnJldzoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkhpcmFnYW5hOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpLYXRha2FuYToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hSXJvaGE6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpLaG1lcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkxhbzoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpMb3dlckFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlazoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4YWRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpMb3dlckxhdGluOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJOb3J3
ZWdpYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TWFsYXlhbGFtOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TW9uZ29saWFu
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlhbm1hcjoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6Ok9jdGFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JpeWE6Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpPcm9tbzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlBlcnNpYW46Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpTaWRhbWE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTb21h
bGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUZWx1Z3U6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpUaGFpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGliZXRhbjoKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlRpZ3JlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXJBYmVnZWRlOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6VGlncmlueWFFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3Jpbnlh
RXRBYmVnZWRlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBbHBoYToKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpV
cHBlckdyZWVrOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDoKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpVcHBlck5vcndlZ2lhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcmR1OgorICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmICht
X3RleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gMDsKICAgICAgICAg
ZWxzZSB7CiAgICAgICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RU
ZXh0UnVuKG1fdGV4dCwgc3R5bGUoKSk7CiAgICAgICAgICAgICBMYXlvdXRVbml0IGl0ZW1XaWR0
aCB7IGZvbnQud2lkdGgocnVuKSB9OwotICAgICAgICAgICAgVUNoYXIgc3VmZml4U3BhY2VbMl0g
PSB7IGxpc3RNYXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSksICcgJyB9Owot
ICAgICAgICAgICAgTGF5b3V0VW5pdCBzdWZmaXhTcGFjZVdpZHRoIHsgZm9udC53aWR0aChSZW5k
ZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihzdWZmaXhTcGFjZSwgMiwgc3R5bGUoKSkpIH07Ci0g
ICAgICAgICAgICBsb2dpY2FsV2lkdGggPSBpdGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoOwor
ICAgICAgICAgICAgVUNoYXIgc3VmZml4WzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1f
bGlzdEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKKyAgICAgICAgICAgIExheW91dFVuaXQgc3VmZml4
V2lkdGggeyBmb250LndpZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHN1ZmZpeCwg
c3VmZml4UmVxdWlyZXNTcGFjZShzdWZmaXhbMF0pID8gMiA6IDEsIHN0eWxlKCkpKSB9OworICAg
ICAgICAgICAgbG9naWNhbFdpZHRoID0gaXRlbVdpZHRoICsgc3VmZml4V2lkdGg7CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTgwMCwxNiArMTU4NCwxNyBAQCBMYXlvdXRV
bml0IFJlbmRlckxpc3RNYXJrZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2Vs
aW5lVHlwZSwgYm9vbCBmaQogCiBTdHJpbmcgUmVuZGVyTGlzdE1hcmtlcjo6c3VmZml4KCkgY29u
c3QKIHsKLSAgICBMaXN0U3R5bGVUeXBlIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsK
KyAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKICAgICBpZiAodHlwZSA9
PSBMaXN0U3R5bGVUeXBlOjpTdHJpbmcpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwog
Ci0gICAgY29uc3QgVUNoYXIgc3VmZml4ID0gbGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJ
dGVtLT52YWx1ZSgpKTsKKyAgICBhdXRvIHN1ZmZpeCA9IGxpc3RNYXJrZXJTdWZmaXgodHlwZSwg
bV9saXN0SXRlbS0+dmFsdWUoKSk7CiAKICAgICBpZiAoc3VmZml4ID09ICcgJykKICAgICAgICAg
cmV0dXJuICIgIl9zdHI7CisgICAgaWYgKCFzdWZmaXhSZXF1aXJlc1NwYWNlKHN1ZmZpeCkpCisg
ICAgICAgIHJldHVybiB7ICZzdWZmaXgsIDEgfTsKIAotICAgIC8vIElmIHRoZSBzdWZmaXggaXMg
bm90ICcgJywgYW4gZXh0cmEgc3BhY2UgaXMgbmVlZGVkCiAgICAgVUNoYXIgZGF0YVsyXTsKICAg
ICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgZGF0YVsw
XSA9IHN1ZmZpeDsKQEAgLTE4MTgsOCArMTYwMyw3IEBAIFN0cmluZyBSZW5kZXJMaXN0TWFya2Vy
OjpzdWZmaXgoKSBjb25zdAogICAgICAgICBkYXRhWzBdID0gJyAnOwogICAgICAgICBkYXRhWzFd
ID0gc3VmZml4OwogICAgIH0KLQotICAgIHJldHVybiBTdHJpbmcoZGF0YSwgMik7CisgICAgcmV0
dXJuIHsgZGF0YSwgMiB9OwogfQogCiBib29sIFJlbmRlckxpc3RNYXJrZXI6OmlzSW5zaWRlKCkg
Y29uc3QKQEAgLTE4MzMsNyArMTYxNyw3IEBAIEZsb2F0UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpn
ZXRSZWxhdGl2ZU1hcmtlclJlY3QoKQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KDAsIDAsIG1f
aW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkud2lkdGgoKSwg
bV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKS5oZWlnaHQo
KSk7CiAgICAgCiAgICAgRmxvYXRSZWN0IHJlbGF0aXZlUmVjdDsKLSAgICBMaXN0U3R5bGVUeXBl
IHR5cGUgPSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKKyAgICBhdXRvIHR5cGUgPSBzdHlsZSgp
Lmxpc3RTdHlsZVR5cGUoKTsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkFzdGVyaXNrczoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlczoKQEAg
LTE4NTcsODkgKzE2NDEsMTUgQEAgRmxvYXRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0
aXZlTWFya2VyUmVjdCgpCiAgICAgfQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZToKICAg
ICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZhcjoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpBbWhhcmljQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFyYWJpY0luZGljOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJtZW5pYW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpCaW5hcnk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpCZW5nYWxpOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Q2FtYm9kaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLSWRlb2dy
YXBoaWM6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDamtFYXJ0aGx5QnJhbmNoOgotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6Q2prSGVhdmVubHlTdGVtOgotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6RGVjaW1hbExlYWRpbmdaZXJvOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmk6Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZToK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUFtRXQ6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVHZXo6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpFdGhpb3BpY0FiZWdlZGVUaUVyOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNB
YmVnZWRlVGlFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVy
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQ6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXo6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0hhbGVoYW1lT21FdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVTaWRFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTb0V0Ogot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXI6Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkV0aGlvcGljSGFsZWhhbWVUaWc6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lh
bjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okd1amFyYXRpOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6R3VybXVraGk6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWw6Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpIZWJyZXc6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYToKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkhpcmFnYW5hSXJvaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYW5u
YWRhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpLYXRha2FuYUlyb2hhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2htZXI6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMYW86Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ckFscGhhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBcm1lbmlhbjoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWs6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ckhleGFkZWNpbWFsOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjoKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2VnaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJSb21hbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok1hbGF5YWxhbToKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok15
YW5tYXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPY3RhbDoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Ok9yaXlhOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JvbW86Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpQZXJzaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U2lkYW1hOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U29tYWxpOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VGVsdWd1OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGhhaToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlRpYmV0YW46Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyZToKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXI6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdy
aW55YUVyQWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2VkZToKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyQWxwaGE6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFu
OgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazoKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVySGV4YWRlY2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckxh
dGluOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW46Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpVcHBlclJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXJkdToK
KyAgICBkZWZhdWx0OgogICAgICAgICBpZiAobV90ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgICAg
IHJldHVybiBGbG9hdFJlY3QoKTsKICAgICAgICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBz
dHlsZSgpLmZvbnRDYXNjYWRlKCk7CiAgICAgICAgIFRleHRSdW4gcnVuID0gUmVuZGVyQmxvY2s6
OmNvbnN0cnVjdFRleHRSdW4obV90ZXh0LCBzdHlsZSgpKTsKICAgICAgICAgZmxvYXQgaXRlbVdp
ZHRoID0gZm9udC53aWR0aChydW4pOwotICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9IHsg
bGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07Ci0gICAg
ICAgIGZsb2F0IHN1ZmZpeFNwYWNlV2lkdGggPSBmb250LndpZHRoKFJlbmRlckJsb2NrOjpjb25z
dHJ1Y3RUZXh0UnVuKHN1ZmZpeFNwYWNlLCAyLCBzdHlsZSgpKSk7Ci0gICAgICAgIHJlbGF0aXZl
UmVjdCA9IEZsb2F0UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBmb250
LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOworICAgICAgICBVQ2hhciBzdWZmaXhbMl0gPSB7IGxp
c3RNYXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSksICcgJyB9OworICAgICAg
ICBmbG9hdCBzdWZmaXhXaWR0aCA9IGZvbnQud2lkdGgoUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRl
eHRSdW4oc3VmZml4LCBzdWZmaXhSZXF1aXJlc1NwYWNlKHN1ZmZpeFswXSkgPyAyIDogMSwgc3R5
bGUoKSkpOworICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwgMCwgaXRlbVdpZHRo
ICsgc3VmZml4V2lkdGgsIGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgfQogCiAg
ICAgaWYgKCFzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3Bw
CmluZGV4IGNlNWU3MjEyMzM2YWRhOTNmNWExMTE1MWEzYWFlYTk3NTRjOTIwOTAuLjFhYzE3YmQx
MDc2YzEyM2EwMDlhMDNiYTJiM2RjY2I1YzQ1NWEwMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcApAQCAtNzE1
LDg4ICs3MTUsOTAgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgTGlz
dFN0eWxlUG9zaXRpb24gcG9zaXRpb24pCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHRzLCBMaXN0U3R5bGVUeXBlIHN0eWxlVHlwZSkKIHsKICAgICBzd2l0Y2ggKHN0eWxlVHlw
ZSkgewotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzYzogdHMgPDwgImRpc2MiOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZTogdHMgPDwgImNpcmNsZSI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3F1YXJlOiB0cyA8PCAic3F1YXJlIjsgYnJlYWs7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOiB0cyA8PCAiZGVjaW1hbCI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOiB0cyA8PCAiZGVjaW1h
bC1sZWFkaW5nLXplcm8iOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFmYXI6IHRz
IDw8ICJhZmFyIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmljOiB0cyA8
PCAiYW1oYXJpYyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdl
ZGU6IHRzIDw8ICJhbWhhcmljLWFiZWdlZGUiOyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkFyYWJpY0luZGljOiB0cyA8PCAiYXJhYmljLWluZGljIjsgYnJlYWs7Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpCaW5hcnk6IHRzIDw8ICJiaW5hcnkiOyBicmVhazsKKyAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkFybWVuaWFuOiB0cyA8PCAiYXJtZW5pYW4iOyBicmVhazsKKyAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczogdHMgPDwgImFzdGVyaXNrcyI7IGJyZWFrOwogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6QmVuZ2FsaTogdHMgPDwgImJlbmdhbGkiOyBicmVhazsKKyAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeTogdHMgPDwgImJpbmFyeSI7IGJyZWFrOworICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDogdHMgPDwgImNqay1kZWNpbWFsIjsgYnJl
YWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzogdHMgPDwgImNqay1p
ZGVvZ3JhcGhpYyI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2FtYm9kaWFuOiB0
cyA8PCAiY2FtYm9kaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLaG1lcjog
dHMgPDwgImtobWVyIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDaXJjbGU6IHRz
IDw8ICJjaXJjbGUiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlC
cmFuY2g6IHRzIDw8ICJjamstZWFydGhseS1icmFuY2giOyBicmVhazsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbTogdHMgPDwgImNqay1oZWF2ZW5seS1zdGVtIjsgYnJl
YWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOiB0cyA8PCAiZGVjaW1hbCI7IGJy
ZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOiB0cyA8PCAi
ZGVjaW1hbC1sZWFkaW5nLXplcm8iOyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRl
dmFuYWdhcmk6IHRzIDw8ICJkZXZhbmFnYXJpIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpEaXNjOiB0cyA8PCAiZGlzYyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWM6IHRzIDw8ICJldGhpb3BpYyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6RXRoaW9waWNBYmVnZWRlOiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZSI7IGJyZWFrOworICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDogdHMgPDwgImV0aGlvcGlj
LWFiZWdlZGUtYW0tZXQiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
QWJlZ2VkZUdlejogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtZ2V6IjsgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUVyOiB0cyA8PCAiZXRoaW9waWMtYWJl
Z2VkZS10aS1lciI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVn
ZWRlVGlFdDogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiOyBicmVhazsKKyAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVyOiB0cyA8PCAiZXRoaW9waWMtaGFs
ZWhhbWUtYWEtZXIiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVBYUV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiOyBicmVhazsKKyAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OiB0cyA8PCAiZXRoaW9waWMt
aGFsZWhhbWUtYW0tZXQiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
SGFsZWhhbWVHZXo6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiOyBicmVhazsKKyAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OiB0cyA8PCAiZXRoaW9waWMt
aGFsZWhhbWUtb20tZXQiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
SGFsZWhhbWVTaWRFdDogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCI7IGJyZWFrOwor
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6IHRzIDw8ICJldGhp
b3BpYy1oYWxlaGFtZS1zby1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVRpRXI6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciI7IGJyZWFr
OworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6IHRzIDw8ICJl
dGhpb3BpYy1oYWxlaGFtZS10aS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNIYWxlaGFtZVRpZzogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXRpZyI7IGJyZWFr
OworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOiB0cyA8PCAiZm9vdG5vdGVzIjsg
YnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbjogdHMgPDwgImdlb3JnaWFu
IjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdWphcmF0aTogdHMgPDwgImd1amFy
YXRpIjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaTogdHMgPDwgImd1
cm11a2hpIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWw6IHRzIDw8ICJo
YW5ndWwiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDog
dHMgPDwgImhhbmd1bC1jb25zb25hbnQiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkhlYnJldzogdHMgPDwgImhlYnJldyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
SGlyYWdhbmE6IHRzIDw8ICJoaXJhZ2FuYSI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6SGlyYWdhbmFJcm9oYTogdHMgPDwgImhpcmFnYW5hLWlyb2hhIjsgYnJlYWs7CiAgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpLYW5uYWRhOiB0cyA8PCAia2FubmFkYSI7IGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJIZXhhZGVjaW1hbDogdHMgPDwgImxvd2VyLWhleGFkZWNp
bWFsIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYTogdHMgPDwgImth
dGFrYW5hIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYUlyb2hhOiB0
cyA8PCAia2F0YWthbmEtaXJvaGEiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okto
bWVyOiB0cyA8PCAia2htZXIiOyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxhbzog
dHMgPDwgImxhbyI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBoYTog
dHMgPDwgImxvd2VyLWFscGhhIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ckFybWVuaWFuOiB0cyA8PCAibG93ZXItYXJtZW5pYW4iOyBicmVhazsKKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okxvd2VyR3JlZWs6IHRzIDw8ICJsb3dlci1ncmVlayI7IGJyZWFrOworICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJIZXhhZGVjaW1hbDogdHMgPDwgImxvd2VyLWhleGFkZWNp
bWFsIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxhdGluOiB0cyA8PCAi
bG93ZXItbGF0aW4iOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9yd2Vn
aWFuOiB0cyA8PCAibG93ZXItbm9yd2VnaWFuIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpMb3dlclJvbWFuOiB0cyA8PCAibG93ZXItcm9tYW4iOyBicmVhazsKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6Ok1hbGF5YWxhbTogdHMgPDwgIm1hbGF5YWxhbSI7IGJyZWFrOwogICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6TW9uZ29saWFuOiB0cyA8PCAibW9uZ29saWFuIjsgYnJlYWs7CiAg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpNeWFubWFyOiB0cyA8PCAibXlhbm1hciI7IGJyZWFrOwor
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZTogdHMgPDwgIm5vbmUiOyBicmVhazsKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok9jdGFsOiB0cyA8PCAib2N0YWwiOyBicmVhazsKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Ok9yaXlhOiB0cyA8PCAib3JpeWEiOyBicmVhazsKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlBlcnNpYW46IHRzIDw8ICJwZXJzaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpVcmR1OiB0cyA8PCAidXJkdSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VGVsdWd1OiB0cyA8PCAidGVsdWd1IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpUaWJldGFuOiB0cyA8PCAidGliZXRhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VGhhaTogdHMgPDwgInRoYWkiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OlVwcGVySGV4YWRlY2ltYWw6IHRzIDw8ICJ1cHBlci1oZXhhZGVjaW1hbCI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJSb21hbjogdHMgPDwgImxvd2VyLXJvbWFuIjsg
YnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlclJvbWFuOiB0cyA8PCAidXBwZXIt
cm9tYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWs6IHRzIDw8
ICJsb3dlci1ncmVlayI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBbHBo
YTogdHMgPDwgImxvd2VyLWFscGhhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpM
b3dlckxhdGluOiB0cyA8PCAibG93ZXItbGF0aW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyQWxwaGE6IHRzIDw8ICJ1cHBlci1hbHBoYSI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbjogdHMgPDwgInVwcGVyLWxhdGluIjsgYnJlYWs7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBZmFyOiB0cyA8PCAiYWZhciI7IGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQ6IHRzIDw8ICJldGhpb3BpYy1o
YWxlaGFtZS1hYS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNI
YWxlaGFtZUFhRXI6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1hYS1lciI7IGJyZWFrOwotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpYzogdHMgPDwgImFtaGFyaWMiOyBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OiB0cyA8PCAiZXRoaW9w
aWMtaGFsZWhhbWUtYW0tZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFy
aWNBYmVnZWRlOiB0cyA8PCAiYW1oYXJpYy1hYmVnZWRlIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVBbUV0OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS1h
bS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2prRWFydGhseUJyYW5jaDog
dHMgPDwgImNqay1lYXJ0aGx5LWJyYW5jaCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6Q2prSGVhdmVubHlTdGVtOiB0cyA8PCAiY2prLWhlYXZlbmx5LXN0ZW0iOyBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljOiB0cyA8PCAiZXRoaW9waWMiOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXo6IHRzIDw8ICJldGhp
b3BpYy1oYWxlaGFtZS1nZXoiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlv
cGljQWJlZ2VkZTogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUiOyBicmVhazsKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUt
Z2V6IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6IHRz
IDw8ICJoYW5ndWwtY29uc29uYW50IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpI
YW5ndWw6IHRzIDw8ICJoYW5ndWwiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxv
d2VyTm9yd2VnaWFuOiB0cyA8PCAibG93ZXItbm9yd2VnaWFuIjsgYnJlYWs7CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpPcm9tbzogdHMgPDwgIm9yb21vIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lT21FdDogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1l
LW9tLWV0IjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQZXJzaWFuOiB0cyA8PCAi
cGVyc2lhbiI7IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U2lkYW1hOiB0cyA8PCAi
c2lkYW1hIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1l
U2lkRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiOyBicmVhazsKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlNvbWFsaTogdHMgPDwgInNvbWFsaSI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxl
aGFtZS1zby1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3F1YXJlOiB0cyA8
PCAic3F1YXJlIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTdHJpbmc6IHRzIDw8
ICJzdHJpbmciOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRhbWlsOiB0cyA8PCAi
dGFtaWwiOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRlbHVndTogdHMgPDwgInRl
bHVndSI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGhhaTogdHMgPDwgInRoYWki
OyBicmVhazsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpYmV0YW46IHRzIDw8ICJ0aWJldGFu
IjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyZTogdHMgPDwgInRpZ3JlIjsg
YnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnOiB0cyA8
PCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIjsgYnJlYWs7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUaWdyaW55YUVyOiB0cyA8PCAidGlncmlueWEtZXIiOyBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUVyOiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUt
dGktZXIiOyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXJBYmVnZWRl
OiB0cyA8PCAidGlncmlueWEtZXItYWJlZ2VkZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFcjogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtdGktZXIi
OyBicmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6IHRzIDw8ICJ0aWdy
aW55YS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZVRpRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1ldCI7IGJyZWFrOwogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdlZGU6IHRzIDw8ICJ0aWdyaW55YS1ldC1hYmVn
ZWRlIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUV0
OiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS10aS1ldCI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VXBwZXJBbHBoYTogdHMgPDwgInVwcGVyLWFscGhhIjsgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFuOiB0cyA8PCAidXBwZXItYXJtZW5pYW4iOyBi
cmVhazsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyR3JlZWs6IHRzIDw8ICJ1cHBlci1n
cmVlayI7IGJyZWFrOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDog
dHMgPDwgInVwcGVyLWhleGFkZWNpbWFsIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpVcHBlckxhdGluOiB0cyA8PCAidXBwZXItbGF0aW4iOyBicmVhazsKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlVwcGVyTm9yd2VnaWFuOiB0cyA8PCAidXBwZXItbm9yd2VnaWFuIjsgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBc3Rlcmlza3M6IHRzIDw8ICJhc3Rlcmlza3MiOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlczogdHMgPDwgImZvb3Rub3Rl
cyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVicmV3OiB0cyA8PCAiaGVicmV3
IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjogdHMgPDwgImFybWVu
aWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuOiB0cyA8
PCAibG93ZXItYXJtZW5pYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVy
QXJtZW5pYW46IHRzIDw8ICJ1cHBlci1hcm1lbmlhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6R2VvcmdpYW46IHRzIDw8ICJnZW9yZ2lhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Q0pLSWRlb2dyYXBoaWM6IHRzIDw8ICJjamstaWRlb2dyYXBoaWMiOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOiB0cyA8PCAiaGlyYWdhbmEiOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOiB0cyA8PCAia2F0YWthbmEi
OyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hSXJvaGE6IHRzIDw8ICJo
aXJhZ2FuYS1pcm9oYSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJ
cm9oYTogdHMgPDwgImthdGFrYW5hLWlyb2hhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpOb25lOiB0cyA8PCAibm9uZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
U3RyaW5nOiB0cyA8PCAic3RyaW5nIjsgYnJlYWs7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpV
cHBlclJvbWFuOiB0cyA8PCAidXBwZXItcm9tYW4iOyBicmVhazsKKyAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVyZHU6IHRzIDw8ICJ1cmR1IjsgYnJlYWs7CiAgICAgfQogICAgIHJldHVybiB0czsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Q29uc3RhbnRzLmgKaW5kZXggNDk5MDRhNmYyMWVlNmQyNjFiODkyOWM2NzNjYjQ0MWMyYzk3NDc4
NS4uMjQxZmU1MDk2MTZmNDk1MjNkZTYyNjEwMjA4MjQ3YjljNWZjNzU4MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgK
QEAgLTYxNyw4ICs2MTcsOCBAQCBlbnVtIGNsYXNzIExpc3RTdHlsZVR5cGUgOiB1aW50OF90IHsK
ICAgICBFdGhpb3BpY0hhbGVoYW1lQW1FdCwKICAgICBBbWhhcmljQWJlZ2VkZSwKICAgICBFdGhp
b3BpY0FiZWdlZGVBbUV0LAotICAgIENqa0VhcnRobHlCcmFuY2gsCi0gICAgQ2prSGVhdmVubHlT
dGVtLAorICAgIENKS0VhcnRobHlCcmFuY2gsCisgICAgQ0pLSGVhdmVubHlTdGVtLAogICAgIEV0
aGlvcGljLAogICAgIEV0aGlvcGljSGFsZWhhbWVHZXosCiAgICAgRXRoaW9waWNBYmVnZWRlLApA
QCAtNjU2LDYgKzY1Niw4IEBAIGVudW0gY2xhc3MgTGlzdFN0eWxlVHlwZSA6IHVpbnQ4X3Qgewog
ICAgIEthdGFrYW5hLAogICAgIEhpcmFnYW5hSXJvaGEsCiAgICAgS2F0YWthbmFJcm9oYSwKKyAg
ICBDSktEZWNpbWFsLAorICAgIFRhbWlsLAogICAgIFN0cmluZywKICAgICBOb25lCiB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDI2ZjdhYTE1NmMyM2MxNGZjYWM0OGM5YjU5ZGU4NTdmYmRiNmI1NmUuLmIzM2Q5MTBiZDRi
MWIyMGEyNzUxNWU1Y2FhZDcwYWEyYmY3ODFjMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MS0wNi0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NTIGNv
dW50ZXIgc3R5bGUgaW1wcm92ZW1lbnRzIGZvciBBcm1lbmlhbiwgVGFtaWwsIGFuZCBzb21lIENK
SyBzdHlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNzE5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlIGZhaWx1cmUgZXhwZWN0YXRpb25zIGZvciAyNiB0
ZXN0cy4KKworICAgICAgICAqIGZhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFj
ay1zdHlsZS1leHBlY3RlZC50eHQ6IEV4cGVjdCA5OTk5IGxpbWl0IGluc3RlYWQKKyAgICAgICAg
b2YgOTk5OTk5OTkgZm9yIEFybWVuaWFuLCBhbmQgc3VjY2VzcyByYXRoZXIgdGhhbiBmYWlsdXJl
IGZvciBUYW1pbC4KKyAgICAgICAgKiBmYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFs
bGJhY2stc3R5bGUuaHRtbDogRGl0dG8uCisKIDIwMjEtMDYtMjAgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lwIHNoYWRvdy1yb290IGNyZWF0aW9uIGZv
ciBpbnB1dCBlbGVtZW50IGlmIGl0IGlzIG5vdCBuZWNlc3NhcnkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDRiMDM0NjE4MDcyN2M2OWQ5MWNmN2Q0YWZmYmMzYWI5ZDY1YTc0Y2IuLmRlNGUzNDE4ZDc1
NTU1MmQyYjJlZTY1ZmFhMDk0ZGFmYzcxMDhiYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDc0
NywxNiArNDc0Nyw2IEBAIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvc2l6aW5nCiB3ZWJraXQub3JnL2IvMjI0
MzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvY3Nzb20t
Z2V0Qm91bmRpbmdDbGllbnRSZWN0LXZlcnRpY2FsLXJsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIAogIyBAY291bnRlci1zdHlsZSByZWYgdGVzdHMgdGhhdCBjdXJyZW50bHkgZmFpbAotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2FybWVu
aWFuL2NzczMtY291bnRlci1zdHlsZXMtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jamst
ZGVjaW1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
Y2prLWRlY2ltYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2Nqay1kZWNpbWFsL2NzczMtY291bnRlci1zdHlsZXMtMDA1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jamstZWFydGhseS1icmFuY2gvY3NzMy1jb3VudGVyLXN0eWxlcy0yMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2Nqay1lYXJ0aGx5LWJyYW5jaC9jc3MzLWNvdW50ZXItc3R5bGVz
LTIwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY2prLWVhcnRobHktYnJhbmNoL2NzczMtY291
bnRlci1zdHlsZXMtMjAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jamstaGVhdmVubHktc3Rl
bS9jc3MzLWNvdW50ZXItc3R5bGVzLTIwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY2prLWhl
YXZlbmx5LXN0ZW0vY3NzMy1jb3VudGVyLXN0eWxlcy0yMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2Nqay1oZWF2ZW5seS1zdGVtL2NzczMtY291bnRlci1zdHlsZXMtMjA2Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1hZGRpdGl2ZS1zeW1ib2xzLXNldHRlci1pbnZhbGlk
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1hZGRpdGl2ZS1zeW1ib2xzLXNl
dHRlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY3Nzb20vY3Nzb20tZmFsbGJhY2stc2V0dGVy
LWludmFsaWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDc3NywxMiArNDc2Nyw2IEBA
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9j
c3NvbS9jc3NvbS1zeXN0ZW0tc2V0dGVyCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvY3Nzb20vY3Nzb20tc3lzdGVtLXNldHRlci0yLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1zeXN0ZW0tc2V0dGVyLWludmFsaWQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2hlYnJldy9jc3MzLWNvdW50ZXItc3R5bGVzLTAxNmEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2hpcmFnYW5hLWlyb2hhL2NzczMtY291bnRlci1zdHlsZXMt
MDMzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9oaXJhZ2FuYS1pcm9oYS9jc3MzLWNvdW50ZXIt
c3R5bGVzLTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvaGlyYWdhbmEtaXJvaGEvY3NzMy1j
b3VudGVyLXN0eWxlcy0wMzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2hpcmFnYW5hL2NzczMt
Y291bnRlci1zdHlsZXMtMDMwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9oaXJhZ2FuYS9jc3Mz
LWNvdW50ZXItc3R5bGVzLTAzMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvaGlyYWdhbmEvY3Nz
My1jb3VudGVyLXN0eWxlcy0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWZv
cm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFw
YW5lc2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDkuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQpAQCAtNDc5MywxMiArNDc3Nyw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1pbmZvcm1hbC9jc3Mz
LWNvCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvamFwYW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2phcGFuZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDQ1Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5
bGVzLTA0Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMva2F0YWthbmEtaXJvaGEvY3NzMy1jb3Vu
dGVyLXN0eWxlcy0wMzkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2thdGFrYW5hLWlyb2hhL2Nz
czMtY291bnRlci1zdHlsZXMtMDQwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rYXRha2FuYS1p
cm9oYS9jc3MzLWNvdW50ZXItc3R5bGVzLTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMva2F0
YWthbmEvY3NzMy1jb3VudGVyLXN0eWxlcy0wMzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2th
dGFrYW5hL2NzczMtY291bnRlci1zdHlsZXMtMDM3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9r
YXRha2FuYS9jc3MzLWNvdW50ZXItc3R5bGVzLTAzOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
a29yZWFuLWhhbmd1bC1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNTIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2tvcmVhbi1oYW5ndWwtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDUz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuZ3VsLWZvcm1hbC9jc3MzLWNvdW50
ZXItc3R5bGVzLTA1NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00ODI5LDkgKzQ4MDcs
NiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvc2ltcC1jaGluZXNlLWluZm9ybWFsL2NzcwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNv
dW50ZXItc3R5bGVzLTA3My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWlu
Zm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDc0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9z
aW1wLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL3RhbWlsL2NzczMtY291bnRlci1zdHlsZXMtMTQ2Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3Vu
dGVyLXN0eWxlcy90YW1pbC9jc3MzLWNvdW50ZXItc3R5bGVzLTE0Ny5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRl
ci1zdHlsZXMvdGFtaWwvY3NzMy1jb3VudGVyLXN0eWxlcy0xNDguaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODYuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxl
cy0wODcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1j
b3VudGVyLXN0eWxlcy0wODguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDg0Miw3ICs0
ODE3LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL3RyYWQtY2hpbmVzZS1pbmZvcm1hbC9jc3MKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtaW5mb3JtYWwvY3Nz
My1jb3VudGVyLXN0eWxlcy0wODMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVz
ZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMvdHJhZC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDg1Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb3VudGVyLXN0eWxlcy91cHBlci1hcm1lbmlhbi9jc3MzLWNvdW50ZXItc3R5bGVzLTEwOS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvdXBwZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0w
MjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3VwcGVyLXJvbWFuL2NzczMtY291bnRlci1zdHls
ZXMtMDI0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy91cHBlci1yb21hbi9jc3MzLWNvdW50ZXIt
c3R5bGVzLTAyNGEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLWZhbGxiYWNrLXN0eWxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxs
YmFjay1zdHlsZS1leHBlY3RlZC50eHQKaW5kZXggOWQ4NGZjODQwYTVmYTk1NGU2Y2Q4Y2YyNTUw
N2U5ZDM3MjM5MjRlNC4uZDY2MjNlMGI0MGU1MzQxNzE5NjZkYWNkMDM4ZGYyMWNhOGRhMzA5OSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLWZh
bGxiYWNrLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3cz
LWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC03LDggKzcs
OCBAQCBhcm1lbmlhbgogUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KIFBBU1MgbGlzdCBtYXJrZXIg
aXMgMC4KIFBBU1MgbGlzdCBtYXJrZXIgaXMg1LEuCi1QQVNTIGxpc3QgbWFya2VyIGlzINWUzILV
i8yC1YLMgtS5zILVlNWL1YLUuS4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMTAwMDAwMDAwLgorUEFT
UyBsaXN0IG1hcmtlciBpcyDVlNWL1YLUuS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMgMTAwMDAuCiBj
amstaWRlb2dyYXBoaWMKIAogUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KQEAgLTcyLDkgKzcyLDkg
QEAgUEFTUyBsaXN0IG1hcmtlciBpcyAwLgogUEFTUyBsaXN0IG1hcmtlciBpcyAxLgogdGFtaWwK
IAotUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMC4KLVBBU1Mg
bGlzdCBtYXJrZXIgaXMgMS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMgLeCvpy4KK1BBU1MgbGlzdCBt
YXJrZXIgaXMg4K+mLgorUEFTUyBsaXN0IG1hcmtlciBpcyDgr6cuCiB0cmFkLWNoaW5lc2UtZm9y
bWFsCiAKIFBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS5odG1s
CmluZGV4IDU4OTkyZTE3OTJlMjRhOTU2ZjVlYzg2MDM3MzhkNDAwNTFmYmE1ZGYuLmE2MDQ5NDMy
ZjU5MjgzNDY5MjkzZTViYTc3NmJkM2NkNDVmMTJlOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHls
ZS5odG1sCkBAIC03Nyw5ICs3Nyw5IEBACiAgICAgICAgICAgICA8bGk+MDwvbGk+CiAgICAgICAg
ICAgICA8bGk+JiN4NTMxOzwvbGk+CiAgICAgICAgIDwvb2w+Ci0gICAgICAgIDxvbCBjbGFzcz0i
YXJtZW5pYW4iIHN0YXJ0PSI5OTk5OTk5OSI+Ci0gICAgICAgICAgICA8bGk+JiN4NTU0OyYjeDMw
MjsmI3g1NEI7JiN4MzAyOyYjeDU0MjsmI3gzMDI7JiN4NTM5OyYjeDMwMjsmI3g1NTQ7JiN4NTRC
OyYjeDU0MjsmI3g1Mzk7PC9saT4KLSAgICAgICAgICAgIDxsaT4xMDAwMDAwMDA8L2xpPgorICAg
ICAgICA8b2wgY2xhc3M9ImFybWVuaWFuIiBzdGFydD0iOTk5OSI+CisgICAgICAgICAgICA8bGk+
JiN4NTU0OyYjeDU0QjsmI3g1NDI7JiN4NTM5OzwvbGk+CisgICAgICAgICAgICA8bGk+MTAwMDA8
L2xpPgogICAgICAgICA8L29sPgogICAgIDwvZGl2PgogICAgIApAQCAtMTkwLDEyICsxOTAsMTEg
QEAKICAgICAgICAgPC9vbD4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij4KLSAg
ICAgICAgPCEtLSBGSVhNRTogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBsaXN0LXN0
eWxlLXR5cGUuIFRoZXNlIGFyZSBleHBlY3RlZCBmYWlsdXJlIHJlc3VsdHMuIC0tPgogICAgICAg
ICA8aDI+dGFtaWw8L2gyPgogICAgICAgICA8b2wgY2xhc3M9InRhbWlsIiBzdGFydD0iLTEiPgot
ICAgICAgICAgICAgPGxpPi0xPC9saT4KLSAgICAgICAgICAgIDxsaT4wPC9saT4KLSAgICAgICAg
ICAgIDxsaT4xPC9saT4KKyAgICAgICAgICAgIDxsaT4tJiN4QkU3OzwvbGk+CisgICAgICAgICAg
ICA8bGk+JiN4QkU2OzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4QkU3OzwvbGk+CiAgICAgICAg
IDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>