<?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>113973</bug_id>
          
          <creation_ts>2013-04-04 16:01:03 -0700</creation_ts>
          <short_desc>Prune unneeded header #includes</short_desc>
          <delta_ts>2013-04-04 17:06:31 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>rego+ews</cc>
    
    <cc>schenney</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>869424</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-04 16:01:03 -0700</bug_when>
    <thetext>Prune unneeded header #includes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869428</commentid>
    <comment_count>1</comment_count>
      <attachid>196549</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-04 16:07:59 -0700</bug_when>
    <thetext>Created attachment 196549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869430</commentid>
    <comment_count>2</comment_count>
      <attachid>196549</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-04 16:10:58 -0700</bug_when>
    <thetext>Comment on attachment 196549
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869438</commentid>
    <comment_count>3</comment_count>
      <attachid>196549</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-04 16:21:05 -0700</bug_when>
    <thetext>Comment on attachment 196549
Patch

Attachment 196549 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17493210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869441</commentid>
    <comment_count>4</comment_count>
      <attachid>196552</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-04 16:22:16 -0700</bug_when>
    <thetext>Created attachment 196552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869442</commentid>
    <comment_count>5</comment_count>
      <attachid>196549</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-04 16:22:19 -0700</bug_when>
    <thetext>Comment on attachment 196549
Patch

Attachment 196549 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17478247</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869458</commentid>
    <comment_count>6</comment_count>
      <attachid>196552</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-04 16:52:20 -0700</bug_when>
    <thetext>Comment on attachment 196552
Patch

Attachment 196552 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17518226</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869465</commentid>
    <comment_count>7</comment_count>
      <attachid>196552</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-04 16:59:37 -0700</bug_when>
    <thetext>Comment on attachment 196552
Patch

r=me if you fix the GTK build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869467</commentid>
    <comment_count>8</comment_count>
      <attachid>196552</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-04 17:01:00 -0700</bug_when>
    <thetext>Comment on attachment 196552
Patch

Attachment 196552 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17502210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869470</commentid>
    <comment_count>9</comment_count>
      <attachid>196552</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-04 17:05:55 -0700</bug_when>
    <thetext>Comment on attachment 196552
Patch

Attachment 196552 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17502219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869471</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-04 17:06:31 -0700</bug_when>
    <thetext>Committed r147684: &lt;http://trac.webkit.org/changeset/147684&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196549</attachid>
            <date>2013-04-04 16:07:59 -0700</date>
            <delta_ts>2013-04-04 16:22:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113973-20130404160748.patch</filename>
            <type>text/plain</type>
            <size>53129</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkxYWI5YmFlMTlkMzQ1
NzlmMjc3NGJiYTYwZjFhODAzZDg3YWM0Zi4uMDJjMmEwYWE5NjdiZWQ0ODI1OGY2YzkwM2RiOWM3
YTY5YzY1Y2M2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEzLTA0LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJ1bmUgdW5uZWVk
ZWQgaGVhZGVyICNpbmNsdWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEzOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVkdWNlIHRoZSBhbW91bnQgb2YgaGVhZGVycyBpbmNsdWRlZCBieSBvdGhl
ciBoZWFkZXJzIGJ5OgorICAgICAgICAtIE1vdmluZyBpbXBsaWNpdCBhbmQgZXhwbGljaXQgY29u
c3RydWN0b3JzIGFuZCBkZXN0cnVjdG9ycyBpbnRvIC5jcHAgZmlsZXMgc28gbWVtYmVyIHZhcmlh
YmxlIGNvbnN0cnVjdG9ycy9kZXN0cnVjdG9ycworICAgICAgICAgIGRvbid0IGhhdmUgdG8gYmUg
ZGVjbGFyZWQuCisgICAgICAgIC0gTW92ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCBzdWJjbGFzc2Vz
IG91dCBpbnRvIHNlcGFyYXRlIGhlYWRlcnMgc28gdGhhdCB0aGVpciByZXNwZWN0aXZlIENhY2hl
ZFJlc291cmNlIHN1YmNsYXNzZXMgZG9uJ3QKKyAgICAgICAgICBoYXZlIHRvIGJlIGluY2x1ZGVk
IGJ5IHRoZSBjbGFzc2VzIHRoYXQgZGVyaXZlIGZyb20gdGhvc2Ugc3ViY2xhc3Nlcy4KKyAgICAg
ICAgLSBSZW1vdmUgaGVhZGVycyB0aGF0IHdlcmUgbmV2ZXIgbmVlZGVkIGluIHRoZSBmaXJzdCBw
bGFjZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VT
b3VyY2UuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1BhdHRlcm46OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YW52YXNQYXR0ZXJuOjpDYW52YXNQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Bh
dHRlcm46On5DYW52YXNQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0
ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXR0ZXJuOjpwYXR0ZXJuKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1BhdHRlcm46Om9yaWdpbkNsZWFuKToKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmg6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250Lmg6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlSGFuZGxlQmFzZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6fkNhY2hlZFJlc291cmNlSGFuZGxlQmFz
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OnNldFJlc291
cmNlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6Z2V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6b3BlcmF0b3IhKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6b3BlcmF0b3IgVW5zcGVjaWZpZWRC
b29sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6Om9w
ZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZTo6Q2FjaGVk
UmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU6
OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZTo6b3BlcmF0b3It
Pik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZTo6b3BlcmF0b3I9KToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlOjpvcGVyYXRvcj09KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlOjpvcGVyYXRvciE9KToKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IhPSk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50Lmg6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmg6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Q
bGF0Zm9ybVNjcmVlbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0hSVEZLZXJuZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFJURktlcm5lbDo6ZmZ0U2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
SFJURktlcm5lbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJldmVyYkNvbnZvbHZlclN0YWdlOjp+UmV2ZXJi
Q29udm9sdmVyU3RhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZl
clN0YWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb246OlJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb246On5SZWZlcmVuY2VGaWx0
ZXJPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVmZXJlbmNlRmlsdGVyT3BlcmF0aW9u
OjpzZXRDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oOgorICAgICAgICAqIHBsdWdpbnMvRE9N
TWltZVR5cGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJJbmZvLmg6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkU2hhZGVyLmg6CisgICAgICAg
ICogc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlVXJp
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6CisgICAgICAgICogeG1s
L3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oOgorCiAyMDEzLTA0LTA0ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBHbG9iYWwgRm9udFBsYXRmb3JtRGF0YSBj
YWNoZSBzaG91bGQgdXNlIE93blB0ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IDhhMDY2NjgzYmMyMTJiMGRmOGMwYWI3YjExMjJlM2Vi
MmNmYmJiNzYuLmY3Y2VhZjNkYjk3MTIzNmZhZjY4NzM2YjdjZGI1MTcyODU0ZWU1NGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAtMzEs
NyArMzEsNiBAQAogI2luY2x1ZGUgIkF1ZGlvRGVzdGluYXRpb25Ob2RlLmgiCiAjaW5jbHVkZSAi
RXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSFJU
RkRhdGFiYXNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTUxLDYgKzUwLDcg
QEAgY2xhc3MgQXVkaW9CdWZmZXJTb3VyY2VOb2RlOwogY2xhc3MgTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlOwogY2xhc3MgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTsKIGNsYXNz
IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOworY2xhc3MgSFJURkRhdGFiYXNlTG9hZGVyOwog
Y2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNzIENoYW5uZWxNZXJnZXJOb2RlOwogY2xhc3Mg
Q2hhbm5lbFNwbGl0dGVyTm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1YTRlMzYwNmZjZjlhOTJlY2U3NDE0YzliY2NmNzYw
ODFjOGRlZDg4Li5kZWQ4MzI0MzEwNTM4YTIwNTdiZjNkNjFkYmU5NWI5ODU2MmM0OWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC02MjIsNiArNjIyLDggQEAKIAkJMUFFODJGOTAwQ0FBRkE5RDAwMjIzN0FFIC8qIEpTRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTgy
RjhFMENBQUZBOUQwMDIyMzdBRSAvKiBKU0RhdGFiYXNlLmggKi87IH07CiAJCTFBRTgyRkVDMENB
QjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUU4MkZFQTBDQUIwN0VFMDAyMjM3QUUgLyogSlNT
UUxSZXN1bHRTZXQuY3BwICovOyB9OwogCQkxQUU4MkZFRDBDQUIwN0VFMDAyMjM3QUUgLyogSlNT
UUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRTgyRkVCMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5oICovOyB9Owor
CQkxQUVGNEU2NzE3MEUxNjAzMDBBQjI3OTkgLyogQ2FjaGVkRm9udENsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFRjRFNjYxNzBFMTYwMzAw
QUIyNzk5IC8qIENhY2hlZEZvbnRDbGllbnQuaCAqLzsgfTsKKwkJMUFFRjRFNjkxNzBFMTc0ODAw
QUIyNzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUVGNEU2ODE3MEUxNzQ4MDBBQjI3OTkgLyogQ2Fj
aGVkU1ZHRG9jdW1lbnRDbGllbnQuaCAqLzsgfTsKIAkJMUFGMzI2NzkwRDc4Qjk0NDAwNjhGMEM0
IC8qIEVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBRjYyRUU2MTRE
QTIyQTcwMDQxNTU2QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjYyRUUzMTREQTIyQTcwMDQxNTU2
QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSAqLzsgfTsKIAkJMUFGNjJFRTcxNERBMjJB
NzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjYyRUU0MTREQTIyQTcwMDQxNTU2QyAvKiBT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgKi87IH07CkBAIC0yMDc0LDE0ICsyMDc2LDE0IEBACiAJ
CTdFNUQ3QTc2MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTczMTYxRDNG
OEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLzsgfTsKIAkJN0U1RDdBNzcx
NjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTc0MTYxRDNGOEYwMDg5NkMzNCAv
KiBPRVNFbGVtZW50SW5kZXhVaW50LmggKi87IH07CiAJCTdFNjZFMjMzMTZENkVCNkMwMEY3RTdG
RiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCAqLzsgfTsKKwkJN0U2NkUyMzMxN0U2RUI2QzAwRjdF
N0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMTE3RTZFQjZDMDBGN0U3RkYgLyog
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCAqLzsgfTsKIAkJN0U2NkUyMzQxNkQ2RUI2
QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CisJCTdFNjZFMjM0MTdFNkVCNkMw
MEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTdFNkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLzsgfTsKIAkJN0U5OUFGNTEwQjEzODQ2
NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1MjBCMTM4NDY0NjhGQjAx
QTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCAqLzsgfTsKIAkJN0U5OUFGNTMw
QjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTQwQjEzODQ2NDY4
RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdFQTMwRjY5MTZERkZFNzUwMDI1N0Qw
QiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VBMzBGNjcxNkRGRkU3NTAwMjU3RDBCIC8qIEpT
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgKi87IH07Ci0JCTdFQTMwRjZBMTZERkZFNzUw
MDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY4MTZERkZFNzUwMDI1N0QwQiAv
KiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLzsgfTsKLQkJN0U2NkUyMzMxN0U2RUI2
QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMTE3RTZFQjZDMDBGN0U3
RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCAqLzsgfTsKLQkJN0U2NkUyMzQx
N0U2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U2NkUyMzIxN0U2RUI2QzAw
RjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oICovOyB9OwogCQk3RUEzMEY2
OTE3RUZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VBMzBGNjcxN0VG
RkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCAqLzsgfTsK
KwkJN0VBMzBGNkExNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VBMzBG
NjgxNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oICovOyB9
OwogCQk3RUEzMEY2QTE3RUZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJl
UFZSVEMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdF
QTMwRjY4MTdFRkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5o
ICovOyB9OwogCQk3RUU2ODQ1RjEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0
QzEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5jcHAgKi87IH07CiAJCTdFRTY4
NDYwMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0RDEyRDI2RTM4MDBFNzk0MTUg
LyogQXV0aGVudGljYXRpb25DRi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC04MDIyLDYgKzgwMjQsOCBAQAogCQkxQUU4MkY4RTBDQUFGQTlEMDAy
MjM3QUUgLyogSlNEYXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRTgyRkVBMENBQjA3
RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1NRTFJlc3VsdFNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBRTgyRkVCMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NRTFJlc3VsdFNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQUVGNEU2NjE3MEUxNjAzMDBBQjI3OTkgLyogQ2FjaGVkRm9u
dENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRGb250Q2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRUY0RTY4MTcwRTE3NDgwMEFC
Mjc5OSAvKiBDYWNoZWRTVkdEb2N1bWVudENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQUYzMjY3NzBENzhCOTQ0MDA2OEYwQzQgLyogRWRpdG9yQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRvckNsaWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQUY2MkVFMzE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUFGNjJFRTQxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MDUsMTYgKzk2MDksMTYgQEAK
IAkJN0U1RDdBNzMxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gT0VTRWxlbWVudEluZGV4VWludC5j
cHA7IHBhdGggPSBjYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdFNUQ3QTc0MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5k
ZXhVaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE9FU0VsZW1lbnRJbmRl
eFVpbnQuaDsgcGF0aCA9IGNhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RTY2RTIz
MTE3RTZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQ
VlJUQy5jcHA7IHBhdGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8q
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oOyBwYXRoID0gY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U2NkUy
MzIxN0U2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMu
aDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0Zv
Y3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2Vk
SW5kaWNhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0ZvY3Vz
QWxsb3dlZEluZGljYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RUEzMEY2
MjE2REZENjI3MDAyNTdEMEIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHBhdGggPSBj
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRl
eHR1cmVBVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
N0VBMzBGNjgxNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0U2NkUyMzExN0U2RUI2QzAw
RjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwOyBw
YXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTdFNjZFMjMyMTdFNkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmg7IHBhdGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZVBWUlRDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFQTMwRjYyMTdF
RkQ2MjcwMDI1N0QwQiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5pZGw7IHBhdGggPSBj
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJN0VBMzBGNjcxNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3RUEzMEY2NzE3RUZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZS
VEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RUEz
MEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RUEzMEY2ODE3RUZGRTc1MDAyNTdE
MEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRp
Y2F0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVu
dGljYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDREMTJE
MjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIwMDAzLDYgKzIwMDA3LDcgQEAKIAkJCQlCQ0IxNkMwMTA5NzlDM0JEMDA0Njc3NDEg
LyogQ2FjaGVkQ1NTU3R5bGVTaGVldC5oICovLAogCQkJCUJDNjRCNEM5MENCNDI5NUQwMDVGMkI2
MiAvKiBDYWNoZWRGb250LmNwcCAqLywKIAkJCQlCQzY0QjRDQTBDQjQyOTVEMDA1RjJCNjIgLyog
Q2FjaGVkRm9udC5oICovLAorCQkJCTFBRUY0RTY2MTcwRTE2MDMwMEFCMjc5OSAvKiBDYWNoZWRG
b250Q2xpZW50LmggKi8sCiAJCQkJQkNCMTZDMDIwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZElt
YWdlLmNwcCAqLywKIAkJCQlCQ0IxNkMwMzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkSW1hZ2Uu
aCAqLywKIAkJCQkzMTlGQkQ1RDE1RDJGNDQ0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQu
aCAqLywKQEAgLTIwMDI3LDYgKzIwMDMyLDcgQEAKIAkJCQlEMEJDNTQ0ODE0NDNBQzRBMDBFMTA1
REEgLyogQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oICovLAogCQkJCUExMDRGMjQxMTRDNzFGN0Ew
MDlFMkMyMyAvKiBDYWNoZWRTVkdEb2N1bWVudC5jcHAgKi8sCiAJCQkJQTEwNEYyNDIxNEM3MUY3
QTAwOUUyQzIzIC8qIENhY2hlZFNWR0RvY3VtZW50LmggKi8sCisJCQkJMUFFRjRFNjgxNzBFMTc0
ODAwQUIyNzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggKi8sCiAJCQkJRkIyQzE1QzIx
NjVENjQ5MDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi8sCiAJCQkJ
MDc1Mzg2MDAxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgKi8sCiAJCQkJ
MDc1Mzg2MDExNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oICovLApAQCAtMjQ2
MjgsNiArMjQ2MzQsNyBAQAogCQkJCUIyNzUzNTZCMEIwNTM4MTQwMDJDRTY0RiAvKiBGbG9hdFJl
Y3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTZEMEIwNTM4MTQwMDJDRTY0RiAvKiBGbG9h
dFNpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQ3MkY2RDdBMTUzMTU5QTMwMDFFRTQ0RSAvKiBG
bG93VGhyZWFkQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFFRjRFNjkxNzBFMTc0
ODAwQUIyNzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxNDk5M0JFNjBCMkYyQjFDMDA1MDQ5N0YgLyogRm9jdXNDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwNjIyODc4NDBCNERCMzIyMDAwQzM0REYgLyogRm9jdXNEaXJlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50
LmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzUyLDYgKzI1MzU5LDcgQEAKIAkJCQlCMkZBM0Q0MTBB
Qjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q0NTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmlt
YXRlZE51bWJlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFFRjRFNjcxNzBFMTYwMzAwQUIyNzk5
IC8qIENhY2hlZEZvbnRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDQ3MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJGQTNENEIwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q0RDBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdBbmltYXRlZFJlY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGYyZDkyYjRiMmY5MGU0YzRl
YTUyYTlhNDU0OTY3YmYwNmJiOGI0ZjIuLjM0ZTU4YmQyNjc2OWM5MjgzZDZmNGJiYTU4M2FlNWU4
NmZiMmJlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHAKQEAgLTI1LDM5ICsyNSwxNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKLSNpbmNs
dWRlICJIaXN0b3J5LmgiCi0jaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgotI2luY2x1ZGUgIkpT
RGF0YVZpZXcuaCIKICNpbmNsdWRlICJKU0V2ZW50LmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3Rl
bmVyLmgiCi0jaW5jbHVkZSAiSlNFdmVudFNvdXJjZS5oIgotI2luY2x1ZGUgIkpTRmxvYXQzMkFy
cmF5LmgiCi0jaW5jbHVkZSAiSlNGbG9hdDY0QXJyYXkuaCIKICNpbmNsdWRlICJKU0hUTUxBdWRp
b0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSlNI
VE1MT3B0aW9uRWxlbWVudC5oIgotI2luY2x1ZGUgIkpTSGlzdG9yeS5oIgogI2luY2x1ZGUgIkpT
SW1hZ2VDb25zdHJ1Y3Rvci5oIgotI2luY2x1ZGUgIkpTSW50MTZBcnJheS5oIgotI2luY2x1ZGUg
IkpTSW50MzJBcnJheS5oIgotI2luY2x1ZGUgIkpTSW50OEFycmF5LmgiCi0jaW5jbHVkZSAiSlNM
b2NhdGlvbi5oIgotI2luY2x1ZGUgIkpTTWVzc2FnZUNoYW5uZWwuaCIKICNpbmNsdWRlICJKU01l
c3NhZ2VQb3J0Q3VzdG9tLmgiCi0jaW5jbHVkZSAiSlNVaW50MTZBcnJheS5oIgotI2luY2x1ZGUg
IkpTVWludDMyQXJyYXkuaCIKLSNpbmNsdWRlICJKU1VpbnQ4QXJyYXkuaCIKLSNpbmNsdWRlICJK
U1VpbnQ4Q2xhbXBlZEFycmF5LmgiCi0jaW5jbHVkZSAiSlNXZWJLaXRDU1NNYXRyaXguaCIKLSNp
bmNsdWRlICJKU1dlYktpdFBvaW50LmgiCi0jaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdC5oIgot
I2luY2x1ZGUgIkpTWFNMVFByb2Nlc3Nvci5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCi0jaW5j
bHVkZSAiTWVkaWFQbGF5ZXIuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKLSNp
bmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KIAogI2lmIEVOQUJMRShXT1JLRVJTKQogI2lu
Y2x1ZGUgIkpTV29ya2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCmlu
ZGV4IGYwOTA2OTVjMWQwZjY5ZGNkODRlY2Y5MmNiZDI1NWQ4MzRhYTM5ZGEuLjExNTQzNzNmNzUy
NmJjZmU4OWViZjVhZmMxMDAxNzBiZmRmNmUzMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNvdXJjZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIENTU0ZvbnRGYWNlU291cmNl
X2gKICNkZWZpbmUgQ1NTRm9udEZhY2VTb3VyY2VfaAogCi0jaW5jbHVkZSAiQ2FjaGVkRm9udC5o
IgorI2luY2x1ZGUgIkNhY2hlZEZvbnRDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJj
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
QEAgLTQ0LDcgKzQ0LDYgQEAgY2xhc3MgU1ZHRm9udEVsZW1lbnQ7CiBjbGFzcyBTVkdGb250RmFj
ZUVsZW1lbnQ7CiAjZW5kaWYKIAotCiBjbGFzcyBDU1NGb250RmFjZVNvdXJjZSA6IHB1YmxpYyBD
YWNoZWRGb250Q2xpZW50IHsKIHB1YmxpYzoKICAgICBDU1NGb250RmFjZVNvdXJjZShjb25zdCBT
dHJpbmcmLCBDYWNoZWRGb250KiA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNQYXR0ZXJuLmNwcAppbmRleCA5MjUyYTJhYTIzMWE5OTgyYzQ4NDg1MTVkOGUxZmNmYjIw
N2YxMWU3Li5hNDU1NzQxOGViOTc5Zjc0MjUxMTdkMjU0MDJiYjgyYjYyZTY5MjU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcApAQCAtMjcsMTAgKzI3
LDI3IEBACiAjaW5jbHVkZSAiQ2FudmFzUGF0dGVybi5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NS
ZWZQdHI8Q2FudmFzUGF0dGVybj4gQ2FudmFzUGF0dGVybjo6Y3JlYXRlKFBhc3NSZWZQdHI8SW1h
Z2U+IGltYWdlLCBib29sIHJlcGVhdFgsIGJvb2wgcmVwZWF0WSwgYm9vbCBvcmlnaW5DbGVhbikK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1BhdHRlcm4oaW1hZ2UsIHJlcGVhdFgs
IHJlcGVhdFksIG9yaWdpbkNsZWFuKSk7Cit9CisKK0NhbnZhc1BhdHRlcm46OkNhbnZhc1BhdHRl
cm4oUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZLCBi
b29sIG9yaWdpbkNsZWFuKQorICAgIDogbV9wYXR0ZXJuKFBhdHRlcm46OmNyZWF0ZShpbWFnZSwg
cmVwZWF0WCwgcmVwZWF0WSkpCisgICAgLCBtX29yaWdpbkNsZWFuKG9yaWdpbkNsZWFuKQorewor
fQorCitDYW52YXNQYXR0ZXJuOjp+Q2FudmFzUGF0dGVybigpCit7Cit9CisKIHZvaWQgQ2FudmFz
UGF0dGVybjo6cGFyc2VSZXBldGl0aW9uVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wmIHJl
cGVhdFgsIGJvb2wmIHJlcGVhdFksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGVjID0gMDsK
QEAgLTU3LDEwICs3NCw0IEBAIHZvaWQgQ2FudmFzUGF0dGVybjo6cGFyc2VSZXBldGl0aW9uVHlw
ZShjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wmIHJlcGVhdFgsIGJvb2wmCiAgICAgZWMgPSBTWU5U
QVhfRVJSOwogfQogCi1DYW52YXNQYXR0ZXJuOjpDYW52YXNQYXR0ZXJuKFBhc3NSZWZQdHI8SW1h
Z2U+IGltYWdlLCBib29sIHJlcGVhdFgsIGJvb2wgcmVwZWF0WSwgYm9vbCBvcmlnaW5DbGVhbikK
LSAgICA6IG1fcGF0dGVybihQYXR0ZXJuOjpjcmVhdGUoaW1hZ2UsIHJlcGVhdFgsIHJlcGVhdFkp
KQotICAgICwgbV9vcmlnaW5DbGVhbihvcmlnaW5DbGVhbikKLXsKLX0KLQotfQorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUGF0dGVybi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5o
CmluZGV4IDU4ODQ4YTk5MjUzMTU0YjE4YWMyMzE1NTlmNzNiZDI2ODg0OTIyY2QuLjlmZWQ1NzU5
YTRmMjI0OWE4ZmUxOWFjMWE2NjM0YmYzMGE0MWUwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmgKQEAgLTI2LDM2ICsyNiwzNSBAQAogI2lmbmRlZiBDYW52
YXNQYXR0ZXJuX2gKICNkZWZpbmUgQ2FudmFzUGF0dGVybl9oCiAKLSNpbmNsdWRlICJQYXR0ZXJu
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBJbWFnZTsKK2NsYXNzIEltYWdlOwor
Y2xhc3MgUGF0dGVybjsKIAotICAgIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7Cit0eXBlZGVm
IGludCBFeGNlcHRpb25Db2RlOwogCi0gICAgY2xhc3MgQ2FudmFzUGF0dGVybiA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhbnZhc1BhdHRlcm4+IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyB2
b2lkIHBhcnNlUmVwZXRpdGlvblR5cGUoY29uc3QgU3RyaW5nJiwgYm9vbCYgcmVwZWF0WCwgYm9v
bCYgcmVwZWF0WSwgRXhjZXB0aW9uQ29kZSYpOworY2xhc3MgQ2FudmFzUGF0dGVybiA6IHB1Ymxp
YyBSZWZDb3VudGVkPENhbnZhc1BhdHRlcm4+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDYW52YXNQYXR0ZXJuPiBjcmVhdGUoUGFzc1JlZlB0cjxJbWFnZT4sIGJvb2wgcmVwZWF0
WCwgYm9vbCByZXBlYXRZLCBib29sIG9yaWdpbkNsZWFuKTsKKyAgICB+Q2FudmFzUGF0dGVybigp
OwogCi0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1BhdHRlcm4+IGNyZWF0ZShQYXNz
UmVmUHRyPEltYWdlPiBpbWFnZSwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFksIGJvb2wgb3Jp
Z2luQ2xlYW4pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2Fu
dmFzUGF0dGVybihpbWFnZSwgcmVwZWF0WCwgcmVwZWF0WSwgb3JpZ2luQ2xlYW4pKTsKLSAgICAg
ICAgfQorICAgIHN0YXRpYyB2b2lkIHBhcnNlUmVwZXRpdGlvblR5cGUoY29uc3QgU3RyaW5nJiwg
Ym9vbCYgcmVwZWF0WCwgYm9vbCYgcmVwZWF0WSwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgICAg
IFBhdHRlcm4qIHBhdHRlcm4oKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm4uZ2V0KCk7IH0KKyAg
ICBQYXR0ZXJuKiBwYXR0ZXJuKCkgY29uc3QgeyByZXR1cm4gbV9wYXR0ZXJuLmdldCgpOyB9CiAK
LSAgICAgICAgYm9vbCBvcmlnaW5DbGVhbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luQ2xlYW47
IH0KKyAgICBib29sIG9yaWdpbkNsZWFuKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW5DbGVhbjsg
fQogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgQ2FudmFzUGF0dGVybihQYXNzUmVmUHRyPEltYWdl
PiwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFksIGJvb2wgb3JpZ2luQ2xlYW4pOworcHJpdmF0
ZToKKyAgICBDYW52YXNQYXR0ZXJuKFBhc3NSZWZQdHI8SW1hZ2U+LCBib29sIHJlcGVhdFgsIGJv
b2wgcmVwZWF0WSwgYm9vbCBvcmlnaW5DbGVhbik7CiAKLSAgICAgICAgUmVmUHRyPFBhdHRlcm4+
IG1fcGF0dGVybjsKLSAgICAgICAgYm9vbCBtX29yaWdpbkNsZWFuOwotICAgIH07CisgICAgUmVm
UHRyPFBhdHRlcm4+IG1fcGF0dGVybjsKKyAgICBib29sIG1fb3JpZ2luQ2xlYW47Cit9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxTY3JpcHRSdW5uZXIuaAppbmRleCBhNzIyNmRjMWMyMzVlOThmZmQ0OGNhYjhkMDM1NjFjNTcz
YzVkMGFkLi5hNTY2OTM2OGFmZGMzNWY5ZTg4ZDM0YzgwMWFmZGM3YmNhMTViZDZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOCw4ICsy
OCw4IEBACiAKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVl
Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgKaW5kZXggZDY5MWM4MWNlNzYx
NzcxYmExYzg3ODhmZWE0ZWY4MTJhODkyNDBkMi4uYjM0YjcwNWQwZTllNTAzMWYyYjQ4YmI0NjJh
ODljMTc1YzNhMTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgKQEAgLTIzLDkg
KzIzLDkgQEAKICNpZm5kZWYgSW1hZ2VMb2FkZXJfaAogI2RlZmluZSBJbWFnZUxvYWRlcl9oCiAK
LSNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZEltYWdlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAppbmRleCA0Yzg1M2RhZjRmMzFhMTc1YTkxYTgx
ZjM3ZmZhYmFkZmY2N2NiYzFkLi44Yjg3ZDgyMmQwZTdkNWY3ODkxNDI5NjY5Nzc4ZGFmMDVmYmMz
NjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKQEAgLTQyLDcgKzQyLDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBLVVJMOwogc3Ry
dWN0IExpbmtSZWxBdHRyaWJ1dGU7CisKICNpZiBFTkFCTEUoTElOS19QUkVSRU5ERVIpCiBjbGFz
cyBQcmVyZW5kZXJIYW5kbGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tM
b2FkZXIuaAppbmRleCBhNWFkMDNmMDUwNTZhMzIwNzY5NzVkNzY3YjVlNDk5ODVjNmFmMmE1Li4z
NmYzZWYwOWVjMmQxMThjZjMyNDkzZTJmMGE2Y2IyYzJmNjAyMmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUu
aCIKLSNpbmNsdWRlICJDYWNoZWRUZXh0VHJhY2suaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2lu
Y2x1ZGUgIldlYlZUVFBhcnNlci5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBDYWNoZWRUZXh0VHJhY2s7CiBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIFRleHRUcmFja0xvYWRlcjsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKaW5kZXggMGQ0ZTkxMmY5
ODM3ZGFkYjczODMyMGJjZTYyNTk2ZGEwN2I4OWIyMC4uMDAyZjgyODgwZDhiOTc1ODc0N2NmZjhj
N2Q5YTE2ZjFmYzVlMmU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRG
b250LmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkNhY2hlZEZvbnQuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCisjaW5j
bHVkZSAiQ2FjaGVkRm9udENsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50
V2Fsa2VyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJG
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEZvbnQuaAppbmRleCA1YzI4ZTJkMWU5OGViYjYxNzRkNDAxMmUyNDJlZTQyODY4OGVkMjM0Li4w
YzRkN2NiMzk2YzVkODYzZWI4NDMwMGYyY2JjMTA1OTJiZjFmYmQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmgKQEAgLTc2LDE0ICs3Niw2IEBAIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogfTsKIAotY2xhc3MgQ2FjaGVkRm9udENsaWVu
dCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+
Q2FjaGVkRm9udENsaWVudCgpIHsgfQotICAgIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUNsaWVudFR5
cGUgZXhwZWN0ZWRUeXBlKCkgeyByZXR1cm4gRm9udFR5cGU7IH0KLSAgICB2aXJ0dWFsIENhY2hl
ZFJlc291cmNlQ2xpZW50VHlwZSByZXNvdXJjZUNsaWVudFR5cGUoKSBjb25zdCB7IHJldHVybiBl
eHBlY3RlZFR5cGUoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBmb250TG9hZGVkKENhY2hlZEZvbnQq
KSB7IH0KLX07Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KLQotI2VuZGlmCisjZW5kaWYg
Ly8gQ2FjaGVkRm9udF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlSGFuZGxlLmNwcAppbmRleCAwZGY3NjkzMGQ2NTQ5NjRiYzA4N2E3YmZhYzQ3
NGZiN2QxMmUzYWE2Li45ZmE2MjdjMTA0OWQwNDVjNTlhNWRhZTA3ZWMwMDkzYTlkODkyMTFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhh
bmRsZS5jcHAKQEAgLTI2LDExICsyNiwzNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi12b2lkIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKSAKK0NhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6Q2Fj
aGVkUmVzb3VyY2VIYW5kbGVCYXNlKCkKKyAgICA6IG1fcmVzb3VyY2UoMCkKK3sKK30KKworQ2Fj
aGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQorICAgIDogbV9yZXNvdXJjZShyZXNvdXJjZSkKK3sKKyAgICBpZiAo
bV9yZXNvdXJjZSkKKyAgICAgICAgbV9yZXNvdXJjZS0+cmVnaXN0ZXJIYW5kbGUodGhpcyk7Cit9
CisKK0NhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKGNv
bnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgb3RoZXIpCisgICAgOiBtX3Jlc291cmNlKG90
aGVyLm1fcmVzb3VyY2UpCit7CisgICAgaWYgKG1fcmVzb3VyY2UpCisgICAgICAgIG1fcmVzb3Vy
Y2UtPnJlZ2lzdGVySGFuZGxlKHRoaXMpOworfQorCitDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6
On5DYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UoKQoreworICAgIGlmIChtX3Jlc291cmNlKQorICAg
ICAgICBtX3Jlc291cmNlLT51bnJlZ2lzdGVySGFuZGxlKHRoaXMpOworfQorCit2b2lkIENhY2hl
ZFJlc291cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogewogICAgIGlmIChyZXNvdXJjZSA9PSBtX3Jlc291cmNlKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5o
CmluZGV4IDRhMTM5MjAyYTUyMjdlNTI4YzYzOGJkYTMwNmFmNjNhYTRkYzA2NzMuLmY5ZTUxMTVh
MDc4ZWQyNmFkNjJiZWViZjNlMzhkMjA2ZmI0NTRjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5oCkBAIC0yNiw3MiArMjYsNzYg
QEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VIYW5kbGVfaAogI2RlZmluZSBDYWNoZWRSZXNvdXJj
ZUhhbmRsZV9oCiAKLSNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENhY2hlZFJlc291
cmNlSGFuZGxlQmFzZSB7Ci0gICAgcHVibGljOgotICAgICAgICB+Q2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlKCkgeyBpZiAobV9yZXNvdXJjZSkgbV9yZXNvdXJjZS0+dW5yZWdpc3RlckhhbmRsZSh0
aGlzKTsgfQotICAgICAgICBDYWNoZWRSZXNvdXJjZSogZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvdXJjZTsgfQotICAgICAgICAKLSAgICAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJl
dHVybiAhbV9yZXNvdXJjZTsgfQotICAgICAgICAKLSAgICAgICAgLy8gVGhpcyBjb252ZXJzaW9u
IG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9uIHRvIGJvb2wgYnV0IG5vdCB0byBv
dGhlciBpbnRlZ2VyIHR5cGVzLgotICAgICAgICB0eXBlZGVmIENhY2hlZFJlc291cmNlKiBDYWNo
ZWRSZXNvdXJjZUhhbmRsZUJhc2U6OipVbnNwZWNpZmllZEJvb2xUeXBlOwotICAgICAgICBvcGVy
YXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZSA/ICZD
YWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6Om1fcmVzb3VyY2UgOiAwOyB9Ci0KLSAgICAgICAgdm9p
ZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7Ci0KLSAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSgpIDogbV9yZXNvdXJjZSgw
KSB7fQotICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UoQ2FjaGVkUmVzb3VyY2UqIHJl
cykgeyBtX3Jlc291cmNlID0gcmVzOyBpZiAobV9yZXNvdXJjZSkgbV9yZXNvdXJjZS0+cmVnaXN0
ZXJIYW5kbGUodGhpcyk7IH0KLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKGNvbnN0
IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgbykgOiBtX3Jlc291cmNlKG8ubV9yZXNvdXJjZSkg
eyBpZiAobV9yZXNvdXJjZSkgbV9yZXNvdXJjZS0+cmVnaXN0ZXJIYW5kbGUodGhpcyk7IH0KLQot
ICAgICAgICB2b2lkIHNldFJlc291cmNlKENhY2hlZFJlc291cmNlKik7Ci0gICAgICAgIAotICAg
IHByaXZhdGU6Ci0gICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgb3BlcmF0b3I9KGNv
bnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYpIHsgcmV0dXJuICp0aGlzOyB9IAotICAgICAg
ICAKLSAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZFJlc291cmNlOwotCi0gICAgICAgIENhY2hl
ZFJlc291cmNlKiBtX3Jlc291cmNlOwotICAgIH07Ci0gICAgICAgIAotICAgIHRlbXBsYXRlIDxj
bGFzcyBSPiBjbGFzcyBDYWNoZWRSZXNvdXJjZUhhbmRsZSA6IHB1YmxpYyBDYWNoZWRSZXNvdXJj
ZUhhbmRsZUJhc2UgewotICAgIHB1YmxpYzogCi0gICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxl
KCkgeyB9Ci0gICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlKFIqIHJlcykgOiBDYWNoZWRSZXNv
dXJjZUhhbmRsZUJhc2UocmVzKSB7IH0KLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUoY29u
c3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIG8pIDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
KG8pIHsgfQotICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBDYWNoZWRSZXNvdXJjZUhhbmRs
ZShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxVPiYgbykgOiBDYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2Uoby5nZXQoKSkgeyB9Ci0KLSAgICAgICAgUiogZ2V0KCkgY29uc3QgeyByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxSKj4oQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpnZXQoKSk7IH0KLSAg
ICAgICAgUiogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIGdldCgpOyB9Ci0gICAgICAgICAg
ICAgICAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9wZXJhdG9yPShSKiByZXMpIHsg
c2V0UmVzb3VyY2UocmVzKTsgcmV0dXJuICp0aGlzOyB9IAotICAgICAgICBDYWNoZWRSZXNvdXJj
ZUhhbmRsZSYgb3BlcmF0b3I9KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlJiBvKSB7IHNldFJl
c291cmNlKG8uZ2V0KCkpOyByZXR1cm4gKnRoaXM7IH0KLSAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9wZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxVPiYgbykgeyBzZXRSZXNvdXJjZShvLmdldCgpKTsgcmV0dXJuICp0aGlzOyB9Ci0K
LSAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYg
bykgY29uc3QgeyByZXR1cm4gZ2V0KCkgPT0gby5nZXQoKTsgfQotICAgICAgICBib29sIG9wZXJh
dG9yIT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlJiBvKSBjb25zdCB7IHJldHVybiBn
ZXQoKSAhPSBvLmdldCgpOyB9Ci0gICAgfTsKLQotICAgIHRlbXBsYXRlIDxjbGFzcyBSLCBjbGFz
cyBSUj4gYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPFI+JiBoLCBj
b25zdCBSUiogcmVzKSAKLSAgICB7IAotICAgICAgICByZXR1cm4gaC5nZXQoKSA9PSByZXM7IAot
ICAgIH0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MgUlI+IGJvb2wgb3BlcmF0b3I9PShj
b25zdCBSUiogcmVzLCBjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxSPiYgaCkgCi0gICAgeyAK
LSAgICAgICAgcmV0dXJuIGguZ2V0KCkgPT0gcmVzOyAKLSAgICB9Ci0gICAgdGVtcGxhdGUgPGNs
YXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9yIT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Uj4mIGgsIGNvbnN0IFJSKiByZXMpIAotICAgIHsgCi0gICAgICAgIHJldHVybiBoLmdldCgp
ICE9IHJlczsgCi0gICAgfQotICAgIHRlbXBsYXRlIDxjbGFzcyBSLCBjbGFzcyBSUj4gYm9vbCBv
cGVyYXRvciE9KGNvbnN0IFJSKiByZXMsIGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPFI+JiBo
KSAKLSAgICB7IAotICAgICAgICByZXR1cm4gaC5nZXQoKSAhPSByZXM7IAotICAgIH0KK2NsYXNz
IENhY2hlZFJlc291cmNlOworCitjbGFzcyBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UgeworcHVi
bGljOgorICAgIH5DYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UoKTsKKworICAgIENhY2hlZFJlc291
cmNlKiBnZXQoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlOyB9CisgICAgCisgICAgYm9vbCBv
cGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9yZXNvdXJjZTsgfQorICAgIAorICAgIC8vIFRo
aXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29s
IGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KKyAgICB0eXBlZGVmIENhY2hlZFJlc291
cmNlKiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OipVbnNwZWNpZmllZEJvb2xUeXBlOworICAg
IG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNl
ID8gJkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6bV9yZXNvdXJjZSA6IDA7IH0KKworICAgIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCitwcm90ZWN0
ZWQ6CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKCk7CisgICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGVCYXNlKENhY2hlZFJlc291cmNlKik7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYpOworCisgICAgdm9pZCBzZXRSZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZSopOworICAgIAorcHJpdmF0ZToKKyAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZUJhc2UmIG9wZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UmKSB7IHJl
dHVybiAqdGhpczsgfSAKKyAgICAKKyAgICBmcmllbmQgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CisK
KyAgICBDYWNoZWRSZXNvdXJjZSogbV9yZXNvdXJjZTsKK307CisgICAgCit0ZW1wbGF0ZSA8Y2xh
c3MgUj4gY2xhc3MgQ2FjaGVkUmVzb3VyY2VIYW5kbGUgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VI
YW5kbGVCYXNlIHsKK3B1YmxpYzogCisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUoKSB7IH0KKyAg
ICBDYWNoZWRSZXNvdXJjZUhhbmRsZShSKiByZXMpIDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
KHJlcykgeyB9CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUoY29uc3QgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Uj4mIG8pIDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKG8pIHsgfQorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFU+IENhY2hlZFJlc291cmNlSGFuZGxlKGNvbnN0IENhY2hlZFJlc291cmNl
SGFuZGxlPFU+JiBvKSA6IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZShvLmdldCgpKSB7IH0KKwor
ICAgIFIqIGdldCgpIGNvbnN0IHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Uio+KENhY2hlZFJl
c291cmNlSGFuZGxlQmFzZTo6Z2V0KCkpOyB9CisgICAgUiogb3BlcmF0b3ItPigpIGNvbnN0IHsg
cmV0dXJuIGdldCgpOyB9CisKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZSYgb3BlcmF0b3I9KFIq
IHJlcykgeyBzZXRSZXNvdXJjZShyZXMpOyByZXR1cm4gKnRoaXM7IH0gCisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGUmIG9wZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZSYgbykgeyBz
ZXRSZXNvdXJjZShvLmdldCgpKTsgcmV0dXJuICp0aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9wZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxVPiYgbykgeyBzZXRSZXNvdXJjZShvLmdldCgpKTsgcmV0dXJuICp0aGlzOyB9CisK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlJiBvKSBj
b25zdCB7IHJldHVybiBnZXQoKSA9PSBvLmdldCgpOyB9CisgICAgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgbykgY29uc3QgeyByZXR1cm4gZ2V0KCkgIT0g
by5nZXQoKTsgfQorfTsKKwordGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJh
dG9yPT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIGgsIGNvbnN0IFJSKiByZXMpIAor
eyAKKyAgICByZXR1cm4gaC5nZXQoKSA9PSByZXM7IAorfQordGVtcGxhdGUgPGNsYXNzIFIsIGNs
YXNzIFJSPiBib29sIG9wZXJhdG9yPT0oY29uc3QgUlIqIHJlcywgY29uc3QgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Uj4mIGgpIAoreyAKKyAgICByZXR1cm4gaC5nZXQoKSA9PSByZXM7IAogfQordGVt
cGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9yIT0oY29uc3QgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Uj4mIGgsIGNvbnN0IFJSKiByZXMpIAoreyAKKyAgICByZXR1cm4gaC5nZXQo
KSAhPSByZXM7IAorfQordGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9y
IT0oY29uc3QgUlIqIHJlcywgY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIGgpIAoreyAK
KyAgICByZXR1cm4gaC5nZXQoKSAhPSByZXM7IAorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZgorI2VuZGlmIC8vIENhY2hlZFJlc291cmNlSGFuZGxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5oCmluZGV4IDgzZTU5YzRjYjk1
NDY0ZDY0OWRiM2YzZjE3NDc4Zjc4MTU0YWFhODguLjU2Y2JlMjg1ZTdkZjdkZTRhY2E2MmJjNDQ0
ZDFhMzI4MjAzMDdlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTVkdEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTVkdEb2N1bWVudC5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNWR0RvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgpAQCAtNTAsMTUgKzQ5LDgg
QEAgcHJvdGVjdGVkOgogICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7
CiB9OwogCi1jbGFzcyBDYWNoZWRTVkdEb2N1bWVudENsaWVudCA6IHB1YmxpYyBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q2FjaGVkU1ZHRG9jdW1lbnRDbGll
bnQoKSB7IH0KLSAgICBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4cGVjdGVkVHlw
ZSgpIHsgcmV0dXJuIFNWR0RvY3VtZW50VHlwZTsgfQotICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVjdGVk
VHlwZSgpOyB9Ci19OwotCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorI2Vu
ZGlmIC8vIFVTRShTVkcpCiAKICNlbmRpZiAvLyBDYWNoZWRTVkdEb2N1bWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVu
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVy
ZW5jZS5oCmluZGV4IDQ2ODAzMGY4YmYyOGVmN2EzYzJlOTc2ZDk1YmVhNTI0YWE5NzdmYjIuLmNk
YTJlY2E0Y2JhNWFhODQ5MDhkNmRhYzZjY2Q1OGYyMmU2MTk2ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5o
CkBAIC0yNyw4ICsyNywxMCBAQAogI2RlZmluZSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZV9o
CiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCisKICNpbmNsdWRlICJD
YWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFNWR0RvY3VtZW50LmgiCisj
aW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00Myw2ICs0NSw2IEBAIHByaXZhdGU6CiAKIH07CiAKLSNlbmRpZgorI2VuZGlmIC8v
IEVOQUJMRShTVkcpICYmIEVOQUJMRShDU1NfRklMVEVSUykKIAotI2VuZGlmCisjZW5kaWYgLy8g
Q2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKaW5kZXggNGM4NzUzMDhhYjhiNGRi
ZTllMDhhNjY3MTBiZjFmODk5ZWE1NDFhZC4uYTQ4OGFmMGQyMTkxYzE5NGRkZmM3NzY1NTY4ZDNj
NWQ2YTA1N2E4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFN0eWxlU2hlZXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkU3R5bGVTaGVldENsaWVudC5oCkBAIC0zMCw3ICszMCw5IEBACiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OworY2xhc3MgS1VSTDsKIAogY2xhc3MgQ2FjaGVkU3R5bGVTaGVldENsaWVudCA6IHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CkBAIC00MCw2ICs0Miw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIC8qIGhy
ZWYgKi8sIGNvbnN0IEtVUkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyogY2hhcnNl
dCAqLywgY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBz
ZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VSTCYgLyog
YmFzZVVSTCAqLywgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CiB9OwotfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5oCmluZGV4IDRmYWM1NGEwNDRh
Y2NjYWQ2YWI1N2NhNTg1MGYzZTU1ZmRhNDVhNjYuLjkzMzZjN2Y2NDVhZjBmYTk5MWY0YjUzOGY2
ZTQ0NTk2NTY1ZDUzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtU2NyZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4u
aApAQCAtMjYsMTMgKzI2LDE4IEBACiAjaWZuZGVmIFBsYXRmb3JtU2NyZWVuX2gKICNkZWZpbmUg
UGxhdGZvcm1TY3JlZW5faAogCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogT0JKQ19DTEFTUyBOU1NjcmVlbjsKIE9CSkNfQ0xB
U1MgTlNXaW5kb3c7CisjaWZkZWYgTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllf
VFlQRVMKK3R5cGVkZWYgc3RydWN0IENHUmVjdCBOU1JlY3Q7Cit0eXBlZGVmIHN0cnVjdCBDR1Bv
aW50IE5TUG9pbnQ7CisjZWxzZQordHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBOU1JlY3Q7Cit0eXBl
ZGVmIHN0cnVjdCBfTlNQb2ludCBOU1BvaW50OworI2VuZGlmCiAjZW5kaWYKIAogdHlwZWRlZiB1
aW50MzJfdCBQbGF0Zm9ybURpc3BsYXlJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5jcHAKaW5kZXggYjUwMTAxMGQxNjhhOGExZTZhOTJmNzUwZDNk
MDM2ZGM1OTJjMWNjMi4uZTY4OTI3ZDBlZDUzZDljZjk0NDM1MjdhODRkZTM4Mzc1ZjNhNDljZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5jcHAK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKICNpbmNsdWRl
ICJCaXF1YWQuaCIKICNpbmNsdWRlICJGRlRGcmFtZS5oIgorI2luY2x1ZGUgIkhSVEZEYXRhYmFz
ZUxvYWRlci5oIgogI2luY2x1ZGUgIkhSVEZQYW5uZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1l
bW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZLZXJuZWwuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKaW5kZXggYWZmYTVmNDViOGE3NjBm
YTcxMzZlOTkzZDc3MjYyOTNhOWNjYTg4OS4uNTBhNGE0MGEwYzg1ODVlZTQzODY0OWFmZGQyM2Ri
MzkyODQ5YzhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
Rktlcm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5l
bC5jcHAKQEAgLTk5LDYgKzk5LDExIEBAIEhSVEZLZXJuZWw6OkhSVEZLZXJuZWwoQXVkaW9DaGFu
bmVsKiBjaGFubmVsLCBzaXplX3QgZmZ0U2l6ZSwgZmxvYXQgc2FtcGxlUmF0ZSkKICAgICBtX2Zm
dEZyYW1lLT5kb1BhZGRlZEZGVChpbXB1bHNlUmVzcG9uc2UsIHRydW5jYXRlZFJlc3BvbnNlTGVu
Z3RoKTsKIH0KIAorc2l6ZV90IEhSVEZLZXJuZWw6OmZmdFNpemUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2ZmdEZyYW1lLT5mZnRTaXplKCk7Cit9CisKIFBhc3NPd25QdHI8QXVkaW9DaGFubmVs
PiBIUlRGS2VybmVsOjpjcmVhdGVJbXB1bHNlUmVzcG9uc2UoKQogewogICAgIE93blB0cjxBdWRp
b0NoYW5uZWw+IGNoYW5uZWwgPSBhZG9wdFB0cihuZXcgQXVkaW9DaGFubmVsKGZmdFNpemUoKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oCmluZGV4IGQ0MDdh
MzE3YThiMDE5ZDg1ZDI4ZTg3OTI3M2QzZWQzOWE5ZjM2NDIuLjg5N2IzNWRhNWZiMzUxODdlMjUw
ZjlmMWQxYjk1NjVkNzgzNDYwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGS2VybmVsLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAKICAgICBGRlRGcmFtZSog
ZmZ0RnJhbWUoKSB7IHJldHVybiBtX2ZmdEZyYW1lLmdldCgpOyB9CiAgICAgCi0gICAgc2l6ZV90
IGZmdFNpemUoKSBjb25zdCB7IHJldHVybiBtX2ZmdEZyYW1lLT5mZnRTaXplKCk7IH0KKyAgICBz
aXplX3QgZmZ0U2l6ZSgpIGNvbnN0OwogICAgIGZsb2F0IGZyYW1lRGVsYXkoKSBjb25zdCB7IHJl
dHVybiBtX2ZyYW1lRGVsYXk7IH0KIAogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3NhbXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmNwcAppbmRleCA0MWY3NmJhZWJiYTdmZTAzODM2
OWEyNmYxOWRmMTk3Y2RhOWZjZDExLi43ZDg1ZGEyZDUyMTI2MzU0NTcyNzBjZThkMzZlNjNhOWUz
NjhjOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJD
b252b2x2ZXJTdGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2
ZXJiQ29udm9sdmVyU3RhZ2UuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJSZXZl
cmJDb252b2x2ZXJTdGFnZS5oIgogCisjaW5jbHVkZSAiRkZURnJhbWUuaCIKICNpbmNsdWRlICJW
ZWN0b3JNYXRoLmgiCiAjaW5jbHVkZSAiUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmgiCiAjaW5j
bHVkZSAiUmV2ZXJiQ29udm9sdmVyLmgiCkBAIC05MSw2ICs5MiwxMCBAQCBSZXZlcmJDb252b2x2
ZXJTdGFnZTo6UmV2ZXJiQ29udm9sdmVyU3RhZ2UoY29uc3QgZmxvYXQqIGltcHVsc2VSZXNwb25z
ZSwgc2l6ZV90LAogICAgIG1fcHJlRGVsYXlCdWZmZXIuYWxsb2NhdGUoZGVsYXlCdWZmZXJTaXpl
KTsKIH0KIAorUmV2ZXJiQ29udm9sdmVyU3RhZ2U6On5SZXZlcmJDb252b2x2ZXJTdGFnZSgpCit7
Cit9CisKIHZvaWQgUmV2ZXJiQ29udm9sdmVyU3RhZ2U6OnByb2Nlc3NJbkJhY2tncm91bmQoUmV2
ZXJiQ29udm9sdmVyKiBjb252b2x2ZXIsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiB7CiAgICAg
UmV2ZXJiSW5wdXRCdWZmZXIqIGlucHV0QnVmZmVyID0gY29udm9sdmVyLT5pbnB1dEJ1ZmZlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9s
dmVyU3RhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZl
clN0YWdlLmgKaW5kZXggYThhOWY0N2IwMDYxODAyOThhZjhlMGQ0NTNjY2UyNGE3N2I1OGRiOC4u
YzhlNjhmNjI3OWIzZDUyMDBjODQ3YzU2MWEyYmUxOTQ5NTc5YjVlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5oCkBAIC0z
MCwxMSArMzAsMTEgQEAKICNkZWZpbmUgUmV2ZXJiQ29udm9sdmVyU3RhZ2VfaAogCiAjaW5jbHVk
ZSAiQXVkaW9BcnJheS5oIgotI2luY2x1ZGUgIkZGVEZyYW1lLmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEZGVEZyYW1lOwogY2xhc3Mg
UmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyOwogY2xhc3MgUmV2ZXJiQ29udm9sdmVyOwogY2xhc3Mg
RkZUQ29udm9sdmVyOwpAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgLy8gcmVuZGVyUGhh
c2UgaXMgdXNlZnVsIHRvIGtub3cgc28gdGhhdCB3ZSBjYW4gbWFuaXB1bGF0ZSB0aGUgcHJlIHZl
cnN1cyBwb3N0IGRlbGF5IHNvIHRoYXQgc3RhZ2VzIHdpbGwgcGVyZm9ybQogICAgIC8vIHRoZWly
IGhlYXZ5IHdvcmsgKEZGVCBwcm9jZXNzaW5nKSBvbiBkaWZmZXJlbnQgc2xpY2VzIHRvIGJhbGFu
Y2UgdGhlIGxvYWQgaW4gYSByZWFsLXRpbWUgdGhyZWFkLgogICAgIFJldmVyYkNvbnZvbHZlclN0
YWdlKGNvbnN0IGZsb2F0KiBpbXB1bHNlUmVzcG9uc2UsIHNpemVfdCByZXNwb25zZUxlbmd0aCwg
c2l6ZV90IHJldmVyYlRvdGFsTGF0ZW5jeSwgc2l6ZV90IHN0YWdlT2Zmc2V0LCBzaXplX3Qgc3Rh
Z2VMZW5ndGgsIHNpemVfdCBmZnRTaXplLCBzaXplX3QgcmVuZGVyUGhhc2UsIHNpemVfdCByZW5k
ZXJTbGljZVNpemUsIFJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlciosIGJvb2wgZGlyZWN0TW9kZSA9
IGZhbHNlKTsKKyAgICB+UmV2ZXJiQ29udm9sdmVyU3RhZ2UoKTsKIAogICAgIC8vIFdBUk5JTkc6
IGZyYW1lc1RvUHJvY2VzcyBtdXN0IGJlIHN1Y2ggdGhhdCBpdCBldmVubHkgZGl2aWRlcyB0aGUg
ZGVsYXkgYnVmZmVyIHNpemUgKHN0YWdlX29mZnNldCkuCiAgICAgdm9pZCBwcm9jZXNzKGNvbnN0
IGZsb2F0KiBzb3VyY2UsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDI4ODQx
ZTc1YzMwN2JjYzJjNDhmNjc2MmJiMTQ2MTY5YzYxZDY2ZWQuLmM5MjYyMjU0YjM4MmFiODRjOTBk
MGEzOWVhNTRjZjA3YjJiMzc2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTU1LDkgKzU1LDYgQEAgT0JKQ19DTEFT
UyBOU0ZvbnQ7CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgX19DVEZvbnQqIENURm9udFJlZjsKLQotI2luY2x1ZGUgPENvcmVGb3VuZGF0
aW9uL0NGQmFzZS5oPgotI2luY2x1ZGUgPG9iamMvb2JqYy1hdXRvLmg+CiAjZW5kaWYKIAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA1ZGEyOTY0Y2EyZTA5Y2RhYTljYmY3
NjdiN2RhNWVhMWRmMmRkZjllLi4zYTM4NGIzNTA5ZGI4NTYwMmExOGI1YThhZmRkYTVjMGJjZTM1
MDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKQEAgLTUyLDcgKzUyLDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
TUFDKQotI2luY2x1ZGUgPE9wZW5HTC9PcGVuR0wuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiBPQkpDX0NMQVNTIENBTGF5ZXI7CiBPQkpDX0NMQVNTIFdlYkdMTGF5ZXI7CkBAIC03MCw2
ICs2OSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IEdMdWludDsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oTUFDKQordHlwZWRlZiBzdHJ1Y3QgX0NHTENvbnRleHRPYmplY3QgKkNHTENvbnRleHRP
Ymo7CisKIHR5cGVkZWYgQ0dMQ29udGV4dE9iaiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwog
I2VsaWYgUExBVEZPUk0oUVQpCiB0eXBlZGVmIFFPcGVuR0xDb250ZXh0KiBQbGF0Zm9ybUdyYXBo
aWNzQ29udGV4dDNEOwpAQCAtODcsMTAgKzg4LDYgQEAgY2xhc3MgR3JDb250ZXh0OwogY29uc3Qg
UGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBOdWxsUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCA9
IDA7CiBjb25zdCBQbGF0Zm9ybTNET2JqZWN0IE51bGxQbGF0Zm9ybTNET2JqZWN0ID0gMDsKIAot
I2lmIFVTRShDRykKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+Ci0jZW5kaWYK
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRHJhd2luZ0J1ZmZlcjsKIGNsYXNzIEV4dGVu
c2lvbnMzRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Bh
dGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKaW5kZXgg
ZTNiZWUwN2ZmZTJjMzI3NzRkMmQxMTE3ZGNlYTRlYjE5N2MzYWI1Ni4uZmFlMGU3NjA2NjNlZjZk
MGQ2ZDY4ZTdiNGRlYzk3NTNhZWNhZjFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50Lmgi
CiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aFRyYXZlcnNhbFN0YXRlLmgi
CisjaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5o
CmluZGV4IDBlNThkMzM5OTdiYTUwODQ1ODY1MGRlMzc4NmNiMTgxNjBkYjJjYWIuLjdlMGE0NTQ4
NTRiYmVhZTcxMjAyZTZhZGYzMmQzMzViN2EwM2VlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVm
aW5lIFBhdGhfaAogCi0jaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJXaW5kUnVs
ZS5oIgogI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KQEAgLTc3LDYgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZs
b2F0UmVjdDsKICAgICBjbGFzcyBGbG9hdFNpemU7CiAgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0
OworICAgIGNsYXNzIFJvdW5kZWRSZWN0OwogICAgIGNsYXNzIFN0cm9rZVN0eWxlQXBwbGllcjsK
IAogICAgIGVudW0gUGF0aEVsZW1lbnRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0dGVybi5jcHAKaW5kZXggNDNmMTUwN2QyNjMzODM0MmYyNjY0YjgyMTVkNzgy
MGNjMjNiOGJhNC4uOGQ5NGQxZmIyZWMyODZkM2NkNDYyNjc0Yjg3ZGNhYzhmMjc3NmYwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5jcHAKQEAgLTMxLDYg
KzMxLDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUGFzc1JlZlB0cjxQYXR0ZXJuPiBQ
YXR0ZXJuOjpjcmVhdGUoUGFzc1JlZlB0cjxJbWFnZT4gdGlsZUltYWdlLCBib29sIHJlcGVhdFgs
IGJvb2wgcmVwZWF0WSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhdHRlcm4odGlsZUlt
YWdlLCByZXBlYXRYLCByZXBlYXRZKSk7Cit9CisKIFBhdHRlcm46OlBhdHRlcm4oUGFzc1JlZlB0
cjxJbWFnZT4gaW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZKQogICAgIDogbV90aWxl
SW1hZ2UoaW1hZ2UpCiAgICAgLCBtX3JlcGVhdFgocmVwZWF0WCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaAppbmRleCAzZDUzMDA1NTUwMjM1MTQ0OGJiYTgxYWMw
NmNhYjVjNzQwZTgzNTI3Li5lNzZiYjAxMWE2ZTc0OWFmMGNiZTZkZjU0NDUxN2QzNjc2NGY5NTRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXR0ZXJuLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjZGVmaW5lIFBhdHRlcm5faAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3Jt
LmgiCi0jaW5jbHVkZSAiSW1hZ2UuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTYyLDEzICs2MSwxMSBAQCB0eXBlZGVmIHZv
aWQqIFBsYXRmb3JtUGF0dGVyblB0cjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWZm
aW5lVHJhbnNmb3JtOworY2xhc3MgSW1hZ2U7CiAKIGNsYXNzIFBhdHRlcm4gOiBwdWJsaWMgUmVm
Q291bnRlZDxQYXR0ZXJuPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGF0dGVy
bj4gY3JlYXRlKFBhc3NSZWZQdHI8SW1hZ2U+IHRpbGVJbWFnZSwgYm9vbCByZXBlYXRYLCBib29s
IHJlcGVhdFkpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhdHRlcm4odGls
ZUltYWdlLCByZXBlYXRYLCByZXBlYXRZKSk7Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFBhdHRlcm4+IGNyZWF0ZShQYXNzUmVmUHRyPEltYWdlPiB0aWxlSW1hZ2UsIGJvb2wgcmVwZWF0
WCwgYm9vbCByZXBlYXRZKTsKICAgICB2aXJ0dWFsIH5QYXR0ZXJuKCk7CiAKICAgICBJbWFnZSog
dGlsZUltYWdlKCkgY29uc3QgeyByZXR1cm4gbV90aWxlSW1hZ2UuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVy
T3BlcmF0aW9uLmNwcAppbmRleCA2NTY5MjZlMjhlMzU3ZDYxMWUxMWQ2MzkwOTA4OTJjYTZiZDZj
NTEzLi44YmM3OTE0NmQ4M2UwMjQyMmU5NTU0YTY3Nzg5YmU1NzYxNWE3YTA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0
ZXJPcGVyYXRpb24uY3BwCkBAIC0zMCw4ICszMCwzMCBAQAogCiAjaW5jbHVkZSAiQW5pbWF0aW9u
VXRpbGl0aWVzLmgiCiAKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkNhY2hlZFNWR0RvY3Vt
ZW50UmVmZXJlbmNlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCitSZWZlcmVu
Y2VGaWx0ZXJPcGVyYXRpb246OlJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbihjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiBmcmFnbWVudCwgT3BlcmF0aW9uVHlwZSB0eXBlKQorICAgIDog
RmlsdGVyT3BlcmF0aW9uKHR5cGUpCisgICAgLCBtX3VybCh1cmwpCisgICAgLCBtX2ZyYWdtZW50
KGZyYWdtZW50KQoreworfQorCitSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb246On5SZWZlcmVuY2VG
aWx0ZXJPcGVyYXRpb24oKQoreworfQorCisjaWYgRU5BQkxFKFNWRykKK3ZvaWQgUmVmZXJlbmNl
RmlsdGVyT3BlcmF0aW9uOjpzZXRDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZShQYXNzT3duUHRy
PENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlPiBjYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSkK
K3sKKyAgICBtX2NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlID0gY2FjaGVkU1ZHRG9jdW1lbnRS
ZWZlcmVuY2U7Cit9CisjZW5kaWYKKwogUGFzc1JlZlB0cjxGaWx0ZXJPcGVyYXRpb24+IEJhc2lj
Q29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRpb246OmJsZW5kKGNvbnN0IEZpbHRlck9wZXJhdGlvbiog
ZnJvbSwgZG91YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9QYXNzdGhyb3VnaCkKIHsKICAgICBp
ZiAoZnJvbSAmJiAhZnJvbS0+aXNTYW1lVHlwZSgqdGhpcykpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaApp
bmRleCBmYjliNjc2MTk4OTJhZDJkMmYyYWQwM2ZjMDA3MTZlNjJlZDZjYjQ0Li41ZjYxZjhkNjVi
MzEyMTU0ZDI4M2FjYjAzZDg1NDg4NTA5Nzc2MWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmgKQEAg
LTQxLDEwICs0MSw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnRSZWZl
cmVuY2UuaCIKLSNlbmRpZgotCiAvLyBBbm5veWluZ2x5LCB3aW5nZGkuaCAjZGVmaW5lcyB0aGlz
LgogI2lmZGVmIFBBU1NUSFJPVUdICiAjdW5kZWYgUEFTU1RIUk9VR0gKQEAgLTU0LDYgKzUwLDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ1NTIEZpbHRlcnMKIAorI2lmIEVOQUJMRShT
VkcpCitjbGFzcyBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZTsKKyNlbmRpZgorCiAjaWYgUExB
VEZPUk0oQkxBQ0tCRVJSWSkKIGNsYXNzIEZpbHRlck9wZXJhdGlvbiA6IHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxGaWx0ZXJPcGVyYXRpb24+IHsKICNlbHNlCkBAIC0xNjYsNiArMTY2LDcg
QEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZWZlcmVuY2VG
aWx0ZXJPcGVyYXRpb24odXJsLCBmcmFnbWVudCwgdHlwZSkpOwogICAgIH0KKyAgICB+UmVmZXJl
bmNlRmlsdGVyT3BlcmF0aW9uKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgYWZmZWN0c09wYWNpdHko
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIG1vdmVzUGl4ZWxzKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMTc1LDEzICsxNzYsMTQgQEAgcHVibGljOgogCiAj
aWYgRU5BQkxFKFNWRykKICAgICBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSogY2FjaGVkU1ZH
RG9jdW1lbnRSZWZlcmVuY2UoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNWR0RvY3VtZW50UmVm
ZXJlbmNlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZShQ
YXNzT3duUHRyPENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlPiBjYWNoZWRTVkdEb2N1bWVudFJl
ZmVyZW5jZSkgeyBtX2NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlID0gY2FjaGVkU1ZHRG9jdW1l
bnRSZWZlcmVuY2U7IH0KKyAgICB2b2lkIHNldENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlKFBh
c3NPd25QdHI8Q2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2U+KTsKICNlbmRpZgogCiAgICAgRmls
dGVyRWZmZWN0KiBmaWx0ZXJFZmZlY3QoKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlckVmZmVjdC5n
ZXQoKTsgfQogICAgIHZvaWQgc2V0RmlsdGVyRWZmZWN0KFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0
PiBmaWx0ZXJFZmZlY3QpIHsgbV9maWx0ZXJFZmZlY3QgPSBmaWx0ZXJFZmZlY3Q7IH0KIAogcHJp
dmF0ZToKKyAgICBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24oY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgZnJhZ21lbnQsIE9wZXJhdGlvblR5cGUpOwogCiAgICAgdmlydHVhbCBib29s
IG9wZXJhdG9yPT0oY29uc3QgRmlsdGVyT3BlcmF0aW9uJiBvKSBjb25zdAogICAgIHsKQEAgLTE5
MSwxMyArMTkzLDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdXJsID09IG90aGVyLT5t
X3VybDsKICAgICB9CiAKLSAgICBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24oY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgZnJhZ21lbnQsIE9wZXJhdGlvblR5cGUgdHlwZSkKLSAgICAg
ICAgOiBGaWx0ZXJPcGVyYXRpb24odHlwZSkKLSAgICAgICAgLCBtX3VybCh1cmwpCi0gICAgICAg
ICwgbV9mcmFnbWVudChmcmFnbWVudCkKLSAgICB7Ci0gICAgfQotCiAgICAgU3RyaW5nIG1fdXJs
OwogICAgIFN0cmluZyBtX2ZyYWdtZW50OwogI2lmIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9y
bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaAppbmRleCA3ZDgzZjU5MmYxYTBmNmM5ZTA5YTE0NGE3MTUxZjE2NGY5YmFjZDFm
Li43YWU4YjRmZTdjMDg5ODIzNTI5ZjZkYWNkM2FmYjUzZjRkOTMzMGZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9y
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZm
aW5lVHJhbnNmb3JtLmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogCiAjaWYgVVNFKENHKQotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FmZmluZVRy
YW5zZm9ybS5oPgordHlwZWRlZiBzdHJ1Y3QgQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dBZmZpbmVUcmFu
c2Zvcm07CiAjZWxpZiBVU0UoQ0FJUk8pCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNlbGlmIFBMQVRG
T1JNKE9QRU5WRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaAppbmRleCAxOTA2NDg0
YWY5NmJiN2RkMzQwNTY1YzYxOTFiMjc1Y2Q5ZWRmZWYzLi5kM2NmMGE1Y2IzMzYxMGZlY2I0YTM2
MzgzYzI2NWE1N2FmMjQ4NTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RP
TU1pbWVUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5oCkBA
IC0yMCw3ICsyMCw2IEBACiAjaWZuZGVmIERPTU1pbWVUeXBlX2gKICNkZWZpbmUgRE9NTWltZVR5
cGVfaAogCi0jaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXIuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlckluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlckluZm8uaAppbmRleCAxNWI1N2FlNWU3NjZlMjAx
YmU2OTEwYmNiZDk2M2YzZTllY2VlOTcyLi44YTRkMWRjNTQyMWFhNTlkNmQwZWVjMzNkZTMzZjk5
MTkxZTRiZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJGaWx0ZXJJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
RmlsdGVySW5mby5oCkBAIC0zMiw2ICszMiw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMp
CiAKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkZpbHRlck9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgpAQCAtNDMsNyArNDQsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1
ZGUgIkNhY2hlZFNWR0RvY3VtZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnRDbGll
bnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkU2hhZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRTaGFkZXIuaAppbmRleCBjMmUwMDc3NTZk
Y2UzNDI2ZWZhMDkxMGI5YzNjODM5ZjlmZTRjYWE4Li4xNTIzNDI5NWJiMmQzNWUyZjM3M2VkZDg3
ZGE0YzIwZjU5ZTMyNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVDYWNoZWRTaGFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVDYWNoZWRTaGFkZXIuaApAQCAtMzQsNiArMzQsNyBAQAogCiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHlsZVNoYWRlci5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAppbmRleCBlZGI0MTU3N2ZkNGFiMGVhZjk5NzNhNGMyNTdk
M2NiYzQ0NjgyOTQzLi43YzZkM2UwNzZkMjk0Yjc2YzdmYzY4MTJhZGFmZGQ3ZWExN2FlZTcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaApAQCAtMjIsNyArMjIsNyBAQAog
I2RlZmluZSBTVkdGRUltYWdlRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUo
RklMVEVSUykKLSNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgorI2luY2x1ZGUgIkNhY2hlZEltYWdl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJJ
bWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCmluZGV4IDJjN2I1MTJkMTY0NzM4Mjcx
Mzg4YTdjMTMyMjBjZTU1YzBiNWJlZDQuLjZkMDAzYzc3MTQ3NmU4NTAzYTNjNDE2NDk0MGM4NGRm
ZmJkZWI3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgK
QEAgLTIxLDcgKzIxLDcgQEAKICNkZWZpbmUgU1ZHRm9udEZhY2VVcmlFbGVtZW50X2gKIAogI2lm
IEVOQUJMRShTVkdfRk9OVFMpCi0jaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgorI2luY2x1ZGUgIkNh
Y2hlZEZvbnRDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKIApAQCAtNTIsNiArNTIsNSBAQCBwcml2YXRlOgogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWR19GT05UUykKLSNlbmRpZgog
Ci0vLyB2aW06dHM9NDpub2V0CisjZW5kaWYgLy8gU1ZHRm9udEZhY2VVcmlFbGVtZW50X2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCmluZGV4IGE3YTFlYWY4MDUyZmY3OWQ5YzkzNjBhMWNk
OWE5ZDJjMmM1MmQ0N2UuLjQwNDZlZjY4NGJlZjFkMGQwODE0MDczOWVjNTg4ZTYyNmE1ZGViMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaApAQCAtMjIsNyArMjIsOCBAQAogI2RlZmlu
ZSBTVkdVc2VFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiQ2FjaGVkU1ZH
RG9jdW1lbnQuaCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUg
IkNhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFu
LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKICNpbmNsdWRlICJTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL1hNTERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyLmgKaW5kZXggYWE0NjRlMGFiOGM3Yzk1YWUyNDEyZjQ2YjI1Y2M5ZWI3NTcx
ZGRlOC4uMTQ5YWQ2ZTFhMDEwZWU4YTY5NGI1NDg5ODVlNGU2MjVhNDc4ODMyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtMzMsOCArMzMs
OCBAQAogI2luY2x1ZGUgIlhNTEVycm9ycy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hh
c2guaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCiAjaWYgVVNFKFFYTUxTVFJFQU0pCiAjaW5jbHVkZSA8cXhtbHN0cmVh
bS5oPgo=
</data>
<flag name="commit-queue"
          id="218641"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196552</attachid>
            <date>2013-04-04 16:22:16 -0700</date>
            <delta_ts>2013-04-04 17:05:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113973-20130404162204.patch</filename>
            <type>text/plain</type>
            <size>58820</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkxYWI5YmFlMTlkMzQ1
NzlmMjc3NGJiYTYwZjFhODAzZDg3YWM0Zi4uYjA2ZmE0NDk4OTc3MzJlZTBlMDk1YjkzMGIzYTMw
MmExNDg0ZmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkxIEBACisyMDEzLTA0LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJ1bmUgdW5uZWVk
ZWQgaGVhZGVyICNpbmNsdWRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEzOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVkdWNlIHRoZSBhbW91bnQgb2YgaGVhZGVycyBpbmNsdWRlZCBieSBvdGhl
ciBoZWFkZXJzIGJ5OgorICAgICAgICAtIE1vdmluZyBpbXBsaWNpdCBhbmQgZXhwbGljaXQgY29u
c3RydWN0b3JzIGFuZCBkZXN0cnVjdG9ycyBpbnRvIC5jcHAgZmlsZXMgc28gbWVtYmVyIHZhcmlh
YmxlIGNvbnN0cnVjdG9ycy9kZXN0cnVjdG9ycworICAgICAgICAgIGRvbid0IGhhdmUgdG8gYmUg
ZGVjbGFyZWQuCisgICAgICAgIC0gTW92ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCBzdWJjbGFzc2Vz
IG91dCBpbnRvIHNlcGFyYXRlIGhlYWRlcnMgc28gdGhhdCB0aGVpciByZXNwZWN0aXZlIENhY2hl
ZFJlc291cmNlIHN1YmNsYXNzZXMgZG9uJ3QKKyAgICAgICAgICBoYXZlIHRvIGJlIGluY2x1ZGVk
IGJ5IHRoZSBjbGFzc2VzIHRoYXQgZGVyaXZlIGZyb20gdGhvc2Ugc3ViY2xhc3Nlcy4KKyAgICAg
ICAgLSBSZW1vdmUgaGVhZGVycyB0aGF0IHdlcmUgbmV2ZXIgbmVlZGVkIGluIHRoZSBmaXJzdCBw
bGFjZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VT
b3VyY2UuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1BhdHRlcm46OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YW52YXNQYXR0ZXJuOjpDYW52YXNQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Bh
dHRlcm46On5DYW52YXNQYXR0ZXJuKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0
ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXR0ZXJuOjpwYXR0ZXJuKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1BhdHRlcm46Om9yaWdpbkNsZWFuKToKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmg6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRGb250Lmg6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZEZvbnRDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRG
b250Q2xpZW50Ojp+Q2FjaGVkRm9udENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRG
b250Q2xpZW50OjpleHBlY3RlZFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udENs
aWVudDo6cmVzb3VyY2VDbGllbnRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZvbnRD
bGllbnQ6OmZvbnRMb2FkZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6
OkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUhhbmRsZUJhc2U6On5DYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpzZXRSZXNvdXJjZSk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmg6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUhhbmRsZUJhc2U6Om9wZXJhdG9yISk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUhhbmRsZUJhc2U6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpvcGVyYXRvcj0pOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU6OkNhY2hlZFJlc291cmNlSGFuZGxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlSGFuZGxlOjpnZXQpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU6Om9wZXJhdG9yLT4pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUhhbmRsZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUhhbmRsZTo6b3BlcmF0b3IhPSk6CisgICAgICAgIChXZWJDb3JlOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRT
VkdEb2N1bWVudENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNWR0Rv
Y3VtZW50Q2xpZW50Ojp+Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQ6OmV4cGVjdGVkVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRTVkdEb2N1bWVudENsaWVudDo6cmVzb3VyY2VDbGllbnRUeXBlKToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOgorICAgICAgICAqIHBs
YXRmb3JtL1BsYXRmb3JtU2NyZWVuLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vSFJURkVs
ZXZhdGlvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIUlRGS2VybmVsOjpmZnRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9IUlRGS2VybmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29u
dm9sdmVyU3RhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2ZXJiQ29udm9sdmVyU3RhZ2U6
On5SZXZlcmJDb252b2x2ZXJTdGFnZSk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJi
Q29udm9sdmVyU3RhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZv
cm1EYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9QYXRoLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVy
bi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbjo6UmVmZXJlbmNlRmlsdGVyT3BlcmF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbjo6flJlZmVy
ZW5jZUZpbHRlck9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWZlcmVuY2VGaWx0ZXJP
cGVyYXRpb246OnNldENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmg6CisgICAgICAgICogcGx1
Z2lucy9ET01NaW1lVHlwZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckZpbHRl
ckluZm8uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRTaGFkZXIuaDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9u
dEZhY2VVcmlFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmg6CisKIDIwMTMtMDQtMDQgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEdsb2JhbCBGb250UGxhdGZv
cm1EYXRhIGNhY2hlIHNob3VsZCB1c2UgT3duUHRyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggYjA4ZDAzNWVmNzFlYWY0MGQyMjg5YmRmMTJmNjJkZWNhOWQ2MDVlMi4uZWQ5NDk4
NjAzMjIyYjk2MjMyMjhhOTI3M2QwOWU4MzE5ZDExNmY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0zOTk4LDYgKzM5OTgsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnRDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZUNsaWVudC5oIFwKQEAg
LTQ4NTUsNiArNDg1Niw3IEBAIHdlYmNvcmVfc3ZnX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NWR0dseXBoLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU1ZHR2x5cGguaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaAppbmRleCA4YTA2NjY4M2JjMjEyYjBkZjhjMGFiN2IxMTIyZTNlYjJjZmJi
Yjc2Li5mN2NlYWYzZGI5NzEyMzZmYWY2ODczNmI3Y2RiNTE3Mjg1NGVlNTRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTMxLDcgKzMx
LDYgQEAKICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIgogI2luY2x1ZGUgIkV2ZW50
TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkhSVEZEYXRh
YmFzZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC01MSw2ICs1MCw3IEBAIGNs
YXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZTsKIGNsYXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZTsKIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU7CiBjbGFzcyBNZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZTsKK2NsYXNzIEhSVEZEYXRhYmFzZUxvYWRlcjsKIGNsYXNz
IEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBDaGFubmVsTWVyZ2VyTm9kZTsKIGNsYXNzIENoYW5u
ZWxTcGxpdHRlck5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNWE0ZTM2MDZmY2Y5YTkyZWNlNzQxNGM5YmNjZjc2MDgxYzhk
ZWQ4OC4uZGVkODMyNDMxMDUzOGEyMDU3YmYzZDYxZGJlOTViOTg1NjJjNDlmYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjIy
LDYgKzYyMiw4IEBACiAJCTFBRTgyRjkwMENBQUZBOUQwMDIyMzdBRSAvKiBKU0RhdGFiYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUU4MkY4RTBD
QUFGQTlEMDAyMjM3QUUgLyogSlNEYXRhYmFzZS5oICovOyB9OwogCQkxQUU4MkZFQzBDQUIwN0VF
MDAyMjM3QUUgLyogSlNTUUxSZXN1bHRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFODJGRUEwQ0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVz
dWx0U2V0LmNwcCAqLzsgfTsKIAkJMUFFODJGRUQwQ0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVz
dWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUU4MkZFQjBDQUIwN0VFMDAyMjM3QUUgLyogSlNTUUxSZXN1bHRTZXQuaCAqLzsgfTsKKwkJMUFF
RjRFNjcxNzBFMTYwMzAwQUIyNzk5IC8qIENhY2hlZEZvbnRDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRUY0RTY2MTcwRTE2MDMwMEFCMjc5
OSAvKiBDYWNoZWRGb250Q2xpZW50LmggKi87IH07CisJCTFBRUY0RTY5MTcwRTE3NDgwMEFCMjc5
OSAvKiBDYWNoZWRTVkdEb2N1bWVudENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFRjRFNjgxNzBFMTc0ODAwQUIyNzk5IC8qIENhY2hlZFNW
R0RvY3VtZW50Q2xpZW50LmggKi87IH07CiAJCTFBRjMyNjc5MEQ3OEI5NDQwMDY4RjBDNCAvKiBF
ZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUY2MkVFNjE0REEyMkE3
MDA0MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY2MkVFMzE0REEyMkE3MDA0MTU1NkMgLyog
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gKi87IH07CiAJCTFBRjYyRUU3MTREQTIyQTcwMDQx
NTU2QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY2MkVFNDE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwICovOyB9OwpAQCAtMjA3NCwxNCArMjA3NiwxNCBAQAogCQk3RTVE
N0E3NjE2MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTVEN0E3MzE2MUQzRjhGMDA4
OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5jcHAgKi87IH07CiAJCTdFNUQ3QTc3MTYxRDNG
OEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyogT0VT
RWxlbWVudEluZGV4VWludC5oICovOyB9OwogCQk3RTY2RTIzMzE2RDZFQjZDMDBGN0U3RkYgLyog
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQy5jcHAgKi87IH07CisJCTdFNjZFMjMzMTdFNkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U2NkUyMzExN0U2RUI2QzAwRjdFN0ZGIC8qIFdlYkdM
Q29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi87IH07CiAJCTdFNjZFMjM0MTZENkVCNkMwMEY3
RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMjE2RDZFQjZDMDBGN0U3RkYgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oICovOyB9OworCQk3RTY2RTIzNDE3RTZFQjZDMDBGN0U3
RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMjE3RTZFQjZDMDBGN0U3RkYgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggKi87IH07CiAJCTdFOTlBRjUxMEIxMzg0NjQ2OEZC
MDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8q
IFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi87IH07CiAJCTdFOTlBRjUzMEIxMzg0
NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjU0MEIxMzg0NjQ2OEZCMDFB
NSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdEMEIgLyog
SlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICovOyB9OwotCQk3RUEzMEY2QTE2REZGRTc1MDAyNTdE
MEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNX
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07Ci0JCTdFNjZFMjMzMTdFNkVCNkMwMEY3
RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U2NkUyMzExN0U2RUI2QzAwRjdFN0ZGIC8q
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi87IH07Ci0JCTdFNjZFMjM0MTdFNkVC
NkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTdFNkVCNkMwMEY3RTdG
RiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLzsgfTsKIAkJN0VBMzBGNjkxN0VG
RkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY3MTdFRkZFNzUw
MDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi87IH07CisJCTdF
QTMwRjZBMTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY4MTZE
RkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLzsgfTsKIAkJ
N0VBMzBGNkExN0VGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRD
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2
ODE3RUZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLzsg
fTsKIAkJN0VFNjg0NUYxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VFNjg0NEMxMkQy
NkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3BwICovOyB9OwogCQk3RUU2ODQ2MDEy
RDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VFNjg0NEQxMkQyNkUzODAwRTc5NDE1IC8qIEF1
dGhlbnRpY2F0aW9uQ0YuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtODAyMiw2ICs4MDI0LDggQEAKIAkJMUFFODJGOEUwQ0FBRkE5RDAwMjIzN0FF
IC8qIEpTRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEYXRh
YmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUU4MkZFQTBDQUIwN0VFMDAy
MjM3QUUgLyogSlNTUUxSZXN1bHRTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTUUxSZXN1bHRTZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQUU4MkZFQjBDQUIwN0VFMDAyMjM3QUUgLyogSlNTUUxSZXN1bHRTZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTUUxSZXN1bHRTZXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUFFRjRFNjYxNzBFMTYwMzAwQUIyNzk5IC8qIENhY2hlZEZvbnRDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRm9udENsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUVGNEU2ODE3MEUxNzQ4MDBBQjI3OTkg
LyogQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUFGNjJFRTMxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
RjYyRUU0MTREQTIyQTcwMDQxNTU2QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdDb29yZGluYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NjA1LDE2ICs5NjA5LDE2IEBACiAJCTdF
NUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBw
YXRoID0gY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWlu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBPRVNFbGVtZW50SW5kZXhVaW50
Lmg7IHBhdGggPSBjYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U2NkUyMzExN0U2
RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMu
Y3BwOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFNjZFMjMyMTdF
NkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmg7IHBh
dGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdFOTlBRjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0Fs
bG93ZWRJbmRpY2F0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0U5OUFGNTQwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGlj
YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93
ZWRJbmRpY2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VBMzBGNjIxNkRG
RDYyNzAwMjU3RDBCIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsOyBwYXRoID0gY2FudmFz
L1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk3RUEzMEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdFQTMw
RjY4MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdFNjZFMjMxMTdFNkVCNkMwMEY3RTdG
RiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcDsgcGF0aCA9
IGNhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk3RTY2RTIzMjE3RTZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZVBWUlRDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVQVlJUQy5oOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVQVlJUQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RUEzMEY2MjE3RUZENjI3
MDAyNTdEMEIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaWRsOyBwYXRoID0gY2FudmFz
L1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VB
MzBGNjcxN0VGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZVBWUlRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0VBMzBGNjgx
NkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VBMzBGNjgxN0VGRkU3NTAwMjU3RDBCIC8q
IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdFRTY4NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlv
bkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dGhlbnRpY2F0
aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RUU2ODQ0RDEyRDI2RTM4
MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBdXRoZW50aWNhdGlvbkNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMDAwMyw2ICsyMDAwNyw3IEBACiAJCQkJQkNCMTZDMDEwOTc5QzNCRDAwNDY3NzQxIC8qIENh
Y2hlZENTU1N0eWxlU2hlZXQuaCAqLywKIAkJCQlCQzY0QjRDOTBDQjQyOTVEMDA1RjJCNjIgLyog
Q2FjaGVkRm9udC5jcHAgKi8sCiAJCQkJQkM2NEI0Q0EwQ0I0Mjk1RDAwNUYyQjYyIC8qIENhY2hl
ZEZvbnQuaCAqLywKKwkJCQkxQUVGNEU2NjE3MEUxNjAzMDBBQjI3OTkgLyogQ2FjaGVkRm9udENs
aWVudC5oICovLAogCQkJCUJDQjE2QzAyMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRJbWFnZS5j
cHAgKi8sCiAJCQkJQkNCMTZDMDMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZEltYWdlLmggKi8s
CiAJCQkJMzE5RkJENUQxNUQyRjQ0NDAwOTY0MEE2IC8qIENhY2hlZEltYWdlQ2xpZW50LmggKi8s
CkBAIC0yMDAyNyw2ICsyMDAzMiw3IEBACiAJCQkJRDBCQzU0NDgxNDQzQUM0QTAwRTEwNURBIC8q
IENhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCAqLywKIAkJCQlBMTA0RjI0MTE0QzcxRjdBMDA5RTJD
MjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwICovLAogCQkJCUExMDRGMjQyMTRDNzFGN0EwMDlF
MkMyMyAvKiBDYWNoZWRTVkdEb2N1bWVudC5oICovLAorCQkJCTFBRUY0RTY4MTcwRTE3NDgwMEFC
Mjc5OSAvKiBDYWNoZWRTVkdEb2N1bWVudENsaWVudC5oICovLAogCQkJCUZCMkMxNUMyMTY1RDY0
OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovLAogCQkJCTA3NTM4
NjAwMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwICovLAogCQkJCTA3NTM4
NjAxMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCAqLywKQEAgLTI0NjI4LDYg
KzI0NjM0LDcgQEAKIAkJCQlCMjc1MzU2QjBCMDUzODE0MDAyQ0U2NEYgLyogRmxvYXRSZWN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMjc1MzU2RDBCMDUzODE0MDAyQ0U2NEYgLyogRmxvYXRTaXpl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlENzJGNkQ3QTE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1Ro
cmVhZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBRUY0RTY5MTcwRTE3NDgwMEFC
Mjc5OSAvKiBDYWNoZWRTVkdEb2N1bWVudENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ5
OTNCRTYwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDYyMjg3ODQwQjREQjMyMjAwMEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCNkQ5RDIzNTE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTM1Miw2ICsyNTM1OSw3IEBACiAJCQkJQjJGQTNENDEwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRMZW5ndGguaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDQzMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNENDUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRO
dW1iZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBRUY0RTY3MTcwRTE2MDMwMEFCMjc5OSAvKiBD
YWNoZWRGb250Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q0NzBBQjc1QTZGMDAw
RTVBQzQgLyogSlNTVkdBbmltYXRlZE51bWJlckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDRCMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENEQwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZH
QW5pbWF0ZWRSZWN0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCBmMmQ5MmI0YjJmOTBlNGM0ZWE1MmE5
YTQ1NDk2N2JmMDZiYjhiNGYyLi4zNGU1OGJkMjY3NjljOTI4M2Q2ZjRiYmE1ODNhZTVlODZmYjJi
ZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCkBAIC0yNSwzOSArMjUsMTcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkhUTUxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAi
SGlzdG9yeS5oIgotI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXIuaCIKLSNpbmNsdWRlICJKU0RhdGFW
aWV3LmgiCiAjaW5jbHVkZSAiSlNFdmVudC5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5o
IgotI2luY2x1ZGUgIkpTRXZlbnRTb3VyY2UuaCIKLSNpbmNsdWRlICJKU0Zsb2F0MzJBcnJheS5o
IgotI2luY2x1ZGUgIkpTRmxvYXQ2NEFycmF5LmgiCiAjaW5jbHVkZSAiSlNIVE1MQXVkaW9FbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkpTSFRNTE9w
dGlvbkVsZW1lbnQuaCIKLSNpbmNsdWRlICJKU0hpc3RvcnkuaCIKICNpbmNsdWRlICJKU0ltYWdl
Q29uc3RydWN0b3IuaCIKLSNpbmNsdWRlICJKU0ludDE2QXJyYXkuaCIKLSNpbmNsdWRlICJKU0lu
dDMyQXJyYXkuaCIKLSNpbmNsdWRlICJKU0ludDhBcnJheS5oIgotI2luY2x1ZGUgIkpTTG9jYXRp
b24uaCIKLSNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmgiCiAjaW5jbHVkZSAiSlNNZXNzYWdl
UG9ydEN1c3RvbS5oIgotI2luY2x1ZGUgIkpTVWludDE2QXJyYXkuaCIKLSNpbmNsdWRlICJKU1Vp
bnQzMkFycmF5LmgiCi0jaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCi0jaW5jbHVkZSAiSlNVaW50
OENsYW1wZWRBcnJheS5oIgotI2luY2x1ZGUgIkpTV2ViS2l0Q1NTTWF0cml4LmgiCi0jaW5jbHVk
ZSAiSlNXZWJLaXRQb2ludC5oIgotI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3QuaCIKLSNpbmNs
dWRlICJKU1hTTFRQcm9jZXNzb3IuaCIKICNpbmNsdWRlICJMb2NhdGlvbi5oIgotI2luY2x1ZGUg
Ik1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCi0jaW5jbHVk
ZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKICNpbmNsdWRl
ICJKU1dvcmtlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAppbmRleCBm
MDkwNjk1YzFkMGY2OWRjZDg0ZWNmOTJjYmQyNTVkODM0YWEzOWRhLi4xMTU0MzczZjc1MjZiY2Zl
ODllYmY1YWZjMTAwMTcwYmZkZjZlMzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VT
b3VyY2UuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBDU1NGb250RmFjZVNvdXJjZV9oCiAj
ZGVmaW5lIENTU0ZvbnRGYWNlU291cmNlX2gKIAotI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKKyNp
bmNsdWRlICJDYWNoZWRGb250Q2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC00
NCw3ICs0NCw2IEBAIGNsYXNzIFNWR0ZvbnRFbGVtZW50OwogY2xhc3MgU1ZHRm9udEZhY2VFbGVt
ZW50OwogI2VuZGlmCiAKLQogY2xhc3MgQ1NTRm9udEZhY2VTb3VyY2UgOiBwdWJsaWMgQ2FjaGVk
Rm9udENsaWVudCB7CiBwdWJsaWM6CiAgICAgQ1NTRm9udEZhY2VTb3VyY2UoY29uc3QgU3RyaW5n
JiwgQ2FjaGVkRm9udCogPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1BhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UGF0dGVybi5jcHAKaW5kZXggOTI1MmEyYWEyMzFhOTk4MmM0ODQ4NTE1ZDhlMWZjZmIyMDdmMTFl
Ny4uYTQ1NTc0MThlYjk3OWY3NDI1MTE3ZDI1NDAyYmI4MmI2MmU2OTI1OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAKQEAgLTI3LDEwICsyNywyNyBA
QAogI2luY2x1ZGUgIkNhbnZhc1BhdHRlcm4uaCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQYXNzUmVmUHRy
PENhbnZhc1BhdHRlcm4+IENhbnZhc1BhdHRlcm46OmNyZWF0ZShQYXNzUmVmUHRyPEltYWdlPiBp
bWFnZSwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFksIGJvb2wgb3JpZ2luQ2xlYW4pCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNQYXR0ZXJuKGltYWdlLCByZXBlYXRYLCByZXBl
YXRZLCBvcmlnaW5DbGVhbikpOworfQorCitDYW52YXNQYXR0ZXJuOjpDYW52YXNQYXR0ZXJuKFBh
c3NSZWZQdHI8SW1hZ2U+IGltYWdlLCBib29sIHJlcGVhdFgsIGJvb2wgcmVwZWF0WSwgYm9vbCBv
cmlnaW5DbGVhbikKKyAgICA6IG1fcGF0dGVybihQYXR0ZXJuOjpjcmVhdGUoaW1hZ2UsIHJlcGVh
dFgsIHJlcGVhdFkpKQorICAgICwgbV9vcmlnaW5DbGVhbihvcmlnaW5DbGVhbikKK3sKK30KKwor
Q2FudmFzUGF0dGVybjo6fkNhbnZhc1BhdHRlcm4oKQoreworfQorCiB2b2lkIENhbnZhc1BhdHRl
cm46OnBhcnNlUmVwZXRpdGlvblR5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBib29sJiByZXBlYXRY
LCBib29sJiByZXBlYXRZLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9IDA7CkBAIC01
NywxMCArNzQsNCBAQCB2b2lkIENhbnZhc1BhdHRlcm46OnBhcnNlUmVwZXRpdGlvblR5cGUoY29u
c3QgU3RyaW5nJiB0eXBlLCBib29sJiByZXBlYXRYLCBib29sJgogICAgIGVjID0gU1lOVEFYX0VS
UjsKIH0KIAotQ2FudmFzUGF0dGVybjo6Q2FudmFzUGF0dGVybihQYXNzUmVmUHRyPEltYWdlPiBp
bWFnZSwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFksIGJvb2wgb3JpZ2luQ2xlYW4pCi0gICAg
OiBtX3BhdHRlcm4oUGF0dGVybjo6Y3JlYXRlKGltYWdlLCByZXBlYXRYLCByZXBlYXRZKSkKLSAg
ICAsIG1fb3JpZ2luQ2xlYW4ob3JpZ2luQ2xlYW4pCi17Ci19Ci0KLX0KK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bh
dHRlcm4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaAppbmRl
eCA1ODg0OGE5OTI1MzE1NGIxOGFjMjMxNTU5ZjczYmQyNjg4NDkyMmNkLi45ZmVkNTc1OWE0ZjIy
NDlhOGZlMTlhYzFhNjYzNGJmMzBhNDFlMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUGF0dGVybi5oCkBAIC0yNiwzNiArMjYsMzUgQEAKICNpZm5kZWYgQ2FudmFzUGF0
dGVybl9oCiAjZGVmaW5lIENhbnZhc1BhdHRlcm5faAogCi0jaW5jbHVkZSAiUGF0dGVybi5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgSW1hZ2U7CitjbGFzcyBJbWFnZTsKK2NsYXNz
IFBhdHRlcm47CiAKLSAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwordHlwZWRlZiBpbnQg
RXhjZXB0aW9uQ29kZTsKIAotICAgIGNsYXNzIENhbnZhc1BhdHRlcm4gOiBwdWJsaWMgUmVmQ291
bnRlZDxDYW52YXNQYXR0ZXJuPiB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgdm9pZCBw
YXJzZVJlcGV0aXRpb25UeXBlKGNvbnN0IFN0cmluZyYsIGJvb2wmIHJlcGVhdFgsIGJvb2wmIHJl
cGVhdFksIEV4Y2VwdGlvbkNvZGUmKTsKK2NsYXNzIENhbnZhc1BhdHRlcm4gOiBwdWJsaWMgUmVm
Q291bnRlZDxDYW52YXNQYXR0ZXJuPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2FudmFzUGF0dGVybj4gY3JlYXRlKFBhc3NSZWZQdHI8SW1hZ2U+LCBib29sIHJlcGVhdFgsIGJv
b2wgcmVwZWF0WSwgYm9vbCBvcmlnaW5DbGVhbik7CisgICAgfkNhbnZhc1BhdHRlcm4oKTsKIAot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBjcmVhdGUoUGFzc1JlZlB0
cjxJbWFnZT4gaW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZLCBib29sIG9yaWdpbkNs
ZWFuKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1Bh
dHRlcm4oaW1hZ2UsIHJlcGVhdFgsIHJlcGVhdFksIG9yaWdpbkNsZWFuKSk7Ci0gICAgICAgIH0K
KyAgICBzdGF0aWMgdm9pZCBwYXJzZVJlcGV0aXRpb25UeXBlKGNvbnN0IFN0cmluZyYsIGJvb2wm
IHJlcGVhdFgsIGJvb2wmIHJlcGVhdFksIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgICAgICBQYXR0
ZXJuKiBwYXR0ZXJuKCkgY29uc3QgeyByZXR1cm4gbV9wYXR0ZXJuLmdldCgpOyB9CisgICAgUGF0
dGVybiogcGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fcGF0dGVybi5nZXQoKTsgfQogCi0gICAg
ICAgIGJvb2wgb3JpZ2luQ2xlYW4oKSBjb25zdCB7IHJldHVybiBtX29yaWdpbkNsZWFuOyB9Cisg
ICAgYm9vbCBvcmlnaW5DbGVhbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luQ2xlYW47IH0KIAot
ICAgIHByaXZhdGU6Ci0gICAgICAgIENhbnZhc1BhdHRlcm4oUGFzc1JlZlB0cjxJbWFnZT4sIGJv
b2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZLCBib29sIG9yaWdpbkNsZWFuKTsKK3ByaXZhdGU6Cisg
ICAgQ2FudmFzUGF0dGVybihQYXNzUmVmUHRyPEltYWdlPiwgYm9vbCByZXBlYXRYLCBib29sIHJl
cGVhdFksIGJvb2wgb3JpZ2luQ2xlYW4pOwogCi0gICAgICAgIFJlZlB0cjxQYXR0ZXJuPiBtX3Bh
dHRlcm47Ci0gICAgICAgIGJvb2wgbV9vcmlnaW5DbGVhbjsKLSAgICB9OworICAgIFJlZlB0cjxQ
YXR0ZXJuPiBtX3BhdHRlcm47CisgICAgYm9vbCBtX29yaWdpbkNsZWFuOworfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2Ny
aXB0UnVubmVyLmgKaW5kZXggYTcyMjZkYzFjMjM1ZTk4ZmZkNDhjYWI4ZDAzNTYxYzU3M2M1ZDBh
ZC4uYTU2NjkzNjhhZmRjMzVmOWU4OGQzNGM4MDFhZmRjN2JjYTE1YmQ2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjgsOCArMjgsOCBA
QAogCiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0
aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCmluZGV4IGQ2OTFjODFjZTc2MTc3MWJh
MWM4Nzg4ZmVhNGVmODEyYTg5MjQwZDIuLmIzNGI3MDVkMGU5ZTUwMzFmMmI0OGJiNDYyYTg5YzE3
NWMzYTEyM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCkBAIC0yMyw5ICsyMyw5
IEBACiAjaWZuZGVmIEltYWdlTG9hZGVyX2gKICNkZWZpbmUgSW1hZ2VMb2FkZXJfaAogCi0jaW5j
bHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKaW5kZXggNGM4NTNkYWY0ZjMxYTE3NWE5MWE4MWYzN2Zm
YWJhZGZmNjdjYmMxZC4uOGI4N2Q4MjJkMGU3ZDVmNzg5MTQyOTY2OTc3OGRhZjA1ZmJjMzYxMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5oCkBAIC00Miw3ICs0MiwxMCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERvY3VtZW50OworY2xhc3MgS1VSTDsKIHN0cnVjdCBM
aW5rUmVsQXR0cmlidXRlOworCiAjaWYgRU5BQkxFKExJTktfUFJFUkVOREVSKQogY2xhc3MgUHJl
cmVuZGVySGFuZGxlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVy
LmgKaW5kZXggYTVhZDAzZjA1MDU2YTMyMDc2OTc1ZDc2N2I1ZTQ5OTg1YzZhZjJhNS4uMzZmM2Vm
MDllYzJkMTE4Y2YzMjQ5M2UyZjBhNmNiMmMyZjYwMjJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuaApAQCAtMzAsMTMgKzMwLDEzIEBACiAKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCi0j
aW5jbHVkZSAiQ2FjaGVkVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRl
ICJXZWJWVFRQYXJzZXIuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgQ2FjaGVkVGV4dFRyYWNrOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBUZXh0VHJhY2tMb2FkZXI7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCmluZGV4IDBkNGU5MTJmOTgzN2Rh
ZGI3MzgzMjBiY2U2MjU5NmRhMDdiODliMjAuLjAwMmY4Mjg4MGQ4Yjk3NTg3NDdjZmY4YzdkOWEx
NmYxZmM1ZTJlNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRGb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5j
cHAKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNo
ZWRGb250LmgiCiAKLSNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgorI2luY2x1ZGUg
IkNhY2hlZEZvbnRDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtl
ci5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZEZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250
LmgKaW5kZXggNWMyOGUyZDFlOThlYmI2MTc0ZDQwMTJlMjQyZWU0Mjg2ODhlZDIzNC4uMGM0ZDdj
YjM5NmM1ZDg2M2ViODQzMDBmMmNiYzEwNTkyYmYxZmJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5oCkBAIC03NiwxNCArNzYsNiBAQCBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKIH07CiAKLWNsYXNzIENhY2hlZEZvbnRDbGllbnQgOiBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNhY2hl
ZEZvbnRDbGllbnQoKSB7IH0KLSAgICBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIGV4
cGVjdGVkVHlwZSgpIHsgcmV0dXJuIEZvbnRUeXBlOyB9Ci0gICAgdmlydHVhbCBDYWNoZWRSZXNv
dXJjZUNsaWVudFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gZXhwZWN0
ZWRUeXBlKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZm9udExvYWRlZChDYWNoZWRGb250KikgeyB9
Ci19OworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19Ci0KLSNlbmRpZgorI2VuZGlmIC8vIENh
Y2hlZEZvbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEZvbnRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250Q2xp
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGFlNjQxOGNhMmZlNGZmNGY1YzYyYjdhMTIwZmU0ODI3YjM4NGQ1
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRG
b250Q2xpZW50LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FjaGVk
Rm9udENsaWVudF9oCisjZGVmaW5lIENhY2hlZEZvbnRDbGllbnRfaAorCisjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VDbGllbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNo
ZWRGb250OworCitjbGFzcyBDYWNoZWRGb250Q2xpZW50IDogcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DYWNoZWRGb250Q2xpZW50KCkgeyB9Cisg
ICAgc3RhdGljIENhY2hlZFJlc291cmNlQ2xpZW50VHlwZSBleHBlY3RlZFR5cGUoKSB7IHJldHVy
biBGb250VHlwZTsgfQorICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291
cmNlQ2xpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9CisgICAgdmly
dHVhbCB2b2lkIGZvbnRMb2FkZWQoQ2FjaGVkRm9udCopIHsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FjaGVkRm9udENsaWVudF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcAppbmRleCAw
ZGY3NjkzMGQ2NTQ5NjRiYzA4N2E3YmZhYzQ3NGZiN2QxMmUzYWE2Li45ZmE2MjdjMTA0OWQwNDVj
NTlhNWRhZTA3ZWMwMDkzYTlkODkyMTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTI2LDExICsyNiwzNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAK
KyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0
cnVtZW50YXRpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlZFJlc291
cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKSAKK0Nh
Y2hlZFJlc291cmNlSGFuZGxlQmFzZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKCkKKyAgICA6
IG1fcmVzb3VyY2UoMCkKK3sKK30KKworQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpDYWNoZWRS
ZXNvdXJjZUhhbmRsZUJhc2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorICAgIDogbV9yZXNv
dXJjZShyZXNvdXJjZSkKK3sKKyAgICBpZiAobV9yZXNvdXJjZSkKKyAgICAgICAgbV9yZXNvdXJj
ZS0+cmVnaXN0ZXJIYW5kbGUodGhpcyk7Cit9CisKK0NhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6
Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYg
b3RoZXIpCisgICAgOiBtX3Jlc291cmNlKG90aGVyLm1fcmVzb3VyY2UpCit7CisgICAgaWYgKG1f
cmVzb3VyY2UpCisgICAgICAgIG1fcmVzb3VyY2UtPnJlZ2lzdGVySGFuZGxlKHRoaXMpOworfQor
CitDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6On5DYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UoKQor
eworICAgIGlmIChtX3Jlc291cmNlKQorICAgICAgICBtX3Jlc291cmNlLT51bnJlZ2lzdGVySGFu
ZGxlKHRoaXMpOworfQorCit2b2lkIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewogICAgIGlmIChyZXNvdXJjZSA9PSBtX3Jl
c291cmNlKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5oCmluZGV4IDRhMTM5MjAyYTUyMjdlNTI4YzYzOGJk
YTMwNmFmNjNhYTRkYzA2NzMuLmY5ZTUxMTVhMDc4ZWQyNmFkNjJiZWViZjNlMzhkMjA2ZmI0NTRj
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUhhbmRsZS5oCkBAIC0yNiw3MiArMjYsNzYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VIYW5k
bGVfaAogI2RlZmluZSBDYWNoZWRSZXNvdXJjZUhhbmRsZV9oCiAKLSNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSB7Ci0gICAgcHVibGljOgot
ICAgICAgICB+Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKCkgeyBpZiAobV9yZXNvdXJjZSkgbV9y
ZXNvdXJjZS0+dW5yZWdpc3RlckhhbmRsZSh0aGlzKTsgfQotICAgICAgICBDYWNoZWRSZXNvdXJj
ZSogZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZTsgfQotICAgICAgICAKLSAgICAgICAg
Ym9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9yZXNvdXJjZTsgfQotICAgICAgICAK
LSAgICAgICAgLy8gVGhpcyBjb252ZXJzaW9uIG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252
ZXJzaW9uIHRvIGJvb2wgYnV0IG5vdCB0byBvdGhlciBpbnRlZ2VyIHR5cGVzLgotICAgICAgICB0
eXBlZGVmIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OipVbnNwZWNp
ZmllZEJvb2xUeXBlOwotICAgICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNvdXJjZSA/ICZDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6Om1fcmVz
b3VyY2UgOiAwOyB9Ci0KLSAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKikgY29uc3Q7Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIENhY2hlZFJlc291cmNl
SGFuZGxlQmFzZSgpIDogbV9yZXNvdXJjZSgwKSB7fQotICAgICAgICBDYWNoZWRSZXNvdXJjZUhh
bmRsZUJhc2UoQ2FjaGVkUmVzb3VyY2UqIHJlcykgeyBtX3Jlc291cmNlID0gcmVzOyBpZiAobV9y
ZXNvdXJjZSkgbV9yZXNvdXJjZS0+cmVnaXN0ZXJIYW5kbGUodGhpcyk7IH0KLSAgICAgICAgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGVCYXNlKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgbykg
OiBtX3Jlc291cmNlKG8ubV9yZXNvdXJjZSkgeyBpZiAobV9yZXNvdXJjZSkgbV9yZXNvdXJjZS0+
cmVnaXN0ZXJIYW5kbGUodGhpcyk7IH0KLQotICAgICAgICB2b2lkIHNldFJlc291cmNlKENhY2hl
ZFJlc291cmNlKik7Ci0gICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAgIENhY2hlZFJlc291
cmNlSGFuZGxlQmFzZSYgb3BlcmF0b3I9KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYp
IHsgcmV0dXJuICp0aGlzOyB9IAotICAgICAgICAKLSAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hl
ZFJlc291cmNlOwotCi0gICAgICAgIENhY2hlZFJlc291cmNlKiBtX3Jlc291cmNlOwotICAgIH07
Ci0gICAgICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBSPiBjbGFzcyBDYWNoZWRSZXNvdXJjZUhh
bmRsZSA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UgewotICAgIHB1YmxpYzogCi0g
ICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlKCkgeyB9Ci0gICAgICAgIENhY2hlZFJlc291cmNl
SGFuZGxlKFIqIHJlcykgOiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UocmVzKSB7IH0KLSAgICAg
ICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUoY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIG8p
IDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKG8pIHsgfQotICAgICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBDYWNoZWRSZXNvdXJjZUhhbmRsZShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxV
PiYgbykgOiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2Uoby5nZXQoKSkgeyB9Ci0KLSAgICAgICAg
UiogZ2V0KCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxSKj4oQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGVCYXNlOjpnZXQoKSk7IH0KLSAgICAgICAgUiogb3BlcmF0b3ItPigpIGNvbnN0IHsg
cmV0dXJuIGdldCgpOyB9Ci0gICAgICAgICAgICAgICAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGUmIG9wZXJhdG9yPShSKiByZXMpIHsgc2V0UmVzb3VyY2UocmVzKTsgcmV0dXJuICp0aGlz
OyB9IAotICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZSYgb3BlcmF0b3I9KGNvbnN0IENhY2hl
ZFJlc291cmNlSGFuZGxlJiBvKSB7IHNldFJlc291cmNlKG8uZ2V0KCkpOyByZXR1cm4gKnRoaXM7
IH0KLSAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9w
ZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxVPiYgbykgeyBzZXRSZXNvdXJjZShv
LmdldCgpKTsgcmV0dXJuICp0aGlzOyB9Ci0KLSAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYgbykgY29uc3QgeyByZXR1cm4gZ2V0KCkgPT0gby5n
ZXQoKTsgfQotICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlJiBvKSBjb25zdCB7IHJldHVybiBnZXQoKSAhPSBvLmdldCgpOyB9Ci0gICAgfTsKLQot
ICAgIHRlbXBsYXRlIDxjbGFzcyBSLCBjbGFzcyBSUj4gYm9vbCBvcGVyYXRvcj09KGNvbnN0IENh
Y2hlZFJlc291cmNlSGFuZGxlPFI+JiBoLCBjb25zdCBSUiogcmVzKSAKLSAgICB7IAotICAgICAg
ICByZXR1cm4gaC5nZXQoKSA9PSByZXM7IAotICAgIH0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgUiwg
Y2xhc3MgUlI+IGJvb2wgb3BlcmF0b3I9PShjb25zdCBSUiogcmVzLCBjb25zdCBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxSPiYgaCkgCi0gICAgeyAKLSAgICAgICAgcmV0dXJuIGguZ2V0KCkgPT0gcmVz
OyAKLSAgICB9Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9y
IT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIGgsIGNvbnN0IFJSKiByZXMpIAotICAg
IHsgCi0gICAgICAgIHJldHVybiBoLmdldCgpICE9IHJlczsgCi0gICAgfQotICAgIHRlbXBsYXRl
IDxjbGFzcyBSLCBjbGFzcyBSUj4gYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJSKiByZXMsIGNvbnN0
IENhY2hlZFJlc291cmNlSGFuZGxlPFI+JiBoKSAKLSAgICB7IAotICAgICAgICByZXR1cm4gaC5n
ZXQoKSAhPSByZXM7IAotICAgIH0KK2NsYXNzIENhY2hlZFJlc291cmNlOworCitjbGFzcyBDYWNo
ZWRSZXNvdXJjZUhhbmRsZUJhc2UgeworcHVibGljOgorICAgIH5DYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2UoKTsKKworICAgIENhY2hlZFJlc291cmNlKiBnZXQoKSBjb25zdCB7IHJldHVybiBtX3Jl
c291cmNlOyB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9y
ZXNvdXJjZTsgfQorICAgIAorICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3Mg
aW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBl
cy4KKyAgICB0eXBlZGVmIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6
OipVbnNwZWNpZmllZEJvb2xUeXBlOworICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlID8gJkNhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6
bV9yZXNvdXJjZSA6IDA7IH0KKworICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyopIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVC
YXNlKCk7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKENhY2hlZFJlc291cmNlKik7Cisg
ICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFz
ZSYpOworCisgICAgdm9pZCBzZXRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOworICAgIAorcHJp
dmF0ZToKKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UmIG9wZXJhdG9yPShjb25zdCBDYWNo
ZWRSZXNvdXJjZUhhbmRsZUJhc2UmKSB7IHJldHVybiAqdGhpczsgfSAKKyAgICAKKyAgICBmcmll
bmQgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CisKKyAgICBDYWNoZWRSZXNvdXJjZSogbV9yZXNvdXJj
ZTsKK307CisgICAgCit0ZW1wbGF0ZSA8Y2xhc3MgUj4gY2xhc3MgQ2FjaGVkUmVzb3VyY2VIYW5k
bGUgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlIHsKK3B1YmxpYzogCisgICAgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUoKSB7IH0KKyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZShSKiByZXMp
IDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKHJlcykgeyB9CisgICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGUoY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIG8pIDogQ2FjaGVkUmVzb3VyY2VI
YW5kbGVCYXNlKG8pIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IENhY2hlZFJlc291cmNl
SGFuZGxlKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPFU+JiBvKSA6IENhY2hlZFJlc291cmNl
SGFuZGxlQmFzZShvLmdldCgpKSB7IH0KKworICAgIFIqIGdldCgpIGNvbnN0IHsgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8Uio+KENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6Z2V0KCkpOyB9Cisg
ICAgUiogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIGdldCgpOyB9CisKKyAgICBDYWNoZWRS
ZXNvdXJjZUhhbmRsZSYgb3BlcmF0b3I9KFIqIHJlcykgeyBzZXRSZXNvdXJjZShyZXMpOyByZXR1
cm4gKnRoaXM7IH0gCisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9wZXJhdG9yPShjb25zdCBD
YWNoZWRSZXNvdXJjZUhhbmRsZSYgbykgeyBzZXRSZXNvdXJjZShvLmdldCgpKTsgcmV0dXJuICp0
aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gQ2FjaGVkUmVzb3VyY2VIYW5kbGUmIG9w
ZXJhdG9yPShjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxVPiYgbykgeyBzZXRSZXNvdXJjZShv
LmdldCgpKTsgcmV0dXJuICp0aGlzOyB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGVCYXNlJiBvKSBjb25zdCB7IHJldHVybiBnZXQoKSA9PSBvLmdldCgp
OyB9CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZSYg
bykgY29uc3QgeyByZXR1cm4gZ2V0KCkgIT0gby5nZXQoKTsgfQorfTsKKwordGVtcGxhdGUgPGNs
YXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9yPT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Uj4mIGgsIGNvbnN0IFJSKiByZXMpIAoreyAKKyAgICByZXR1cm4gaC5nZXQoKSA9PSByZXM7
IAorfQordGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UlIqIHJlcywgY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIGgpIAoreyAKKyAgICByZXR1
cm4gaC5nZXQoKSA9PSByZXM7IAogfQordGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIFJSPiBib29s
IG9wZXJhdG9yIT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj4mIGgsIGNvbnN0IFJSKiBy
ZXMpIAoreyAKKyAgICByZXR1cm4gaC5nZXQoKSAhPSByZXM7IAorfQordGVtcGxhdGUgPGNsYXNz
IFIsIGNsYXNzIFJSPiBib29sIG9wZXJhdG9yIT0oY29uc3QgUlIqIHJlcywgY29uc3QgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Uj4mIGgpIAoreyAKKyAgICByZXR1cm4gaC5nZXQoKSAhPSByZXM7IAor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorI2VuZGlmIC8vIENhY2hlZFJl
c291cmNlSGFuZGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkU1ZHRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdE
b2N1bWVudC5oCmluZGV4IDgzZTU5YzRjYjk1NDY0ZDY0OWRiM2YzZjE3NDc4Zjc4MTU0YWFhODgu
LjU2Y2JlMjg1ZTdkZjdkZTRhY2E2MmJjNDQ0ZDFhMzI4MjAzMDdlODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5oCkBAIC0yNSw3ICsyNSw2
IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCi0jaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNl
RGVjb2Rlci5oIgpAQCAtNTAsMTUgKzQ5LDggQEAgcHJvdGVjdGVkOgogICAgIFJlZlB0cjxUZXh0
UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiB9OwogCi1jbGFzcyBDYWNoZWRTVkdEb2N1bWVu
dENsaWVudCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdmly
dHVhbCB+Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQoKSB7IH0KLSAgICBzdGF0aWMgQ2FjaGVkUmVz
b3VyY2VDbGllbnRUeXBlIGV4cGVjdGVkVHlwZSgpIHsgcmV0dXJuIFNWR0RvY3VtZW50VHlwZTsg
fQotICAgIHZpcnR1YWwgQ2FjaGVkUmVzb3VyY2VDbGllbnRUeXBlIHJlc291cmNlQ2xpZW50VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIGV4cGVjdGVkVHlwZSgpOyB9Ci19OwotCi19Cit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorI2VuZGlmIC8vIFVTRShTVkcpCiAKICNlbmRpZiAvLyBD
YWNoZWRTVkdEb2N1bWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTVkdEb2N1bWVudENsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwZWI1YTlmMzE5OTRkNzA5
ZTAwNGFlNWIxMjc0ZTdhZDM0YTgwZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaApAQCAtMCwwICsxLDQ1IEBA
CisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBSb2IgQnVpcyA8cndsYnVpc0BnbWFpbC5jb20+
CisgICAgQ29weXJpZ2h0IChDKSAyMDExIENvc21pbiBUcnV0YSA8Y3RydXRhQGdtYWlsLmNvbT4K
KyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAgICBDb3B5cmln
aHQgKEMpIDIwMTIgUmVuYXRhIEhvZG92YW4gPHJlbmlAd2Via2l0Lm9yZz4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVm
IENhY2hlZFNWR0RvY3VtZW50Q2xpZW50X2gKKyNkZWZpbmUgQ2FjaGVkU1ZHRG9jdW1lbnRDbGll
bnRfaAorCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkU1ZHRG9jdW1lbnQ7CisK
K2NsYXNzIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50IDogcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DYWNoZWRTVkdEb2N1bWVudENsaWVudCgpIHsg
fQorICAgIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUNsaWVudFR5cGUgZXhwZWN0ZWRUeXBlKCkgeyBy
ZXR1cm4gU1ZHRG9jdW1lbnRUeXBlOyB9CisgICAgdmlydHVhbCBDYWNoZWRSZXNvdXJjZUNsaWVu
dFR5cGUgcmVzb3VyY2VDbGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gZXhwZWN0ZWRUeXBlKCk7
IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcp
CisKKyNlbmRpZiAvLyBDYWNoZWRTVkdEb2N1bWVudENsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oCmlu
ZGV4IDQ2ODAzMGY4YmYyOGVmN2EzYzJlOTc2ZDk1YmVhNTI0YWE5NzdmYjIuLmNkYTJlY2E0Y2Jh
NWFhODQ5MDhkNmRhYzZjY2Q1OGYyMmU2MTk2ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oCkBAIC0yNyw4
ICsyNywxMCBAQAogI2RlZmluZSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZV9oCiAKICNpZiBF
TkFCTEUoU1ZHKSAmJiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCisKICNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFNWR0RvY3VtZW50LmgiCisjaW5jbHVkZSAi
Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
Myw2ICs0NSw2IEBAIHByaXZhdGU6CiAKIH07CiAKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShT
VkcpICYmIEVOQUJMRShDU1NfRklMVEVSUykKIAotI2VuZGlmCisjZW5kaWYgLy8gQ2FjaGVkU1ZH
RG9jdW1lbnRSZWZlcmVuY2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgKaW5kZXggNGM4NzUzMDhhYjhiNGRiZTllMDhhNjY3
MTBiZjFmODk5ZWE1NDFhZC4uYTQ4OGFmMGQyMTkxYzE5NGRkZmM3NzY1NTY4ZDNjNWQ2YTA1N2E4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFN0eWxlU2hl
ZXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVT
aGVldENsaWVudC5oCkBAIC0zMCw3ICszMCw5IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OworY2xh
c3MgS1VSTDsKIAogY2xhc3MgQ2FjaGVkU3R5bGVTaGVldENsaWVudCA6IHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CkBAIC00MCw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIC8qIGhyZWYgKi8sIGNv
bnN0IEtVUkwmIC8qIGJhc2VVUkwgKi8sIGNvbnN0IFN0cmluZyYgLyogY2hhcnNldCAqLywgY29u
c3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHls
ZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VSTCYgLyogYmFzZVVSTCAq
LywgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykgeyB9CiB9OwotfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5oCmluZGV4IDRmYWM1NGEwNDRhY2NjYWQ2YWI1
N2NhNTg1MGYzZTU1ZmRhNDVhNjYuLjkzMzZjN2Y2NDVhZjBmYTk5MWY0YjUzOGY2ZTQ0NTk2NTY1
ZDUzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaApAQCAtMjYs
MTMgKzI2LDE4IEBACiAjaWZuZGVmIFBsYXRmb3JtU2NyZWVuX2gKICNkZWZpbmUgUGxhdGZvcm1T
Y3JlZW5faAogCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAj
aWYgUExBVEZPUk0oTUFDKQogT0JKQ19DTEFTUyBOU1NjcmVlbjsKIE9CSkNfQ0xBU1MgTlNXaW5k
b3c7CisjaWZkZWYgTlNHRU9NRVRSWV9UWVBFU19TQU1FX0FTX0NHR0VPTUVUUllfVFlQRVMKK3R5
cGVkZWYgc3RydWN0IENHUmVjdCBOU1JlY3Q7Cit0eXBlZGVmIHN0cnVjdCBDR1BvaW50IE5TUG9p
bnQ7CisjZWxzZQordHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBOU1JlY3Q7Cit0eXBlZGVmIHN0cnVj
dCBfTlNQb2ludCBOU1BvaW50OworI2VuZGlmCiAjZW5kaWYKIAogdHlwZWRlZiB1aW50MzJfdCBQ
bGF0Zm9ybURpc3BsYXlJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZFbGV2YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkVsZXZhdGlvbi5jcHAKaW5kZXggYjUwMTAxMGQxNjhhOGExZTZhOTJmNzUwZDNkMDM2ZGM1OTJj
MWNjMi4uZTY4OTI3ZDBlZDUzZDljZjk0NDM1MjdhODRkZTM4Mzc1ZjNhNDljZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5jcHAKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKICNpbmNsdWRlICJCaXF1YWQu
aCIKICNpbmNsdWRlICJGRlRGcmFtZS5oIgorI2luY2x1ZGUgIkhSVEZEYXRhYmFzZUxvYWRlci5o
IgogI2luY2x1ZGUgIkhSVEZQYW5uZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZLZXJuZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKaW5kZXggYWZmYTVmNDViOGE3NjBmYTcxMzZlOTkz
ZDc3MjYyOTNhOWNjYTg4OS4uNTBhNGE0MGEwYzg1ODVlZTQzODY0OWFmZGQyM2RiMzkyODQ5Yzhk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5jcHAKQEAg
LTk5LDYgKzk5LDExIEBAIEhSVEZLZXJuZWw6OkhSVEZLZXJuZWwoQXVkaW9DaGFubmVsKiBjaGFu
bmVsLCBzaXplX3QgZmZ0U2l6ZSwgZmxvYXQgc2FtcGxlUmF0ZSkKICAgICBtX2ZmdEZyYW1lLT5k
b1BhZGRlZEZGVChpbXB1bHNlUmVzcG9uc2UsIHRydW5jYXRlZFJlc3BvbnNlTGVuZ3RoKTsKIH0K
IAorc2l6ZV90IEhSVEZLZXJuZWw6OmZmdFNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX2Zm
dEZyYW1lLT5mZnRTaXplKCk7Cit9CisKIFBhc3NPd25QdHI8QXVkaW9DaGFubmVsPiBIUlRGS2Vy
bmVsOjpjcmVhdGVJbXB1bHNlUmVzcG9uc2UoKQogewogICAgIE93blB0cjxBdWRpb0NoYW5uZWw+
IGNoYW5uZWwgPSBhZG9wdFB0cihuZXcgQXVkaW9DaGFubmVsKGZmdFNpemUoKSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURktlcm5lbC5oCmluZGV4IGQ0MDdhMzE3YThiMDE5
ZDg1ZDI4ZTg3OTI3M2QzZWQzOWE5ZjM2NDIuLjg5N2IzNWRhNWZiMzUxODdlMjUwZjlmMWQxYjk1
NjVkNzgzNDYwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGS2VybmVs
LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAKICAgICBGRlRGcmFtZSogZmZ0RnJhbWUo
KSB7IHJldHVybiBtX2ZmdEZyYW1lLmdldCgpOyB9CiAgICAgCi0gICAgc2l6ZV90IGZmdFNpemUo
KSBjb25zdCB7IHJldHVybiBtX2ZmdEZyYW1lLT5mZnRTaXplKCk7IH0KKyAgICBzaXplX3QgZmZ0
U2l6ZSgpIGNvbnN0OwogICAgIGZsb2F0IGZyYW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX2Zy
YW1lRGVsYXk7IH0KIAogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCB7IHJldHVybiBtX3Nh
bXBsZVJhdGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Jl
dmVyYkNvbnZvbHZlclN0YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Jl
dmVyYkNvbnZvbHZlclN0YWdlLmNwcAppbmRleCA0MWY3NmJhZWJiYTdmZTAzODM2OWEyNmYxOWRm
MTk3Y2RhOWZjZDExLi43ZDg1ZGEyZDUyMTI2MzU0NTcyNzBjZThkMzZlNjNhOWUzNjhjOGEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJT
dGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9s
dmVyU3RhZ2UuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJSZXZlcmJDb252b2x2
ZXJTdGFnZS5oIgogCisjaW5jbHVkZSAiRkZURnJhbWUuaCIKICNpbmNsdWRlICJWZWN0b3JNYXRo
LmgiCiAjaW5jbHVkZSAiUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmV2
ZXJiQ29udm9sdmVyLmgiCkBAIC05MSw2ICs5MiwxMCBAQCBSZXZlcmJDb252b2x2ZXJTdGFnZTo6
UmV2ZXJiQ29udm9sdmVyU3RhZ2UoY29uc3QgZmxvYXQqIGltcHVsc2VSZXNwb25zZSwgc2l6ZV90
LAogICAgIG1fcHJlRGVsYXlCdWZmZXIuYWxsb2NhdGUoZGVsYXlCdWZmZXJTaXplKTsKIH0KIAor
UmV2ZXJiQ29udm9sdmVyU3RhZ2U6On5SZXZlcmJDb252b2x2ZXJTdGFnZSgpCit7Cit9CisKIHZv
aWQgUmV2ZXJiQ29udm9sdmVyU3RhZ2U6OnByb2Nlc3NJbkJhY2tncm91bmQoUmV2ZXJiQ29udm9s
dmVyKiBjb252b2x2ZXIsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiB7CiAgICAgUmV2ZXJiSW5w
dXRCdWZmZXIqIGlucHV0QnVmZmVyID0gY29udm9sdmVyLT5pbnB1dEJ1ZmZlcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlclN0YWdlLmgK
aW5kZXggYThhOWY0N2IwMDYxODAyOThhZjhlMGQ0NTNjY2UyNGE3N2I1OGRiOC4uYzhlNjhmNjI3
OWIzZDUyMDBjODQ3YzU2MWEyYmUxOTQ5NTc5YjVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyU3RhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXJTdGFnZS5oCkBAIC0zMCwxMSArMzAs
MTEgQEAKICNkZWZpbmUgUmV2ZXJiQ29udm9sdmVyU3RhZ2VfaAogCiAjaW5jbHVkZSAiQXVkaW9B
cnJheS5oIgotI2luY2x1ZGUgIkZGVEZyYW1lLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEZGVEZyYW1lOwogY2xhc3MgUmV2ZXJiQWNj
dW11bGF0aW9uQnVmZmVyOwogY2xhc3MgUmV2ZXJiQ29udm9sdmVyOwogY2xhc3MgRkZUQ29udm9s
dmVyOwpAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgLy8gcmVuZGVyUGhhc2UgaXMgdXNl
ZnVsIHRvIGtub3cgc28gdGhhdCB3ZSBjYW4gbWFuaXB1bGF0ZSB0aGUgcHJlIHZlcnN1cyBwb3N0
IGRlbGF5IHNvIHRoYXQgc3RhZ2VzIHdpbGwgcGVyZm9ybQogICAgIC8vIHRoZWlyIGhlYXZ5IHdv
cmsgKEZGVCBwcm9jZXNzaW5nKSBvbiBkaWZmZXJlbnQgc2xpY2VzIHRvIGJhbGFuY2UgdGhlIGxv
YWQgaW4gYSByZWFsLXRpbWUgdGhyZWFkLgogICAgIFJldmVyYkNvbnZvbHZlclN0YWdlKGNvbnN0
IGZsb2F0KiBpbXB1bHNlUmVzcG9uc2UsIHNpemVfdCByZXNwb25zZUxlbmd0aCwgc2l6ZV90IHJl
dmVyYlRvdGFsTGF0ZW5jeSwgc2l6ZV90IHN0YWdlT2Zmc2V0LCBzaXplX3Qgc3RhZ2VMZW5ndGgs
IHNpemVfdCBmZnRTaXplLCBzaXplX3QgcmVuZGVyUGhhc2UsIHNpemVfdCByZW5kZXJTbGljZVNp
emUsIFJldmVyYkFjY3VtdWxhdGlvbkJ1ZmZlciosIGJvb2wgZGlyZWN0TW9kZSA9IGZhbHNlKTsK
KyAgICB+UmV2ZXJiQ29udm9sdmVyU3RhZ2UoKTsKIAogICAgIC8vIFdBUk5JTkc6IGZyYW1lc1Rv
UHJvY2VzcyBtdXN0IGJlIHN1Y2ggdGhhdCBpdCBldmVubHkgZGl2aWRlcyB0aGUgZGVsYXkgYnVm
ZmVyIHNpemUgKHN0YWdlX29mZnNldCkuCiAgICAgdm9pZCBwcm9jZXNzKGNvbnN0IGZsb2F0KiBz
b3VyY2UsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDI4ODQxZTc1YzMwN2Jj
YzJjNDhmNjc2MmJiMTQ2MTY5YzYxZDY2ZWQuLmM5MjYyMjU0YjM4MmFiODRjOTBkMGEzOWVhNTRj
ZjA3YjJiMzc2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTU1LDkgKzU1LDYgQEAgT0JKQ19DTEFTUyBOU0ZvbnQ7
CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1
Y3QgX19DVEZvbnQqIENURm9udFJlZjsKLQotI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGQmFz
ZS5oPgotI2luY2x1ZGUgPG9iamMvb2JqYy1hdXRvLmg+CiAjZW5kaWYKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA1ZGEyOTY0Y2EyZTA5Y2RhYTljYmY3NjdiN2RhNWVh
MWRmMmRkZjllLi4zYTM4NGIzNTA5ZGI4NTYwMmExOGI1YThhZmRkYTVjMGJjZTM1MDNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTUyLDcgKzUyLDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2lu
Y2x1ZGUgPE9wZW5HTC9PcGVuR0wuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiBPQkpD
X0NMQVNTIENBTGF5ZXI7CiBPQkpDX0NMQVNTIFdlYkdMTGF5ZXI7CkBAIC03MCw2ICs2OSw4IEBA
IHR5cGVkZWYgdW5zaWduZWQgaW50IEdMdWludDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFD
KQordHlwZWRlZiBzdHJ1Y3QgX0NHTENvbnRleHRPYmplY3QgKkNHTENvbnRleHRPYmo7CisKIHR5
cGVkZWYgQ0dMQ29udGV4dE9iaiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwogI2VsaWYgUExB
VEZPUk0oUVQpCiB0eXBlZGVmIFFPcGVuR0xDb250ZXh0KiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEOwpAQCAtODcsMTAgKzg4LDYgQEAgY2xhc3MgR3JDb250ZXh0OwogY29uc3QgUGxhdGZvcm1H
cmFwaGljc0NvbnRleHQzRCBOdWxsUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCA9IDA7CiBjb25z
dCBQbGF0Zm9ybTNET2JqZWN0IE51bGxQbGF0Zm9ybTNET2JqZWN0ID0gMDsKIAotI2lmIFVTRShD
RykKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+Ci0jZW5kaWYKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgRHJhd2luZ0J1ZmZlcjsKIGNsYXNzIEV4dGVuc2lvbnMzRDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKaW5kZXggZTNiZWUwN2Zm
ZTJjMzI3NzRkMmQxMTE3ZGNlYTRlYjE5N2MzYWI1Ni4uZmFlMGU3NjA2NjNlZjZkMGQ2ZDY4ZTdi
NGRlYzk3NTNhZWNhZjFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0
aC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aFRyYXZlcnNhbFN0YXRlLmgiCisjaW5jbHVk
ZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhF
eHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IDBl
NThkMzM5OTdiYTUwODQ1ODY1MGRlMzc4NmNiMTgxNjBkYjJjYWIuLjdlMGE0NTQ4NTRiYmVhZTcx
MjAyZTZhZGYzMmQzMzViN2EwM2VlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhf
aAogCi0jaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJXaW5kUnVsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAg
LTc3LDYgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVjdDsK
ICAgICBjbGFzcyBGbG9hdFNpemU7CiAgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OworICAgIGNs
YXNzIFJvdW5kZWRSZWN0OwogICAgIGNsYXNzIFN0cm9rZVN0eWxlQXBwbGllcjsKIAogICAgIGVu
dW0gUGF0aEVsZW1lbnRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1BhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0dGVybi5jcHAKaW5kZXggNDNmMTUwN2QyNjMzODM0MmYyNjY0YjgyMTVkNzgyMGNjMjNiOGJh
NC4uOGQ5NGQxZmIyZWMyODZkM2NkNDYyNjc0Yjg3ZGNhYzhmMjc3NmYwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5jcHAKQEAgLTMxLDYgKzMxLDExIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUGFzc1JlZlB0cjxQYXR0ZXJuPiBQYXR0ZXJuOjpj
cmVhdGUoUGFzc1JlZlB0cjxJbWFnZT4gdGlsZUltYWdlLCBib29sIHJlcGVhdFgsIGJvb2wgcmVw
ZWF0WSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhdHRlcm4odGlsZUltYWdlLCByZXBl
YXRYLCByZXBlYXRZKSk7Cit9CisKIFBhdHRlcm46OlBhdHRlcm4oUGFzc1JlZlB0cjxJbWFnZT4g
aW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZKQogICAgIDogbV90aWxlSW1hZ2UoaW1h
Z2UpCiAgICAgLCBtX3JlcGVhdFgocmVwZWF0WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BhdHRlcm4uaAppbmRleCAzZDUzMDA1NTUwMjM1MTQ0OGJiYTgxYWMwNmNhYjVjNzQw
ZTgzNTI3Li5lNzZiYjAxMWE2ZTc0OWFmMGNiZTZkZjU0NDUxN2QzNjc2NGY5NTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXR0ZXJuLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjZGVmaW5lIFBhdHRlcm5faAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCi0jaW5j
bHVkZSAiSW1hZ2UuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTYyLDEzICs2MSwxMSBAQCB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtUGF0dGVyblB0cjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNm
b3JtOworY2xhc3MgSW1hZ2U7CiAKIGNsYXNzIFBhdHRlcm4gOiBwdWJsaWMgUmVmQ291bnRlZDxQ
YXR0ZXJuPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGF0dGVybj4gY3JlYXRl
KFBhc3NSZWZQdHI8SW1hZ2U+IHRpbGVJbWFnZSwgYm9vbCByZXBlYXRYLCBib29sIHJlcGVhdFkp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhdHRlcm4odGlsZUltYWdlLCBy
ZXBlYXRYLCByZXBlYXRZKSk7Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhdHRlcm4+
IGNyZWF0ZShQYXNzUmVmUHRyPEltYWdlPiB0aWxlSW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCBy
ZXBlYXRZKTsKICAgICB2aXJ0dWFsIH5QYXR0ZXJuKCk7CiAKICAgICBJbWFnZSogdGlsZUltYWdl
KCkgY29uc3QgeyByZXR1cm4gbV90aWxlSW1hZ2UuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9u
LmNwcAppbmRleCA2NTY5MjZlMjhlMzU3ZDYxMWUxMWQ2MzkwOTA4OTJjYTZiZDZjNTEzLi44YmM3
OTE0NmQ4M2UwMjQyMmU5NTU0YTY3Nzg5YmU1NzYxNWE3YTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRp
b24uY3BwCkBAIC0zMCw4ICszMCwzMCBAQAogCiAjaW5jbHVkZSAiQW5pbWF0aW9uVXRpbGl0aWVz
LmgiCiAKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkNhY2hlZFNWR0RvY3VtZW50UmVmZXJl
bmNlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCitSZWZlcmVuY2VGaWx0ZXJP
cGVyYXRpb246OlJlZmVyZW5jZUZpbHRlck9wZXJhdGlvbihjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiBmcmFnbWVudCwgT3BlcmF0aW9uVHlwZSB0eXBlKQorICAgIDogRmlsdGVyT3Bl
cmF0aW9uKHR5cGUpCisgICAgLCBtX3VybCh1cmwpCisgICAgLCBtX2ZyYWdtZW50KGZyYWdtZW50
KQoreworfQorCitSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb246On5SZWZlcmVuY2VGaWx0ZXJPcGVy
YXRpb24oKQoreworfQorCisjaWYgRU5BQkxFKFNWRykKK3ZvaWQgUmVmZXJlbmNlRmlsdGVyT3Bl
cmF0aW9uOjpzZXRDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZShQYXNzT3duUHRyPENhY2hlZFNW
R0RvY3VtZW50UmVmZXJlbmNlPiBjYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSkKK3sKKyAgICBt
X2NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlID0gY2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2U7
Cit9CisjZW5kaWYKKwogUGFzc1JlZlB0cjxGaWx0ZXJPcGVyYXRpb24+IEJhc2ljQ29sb3JNYXRy
aXhGaWx0ZXJPcGVyYXRpb246OmJsZW5kKGNvbnN0IEZpbHRlck9wZXJhdGlvbiogZnJvbSwgZG91
YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9QYXNzdGhyb3VnaCkKIHsKICAgICBpZiAoZnJvbSAm
JiAhZnJvbS0+aXNTYW1lVHlwZSgqdGhpcykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaAppbmRleCBmYjli
Njc2MTk4OTJhZDJkMmYyYWQwM2ZjMDA3MTZlNjJlZDZjYjQ0Li41ZjYxZjhkNjViMzEyMTU0ZDI4
M2FjYjAzZDg1NDg4NTA5Nzc2MWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmgKQEAgLTQxLDEwICs0
MSw2IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2UuaCIK
LSNlbmRpZgotCiAvLyBBbm5veWluZ2x5LCB3aW5nZGkuaCAjZGVmaW5lcyB0aGlzLgogI2lmZGVm
IFBBU1NUSFJPVUdICiAjdW5kZWYgUEFTU1RIUk9VR0gKQEAgLTU0LDYgKzUwLDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogLy8gQ1NTIEZpbHRlcnMKIAorI2lmIEVOQUJMRShTVkcpCitjbGFz
cyBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQkxB
Q0tCRVJSWSkKIGNsYXNzIEZpbHRlck9wZXJhdGlvbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxGaWx0ZXJPcGVyYXRpb24+IHsKICNlbHNlCkBAIC0xNjYsNiArMTY2LDcgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZWZlcmVuY2VGaWx0ZXJPcGVy
YXRpb24odXJsLCBmcmFnbWVudCwgdHlwZSkpOwogICAgIH0KKyAgICB+UmVmZXJlbmNlRmlsdGVy
T3BlcmF0aW9uKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgYWZmZWN0c09wYWNpdHkoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIG1vdmVzUGl4ZWxzKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQpAQCAtMTc1LDEzICsxNzYsMTQgQEAgcHVibGljOgogCiAjaWYgRU5BQkxF
KFNWRykKICAgICBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSogY2FjaGVkU1ZHRG9jdW1lbnRS
ZWZlcmVuY2UoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmdl
dCgpOyB9Ci0gICAgdm9pZCBzZXRDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZShQYXNzT3duUHRy
PENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlPiBjYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZSkg
eyBtX2NhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlID0gY2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVu
Y2U7IH0KKyAgICB2b2lkIHNldENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlKFBhc3NPd25QdHI8
Q2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2U+KTsKICNlbmRpZgogCiAgICAgRmlsdGVyRWZmZWN0
KiBmaWx0ZXJFZmZlY3QoKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlckVmZmVjdC5nZXQoKTsgfQog
ICAgIHZvaWQgc2V0RmlsdGVyRWZmZWN0KFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBmaWx0ZXJF
ZmZlY3QpIHsgbV9maWx0ZXJFZmZlY3QgPSBmaWx0ZXJFZmZlY3Q7IH0KIAogcHJpdmF0ZToKKyAg
ICBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgZnJhZ21lbnQsIE9wZXJhdGlvblR5cGUpOwogCiAgICAgdmlydHVhbCBib29sIG9wZXJhdG9y
PT0oY29uc3QgRmlsdGVyT3BlcmF0aW9uJiBvKSBjb25zdAogICAgIHsKQEAgLTE5MSwxMyArMTkz
LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdXJsID09IG90aGVyLT5tX3VybDsKICAg
ICB9CiAKLSAgICBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb24oY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgZnJhZ21lbnQsIE9wZXJhdGlvblR5cGUgdHlwZSkKLSAgICAgICAgOiBGaWx0
ZXJPcGVyYXRpb24odHlwZSkKLSAgICAgICAgLCBtX3VybCh1cmwpCi0gICAgICAgICwgbV9mcmFn
bWVudChmcmFnbWVudCkKLSAgICB7Ci0gICAgfQotCiAgICAgU3RyaW5nIG1fdXJsOwogICAgIFN0
cmluZyBtX2ZyYWdtZW50OwogI2lmIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aAppbmRleCA3ZDgzZjU5MmYxYTBmNmM5ZTA5YTE0NGE3MTUxZjE2NGY5YmFjZDFmLi43YWU4YjRm
ZTdjMDg5ODIzNTI5ZjZkYWNkM2FmYjUzZjRkOTMzMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNm
b3JtLmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgog
CiAjaWYgVVNFKENHKQotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FmZmluZVRyYW5zZm9ybS5o
PgordHlwZWRlZiBzdHJ1Y3QgQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dBZmZpbmVUcmFuc2Zvcm07CiAj
ZWxpZiBVU0UoQ0FJUk8pCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNlbGlmIFBMQVRGT1JNKE9QRU5W
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaAppbmRleCAxOTA2NDg0YWY5NmJiN2Rk
MzQwNTY1YzYxOTFiMjc1Y2Q5ZWRmZWYzLi5kM2NmMGE1Y2IzMzYxMGZlY2I0YTM2MzgzYzI2NWE1
N2FmMjQ4NTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5oCkBAIC0yMCw3ICsy
MCw2IEBACiAjaWZuZGVmIERPTU1pbWVUeXBlX2gKICNkZWZpbmUgRE9NTWltZVR5cGVfaAogCi0j
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCIK
ICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckZpbHRlckluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckZpbHRlckluZm8uaAppbmRleCAxNWI1N2FlNWU3NjZlMjAxYmU2OTEwYmNi
ZDk2M2YzZTllY2VlOTcyLi44YTRkMWRjNTQyMWFhNTlkNmQwZWVjMzNkZTMzZjk5MTkxZTRiZTAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJJ
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVySW5m
by5oCkBAIC0zMiw2ICszMiw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAKKyNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbi5o
IgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAt
NDMsNyArNDQsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkNhY2hl
ZFNWR0RvY3VtZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkU2hhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRTaGFkZXIuaAppbmRleCBjMmUwMDc3NTZkY2UzNDI2ZWZh
MDkxMGI5YzNjODM5ZjlmZTRjYWE4Li4xNTIzNDI5NWJiMmQzNWUyZjM3M2VkZDg3ZGE0YzIwZjU5
ZTMyNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVD
YWNoZWRTaGFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVD
YWNoZWRTaGFkZXIuaApAQCAtMzQsNiArMzQsNyBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHlsZVNoYWRlci5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuaAppbmRleCBlZGI0MTU3N2ZkNGFiMGVhZjk5NzNhNGMyNTdkM2NiYzQ0Njgy
OTQzLi43YzZkM2UwNzZkMjk0Yjc2YzdmYzY4MTJhZGFmZGQ3ZWExN2FlZTcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaApAQCAtMjIsNyArMjIsNyBAQAogI2RlZmluZSBT
VkdGRUltYWdlRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklMVEVSUykK
LSNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgorI2luY2x1ZGUgIkNhY2hlZEltYWdlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCmluZGV4IDJjN2I1MTJkMTY0NzM4MjcxMzg4YTdjMTMy
MjBjZTU1YzBiNWJlZDQuLjZkMDAzYzc3MTQ3NmU4NTAzYTNjNDE2NDk0MGM4NGRmZmJkZWI3MTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgKQEAgLTIxLDcg
KzIxLDcgQEAKICNkZWZpbmUgU1ZHRm9udEZhY2VVcmlFbGVtZW50X2gKIAogI2lmIEVOQUJMRShT
VkdfRk9OVFMpCi0jaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgorI2luY2x1ZGUgIkNhY2hlZEZvbnRD
bGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNW
R0VsZW1lbnQuaCIKIApAQCAtNTIsNiArNTIsNSBAQCBwcml2YXRlOgogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWR19GT05UUykKLSNlbmRpZgogCi0vLyB2aW06
dHM9NDpub2V0CisjZW5kaWYgLy8gU1ZHRm9udEZhY2VVcmlFbGVtZW50X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVXNlRWxlbWVudC5oCmluZGV4IGE3YTFlYWY4MDUyZmY3OWQ5YzkzNjBhMWNkOWE5ZDJjMmM1
MmQ0N2UuLjQwNDZlZjY4NGJlZjFkMGQwODE0MDczOWVjNTg4ZTYyNmE1ZGViMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuaApAQCAtMjIsNyArMjIsOCBAQAogI2RlZmluZSBTVkdVc2VF
bGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUgIkNhY2hlZFNW
R0RvY3VtZW50Q2xpZW50LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFy
c2VyLmgKaW5kZXggYWE0NjRlMGFiOGM3Yzk1YWUyNDEyZjQ2YjI1Y2M5ZWI3NTcxZGRlOC4uMTQ5
YWQ2ZTFhMDEwZWU4YTY5NGI1NDg5ODVlNGU2MjVhNDc4ODMyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtMzMsOCArMzMsOCBAQAogI2lu
Y2x1ZGUgIlhNTEVycm9ycy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiAjaWYgVVNFKFFYTUxTVFJFQU0pCiAjaW5jbHVkZSA8cXhtbHN0cmVhbS5oPgo=
</data>
<flag name="review"
          id="218640"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="218647"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>