<?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>118525</bug_id>
          
          <creation_ts>2013-07-10 00:42:45 -0700</creation_ts>
          <short_desc>Get rid of SVGPathSeg* special casing in the bindings generator</short_desc>
          <delta_ts>2013-07-11 04:20:19 -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>Bindings</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>haraken</cc>
    
    <cc>krit</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>907300</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-10 00:42:45 -0700</bug_when>
    <thetext>Have one header per SVGPathSeg* type so that we no longer need special casing in the bindings generator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907306</commentid>
    <comment_count>1</comment_count>
      <attachid>206372</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-10 01:02:20 -0700</bug_when>
    <thetext>Created attachment 206372
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907326</commentid>
    <comment_count>2</comment_count>
      <attachid>206374</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-10 02:39:03 -0700</bug_when>
    <thetext>Created attachment 206374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907334</commentid>
    <comment_count>3</comment_count>
      <attachid>206374</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-10 03:42:59 -0700</bug_when>
    <thetext>Comment on attachment 206374
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=206374&amp;action=review

&gt; Source/WebCore/svg/SVGPathSegArcRel.h:44
&gt; +    virtual String pathSegTypeAsLetter() const { return &quot;a&quot;; }

It looks that ASCIILiteral would be nice to have here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907337</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-10 03:55:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 206374 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206374&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/svg/SVGPathSegArcRel.h:44
&gt; &gt; +    virtual String pathSegTypeAsLetter() const { return &quot;a&quot;; }
&gt; 
&gt; It looks that ASCIILiteral would be nice to have here.

I am not sure we want to do such changes in this patch. This patch is really about splitting the code so that we can get rid of special cases in the bindings generator.

I don&apos;t mind making such changes if people think it is a good idea though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907546</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-11 00:58:05 -0700</bug_when>
    <thetext>@haraken: Is this something you could review? The important changes are to the bindings generator, the SVG code is merely split into separate files without any change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907552</commentid>
    <comment_count>6</comment_count>
      <attachid>206374</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-07-11 01:15:12 -0700</bug_when>
    <thetext>Comment on attachment 206374
Patch

The code generator change looks good. Other changes are just moving code. Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907555</commentid>
    <comment_count>7</comment_count>
      <attachid>206435</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-11 01:23:26 -0700</bug_when>
    <thetext>Created attachment 206435
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907589</commentid>
    <comment_count>8</comment_count>
      <attachid>206435</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-11 04:20:16 -0700</bug_when>
    <thetext>Comment on attachment 206435
Patch for landing

Clearing flags on attachment: 206435

Committed r152565: &lt;http://trac.webkit.org/changeset/152565&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907590</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-11 04:20:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206372</attachid>
            <date>2013-07-10 01:02:20 -0700</date>
            <delta_ts>2013-07-10 02:38:54 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>118525_SVGPathSeg.patch</filename>
            <type>text/plain</type>
            <size>72062</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDNiNTNlMDUuLmNlZjkwZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTI0NCwyMiArNTI0NCwzNyBAQCB3ZWJjb3Jl
X3N2Z19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnQXJjLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJj
QWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ2xvc2VQYXRoLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b0N1YmljQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1
YmljU21vb3RoLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpYy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNT
bW9vdGguaCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
QWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Jl
bC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9v
dGhBYnMuaCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnLmggXAotCVNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnTGluZXRvQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlu
ZXRvUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMu
aCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCBcCisJU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggXAogCVNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnTGlzdEJ1aWxkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
TGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCBcCi0JU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdNb3ZldG8uaCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMu
aCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBcCiAJU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdXaXRoQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNvdXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFN0cmluZ0J1
aWxkZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDM1ZWI2NTQuLjk1OGYzNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQpAQCAtMjc1NSwxNyArMjc1NSwzMiBAQCBIRUFERVJTICs9IFwKICAgICBzdmcvU1ZHUGF0aEVs
ZW1lbnQuaCBcCiAgICAgc3ZnL1NWR1BhdGhQYXJzZXIuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdB
cmMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdB
cmNSZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdDbG9zZVBhdGguaCBcCiAgICAgc3ZnL1NWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMu
aCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCBcCiAgICAgc3ZnL1NWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhBYnMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwu
aCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmggXAotICAgIHN2Zy9TVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oIFwKLSAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0
by5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCBcCisgICAgc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGhSZWwuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaCBcCisgICAg
c3ZnL1NWR1BhdGhTZWdMaW5ldG9SZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oIFwKKyAg
ICBzdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbC5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJz
LmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCBcCiAgICAgc3ZnL1NW
R1BhdGhTZWdMaXN0LmggXAogICAgIHN2Zy9TVkdQYXRoU2VnTGlzdEJ1aWxkZXIuaCBcCi0gICAg
c3ZnL1NWR1BhdGhTZWdNb3ZldG8uaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaCBc
CisgICAgc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBcCiAgICAgc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmggXAogICAgIHN2Zy9TVkdQb2ludExpc3QuaCBcCiAgICAgc3ZnL1NWR1BvbHlFbGVtZW50
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
aW5kZXggYThhY2JiNy4uNGRhYjliNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMzQyNSwxOCArMTM0MjUsMzMgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoUGFyc2VyLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cc3ZnXFNWR1BhdGhTZWdBcmMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnQXJjQWJzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxz
dmdcU1ZHUGF0aFNlZ0FyY1JlbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3Zn
XFNWR1BhdGhTZWdDbG9zZVBhdGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aEFicy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNTbW9vdGhSZWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgiIC8+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0by5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNS
ZWwuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aEFicy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3Zn
XFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9SZWwuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIiAvPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJz
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b0hv
cml6b250YWxSZWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRo
U2VnTGluZXRvVmVydGljYWwuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xT
VkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaXN0QnVpbGRlci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaXN0U291cmNlLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ01vdmV0by5oIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG9BYnMuaCIgLz4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTW92ZXRvUmVsLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNvdXJjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTdHJpbmdCdWlsZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFN0cmluZ1NvdXJjZS5oIiAvPgpAQCAtMTM5MjQsNCArMTM5
MzksNCBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgog
ICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAzZmQyYjNmLi5lNDMzM2E5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCkBAIC0xMjAzMywzMCArMTIwMzMsNzIgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnQXJjLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZH
UGF0aFNlZ0FyY0Ficy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgor
ICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhT
ZWdBcmNSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8
L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ2xv
c2VQYXRoLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpYy5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljUmVsLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+
CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2Zzwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3Zn
XFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRl
cmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmgiPgorICAgICAgPEZp
bHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaCI+CiAgICAg
ICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290
aC5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY0Ficy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljUmVsLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0
ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRl
cmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIj4KKyAgICAg
IDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9BYnMuaCI+CiAgICAgICA8
RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvLmgiPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9SZWwuaCI+CiAgICAgICA8RmlsdGVy
PnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIj4KICAgICAgIDxG
aWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzLmgiPgor
ICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxS
ZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvVmVy
dGljYWwuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRv
VmVydGljYWxBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2Vn
TGluZXRvVmVydGljYWxSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQ
YXRoU2VnTGlzdC5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpAQCAtMTIwNjYsNyArMTIxMDgsMTAgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlzdFNvdXJjZS5oIj4KICAgICAgIDxGaWx0ZXI+cmVu
ZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG8uaCI+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxzdmdcU1ZHUGF0aFNlZ01vdmV0b0Ficy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
XHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdNb3ZldG9SZWwuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xz
dmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU291cmNlLmgiPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAKaW5kZXggM2FkYWJhZi4uMGVlY2VjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdDdXN0b20uY3BwCkBAIC00
OCwxMSArNDgsMTQgQEAKICNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiCiAjaW5j
bHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIgogI2luY2x1ZGUgIlNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGguaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvLmgiCisjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9B
YnMuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgorI2luY2x1ZGUg
IlNWR1BhdGhTZWdMaW5ldG9SZWwuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvVmVydGlj
YWwuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTW92ZXRvLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNl
Z01vdmV0b0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG9SZWwuaCIKIAogdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBlYmQxMWE1Li4xYzdiOTBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjIw
LDExICsyMjAsNyBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAKICAgICAjIFdoZW4gd2UncmUg
ZmluaXNoZWQgd2l0aCB0aGUgb25lLWZpbGUtcGVyLWNsYXNzCiAgICAgIyByZW9yZ2FuaXphdGlv
biwgd2Ugd29uJ3QgbmVlZCB0aGVzZSBzcGVjaWFsIGNhc2VzLgotICAgIGlmICgkdHlwZSA9fiAv
U1ZHUGF0aFNlZy8pIHsKLSAgICAgICAgbXkgJGpvaW5lZE5hbWUgPSAkdHlwZTsKLSAgICAgICAg
JGpvaW5lZE5hbWUgPX4gcy9BYnN8UmVsLy87Ci0gICAgICAgICRpbmNsdWRlc1JlZi0+eyIke2pv
aW5lZE5hbWV9LmgifSA9IDE7Ci0gICAgfSBlbHNpZiAoJHR5cGUgZXEgIlhQYXRoTlNSZXNvbHZl
ciIpIHsKKyAgICBpZiAoJHR5cGUgZXEgIlhQYXRoTlNSZXNvbHZlciIpIHsKICAgICAgICAgJGlu
Y2x1ZGVzUmVmLT57IkpTWFBhdGhOU1Jlc29sdmVyLmgifSA9IDE7CiAgICAgICAgICRpbmNsdWRl
c1JlZi0+eyJKU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIn0gPSAxOwogICAgIH0gZWxzaWYgKCRp
c0NhbGxiYWNrICYmICRjb2RlR2VuZXJhdG9yLT5Jc1dyYXBwZXJUeXBlKCR0eXBlKSkgewpAQCAt
MzY0MywxMSArMzYzOSw2IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIHJldHVybiAiKCR2YWx1ZS5oYXNOb1ZhbHVlKCkgPyBqc051bGwoKSA6ICR2
YWx1ZS5qc1ZhbHVlKCkpIjsKICAgICAgICAgfQotICAgIH0gZWxzaWYgKCR0eXBlID1+IC9TVkdQ
YXRoU2VnLykgewotICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlMkdHlwZS5oIiwgJGNvbmRp
dGlvbmFsKTsKLSAgICAgICAgbXkgJGpvaW5lZE5hbWUgPSAkdHlwZTsKLSAgICAgICAgJGpvaW5l
ZE5hbWUgPX4gcy9BYnN8UmVsLy87Ci0gICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCIkam9pbmVk
TmFtZS5oIiwgJGNvbmRpdGlvbmFsKTsKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIiBvciAkdHlwZSBlcSAiYW55IikgewogICAgICAgICBBZGRUb0ltcGxJbmNs
dWRlcygiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiLCAkY29uZGl0aW9uYWwpOwogICAgICAgICBy
ZXR1cm4gIiR2YWx1ZSA/ICR2YWx1ZS0+ZGVzZXJpYWxpemUoZXhlYywgY2FzdGVkVGhpcy0+Z2xv
YmFsT2JqZWN0KCksIDApIDoganNOdWxsKCkiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAKaW5kZXggZDZkYTMzYS4uNmIxZjQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVs
ZW1lbnQuY3BwCkBAIC0yOSwxOSArMjksMjggQEAKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFu
Y2UuaCIKICNpbmNsdWRlICJTVkdNUGF0aEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5o
IgotI2luY2x1ZGUgIlNWR1BhdGhTZWdBcmMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQXJjQWJz
LmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0FyY1JlbC5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdD
bG9zZVBhdGguaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiCi0jaW5jbHVk
ZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNT
bW9vdGguaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvLmgiCi0jaW5jbHVkZSAiU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWwuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvVmVydGlj
YWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmgiCisjaW5jbHVkZSAi
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNTbW9vdGhBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3Ro
UmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCIKKyNpbmNs
dWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNTbW9vdGhSZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvQWJzLmgi
CisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCIKKyNpbmNsdWRlICJT
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5l
dG9SZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCIKKyNpbmNs
dWRlICJTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCIKICNpbmNsdWRlICJTVkdQYXRoU2Vn
TGlzdC5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdMaXN0QnVpbGRlci5oIgogI2luY2x1ZGUgIlNW
R1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ01vdmV0
by5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG9BYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRo
U2VnTW92ZXRvUmVsLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFV0aWxpdGllcy5oIgogI2luY2x1ZGUg
IlNWR1NWR0VsZW1lbnQuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdBcmMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjLmgKaW5kZXggZTgz
NWJjMy4uZjIxODEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdB
cmMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyYy5oCkBAIC0xMDAsNDAg
KzEwMCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3N3ZWVwRmxhZyA6IDE7CiB9OwogCi1jbGFz
cyBTVkdQYXRoU2VnQXJjQWJzIDogcHVibGljIFNWR1BhdGhTZWdBcmMgewotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdBcmNBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVu
dCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
cjEsIGZsb2F0IHIyLCBmbG9hdCBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBG
bGFnKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQXJjQWJz
KGVsZW1lbnQsIHJvbGUsIHgsIHksIHIxLCByMiwgYW5nbGUsIGxhcmdlQXJjRmxhZywgc3dlZXBG
bGFnKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdBcmNBYnMoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHIxLCBmbG9hdCByMiwgZmxvYXQgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3
ZWVwRmxhZykKLSAgICAgICAgOiBTVkdQYXRoU2VnQXJjKGVsZW1lbnQsIHJvbGUsIHgsIHksIHIx
LCByMiwgYW5nbGUsIGxhcmdlQXJjRmxhZywgc3dlZXBGbGFnKQotICAgIHsKLSAgICB9Ci0KLSAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFU
SFNFR19BUkNfQUJTOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigp
IGNvbnN0IHsgcmV0dXJuICJBIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0FyY1JlbCA6IHB1
YmxpYyBTVkdQYXRoU2VnQXJjIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQ
YXRoU2VnQXJjUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdS
b2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCByMiwgZmxvYXQgYW5n
bGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0FyY1JlbChlbGVtZW50LCByb2xlLCB4LCB5LCBy
MSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykpOwotICAgIH0KLQotcHJpdmF0
ZToKLSAgICBTVkdQYXRoU2VnQXJjUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRo
U2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZsb2F0
IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCi0gICAgICAgIDogU1ZH
UGF0aFNlZ0FyYyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0Zs
YWcsIHN3ZWVwRmxhZykKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9y
dCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQVJDX1JFTDsgfQotICAgIHZp
cnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiYSI7IH0K
LX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY0Ficy5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi45ZDViNjdmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdBcmNBYnMuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3Jn
PgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlz
QGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnQXJjQWJzX2gKKyNkZWZpbmUgU1ZH
UGF0aFNlZ0FyY0Fic19oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdB
cmMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnQXJjQWJzIDog
cHVibGljIFNWR1BhdGhTZWdBcmMgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhdGhTZWdBcmNBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNl
Z1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgcjEsIGZsb2F0IHIyLCBmbG9hdCBh
bmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQXJjQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHks
IHIxLCByMiwgYW5nbGUsIGxhcmdlQXJjRmxhZywgc3dlZXBGbGFnKSk7CisgICAgfQorCitwcml2
YXRlOgorICAgIFNWR1BhdGhTZWdBcmNBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1Bh
dGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCByMiwgZmxv
YXQgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKKyAgICAgICAgOiBT
VkdQYXRoU2VnQXJjKGVsZW1lbnQsIHJvbGUsIHgsIHksIHIxLCByMiwgYW5nbGUsIGxhcmdlQXJj
RmxhZywgc3dlZXBGbGFnKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNo
b3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19BUkNfQUJTOyB9CisgICAg
dmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJBIjsg
fQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmNSZWwu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZTYyNDViOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2Ig
QnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0FyY1JlbF9oCisj
ZGVmaW5lIFNWR1BhdGhTZWdBcmNSZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJT
VkdQYXRoU2VnQXJjLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNl
Z0FyY1JlbCA6IHB1YmxpYyBTVkdQYXRoU2VnQXJjIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTVkdQYXRoU2VnQXJjUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQs
IFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCBy
MiwgZmxvYXQgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0FyY1JlbChlbGVtZW50LCBy
b2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQXJjUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxv
YXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCisg
ICAgICAgIDogU1ZHUGF0aFNlZ0FyYyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xl
LCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1
bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQVJDX1JF
TDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJl
dHVybiAiYSI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b0N1YmljLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpYy5oCmluZGV4IDE2OWQ4ZjguLmJmOGE0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaApAQCAtOTAsNDAgKzkwLDYgQEAgcHJpdmF0ZToKICAgICBm
bG9hdCBtX3kyOwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0FicyA6IHB1Ymxp
YyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljIHsgCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxv
YXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0FicyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwg
eTEsIHgyLCB5MikpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9h
dCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKLSAg
ICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5
MSwgeDIsIHkyKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBh
dGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX0FCUzsgfQot
ICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAi
QyI7IH0KLX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwgOiBwdWJsaWMgU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpYyB7IAotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwg
U1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkx
LCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEsIHkxLCB4
MiwgeTIpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Jl
bChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwg
ZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgICAg
IDogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEsIHgy
LCB5MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2Vn
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19SRUw7IH0KLSAgICB2
aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImMiOyB9
Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJjMzk3OAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmgKQEAgLTAsMCAr
MSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAy
MDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY0Fic19oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNB
YnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzPiBjcmVhdGUoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzKGVsZW1lbnQsIHJvbGUs
IHgsIHksIHgxLCB5MSwgeDIsIHkyKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xl
IHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZs
b2F0IHkyKQorICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMoZWxlbWVudCwgcm9sZSwg
eCwgeSwgeDEsIHkxLCB4MiwgeTIpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWdu
ZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fQ1VC
SUNfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0
IHsgcmV0dXJuICJDIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
Q3VydmV0b0N1YmljUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVh
OWY5YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUu
b3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbF9oCisjZGVmaW5l
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRl
ICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbCA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1
YmljUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJv
bGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0
IHkyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0
b0N1YmljUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSwgeDIsIHkyKSk7CisgICAgfQor
Citwcml2YXRlOgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwoU1ZHUGF0aEVsZW1lbnQq
IGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgx
LCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKQorICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEsIHkxLCB4MiwgeTIpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJl
dHVybiBQQVRIU0VHX0NVUlZFVE9fQ1VCSUNfUkVMOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0
aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJjIjsgfQorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgKaW5kZXggYTY1
NDI5Ny4uOGE2N2E1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aC5oCkBAIC03Miw0MCArNzIsNiBAQCBwcml2YXRlOgogICAgIGZsb2F0
IG1feTI7CiB9OwogCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzIDogcHVi
bGljIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGggeyAKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzPiBjcmVhdGUoU1ZHUGF0
aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHks
IGZsb2F0IHgyLCBmbG9hdCB5MikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyhlbGVtZW50LCByb2xlLCB4LCB5LCB4Miwg
eTIpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aEFicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgeDIsIGZsb2F0IHkyKQotICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNTbW9vdGgoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDIsIHkyKQotICAgIHsKLSAgICB9
Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1
cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1NNT09USF9BQlM7IH0KLSAgICB2aXJ0dWFsIFN0cmlu
ZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIlMiOyB9Ci19OwotCi1jbGFz
cyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsIDogcHVibGljIFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNTbW9vdGggeyAKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRo
U2VnQ3VydmV0b0N1YmljU21vb3RoUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQs
IFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5
MikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aFJlbChlbGVtZW50LCByb2xlLCB4LCB5LCB4MiwgeTIpKTsKLSAgICB9Ci0KLXBy
aXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbChTVkdQYXRoRWxlbWVu
dCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
eDIsIGZsb2F0IHkyKQotICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgoZWxl
bWVudCwgcm9sZSwgeCwgeSwgeDIsIHkyKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVu
c2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRP
X0NVQklDX1NNT09USF9SRUw7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0
dGVyKCkgY29uc3QgeyByZXR1cm4gInMiOyB9Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZWE3MWUwMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
OCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcg
RWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aEFic19oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhB
YnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJv
bGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyhlbGVt
ZW50LCByb2xlLCB4LCB5LCB4MiwgeTIpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0
aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDIsIGZsb2F0IHkyKQorICAg
ICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgoZWxlbWVudCwgcm9sZSwgeCwgeSwg
eDIsIHkyKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhT
ZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1NNT09USF9BQlM7
IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1
cm4gIlMiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aFJlbC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4xZmMzMWM3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoUmVsX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbF9oCisKKyNp
ZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoUmVsIDogcHVibGljIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGggeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWw+IGNy
ZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgeDIsIGZsb2F0IHkyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsKGVsZW1lbnQsIHJvbGUs
IHgsIHksIHgyLCB5MikpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSBy
b2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQgeTIpCisgICAgICAgIDogU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aChlbGVtZW50LCByb2xlLCB4LCB5LCB4MiwgeTIpCisg
ICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBj
b25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fQ1VCSUNfU01PT1RIX1JFTDsgfQorICAgIHZp
cnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAicyI7IH0K
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
LmgKaW5kZXggODk0Zjc4Ny4uNmY4ZDA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgKQEAgLTcyLDQwICs3Miw2IEBAIHByaXZhdGU6CiAg
ICAgZmxvYXQgbV95MTsKIH07CiAKLWNsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJz
IDogcHVibGljIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljIHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficz4gY3JlYXRlKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
LCBmbG9hdCB4MSwgZmxvYXQgeTEpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5
MSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Fi
cyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwg
ZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxKQotICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRv
UXVhZHJhdGljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkKLSAgICB7Ci0gICAgfQotCi0g
ICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBB
VEhTRUdfQ1VSVkVUT19RVUFEUkFUSUNfQUJTOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNl
Z1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJRIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWMgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xl
IHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwoZWxl
bWVudCwgcm9sZSwgeCwgeSwgeDEsIHkxKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRo
U2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEpCi0gICAg
ICAgIDogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEs
IHkxKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdU
eXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19SRUw7IH0KLSAg
ICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInEi
OyB9Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljQWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNB
YnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDM0MmU0Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
QWJzLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICog
Q29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnNfaAorI2RlZmluZSBTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Fic19oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUg
IlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWMgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNW
R1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEsIHkxKSk7CisgICAgfQorCitwcml2YXRl
OgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxv
YXQgeTEpCisgICAgICAgIDogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMoZWxlbWVudCwgcm9s
ZSwgeCwgeSwgeDEsIHkxKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNo
b3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJ
Q19BQlM7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3Qg
eyByZXR1cm4gIlEiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjhmOTczNTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1JlbF9oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsX2gKKworI2lmIEVO
QUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbCA6
IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYyB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWw+IGNyZWF0ZShTVkdQYXRo
RWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwg
ZmxvYXQgeDEsIGZsb2F0IHkxKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbChlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEp
KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwo
U1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZs
b2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKKyAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpYyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEpCisgICAgeworICAgIH0KKworICAg
IHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRI
U0VHX0NVUlZFVE9fUVVBRFJBVElDX1JFTDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdU
eXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAicSI7IH0KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NjA2MmEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYg
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhfaAotI2RlZmluZSBTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aF9oCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1Bh
dGhTZWdXaXRoQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVD
b29yZGluYXRlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBT
VkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyhlbGVt
ZW50LCByb2xlLCB4LCB5KSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljU21vb3RoQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2Vn
Um9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVD
b29yZGluYXRlKGVsZW1lbnQsIHJvbGUsIHgsIHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1
YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NV
UlZFVE9fUVVBRFJBVElDX1NNT09USF9BQlM7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2Vn
VHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIlQiOyB9Ci19OwotCi1jbGFzcyBTVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29v
cmRpbmF0ZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNTbW9vdGhSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZH
UGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwoZWxlbWVu
dCwgcm9sZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1Jv
bGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29v
cmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFs
IHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJW
RVRPX1FVQURSQVRJQ19TTU9PVEhfUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5
cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJ0IjsgfQotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFNWRykKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWY3ZTI1NgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290
aEFicy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAq
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzX2gKKyNkZWZp
bmUgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnNfaAorCisjaWYgRU5BQkxFKFNW
RykKKyNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyA6IHB1Ymxp
YyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnM+IGNyZWF0ZShTVkdQYXRo
RWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0ZToK
KyAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyhTVkdQYXRoRWxlbWVudCog
ZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAg
OiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3Qg
eyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19TTU9PVEhfQUJTOyB9CisgICAgdmly
dHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJUIjsgfQor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljU21vb3RoUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNTbW9vdGhSZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40
NzdhNmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVp
cyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGhSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJl
bF9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljU21vb3RoUmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290
aFJlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xl
LCBmbG9hdCB4LCBmbG9hdCB5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbChlbGVtZW50LCByb2xlLCB4LCB5KSk7
CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
UmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4
LCBmbG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQs
IHJvbGUsIHgsIHkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQg
cGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fUVVBRFJBVElDX1NN
T09USF9SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29u
c3QgeyByZXR1cm4gInQiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0xpbmV0by5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG8u
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk5NWM5OC4uMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0by5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFNWR1BhdGhT
ZWdMaW5ldG9faAotI2RlZmluZSBTVkdQYXRoU2VnTGluZXRvX2gKLQotI2lmIEVOQUJMRShTVkcp
Ci0jaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZSB7IAotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdM
aW5ldG9BYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUg
cm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU1ZHUGF0aFNlZ0xpbmV0b0FicyhlbGVtZW50LCByb2xlLCB4LCB5KSk7Ci0gICAgfQotCi1w
cml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9BYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQs
IFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgICAgIDogU1ZHUGF0
aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKLSAgICB7Ci0gICAgfQot
Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJu
IFBBVEhTRUdfTElORVRPX0FCUzsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNM
ZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiTCI7IH0KLX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdMaW5l
dG9SZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeyAKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvUmVsPiBjcmVhdGUoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9SZWwoZWxl
bWVudCwgcm9sZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGlu
ZXRvUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9h
dCB4LCBmbG9hdCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1l
bnQsIHJvbGUsIHgsIHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hv
cnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19SRUw7IH0KLSAg
ICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImwi
OyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0
b0Ficy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTUzNDBjZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmgKQEAgLTAsMCArMSw1MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNh
bXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNl
Z0xpbmV0b0Fic19oCisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9BYnNfaAorCisjaWYgRU5BQkxF
KFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnTGluZXRvQWJzIDogcHVibGljIFNWR1BhdGhTZWdT
aW5nbGVDb29yZGluYXRlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRo
U2VnTGluZXRvQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdS
b2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9BYnMoZWxlbWVudCwgcm9sZSwgeCwgeSkpOworICAgIH0K
KworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnTGluZXRvQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQorICAgICAgICA6IFNW
R1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJvbGUsIHgsIHkpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJl
dHVybiBQQVRIU0VHX0xJTkVUT19BQlM7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlw
ZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIkwiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oCmluZGV4IGQxNzVjZGQuLjU2YTEx
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpv
bnRhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bC5oCkBAIC00NSw0MCArNDUsNiBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1feDsKIH07CiAKLWNs
YXNzIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzIDogcHVibGljIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2Vn
TGluZXRvSG9yaXpvbnRhbEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQ
YXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyhlbGVtZW50LCByb2xlLCB4KSk7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQotICAgICAg
ICA6IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsKGVsZW1lbnQsIHJvbGUsIHgpCi0gICAgewot
ICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7
IHJldHVybiBQQVRIU0VHX0xJTkVUT19IT1JJWk9OVEFMX0FCUzsgfQotICAgIHZpcnR1YWwgU3Ry
aW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiSCI7IH0KLX07Ci0KLWNs
YXNzIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsIDogcHVibGljIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2Vn
TGluZXRvSG9yaXpvbnRhbFJlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQ
YXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbChlbGVtZW50LCByb2xlLCB4KSk7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQotICAgICAg
ICA6IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsKGVsZW1lbnQsIHJvbGUsIHgpCi0gICAgewot
ICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7
IHJldHVybiBQQVRIU0VHX0xJTkVUT19IT1JJWk9OVEFMX1JFTDsgfQotICAgIHZpcnR1YWwgU3Ry
aW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiaCI7IH0KLX07Ci0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NjNlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaApAQCAtMCww
ICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBT
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFic19oCisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsQWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWxBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUg
cm9sZSwgZmxvYXQgeCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWxBYnMoZWxlbWVudCwgcm9sZSwgeCkpOworICAgIH0KKworcHJp
dmF0ZToKKyAgICBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyhTVkdQYXRoRWxlbWVudCog
ZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCkKKyAgICAgICAgOiBTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbChlbGVtZW50LCByb2xlLCB4KQorICAgIHsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFU
SFNFR19MSU5FVE9fSE9SSVpPTlRBTF9BQlM7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2Vn
VHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIkgiOyB9Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3YzdlN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaApAQCAtMCwwICsx
LDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1
LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbF9oCisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsUmVsX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0
b0hvcml6b250YWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2Vn
TGluZXRvSG9yaXpvbnRhbFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbCB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250
YWxSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNl
Z0xpbmV0b0hvcml6b250YWxSZWwoZWxlbWVudCwgcm9sZSwgeCkpOworICAgIH0KKworcHJpdmF0
ZToKKyAgICBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbChTVkdQYXRoRWxlbWVudCogZWxl
bWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCkKKyAgICAgICAgOiBTVkdQYXRoU2Vn
TGluZXRvSG9yaXpvbnRhbChlbGVtZW50LCByb2xlLCB4KQorICAgIHsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNF
R19MSU5FVE9fSE9SSVpPTlRBTF9SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlw
ZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImgiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdMaW5ldG9SZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li41Mzc1OGMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaW5ldG9SZWwuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5v
cmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnTGluZXRvUmVsX2gKKyNkZWZpbmUgU1ZHUGF0
aFNlZ0xpbmV0b1JlbF9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdX
aXRoQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdM
aW5ldG9SZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdMaW5ldG9SZWw+IGNyZWF0ZShTVkdQYXRo
RWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b1JlbChl
bGVtZW50LCByb2xlLCB4LCB5KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdM
aW5ldG9SZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZs
b2F0IHgsIGZsb2F0IHkpCisgICAgICAgIDogU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxl
bWVudCwgcm9sZSwgeCwgeSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBz
aG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX1JFTDsgfQor
ICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAi
bCI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShT
VkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlu
ZXRvVmVydGljYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGlj
YWwuaAppbmRleCBmZWM3ZmI2Li5kMTMwZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oCkBAIC00NSw0MCArNDUsNiBAQCBwcml2YXRlOgogICAg
IGZsb2F0IG1feTsKIH07CiAKLWNsYXNzIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicyA6IHB1
YmxpYyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50
KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMoZWxlbWVudCwg
cm9sZSwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGluZXRvVmVydGlj
YWxBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0
IHkpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsKGVsZW1lbnQsIHJvbGUsIHkp
Ci0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUo
KSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19WRVJUSUNBTF9BQlM7IH0KLSAgICB2aXJ0
dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIlYiOyB9Ci19
OwotCi1jbGFzcyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwgOiBwdWJsaWMgU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRo
U2VnTGluZXRvVmVydGljYWxSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZH
UGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsKGVsZW1lbnQsIHJvbGUsIHkpKTsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsKFNWR1BhdGhF
bGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQotICAgICAgICA6
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbChlbGVtZW50LCByb2xlLCB5KQotICAgIHsKLSAgICB9
Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1
cm4gUEFUSFNFR19MSU5FVE9fVkVSVElDQUxfUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0
aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJ2IjsgfQotfTsKLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi43NTlkMmUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6
aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdMaW5l
dG9WZXJ0aWNhbEFic19oCisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFic19oCisK
KyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFi
cyA6IHB1YmxpYyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicz4gY3JlYXRlKFNWR1BhdGhF
bGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMoZWxl
bWVudCwgcm9sZSwgeSkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnTGluZXRv
VmVydGljYWxBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHkpCisgICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsKGVsZW1lbnQsIHJv
bGUsIHkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNl
Z1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19WRVJUSUNBTF9BQlM7IH0KKyAg
ICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIlYi
OyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0
b1ZlcnRpY2FsUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRp
Y2FsUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5ZWQ0MgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGlj
YWxSZWwuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1
LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworI2lmbmRlZiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWxfaAorI2RlZmluZSBTVkdQ
YXRoU2VnTGluZXRvVmVydGljYWxSZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJT
VkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRv
VmVydGljYWxSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1Jv
bGUgcm9sZSwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsKGVsZW1lbnQsIHJvbGUsIHkpKTsKKyAgICB9CisKK3By
aXZhdGU6CisgICAgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsKFNWR1BhdGhFbGVtZW50KiBl
bGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbChlbGVtZW50LCByb2xlLCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNF
R19MSU5FVE9fVkVSVElDQUxfUkVMOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVB
c0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJ2IjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmNwcAppbmRleCBiZDY1N2MzLi5kNTM0NmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmNwcApAQCAtMjgsMTcg
KzI4LDI2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiU1ZHUGF0
aEVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQXJjLmgiCisjaW5jbHVkZSAiU1ZHUGF0
aFNlZ0FyY0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdBcmNSZWwuaCIKICNpbmNsdWRlICJT
VkdQYXRoU2VnQ2xvc2VQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5o
IgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIKLSNpbmNsdWRlICJT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRv
UXVhZHJhdGljU21vb3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0by5oIgotI2luY2x1
ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oIgor
I2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRo
U2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJz
LmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaCIKKyNpbmNsdWRl
ICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIgorI2luY2x1ZGUgIlNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xp
bmV0b0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzLmgiCisj
aW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCIKKyNpbmNsdWRlICJTVkdQ
YXRoU2VnTGluZXRvUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJz
LmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmgiCiAjaW5jbHVkZSAi
U1ZHUGF0aFNlZ0xpc3QuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTW92ZXRvLmgiCisjaW5jbHVk
ZSAiU1ZHUGF0aFNlZ01vdmV0b0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG9SZWwu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ01vdmV0by5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3Zl
dG8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdmY2Q3ZC4uMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ01vdmV0by5oCisrKyAvZGV2L251bGwKQEAg
LTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
NCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFNWR1Bh
dGhTZWdNb3ZldG9faAotI2RlZmluZSBTVkdQYXRoU2VnTW92ZXRvX2gKLQotI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgU1ZHUGF0aFNlZ01vdmV0b0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2lu
Z2xlQ29vcmRpbmF0ZSB7IAotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhT
ZWdNb3ZldG9BYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1Jv
bGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU1ZHUGF0aFNlZ01vdmV0b0FicyhlbGVtZW50LCByb2xlLCB4LCB5KSk7Ci0gICAgfQot
Ci1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdNb3ZldG9BYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1l
bnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgICAgIDogU1ZH
UGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKLSAgICB7Ci0gICAg
fQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFBBVEhTRUdfTU9WRVRPX0FCUzsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBl
QXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiTSI7IH0KLX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdN
b3ZldG9SZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeyAKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTW92ZXRvUmVsPiBjcmVhdGUoU1ZHUGF0
aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdNb3ZldG9SZWwo
ZWxlbWVudCwgcm9sZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2Vn
TW92ZXRvUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVs
ZW1lbnQsIHJvbGUsIHgsIHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQg
c2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX01PVkVUT19SRUw7IH0K
LSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4g
Im0iOyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
U1ZHKQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ01v
dmV0b0Ficy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWE0YzE0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaApAQCAtMCwwICsxLDUw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVy
bWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
U2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRo
U2VnTW92ZXRvQWJzX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ01vdmV0b0Fic19oCisKKyNpZiBFTkFC
TEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdNb3ZldG9BYnMgOiBwdWJsaWMgU1ZHUGF0aFNl
Z1NpbmdsZUNvb3JkaW5hdGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Bh
dGhTZWdNb3ZldG9BYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNl
Z1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU1ZHUGF0aFNlZ01vdmV0b0FicyhlbGVtZW50LCByb2xlLCB4LCB5KSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdNb3ZldG9BYnMoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAgICAgIDog
U1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKKyAgICB7Cisg
ICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFBBVEhTRUdfTU9WRVRPX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdU
eXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiTSI7IH0KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ01vdmV0b1JlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZjYTY1MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ01vdmV0b1JlbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2Rl
Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdNb3ZldG9SZWxfaAorI2RlZmluZSBTVkdQ
YXRoU2VnTW92ZXRvUmVsX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNl
Z1dpdGhDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNl
Z01vdmV0b1JlbCA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ01vdmV0b1JlbD4gY3JlYXRlKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTW92ZXRvUmVs
KGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNl
Z01vdmV0b1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwg
ZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShl
bGVtZW50LCByb2xlLCB4LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVk
IHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19NT1ZFVE9fUkVMOyB9
CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJtIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFNWRykKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206374</attachid>
            <date>2013-07-10 02:39:03 -0700</date>
            <delta_ts>2013-07-11 01:23:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118525-20130710123647.patch</filename>
            <type>text/plain</type>
            <size>103576</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWMyYTgzMTM1NTJlMzAy
NDU0NDYyNjhkYzcwOTZjNTkzMzdjYjdjMi4uNDdiMTNkNjIxMzI3MDlkZTQ0YjIyN2FjNjFhMzIy
OWQ2MDExYTk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMyBAQAorMjAxMy0wNy0xMCAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgR2V0
IHJpZCBvZiBTVkdQYXRoU2VnKiBzcGVjaWFsIGNhc2luZyBpbiB0aGUgYmluZGluZ3MgZ2VuZXJh
dG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1
MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZl
IG9uZSBoZWFkZXIgcGVyIFNWR1BhdGhTZWcqIHR5cGUgc28gdGhhdCB3ZSBubyBsb25nZXIgbmVl
ZCBzcGVjaWFsIGNhc2luZworICAgICAgICBmb3IgdGhlbSBpbiB0aGUgSlNDIGJpbmRpbmdzIGdl
bmVyYXRvci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKwor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTVkdQYXRo
U2VnQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEFkZEluY2x1ZGVzRm9yVHlwZSk6CisgICAgICAgIChOYXRpdmVUb0pT
VmFsdWUpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5jcHA6CisgICAgICAgICogc3Zn
L1NWR1BhdGhTZWdBcmMuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0FyY0Ficy5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNBYnM6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoU2VnQXJjQWJzOjpTVkdQYXRoU2VnQXJjQWJzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNBYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1BhdGhTZWdBcmNBYnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2
Zy9TVkdQYXRoU2VnQXJjUmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNl
Z0FyY1JlbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNSZWw6OlNW
R1BhdGhTZWdBcmNSZWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0FyY1JlbDo6cGF0
aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0FyY1JlbDo6cGF0aFNlZ1R5
cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzOjpTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
QWJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM6OnBhdGhT
ZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM6OnBh
dGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
UmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Jl
bDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWw6
OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1JlbDo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1JlbDo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aEFicy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFiczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnM6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9v
dGhBYnMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFi
czo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aEFiczo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsOjpTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoUmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhS
ZWw6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhSZWw6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpYy5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY0Ficy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWMuaC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljQWJzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNBYnM6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzOjpwYXRoU2VnVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficzo6cGF0aFNlZ1R5cGVB
c0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Yy5oLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWw6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbDo6
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWw6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsOjpwYXRoU2VnVHlwZUFzTGV0dGVyKToKKyAg
ICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
LmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFi
czo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoQWJzOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFiczo6cGF0aFNlZ1R5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhB
YnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aFJlbC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsOjpTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aFJlbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aFJlbDo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWw6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgor
ICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRo
U2VnTGluZXRvQWJzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0
b0Ficzo6U1ZHUGF0aFNlZ0xpbmV0b0Ficyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2Vn
TGluZXRvQWJzOjpwYXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGlu
ZXRvQWJzOjpwYXRoU2VnVHlwZUFzTGV0dGVyKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWwuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250
YWxBYnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bEFiczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsQWJzOjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFiczo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnM6OnBhdGhTZWdUeXBlQXNMZXR0
ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWw6OlNWR1Bh
dGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdM
aW5ldG9Ib3Jpem9udGFsUmVsOjpwYXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbDo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAg
ICogc3ZnL1NWR1BhdGhTZWdMaW5ldG9SZWwuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnTGluZXRvLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGlu
ZXRvUmVsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0b1JlbDo6
U1ZHUGF0aFNlZ0xpbmV0b1JlbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRv
UmVsOjpwYXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvUmVs
OjpwYXRoU2VnVHlwZUFzTGV0dGVyKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsLmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgu
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnM6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnM6OlNWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbEFicyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRv
VmVydGljYWxBYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdM
aW5ldG9WZXJ0aWNhbEFiczo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRo
U2VnTGluZXRvVmVydGljYWxSZWw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRo
U2VnTGluZXRvVmVydGljYWxSZWw6OlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWw6OnBhdGhTZWdUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbDo6cGF0aFNlZ1R5
cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaXN0QnVpbGRlci5jcHA6Cisg
ICAgICAgICogc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG8uaC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhT
ZWdNb3ZldG9BYnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTW92ZXRv
QWJzOjpTVkdQYXRoU2VnTW92ZXRvQWJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdN
b3ZldG9BYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdNb3Zl
dG9BYnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnTW92
ZXRvUmVsLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ01vdmV0
by5oLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0b1JlbDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdNb3ZldG9SZWw6OlNWR1BhdGhTZWdNb3ZldG9SZWwp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0b1JlbDo6cGF0aFNlZ1R5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0b1JlbDo6cGF0aFNlZ1R5cGVBc0xldHRl
cik6CisKIDIwMTMtMDctMTAgIEthcm9sIMWad2luaWFyc2tpICA8ay5zd2luaWFyc2syQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIENoYW5nZSByZWNlbnRseSByYXRpZmllZCBleHRlbnNpb25zIHBy
ZWZpeGVzIGZyb20gV0VCS0lUX1dFQkdMXyB0byBXRUJHTF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDNiNTNlMDU0ZGVjNjMzZWI2N2U1Njc3Y2JiMWMzY2I1ZjBlZmRlZmQuLmNl
ZjkwZWViZDAzYWY4NTVmMjk5NWYxY2RiM2JmNjZjOGRmNzZkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNTI0NCwyMiArNTI0NCwzNyBAQCB3ZWJjb3JlX3N2Z19zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQXJjLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjQWJzLmggXAorCVNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnQ2xvc2VQYXRoLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
Q3VydmV0b0N1YmljLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1
YmljQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVs
LmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIFwKLQlT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaCBcCisJ
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggXAorCVNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCBcCisJ
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnLmggXAotCVNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnTGluZXRvLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlu
ZXRvQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvUmVsLmggXAog
CVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBcCisJU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCBcCisJU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnTGlzdEJ1aWxkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xp
c3RCdWlsZGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpc3RTb3VyY2UuaCBcCi0JU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG8u
aCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaCBcCisJU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBcCiAJU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdXaXRoQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNv
dXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFN0cmluZ0J1aWxkZXIuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCmluZGV4IDM1ZWI2NTQ2YmUwNWQ4Mzc3ZmVjYWUyMTQ4Y2RjYWRiZjQ2YmNiYmEu
Ljk1OGYzNTAzZGUxOTRhYmYyNzdiZjg2YzZmMzRiZWY4YTAxYWVjNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpA
QCAtMjc1NSwxNyArMjc1NSwzMiBAQCBIRUFERVJTICs9IFwKICAgICBzdmcvU1ZHUGF0aEVsZW1l
bnQuaCBcCiAgICAgc3ZnL1NWR1BhdGhQYXJzZXIuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdBcmMu
aCBcCisgICAgc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdBcmNS
ZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdDbG9zZVBhdGguaCBcCiAgICAgc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaCBc
CisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNT
bW9vdGhBYnMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCBc
CiAgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmggXAotICAgIHN2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oIFwKLSAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0by5o
IFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCBcCisgICAgc3ZnL1NW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aEFicy5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGhSZWwuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaCBcCisgICAgc3Zn
L1NWR1BhdGhTZWdMaW5ldG9SZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oIFwKKyAgICBz
dmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBcCiAgICAgc3ZnL1NWR1BhdGhTZWdM
aW5ldG9WZXJ0aWNhbC5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmgg
XAorICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCBcCiAgICAgc3ZnL1NWR1Bh
dGhTZWdMaXN0LmggXAogICAgIHN2Zy9TVkdQYXRoU2VnTGlzdEJ1aWxkZXIuaCBcCi0gICAgc3Zn
L1NWR1BhdGhTZWdNb3ZldG8uaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaCBcCisg
ICAgc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBcCiAgICAgc3ZnL1NWR1BhdHRlcm5FbGVtZW50
LmggXAogICAgIHN2Zy9TVkdQb2ludExpc3QuaCBcCiAgICAgc3ZnL1NWR1BvbHlFbGVtZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYThhY2JiN2JhMTkxMDRjYTkxNWNiZTQ5ODRhODVkODY3M2IwMTQ5NS4uNGRhYjliNGQ1MGI3
YTM0NTliYjMxMzk5YmIzMDMwNzI4NzM4ZjExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMzQyNSwxOCArMTM0MjUsMzMgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoUGFyc2VyLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdBcmMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQXJjQWJzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxzdmdcU1ZHUGF0aFNlZ0FyY1JlbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdDbG9zZVBhdGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aEFicy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0by5oIiAvPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNSZWwuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oIiAvPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9SZWwuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsQWJzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWxSZWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xT
VkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlzdC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaXN0QnVpbGRlci5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaXN0U291cmNlLmgiIC8+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ01vdmV0by5oIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG9BYnMuaCIgLz4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTW92ZXRvUmVsLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNvdXJjZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTdHJpbmdCdWlsZGVyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFN0cmluZ1NvdXJjZS5oIiAvPgpAQCAtMTM5MjQs
NCArMTM5MzksNCBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9z
b2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdl
dHMiPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAzZmQyYjNmZGU4MzM4ZjhjYzAxN2Y0
NDA3ZWU0MjM1N2YxMzQ3Y2NlLi5lNDMzM2E5ZDkyNDhhNzliMjYwODVkNTdhYmZkOTEwMzVlNGFj
NTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCkBAIC0xMjAzMywzMCArMTIwMzMsNzIgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQXJjLmgiPgogICAgICAgPEZpbHRlcj5yZW5k
ZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0FyY0Ficy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
XHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdBcmNSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8
L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdQYXRoU2VnQ2xvc2VQYXRoLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdc
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2Zzwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3Zn
XFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xz
dmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJp
bmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIj4KICAgICAgIDxGaWx0ZXI+
cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCI+CisgICAg
ICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVs
LmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1
ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWMuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aC5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2
ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
c3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmgiPgorICAgICAgPEZpbHRlcj5yZW5k
ZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCI+CisgICAg
ICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290
aFJlbC5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJ
bmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9B
YnMuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvLmgi
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9SZWwuaCI+
CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bC5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsQWJzLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWxSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQ
YXRoU2VnTGluZXRvVmVydGljYWwuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xT
VkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xz
dmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRl
cmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlzdC5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2
ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIwNjYsNyArMTIxMDgsMTAgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlzdFNvdXJjZS5oIj4KICAg
ICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG8uaCI+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ01vdmV0b0Ficy5oIj4KKyAgICAgIDxG
aWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG9SZWwuaCI+CiAgICAgICA8Rmls
dGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU291cmNlLmgiPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI3ZjJiYmVlZTc1ODlh
YzYyYTUxMGNhYTRiZjM1YmNiMDlkN2Y1OTguLmIzZGNhOTU2ZWEyYjQwZDEyNTI5NjQyMzIyZjU1
MDljYzBiZWNkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTIwMjMsNiArMjAyMywyNCBAQAogCQk4MkFCMTc3NjEyNUM4MjY3
MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJBQjE3NzIxMjVDODI2NzAwQzUwNjlEIC8qIElu
c3BlY3RvclJlc291cmNlQWdlbnQuaCAqLzsgfTsKIAkJODJFM0Q4REUxMjJFQTBEMTAwM0FFNUJD
IC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MkUzRDhEQzEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVy
dHlTb3VyY2VEYXRhLmNwcCAqLzsgfTsKIAkJODJFM0Q4REYxMjJFQTBEMTAwM0FFNUJDIC8qIENT
U1Byb3BlcnR5U291cmNlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODJFM0Q4REQxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291cmNl
RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTgzQzFENDI1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0MxRDQxMzE3OEQ1QUI0MDAx
NDFFNjggLyogU1ZHUGF0aFNlZ0FyY0Ficy5oICovOyB9OworCQk4M0MxRDQyNjE3OEQ1QUI0MDAx
NDFFNjggLyogU1ZHUGF0aFNlZ0FyY1JlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MTQxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdB
cmNSZWwuaCAqLzsgfTsKKwkJODNDMUQ0MjcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzQzFENDE1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
QWJzLmggKi87IH07CisJCTgzQzFENDI4MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljUmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4M0MxRDQxNjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Jl
bC5oICovOyB9OworCQk4M0MxRDQyOTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aEFicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODNDMUQ0MTcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhBYnMuaCAqLzsgfTsKKwkJODNDMUQ0MkExNzhENUFCNDAwMTQxRTY4IC8qIFNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzFENDE4MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljU21vb3RoUmVsLmggKi87IH07CisJCTgzQzFENDJCMTc4RDVBQjQwMDE0MUU2
OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MTkxNzhENUFCNDAwMTQxRTY4IC8qIFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggKi87IH07CisJCTgzQzFENDJDMTc4RDVBQjUw
MDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MUExNzhENUFCNDAwMTQxRTY4
IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggKi87IH07CisJCTgzQzFENDJEMTc4
RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MUIxNzhE
NUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmggKi87
IH07CisJCTgzQzFENDJFMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1Ntb290aFJlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODNDMUQ0MUMxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljU21vb3RoUmVsLmggKi87IH07CisJCTgzQzFENDJGMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQ
YXRoU2VnTGluZXRvQWJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4M0MxRDQxRDE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0Ficy5o
ICovOyB9OworCQk4M0MxRDQzMDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hv
cml6b250YWxBYnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzQzFENDFFMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bEFicy5oICovOyB9OworCQk4M0MxRDQzMTE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWxSZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzQzFENDFGMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9y
aXpvbnRhbFJlbC5oICovOyB9OworCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0
aFNlZ0xpbmV0b1JlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODNDMUQ0MjAxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9SZWwuaCAq
LzsgfTsKKwkJODNDMUQ0MzMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbEFicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODNDMUQ0MjExNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5o
ICovOyB9OworCQk4M0MxRDQzNDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsUmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4M0MxRDQyMjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVs
LmggKi87IH07CisJCTgzQzFENDM1MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTW92ZXRv
QWJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0Mx
RDQyMzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01vdmV0b0Ficy5oICovOyB9OworCQk4
M0MxRDQzNjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01vdmV0b1JlbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MjQxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9SZWwuaCAqLzsgfTsKIAkJODQxOUQyQTcxMjBEOTJE
MDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDE5RDJBNDEyMEQ5MkQwMDAxNDFGOEYgLyogU1ZHUGF0
aEJ5dGVTdHJlYW0uaCAqLzsgfTsKIAkJODQxOUQyQTgxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1Bh
dGhCeXRlU3RyZWFtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NDE5RDJBNTEyMEQ5MkQwMDAxNDFGOEYgLyogU1ZHUGF0aEJ5dGVTdHJl
YW1CdWlsZGVyLmNwcCAqLzsgfTsKIAkJODQxOUQyQTkxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1Bh
dGhCeXRlU3RyZWFtQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODQxOUQyQTYxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFt
QnVpbGRlci5oICovOyB9OwpAQCAtNDA1NSwxMyArNDA3MywxMCBAQAogCQlCMjIyN0E2NTBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4Q0YwRDAwQkYyMDAwNzFCNzgyIC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCAqLzsgfTsKIAkJQjIyMjdBNjkwRDAwQkYyMjAwNzFC
NzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3OEQzMEQwMEJGMjAwMDcxQjc4MiAvKiBT
VkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmggKi87IH07CiAJCUIyMjI3QTZEMEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RDcwRDAwQkYyMDAwNzFCNzgyIC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmggKi87IH07Ci0JCUIyMjI3QTcxMEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4REIwRDAwQkYyMDAwNzFC
NzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmggKi87IH07Ci0JCUIyMjI3
QTc1MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzhERjBEMDBCRjIwMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0xpbmV0by5oICovOyB9OwogCQlCMjIyN0E3ODBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbC5oICovOyB9OwogCQlCMjIyN0E3RDBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzhFNzBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsLmggKi87IH07CiAJCUIyMjI3QTgwMEQwMEJGMjIwMDcxQjc4MiAvKiBT
VkdQYXRoU2VnTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjIyNzhFQTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuY3BwICov
OyB9OwogCQlCMjIyN0E4MTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3OEVCMEQwMEJG
MjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGlzdC5oICovOyB9OwotCQlCMjIyN0E4NDBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0by5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RUUwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdGhT
ZWdNb3ZldG8uaCAqLzsgfTsKIAkJQjIyMjdBODcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdHRl
cm5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyMjI3OEYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5jcHAgKi87
IH07CiAJCUIyMjI3QTg4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RjIwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmggKi87IH07CiAJCUIyMjI3QThCMEQw
MEJGMjIwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RjUwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1Bv
aW50TGlzdC5jcHAgKi87IH07CkBAIC04NDUyLDYgKzg0NjcsMjQgQEAKIAkJODJBQjE3NzIxMjVD
ODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclJlc291cmNlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4MkUzRDhEQzEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1By
b3BlcnR5U291cmNlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgyRTNE
OEREMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDEzMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRo
U2VnQXJjQWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdB
cmNBYnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNDMUQ0MTQxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdBcmNSZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU1ZHUGF0aFNlZ0FyY1JlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
M0MxRDQxNTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDE2MTc4RDVBQjQwMDE0MUU2
OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODNDMUQ0MTcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNTbW9vdGhBYnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4M0MxRDQxODE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aFJlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoUmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDE5
MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Fi
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQxQTE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNDMUQ0MUIxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDFDMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4M0MxRDQxRDE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xp
bmV0b0Ficy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGlu
ZXRvQWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDFFMTc4RDVBQjQw
MDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQxRjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZH
UGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODNDMUQ0MjAxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9S
ZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b1Jl
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQyMTE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4M0MxRDQyMjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsUmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Bh
dGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
M0MxRDQyMzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01vdmV0b0Ficy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTW92ZXRvQWJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDI0MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRo
U2VnTW92ZXRvUmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhT
ZWdNb3ZldG9SZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQxOUQyQTQxMjBE
OTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhCeXRlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg0MTlEMkE1MTIwRDkyRDAwMDE0MUY4RiAvKiBTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxk
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aEJ5dGVT
dHJlYW1CdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQxOUQyQTYx
MjBEOTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNjY4LDEwICsxMDcwMSw4IEBACiAJCUIyMjI3OEQ3
MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RDgwRDAwQkYyMDAwNzFCNzgyIC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMjIyNzhEOTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNSZWwuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1JlbC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OERC
MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4REMwRDAwQkYy
MDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhERDBEMDBCRjIwMDA3MUI3
ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OERGMEQwMEJGMjAwMDcxQjc4MiAvKiBT
VkdQYXRoU2VnTGluZXRvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQ
YXRoU2VnTGluZXRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEUwMEQw
MEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvQWJzLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0Ficy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpv
bnRhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0
b0hvcml6b250YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RTMwRDAw
QkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA2ODMsNyArMTA3MTQsNiBAQAogCQlCMjIyNzhF
QTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RUIwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhFQzBEMDBCRjIxMDA3MUI3ODIgLyog
U1ZHUGF0aFNlZ0xpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQYXRoU2VnTGlz
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OEVFMEQwMEJGMjEwMDcx
Qjc4MiAvKiBTVkdQYXRoU2VnTW92ZXRvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnTW92ZXRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MjI3OEVGMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92ZXRvQWJzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyMjI3OEYwMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92
ZXRvUmVsLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ01vdmV0b1JlbC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEYxMEQwMEJGMjEwMDcxQjc4
MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHUGF0dGVybkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTgwNDIsMzAgKzE4MDcyLDQ0IEBACiAJCQkJQjIyMjc4QzUwRDAwQkYyMDAwNzFCNzgy
IC8qIFNWR1BhdGhTZWcuaCAqLywKIAkJCQlCMjIyNzhDNjBEMDBCRjIwMDA3MUI3ODIgLyogU1ZH
UGF0aFNlZy5pZGwgKi8sCiAJCQkJQjIyMjc4QzgwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhT
ZWdBcmMuaCAqLywKKwkJCQk4M0MxRDQxMzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0Fy
Y0Ficy5oICovLAogCQkJCUIyMjI3OEM5MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQXJj
QWJzLmlkbCAqLywKKwkJCQk4M0MxRDQxNDE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0Fy
Y1JlbC5oICovLAogCQkJCUIyMjI3OENBMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQXJj
UmVsLmlkbCAqLywKIAkJCQlCMjIyNzhDQzBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0Ns
b3NlUGF0aC5oICovLAogCQkJCUIyMjI3OENEMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2Vn
Q2xvc2VQYXRoLmlkbCAqLywKIAkJCQlCMjIyNzhDRjBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpYy5oICovLAorCQkJCTgzQzFENDE1MTc4RDVBQjQwMDE0MUU2OCAvKiBT
VkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmggKi8sCiAJCQkJQjIyMjc4RDAwRDAwQkYyMDAwNzFC
NzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaWRsICovLAorCQkJCTgzQzFENDE2MTc4
RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggKi8sCiAJCQkJQjIy
Mjc4RDEwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaWRsICov
LAogCQkJCUIyMjI3OEQzMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoLmggKi8sCisJCQkJODNDMUQ0MTcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCAqLywKIAkJCQlCMjIyNzhENDBEMDBCRjIwMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5pZGwgKi8sCisJCQkJODNDMUQ0MTgx
NzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCAqLywK
IAkJCQlCMjIyNzhENTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Nt
b290aFJlbC5pZGwgKi8sCiAJCQkJQjIyMjc4RDcwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljLmggKi8sCisJCQkJODNDMUQ0MTkxNzhENUFCNDAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggKi8sCiAJCQkJQjIyMjc4RDgwRDAwQkYy
MDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmlkbCAqLywKKwkJCQk4
M0MxRDQxQTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwu
aCAqLywKIAkJCQlCMjIyNzhEOTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNSZWwuaWRsICovLAotCQkJCUIyMjI3OERCMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oICovLAorCQkJCTgzQzFENDFCMTc4RDVBQjQw
MDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oICovLAogCQkJ
CUIyMjI3OERDMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aEFicy5pZGwgKi8sCisJCQkJODNDMUQ0MUMxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmggKi8sCiAJCQkJQjIyMjc4REQwRDAwQkYyMDAw
NzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmlkbCAqLywKLQkJ
CQlCMjIyNzhERjBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0by5oICovLAorCQkJ
CTgzQzFENDFEMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvQWJzLmggKi8sCiAJ
CQkJQjIyMjc4RTAwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9BYnMuaWRsICov
LAogCQkJCUIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpv
bnRhbC5oICovLAorCQkJCTgzQzFENDFFMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbEFicy5oICovLAogCQkJCUIyMjI3OEUzMEQwMEJGMjAwMDcxQjc4MiAvKiBT
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5pZGwgKi8sCisJCQkJODNDMUQ0MUYxNzhENUFC
NDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmggKi8sCiAJCQkJQjIy
Mjc4RTQwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmlk
bCAqLywKKwkJCQk4M0MxRDQyMDE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1Jl
bC5oICovLAogCQkJCUIyMjI3OEU1MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRv
UmVsLmlkbCAqLywKIAkJCQlCMjIyNzhFNzBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsLmggKi8sCisJCQkJODNDMUQ0MjExNzhENUFCNDAwMTQxRTY4IC8qIFNWR1Bh
dGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oICovLAogCQkJCUIyMjI3OEU4MEQwMEJGMjAwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaWRsICovLAorCQkJCTgzQzFENDIyMTc4
RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaCAqLywKIAkJCQlC
MjIyNzhFOTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmlk
bCAqLywKIAkJCQlCMjIyNzhFQTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuY3Bw
ICovLAogCQkJCUIyMjI3OEVCMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGlzdC5oICov
LApAQCAtMTgwNzQsOCArMTgxMTgsOSBAQAogCQkJCTg0NzZDOUU0MTFERjZBMEIwMDU1NUIwMiAv
KiBTVkdQYXRoU2VnTGlzdEJ1aWxkZXIuaCAqLywKIAkJCQk4NEI2Qjk3NTEyMEYxM0U1MDBCOEVG
QUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwICovLAogCQkJCTg0QjZCOTc2MTIwRjEzRTUw
MEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovLAotCQkJCUIyMjI3OEVFMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92ZXRvLmggKi8sCisJCQkJODNDMUQ0MjMxNzhENUFC
NDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9BYnMuaCAqLywKIAkJCQlCMjIyNzhFRjBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGwgKi8sCisJCQkJODNDMUQ0MjQx
NzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9SZWwuaCAqLywKIAkJCQlCMjIyNzhG
MDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0b1JlbC5pZGwgKi8sCiAJCQkJMDgy
REU0MkMxMjkyNjIxNjAwRDkyM0RGIC8qIFNWR1BhdGhTZWdXaXRoQ29udGV4dC5oICovLAogCQkJ
CTg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291cmNlLmggKi8sCkBAIC0yMzYy
NiwxNSArMjM2NzEsMTIgQEAKIAkJCQlCMjIyN0E2NTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBNjkwRDAwQkYyMjAw
NzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyMjI3QTZEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Yy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjIyMjdBNzEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmggaW4gSGVhZGVycyAqLywKLQkJCQlCMjIyN0E3
NTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0by5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjIyMjdBNzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E3RDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0
aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E4MTBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzZDOUU2
MTFERjZBMEIwMDU1NUIwMiAvKiBTVkdQYXRoU2VnTGlzdEJ1aWxkZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA4NEEwODI5MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5
VGVhck9mZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODRCNkI5NzgxMjBGMTNFNTAwQjhFRkFGIC8q
IFNWR1BhdGhTZWdMaXN0U291cmNlLmggaW4gSGVhZGVycyAqLywKLQkJCQlCMjIyN0E4NDBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDgy
REU0MkQxMjkyNjIxNjAwRDkyM0RGIC8qIFNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1BhdGhTb3VyY2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTg0MTlEMkJBMTIwRTBDNzYwMDE0MUY4RiAvKiBTVkdQYXRoU3Ry
aW5nQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDAwOCw2ICsyNDA1MCwyNCBAQAogCQkJ
CTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBp
biBIZWFkZXJzICovLAorCQkJCTgzQzFENDI1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
QXJjQWJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQyNjE3OEQ1QUI0MDAxNDFFNjggLyog
U1ZHUGF0aFNlZ0FyY1JlbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MjcxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTgzQzFENDI4MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQyOTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aEFicy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MkExNzhE
NUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTgzQzFENDJCMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY0Ficy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MkMxNzhENUFCNTAwMTQx
RTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4M0MxRDQyRDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNT
bW9vdGhBYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDJFMTc4RDVBQjUwMDE0MUU2OCAv
KiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODNDMUQ0MkYxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9BYnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTgzQzFENDMwMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbEFicy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MzExNzhENUFCNTAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MzMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdM
aW5ldG9WZXJ0aWNhbEFicy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MzQxNzhENUFCNTAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODNDMUQ0MzUxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9BYnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTgzQzFENDM2MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTW92
ZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NWR1BhdGhTZWdDdXN0b20uY3BwCmluZGV4IDNhZGFiYWY3MTMwOTM4MjA1NWI1OWM2MjE1
M2E0YTgwZDAyNWM2OWYuLjBlZWNlYzExZDVlZGRkNWUxM2Y5OThkNjJhOTI4NTg3MGFhYTE1OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdQYXRoU2VnQ3VzdG9t
LmNwcApAQCAtNDgsMTEgKzQ4LDE0IEBACiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Yy5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIKICNpbmNsdWRl
ICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljU21vb3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0by5oIgorI2lu
Y2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmgiCisjaW5jbHVkZSAi
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRo
U2VnTGluZXRvQWJzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCIK
KyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvUmVsLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ01vdmV0by5oIgorI2luY2x1ZGUg
IlNWR1BhdGhTZWdNb3ZldG9BYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTW92ZXRvUmVsLmgi
CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZWJkMTFhNWM0NDk5YzRiOWVkYmE3
YWFkOTA5MDNmOWU0ZWEzZTBkYS4uMWM3YjkwZTZiZGUzYjY5ZTcwODJlMWY4NmMwODJiYzA1YzMz
ZTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KQEAgLTIyMCwxMSArMjIwLDcgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQog
CiAgICAgIyBXaGVuIHdlJ3JlIGZpbmlzaGVkIHdpdGggdGhlIG9uZS1maWxlLXBlci1jbGFzcwog
ICAgICMgcmVvcmdhbml6YXRpb24sIHdlIHdvbid0IG5lZWQgdGhlc2Ugc3BlY2lhbCBjYXNlcy4K
LSAgICBpZiAoJHR5cGUgPX4gL1NWR1BhdGhTZWcvKSB7Ci0gICAgICAgIG15ICRqb2luZWROYW1l
ID0gJHR5cGU7Ci0gICAgICAgICRqb2luZWROYW1lID1+IHMvQWJzfFJlbC8vOwotICAgICAgICAk
aW5jbHVkZXNSZWYtPnsiJHtqb2luZWROYW1lfS5oIn0gPSAxOwotICAgIH0gZWxzaWYgKCR0eXBl
IGVxICJYUGF0aE5TUmVzb2x2ZXIiKSB7CisgICAgaWYgKCR0eXBlIGVxICJYUGF0aE5TUmVzb2x2
ZXIiKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKU1hQYXRoTlNSZXNvbHZlci5oIn0gPSAx
OwogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCJ9ID0g
MTsKICAgICB9IGVsc2lmICgkaXNDYWxsYmFjayAmJiAkY29kZUdlbmVyYXRvci0+SXNXcmFwcGVy
VHlwZSgkdHlwZSkpIHsKQEAgLTM2NDMsMTEgKzM2MzksNiBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVl
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXR1cm4gIigkdmFsdWUuaGFzTm9WYWx1
ZSgpID8ganNOdWxsKCkgOiAkdmFsdWUuanNWYWx1ZSgpKSI7CiAgICAgICAgIH0KLSAgICB9IGVs
c2lmICgkdHlwZSA9fiAvU1ZHUGF0aFNlZy8pIHsKLSAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMo
IkpTJHR5cGUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgIG15ICRqb2luZWROYW1lID0gJHR5
cGU7Ci0gICAgICAgICRqb2luZWROYW1lID1+IHMvQWJzfFJlbC8vOwotICAgICAgICBBZGRUb0lt
cGxJbmNsdWRlcygiJGpvaW5lZE5hbWUuaCIsICRjb25kaXRpb25hbCk7CiAgICAgfSBlbHNpZiAo
JHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIpIHsKICAg
ICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIiwgJGNvbmRp
dGlvbmFsKTsKICAgICAgICAgcmV0dXJuICIkdmFsdWUgPyAkdmFsdWUtPmRlc2VyaWFsaXplKGV4
ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCAwKSA6IGpzTnVsbCgpIjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IGQ2ZGEzM2E4MGJkNTNhZTAwYjBkMDA3NzIw
ZWJiMWJhN2U1ZjYxZTYuLjZiMWY0NzcxNDgyNzM4NDUwNWVlYmIwY2RhZjgwZGQxZmY5Mzg5ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApAQCAtMjksMTkgKzI5LDI4IEBA
CiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmgiCiAjaW5jbHVkZSAiU1ZHTVBhdGhFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQXJjLmgi
CisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0FyY0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdBcmNS
ZWwuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnQ2xvc2VQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpYy5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9v
dGguaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgotI2luY2x1ZGUg
IlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNl
Z0xpbmV0by5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiCi0jaW5j
bHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCIK
KyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgiCisjaW5jbHVkZSAi
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNSZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5o
IgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgiCisjaW5j
bHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwu
aCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2Fs
UmVsLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdQYXRoU2Vn
TGlzdEJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5o
IgotI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG8uaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTW92
ZXRvQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ01vdmV0b1JlbC5oIgogI2luY2x1ZGUgIlNW
R1BhdGhVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0FyYy5oCmluZGV4IGU4MzViYzM0MjUxN2Y0Y2MwOGY2ZjIyMzRjYmU5MGIz
YzBlM2I3OTcuLmYyMTgxMjk5NmU3N2NjM2Y1OWNhYTQ0ZTA4NGMwNmY5NTAzYmNiYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmMuaApAQCAtMTAwLDQwICsxMDAsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9zd2VlcEZsYWcgOiAxOwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0FyY0FicyA6
IHB1YmxpYyBTVkdQYXRoU2VnQXJjIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdQYXRoU2VnQXJjQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhT
ZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCByMiwgZmxvYXQg
YW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKLSAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0FyY0FicyhlbGVtZW50LCByb2xlLCB4LCB5
LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykpOwotICAgIH0KLQotcHJp
dmF0ZToKLSAgICBTVkdQYXRoU2VnQXJjQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQ
YXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZs
b2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCi0gICAgICAgIDog
U1ZHUGF0aFNlZ0FyYyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFy
Y0ZsYWcsIHN3ZWVwRmxhZykKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBz
aG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQVJDX0FCUzsgfQotICAg
IHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiQSI7
IH0KLX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdBcmNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0FyYyB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0FyY1JlbD4gY3JlYXRl
KFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBm
bG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxh
ZywgYm9vbCBzd2VlcEZsYWcpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNW
R1BhdGhTZWdBcmNSZWwoZWxlbWVudCwgcm9sZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VB
cmNGbGFnLCBzd2VlcEZsYWcpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0Fy
Y1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgcjEsIGZsb2F0IHIyLCBmbG9hdCBhbmdsZSwgYm9vbCBsYXJnZUFy
Y0ZsYWcsIGJvb2wgc3dlZXBGbGFnKQotICAgICAgICA6IFNWR1BhdGhTZWdBcmMoZWxlbWVudCwg
cm9sZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcpCi0gICAg
ewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25z
dCB7IHJldHVybiBQQVRIU0VHX0FSQ19SRUw7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2Vn
VHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImEiOyB9Ci19OwotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQXJjQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWQ1YjY3ZmI0Zjc0YzZlM2QyMjAxMDcwNWQ0ODUzZjRk
ZjM1ZDkzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
QXJjQWJzLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0FyY0Fic19oCisjZGVmaW5lIFNWR1BhdGhTZWdBcmNB
YnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQXJjLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0FyY0FicyA6IHB1YmxpYyBTVkdQ
YXRoU2VnQXJjIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQXJj
QWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCByMiwgZmxvYXQgYW5nbGUsIGJvb2wg
bGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU1ZHUGF0aFNlZ0FyY0FicyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFu
Z2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBT
VkdQYXRoU2VnQXJjQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSBy
b2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBi
b29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCisgICAgICAgIDogU1ZHUGF0aFNlZ0Fy
YyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVw
RmxhZykKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2Vn
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQVJDX0FCUzsgfQorICAgIHZpcnR1YWwgU3Ry
aW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiQSI7IH0KK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2MjQ1Yjk5M2UzZWMx
MDJhZmE2MWI2YzEwZmM2YTNkZWFlNjc0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5u
QGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9u
aWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdBcmNSZWxfaAorI2Rl
ZmluZSBTVkdQYXRoU2VnQXJjUmVsX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0FyYy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdB
cmNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0FyYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGF0aFNlZ0FyY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBT
VkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIs
IGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdBcmNSZWwoZWxlbWVudCwgcm9s
ZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcpKTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0FyY1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVu
dCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgcjEsIGZsb2F0
IHIyLCBmbG9hdCBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnKQorICAg
ICAgICA6IFNWR1BhdGhTZWdBcmMoZWxlbWVudCwgcm9sZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwg
bGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5z
aWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0FSQ19SRUw7
IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1
cm4gImEiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWMuaAppbmRleCAxNjlkOGY4ZjE1YTYxNjVjYjczMjNmNDRkNTk3NWE1YTg0MDY0MjQxLi5iZjhh
NDBjMjJlNjI1ODUxNzNlMjNjNGJhYjJmNWViNDczOTc4OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgKQEAgLTkwLDQwICs5MCw2IEBAIHByaXZhdGU6
CiAgICAgZmxvYXQgbV95MjsKIH07CiAKLWNsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMg
OiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7IAotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVu
dCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
eDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMoZWxlbWVudCwgcm9sZSwgeCwg
eSwgeDEsIHkxLCB4MiwgeTIpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY0FicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQg
eTIpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyhlbGVtZW50LCByb2xlLCB4LCB5
LCB4MSwgeTEsIHgyLCB5MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBz
aG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19B
QlM7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyBy
ZXR1cm4gIkMiOyB9Ci19OwotCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsIDogcHVi
bGljIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMgeyAKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBm
bG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgx
LCB5MSwgeDIsIHkyKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNSZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZs
b2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKQot
ICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEs
IHkxLCB4MiwgeTIpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQg
cGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fQ1VCSUNfUkVMOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJjIjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1
YmljQWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRiYzM5NzgxZGY0NjI0OTM5YTBmNmFhZWNmNmFiMmM3ZTdiZmZlNGIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0Ficy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAq
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnNfaAorI2RlZmluZSBTVkdQYXRo
U2VnQ3VydmV0b0N1YmljQWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpYy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficz4g
Y3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9h
dCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Fi
cyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEsIHgyLCB5MikpOworICAgIH0KKworcHJpdmF0
ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50
LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQg
eTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
KGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSwgeDIsIHkyKQorICAgIHsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFU
SFNFR19DVVJWRVRPX0NVQklDX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBl
QXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiQyI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlYTlmOWFjNWYw
MmUwMTc2ZGRhZTQyY2Y0MWIwZWYyOGY2YTE3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oCkBAIC0wLDAgKzEsNTAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1z
dW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsX2gKKwor
I2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwgOiBw
dWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBl
bGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwg
ZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbChlbGVtZW50LCByb2xlLCB4LCB5LCB4
MSwgeTEsIHgyLCB5MikpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0
b0N1YmljUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikK
KyAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgx
LCB5MSwgeDIsIHkyKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0
IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1JFTDsg
fQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVy
biAiYyI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
Q3VydmV0b0N1YmljU21vb3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aC5oCmluZGV4IGE2NTQyOTdjYTMxMGY0YjEwYTVhY2JiYjlhNWFiZTY1ZjZj
NzJiODAuLjhhNjdhNWRlMWUxM2QwZTJmNDFiNjRkYTlhZTdmOTkwNDVjNWE0MzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaApAQCAt
NzIsNDAgKzcyLDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX3kyOwogfTsKIAotY2xhc3MgU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljU21vb3RoIHsgCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQ
YXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNT
bW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDIsIHkyKSk7Ci0gICAgfQotCi1wcml2YXRl
OgotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBm
bG9hdCB5MikKLSAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoKGVsZW1lbnQs
IHJvbGUsIHgsIHksIHgyLCB5MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25l
ZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJ
Q19TTU9PVEhfQUJTOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigp
IGNvbnN0IHsgcmV0dXJuICJTIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoIHsgCi1wdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJl
bD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwoZWxlbWVudCwg
cm9sZSwgeCwgeSwgeDIsIHkyKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGhSZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdS
b2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKLSAgICAgICAg
OiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgyLCB5
MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19TTU9PVEhfUkVMOyB9Ci0g
ICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJz
IjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNW
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoQWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Nt
b290aEFicy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhNzFlMDNiMDk1ZTZkMDNmZDY0MmFjZjVjMWQ4Mzg5NjIw
NTIwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aEFicy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhB
YnNfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzX2gKKworI2lmIEVO
QUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhB
YnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicz4gY3JlYXRl
KFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBm
bG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQgeTIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwg
eSwgeDIsIHkyKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICAgICAgOiBTVkdQYXRo
U2VnQ3VydmV0b0N1YmljU21vb3RoKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgyLCB5MikKKyAgICB7
CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19TTU9PVEhfQUJTOyB9CisgICAgdmlydHVh
bCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJTIjsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNT
bW9vdGhSZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZjMzFjNzlkOWQxZWY1OTQ3NDI3YTBlNjhiOTNkOGNkYjg1
ZGE4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljU21vb3RoUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9y
Zz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJl
bF9oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWxfaAorCisjaWYgRU5B
QkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJl
bCA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsPiBjcmVhdGUo
U1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZs
b2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbChlbGVtZW50LCByb2xlLCB4LCB5
LCB4MiwgeTIpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwg
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDIsIGZsb2F0IHkyKQorICAgICAgICA6IFNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDIsIHkyKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3Qg
eyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1NNT09USF9SRUw7IH0KKyAgICB2aXJ0dWFs
IFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInMiOyB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oCmlu
ZGV4IDg5NGY3ODc4YTAwYTFjMzgxNzQyYjkxNDY3MGI3ZWJjZWYwNjM2YWYuLjZmOGQwNmZkYjE5
MWJjZGZjZjEyZmFiNjhjMGY3MjBiMmYxNjg5OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oCkBAIC03Miw0MCArNzIsNiBAQCBwcml2YXRl
OgogICAgIGZsb2F0IG1feTE7CiB9OwogCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYyB7Ci1wdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnM+IGNyZWF0ZShT
VkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyhlbGVtZW50LCByb2xlLCB4LCB5LCB4
MSwgeTEpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKLSAgICAgICAgOiBTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpYyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEpCi0gICAgewotICAgIH0K
LQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVy
biBQQVRIU0VHX0NVUlZFVE9fUVVBRFJBVElDX0FCUzsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBh
dGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiUSI7IH0KLX07Ci0KLWNsYXNzIFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsIDogcHVibGljIFNWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2Vn
Um9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEpCi0gICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVs
KGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZH
UGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxKQot
ICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljKGVsZW1lbnQsIHJvbGUsIHgsIHks
IHgxLCB5MSkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRo
U2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19RVUFEUkFUSUNfUkVMOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJxIjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY0Ficy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAzNDJlNGM3MjUwNzQ3ZGVhYTRkYzg2MjBhNjliM2VlM2Jm
ZjFjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY0Ficy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzX2gK
KyNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnNfaAorCisjaWYgRU5BQkxFKFNW
RykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzIDogcHVibGlj
IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50
KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4
MSwgZmxvYXQgeTEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyhTVkdQYXRo
RWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwg
ZmxvYXQgeDEsIGZsb2F0IHkxKQorICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
KGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVh
bCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VS
VkVUT19RVUFEUkFUSUNfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xl
dHRlcigpIGNvbnN0IHsgcmV0dXJuICJRIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Zjk3MzU5
NGNjMTU4Y2M2NTI1ODM5NzE5Zjk1ZGZlOWU5ODNjNWZlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmgKQEAgLTAsMCAr
MSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAy
MDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1JlbF9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJv
bGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwoZWxlbWVu
dCwgcm9sZSwgeCwgeSwgeDEsIHkxKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2Vn
Um9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEpCisgICAgICAg
IDogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEsIHkx
KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBl
KCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19SRUw7IH0KKyAgICB2
aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInEiOyB9
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNTbW9vdGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1Ntb290aC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjYwNjJhZTZm
NWE3MzBhMmNhOTZhZTYxMWZlNGFlOGQxOWFlMzQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBS
b2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoX2gKLSNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhfaAotCi0j
aWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRleHQuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290
aEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7Ci1wdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnM+IGNy
ZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQg
eCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSkpOwotICAgIH0K
LQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyhTVkdQ
YXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQg
eSkKLSAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4
LCB5KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdU
eXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19TTU9PVEhfQUJT
OyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0
dXJuICJUIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhS
ZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsPiBjcmVh
dGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgs
IGZsb2F0IHkpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKLSAgICB9Ci0K
LXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwoU1ZHUGF0
aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkp
Ci0gICAgICAgIDogU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwg
eSkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19RVUFEUkFUSUNfU01PT1RIX1JFTDsg
fQotICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVy
biAidCI7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJM
RShTVkcpCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVmN2UyNTY1YmYwZTkw
NjcyNTA5NzQ4MGYxZTUyZjhmNjgyZGUzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oCkBAIC0wLDAgKzEs
NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNTbW9vdGhBYnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQ
YXRoU2VnV2l0aENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNTbW9vdGhBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwg
U1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMoZWxl
bWVudCwgcm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aEFicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNl
Z1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19D
VVJWRVRPX1FVQURSQVRJQ19TTU9PVEhfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNl
Z1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJUIjsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NzdhNmE3YWIzMWE1OWUyYmRiNTI0Y2MxYTJmZWFhYzZjODllNjljCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljU21vb3RoUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4K
KyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhS
ZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbF9oCisKKyNp
ZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
UmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbD4gY3Jl
YXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4
LCBmbG9hdCB5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbChlbGVtZW50LCByb2xlLCB4LCB5KSk7CisgICAgfQor
Citwcml2YXRlOgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
KQorICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJvbGUsIHgs
IHkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5
cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fUVVBRFJBVElDX1NNT09USF9SRUw7
IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1
cm4gInQiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0xpbmV0by5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG8uaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk5NWM5OGQzMTU1NjM2YWQ0ZTQ4OWNhZGVmNDhkMjY1
ZGJiZTczYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0by5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFNWR1BhdGhT
ZWdMaW5ldG9faAotI2RlZmluZSBTVkdQYXRoU2VnTGluZXRvX2gKLQotI2lmIEVOQUJMRShTVkcp
Ci0jaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZSB7IAotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdM
aW5ldG9BYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUg
cm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU1ZHUGF0aFNlZ0xpbmV0b0FicyhlbGVtZW50LCByb2xlLCB4LCB5KSk7Ci0gICAgfQotCi1w
cml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9BYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQs
IFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgICAgIDogU1ZHUGF0
aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKLSAgICB7Ci0gICAgfQot
Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJu
IFBBVEhTRUdfTElORVRPX0FCUzsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNM
ZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiTCI7IH0KLX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdMaW5l
dG9SZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeyAKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvUmVsPiBjcmVhdGUoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9SZWwoZWxl
bWVudCwgcm9sZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGlu
ZXRvUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9h
dCB4LCBmbG9hdCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1l
bnQsIHJvbGUsIHgsIHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hv
cnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19SRUw7IH0KLSAg
ICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImwi
OyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0
b0Ficy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNTUzNDBjZDdlNGUxY2I0OGU3ZmMwNGVhY2I5ZTExYmVlZWM2YWM5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaApAQCAtMCww
ICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBT
VkdQYXRoU2VnTGluZXRvQWJzX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b0Fic19oCisKKyNp
ZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdMaW5ldG9BYnMgOiBwdWJsaWMgU1ZH
UGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNWR1BhdGhTZWdMaW5ldG9BYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZH
UGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b0FicyhlbGVtZW50LCByb2xlLCB4LCB5KSk7
CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdMaW5ldG9BYnMoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAg
ICAgIDogU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBh
dGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiTCI7IH0KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgKaW5kZXggZDE3NWNk
ZDFlZTEzMGVkZjVlMWQwM2M1YmE0ZDEzMmRmOTI4MzgwYy4uNTZhMTFlNDE5NjNiNmFlZDNhNmZm
ZTQwMzE0ODhmNmM1ZDJkOTc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaW5ldG9Ib3Jpem9udGFsLmgKQEAgLTQ1LDQwICs0NSw2IEBAIHByaXZhdGU6CiAgICAgZmxv
YXQgbV94OwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMgOiBwdWJs
aWMgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzKGVsZW1l
bnQsIHJvbGUsIHgpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b0hv
cml6b250YWxBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwoZWxlbWVudCwg
cm9sZSwgeCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRo
U2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX0hPUklaT05UQUxfQUJTOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJIIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwgOiBwdWJs
aWMgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsKGVsZW1l
bnQsIHJvbGUsIHgpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b0hv
cml6b250YWxSZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwoZWxlbWVudCwg
cm9sZSwgeCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRo
U2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX0hPUklaT05UQUxfUkVMOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJoIjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9y
aXpvbnRhbEFicy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDc2M2U2ODdlZDdiOGI0ZWVhYjAwZGZjZTA2NzM4ODVlMDcy
MmUyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbEFicy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzX2gK
KyNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnNfaAorCisjaWYgRU5BQkxFKFNW
RykKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzIDogcHVibGlj
IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50
KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyhlbGVtZW50
LCByb2xlLCB4KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4KQorICAgICAgICA6IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsKGVsZW1lbnQsIHJv
bGUsIHgpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNl
Z1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19IT1JJWk9OVEFMX0FCUzsgfQor
ICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAi
SCI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShT
VkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbFJlbC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdjN2U3YjZmMDQyYjY0NGM5MjI4OGQyZDc1ZDdm
NTc5ZGEyOTRhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMg
PGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
UmVsX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWxfaAorCisjaWYgRU5B
QkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsIDog
cHVibGljIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbD4gY3JlYXRlKFNWR1BhdGhF
bGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbChl
bGVtZW50LCByb2xlLCB4KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSBy
b2xlLCBmbG9hdCB4KQorICAgICAgICA6IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsKGVsZW1l
bnQsIHJvbGUsIHgpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQg
cGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19IT1JJWk9OVEFMX1JF
TDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJl
dHVybiAiaCI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnTGluZXRvUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1JlbC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUzNzU4YzNmNjUxZmFmYjU5YzZiYWFhMDRhNDNjNDIwNjhjZmQzODQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1JlbC5o
CkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aWZuZGVmIFNWR1BhdGhTZWdMaW5ldG9SZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnTGluZXRvUmVs
X2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b1JlbCA6IHB1
YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvUmVsKGVsZW1lbnQsIHJvbGUs
IHgsIHkpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0xpbmV0b1JlbChTVkdQ
YXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQg
eSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4
LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdU
eXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9fUkVMOyB9CisgICAgdmlydHVhbCBT
dHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJsIjsgfQorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oCmluZGV4IGZl
YzdmYjZmNzcyNTIyZWQ3NzEzZTA2ZjI4ZjcxMWMzZDM5NGQ5ODEuLmQxMzBkYWY3ZTNiMTFhNDBh
ZWYwNjZkY2Y3NDk3M2IxOGQwMmUxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnTGluZXRvVmVydGljYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpbmV0b1ZlcnRpY2FsLmgKQEAgLTQ1LDQwICs0NSw2IEBAIHByaXZhdGU6CiAgICAgZmxv
YXQgbV95OwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzIDogcHVibGlj
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCi0gICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicyhlbGVtZW50LCByb2xl
LCB5KSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFi
cyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeSkK
LSAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwoZWxlbWVudCwgcm9sZSwgeSkKLSAg
ICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX1ZFUlRJQ0FMX0FCUzsgfQotICAgIHZpcnR1YWwg
U3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiViI7IH0KLX07Ci0K
LWNsYXNzIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnTGlu
ZXRvVmVydGljYWwgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdM
aW5ldG9WZXJ0aWNhbFJlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRo
U2VnUm9sZSByb2xlLCBmbG9hdCB5KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwoZWxlbWVudCwgcm9sZSwgeSkpOwotICAgIH0K
LQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCi0gICAgICAgIDogU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsKGVsZW1lbnQsIHJvbGUsIHkpCi0gICAgewotICAgIH0KLQot
ICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQ
QVRIU0VHX0xJTkVUT19WRVJUSUNBTF9SRUw7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2Vn
VHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInYiOyB9Ci19OwotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1OWQyZTM3ZDhh
MTllYTk2OTI2NTllN2ZkZjU0ZTkyMWRlZmI5ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmgKQEAgLTAsMCArMSw1MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNh
bXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsQWJzX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJz
X2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2Fs
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRp
Y2FsQWJzIDogcHVibGljIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzPiBjcmVhdGUoU1ZH
UGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFi
cyhlbGVtZW50LCByb2xlLCB5KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdM
aW5ldG9WZXJ0aWNhbEFicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUg
cm9sZSwgZmxvYXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwoZWxlbWVu
dCwgcm9sZSwgeSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBw
YXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX1ZFUlRJQ0FMX0FCUzsg
fQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVy
biAiViI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
TGluZXRvVmVydGljYWxSZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRv
VmVydGljYWxSZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjllZDQyMTIzZTFhNGNkYTY1ZjYzZDhkOTIzNjdl
OTdmNDc0YmVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbFJlbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbF9o
CisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbF9oCisKKyNpZiBFTkFCTEUoU1ZH
KQorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbCA6IHB1YmxpYyBTVkdQ
YXRoU2VnTGluZXRvVmVydGljYWwgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50
LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwoZWxlbWVudCwgcm9sZSwgeSkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwoU1ZH
UGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCisgICAg
ICAgIDogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsKGVsZW1lbnQsIHJvbGUsIHkpCisgICAgewor
ICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7
IHJldHVybiBQQVRIU0VHX0xJTkVUT19WRVJUSUNBTF9SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmlu
ZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInYiOyB9Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdEJ1aWxkZXIuY3BwCmluZGV4IGJkNjU3YzMy
ZTA5MDM0MWFjMzU5NmRjYmU0ODQzZmY5MTYwMTkxN2QuLmQ1MzQ2YWZiY2RhYjQ5YmQ5ZDhkMjZj
MjFlYzA2NjEzOTA1MWQ2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnTGlzdEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlz
dEJ1aWxkZXIuY3BwCkBAIC0yOCwxNyArMjgsMjYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJTVkdQYXRoRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdB
cmMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQXJjQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNl
Z0FyY1JlbC5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdDbG9zZVBhdGguaCIKLSNpbmNsdWRlICJT
VkdQYXRoU2VnQ3VydmV0b0N1YmljLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aC5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgiCi0jaW5j
bHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaCIKLSNpbmNsdWRlICJTVkdQ
YXRoU2VnTGluZXRvLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCIK
LSNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCIKKyNpbmNsdWRlICJTVkdQYXRo
U2VnQ3VydmV0b0N1YmljQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Jl
bC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCIKKyNpbmNs
dWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1JlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
QWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaCIK
KyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWxBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9SZWwuaCIKKyNpbmNsdWRlICJTVkdQ
YXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvVmVy
dGljYWxSZWwuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGlzdC5oIgotI2luY2x1ZGUgIlNWR1Bh
dGhTZWdNb3ZldG8uaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTW92ZXRvQWJzLmgiCisjaW5jbHVk
ZSAiU1ZHUGF0aFNlZ01vdmV0b1JlbC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRvLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNlZ01vdmV0by5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4N2ZjZDdkMGM2YmU4ZGFkZmM4YTdmODFiZDU5YzBjNDJlOThkZTU5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnTW92ZXRvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBC
dWlzIDxidWlzQGtkZS5vcmc+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYgU1ZHUGF0aFNlZ01vdmV0b19oCi0jZGVmaW5lIFNW
R1BhdGhTZWdNb3ZldG9faAotCi0jaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYXRoU2Vn
V2l0aENvbnRleHQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTVkdQYXRoU2Vn
TW92ZXRvQWJzIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlIHsgCi1wdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ01vdmV0b0Ficz4gY3JlYXRlKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTW92ZXRvQWJz
KGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNl
Z01vdmV0b0FicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwg
ZmxvYXQgeCwgZmxvYXQgeSkKLSAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShl
bGVtZW50LCByb2xlLCB4LCB5KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVk
IHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19NT1ZFVE9fQUJTOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJNIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ01vdmV0b1JlbCA6IHB1YmxpYyBTVkdQYXRo
U2VnU2luZ2xlQ29vcmRpbmF0ZSB7IAotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhdGhTZWdNb3ZldG9SZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0
aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ01vdmV0b1JlbChlbGVtZW50LCByb2xlLCB4LCB5KSk7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdNb3ZldG9SZWwoU1ZHUGF0aEVsZW1lbnQq
IGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgICAg
IDogU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKLSAgICB7
Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFBBVEhTRUdfTU9WRVRPX1JFTDsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhT
ZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAibSI7IH0KLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVkcpCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRvQWJzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ01vdmV0b0Ficy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YTRjMTRhZTcyN2Y4MWVl
MGM5YTU5NTQzNmQwOGI0MTY3YzhhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ01vdmV0b0Ficy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5u
QGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1
aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9u
aWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdNb3ZldG9BYnNfaAor
I2RlZmluZSBTVkdQYXRoU2VnTW92ZXRvQWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVk
ZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgU1ZHUGF0aFNlZ01vdmV0b0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ01vdmV0b0Ficz4g
Y3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9h
dCB4LCBmbG9hdCB5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRo
U2VnTW92ZXRvQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgU1ZHUGF0aFNlZ01vdmV0b0FicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNl
Z1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19N
T1ZFVE9fQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNv
bnN0IHsgcmV0dXJuICJNIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92
ZXRvUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNhNjUxMzVlZDdlZmJhYWI4ODA4NjFlNDA0YzAwNGExODgx
M2ViYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92
ZXRvUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ01vdmV0b1JlbF9oCisjZGVmaW5lIFNWR1BhdGhTZWdN
b3ZldG9SZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENv
bnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnTW92ZXRv
UmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTW92ZXRvUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdNb3ZldG9SZWwoZWxlbWVu
dCwgcm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnTW92ZXRv
UmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4
LCBmbG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQs
IHJvbGUsIHgsIHkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQg
cGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX01PVkVUT19SRUw7IH0KKyAgICB2
aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIm0iOyB9
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQor
I2VuZGlmCg==
</data>
<flag name="review"
          id="228047"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206435</attachid>
            <date>2013-07-11 01:23:26 -0700</date>
            <delta_ts>2013-07-11 04:20:16 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>118525_SVGPathSeg.patch</filename>
            <type>text/plain</type>
            <size>100923</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMDQxZWIxLi5jN2VkMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIz
IEBACisyMDEzLTA3LTEwICBDaHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5n
LmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIFNWR1BhdGhTZWcqIHNwZWNpYWwgY2FzaW5nIGlu
IHRoZSBiaW5kaW5ncyBnZW5lcmF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnRhcm8gSGFy
YS4KKworICAgICAgICBIYXZlIG9uZSBoZWFkZXIgcGVyIFNWR1BhdGhTZWcqIHR5cGUgc28gdGhh
dCB3ZSBubyBsb25nZXIgbmVlZCBzcGVjaWFsIGNhc2luZworICAgICAgICBmb3IgdGhlbSBpbiB0
aGUgSlNDIGJpbmRpbmdzIGdlbmVyYXRvci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJl
aGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEFkZEluY2x1ZGVzRm9yVHlwZSk6Cisg
ICAgICAgIChOYXRpdmVUb0pTVmFsdWUpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5j
cHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdBcmMuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0
aFNlZ0FyY0Ficy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNBYnM6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQXJjQWJzOjpTVkdQYXRoU2Vn
QXJjQWJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNBYnM6OnBhdGhTZWdUeXBl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdBcmNBYnM6OnBhdGhTZWdUeXBlQXNMZXR0
ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnQXJjUmVsLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGF0aFNlZ0FyY1JlbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdGhTZWdBcmNSZWw6OlNWR1BhdGhTZWdBcmNSZWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFNlZ0FyY1JlbDo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNl
Z0FyY1JlbDo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWMuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzOjpTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljQWJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNBYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQ
YXRoU2VnQ3VydmV0b0N1YmljUmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1JlbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNSZWw6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbDo6cGF0aFNlZ1R5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbDo6cGF0aFNlZ1R5cGVBc0xldHRl
cik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaDoKKyAgICAg
ICAgKiBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFiczo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnM6OlNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aEFiczo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFiczo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAg
ICAgICogc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWw6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsOjpTVkdQYXRo
U2VnQ3VydmV0b0N1YmljU21vb3RoUmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNTbW9vdGhSZWw6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWw6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAg
ICAgICAqIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oOgorICAgICAgICAqIHN2Zy9T
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnM6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
QWJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzOjpw
YXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y0Ficzo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljUmVsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpYy5oLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNSZWw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1JlbDo6U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWw6OnBhdGhTZWdUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsOjpwYXRoU2Vn
VHlwZUFzTGV0dGVyKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNT
bW9vdGhBYnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljU21vb3RoLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0
b1F1YWRyYXRpY1Ntb290aEFiczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aEFicyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aEFiczo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNTbW9vdGhBYnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2
Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmguCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVs
OjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbDo6cGF0aFNlZ1R5cGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWw6OnBhdGhT
ZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvLmguCisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvQWJzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUGF0aFNlZ0xpbmV0b0Ficzo6U1ZHUGF0aFNlZ0xpbmV0b0Ficyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvQWJzOjpwYXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQYXRoU2VnTGluZXRvQWJzOjpwYXRoU2VnVHlwZUFzTGV0dGVyKToKKyAgICAgICAg
KiBzdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbEFiczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Bh
dGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzOjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFiczo6cGF0aFNl
Z1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnM6
OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnTGluZXRvSG9y
aXpvbnRhbFJlbC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xp
bmV0b0hvcml6b250YWwuaC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsUmVsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ0xpbmV0b0hv
cml6b250YWxSZWw6OlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsOjpwYXRoU2VnVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbDo6cGF0aFNlZ1R5cGVB
c0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaW5ldG9SZWwuaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvLmguCisgICAgICAgIChXZWJD
b3JlOjpTVkdQYXRoU2VnTGluZXRvUmVsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFNlZ0xpbmV0b1JlbDo6U1ZHUGF0aFNlZ0xpbmV0b1JlbCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXRoU2VnTGluZXRvUmVsOjpwYXRoU2VnVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQYXRoU2VnTGluZXRvUmVsOjpwYXRoU2VnVHlwZUFzTGV0dGVyKToKKyAgICAgICAgKiBzdmcv
U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaW5l
dG9WZXJ0aWNhbEFicy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0xpbmV0b1ZlcnRpY2FsLmguCisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVy
dGljYWxBYnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVy
dGljYWxBYnM6OlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFiczo6cGF0aFNlZ1R5cGVBc0xldHRlcik6
CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmguCisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWw6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWw6OlNWR1BhdGhTZWdMaW5ldG9W
ZXJ0aWNhbFJlbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoU2VnTGluZXRvVmVydGljYWxS
ZWw6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbFJlbDo6cGF0aFNlZ1R5cGVBc0xldHRlcik6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdM
aXN0QnVpbGRlci5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG8uaC4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhdGhTZWdNb3ZldG9BYnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXRoU2VnTW92ZXRvQWJzOjpTVkdQYXRoU2VnTW92ZXRvQWJzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhdGhTZWdNb3ZldG9BYnM6OnBhdGhTZWdUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1BhdGhTZWdNb3ZldG9BYnM6OnBhdGhTZWdUeXBlQXNMZXR0ZXIpOgorICAgICAgICAq
IHN2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ01vdmV0by5oLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0
b1JlbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhTZWdNb3ZldG9SZWw6OlNW
R1BhdGhTZWdNb3ZldG9SZWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0b1Jl
bDo6cGF0aFNlZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFNlZ01vdmV0b1JlbDo6
cGF0aFNlZ1R5cGVBc0xldHRlcik6CisKIDIwMTMtMDctMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSYW5nZS5nZXRDbGllbnRSZWN0cygpIG5vdCB3b3JraW5nIGNv
cnJlY3RseSBmb3IgcGFydGlhbGx5IGNvbnRhaW5lZCB2ZXJ0aWNhbGx5IHN0eWxlZCB0ZXh0IG5v
ZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwYTJmM2U2Li5mZTkzZTE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUyNDQsMjIgKzUyNDQsMzcgQEAgd2Vi
Y29yZV9zdmdfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNlZ0FyYy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0FyY0Ficy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1JlbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY1Ntb290aC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aEFicy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aFJlbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWMuaCBcCi0JU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljU21vb3RoLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY0Ficy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNSZWwuaCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoQWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1Ntb290aFJlbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZy5oIFwKLQlT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0by5oIFwKKwlTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Z0xpbmV0b1JlbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWwuaCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
QWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJl
bC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggXAor
CVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaCBcCisJU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaXN0QnVpbGRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaCBcCiAJ
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0U291cmNlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0U291cmNlLmggXAotCVNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnTW92ZXRvLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRv
QWJzLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmggXAogCVNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnV2l0aENvbnRleHQuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTb3VyY2UuaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTdHJp
bmdCdWlsZGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA1M2UwMTVjLi4zYjAzNTUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTI3NTYsMTcgKzI3NTYsMzIgQEAgSEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR1Bh
dGhFbGVtZW50LmggXAogICAgIHN2Zy9TVkdQYXRoUGFyc2VyLmggXAogICAgIHN2Zy9TVkdQYXRo
U2VnQXJjLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQXJjQWJzLmggXAorICAgIHN2Zy9TVkdQYXRo
U2VnQXJjUmVsLmggXAogICAgIHN2Zy9TVkdQYXRoU2VnQ2xvc2VQYXRoLmggXAogICAgIHN2Zy9T
VkdQYXRoU2VnQ3VydmV0b0N1YmljLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
QWJzLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggXAogICAgIHN2Zy9T
VkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoQWJzLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3Ro
UmVsLmggXAogICAgIHN2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIFwKLSAgICBzdmcv
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaCBcCi0gICAgc3ZnL1NWR1BhdGhTZWdM
aW5ldG8uaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggXAorICAg
IHN2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIFwKKyAgICBzdmcvU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRv
UXVhZHJhdGljU21vb3RoUmVsLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmggXAor
ICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRvUmVsLmggXAogICAgIHN2Zy9TVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbC5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBc
CisgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmggXAogICAgIHN2Zy9TVkdQ
YXRoU2VnTGluZXRvVmVydGljYWwuaCBcCisgICAgc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNh
bEFicy5oIFwKKyAgICBzdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggXAogICAgIHN2
Zy9TVkdQYXRoU2VnTGlzdC5oIFwKICAgICBzdmcvU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmggXAot
ICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvLmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvQWJz
LmggXAorICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmggXAogICAgIHN2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5oIFwKICAgICBzdmcvU1ZHUG9pbnRMaXN0LmggXAogICAgIHN2Zy9TVkdQb2x5RWxl
bWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCmluZGV4IDg4M2Y1M2MuLjc4MTBjYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTEzNDI1LDE4ICsxMzQyNSwzMyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhQYXJzZXIuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0FyYy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cc3ZnXFNWR1BhdGhTZWdBcmNBYnMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHN2Z1xTVkdQYXRoU2VnQXJjUmVsLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxzdmdcU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoQWJzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aFJlbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
c3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaCIgLz4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvLmgiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1JlbC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaCIgLz4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGluZXRvQWJzLmgiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250
YWxBYnMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbFJlbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
c3ZnXFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpc3RCdWlsZGVyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCIgLz4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTW92ZXRvLmgiIC8+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ01vdmV0b0Ficy5oIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3ZldG9SZWwuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU291cmNlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFN0cmluZ0J1aWxkZXIuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU3RyaW5nU291cmNlLmgiIC8+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
aW5kZXggMWIxNmIwNi4uOGIzNzFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTIwMzMsMzAgKzEyMDMz
LDcyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0FyYy5oIj4K
ICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdBcmNBYnMuaCI+CisgICAg
ICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQXJjUmVsLmgiPgorICAgICAgPEZp
bHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5oIj4KICAgICAgIDxGaWx0
ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCI+CiAgICAgICA8Rmls
dGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmgiPgorICAgICAg
PEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oIj4KKyAg
ICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgu
aCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoQWJzLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aFJlbC5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmls
dGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3Zn
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxz
dmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaCI+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaCI+CisgICAgICA8
RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIj4K
KyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoQWJzLmgiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8
L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdQYXRoU2VnTGluZXRvQWJzLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdc
U1ZHUGF0aFNlZ0xpbmV0by5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQ
YXRoU2VnTGluZXRvUmVsLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWwuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xT
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
XHN2ZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmgiPgorICAgICAgPEZpbHRlcj5y
ZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgiPgogICAgICAgPEZpbHRl
cj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmgiPgorICAgICAg
PEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmgiPgor
ICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNlZ0xpc3QuaCI+CiAgICAgICA8
RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMDY2
LDcgKzEyMTA4LDEwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNl
Z0xpc3RTb3VyY2UuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2Vn
TW92ZXRvLmgiPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR1BhdGhTZWdNb3Zl
dG9BYnMuaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdmc8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdQYXRoU2VnTW92ZXRv
UmVsLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHUGF0aFNvdXJjZS5oIj4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAzM2YzNDYyLi5jMjE2OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMDI1LDYgKzIwMjUsMjQgQEAKIAkJODJFM0Q4
REYxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJFM0Q4REQxMjJFQTBEMTAwM0FF
NUJDIC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzNkZCQ0VBMTc4QzExMzIwMEIyMUExNSAvKiBTVkdB
bmltYXRlZFR5cGVBbmltYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzZGQkNFOTE3OEMxMTMyMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRUeXBl
QW5pbWF0b3IuY3BwICovOyB9OwogCQk4MzZGQkNFQzE3OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5p
bWF0ZWRQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzZGQkNFQjE3OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5j
cHAgKi87IH07CisJCTgzQzFENDI1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0MxRDQx
MzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0FyY0Ficy5oICovOyB9OworCQk4M0MxRDQy
NjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0FyY1JlbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MTQxNzhENUFCNDAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdBcmNSZWwuaCAqLzsgfTsKKwkJODNDMUQ0MjcxNzhENUFCNDAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzFENDE1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljQWJzLmggKi87IH07CisJCTgzQzFENDI4MTc4RDVBQjQwMDE0MUU2OCAvKiBT
VkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4M0MxRDQxNjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1JlbC5oICovOyB9OworCQk4M0MxRDQyOTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MTcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCAqLzsgfTsKKwkJODNDMUQ0MkExNzhENUFCNDAwMTQx
RTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzFENDE4MTc4RDVBQjQwMDE0MUU2OCAv
KiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmggKi87IH07CisJCTgzQzFENDJCMTc4
RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MTkxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggKi87IH07CisJCTgzQzFE
NDJDMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MUExNzhE
NUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggKi87IH07CisJ
CTgzQzFENDJEMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aEFicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODNDMUQ0MUIxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21v
b3RoQWJzLmggKi87IH07CisJCTgzQzFENDJFMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MUMxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmggKi87IH07CisJCTgzQzFENDJGMTc4RDVBQjUwMDE0
MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvQWJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4M0MxRDQxRDE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNl
Z0xpbmV0b0Ficy5oICovOyB9OworCQk4M0MxRDQzMDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzQzFENDFFMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbEFicy5oICovOyB9OworCQk4M0MxRDQzMTE3OEQ1QUI1MDAxNDFFNjggLyog
U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzFENDFGMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oICovOyB9OworCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0MjAxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdM
aW5ldG9SZWwuaCAqLzsgfTsKKwkJODNDMUQ0MzMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbEFicy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNDMUQ0MjExNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9W
ZXJ0aWNhbEFicy5oICovOyB9OworCQk4M0MxRDQzNDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0
aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4M0MxRDQyMjE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0
b1ZlcnRpY2FsUmVsLmggKi87IH07CisJCTgzQzFENDM1MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQ
YXRoU2VnTW92ZXRvQWJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4M0MxRDQyMzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01vdmV0b0Ficy5o
ICovOyB9OworCQk4M0MxRDQzNjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01vdmV0b1Jl
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMUQ0
MjQxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9SZWwuaCAqLzsgfTsKIAkJODQx
OUQyQTcxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDE5RDJBNDEyMEQ5MkQwMDAxNDFG
OEYgLyogU1ZHUGF0aEJ5dGVTdHJlYW0uaCAqLzsgfTsKIAkJODQxOUQyQTgxMjBEOTJEMDAwMTQx
RjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDE5RDJBNTEyMEQ5MkQwMDAxNDFGOEYgLyogU1ZH
UGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcCAqLzsgfTsKIAkJODQxOUQyQTkxMjBEOTJEMDAwMTQx
RjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQxOUQyQTYxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1Bh
dGhCeXRlU3RyZWFtQnVpbGRlci5oICovOyB9OwpAQCAtNDA1NywxMyArNDA3NSwxMCBAQAogCQlC
MjIyN0E2NTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4Q0YwRDAwQkYy
MDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCAqLzsgfTsKIAkJQjIyMjdBNjkw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3OEQzMEQwMEJGMjAw
MDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmggKi87IH07CiAJCUIyMjI3
QTZEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RDcwRDAwQkYy
MDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmggKi87IH07Ci0JCUIyMjI3
QTcxMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4REIw
RDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmggKi87
IH07Ci0JCUIyMjI3QTc1MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzhERjBEMDBC
RjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0by5oICovOyB9OwogCQlCMjIyN0E3ODBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oICovOyB9OwogCQlCMjIyN0E3RDBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzhFNzBEMDBCRjIwMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggKi87IH07CiAJCUIyMjI3QTgwMEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdQYXRoU2VnTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzhFQTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNl
Z0xpc3QuY3BwICovOyB9OwogCQlCMjIyN0E4MTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNl
Z0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
MjI3OEVCMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGlzdC5oICovOyB9OwotCQlCMjIy
N0E4NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0by5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RUUwRDAwQkYyMTAwNzFCNzgy
IC8qIFNWR1BhdGhTZWdNb3ZldG8uaCAqLzsgfTsKIAkJQjIyMjdBODcwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyMjI3OEYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxl
bWVudC5jcHAgKi87IH07CiAJCUIyMjI3QTg4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXR0ZXJu
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjIyMjc4RjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmggKi87IH07CiAJ
CUIyMjI3QThCMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc4RjUwRDAwQkYyMTAwNzFC
NzgyIC8qIFNWR1BvaW50TGlzdC5jcHAgKi87IH07CkBAIC04NDU1LDYgKzg0NzAsMjQgQEAKIAkJ
ODJFM0Q4REQxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RkJDRTkxNzhDMTEzMjAwQjIxQTE1IC8qIFNW
R0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM2RkJDRUIxNzhDMTE3RjAwQjIxQTE1IC8qIFNWR0FuaW1hdGVkUHJvcGVydHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDEzMTc4RDVBQjQw
MDE0MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNWR1BhdGhTZWdBcmNBYnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODNDMUQ0MTQxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdBcmNSZWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0FyY1JlbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4M0MxRDQxNTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY0Ficy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRo
U2VnQ3VydmV0b0N1YmljQWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFE
NDE2MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNDMUQ0MTcxNzhENUFCNDAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQxODE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aFJlbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTgzQzFENDE5MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY0Ficy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY0Ficy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0Mx
RDQxQTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNSZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNDMUQ0MUIxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
QWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDFDMTc4RDVBQjQwMDE0
MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJl
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQxRDE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnTGluZXRvQWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTgzQzFENDFFMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFi
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGluZXRvSG9y
aXpvbnRhbEFicy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQxRjE3OEQ1
QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNDMUQ0MjAxNzhENUFCNDAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdMaW5ldG9SZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U1ZHUGF0aFNlZ0xpbmV0b1JlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0Mx
RDQyMTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFi
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0MxRDQyMjE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4M0MxRDQyMzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ01v
dmV0b0Ficy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTW92
ZXRvQWJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQzFENDI0MTc4RDVBQjQw
MDE0MUU2OCAvKiBTVkdQYXRoU2VnTW92ZXRvUmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1BhdGhTZWdNb3ZldG9SZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODQxOUQyQTQxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhCeXRlU3RyZWFtLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0MTlEMkE1MTIwRDkyRDAwMDE0MUY4RiAvKiBTVkdQ
YXRoQnl0ZVN0cmVhbUJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODQxOUQyQTYxMjBEOTJEMDAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtQnVp
bGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoQnl0ZVN0cmVh
bUJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNjcxLDEwICsxMDcw
NCw4IEBACiAJCUIyMjI3OEQ3MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RDgw
RDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhEOTBEMDBCRjIwMDA3MUI3ODIgLyog
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUIyMjI3OERCMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1Ntb290aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjIyMjc4REMwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
U21vb3RoQWJzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNTbW9vdGhBYnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIy
NzhERDBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhS
ZWwuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1Ntb290aFJlbC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OERGMEQw
MEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGluZXRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIyMjI3OEUwMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvQWJzLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0Ficy5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjIyMjc4RTMwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsQWJzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWxBYnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA2ODYsNyArMTA3
MTcsNiBAQAogCQlCMjIyNzhFQTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RUIwRDAwQkYyMDAwNzFCNzgy
IC8qIFNWR1BhdGhTZWdMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
VkdQYXRoU2VnTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhFQzBE
MDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBTVkdQYXRoU2VnTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIy
MjI3OEVFMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92ZXRvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTW92ZXRvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyMjI3OEVGMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92
ZXRvQWJzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0aFNlZ01vdmV0b0Ficy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEYwMEQwMEJGMjEwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnTW92ZXRvUmVsLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZH
UGF0aFNlZ01vdmV0b1JlbC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3
OEYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0dGVybkVsZW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgwNDUsMzAgKzE4MDc1LDQ0IEBACiAJCQkJQjIyMjc4
QzUwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWcuaCAqLywKIAkJCQlCMjIyNzhDNjBEMDBC
RjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZy5pZGwgKi8sCiAJCQkJQjIyMjc4QzgwRDAwQkYyMDAw
NzFCNzgyIC8qIFNWR1BhdGhTZWdBcmMuaCAqLywKKwkJCQk4M0MxRDQxMzE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0FyY0Ficy5oICovLAogCQkJCUIyMjI3OEM5MEQwMEJGMjAwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnQXJjQWJzLmlkbCAqLywKKwkJCQk4M0MxRDQxNDE3OEQ1QUI0MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0FyY1JlbC5oICovLAogCQkJCUIyMjI3OENBMEQwMEJGMjAwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnQXJjUmVsLmlkbCAqLywKIAkJCQlCMjIyNzhDQzBEMDBCRjIwMDA3MUI3
ODIgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5oICovLAogCQkJCUIyMjI3OENEMEQwMEJGMjAwMDcx
Qjc4MiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmlkbCAqLywKIAkJCQlCMjIyNzhDRjBEMDBCRjIw
MDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oICovLAorCQkJCTgzQzFENDE1MTc4
RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmggKi8sCiAJCQkJQjIy
Mjc4RDAwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaWRsICov
LAorCQkJCTgzQzFENDE2MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
UmVsLmggKi8sCiAJCQkJQjIyMjc4RDEwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNSZWwuaWRsICovLAogCQkJCUIyMjI3OEQzMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmggKi8sCisJCQkJODNDMUQ0MTcxNzhENUFCNDAwMTQx
RTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaCAqLywKIAkJCQlCMjIyNzhE
NDBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5pZGwg
Ki8sCisJCQkJODNDMUQ0MTgxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhSZWwuaCAqLywKIAkJCQlCMjIyNzhENTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbC5pZGwgKi8sCiAJCQkJQjIyMjc4RDcwRDAwQkYyMDAw
NzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljLmggKi8sCisJCQkJODNDMUQ0MTkx
NzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggKi8sCiAJ
CQkJQjIyMjc4RDgwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
QWJzLmlkbCAqLywKKwkJCQk4M0MxRDQxQTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNSZWwuaCAqLywKIAkJCQlCMjIyNzhEOTBEMDBCRjIwMDA3MUI3ODIgLyog
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaWRsICovLAotCQkJCUIyMjI3OERCMEQwMEJG
MjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oICovLAorCQkJ
CTgzQzFENDFCMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aEFicy5oICovLAogCQkJCUIyMjI3OERDMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5pZGwgKi8sCisJCQkJODNDMUQ0MUMxNzhENUFCNDAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmggKi8sCiAJCQkJ
QjIyMjc4REQwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21v
b3RoUmVsLmlkbCAqLywKLQkJCQlCMjIyNzhERjBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNl
Z0xpbmV0by5oICovLAorCQkJCTgzQzFENDFEMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
TGluZXRvQWJzLmggKi8sCiAJCQkJQjIyMjc4RTAwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhT
ZWdMaW5ldG9BYnMuaWRsICovLAogCQkJCUIyMjI3OEUyMEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oICovLAorCQkJCTgzQzFENDFFMTc4RDVBQjQwMDE0MUU2
OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oICovLAogCQkJCUIyMjI3OEUzMEQw
MEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5pZGwgKi8sCisJ
CQkJODNDMUQ0MUYxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
UmVsLmggKi8sCiAJCQkJQjIyMjc4RTQwRDAwQkYyMDAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsUmVsLmlkbCAqLywKKwkJCQk4M0MxRDQyMDE3OEQ1QUI0MDAxNDFFNjggLyog
U1ZHUGF0aFNlZ0xpbmV0b1JlbC5oICovLAogCQkJCUIyMjI3OEU1MEQwMEJGMjAwMDcxQjc4MiAv
KiBTVkdQYXRoU2VnTGluZXRvUmVsLmlkbCAqLywKIAkJCQlCMjIyNzhFNzBEMDBCRjIwMDA3MUI3
ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggKi8sCisJCQkJODNDMUQ0MjExNzhENUFC
NDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oICovLAogCQkJCUIyMjI3
OEU4MEQwMEJGMjAwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaWRsICov
LAorCQkJCTgzQzFENDIyMTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGlj
YWxSZWwuaCAqLywKIAkJCQlCMjIyNzhFOTBEMDBCRjIwMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsUmVsLmlkbCAqLywKIAkJCQlCMjIyNzhFQTBEMDBCRjIwMDA3MUI3ODIgLyog
U1ZHUGF0aFNlZ0xpc3QuY3BwICovLAogCQkJCUIyMjI3OEVCMEQwMEJGMjAwMDcxQjc4MiAvKiBT
VkdQYXRoU2VnTGlzdC5oICovLApAQCAtMTgwNzcsOCArMTgxMjEsOSBAQAogCQkJCTg0NzZDOUU0
MTFERjZBMEIwMDU1NUIwMiAvKiBTVkdQYXRoU2VnTGlzdEJ1aWxkZXIuaCAqLywKIAkJCQk4NEI2
Qjk3NTEyMEYxM0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwICovLAogCQkJ
CTg0QjZCOTc2MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovLAot
CQkJCUIyMjI3OEVFMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTW92ZXRvLmggKi8sCisJ
CQkJODNDMUQ0MjMxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9BYnMuaCAqLywK
IAkJCQlCMjIyNzhFRjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGwg
Ki8sCisJCQkJODNDMUQ0MjQxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdNb3ZldG9SZWwu
aCAqLywKIAkJCQlCMjIyNzhGMDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0b1Jl
bC5pZGwgKi8sCiAJCQkJMDgyREU0MkMxMjkyNjIxNjAwRDkyM0RGIC8qIFNWR1BhdGhTZWdXaXRo
Q29udGV4dC5oICovLAogCQkJCTg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291
cmNlLmggKi8sCkBAIC0yMzYyOCwxNSArMjM2NzMsMTIgQEAKIAkJCQlCMjIyN0E2NTBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjIyMjdBNjkwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTZEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpYy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjIyMjdBNzEwRDAwQkYy
MjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmggaW4gSGVhZGVy
cyAqLywKLQkJCQlCMjIyN0E3NTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0by5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBNzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhT
ZWdMaW5ldG9Ib3Jpem9udGFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E3RDBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyN0E4MTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg0NzZDOUU2MTFERjZBMEIwMDU1NUIwMiAvKiBTVkdQYXRoU2VnTGlzdEJ1aWxk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NEEwODI5MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQ
YXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODRCNkI5Nzgx
MjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggaW4gSGVhZGVycyAqLywK
LQkJCQlCMjIyN0E4NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ01vdmV0by5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDgyREU0MkQxMjkyNjIxNjAwRDkyM0RGIC8qIFNWR1BhdGhTZWdXaXRo
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8q
IFNWR1BhdGhTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0MTlEMkJBMTIwRTBDNzYwMDE0
MUY4RiAvKiBTVkdQYXRoU3RyaW5nQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDAwOCw2
ICsyNDA1MCwyNCBAQAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVk
aXRvckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDI1MTc4RDVBQjQwMDE0
MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQyNjE3
OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0FyY1JlbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODNDMUQ0MjcxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaCBp
biBIZWFkZXJzICovLAorCQkJCTgzQzFENDI4MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljUmVsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQyOTE3OEQ1QUI0MDAx
NDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODNDMUQ0MkExNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNT
bW9vdGhSZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDJCMTc4RDVBQjQwMDE0MUU2OCAv
KiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODND
MUQ0MkMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQyRDE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDJF
MTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MkYxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdMaW5ldG9BYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDMwMTc4RDVBQjUwMDE0MUU2
OCAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODNDMUQ0MzExNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVs
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0
aFNlZ0xpbmV0b1JlbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MzMxNzhENUFCNTAwMTQx
RTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODNDMUQ0MzQxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODNDMUQ0MzUxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhT
ZWdNb3ZldG9BYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQzFENDM2MTc4RDVBQjUwMDE0MUU2
OCAvKiBTVkdQYXRoU2VnTW92ZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR1BhdGhTZWdDdXN0b20uY3BwCmluZGV4IDNhZGFiYWYu
LjBlZWNlYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHUGF0
aFNlZ0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdQYXRo
U2VnQ3VzdG9tLmNwcApAQCAtNDgsMTEgKzQ4LDE0IEBACiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpYy5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIK
ICNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgotI2luY2x1ZGUgIlNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0
by5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmgiCisj
aW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaCIKKyNpbmNsdWRl
ICJTVkdQYXRoU2VnTGluZXRvQWJzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvUmVsLmgiCiAjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ01vdmV0by5oIgor
I2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG9BYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTW92
ZXRvUmVsLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZWJkMTFhNS4uMWM3
YjkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KQEAgLTIyMCwxMSArMjIwLDcgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQog
CiAgICAgIyBXaGVuIHdlJ3JlIGZpbmlzaGVkIHdpdGggdGhlIG9uZS1maWxlLXBlci1jbGFzcwog
ICAgICMgcmVvcmdhbml6YXRpb24sIHdlIHdvbid0IG5lZWQgdGhlc2Ugc3BlY2lhbCBjYXNlcy4K
LSAgICBpZiAoJHR5cGUgPX4gL1NWR1BhdGhTZWcvKSB7Ci0gICAgICAgIG15ICRqb2luZWROYW1l
ID0gJHR5cGU7Ci0gICAgICAgICRqb2luZWROYW1lID1+IHMvQWJzfFJlbC8vOwotICAgICAgICAk
aW5jbHVkZXNSZWYtPnsiJHtqb2luZWROYW1lfS5oIn0gPSAxOwotICAgIH0gZWxzaWYgKCR0eXBl
IGVxICJYUGF0aE5TUmVzb2x2ZXIiKSB7CisgICAgaWYgKCR0eXBlIGVxICJYUGF0aE5TUmVzb2x2
ZXIiKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKU1hQYXRoTlNSZXNvbHZlci5oIn0gPSAx
OwogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCJ9ID0g
MTsKICAgICB9IGVsc2lmICgkaXNDYWxsYmFjayAmJiAkY29kZUdlbmVyYXRvci0+SXNXcmFwcGVy
VHlwZSgkdHlwZSkpIHsKQEAgLTM2NDMsMTEgKzM2MzksNiBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVl
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXR1cm4gIigkdmFsdWUuaGFzTm9WYWx1
ZSgpID8ganNOdWxsKCkgOiAkdmFsdWUuanNWYWx1ZSgpKSI7CiAgICAgICAgIH0KLSAgICB9IGVs
c2lmICgkdHlwZSA9fiAvU1ZHUGF0aFNlZy8pIHsKLSAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMo
IkpTJHR5cGUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgIG15ICRqb2luZWROYW1lID0gJHR5
cGU7Ci0gICAgICAgICRqb2luZWROYW1lID1+IHMvQWJzfFJlbC8vOwotICAgICAgICBBZGRUb0lt
cGxJbmNsdWRlcygiJGpvaW5lZE5hbWUuaCIsICRjb25kaXRpb25hbCk7CiAgICAgfSBlbHNpZiAo
JHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5cGUgZXEgImFueSIpIHsKICAg
ICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIiwgJGNvbmRp
dGlvbmFsKTsKICAgICAgICAgcmV0dXJuICIkdmFsdWUgPyAkdmFsdWUtPmRlc2VyaWFsaXplKGV4
ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCAwKSA6IGpzTnVsbCgpIjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IGQ2ZGEzM2EuLjZiMWY0NzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApAQCAtMjksMTkgKzI5LDI4IEBACiAjaW5jbHVk
ZSAiU1ZHRWxlbWVudEluc3RhbmNlLmgiCiAjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50LmgiCiAj
aW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQXJjLmgiCisjaW5jbHVk
ZSAiU1ZHUGF0aFNlZ0FyY0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdBcmNSZWwuaCIKICNp
bmNsdWRlICJTVkdQYXRoU2VnQ2xvc2VQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpYy5oIgotI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaCIKLSNp
bmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgotI2luY2x1ZGUgIlNWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0by5o
IgotI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiCi0jaW5jbHVkZSAiU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwuaCIKKyNpbmNsdWRl
ICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNl
Z0N1cnZldG9DdWJpY1Ntb290aFJlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaCIK
KyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicy5oIgorI2luY2x1
ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgiCisjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0xpbmV0b0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
QWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCIKKyNpbmNs
dWRlICJTVkdQYXRoU2VnTGluZXRvUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsQWJzLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmgiCiAj
aW5jbHVkZSAiU1ZHUGF0aFNlZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGlzdEJ1aWxk
ZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIgotI2luY2x1
ZGUgIlNWR1BhdGhTZWdNb3ZldG8uaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTW92ZXRvQWJzLmgi
CisjaW5jbHVkZSAiU1ZHUGF0aFNlZ01vdmV0b1JlbC5oIgogI2luY2x1ZGUgIlNWR1BhdGhVdGls
aXRpZXMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0FyYy5oCmluZGV4IGU4MzViYzMuLmYyMTgxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnQXJjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdBcmMuaApAQCAtMTAwLDQwICsxMDAsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zd2VlcEZs
YWcgOiAxOwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0FyY0FicyA6IHB1YmxpYyBTVkdQYXRoU2Vn
QXJjIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQXJjQWJzPiBj
cmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHIxLCBmbG9hdCByMiwgZmxvYXQgYW5nbGUsIGJvb2wgbGFyZ2VB
cmNGbGFnLCBib29sIHN3ZWVwRmxhZykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU1ZHUGF0aFNlZ0FyY0FicyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBs
YXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRo
U2VnQXJjQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxh
cmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0FyYyhlbGVt
ZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykK
LSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgp
IGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQVJDX0FCUzsgfQotICAgIHZpcnR1YWwgU3RyaW5nIHBh
dGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiQSI7IH0KLX07Ci0KLWNsYXNzIFNW
R1BhdGhTZWdBcmNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0FyYyB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0FyY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBl
bGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByMSwg
ZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdBcmNSZWwoZWxl
bWVudCwgcm9sZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcp
KTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0FyY1JlbChTVkdQYXRoRWxlbWVu
dCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
cjEsIGZsb2F0IHIyLCBmbG9hdCBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBG
bGFnKQotICAgICAgICA6IFNWR1BhdGhTZWdBcmMoZWxlbWVudCwgcm9sZSwgeCwgeSwgcjEsIHIy
LCBhbmdsZSwgbGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcpCi0gICAgewotICAgIH0KLQotICAgIHZp
cnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VH
X0FSQ19SRUw7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29u
c3QgeyByZXR1cm4gImEiOyB9Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdBcmNBYnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjQWJzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ1YjY3ZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjQWJzLmgKQEAgLTAsMCArMSw1MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0Fy
Y0Fic19oCisjZGVmaW5lIFNWR1BhdGhTZWdBcmNBYnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNp
bmNsdWRlICJTVkdQYXRoU2VnQXJjLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
U1ZHUGF0aFNlZ0FyY0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnQXJjIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQXJjQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQq
IGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIx
LCBmbG9hdCByMiwgZmxvYXQgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxh
ZykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0FyY0Ficyhl
bGVtZW50LCByb2xlLCB4LCB5LCByMSwgcjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxh
ZykpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQXJjQWJzKFNWR1BhdGhFbGVt
ZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9h
dCByMSwgZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2Vl
cEZsYWcpCisgICAgICAgIDogU1ZHUGF0aFNlZ0FyYyhlbGVtZW50LCByb2xlLCB4LCB5LCByMSwg
cjIsIGFuZ2xlLCBsYXJnZUFyY0ZsYWcsIHN3ZWVwRmxhZykKKyAgICB7CisgICAgfQorCisgICAg
dmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhT
RUdfQVJDX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBj
b25zdCB7IHJldHVybiAiQSI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnQXJjUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1Jl
bC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MjQ1YjkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5oCkBAIC0wLDAg
KzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBa
aW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykg
MjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNW
R1BhdGhTZWdBcmNSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQXJjUmVsX2gKKworI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0FyYy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFNWR1BhdGhTZWdBcmNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0FyYyB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0FyY1JlbD4gY3JlYXRlKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
LCBmbG9hdCByMSwgZmxvYXQgcjIsIGZsb2F0IGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9v
bCBzd2VlcEZsYWcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhT
ZWdBcmNSZWwoZWxlbWVudCwgcm9sZSwgeCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VBcmNGbGFn
LCBzd2VlcEZsYWcpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0FyY1JlbChT
VkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgcjEsIGZsb2F0IHIyLCBmbG9hdCBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcs
IGJvb2wgc3dlZXBGbGFnKQorICAgICAgICA6IFNWR1BhdGhTZWdBcmMoZWxlbWVudCwgcm9sZSwg
eCwgeSwgcjEsIHIyLCBhbmdsZSwgbGFyZ2VBcmNGbGFnLCBzd2VlcEZsYWcpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJl
dHVybiBQQVRIU0VHX0FSQ19SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFz
TGV0dGVyKCkgY29uc3QgeyByZXR1cm4gImEiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaAppbmRleCAxNjlkOGY4Li5iZjhhNDBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljLmgKQEAgLTkwLDQwICs5MCw2
IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV95MjsKIH07CiAKLWNsYXNzIFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7IAotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnM+IGNyZWF0ZShT
VkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMoZWxlbWVu
dCwgcm9sZSwgeCwgeSwgeDEsIHkxLCB4MiwgeTIpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAg
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0FicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0
aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9h
dCB4MiwgZmxvYXQgeTIpCi0gICAgICAgIDogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyhlbGVtZW50
LCByb2xlLCB4LCB5LCB4MSwgeTEsIHgyLCB5MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVh
bCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VS
VkVUT19DVUJJQ19BQlM7IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVy
KCkgY29uc3QgeyByZXR1cm4gIkMiOyB9Ci19OwotCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljUmVsIDogcHVibGljIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMgeyAKLXB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsPiBjcmVhdGUoU1ZHUGF0
aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHks
IGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsKGVsZW1lbnQsIHJv
bGUsIHgsIHksIHgxLCB5MSwgeDIsIHkyKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNSZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdS
b2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIs
IGZsb2F0IHkyKQotICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMoZWxlbWVudCwgcm9s
ZSwgeCwgeSwgeDEsIHkxLCB4MiwgeTIpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5z
aWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9f
Q1VCSUNfUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNv
bnN0IHsgcmV0dXJuICJjIjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b0N1YmljQWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZl
dG9DdWJpY0Ficy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYzM5NzgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY0Ficy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIw
MDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
KyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnNfaAorI2RlZmluZSBTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljQWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpYy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNW
R1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Fi
cz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y0FicyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEsIHgyLCB5MikpOworICAgIH0KKworcHJp
dmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxv
YXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSwgeDIsIHkyKQorICAgIHsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4g
UEFUSFNFR19DVVJWRVRPX0NVQklDX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdU
eXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiQyI7IH0KK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmFlYTlmOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVs
ZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsX2gKKworI2lmIEVO
QUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwgOiBwdWJsaWMg
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpYyB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50
LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQg
eTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbChlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEs
IHgyLCB5MikpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
UmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4
LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICAg
ICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSwg
eDIsIHkyKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhT
ZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1JFTDsgfQorICAg
IHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiYyI7
IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcp
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJp
Y1Ntb290aC5oCmluZGV4IGE2NTQyOTcuLjhhNjdhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGguaApAQCAtNzIsNDAgKzcyLDYgQEAg
cHJpdmF0ZToKICAgICBmbG9hdCBtX3kyOwogfTsKIAotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aEFicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoIHsgCi1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xl
LCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoZWxlbWVu
dCwgcm9sZSwgeCwgeSwgeDIsIHkyKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhT
ZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKLSAgICAg
ICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgy
LCB5MikKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2Vn
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19TTU9PVEhfQUJTOyB9
Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJu
ICJTIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbCA6IHB1
YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoIHsgCi1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbD4gY3JlYXRlKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
LCBmbG9hdCB4MiwgZmxvYXQgeTIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDIs
IHkyKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9v
dGhSZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKLSAgICAgICAgOiBTVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljU21vb3RoKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgyLCB5MikKLSAgICB7Ci0gICAg
fQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFBBVEhTRUdfQ1VSVkVUT19DVUJJQ19TTU9PVEhfUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJp
bmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJzIjsgfQotfTsKLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNzFlMDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oCkBA
IC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlr
b2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZu
ZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnNfaAorI2RlZmluZSBTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljU21vb3RoQWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50
LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MiwgZmxvYXQg
eTIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNTbW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDIsIHkyKSk7CisgICAgfQorCitw
cml2YXRlOgorICAgIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMoU1ZHUGF0aEVsZW1l
bnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0
IHgyLCBmbG9hdCB5MikKKyAgICAgICAgOiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoKGVs
ZW1lbnQsIHJvbGUsIHgsIHksIHgyLCB5MikKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1
bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVU
T19DVUJJQ19TTU9PVEhfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xl
dHRlcigpIGNvbnN0IHsgcmV0dXJuICJTIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjMzFjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmgKQEAgLTAsMCArMSw1
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEz
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbF9oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvQ3Vi
aWNTbW9vdGhSZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3Vy
dmV0b0N1YmljU21vb3RoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
U21vb3RoIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhT
ZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgyLCBmbG9hdCB5MikKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290
aFJlbChlbGVtZW50LCByb2xlLCB4LCB5LCB4MiwgeTIpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVu
dCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDIsIGZsb2F0
IHkyKQorICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGgoZWxlbWVudCwgcm9s
ZSwgeCwgeSwgeDIsIHkyKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNo
b3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX0NVQklDX1NN
T09USF9SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29u
c3QgeyByZXR1cm4gInMiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpYy5oCmluZGV4IDg5NGY3ODcuLjZmOGQwNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oCkBAIC03Miw0MCAr
NzIsNiBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1feTE7CiB9OwogCi1jbGFzcyBTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY0FicyA6IHB1YmxpYyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYyB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNBYnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyhlbGVtZW50
LCByb2xlLCB4LCB5LCB4MSwgeTEpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNBYnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdS
b2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKLSAgICAgICAg
OiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYyhlbGVtZW50LCByb2xlLCB4LCB5LCB4MSwgeTEp
Ci0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUo
KSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0NVUlZFVE9fUVVBRFJBVElDX0FCUzsgfQotICAgIHZp
cnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAiUSI7IH0K
LX07Ci0KLWNsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsIDogcHVibGljIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVt
ZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxv
YXQgeTEpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkpOwotICAgIH0KLQot
cHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbChTVkdQYXRoRWxlbWVu
dCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
eDEsIGZsb2F0IHkxKQotICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljKGVsZW1l
bnQsIHJvbGUsIHgsIHksIHgxLCB5MSkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNp
Z25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19R
VUFEUkFUSUNfUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigp
IGNvbnN0IHsgcmV0dXJuICJxIjsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNTAzNDJlNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMg
PGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
QWJzX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnNfaAorCisjaWYgRU5B
QkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpYy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzIDog
cHVibGljIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficz4gY3JlYXRlKFNWR1BhdGhF
bGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBm
bG9hdCB4MSwgZmxvYXQgeTEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkp
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0FicyhT
VkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgeDEsIGZsb2F0IHkxKQorICAgICAgICA6IFNWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljKGVsZW1lbnQsIHJvbGUsIHgsIHksIHgxLCB5MSkKKyAgICB7CisgICAgfQorCisgICAg
dmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhT
RUdfQ1VSVkVUT19RVUFEUkFUSUNfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5
cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJRIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44Zjk3MzU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmgKQEAgLTAsMCArMSw1
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEz
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0
aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWxfaAorI2RlZmluZSBTVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1JlbF9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRv
UXVhZHJhdGljLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNSZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGlj
UmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHgxLCBmbG9hdCB5MSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwoZWxlbWVudCwg
cm9sZSwgeCwgeSwgeDEsIHkxKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdD
dXJ2ZXRvUXVhZHJhdGljUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9s
ZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB4MSwgZmxvYXQgeTEpCisgICAgICAgIDog
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMoZWxlbWVudCwgcm9sZSwgeCwgeSwgeDEsIHkxKQor
ICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkg
Y29uc3QgeyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19SRUw7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gInEiOyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1Ntb290aC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjYwNjJhLi4wMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Nt
b290aC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9y
Zz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLSAqLwotCi0jaWZuZGVmIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoX2gKLSNk
ZWZpbmUgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhfaAotCi0jaWYgRU5BQkxFKFNW
RykKLSNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRleHQuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyA6IHB1Ymxp
YyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnM+IGNyZWF0ZShTVkdQYXRo
RWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFk
cmF0aWNTbW9vdGhBYnMoZWxlbWVudCwgcm9sZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToK
LSAgICBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyhTVkdQYXRoRWxlbWVudCog
ZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICAgICAg
OiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQotICAgIHsK
LSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3Qg
eyByZXR1cm4gUEFUSFNFR19DVVJWRVRPX1FVQURSQVRJQ19TTU9PVEhfQUJTOyB9Ci0gICAgdmly
dHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJUIjsgfQot
fTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwgOiBwdWJsaWMg
U1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsPiBjcmVhdGUoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljU21vb3RoUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0g
ICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgICAgIDog
U1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKLSAgICB7Ci0g
ICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19RVUFEUkFUSUNfU01PT1RIX1JFTDsgfQotICAgIHZpcnR1
YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAidCI7IH0KLX07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVkcpCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY1Ntb290aEFicy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVh
ZHJhdGljU21vb3RoQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVm
N2UyNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRp
Y1Ntb290aEFic19oCisjZGVmaW5lIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJz
X2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGhBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3Ro
QWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgsIGZsb2F0IHkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhB
YnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgs
IGZsb2F0IHkpCisgICAgICAgIDogU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwg
cm9sZSwgeCwgeSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBw
YXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfQ1VSVkVUT19RVUFEUkFUSUNfU01P
T1RIX0FCUzsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25z
dCB7IHJldHVybiAiVCI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShTVkcpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNDc3YTZhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oCkBAIC0wLDAgKzEs
NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1t
ZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR1Bh
dGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0N1cnZl
dG9RdWFkcmF0aWNTbW9vdGhSZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQ
YXRoU2VnV2l0aENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbCA6IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0N1
cnZldG9RdWFkcmF0aWNTbW9vdGhSZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwg
U1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwoZWxl
bWVudCwgcm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1Ntb290aFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNl
Z1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xl
Q29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19D
VVJWRVRPX1FVQURSQVRJQ19TTU9PVEhfUkVMOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNl
Z1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJ0IjsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG8uaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnTGluZXRvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5OTVj
OTguLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG8uaAor
KysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9y
Zz4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8K
LQotI2lmbmRlZiBTVkdQYXRoU2VnTGluZXRvX2gKLSNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b19o
Ci0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNWR1BhdGhTZWdMaW5ldG9BYnMgOiBwdWJs
aWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeyAKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1l
bnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9BYnMoZWxlbWVudCwgcm9sZSwg
eCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGluZXRvQWJzKFNWR1Bh
dGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5
KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJvbGUsIHgs
IHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5
cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX0xJTkVUT19BQlM7IH0KLSAgICB2aXJ0dWFsIFN0
cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIkwiOyB9Ci19OwotCi1j
bGFzcyBTVkdQYXRoU2VnTGluZXRvUmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGlu
YXRlIHsgCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b1Jl
bD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBm
bG9hdCB4LCBmbG9hdCB5KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQ
YXRoU2VnTGluZXRvUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKLSAgICB9Ci0KLXByaXZhdGU6
Ci0gICAgU1ZHUGF0aFNlZ0xpbmV0b1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0
aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICAgICAgOiBTVkdQYXRoU2VnU2lu
Z2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQotICAgIHsKLSAgICB9Ci0KLSAgICB2
aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNF
R19MSU5FVE9fUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigp
IGNvbnN0IHsgcmV0dXJuICJsIjsgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKFNWRykKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
TGluZXRvQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU1MzQwY2QK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0Fi
cy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIw
MDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQg
KEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwor
CisjaWZuZGVmIFNWR1BhdGhTZWdMaW5ldG9BYnNfaAorI2RlZmluZSBTVkdQYXRoU2VnTGluZXRv
QWJzX2gKKworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ1dpdGhDb250ZXh0
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0FicyA6
IHB1YmxpYyBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b0Ficz4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBl
bGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYXRoU2VnTGluZXRvQWJzKGVsZW1lbnQsIHJv
bGUsIHgsIHkpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0xpbmV0b0FicyhT
VkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxv
YXQgeSkKKyAgICAgICAgOiBTVkdQYXRoU2VnU2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xl
LCB4LCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhT
ZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9fQUJTOyB9CisgICAgdmlydHVh
bCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJMIjsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaApp
bmRleCBkMTc1Y2RkLi41NmExMWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWwuaApAQCAtNDUsNDAgKzQ1LDYgQEAgcHJpdmF0ZToKICAgICBm
bG9hdCBtX3g7CiB9OwogCi1jbGFzcyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicyA6IHB1
YmxpYyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnM+IGNyZWF0ZShTVkdQYXRoRWxl
bWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMoZWxl
bWVudCwgcm9sZSwgeCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbEFicyhTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCkKLSAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbChlbGVtZW50
LCByb2xlLCB4KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBh
dGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9fSE9SSVpPTlRBTF9BQlM7
IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1
cm4gIkgiOyB9Ci19OwotCi1jbGFzcyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbCA6IHB1
YmxpYyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWw+IGNyZWF0ZShTVkdQYXRoRWxl
bWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwoZWxl
bWVudCwgcm9sZSwgeCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCkKLSAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbChlbGVtZW50
LCByb2xlLCB4KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBh
dGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9fSE9SSVpPTlRBTF9SRUw7
IH0KLSAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1
cm4gImgiOyB9Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9I
b3Jpem9udGFsQWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWxBYnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzYzZTY4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsQWJzLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3Jn
PgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnNfaAorI2RlZmlu
ZSBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFic19oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2lu
Y2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMgOiBwdWJsaWMgU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWwgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1l
bnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzKGVsZW1lbnQsIHJvbGUs
IHgpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxB
YnMoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgp
CisgICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwoZWxlbWVudCwgcm9sZSwgeCkK
KyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgp
IGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX0hPUklaT05UQUxfQUJTOyB9CisgICAgdmly
dHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJIIjsgfQor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsUmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250
YWxSZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2M3ZTdiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9u
dGFsUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWxfaAorI2RlZmluZSBT
VkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbF9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1
ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwgOiBwdWJsaWMgU1ZHUGF0aFNl
Z0xpbmV0b0hvcml6b250YWwgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Bh
dGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQs
IFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsKGVsZW1lbnQsIHJvbGUsIHgp
KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwo
U1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgpCisg
ICAgICAgIDogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwoZWxlbWVudCwgcm9sZSwgeCkKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX0hPUklaT05UQUxfUkVMOyB9CisgICAgdmlydHVh
bCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0IHsgcmV0dXJuICJoIjsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9SZWwuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvUmVsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNTM3NThjMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBS
b2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0xpbmV0b1Jl
bF9oCisjZGVmaW5lIFNWR1BhdGhTZWdMaW5ldG9SZWxfaAorCisjaWYgRU5BQkxFKFNWRykKKyNp
bmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBTVkdQYXRoU2VnTGluZXRvUmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29y
ZGluYXRlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRv
UmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUs
IGZsb2F0IHgsIGZsb2F0IHkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNW
R1BhdGhTZWdMaW5ldG9SZWwoZWxlbWVudCwgcm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0
ZToKKyAgICBTVkdQYXRoU2VnTGluZXRvUmVsKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQ
YXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhTZWdT
aW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJvbGUsIHgsIHkpCisgICAgeworICAgIH0KKworICAg
IHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRI
U0VHX0xJTkVUT19SRUw7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVy
KCkgY29uc3QgeyByZXR1cm4gImwiOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgKaW5kZXggZmVjN2ZiNi4uZDEzMGRhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWwuaApAQCAtNDUsNDAgKzQ1
LDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX3k7CiB9OwogCi1jbGFzcyBTVkdQYXRoU2VnTGlu
ZXRvVmVydGljYWxBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsIHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnM+IGNy
ZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQg
eSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xpbmV0b1Zl
cnRpY2FsQWJzKGVsZW1lbnQsIHJvbGUsIHkpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRo
U2VnUm9sZSByb2xlLCBmbG9hdCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNh
bChlbGVtZW50LCByb2xlLCB5KQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHVuc2lnbmVk
IHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9fVkVSVElD
QUxfQUJTOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigpIGNvbnN0
IHsgcmV0dXJuICJWIjsgfQotfTsKLQotY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVs
IDogcHVibGljIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsPiBjcmVhdGUoU1ZHUGF0aEVs
ZW1lbnQqIGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCi0gICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbChlbGVt
ZW50LCByb2xlLCB5KSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFNWR1BhdGhTZWdMaW5ldG9W
ZXJ0aWNhbFJlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwg
ZmxvYXQgeSkKLSAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwoZWxlbWVudCwgcm9s
ZSwgeSkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2Vn
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX1ZFUlRJQ0FMX1JFTDsgfQotICAg
IHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAidiI7
IH0KLX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2Fs
QWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU5ZDJlMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaApA
QCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lm
bmRlZiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnNfaAorI2RlZmluZSBTVkdQYXRoU2VnTGlu
ZXRvVmVydGljYWxBYnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2Vn
TGluZXRvVmVydGljYWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRo
U2VnTGluZXRvVmVydGljYWxBYnMgOiBwdWJsaWMgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTGluZXRvVmVydGljYWxB
YnM+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwg
ZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGF0aFNlZ0xp
bmV0b1ZlcnRpY2FsQWJzKGVsZW1lbnQsIHJvbGUsIHkpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBT
VkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhTZWdMaW5ldG9W
ZXJ0aWNhbChlbGVtZW50LCByb2xlLCB5KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHVu
c2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFUSFNFR19MSU5FVE9f
VkVSVElDQUxfQUJTOyB9CisgICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRlcigp
IGNvbnN0IHsgcmV0dXJuICJWIjsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjRmOWVkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVp
cyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2Fs
UmVsX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsX2gKKworI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsIDogcHVibGlj
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHkpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbChlbGVtZW50LCByb2xl
LCB5KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJl
bChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeSkK
KyAgICAgICAgOiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwoZWxlbWVudCwgcm9sZSwgeSkKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIFBBVEhTRUdfTElORVRPX1ZFUlRJQ0FMX1JFTDsgfQorICAgIHZpcnR1YWwg
U3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0ZXIoKSBjb25zdCB7IHJldHVybiAidiI7IH0KK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdEJ1aWxkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0QnVpbGRlci5jcHAKaW5kZXggYmQ2
NTdjMy4uZDUzNDZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdM
aXN0QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0QnVp
bGRlci5jcHAKQEAgLTI4LDE3ICsyOCwyNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogI2luY2x1ZGUgIlNWR1BhdGhFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0FyYy5o
IgorI2luY2x1ZGUgIlNWR1BhdGhTZWdBcmNBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQXJj
UmVsLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5oIgotI2luY2x1ZGUgIlNWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWMuaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21v
b3RoLmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWMuaCIKLSNpbmNsdWRl
ICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aC5oIgotI2luY2x1ZGUgIlNWR1BhdGhT
ZWdMaW5ldG8uaCIKLSNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIgotI2lu
Y2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmgi
CisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5oIgorI2luY2x1ZGUg
IlNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2Vn
Q3VydmV0b1F1YWRyYXRpY0Ficy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljUmVsLmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMu
aCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5oIgorI2lu
Y2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9BYnMuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbEFicy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVs
LmgiCisjaW5jbHVkZSAiU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIgorI2luY2x1ZGUgIlNWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbEFicy5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNh
bFJlbC5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWdMaXN0LmgiCi0jaW5jbHVkZSAiU1ZHUGF0aFNl
Z01vdmV0by5oIgorI2luY2x1ZGUgIlNWR1BhdGhTZWdNb3ZldG9BYnMuaCIKKyNpbmNsdWRlICJT
VkdQYXRoU2VnTW92ZXRvUmVsLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG8uaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnTW92ZXRvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3
ZmNkN2QuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG8u
aAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0g
KiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2Rl
Lm9yZz4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
Ki8KLQotI2lmbmRlZiBTVkdQYXRoU2VnTW92ZXRvX2gKLSNkZWZpbmUgU1ZHUGF0aFNlZ01vdmV0
b19oCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNWR1BhdGhTZWdNb3ZldG9BYnMgOiBw
dWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNvb3JkaW5hdGUgeyAKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdQYXRoU2VnTW92ZXRvQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQqIGVs
ZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCi0gICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdNb3ZldG9BYnMoZWxlbWVudCwgcm9s
ZSwgeCwgeSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTVkdQYXRoU2VnTW92ZXRvQWJzKFNW
R1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBmbG9h
dCB5KQotICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJvbGUs
IHgsIHkpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0aFNl
Z1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX01PVkVUT19BQlM7IH0KLSAgICB2aXJ0dWFs
IFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIk0iOyB9Ci19Owot
Ci1jbGFzcyBTVkdQYXRoU2VnTW92ZXRvUmVsIDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29y
ZGluYXRlIHsgCi1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGF0aFNlZ01vdmV0
b1JlbD4gY3JlYXRlKFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xl
LCBmbG9hdCB4LCBmbG9hdCB5KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
VkdQYXRoU2VnTW92ZXRvUmVsKGVsZW1lbnQsIHJvbGUsIHgsIHkpKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgU1ZHUGF0aFNlZ01vdmV0b1JlbChTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZH
UGF0aFNlZ1JvbGUgcm9sZSwgZmxvYXQgeCwgZmxvYXQgeSkKLSAgICAgICAgOiBTVkdQYXRoU2Vn
U2luZ2xlQ29vcmRpbmF0ZShlbGVtZW50LCByb2xlLCB4LCB5KQotICAgIHsKLSAgICB9Ci0KLSAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHBhdGhTZWdUeXBlKCkgY29uc3QgeyByZXR1cm4gUEFU
SFNFR19NT1ZFVE9fUkVMOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGF0aFNlZ1R5cGVBc0xldHRl
cigpIGNvbnN0IHsgcmV0dXJuICJtIjsgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRU5BQkxFKFNWRykKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnTW92ZXRvQWJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVhNGMx
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRv
QWJzLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICog
Q29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpZm5kZWYgU1ZHUGF0aFNlZ01vdmV0b0Fic19oCisjZGVmaW5lIFNWR1BhdGhTZWdNb3Zl
dG9BYnNfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYXRoU2VnV2l0aENvbnRl
eHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTVkdQYXRoU2VnTW92ZXRvQWJz
IDogcHVibGljIFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTVkdQYXRoU2VnTW92ZXRvQWJzPiBjcmVhdGUoU1ZHUGF0aEVsZW1lbnQq
IGVsZW1lbnQsIFNWR1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhdGhTZWdNb3ZldG9BYnMoZWxlbWVudCwg
cm9sZSwgeCwgeSkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTVkdQYXRoU2VnTW92ZXRvQWJz
KFNWR1BhdGhFbGVtZW50KiBlbGVtZW50LCBTVkdQYXRoU2VnUm9sZSByb2xlLCBmbG9hdCB4LCBm
bG9hdCB5KQorICAgICAgICA6IFNWR1BhdGhTZWdTaW5nbGVDb29yZGluYXRlKGVsZW1lbnQsIHJv
bGUsIHgsIHkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcGF0
aFNlZ1R5cGUoKSBjb25zdCB7IHJldHVybiBQQVRIU0VHX01PVkVUT19BQlM7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBwYXRoU2VnVHlwZUFzTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gIk0iOyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ01vdmV0b1JlbC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2E2NTEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwuaApAQCAtMCwwICsxLDUwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4
IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdQYXRoU2VnTW92ZXRv
UmVsX2gKKyNkZWZpbmUgU1ZHUGF0aFNlZ01vdmV0b1JlbF9oCisKKyNpZiBFTkFCTEUoU1ZHKQor
I2luY2x1ZGUgIlNWR1BhdGhTZWdXaXRoQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFNWR1BhdGhTZWdNb3ZldG9SZWwgOiBwdWJsaWMgU1ZHUGF0aFNlZ1NpbmdsZUNv
b3JkaW5hdGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhTZWdNb3Zl
dG9SZWw+IGNyZWF0ZShTVkdQYXRoRWxlbWVudCogZWxlbWVudCwgU1ZHUGF0aFNlZ1JvbGUgcm9s
ZSwgZmxvYXQgeCwgZmxvYXQgeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U1ZHUGF0aFNlZ01vdmV0b1JlbChlbGVtZW50LCByb2xlLCB4LCB5KSk7CisgICAgfQorCitwcml2
YXRlOgorICAgIFNWR1BhdGhTZWdNb3ZldG9SZWwoU1ZHUGF0aEVsZW1lbnQqIGVsZW1lbnQsIFNW
R1BhdGhTZWdSb2xlIHJvbGUsIGZsb2F0IHgsIGZsb2F0IHkpCisgICAgICAgIDogU1ZHUGF0aFNl
Z1NpbmdsZUNvb3JkaW5hdGUoZWxlbWVudCwgcm9sZSwgeCwgeSkKKyAgICB7CisgICAgfQorCisg
ICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBwYXRoU2VnVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBB
VEhTRUdfTU9WRVRPX1JFTDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHBhdGhTZWdUeXBlQXNMZXR0
ZXIoKSBjb25zdCB7IHJldHVybiAibSI7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>