<?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>176793</bug_id>
          
          <creation_ts>2017-09-12 12:12:03 -0700</creation_ts>
          <short_desc>Update availability annotations to match the macOS 10.13 and iOS 11.0 GM seed SDKs</short_desc>
          <delta_ts>2017-09-27 12:31:51 -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>WebKit API</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347973</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-09-12 12:12:03 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347974</commentid>
    <comment_count>1</comment_count>
      <attachid>320558</attachid>
    <who name="">mitz</who>
    <bug_when>2017-09-12 12:13:09 -0700</bug_when>
    <thetext>Created attachment 320558
Update and fix up availability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347977</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-09-12 12:17:50 -0700</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/r221930&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347986</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-12 12:34:18 -0700</bug_when>
    <thetext>(In reply to mitz from comment #2)
&gt; Committed &lt;https://trac.webkit.org/r221930&gt;.
This change broke the iOS build: 
https://build.webkit.org/builders/Apple%20iOS%2010%20Release%20%28Build%29/builds/4134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347988</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-09-12 12:35:39 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #3)
&gt; (In reply to mitz from comment #2)
&gt; &gt; Committed &lt;https://trac.webkit.org/r221930&gt;.
&gt; This change broke the iOS build: 
&gt; https://build.webkit.org/builders/Apple%20iOS%2010%20Release%20%28Build%29/
&gt; builds/4134

Thanks, Ryan! I’m going to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347989</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-09-12 12:40:15 -0700</bug_when>
    <thetext>(In reply to mitz from comment #4)
&gt; (In reply to Ryan Haddad from comment #3)
&gt; &gt; (In reply to mitz from comment #2)
&gt; &gt; &gt; Committed &lt;https://trac.webkit.org/r221930&gt;.
&gt; &gt; This change broke the iOS build: 
&gt; &gt; https://build.webkit.org/builders/Apple%20iOS%2010%20Release%20%28Build%29/
&gt; &gt; builds/4134
&gt; 
&gt; Thanks, Ryan! I’m going to fix it.

Attempted fix in &lt;https://trac.webkit.org/r221934&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353450</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:31:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693435&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320558</attachid>
            <date>2017-09-12 12:13:09 -0700</date>
            <delta_ts>2017-09-12 12:16:18 -0700</delta_ts>
            <desc>Update and fix up availability</desc>
            <filename>bug-176793-20170912121308.patch</filename>
            <type>text/plain</type>
            <size>86697</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcyIEBACisyMDE3LTA5LTEyICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIGF2YWlsYWJpbGl0eSBhbm5v
dGF0aW9ucyB0byBtYXRjaCB0aGUgbWFjT1MgMTAuMTMgYW5kIGlPUyAxMS4wIEdNIHNlZWQgU0RL
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2Nzkz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdl
ZCBXS19NQUNfVEJBIGFuZCBXS19JT1NfVEJBIHRvIDEwLjEzIGFuZCAxMS4wLCByZXNwZWN0aXZl
bHksIGluIGFsbCBkZWNsYXJhdGlvbnMgdGhhdAorICAgICAgICBhcHBlYXIgaW4gdGhlIEdNIHNl
ZWQgU0RLcy4gQWRkaXRpb25hbCBjaGFuZ2VzIGFuZCBleGNlcHRpb25zIGFyZSBub3RlZCBiZWxv
dy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5o
OiBBZGRlZCBtaXNzaW5nIGF2YWlsYWJpbGl0eSBhbm5vdGF0aW9uIHRvCisgICAgICAgICAgLV93
ZWJWaWV3OmRhdGFPd25lckZvckRyb3BTZXNzaW9uOiBhbmQgLV93ZWJWaWV3OmRhdGFPd25lckZv
ckRyYWdTZXNzaW9uOi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oOiBSZW1vdmVkIHJlZG51bmRhbnQKKyAgICAgICAgICBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAgZ3VhcmRzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6IEFkZGVkIG1pc3NpbmcgYXZh
aWxhYmlsaXR5IGFubm90YXRpb24gdG8KKyAgICAgICAgICAtX3NldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NUZXN0aW5nQ2FsbGJhY2s6LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tGdWxsc2NyZWVuRGVsZWdhdGUuaDogQWRkZWQgbWlzc2luZyBhdmFpbGFiaWxpdHkgYW5ub3Rh
dGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0
ZXJzLmg6IEFkZGVkIGF2YWlsYWJpbGl0eSBhbm5vdGF0aW9uIHRoYXQgaGFkIGJlZW4KKyAgICAg
ICAgICBtaXNzaW5nIHNpbmNlIG1hY09TIDEwLjEyLjMgYW5kIGlPUyAxMC4zLiBDb3JyZWN0ZWQg
YW5ub3RhdGlvbiBmb3IgX1dLTGlua0ljb25QYXJhbWV0ZXJzLgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oOiBBZGRlZCBt
aXNzaW5nIFRCQSBhbm5vdGF0aW9uIHRvCisgICAgICAgICAgX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEaXJlY3RvcnkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9D
b2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLmg6IFJlbW92ZWQgaU9TCisgICAgICAg
ICAgYXZhaWxhYmlsaXR5IGZyb20gbWFjT1Mtb25seSBkZWNsYXJhdGlvbiBhbmQgdmljZSB2ZXJz
YS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tOgorICAgICAgICAoLVtXS1dlYlByb2Nlc3NQbHVn
SW5SYW5nZUhhbmRsZSBkZXRlY3REYXRhV2l0aFR5cGVzOmNvbnRleHQ6XSk6IFJlbW92ZWQgYW4g
YXZhaWxhYmlsaXR5CisgICAgICAgICAgYW5ub3RhdGlvbiBmcm9tIHRoaXMgbWV0aG9kIGltcGxl
bWVudGF0aW9uLgorCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9XS0RyYWdEZXN0aW5hdGlv
bkFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxp
c3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0U3Rv
cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLRnJhbWVJbmZvLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0hUVFBDb29raWVTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLU25hcHNob3RDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VSTFNjaGVtZUhhbmRsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVVJMU2NoZW1lVGFzay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVUkxTY2hlbWVUYXNrUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVc2VyQ29udGVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvblByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
c2l0ZURhdGFSZWNvcmRQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2lu
ZG93RmVhdHVyZXNQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
Y3RpdmF0ZWRFbGVtZW50SW5mby5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJp
dmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0
ZXJQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9s
aWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9j
ZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oOgorCiAyMDE3LTA5LTEyICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFdLVUlE
ZWxlZ2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIHJ1bk1vZGFsCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvV0tEcmFnRGVzdGluYXRpb25BY3Rp
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvV0tEcmFn
RGVzdGluYXRpb25BY3Rpb24uaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL0NvY29hL1dLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDYgKzM1LDYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLRHJhZ0Rl
cwogICAgIFdLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCAgICA9IDIsCiAgICAgV0tEcmFnRGVz
dGluYXRpb25BY3Rpb25Mb2FkICAgID0gNCwKICAgICBXS0RyYWdEZXN0aW5hdGlvbkFjdGlvbkFu
eSAgICAgPSBOU1VJbnRlZ2VyTWF4Ci19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOworfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyks
IGlvcygxMS4wKSk7CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvX1dL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmgJKHJldmlzaW9uIDIyMTkyOSkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL19XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShpb3MoOC4wKSkKIEBp
bnRlcmZhY2UgX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyIDogVUlWaWV3UHJpbnRGb3JtYXR0ZXIK
IAogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgX1dLRnJhbWVIYW5kbGUgKmZyYW1lVG9Q
cmludDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNuYXBzaG90Rmlyc3RQYWdlIFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IHNuYXBzaG90Rmlyc3RQYWdlIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKIAogQGVuZAog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxp
c3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tD
b250ZW50UnVsZUxpc3QuaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDcgKzI5LDcgQEAKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKLVdLX0NM
QVNTX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK1dLX0NM
QVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpCiBAaW50ZXJmYWNlIFdLQ29u
dGVudFJ1bGVMaXN0IDogTlNPYmplY3QKIAogLyohIEBhYnN0cmFjdCBBIGNvcHkgb2YgdGhlIGlk
ZW50aWZpZXIgb2YgdGhlIGNvbnRlbnQgZXh0ZW5zaW9uLiAqLwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0U3RvcmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3RT
dG9yZS5oCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tDb250ZW50UnVsZUxpc3RTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICsz
MSw3IEBACiAKIEBjbGFzcyBXS0NvbnRlbnRSdWxlTGlzdDsKIAotV0tfQ0xBU1NfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQorV0tfQ0xBU1NfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSkKIEBpbnRlcmZhY2UgV0tDb250ZW50UnVsZUxpc3RT
dG9yZSA6IE5TT2JqZWN0CiAKICsgKGluc3RhbmNldHlwZSlkZWZhdWx0U3RvcmU7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgJKHJldmlzaW9uIDIy
MTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDEwICs1MiwxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBXS0Vycm9yQ29kZSkgCiAgICAgV0tFcnJvcldlYlZpZXdJbnZhbGlkYXRlZCwKICAgICBXS0Vy
cm9ySmF2YVNjcmlwdEV4Y2VwdGlvbk9jY3VycmVkLAogICAgIFdLRXJyb3JKYXZhU2NyaXB0UmVz
dWx0VHlwZUlzVW5zdXBwb3J0ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3Mo
OS4wKSksCi0gICAgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlQ29tcGlsZUZhaWxlZCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKLSAgICBX
S0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVMb29rVXBGYWlsZWQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSksCi0gICAgV0tFcnJvckNvbnRlbnRS
dWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpLAotICAgIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVZl
cnNpb25NaXNtYXRjaCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKSwKKyAgICBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVDb21waWxlRmFpbGVk
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKSwKKyAgICBXS0Vycm9y
Q29udGVudFJ1bGVMaXN0U3RvcmVMb29rVXBGYWlsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMpLCBpb3MoMTEuMCkpLAorICAgIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZVJlbW92
ZUZhaWxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSksCisgICAg
V0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlVmVyc2lvbk1pc21hdGNoIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKSwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTApLCBpb3MoOC4wKSk7CiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRnJhbWVJbmZvLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRnJhbWVJbmZvLmgJKHJldmlzaW9u
IDIyMTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0ZyYW1lSW5m
by5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIFdLX0NMQVNTX0FWQUlMQUJMRSht
YWNvc3goMTAuMTApLCBpb3MoOC4KIAogLyohIEBhYnN0cmFjdCBUaGUgd2ViIHZpZXcgb2YgdGhl
IHdlYnBhZ2UgdGhhdCBjb250YWlucyB0aGlzIGZyYW1lLgogICovCi1AcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHksIHdlYWspIFdLV2ViVmlldyAqd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSwgd2VhaykgV0tXZWJWaWV3ICp3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tIVFRQQ29va2llU3RvcmUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tIVFRQQ29va2llU3RvcmUuaAkocmV2
aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLSFRU
UENvb2tpZVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4KIAogQGNsYXNzIFdLSFRUUENvb2tpZVN0b3JlOwogCi1XS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQorV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpCiBAcHJvdG9jb2wgV0tIVFRQQ29va2llU3Rv
cmVPYnNlcnZlciA8TlNPYmplY3Q+CiBAb3B0aW9uYWwKIC0gKHZvaWQpY29va2llc0RpZENoYW5n
ZUluQ29va2llU3RvcmU6KFdLSFRUUENvb2tpZVN0b3JlICopY29va2llU3RvcmU7CkBAIC00Miw3
ICs0Miw3IEBAIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MKIC8qIQog
IEEgV0tIVFRQQ29va2llU3RvcmUgb2JqZWN0IGFsbG93cyBtYW5hZ2luZyB0aGUgSFRUUCBjb29r
aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgV0tXZWJzaXRlRGF0YVN0b3JlLgogICov
Ci1XS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
CitXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKQogQGludGVyZmFj
ZSBXS0hUVFBDb29raWVTdG9yZSA6IE5TT2JqZWN0CiAKIC0gKGluc3RhbmNldHlwZSlpbml0IE5T
X1VOQVZBSUxBQkxFOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oCShyZXZpc2lvbiAy
MjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9u
QWN0aW9uUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFdLU3ludGhldGljQ2wKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQ0dQb2ludCBfY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyBXS19B
UElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAjZW5kaWYKIAotQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBCT09MIF9pc1JlZGlyZWN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBCT09MIF9pc1JlZGlyZWN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDEx
LjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCShyZXZp
c2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZp
Z2F0aW9uRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAg
c3RhdGljIGNvbnN0IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IAogI2lmIFRBUkdFVF9PU19J
UEhPTkUKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkU3RhcnRMb2Fk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVdpdGhGaWxlTmFtZTooTlNTdHJpbmcgKilm
aWxlTmFtZSB1dGk6KE5TU3RyaW5nICopdXRpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBkaWRGaW5pc2hMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZToo
TlNEYXRhICopZG9jdW1lbnREYXRhOwotLSAodm9pZClfd2ViVmlld0RpZFJlcXVlc3RQYXNzd29y
ZEZvclF1aWNrTG9va0RvY3VtZW50OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFC
TEUoaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXdEaWRSZXF1ZXN0UGFzc3dvcmRG
b3JRdWlja0xvb2tEb2N1bWVudDooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KGlvcygxMS4wKSk7CiAjZWxzZQogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyB3ZWJHTExvYWRQb2xpY3lGb3JVUkw6KE5TVVJMICopdXJsIGRlY2lzaW9uSGFuZGxlcjoodm9p
ZCAoXikoX1dLV2ViR0xMb2FkUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyByZXNvbHZlV2ViR0xMb2FkUG9saWN5Rm9yVVJMOihOU1VSTCAqKXVybCBkZWNpc2lvbkhh
bmRsZXI6KHZvaWQgKF4pKF9XS1dlYkdMTG9hZFBvbGljeSkpZGVjaXNpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCShy
ZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsMjIgKzk2LDIyIEBAIHR5
cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2MKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldE9mZmxpbmVBcHBsaWNhdGlvbkNhY2hlSXNFbmFibGVkOikgQk9PTCBf
b2ZmbGluZUFwcGxpY2F0aW9uQ2FjaGVJc0VuYWJsZWQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRGdWxsU2NyZWVuRW5hYmxlZDopIEJPT0wgX2Z1bGxTY3JlZW5FbmFibGVkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDkuMCkpOwogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uOikgQk9PTCBfc2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5n
UHJvdmlzaW9uYWxOYXZpZ2F0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBp
b3MoMTAuMykpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KSBCT09MIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrOikgQk9PTCBfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlh
UGxheWJhY2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9z
dXJlQWxsb3dlZDopIEJPT0wgX2FwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIAotQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5OikgQk9PTCBfbG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5OikgQk9PTCBfbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAotQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFEZXZpY2VzRW5hYmxlZDopIEJPT0wgX21lZGlhRGV2
aWNlc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNb2NrQ2FwdHVyZURl
dmljZXNFbmFibGVkOikgQk9PTCBfbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhRGV2aWNlc0VuYWJsZWQ6KSBCT09MIF9tZWRpYURl
dmljZXNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJs
ZWQ6KSBCT09MIF9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dE1vY2tDYXB0dXJlRGV2aWNlc1Byb21wdEVuYWJsZWQ6KSBCT09MIF9tb2NrQ2FwdHVyZURldmlj
ZXNQcm9tcHRFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFDYXB0
dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uOikgQk9PTCBfbWVkaWFDYXB0dXJlUmVxdWlyZXNT
ZWN1cmVDb25uZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQ6KSBCT09MIF9lbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlh
Q2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbjopIEJPT0wgX21lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygx
MS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRFbnVtZXJhdGluZ0FsbE5l
dHdvcmtJbnRlcmZhY2VzRW5hYmxlZDopIEJPT0wgX2VudW1lcmF0aW5nQWxsTmV0d29ya0ludGVy
ZmFjZXNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElDRUNhbmRpZGF0ZUZpbHRlcmluZ0Vu
YWJsZWQ6KSBCT09MIF9pY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZDopIEJPT0wgX3dlYlJUQ0xl
Z2FjeUFQSUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRXZWJSVENMZWdh
Y3lBUElFbmFibGVkOikgQk9PTCBfd2ViUlRDTGVnYWN5QVBJRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQ6KSBCT09MIF9qYXZhU2NyaXB0
Q2FuQWNjZXNzQ2xpcGJvYXJkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RE9NUGFz
dGVBbGxvd2VkOikgQk9PTCBfZG9tUGFzdGVBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZDopIEJPT0wgX2phdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RE9NUGFzdGVBbGxvd2VkOikg
Qk9PTCBfZG9tUGFzdGVBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKTsKIAogKyAoTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICopX2V4cGVy
aW1lbnRhbEZlYXR1cmVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjAp
KTsKIC0gKEJPT0wpX2lzRW5hYmxlZEZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUg
KilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
b2Nlc3NQb29sUHJpdmF0ZS5oCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNTMsMTUgKzUzLDE1IEBACiAtICh2b2lkKV9zZXRPYmplY3RzRm9yQnVuZGxlUGFyYW1ldGVy
c1dpdGhEaWN0aW9uYXJ5OihOU0RpY3Rpb25hcnkgKilkaWN0aW9uYXJ5IFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCi0t
ICh2b2lkKV9yZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llczooTlNEaWN0aW9uYXJ5ICopcG9s
aWNpZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU0RpY3Rpb25hcnkgKl9wbHVnaW5Mb2FkQ2xpZW50
UG9saWNpZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClf
cmVzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM6KE5TRGljdGlvbmFyeSAqKXBvbGljaWVzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIGNvcHkpIE5TRGljdGlvbmFyeSAqX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llcyBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMykpOwogI2VuZGlmCiAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCB3ZWFrLCBzZXR0ZXI9X3NldERvd25sb2FkRGVsZWdhdGU6KSBpZCA8X1dLRG93bmxvYWRE
ZWxlZ2F0ZT4gX2Rvd25sb2FkRGVsZWdhdGU7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgd2Vhaywg
c2V0dGVyPV9zZXRBdXRvbWF0aW9uRGVsZWdhdGU6KSBpZCA8X1dLQXV0b21hdGlvbkRlbGVnYXRl
PiBfYXV0b21hdGlvbkRlbGVnYXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9z
KDEwLjApKTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldENvcmVMb2NhdGlvblByb3ZpZGVyOikgaWQgPF9XS0dlb2xvY2F0aW9uQ29yZUxv
Y2F0aW9uUHJvdmlkZXI+IF9jb3JlTG9jYXRpb25Qcm92aWRlciBXS19BUElfQVZBSUxBQkxFKGlv
cyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDb3JlTG9j
YXRpb25Qcm92aWRlcjopIGlkIDxfV0tHZW9sb2NhdGlvbkNvcmVMb2NhdGlvblByb3ZpZGVyPiBf
Y29yZUxvY2F0aW9uUHJvdmlkZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwogI2VuZGlm
CiAKICsgKE5TVVJMICopX3dlYnNpdGVEYXRhVVJMRm9yQ29udGFpbmVyV2l0aFVSTDooTlNVUkwg
Kiljb250YWluZXJVUkw7CkBAIC03NiwxNiArNzYsMTYgQEAKIC0gKHZvaWQpX3Rlcm1pbmF0ZU5l
dHdvcmtQcm9jZXNzOwogCiAvLyBUZXN0IG9ubHkuCi0tIChwaWRfdClfbmV0d29ya1Byb2Nlc3NJ
ZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworLSAocGlkX3QpX25ldHdvcmtQcm9jZXNzSWRlbnRpZmllciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAtIChwaWRfdClfc3RvcmFnZVByb2Nlc3NJ
ZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogCiAvLyBUZXN0IG9ubHkuCi0tIChzaXplX3QpX3dlYlByb2Nlc3NDb3VudCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHNp
emVfdClfd2ViUHJvY2Vzc0NvdW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKTsKIC0gKHNpemVfdClfcGx1Z2luUHJvY2Vzc0NvdW50IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfc3luY05ldHdv
cmtQcm9jZXNzQ29va2llcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3N5bmNOZXR3b3JrUHJvY2Vzc0Nvb2tpZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiAvLyBUZXN0IG9ubHkuIFNo
b3VsZCBiZSBjYWxsZWQgYmVmb3JlIGFueSB3ZWIgY29udGVudCBwcm9jZXNzZXMgYXJlIGxhdW5j
aGVkLgotKyAodm9pZClfZm9yY2VHYW1lQ29udHJvbGxlckZyYW1ld29yayBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKysgKHZvaWQpX2ZvcmNl
R2FtZUNvbnRyb2xsZXJGcmFtZXdvcmsgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBp
b3MoMTEuMCkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9pc0Nvb2tpZVN0b3Jh
Z2VQYXJ0aXRpb25pbmdFbmFibGVkLCBzZXR0ZXI9X3NldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25p
bmdFbmFibGVkOikgQk9PTCBfY29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyksIGlvcygxMC4zKSk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90Q29uZmlndXJhdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90Q29u
ZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNyArMzEsNyBAQAogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCi1XS19DTEFTU19BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKQogQGludGVyZmFjZSBXS1NuYXBzaG90Q29u
ZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CiAKIC8qISBAYWJzdHJhY3QgVGhlIHJl
Y3QgdG8gc25hcHNob3QgaW4gdmlldyBjb29yZGluYXRlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAko
cmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
VUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTggKzk2LDE4IEBAIHN0
cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdL
V2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOC4z
KSk7CiAtICh2b2lkKV93ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJW
aWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpKTsKIC0gKHZvaWQpX3dlYlZpZXdE
aWRMb3NlUG9pbnRlckxvY2s6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIuMykpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBo
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTooQk9PTCloYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U6KEJPT0wpaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1
cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNo
YW5nZWQ6KENHU2l6ZSlzaXplIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEw
LjApKTsKIC0gKE5TRGljdGlvbmFyeSAqKV9kYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3Mo
MTAuMCkpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0VXNl
ck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXM6KF9XS0NhcHR1cmVEZXZpY2VzKWRldmljZXMg
dXJsOihOU1VSTCAqKXVybCBtYWluRnJhbWVVUkw6KE5TVVJMICopbWFpbkZyYW1lVVJMIGRlY2lz
aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistICh2
b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RVc2VyTWVkaWFBdXRob3Jp
emF0aW9uRm9yRGV2aWNlczooX1dLQ2FwdHVyZURldmljZXMpZGV2aWNlcyB1cmw6KE5TVVJMICop
dXJsIG1haW5GcmFtZVVSTDooTlNVUkwgKiltYWluRnJhbWVVUkwgZGVjaXNpb25IYW5kbGVyOih2
b2lkICheKShCT09MIGF1dGhvcml6ZWQpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IGNoZWNrVXNlck1lZGlhUGVybWlzc2lvbkZvclVSTDooTlNVUkwgKil1cmwgbWFp
bkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTCBmcmFtZUlkZW50aWZpZXI6KE5TVUludGVn
ZXIpZnJhbWVJZGVudGlmaWVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoTlNTdHJpbmcgKnNh
bHQsIEJPT0wgYXV0aG9yaXplZCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBtZWRpYUNhcHR1cmVTdGF0ZURpZENoYW5nZTooX1dLTWVkaWFDYXB0dXJlU3RhdGUp
c3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7Ci0tIChXS0RyYWdEZXN0aW5hdGlvbkFjdGlvbilfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBkcmFnRGVzdGluYXRpb25BY3Rpb25NYXNrRm9yRHJhZ2dpbmdJbmZvOihpZClkcmFnZ2lu
Z0luZm8gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyZWF0ZVdlYlZpZXdX
aXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24g
Zm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlv
biB3aW5kb3dGZWF0dXJlczooV0tXaW5kb3dGZWF0dXJlcyAqKXdpbmRvd0ZlYXR1cmVzIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShXS1dlYlZpZXcgKndlYlZpZXcpKWNvbXBsZXRpb25IYW5k
bGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBtZWRpYUNhcHR1cmVTdGF0
ZURpZENoYW5nZTooX1dLTWVkaWFDYXB0dXJlU3RhdGUpc3RhdGUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAoV0tEcmFnRGVzdGluYXRpb25BY3Rpb24pX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFza0ZvckRy
YWdnaW5nSW5mbzooaWQpZHJhZ2dpbmdJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY3Jl
YXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29u
ZmlndXJhdGlvbiBmb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKiluYXZp
Z2F0aW9uQWN0aW9uIHdpbmRvd0ZlYXR1cmVzOihXS1dpbmRvd0ZlYXR1cmVzICopd2luZG93RmVh
dHVyZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKFdLV2ViVmlldyAqd2ViVmlldykpY29t
cGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkp
OwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0R2VvbG9jYXRp
b25QZXJtaXNzaW9uRm9yRnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgZGVjaXNpb25IYW5kbGVy
Oih2b2lkICheKShCT09MIGFsbG93ZWQpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAotLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICop
ZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdWx0KSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRC
eUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShC
T09MIHJlc3VsdCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBl
ZGl0b3JTdGF0ZURpZENoYW5nZTooTlNEaWN0aW9uYXJ5ICopZWRpdG9yU3RhdGUgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKICNpZiBUQVJH
RVRfT1NfSVBIT05FCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0g
KE5TQXJyYXkgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBhY3Rpb25zRm9yRWxlbWVu
dDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IGRlZmF1bHRBY3Rpb25zOihOU0Fy
cmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilkZWZhdWx0QWN0aW9uczsKIC0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQ6KENH
UG9pbnQpcG9pbnQ7CiAtIChCT09MKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3Vs
ZFJlcXVlc3RHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Gb3JVUkw6KE5TVVJMICopdXJsIGlzTWFp
bkZyYW1lOihCT09MKWlzTWFpbkZyYW1lIG1haW5GcmFtZVVSTDooTlNVUkwgKiltYWluRnJhbWVV
Ukw7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RHZW9sb2Nh
dGlvbkF1dGhvcml6YXRpb25Gb3JVUkw6KE5TVVJMICopdXJsIGZyYW1lOihXS0ZyYW1lSW5mbyAq
KWZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0R2VvbG9jYXRpb25BdXRob3JpemF0aW9u
Rm9yVVJMOihOU1VSTCAqKXVybCBmcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBkZWNpc2lvbkhh
bmRsZXI6KHZvaWQgKF4pKEJPT0wgYXV0aG9yaXplZCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDExLjApKTsKIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6KE5TVVJMICopdXJs
IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDkuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBjb21taXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjooVUlWaWV3Q29udHJvbGxl
ciAqKXByZXZpZXdlZFZpZXdDb250cm9sbGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDkuMCkpOwog
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB3aWxsUHJldmlld0ltYWdlV2l0
aFVSTDooTlNVUkwgKilpbWFnZVVSTCBXS19BUElfQVZBSUxBQkxFKGlvcyg5LjApKTsKQEAgLTEz
MSwyNCArMTMxLDI0IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtIChVSVZpZXdDb250cm9sbGVy
ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVyRm9y
VVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNBcnJheTxfV0tFbGVtZW50QWN0aW9u
ICo+ICopYWN0aW9ucyBlbGVtZW50SW5mbzooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVt
ZW50SW5mbyBXS19BUElfQVZBSUxBQkxFKGlvcyg5LjApKTsKIC0gKFVJVmlld0NvbnRyb2xsZXIg
Kilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JB
bmltYXRlZEltYWdlQXRVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRBY3Rpb25zOihOU0FycmF5PF9X
S0VsZW1lbnRBY3Rpb24gKj4gKilhY3Rpb25zIGVsZW1lbnRJbmZvOihfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mbyAqKWVsZW1lbnRJbmZvIGltYWdlU2l6ZTooQ0dTaXplKWltYWdlU2l6ZSBXS19BUElf
QVZBSUxBQkxFKGlvcyg5LjApKTsKIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfcHJlc2VudGluZ1Zp
ZXdDb250cm9sbGVyRm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxB
QkxFKGlvcygxMC4wKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGdl
dEFsdGVybmF0ZVVSTEZyb21JbWFnZTooVUlJbWFnZSAqKWltYWdlIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU1VSTCAqYWx0ZXJuYXRlVVJMLCBOU0RpY3Rpb25hcnkgKnVzZXJJbmZvKSlj
b21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7Ci0tIChO
U1VSTCAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGFsdGVybmF0ZVVSTEZyb21JbWFn
ZTooVUlJbWFnZSAqKWltYWdlIHVzZXJJbmZvOihOU0RpY3Rpb25hcnkgKiopdXNlckluZm8gV0tf
QVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwotLSAoVUlWaWV3Q29udHJvbGxlciAqKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvckltYWdl
OihVSUltYWdlICopaW1hZ2UgYWx0ZXJuYXRlVVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9u
czooTlNBcnJheTxfV0tFbGVtZW50QWN0aW9uICo+ICopYWN0aW9ucyBlbGVtZW50SW5mbzooX1dL
QWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50SW5mbyBXS19BUElfQVZBSUxBQkxFKGlvcyhX
S19JT1NfVEJBKSk7Ci0tIChOU0FycmF5ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
YWRqdXN0ZWREYXRhSW50ZXJhY3Rpb25JdGVtUHJvdmlkZXJzOihOU0FycmF5ICopb3JpZ2luYWxJ
dGVtUHJvdmlkZXJzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKE5TQXJy
YXkgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBhZGp1c3RlZERhdGFJbnRlcmFjdGlv
bkl0ZW1Qcm92aWRlcnNGb3JJdGVtUHJvdmlkZXI6KGlkKWl0ZW1Qcm92aWRlciByZXByZXNlbnRp
bmdPYmplY3RzOihOU0FycmF5ICopcmVwcmVzZW50aW5nT2JqZWN0cyBhZGRpdGlvbmFsRGF0YToo
TlNEaWN0aW9uYXJ5ICopYWRkaXRpb25hbERhdGEgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9T
X1RCQSkpOwotLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwZXJmb3JtRGF0
YUludGVyYWN0aW9uT3BlcmF0aW9uV2l0aEl0ZW1Qcm92aWRlcnM6KE5TQXJyYXkgKilpdGVtUHJv
dmlkZXJzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGF0YUludGVyYWN0aW9uOihpZClpbnRlcmFjdGlvbiBz
ZXNzaW9uV2lsbEJlZ2luOihpZClzZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19U
QkEpKTsKLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGF0YUludGVyYWN0
aW9uOihpZClpbnRlcmFjdGlvbiBzZXNzaW9uOihpZClzZXNzaW9uIGRpZEVuZFdpdGhPcGVyYXRp
b246KE5TVUludGVnZXIpb3BlcmF0aW9uIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEp
KTsKLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGF0YUludGVyYWN0aW9u
T3BlcmF0aW9uV2FzSGFuZGxlZDooQk9PTCloYW5kbGVkIGZvclNlc3Npb246KGlkKXNlc3Npb24g
aXRlbVByb3ZpZGVyczooTlNBcnJheSAqKWl0ZW1Qcm92aWRlcnMgV0tfQVBJX0FWQUlMQUJMRShp
b3MoV0tfSU9TX1RCQSkpOwotLSAoTlNVSW50ZWdlcilfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyB3aWxsVXBkYXRlRGF0YUludGVyYWN0aW9uT3BlcmF0aW9uVG9PcGVyYXRpb246KE5TVUlu
dGVnZXIpb3BlcmF0aW9uIGZvclNlc3Npb246KGlkKXNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShp
b3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBn
ZXRBbHRlcm5hdGVVUkxGcm9tSW1hZ2U6KFVJSW1hZ2UgKilpbWFnZSBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoTlNVUkwgKmFsdGVybmF0ZVVSTCwgTlNEaWN0aW9uYXJ5ICp1c2VySW5mbykp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOworLSAoTlNVUkwg
Kilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBhbHRlcm5hdGVVUkxGcm9tSW1hZ2U6KFVJ
SW1hZ2UgKilpbWFnZSB1c2VySW5mbzooTlNEaWN0aW9uYXJ5ICoqKXVzZXJJbmZvIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDExLjApKTsKKy0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JJbWFnZTooVUlJbWFnZSAq
KWltYWdlIGFsdGVybmF0ZVVSTDooTlNVUkwgKil1cmwgZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXk8
X1dLRWxlbWVudEFjdGlvbiAqPiAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0FjdGl2YXRlZEVs
ZW1lbnRJbmZvICopZWxlbWVudEluZm8gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOworLSAo
TlNBcnJheSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGFkanVzdGVkRGF0YUludGVy
YWN0aW9uSXRlbVByb3ZpZGVyczooTlNBcnJheSAqKW9yaWdpbmFsSXRlbVByb3ZpZGVycyBXS19B
UElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CistIChOU0FycmF5ICopX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgYWRqdXN0ZWREYXRhSW50ZXJhY3Rpb25JdGVtUHJvdmlkZXJzRm9ySXRlbVBy
b3ZpZGVyOihpZClpdGVtUHJvdmlkZXIgcmVwcmVzZW50aW5nT2JqZWN0czooTlNBcnJheSAqKXJl
cHJlc2VudGluZ09iamVjdHMgYWRkaXRpb25hbERhdGE6KE5TRGljdGlvbmFyeSAqKWFkZGl0aW9u
YWxEYXRhIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKKy0gKEJPT0wpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgcGVyZm9ybURhdGFJbnRlcmFjdGlvbk9wZXJhdGlvbldpdGhJdGVt
UHJvdmlkZXJzOihOU0FycmF5ICopaXRlbVByb3ZpZGVycyBXS19BUElfQVZBSUxBQkxFKGlvcygx
MS4wKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRhdGFJbnRlcmFj
dGlvbjooaWQpaW50ZXJhY3Rpb24gc2Vzc2lvbldpbGxCZWdpbjooaWQpc2Vzc2lvbiBXS19BUElf
QVZBSUxBQkxFKGlvcygxMS4wKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IGRhdGFJbnRlcmFjdGlvbjooaWQpaW50ZXJhY3Rpb24gc2Vzc2lvbjooaWQpc2Vzc2lvbiBk
aWRFbmRXaXRoT3BlcmF0aW9uOihOU1VJbnRlZ2VyKW9wZXJhdGlvbiBXS19BUElfQVZBSUxBQkxF
KGlvcygxMS4wKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRhdGFJ
bnRlcmFjdGlvbk9wZXJhdGlvbldhc0hhbmRsZWQ6KEJPT0wpaGFuZGxlZCBmb3JTZXNzaW9uOihp
ZClzZXNzaW9uIGl0ZW1Qcm92aWRlcnM6KE5TQXJyYXkgKilpdGVtUHJvdmlkZXJzIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDExLjApKTsKKy0gKE5TVUludGVnZXIpX3dlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgd2lsbFVwZGF0ZURhdGFJbnRlcmFjdGlvbk9wZXJhdGlvblRvT3BlcmF0aW9uOihO
U1VJbnRlZ2VyKW9wZXJhdGlvbiBmb3JTZXNzaW9uOihpZClzZXNzaW9uIFdLX0FQSV9BVkFJTEFC
TEUoaW9zKDExLjApKTsKICNpZiBUQVJHRVRfT1NfSU9TCi0tIChVSVRhcmdldGVkRHJhZ1ByZXZp
ZXcgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3Rm9yTGlmdGluZ0l0ZW06
KFVJRHJhZ0l0ZW0gKilpdGVtIHNlc3Npb246KGlkIDxVSURyYWdTZXNzaW9uPilzZXNzaW9uIFdL
X0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKFVJVGFyZ2V0ZWREcmFnUHJldmll
dyAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHByZXZpZXdGb3JDYW5jZWxsaW5nSXRl
bTooVUlEcmFnSXRlbSAqKWl0ZW0gd2l0aERlZmF1bHQ6KFVJVGFyZ2V0ZWREcmFnUHJldmlldyAq
KWRlZmF1bHRQcmV2aWV3IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKE5T
QXJyYXk8VUlEcmFnSXRlbSAqPiAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHdpbGxQ
ZXJmb3JtRHJvcFdpdGhTZXNzaW9uOihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbiBXS19BUElf
QVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7Ci0tIChOU0ludGVnZXIpX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgZGF0YU93bmVyRm9yRHJvcFNlc3Npb246KGlkIDxVSURyb3BTZXNzaW9u
PilzZXNzaW9uOwotLSAoTlNJbnRlZ2VyKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRh
dGFPd25lckZvckRyYWdTZXNzaW9uOihpZCA8VUlEcmFnU2Vzc2lvbj4pc2Vzc2lvbjsKKy0gKFVJ
VGFyZ2V0ZWREcmFnUHJldmlldyAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHByZXZp
ZXdGb3JMaWZ0aW5nSXRlbTooVUlEcmFnSXRlbSAqKWl0ZW0gc2Vzc2lvbjooaWQgPFVJRHJhZ1Nl
c3Npb24+KXNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOworLSAoVUlUYXJnZXRl
ZERyYWdQcmV2aWV3ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld0ZvckNh
bmNlbGxpbmdJdGVtOihVSURyYWdJdGVtICopaXRlbSB3aXRoRGVmYXVsdDooVUlUYXJnZXRlZERy
YWdQcmV2aWV3ICopZGVmYXVsdFByZXZpZXcgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwor
LSAoTlNBcnJheTxVSURyYWdJdGVtICo+ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
d2lsbFBlcmZvcm1Ecm9wV2l0aFNlc3Npb246KGlkIDxVSURyb3BTZXNzaW9uPilzZXNzaW9uIFdL
X0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKKy0gKE5TSW50ZWdlcilfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkYXRhT3duZXJGb3JEcm9wU2Vzc2lvbjooaWQgPFVJRHJvcFNlc3Npb24+
KXNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOworLSAoTlNJbnRlZ2VyKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRhdGFPd25lckZvckRyYWdTZXNzaW9uOihpZCA8VUlE
cmFnU2Vzc2lvbj4pc2Vzc2lvbiBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAjZW5kaWYK
LS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkQ2hhbmdlU2FmZUFyZWFT
aG91bGRBZmZlY3RPYnNjdXJlZEluc2V0czooQk9PTClzYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1
cmVkSW5zZXRzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkQ2hhbmdlU2FmZUFyZWFTaG91bGRBZmZlY3RP
YnNjdXJlZEluc2V0czooQk9PTClzYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRzIFdL
X0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKICNlbHNlCiAtICh2b2lkKV9zaG93V2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7
CiAtICh2b2lkKV9mb2N1c1dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVVJMU2NoZW1lSGFuZGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZUhhbmRsZXIuaAkocmV2aXNpb24gMjIx
OTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lSGFu
ZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIE5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCiAvKiEgQSBjbGFzcyBjb25mb3JtaW5nIHRvIHRoZSBXS1VSTFNjaGVtZUhhbmRsZXIg
cHJvdG9jb2wgcHJvdmlkZXMgbWV0aG9kcyBmb3IKICBsb2FkaW5nIHJlc291cmNlcyB3aXRoIFVS
TCBzY2hlbWVzIHRoYXQgV2ViS2l0IGRvZXNuJ3Qga25vdyBob3cgdG8gaGFuZGxlIGl0c2VsZi4K
ICAqLwotV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSkKK1dLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKQogQHByb3RvY29s
IFdLVVJMU2NoZW1lSGFuZGxlciA8TlNPYmplY3Q+CiAKIC8qISBAYWJzdHJhY3QgTm90aWZpZXMg
eW91ciBhcHAgdG8gc3RhcnQgbG9hZGluZyB0aGUgZGF0YSBmb3IgYSBwYXJ0aWN1bGFyIHJlc291
cmNlIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1l
VGFzay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VSTFNjaGVtZVRhc2suaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLVdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMyksIGlvcygxMS4wKSkKIEBwcm90b2NvbCBXS1VSTFNjaGVtZVRhc2sgPE5TT2Jq
ZWN0PgogCiAvKiEgQGFic3RyYWN0IFRoZSByZXF1ZXN0IHRvIGxvYWQgZm9yIHRoaXMgdGFzay4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2tQ
cml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFza1ByaXZhdGUuaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFza1ByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAotV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK1dLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKQogQHByb3RvY29sIFdLVVJMU2NoZW1l
VGFza1ByaXZhdGUgPFdLVVJMU2NoZW1lVGFzaz4KIAogLSAodm9pZClfZGlkUGVyZm9ybVJlZGly
ZWN0aW9uOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgbmV3UmVxdWVzdDooTlNVUkxSZXF1ZXN0
ICopcmVxdWVzdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Vz
ZXJDb250ZW50Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5oCShyZXZpc2lvbiAyMjE5Mjkp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRy
b2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsMTYgKzc0LDE2IEBAIFdLX0NMQVNTX0FWQUlM
QUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4KIC8qISBAYWJzdHJhY3QgQWRkcyBhIGNvbnRlbnQg
cnVsZSBsaXN0LgogIEBwYXJhbSBjb250ZW50UnVsZUxpc3QgVGhlIGNvbnRlbnQgcnVsZSBsaXN0
IHRvIGFkZC4KICAqLwotLSAodm9pZClhZGRDb250ZW50UnVsZUxpc3Q6KFdLQ29udGVudFJ1bGVM
aXN0ICopY29udGVudFJ1bGVMaXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClhZGRDb250ZW50UnVsZUxpc3Q6KFdLQ29udGVu
dFJ1bGVMaXN0ICopY29udGVudFJ1bGVMaXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKTsKIAogLyohIEBhYnN0cmFjdCBSZW1vdmVzIGEgY29udGVudCBydWxlIGxp
c3QuCiAgQHBhcmFtIGNvbnRlbnRSdWxlTGlzdCBUaGUgY29udGVudCBydWxlIGxpc3QgdG8gcmVt
b3ZlLgogICovCi0tICh2b2lkKXJlbW92ZUNvbnRlbnRSdWxlTGlzdDooV0tDb250ZW50UnVsZUxp
c3QgKiljb250ZW50UnVsZUxpc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CistICh2b2lkKXJlbW92ZUNvbnRlbnRSdWxlTGlzdDooV0tDb250
ZW50UnVsZUxpc3QgKiljb250ZW50UnVsZUxpc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOwogCiAvKiEgQGFic3RyYWN0IFJlbW92ZXMgYWxsIGFzc29jaWF0ZWQg
Y29udGVudCBydWxlIGxpc3RzLgogICovCi0tICh2b2lkKXJlbW92ZUFsbENvbnRlbnRSdWxlTGlz
dHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CistICh2b2lkKXJlbW92ZUFsbENvbnRlbnRSdWxlTGlzdHMgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBAZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgJKHJldmlzaW9uIDIyMTkyOSkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAkod29ya2luZyBjb3B5
KQpAQCAtMjI5LDkgKzIyOSw5IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBp
b3MoOC4KICBkZXZpY2Ugc2NhbGUuIFRoZSBjb21wbGV0aW9uSGFuZGxlciBpcyBwYXNzZWQgdGhl
IGltYWdlIG9mIHRoZSB2aWV3cG9ydCBjb250ZW50cyBvciBhbiBlcnJvci4KICAqLwogI2lmIFRB
UkdFVF9PU19JUEhPTkUKLS0gKHZvaWQpdGFrZVNuYXBzaG90V2l0aENvbmZpZ3VyYXRpb246KG51
bGxhYmxlIFdLU25hcHNob3RDb25maWd1cmF0aW9uICopc25hcHNob3RDb25maWd1cmF0aW9uIGNv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSUltYWdlICogX051bGxhYmxlIHNuYXBzaG90SW1h
Z2UsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpdGFrZVNuYXBzaG90V2l0aENvbmZp
Z3VyYXRpb246KG51bGxhYmxlIFdLU25hcHNob3RDb25maWd1cmF0aW9uICopc25hcHNob3RDb25m
aWd1cmF0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSUltYWdlICogX051bGxhYmxl
IHNuYXBzaG90SW1hZ2UsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpKWNvbXBsZXRpb25IYW5k
bGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKICNlbHNlCi0tICh2b2lkKXRha2VTbmFw
c2hvdFdpdGhDb25maWd1cmF0aW9uOihudWxsYWJsZSBXS1NuYXBzaG90Q29uZmlndXJhdGlvbiAq
KXNuYXBzaG90Q29uZmlndXJhdGlvbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNJbWFn
ZSAqIF9OdWxsYWJsZSBzbmFwc2hvdEltYWdlLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKSlj
b21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Cist
ICh2b2lkKXRha2VTbmFwc2hvdFdpdGhDb25maWd1cmF0aW9uOihudWxsYWJsZSBXS1NuYXBzaG90
Q29uZmlndXJhdGlvbiAqKXNuYXBzaG90Q29uZmlndXJhdGlvbiBjb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoTlNJbWFnZSAqIF9OdWxsYWJsZSBzbmFwc2hvdEltYWdlLCBOU0Vycm9yICogX051
bGxhYmxlIGVycm9yKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMykpOwogI2VuZGlmCiAKIC8qISBAYWJzdHJhY3QgQSBCb29sZWFuIHZhbHVlIGluZGljYXRp
bmcgd2hldGhlciBob3Jpem9udGFsIHN3aXBlIGdlc3R1cmVzCkBAIC0yODIsNyArMjgyLDcgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyg4LgogLyogQGFic3RyYWN0IENo
ZWNrcyB3aGV0aGVyIG9yIG5vdCBXS1dlYlZpZXdzIGhhbmRsZSB0aGUgZ2l2ZW4gVVJMIHNjaGVt
ZSBieSBkZWZhdWx0LgogIEBwYXJhbSBzY2hlbWUgVGhlIFVSTCBzY2hlbWUgdG8gY2hlY2suCiAg
Ki8KLSsgKEJPT0wpaGFuZGxlc1VSTFNjaGVtZTooTlNTdHJpbmcgKil1cmxTY2hlbWUgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisrIChCT09M
KWhhbmRsZXNVUkxTY2hlbWU6KE5TU3RyaW5nICopdXJsU2NoZW1lIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLmgJKHJldmlzaW9uIDIyMTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4OCwxMiAr
MTg4LDEyIEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4KICBBbiBl
eGNlcHRpb24gd2lsbCBiZSB0aHJvd24gaWYgeW91IHRyeSB0byByZWdpc3RlciBhIFVSTCBzY2hl
bWUgaGFuZGxlciBmb3IgYSBVUkwgc2NoZW1lIHRoYXQgV2ViS2l0IGhhbmRsZXMgaW50ZXJuYWxs
eS4KICBZb3UgY2FuIHVzZSArW1dLV2ViVmlldyBoYW5kbGVzVVJMU2NoZW1lOl0gdG8gY2hlY2sg
dGhlIGF2YWlsYWJpbGl0eSBvZiBhIGdpdmVuIFVSTCBzY2hlbWUuCiAgKi8KLS0gKHZvaWQpc2V0
VVJMU2NoZW1lSGFuZGxlcjoobnVsbGFibGUgaWQgPFdLVVJMU2NoZW1lSGFuZGxlcj4pdXJsU2No
ZW1lSGFuZGxlciBmb3JVUkxTY2hlbWU6KE5TU3RyaW5nICopdXJsU2NoZW1lIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClzZXRV
UkxTY2hlbWVIYW5kbGVyOihudWxsYWJsZSBpZCA8V0tVUkxTY2hlbWVIYW5kbGVyPil1cmxTY2hl
bWVIYW5kbGVyIGZvclVSTFNjaGVtZTooTlNTdHJpbmcgKil1cmxTY2hlbWUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiAvKiBAYWJzdHJhY3QgUmV0dXJucyB0
aGUgY3VycmVudGx5IHJlZ2lzdGVyZWQgVVJMIHNjaGVtZSBoYW5kbGVyIG9iamVjdCBmb3IgdGhl
IGdpdmVuIFVSTCBzY2hlbWUuCiAgQHBhcmFtIHNjaGVtZSBUaGUgVVJMIHNjaGVtZSB0byBsb29r
dXAuCiAgKi8KLS0gKG51bGxhYmxlIGlkIDxXS1VSTFNjaGVtZUhhbmRsZXI+KXVybFNjaGVtZUhh
bmRsZXJGb3JVUkxTY2hlbWU6KE5TU3RyaW5nICopdXJsU2NoZW1lIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAobnVsbGFibGUgaWQgPFdL
VVJMU2NoZW1lSGFuZGxlcj4pdXJsU2NoZW1lSGFuZGxlckZvclVSTFNjaGVtZTooTlNTdHJpbmcg
Kil1cmxTY2hlbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwog
CiBAZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCShyZXZpc2lv
biAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Q29uZmlndXJhdGlvblByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLRHJhZ0xpZnRECiAgICAgX1dLRHJhZ0xpZnRE
ZWxheVNob3J0ID0gMCwKICAgICBfV0tEcmFnTGlmdERlbGF5TWVkaXVtLAogICAgIF9XS0RyYWdM
aWZ0RGVsYXlMb25nCi19IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKK30gV0tf
QVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwogI2VuZGlmCiAKIEBjbGFzcyBXS1dlYlZpZXc7CkBA
IC03MSw4ICs3MSw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tEcmFnTGlmdEQK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eTopIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBXS19BUElfQVZB
SUxBQkxFKGlvcyg5XzApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOikgQk9PTCBfaW5saW5l
TWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgV0tfQVBJX0FWQUlMQUJM
RShpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbjopIEJPT0wgX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjApKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c0Jsb2NrU2VsZWN0aW9uOikgQk9P
TCBfYWxsb3dzQmxvY2tTZWxlY3Rpb24gV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkp
OwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RHJhZ0xpZnREZWxheTopIF9XS0Ry
YWdMaWZ0RGVsYXkgX2RyYWdMaWZ0RGVsYXkgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RC
QSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzQmxvY2tTZWxlY3Rp
b246KSBCT09MIF9hbGxvd3NCbG9ja1NlbGVjdGlvbiBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4w
KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXREcmFnTGlmdERlbGF5OikgX1dL
RHJhZ0xpZnREZWxheSBfZHJhZ0xpZnREZWxheSBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7
CiAjZWxzZQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvd3NVUkxzSW5Ub29s
VGlwczopIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VDb250cm9s
c0VuYWJsZWQ6KSBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyKSk7CkBAIC04NSw5ICs4NSw5IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRl
Z2VyLCBfV0tEcmFnTGlmdEQKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2s6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25G
b3JWaWRlb1BsYXliYWNrIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIm1lZGlh
VHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2siLCBtYWNvc3goMTAuMTIsIDEwLjEy
KSwgaW9zKDEwLjAsIDEwLjApKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
T3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k6KSBOU1N0cmluZyAqX292ZXJyaWRlQ29udGVu
dFNlY3VyaXR5UG9saWN5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAu
MykpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFDb250ZW50VHlwZXNS
ZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQ6KSBOU1N0cmluZyAqX21lZGlhQ29udGVudFR5cGVzUmVx
dWlyaW5nSGFyZHdhcmVTdXBwb3J0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TGVn
YWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOikgQk9PTCBfbGVnYWN5RW5jcnlwdGVkTWVkaWFB
UElFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dNZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydEFzRmFsbGJhY2s6KSBCT09MIF9hbGxvd01l
ZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0QXNGYWxsYmFjayBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdh
cmVTdXBwb3J0OikgTlNTdHJpbmcgKl9tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJl
U3VwcG9ydCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRMZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJs
ZWQ6KSBCT09MIF9sZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0QWxsb3dNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydEFzRmFs
bGJhY2s6KSBCT09MIF9hbGxvd01lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBw
b3J0QXNGYWxsYmFjayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7
CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NiwyNiArNDYsMjYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgX1dLTWVk
aWFDYQogICAgIF9XS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlQ2FtZXJhID0gMSA8PCAxLAogICAg
IF9XS01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWRNaWNyb3Bob25lID0gMSA8PCAyLAogICAgIF9XS01l
ZGlhQ2FwdHVyZVN0YXRlTXV0ZWRDYW1lcmEgPSAxIDw8IDMsCi19IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworfSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVn
ZXIsIF9XS01lZGlhTXV0ZWRTdGF0ZSkgewogICAgIF9XS01lZGlhTm9uZU11dGVkID0gMCwKICAg
ICBfV0tNZWRpYUF1ZGlvTXV0ZWQgPSAxIDw8IDAsCiAgICAgX1dLTWVkaWFDYXB0dXJlRGV2aWNl
c011dGVkID0gMSA8PCAxLAotfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3Mo
MTEuMCkpOwogCiB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLQ2FwdHVyZURldmlj
ZXMpIHsKICAgICBfV0tDYXB0dXJlRGV2aWNlTWljcm9waG9uZSA9IDEgPDwgMCwKICAgICBfV0tD
YXB0dXJlRGV2aWNlQ2FtZXJhID0gMSA8PCAxLAotfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMpLCBpb3MoMTEuMCkpOwogCi0jaWYgVEFSR0VUX09TX0lQSE9ORSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKKyNpZiBUQVJHRVRfT1NfSVBIT05FCiAK
IHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tEcmFnSW50ZXJhY3Rpb25Qb2xpY3kpIHsK
ICAgICBfV0tEcmFnSW50ZXJhY3Rpb25Qb2xpY3lEZWZhdWx0ID0gMCwKICAgICBfV0tEcmFnSW50
ZXJhY3Rpb25Qb2xpY3lBbHdheXNFbmFibGUsCiAgICAgX1dLRHJhZ0ludGVyYWN0aW9uUG9saWN5
QWx3YXlzRGlzYWJsZQotfSBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7Cit9IFdL
X0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKIAogI2VuZGlmCiAKQEAgLTEyMiw3ICsxMjIsNyBA
QCB0eXBlZGVmIE5TX09QVElPTlMoTlNJbnRlZ2VyLCBfV0tSZWN0RWRnCiAKIC0gKHZvaWQpX2xv
YWRBbHRlcm5hdGVIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBiYXNlVVJMOihOU1VSTCAq
KWJhc2VVUkwgZm9yVW5yZWFjaGFibGVVUkw6KE5TVVJMICopdW5yZWFjaGFibGVVUkw7CiAtIChX
S05hdmlnYXRpb24gKilfbG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5n
ICopTUlNRVR5cGUgY2hhcmFjdGVyRW5jb2RpbmdOYW1lOihOU1N0cmluZyAqKWNoYXJhY3RlckVu
Y29kaW5nTmFtZSBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgdXNlckRhdGE6KGlkKXVzZXJEYXRh
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKLS0gKFdLTmF2aWdh
dGlvbiAqKV9sb2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzOihCT09MKXNob3VsZE9wZW5FeHRlcm5hbFVSTHMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChXS05hdmlnYXRpb24gKilf
bG9hZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgc2hvdWxkT3BlbkV4dGVybmFsVVJM
czooQk9PTClzaG91bGRPcGVuRXh0ZXJuYWxVUkxzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzKSwgaW9zKDExLjApKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0Fy
cmF5ICpfY2VydGlmaWNhdGVDaGFpbiBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5U
KCJjZXJ0aWZpY2F0ZUNoYWluIiwgbWFjb3N4KDEwLjEwLCAxMC4xMSksIGlvcyg4LjAsIDkuMCkp
OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1VSTCAqX2NvbW1pdHRlZFVSTDsK
QEAgLTE1OSwxNSArMTU5LDE1IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIF9XS1Jl
Y3RFZGcKIAogLSAodm9pZClfY2xvc2U7CiAKLS0gKHZvaWQpX3VwZGF0ZVdlYnNpdGVQb2xpY2ll
czooX1dLV2Vic2l0ZVBvbGljaWVzICopd2Vic2l0ZVBvbGljaWVzIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfdXBkYXRlV2Vi
c2l0ZVBvbGljaWVzOihfV0tXZWJzaXRlUG9saWNpZXMgKil3ZWJzaXRlUG9saWNpZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCi0tICh2b2lkKV9ldmFsdWF0
ZUphdmFTY3JpcHRXaXRob3V0VXNlckdlc3R1cmU6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmlu
ZyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3IgKikpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CistICh2b2lkKV9ldmFsdWF0ZUphdmFTY3JpcHRXaXRob3V0VXNlckdlc3R1cmU6KE5TU3Ry
aW5nICopamF2YVNjcmlwdFN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5T
RXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMp
LCBpb3MoMTEuMCkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRMYXlvdXRN
b2RlOikgX1dLTGF5b3V0TW9kZSBfbGF5b3V0TW9kZTsKIC8vIEZvciB1c2Ugd2l0aCBfbGF5b3V0
TW9kZSA9IF9XS0xheW91dE1vZGVGaXhlZFNpemU6CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRGaXhlZExheW91dFNpemU6KSBDR1NpemUgX2ZpeGVkTGF5b3V0U2l6ZTsKIAotQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRV
bml0czopIENHU2l6ZSBfdmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cyBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldFZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHM6KSBD
R1NpemUgX3ZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRWaWV3U2NhbGU6KSBDR0Zsb2F0IF92aWV3U2NhbGU7CiAKQEAgLTE4MSwxMiArMTgxLDEy
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIF9XS1JlY3RFZGcKIC8vIERlZmluZSB0
aGUgaW5zZXQgb2YgdGhlIHNjcm9sbHZpZXcgdW51c2FibGUgYnkgdGhlIHdlYiBwYWdlLgogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0T2JzY3VyZWRJbnNldHM6KSBVSUVkZ2VJbnNl
dHMgX29ic2N1cmVkSW5zZXRzOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRV
bm9ic2N1cmVkU2FmZUFyZWFJbnNldHM6KSBVSUVkZ2VJbnNldHMgX3Vub2JzY3VyZWRTYWZlQXJl
YUluc2V0cyBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX3NhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNl
dHMgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0T2JzY3VyZWRJbnNldEVkZ2VzQWZmZWN0ZWRCeVNhZmVBcmVhOikgVUlS
ZWN0RWRnZSBfb2JzY3VyZWRJbnNldEVkZ2VzQWZmZWN0ZWRCeVNhZmVBcmVhIFdLX0FQSV9BVkFJ
TEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFVub2JzY3VyZWRTYWZlQXJlYUluc2V0czopIFVJRWRnZUluc2V0cyBfdW5vYnNjdXJlZFNhZmVB
cmVhSW5zZXRzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgQk9PTCBfc2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0cyBX
S19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRPYnNjdXJlZEluc2V0RWRnZXNBZmZlY3RlZEJ5U2FmZUFyZWE6KSBVSVJlY3RFZGdlIF9v
YnNjdXJlZEluc2V0RWRnZXNBZmZlY3RlZEJ5U2FmZUFyZWEgV0tfQVBJX0FWQUlMQUJMRShpb3Mo
MTEuMCkpOwogCiAvLyBBbiBhbmNlc3RvciB2aWV3IHdob3NlIGJvdW5kcyB3aWxsIGJlIGludGVy
c2VjdGVkIHdpdGggdGhvc2Ugb2YgdGhpcyBXS1dlYlZpZXcgdG8gZGV0ZXJtaW5lIHRoZSB2aXNp
YmxlIHJlZ2lvbiBvZiBjb250ZW50IHRvIHJlbmRlci4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgVUlWaWV3ICpfZW5jbG9zaW5nVmlld0ZvckV4cG9zZWRSZWN0Q29tcHV0YXRpb24g
V0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBVSVZpZXcgKl9lbmNsb3NpbmdWaWV3Rm9yRXhwb3NlZFJlY3RDb21wdXRhdGlv
biBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAKIC8vIE92ZXJyaWRlIHRoZSBpbnRlcmZh
Y2Ugb3JpZW50YXRpb24uIENsaWVudHMgdXNpbmcgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBk
YXRlczogbXVzdCB1cGRhdGUgdGhlIGludGVyZmFjZSBvcmllbnRhdGlvbgogLy8gaW4gdGhlIHVw
ZGF0ZSBibG9jay4KQEAgLTIwNCw5ICsyMDQsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJbnRl
Z2VyLCBfV0tSZWN0RWRnCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLV2Vi
Vmlld1ByaW50Rm9ybWF0dGVyICpfd2ViVmlld1ByaW50Rm9ybWF0dGVyOwogCi0jaWYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCi1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXREcmFnSW50ZXJhY3Rpb25Qb2xpY3k6KSBfV0tEcmFnSW50ZXJhY3Rpb25Q
b2xpY3kgX2RyYWdJbnRlcmFjdGlvblBvbGljeSBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1Nf
VEJBKSk7Ci0jZW5kaWYKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldERyYWdJbnRl
cmFjdGlvblBvbGljeTopIF9XS0RyYWdJbnRlcmFjdGlvblBvbGljeSBfZHJhZ0ludGVyYWN0aW9u
UG9saWN5IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKIAogLSAodm9pZClfYmVnaW5JbnRl
cmFjdGl2ZU9ic2N1cmVkSW5zZXRzQ2hhbmdlOwogLSAodm9pZClfZW5kSW50ZXJhY3RpdmVPYnNj
dXJlZEluc2V0c0NoYW5nZTsKQEAgLTIyNCw4ICsyMjIsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMo
TlNJbnRlZ2VyLCBfV0tSZWN0RWRnCiAKIC0gKHZvaWQpX292ZXJyaWRlTGF5b3V0UGFyYW1ldGVy
c1dpdGhNaW5pbXVtTGF5b3V0U2l6ZTooQ0dTaXplKW1pbmltdW1MYXlvdXRTaXplIG1heGltdW1V
bm9ic2N1cmVkU2l6ZU92ZXJyaWRlOihDR1NpemUpbWF4aW11bVVub2JzY3VyZWRTaXplT3ZlcnJp
ZGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoOV8wKSk7CiAKLS0gKHZvaWQpX2NsZWFyT3ZlcnJpZGVM
YXlvdXRQYXJhbWV0ZXJzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZv
aWQpX2NsZWFySW50ZXJmYWNlT3JpZW50YXRpb25PdmVycmlkZSBXS19BUElfQVZBSUxBQkxFKGlv
cyhXS19JT1NfVEJBKSk7CistICh2b2lkKV9jbGVhck92ZXJyaWRlTGF5b3V0UGFyYW1ldGVycyBX
S19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CistICh2b2lkKV9jbGVhckludGVyZmFjZU9yaWVu
dGF0aW9uT3ZlcnJpZGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwogCiAtIChVSVZpZXcg
Kilfdmlld0ZvckZpbmRVSTsKIApAQCAtMjQzLDggKzI0MSw4IEBAIHR5cGVkZWYgTlNfT1BUSU9O
UyhOU0ludGVnZXIsIF9XS1JlY3RFZGcKIC0gKGlkKV9zbmFwc2hvdExheWVyQ29udGVudHNGb3JC
YWNrRm9yd2FyZExpc3RJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDlfMCkpOwogLSAoTlNBcnJheSAqKV9kYXRhRGV0ZWN0aW9uUmVzdWx0czsK
IAotLSAodm9pZClfYWNjZXNzaWJpbGl0eVJldHJpZXZlU3BlYWtTZWxlY3Rpb25Db250ZW50IFdL
X0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX2FjY2Vzc2liaWxpdHlE
aWRHZXRTcGVha1NlbGVjdGlvbkNvbnRlbnQ6KE5TU3RyaW5nICopY29udGVudCBXS19BUElfQVZB
SUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CistICh2b2lkKV9hY2Nlc3NpYmlsaXR5UmV0cmlldmVT
cGVha1NlbGVjdGlvbkNvbnRlbnQgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOworLSAodm9p
ZClfYWNjZXNzaWJpbGl0eURpZEdldFNwZWFrU2VsZWN0aW9uQ29udGVudDooTlNTdHJpbmcgKilj
b250ZW50IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKIAogI2Vsc2UKIApAQCAtMjc5LDIy
ICsyNzcsMjIgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgX1dLUmVjdEVkZwogCiAv
LyBGSVhNRTogVGhpcyBTUEkgc2hvdWxkIGJlY29tZSBhIHBhcnQgb2YgdGhlIFdLVUlEZWxlZ2F0
ZS4gcmRhcjovL3Byb2JsZW0vMjY1NjE1MzcKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3Jp
dGUsIHNldHRlcj1fc2V0V2FudHNNZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3OikgQk9PTCBfd2Fu
dHNNZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEy
LjMpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgaWQgX21lZGlhUGxheWJhY2tD
b250cm9sc1ZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAodm9p
ZClfYWRkTWVkaWFQbGF5YmFja0NvbnRyb2xzVmlldzooaWQpbWVkaWFQbGF5YmFja0NvbnRyb2xz
VmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIGlkIF9tZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSk7CistICh2b2lkKV9hZGRNZWRpYVBsYXliYWNrQ29udHJv
bHNWaWV3OihpZCltZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzKSk7CiAtICh2b2lkKV9yZW1vdmVNZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpKTsKIAotLSAodm9pZClfcHJlcGFyZUZvck1v
dmVUb1dpbmRvdzooTlNXaW5kb3cgKil0YXJnZXRXaW5kb3cgY29tcGxldGlvbkhhbmRsZXI6KHZv
aWQoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOworLSAodm9pZClfcHJlcGFyZUZvck1vdmVUb1dpbmRvdzooTlNXaW5kb3cgKil0
YXJnZXRXaW5kb3cgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpKTsKIAogI2VuZGlmCiAKIC0gKFdL
TmF2aWdhdGlvbiAqKV9yZWxvYWRXaXRob3V0Q29udGVudEJsb2NrZXJzIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKLS0gKFdLTmF2aWdhdGlvbiAqKV9yZWxvYWRF
eHBpcmVkT25seSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKFdLTmF2aWdhdGlvbiAqKV9yZWxvYWRFeHBpcmVkT25seSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIC0gKHZvaWQpX2tpbGxXZWJDb250
ZW50UHJvY2Vzc0FuZFJlc2V0U3RhdGU7CiAKIC0gKHZvaWQpX2dldE1haW5SZXNvdXJjZURhdGFX
aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNvbXBs
ZXRpb25IYW5kbGVyOwogLSAodm9pZClfZ2V0V2ViQXJjaGl2ZURhdGFXaXRoQ29tcGxldGlvbkhh
bmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwot
LSAodm9pZClfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoTlNTdHJpbmcgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2dldENv
bnRlbnRzQXNTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICos
IE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRQYWdp
bmF0aW9uTW9kZTopIF9XS1BhZ2luYXRpb25Nb2RlIF9wYWdpbmF0aW9uTW9kZTsKIC8vIFdoZXRo
ZXIgdGhlIGNvbHVtbi1icmVhay17YmVmb3JlLGFmdGVyfSBwcm9wZXJ0aWVzIGFyZSByZXNwZWN0
ZWQgaW5zdGVhZCBvZiB0aGUKQEAgLTMzMCwxMyArMzI4LDEzIEBAIHR5cGVkZWYgTlNfT1BUSU9O
UyhOU0ludGVnZXIsIF9XS1JlY3RFZGcKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBCT09MIF93ZWJQcm9jZXNzSXNSZXNwb25zaXZlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSwgaW9zKDEwLjApKTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RnVs
bHNjcmVlbkRlbGVnYXRlOikgaWQ8X1dLRnVsbHNjcmVlbkRlbGVnYXRlPiBfZnVsbHNjcmVlbkRl
bGVnYXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldEZ1bGxzY3JlZW5EZWxlZ2F0ZTopIGlkPF9XS0Z1bGxzY3Jl
ZW5EZWxlZ2F0ZT4gX2Z1bGxzY3JlZW5EZWxlZ2F0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wg
X2lzSW5GdWxsc2NyZWVuIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpKTsKIAotLSAo
dm9pZClfbXV0ZU1lZGlhQ2FwdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3NldFBhZ2VNdXRlZDooX1dLTWVkaWFNdXRl
ZFN0YXRlKW11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CistICh2b2lkKV9tdXRlTWVkaWFDYXB0dXJlIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3NldFBhZ2VNdXRlZDooX1dL
TWVkaWFNdXRlZFN0YXRlKW11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMp
LCBpb3MoMTEuMCkpOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNZWRpYUNh
cHR1cmVFbmFibGVkOikgQk9PTCBfbWVkaWFDYXB0dXJlRW5hYmxlZCBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVF
bmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAogQGVu
ZAogCkBAIC0zNjAsNyArMzU4LDcgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgX1dL
UmVjdEVkZwogLSAodm9pZClkaXNtaXNzRm9ybUFjY2Vzc29yeVZpZXcgV0tfQVBJX0FWQUlMQUJM
RShpb3MoMTAuMykpOwogLSAodm9pZClzZWxlY3RGb3JtQWNjZXNzb3J5UGlja2VyUm93OihpbnQp
cm93SW5kZXggV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogCi0tICh2b2lkKWFwcGx5QXV0
b2NvcnJlY3Rpb246KE5TU3RyaW5nICopbmV3U3RyaW5nIHRvU3RyaW5nOihOU1N0cmluZyAqKW9s
ZFN0cmluZyB3aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClhcHBseUF1dG9j
b3JyZWN0aW9uOihOU1N0cmluZyAqKW5ld1N0cmluZyB0b1N0cmluZzooTlNTdHJpbmcgKilvbGRT
dHJpbmcgd2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSgpKWNvbXBsZXRpb25IYW5kbGVy
IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKIAogLSAodm9pZClkaWRTdGFydEZvcm1Db250
cm9sSW50ZXJhY3Rpb24gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogLSAodm9pZClkaWRF
bmRGb3JtQ29udHJvbEludGVyYWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMpKTsKQEAg
LTM3NywxMiArMzc1LDEyIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIF9XS1JlY3RF
ZGcKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX3N0YWJsZVN0
YXRlT3ZlcnJpZGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogCi0tIChOU0RpY3Rpb25h
cnkgKilfcHJvcGVydGllc09mTGF5ZXJXaXRoSUQ6KHVuc2lnbmVkIGxvbmcgbG9uZylsYXllcklE
IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKKy0gKE5TRGljdGlvbmFyeSAqKV9w
cm9wZXJ0aWVzT2ZMYXllcldpdGhJRDoodW5zaWduZWQgbG9uZyBsb25nKWxheWVySUQgV0tfQVBJ
X0FWQUlMQUJMRShpb3MoMTEuMCkpOwogLSAodm9pZClfc2ltdWxhdGVMb25nUHJlc3NBY3Rpb25B
dExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIENHUmVjdCBfZHJhZ0NhcmV0UmVjdCBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1Nf
VEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUmVjdCBfZHJhZ0NhcmV0
UmVjdCBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAKLS0gKHZvaWQpX3JlcXVlc3RBY3Rp
dmF0ZWRFbGVtZW50QXRQb3NpdGlvbjooQ0dQb2ludClwb3NpdGlvbiBjb21wbGV0aW9uQmxvY2s6
KHZvaWQgKF4pKF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopKWJsb2NrIFdLX0FQSV9BVkFJTEFC
TEUoaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50QXRQ
b3NpdGlvbjooQ0dQb2ludClwb3NpdGlvbiBjb21wbGV0aW9uQmxvY2s6KHZvaWQgKF4pKF9XS0Fj
dGl2YXRlZEVsZW1lbnRJbmZvICopKWJsb2NrIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsK
IC0gKHZvaWQpX2FjY2Vzc2liaWxpdHlSZXRyaWV2ZVJlY3RzQXRTZWxlY3Rpb25PZmZzZXQ6KE5T
SW50ZWdlcilvZmZzZXQgd2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dCBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoTlNBcnJheTxOU1ZhbHVlICo+ICpyZWN0cykpY29tcGxldGlvbkhhbmRsZXIg
V0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogCiAjZW5kaWYgLy8gVEFSR0VUX09T
X0lQSE9ORQpAQCAtMzk3LDcgKzM5NSw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIs
IF9XS1JlY3RFZGcKIC0gKHZvaWQpX2RpZFVwZGF0ZUNhbmRpZGF0ZUxpc3RWaXNpYmlsaXR5OihC
T09MKXZpc2libGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMykpOwogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9zaG91bGRSZXF1ZXN0Q2FuZGlkYXRlcyBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSk7CiAtICh2b2lkKV9pbnNlcnRUZXh0OihpZClz
dHJpbmcgcmVwbGFjZW1lbnRSYW5nZTooTlNSYW5nZSlyZXBsYWNlbWVudFJhbmdlIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpKTsKLS0gKE5TUmVjdClfY2FuZGlkYXRlUmVjdCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistIChOU1JlY3QpX2NhbmRpZGF0ZVJl
Y3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpKTsKIAogLSAodm9pZClfc2V0SGVhZGVy
QmFubmVySGVpZ2h0OihpbnQpaGVpZ2h0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMp
KTsKIC0gKHZvaWQpX3NldEZvb3RlckJhbm5lckhlaWdodDooaW50KWhlaWdodCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMi4zKSk7CkBAIC00MTEsNyArNDA5LDcgQEAgdHlwZWRlZiBOU19P
UFRJT05TKE5TSW50ZWdlciwgX1dLUmVjdEVkZwogCiAtICh2b2lkKV9kb0FmdGVyTmV4dFByZXNl
bnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50
YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOih2b2lkICheKSh2b2lkKSl1cGRh
dGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwLjMpKTsKLS0g
KHZvaWQpX2RvQWZ0ZXJOZXh0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlOih2b2lkICheKSh2b2lk
KSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKy0gKHZvaWQpX2RvQWZ0ZXJOZXh0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
Oih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSk7CiAKIC0gKHZvaWQpX2Rpc2FibGVCYWNrRm9yd2FyZFNuYXBzaG90Vm9s
YXRpbGl0eUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyksIGlvcygx
MC4zKSk7CiAtICh2b2lkKV9leGVjdXRlRWRpdENvbW1hbmQ6KE5TU3RyaW5nICopY29tbWFuZCBh
cmd1bWVudDooTlNTdHJpbmcgKilhcmd1bWVudCBjb21wbGV0aW9uOih2b2lkICheKShCT09MKSlj
b21wbGV0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFSZWNvcmRQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmRQcml2YXRlLmgJKHJldmlzaW9uIDIyMTky
OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVj
b3JkUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIFdLX0VYVEVSTiBO
U1N0cmluZyAqIGNvbnN0IF9XS1dlYnNpdGVEYXQKIFdLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0
IF9XS1dlYnNpdGVEYXRhVHlwZU1lZGlhS2V5cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MSksIGlvcyg5LjApKTsKIFdLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0IF9XS1dlYnNpdGVEYXRh
VHlwZVNlYXJjaEZpZWxkUmVjZW50U2VhcmNoZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTIpLCBpb3MoMTAuMCkpOwogV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgX1dLV2Vic2l0ZURh
dGFUeXBlUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MiksIGlvcygxMC4wKSk7Ci1XS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBfV0tXZWJzaXRlRGF0
YVR5cGVDcmVkZW50aWFscyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKK1dLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0IF9XS1dlYnNpdGVEYXRh
VHlwZUNyZWRlbnRpYWxzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjAp
KTsKIAogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9u
IDIyMTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNyBAQCBXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDkuCiAtICh2b2lkKXJlbW92ZURhdGFPZlR5cGVzOihO
U1NldDxOU1N0cmluZyAqPiAqKXdlYnNpdGVEYXRhVHlwZXMgbW9kaWZpZWRTaW5jZTooTlNEYXRl
ICopZGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXI7CiAKIC8qISBAYWJzdHJhY3QgUmV0dXJucyB0aGUgY29va2llIHN0b3JlIHJlcHJlc2VudGlu
ZyBIVFRQIGNvb2tpZXMgaW4gdGhpcyB3ZWJzaXRlIGRhdGEgc3RvcmUuICovCi1AcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIFdLSFRUUENvb2tpZVN0b3JlICpodHRwQ29va2llU3RvcmUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLSFRUUENvb2tpZVN0b3JlICpodHRwQ29v
a2llU3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBA
ZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAkocmV2aXNpb24gMjIxOTI5KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNDEgKzQwLDQxIEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXQKICsgKE5TU2V0PE5TU3RyaW5nICo+ICopX2FsbFdl
YnNpdGVEYXRhVHlwZXNJbmNsdWRpbmdQcml2YXRlOwogKyAoQk9PTClfZGVmYXVsdERhdGFTdG9y
ZUV4aXN0czsKIAotLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aENvbmZpZ3VyYXRpb246KF9XS1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbiBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKGluc3RhbmNldHlw
ZSlfaW5pdFdpdGhDb25maWd1cmF0aW9uOihfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
biAqKWNvbmZpZ3VyYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOwogCiAtICh2b2lkKV9mZXRjaERhdGFSZWNvcmRzT2ZUeXBlczooTlNTZXQ8TlNTdHJpbmcg
Kj4gKilkYXRhVHlwZXMgd2l0aE9wdGlvbnM6KF9XS1dlYnNpdGVEYXRhU3RvcmVGZXRjaE9wdGlv
bnMpb3B0aW9ucyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheTxXS1dlYnNpdGVE
YXRhUmVjb3JkICo+ICopKWNvbXBsZXRpb25IYW5kbGVyOwogCiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDopIEJPT0wgX3Jlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwg
aW9zKDEwLjApKTsKIAogLy8gUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBTUEkgZm9yIHRlc3Rpbmcu
Ci0tICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0TGFzdFNlZW46KGRvdWJsZSlzZWNv
bmRzIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXRJc1ByZXZhbGVudFJlc291cmNlOihCT09MKXZhbHVlIGZvckhvc3Q6KE5TU3RyaW5nICop
aG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NJc1ByZXZhbGVudFJlc291cmNlOihO
U1N0cmluZyAqKWhvc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldEhhZFVzZXJJbnRlcmFj
dGlvbjooQk9PTCl2YWx1ZSBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzSGFkVXNlckludGVyYWN0aW9uOihOU1N0cmluZyAqKWhvc3QgY29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1NldElzR3JhbmRmYXRoZXJlZDooQk9PTCl2YWx1ZSBmb3JIb3N0
OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzSXNHcmFuZGZh
dGhlcmVkOihOU1N0cmluZyAqKWhvc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wp
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbjooTlNTdHJpbmcgKil0b3BGcmFtZUhvc3ROYW1lIGZvckhv
c3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTZXRTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW46KE5TU3RyaW5nICopdG9wRnJhbWVIb3N0TmFtZSBm
b3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvOihOU1N0cmluZyAqKWhvc3ROYW1lUmVkaXJlY3Rl
ZFRvIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uOihkb3VibGUpc2Vjb25kcyBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTZXRUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZTooZG91
YmxlKXNlY29uZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7Ci0tICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0TWluaW11bVRpbWVC
ZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsOihkb3VibGUpc2Vjb25kcyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jlc291cmNl
TG9hZFN0YXRpc3RpY3NTZXRHcmFuZGZhdGhlcmluZ1RpbWU6KGRvdWJsZSlzZWNvbmRzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9p
ZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldE1heFN0YXRpc3RpY3NFbnRyaWVzOihzaXplX3Qp
ZW50cmllcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTZXRQcnVuZUVudHJpZXNEb3du
VG86KHNpemVfdCllbnRyaWVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1Byb2Nlc3NT
dGF0aXN0aWNzQW5kRGF0YVJlY29yZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzVXBk
YXRlQ29va2llUGFydGl0aW9uaW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFNo
b3VsZFBhcnRpdGlvbkNvb2tpZXM6KEJPT0wpdmFsdWUgZm9ySG9zdDooTlNTdHJpbmcgKilob3N0
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwot
LSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N1Ym1pdFRlbGVtZXRyeSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkOihCT09MKXZhbHVlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFNob3VsZENs
YXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsOihCT09MKXZhbHVlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9p
ZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0Nh
cHR1cmVkOihCT09MKXZhbHVlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFNob3Vs
ZFN1Ym1pdFRlbGVtZXRyeTooQk9PTCl2YWx1ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVNb2RpZmllZFNpbmNlSG91cnM6
KHVuc2lnbmVkKWhvdXJzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwotLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1Jlc2V0VG9Db25z
aXN0ZW50U3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7Ci0tICh2b2lkKV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxi
YWNrOihudWxsYWJsZSB2b2lkICheKShXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKikp
Y2FsbGJhY2s7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0TGFzdFNlZW46KGRv
dWJsZSlzZWNvbmRzIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U2V0SXNQcmV2YWxlbnRSZXNvdXJjZTooQk9PTCl2YWx1ZSBmb3JIb3N0OihOU1N0cmluZyAqKWhv
c3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClf
cmVzb3VyY2VMb2FkU3RhdGlzdGljc0lzUHJldmFsZW50UmVzb3VyY2U6KE5TU3RyaW5nICopaG9z
dCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClfcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1NldEhhZFVzZXJJbnRlcmFjdGlvbjooQk9PTCl2YWx1ZSBmb3JIb3N0
OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOworLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0hhZFVzZXJJbnRlcmFjdGlvbjoo
TlNTdHJpbmcgKilob3N0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MKSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7Cist
ICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0SXNHcmFuZGZhdGhlcmVkOihCT09MKXZh
bHVlIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzSXNHcmFuZGZh
dGhlcmVkOihOU1N0cmluZyAqKWhvc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wp
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDEx
LjApKTsKKy0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTZXRTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW46KE5TU3RyaW5nICopdG9wRnJhbWVIb3N0TmFtZSBmb3JIb3N0OihOU1N0cmlu
ZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAo
dm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbjooTlNTdHJpbmcgKil0b3BGcmFtZUhvc3ROYW1lIGZvckhvc3Q6KE5TU3RyaW5nICopaG9z
dCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvOihOU1N0
cmluZyAqKWhvc3ROYW1lUmVkaXJlY3RlZFRvIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbjooZG91YmxlKXNlY29u
ZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClf
cmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFRpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlOihk
b3VibGUpc2Vjb25kcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7
CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0TWluaW11bVRpbWVCZXR3ZWVuRGF0
YVJlY29yZHNSZW1vdmFsOihkb3VibGUpc2Vjb25kcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0R3Jh
bmRmYXRoZXJpbmdUaW1lOihkb3VibGUpc2Vjb25kcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0TWF4
U3RhdGlzdGljc0VudHJpZXM6KHNpemVfdCllbnRyaWVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTZXRQ
cnVuZUVudHJpZXNEb3duVG86KHNpemVfdCllbnRyaWVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NQcm9j
ZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NVcGRhdGVDb29r
aWVQYXJ0aXRpb25pbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkp
OworLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlvbkNvb2tp
ZXM6KEJPT0wpdmFsdWUgZm9ySG9zdDooTlNTdHJpbmcgKilob3N0IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdWJtaXRUZWxlbWV0cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOworLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldE5vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQ6KEJPT0wpdmFsdWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldFNo
b3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsOihCT09MKXZhbHVl
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJl
ZDooQk9PTCl2YWx1ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7
CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2V0U2hvdWxkU3VibWl0VGVsZW1ldHJ5
OihCT09MKXZhbHVlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
Ky0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVu
dFN0b3JlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZv
aWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3Jl
TW9kaWZpZWRTaW5jZUhvdXJzOih1bnNpZ25lZClob3VycyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygx
MS4wKSk7CistICh2b2lkKV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNr
OihudWxsYWJsZSB2b2lkICheKShXS1dlYnNpdGVEYXRhU3RvcmUgKiwgTlNTdHJpbmcgKikpY2Fs
bGJhY2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBAZW5k
CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1
cmVzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oCShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEwIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lO
CiAKIEBpbnRlcmZhY2UgV0tXaW5kb3dGZWF0dXJlcyAoV0tQcml2YXRlKQogCi1AcHJvcGVydHkg
KG51bGxhYmxlLCBub25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX2xvY2F0aW9uQmFyVmlz
aWJpbGl0eSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKLUBwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVy
ICpfc2Nyb2xsYmFyc1Zpc2liaWxpdHkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIHJl
YWRvbmx5KSBOU051bWJlciAqX2Z1bGxzY3JlZW5EaXNwbGF5IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChudWxsYWJsZSwg
bm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9kaWFsb2dEaXNwbGF5IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChu
dWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9sb2NhdGlvbkJhclZpc2li
aWxpdHkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworQHByb3Bl
cnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9zY3JvbGxiYXJz
VmlzaWJpbGl0eSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CitA
cHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX2Z1bGxz
Y3JlZW5EaXNwbGF5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
K0Bwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVyICpfZGlh
bG9nRGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAK
IEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmgJKHJldmlzaW9uIDIyMTkyOSkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRFbGVtZW50SW5m
by5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIFdLX0NMQVNTX0FWQUlMQUJMRSht
YWNvc3goMTAuMTApLCBpb3MoOC4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dS
ZWN0IGJvdW5kaW5nUmVjdDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJp
bmcgKklEIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKICNpZiBU
QVJHRVRfT1NfSVBIT05FCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TRGljdGlv
bmFyeSAqdXNlckluZm8gV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0RpY3Rpb25hcnkgKnVzZXJJbmZvIFdLX0FQSV9B
VkFJTEFCTEUoaW9zKDExLjApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29w
eSkgVUlJbWFnZSAqaW1hZ2U7CiAjZWxzZQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBjb3B5KSBOU0ltYWdlICppbWFnZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdh
dGUuaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgs
MTIgKzM4LDEyIEBACiAKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uRGlkRGlzY29ubmVjdEZy
b21SZW1vdGU6KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb247CiAKLS0g
KFdLV2ViVmlldyAqKV9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXZWJWaWV3OihfV0tB
dXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAoQk9PTClfYXV0b21hdGlvblNl
c3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gaXNTaG93aW5n
SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9h
dXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lv
biBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwotLSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOwotLSAoTlNTdHJpbmcgKilfYXV0b21hdGlvblNlc3Npb246KF9X
S0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gbWVzc2FnZU9mQ3VycmVudEph
dmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfYXV0
b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24g
c2V0VXNlcklucHV0OihOU1N0cmluZyAqKXZhbHVlIGZvckN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
Rm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKFdLV2ViVmlldyAqKV9hdXRvbWF0aW9u
U2Vzc2lvbkRpZFJlcXVlc3ROZXdXZWJWaWV3OihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9t
YXRpb25TZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
Ky0gKEJPT0wpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9t
YXRpb25TZXNzaW9uIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
Ky0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9t
YXRpb25TZXNzaW9uIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOworLSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKTsKKy0gKE5TU3RyaW5nICopX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9u
U2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIG1lc3NhZ2VPZkN1cnJlbnRKYXZhU2NyaXB0RGlh
bG9nRm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0
b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBzZXRVc2VySW5wdXQ6KE5TU3RyaW5n
ICopdmFsdWUgZm9yQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAog
Ly8gRklYTUU6IE9iamVjdGl2ZS1DIGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkbid0IHVzZSBDIEFQ
SSB0eXBlcyBsaWtlIFdLUGFnZVJlZi4gV2UgbmVlZCB0bwogLy8gbWlncmF0ZSBjbGllbnRzIHRv
IHVzZSBXS1dlYlZpZXcsIG9yIGV4cG9zZSB0aGUgc2FtZSBiZWhhdmlvciB2aWEgYSBDIFNQSSBm
b3IgdGhvc2UgY2xpZW50cy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAko
cmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEs
NyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tEaWFnbm9zdGljCiAtICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlOihOU1N0cmlu
ZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246KE5TU3RyaW5nICopZGVzY3JpcHRpb247CiAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJl
c3VsdDooTlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0
aW9uIHJlc3VsdDooX1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKXJlc3VsdDsKIC0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWU6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilkZXNjcmlw
dGlvbiB2YWx1ZTooTlNTdHJpbmcgKikgdmFsdWU7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTooTlNT
dHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhF
bmhhbmNlZFByaXZhY3k6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcg
KilkZXNjcmlwdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7
CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Z1
bGxzY3JlZW5EZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tGdWxsc2NyZWVuRGVsZWdhdGUuaAkocmV2aXNpb24gMjIxOTI5KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAog
CitXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMykpCiBAcHJvdG9jb2wgX1dLRnVsbHNjcmVl
bkRlbGVnYXRlIDxOU09iamVjdD4KIAogQG9wdGlvbmFsCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2Nh
dGlvbkNvcmVMb2NhdGlvblByb3ZpZGVyLmgJKHJldmlzaW9uIDIyMTkyOSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2NhdGlvbkNvcmVMb2NhdGlvblByb3Zp
ZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgTlNfQVNTVU1FX05PTk5VTExf
QkVHSU4KIAogQGNsYXNzIF9XS0dlb2xvY2F0aW9uUG9zaXRpb247CiAKLVdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSkKIEBwcm90b2NvbCBfV0tHZW9sb2NhdGlvbkNvcmVM
b2NhdGlvbkxpc3RlbmVyIDxOU09iamVjdD4KIC0gKHZvaWQpZ2VvbG9jYXRpb25BdXRob3JpemF0
aW9uR3JhbnRlZDsKIC0gKHZvaWQpZ2VvbG9jYXRpb25BdXRob3JpemF0aW9uRGVuaWVkOwpAQCAt
NDIsNyArNDIsNyBAQCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zCiAt
ICh2b2lkKXJlc2V0R2VvbG9jYXRpb247CiBAZW5kCiAKLVdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSkKIEBwcm90b2NvbCBfV0tHZW9sb2NhdGlvbkNvcmVMb2NhdGlvblBy
b3ZpZGVyIDxOU09iamVjdD4KIC0gKHZvaWQpc2V0TGlzdGVuZXI6KGlkIDxfV0tHZW9sb2NhdGlv
bkNvcmVMb2NhdGlvbkxpc3RlbmVyPilsaXN0ZW5lcjsKIC0gKHZvaWQpcmVxdWVzdEdlb2xvY2F0
aW9uQXV0aG9yaXphdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24uaAkocmV2aXNpb24gMjIx
OTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9u
UG9zaXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogCiBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogCi1XS19DTEFTU19BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKQorV0tf
Q0xBU1NfQVZBSUxBQkxFKGlvcygxMS4wKSkKIEBpbnRlcmZhY2UgX1dLR2VvbG9jYXRpb25Qb3Np
dGlvbiA6IE5TT2JqZWN0CiAKICsgKGluc3RhbmNldHlwZSlwb3NpdGlvbldpdGhMb2NhdGlvbjoo
Q0xMb2NhdGlvbiAqKWxvY2F0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0xpbmtJY29uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tMaW5rSWNvblBhcmFtZXRlcnMuaAkocmV2aXNpb24g
MjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0xpbmtJY29u
UGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5ICszMyw5IEBAIHR5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIFdLTGlua0ljb25UeXAKICAgICBXS0xpbmtJY29uVHlwZUZhdmljb24s
CiAgICAgV0tMaW5rSWNvblR5cGVUb3VjaEljb24sCiAgICAgV0tMaW5rSWNvblR5cGVUb3VjaFBy
ZWNvbXBvc2VkSWNvbiwKLX07Cit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBp
b3MoMTAuMykpOwogCi1XS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAu
MykpCiBAaW50ZXJmYWNlIF9XS0xpbmtJY29uUGFyYW1ldGVycyA6IE5TT2JqZWN0CiAKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNVUkwgKnVybDsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIyMTkyOSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEw
LjEwKSwgaW9zKDguCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlnbm9yZVN5bmNocm9u
b3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSwgaW9zKDEwLjApKTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8
TlNVUkwgKj4gKmFkZGl0aW9uYWxSZWFkQWNjZXNzQWxsb3dlZFVSTHMgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNBcnJheTxOU1VSTCAqPiAqYWRkaXRpb25hbFJlYWRBY2Nlc3NBbGxvd2Vk
VVJMcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIC8vIE5l
dHdvcmsgUHJvY2VzcyBwcm9wZXJ0aWVzCiAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIGJlIHBl
ci1zZXNzaW9uL2RhdGEgc3RvcmUgd2hlbiB3ZSBzdXBwb3J0IG11bHRpcGxlIG5vbi1wZXJzaXN0
ZW50IHNlc3Npb25zL2RhdGEgc3RvcmVzLgpAQCAtNDksMTQgKzQ5LDE0IEBAIFdLX0NMQVNTX0FW
QUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoOC4KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IGRpc2tDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxl
LCBjb3B5KSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwogQHByb3BlcnR5IChub25h
dG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykp
OwotQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBzaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGFsbG93c0NlbGx1bGFyQWNjZXNzIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNo
b3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKTsKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21p
YywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICpDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUg
V0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMp
KTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNob3VsZFRha2VVSUJhY2tncm91bmRBc3Nl
cnRpb24gV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25h
dG9taWMpIEJPT0wgc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbiBXS19BUElfQVZBSUxB
QkxFKGlvcygxMS4wKSk7CiAjZW5kaWYKLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBwaWRfdCBwcmVz
ZW50aW5nQXBwbGljYXRpb25QSUQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYykgcGlkX3QgcHJlc2VudGlu
Z0FwcGxpY2F0aW9uUElEIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjAp
KTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVBy
aXZhdGUuaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDcgKzM1LDcgQEAKIC0gKHZvaWQpX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25z
OwogLSAodm9pZClfaW52YWxpZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9uRm9ySWRlbnRpZmll
cjooTlNTdHJpbmcgKilpZGVudGlmaWVyOwogCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxl
TGlzdFN0b3JlOihXS0NvbnRlbnRSdWxlTGlzdFN0b3JlKiljb250ZW50UnVsZUxpc3RTdG9yZSBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0g
KGlkKV9pbml0V2l0aFdLQ29udGVudFJ1bGVMaXN0U3RvcmU6KFdLQ29udGVudFJ1bGVMaXN0U3Rv
cmUqKWNvbnRlbnRSdWxlTGlzdFN0b3JlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwg
aW9zKDExLjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5o
CShyZXZpc2lvbiAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKIAogQGludGVyZmFjZSBfV0tVc2VyQ29udGVudEZpbHRlciAoV0tQcml2YXRlKQogCi0t
IChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDooV0tDb250ZW50UnVsZUxpc3QqKWNvbnRl
bnRSdWxlTGlzdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKGlkKV9pbml0V2l0aFdLQ29udGVudFJ1bGVMaXN0OihXS0NvbnRlbnRSdWxl
TGlzdCopY29udGVudFJ1bGVMaXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uaAkocmV2aXNpb24gMjIxOTI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDE0ICszMSwxNCBAQAogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCi1XS19DTEFT
U19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19DTEFT
U19BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKQogQGludGVyZmFjZSBfV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiA6IE5TT2JqZWN0CiAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5LCBzZXR0ZXI9X3NldFdlYlN0b3JhZ2VEaXJlY3Rvcnk6KSBOU1VSTCAqX3dlYlN0
b3JhZ2VEaXJlY3Rvcnk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRJ
bmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTopIE5TVVJMICpfaW5kZXhlZERCRGF0YWJhc2VEaXJl
Y3Rvcnk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRXZWJTUUxEYXRh
YmFzZURpcmVjdG9yeTopIE5TVVJMICpfd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRDb29raWVTdG9yYWdlRmlsZTopIE5TVVJM
ICpfY29va2llU3RvcmFnZUZpbGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVy
PV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5OikgTlNVUkwgKl9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGlyZWN0b3J5OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHNldHRl
cj1fc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeTopIE5TVVJMICpfcmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RpcmVjdG9yeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCShyZXZpc2lv
biAyMjE5MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0
ZVBvbGljaWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDE5ICszMiwxOSBAQCB0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBfV0tXZWJzaXRlQXV0CiAgICAgX1dLV2Vic2l0ZUF1dG9wbGF5UG9s
aWN5QWxsb3csCiAgICAgX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5QWxsb3dXaXRob3V0U291bmQs
CiAgICAgX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5RGVueQotfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdl
ciwgX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmspIHsKICAgICBfV0tXZWJzaXRlQXV0b3BsYXlRdWly
a1N5bnRoZXNpemVkUGF1c2VFdmVudHMgPSAxIDw8IDAsCiAgICAgX1dLV2Vic2l0ZUF1dG9wbGF5
UXVpcmtJbmhlcml0ZWRVc2VyR2VzdHVyZXMgPSAxIDw8IDEsCi19IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworfSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIuMyksIGlvcygxMC4zKSkKIEBpbnRlcmZhY2UgX1dLV2Vic2l0ZVBvbGljaWVzIDogTlNP
YmplY3QKIAogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgY29udGVudEJsb2NrZXJzRW5hYmxl
ZDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBfV0tXZWJzaXRlQXV0b3BsYXlRdWlyayBhbGxvd2Vk
QXV0b3BsYXlRdWlya3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYykgX1dLV2Vic2l0ZUF1dG9wbGF5UG9s
aWN5IGF1dG9wbGF5UG9saWN5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVBdXRvcGxh
eVF1aXJrIGFsbG93ZWRBdXRvcGxheVF1aXJrcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYykgX1dLV2Vic2l0ZUF1dG9wbGF5
UG9saWN5IGF1dG9wbGF5UG9saWN5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9z
KDExLjApKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmgJKHJldmlzaW9uIDIyMTky
OSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDE1ICs1MiwxNSBAQCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwCiAK
IC0gKEJPT0wpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgc2hvdWxk
SW5zZXJ0VGV4dDooTlNTdHJpbmcgKil0ZXh0IHJlcGxhY2luZ1JhbmdlOihXS1dlYlByb2Nlc3NQ
bHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2VydEFjdGlv
bilhY3Rpb247CiAjaWYgVEFSR0VUX09TX0lQSE9ORQotLSAoQk9PTClfd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlOihXS0RP
TVJhbmdlICopY3VycmVudFJhbmdlIHRvUmFuZ2U6KFdLRE9NUmFuZ2UgKilwcm9wb3NlZFJhbmdl
IGFmZmluaXR5OihVSVRleHRTdG9yYWdlRGlyZWN0aW9uKXNlbGVjdGlvbkFmZmluaXR5IHN0aWxs
U2VsZWN0aW5nOihCT09MKXN0aWxsU2VsZWN0aW5nIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lP
U19UQkEpKTsKKy0gKEJPT0wpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xs
ZXIgc2hvdWxkQ2hhbmdlU2VsZWN0ZWRSYW5nZTooV0tET01SYW5nZSAqKWN1cnJlbnRSYW5nZSB0
b1JhbmdlOihXS0RPTVJhbmdlICopcHJvcG9zZWRSYW5nZSBhZmZpbml0eTooVUlUZXh0U3RvcmFn
ZURpcmVjdGlvbilzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNlbGVjdGluZzooQk9PTClzdGlsbFNl
bGVjdGluZyBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAjZWxzZQotLSAoQk9PTClfd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91bGRDaGFuZ2VTZWxlY3Rl
ZFJhbmdlOihXS0RPTVJhbmdlICopY3VycmVudFJhbmdlIHRvUmFuZ2U6KFdLRE9NUmFuZ2UgKilw
cm9wb3NlZFJhbmdlIGFmZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KXNlbGVjdGlvbkFmZmlu
aXR5IHN0aWxsU2VsZWN0aW5nOihCT09MKXN0aWxsU2VsZWN0aW5nIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKEJPT0wpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ciAqKWNvbnRyb2xsZXIgc2hvdWxkQ2hhbmdlU2VsZWN0ZWRSYW5nZTooV0tET01SYW5nZSAqKWN1
cnJlbnRSYW5nZSB0b1JhbmdlOihXS0RPTVJhbmdlICopcHJvcG9zZWRSYW5nZSBhZmZpbml0eToo
TlNTZWxlY3Rpb25BZmZpbml0eSlzZWxlY3Rpb25BZmZpbml0eSBzdGlsbFNlbGVjdGluZzooQk9P
TClzdGlsbFNlbGVjdGluZyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMykpOwogI2VuZGlm
CiAtICh2b2lkKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyRGlkQ2hh
bmdlQnlFZGl0aW5nOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIg
Kiljb250cm9sbGVyOwogLSAodm9pZClfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29u
dHJvbGxlciB3aWxsV3JpdGVSYW5nZVRvUGFzdGVib2FyZDooV0tXZWJQcm9jZXNzUGx1Z0luUmFu
Z2VIYW5kbGUgKilyYW5nZTsKIC0gKE5TRGljdGlvbmFyeTxOU1N0cmluZyAqLCBOU0RhdGEgKj4g
Kilfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBwYXN0ZWJvYXJkRGF0
YUZvclJhbmdlOihXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlOwogLSAodm9p
ZClfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlckRpZFdyaXRlVG9QYXN0
ZWJvYXJkOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKiljb250
cm9sbGVyOwotLSAoQk9PTClfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxl
ciBwZXJmb3JtVHdvU3RlcERyb3A6KFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKilmcmFn
bWVudCBhdERlc3RpbmF0aW9uOihXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKWRlc3Rp
bmF0aW9uIGlzTW92ZTooQk9PTClpc01vdmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChCT09MKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIgKiljb250cm9sbGVyIHBlcmZvcm1Ud29TdGVwRHJvcDooV0tXZWJQcm9jZXNzUGx1Z0lu
Tm9kZUhhbmRsZSAqKWZyYWdtZW50IGF0RGVzdGluYXRpb246KFdLV2ViUHJvY2Vzc1BsdWdJblJh
bmdlSGFuZGxlICopZGVzdGluYXRpb24gaXNNb3ZlOihCT09MKWlzTW92ZSBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5Ob2RlSGFuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLmgJKHJl
dmlzaW9uIDIyMTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NCwxMSArNDQsMTEgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlv
cyg4LgogLSAoV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilodG1sSUZyYW1lRWxlbWVudENvbnRl
bnRGcmFtZTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKLS0gKFVJSW1hZ2UgKilyZW5kZXJlZElt
YWdlV2l0aE9wdGlvbnM6KFdLU25hcHNob3RPcHRpb25zKW9wdGlvbnMgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTEpLCBpb3MoOS4wKSk7Ci0tIChVSUltYWdlICopcmVuZGVyZWRJbWFnZVdp
dGhPcHRpb25zOihXS1NuYXBzaG90T3B0aW9ucylvcHRpb25zIHdpZHRoOihOU051bWJlciAqKXdp
ZHRoIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OworLSAoVUlJbWFnZSAqKXJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9uczooV0tTbmFwc2hvdE9wdGlv
bnMpb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKGlvcyg5LjApKTsKKy0gKFVJSW1hZ2UgKilyZW5k
ZXJlZEltYWdlV2l0aE9wdGlvbnM6KFdLU25hcHNob3RPcHRpb25zKW9wdGlvbnMgd2lkdGg6KE5T
TnVtYmVyICopd2lkdGggV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwogI2Vsc2UKLS0gKE5T
SW1hZ2UgKilyZW5kZXJlZEltYWdlV2l0aE9wdGlvbnM6KFdLU25hcHNob3RPcHRpb25zKW9wdGlv
bnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOS4wKSk7Ci0tIChOU0ltYWdl
ICopcmVuZGVyZWRJbWFnZVdpdGhPcHRpb25zOihXS1NuYXBzaG90T3B0aW9ucylvcHRpb25zIHdp
ZHRoOihOU051bWJlciAqKXdpZHRoIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOworLSAoTlNJbWFnZSAqKXJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9u
czooV0tTbmFwc2hvdE9wdGlvbnMpb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MSkpOworLSAoTlNJbWFnZSAqKXJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9uczooV0tTbmFwc2hvdE9w
dGlvbnMpb3B0aW9ucyB3aWR0aDooTlNOdW1iZXIgKil3aWR0aCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMykpOwogI2VuZGlmCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
Q0dSZWN0IGVsZW1lbnRCb3VuZHM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9D
b2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5oCShyZXZpc2lvbiAyMjE5MjkpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEwICszOSwx
MCBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoCiArIChXS1dlYlBy
b2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlSGFuZGxlV2l0aEpTVmFsdWU6KEpTVmFsdWUg
Kil2YWx1ZSBpbkNvbnRleHQ6KEpTQ29udGV4dCAqKWNvbnRleHQ7CiAKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKmZyYW1lOwotQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdGV4dCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnRleHQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQotLSAo
TlNBcnJheSAqKWRldGVjdERhdGFXaXRoVHlwZXM6KFdLRGF0YURldGVjdG9yVHlwZXMpdHlwZXMg
Y29udGV4dDooTlNEaWN0aW9uYXJ5ICopY29udGV4dCBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19J
T1NfVEJBKSk7CistIChOU0FycmF5ICopZGV0ZWN0RGF0YVdpdGhUeXBlczooV0tEYXRhRGV0ZWN0
b3JUeXBlcyl0eXBlcyBjb250ZXh0OihOU0RpY3Rpb25hcnkgKiljb250ZXh0IFdLX0FQSV9BVkFJ
TEFCTEUoaW9zKDExLjApKTsKICNlbmRpZgogCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdl
SGFuZGxlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0JKHJldmlz
aW9uIDIyMTkyOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTcxLDcgKzcxLDcgQEAgLSAoTlNTdHJpbmcgKil0ZXh0CiB9CiAKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCi0tIChOU0FycmF5ICopZGV0ZWN0RGF0YVdpdGhUeXBlczooV0tEYXRhRGV0ZWN0b3JU
eXBlcyl0eXBlcyBjb250ZXh0OihOU0RpY3Rpb25hcnkgKiljb250ZXh0IFdLX0FQSV9BVkFJTEFC
TEUoaW9zKFdLX0lPU19UQkEpKQorLSAoTlNBcnJheSAqKWRldGVjdERhdGFXaXRoVHlwZXM6KFdL
RGF0YURldGVjdG9yVHlwZXMpdHlwZXMgY29udGV4dDooTlNEaWN0aW9uYXJ5ICopY29udGV4dAog
ewogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+
IGNvcmVSYW5nZSA9ICZfcmFuZ2VIYW5kbGUtPmNvcmVSYW5nZSgpOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaAkocmV2aXNpb24gMjIxOTI5KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Myw3ICs0Myw3IEBAIEBpbnRlcmZhY2UgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnQKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkgKl9yZW1vdGVPYmplY3RSZWdpc3RyeTsKIAogQHByb3BlcnR5ICh3ZWFrLCBzZXR0ZXI9X3Nl
dEZvcm1EZWxlZ2F0ZTopIGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5Gb3JtRGVsZWdhdGVQcml2YXRl
PiBfZm9ybURlbGVnYXRlOwotQHByb3BlcnR5ICh3ZWFrLCBzZXR0ZXI9X3NldEVkaXRpbmdEZWxl
Z2F0ZTopIGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGU+IF9lZGl0aW5nRGVs
ZWdhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CitAcHJvcGVydHkgKHdlYWssIHNldHRlcj1fc2V0RWRpdGluZ0RlbGVnYXRlOikgaWQgPFdL
V2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4gX2VkaXRpbmdEZWxlZ2F0ZSBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwLjMpKTsKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0RGVmZXJzTG9hZGluZzopIEJPT0wgX2RlZmVyc0xvYWRpbmc7CiAK
</data>
<flag name="review"
          id="340660"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>