<?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>148485</bug_id>
          
          <creation_ts>2015-08-26 11:17:31 -0700</creation_ts>
          <short_desc>[Win] Rename &quot;WinLauncher&quot; to &quot;MiniBrowser&quot;</short_desc>
          <delta_ts>2015-08-26 13:26:11 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>peavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120992</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-26 11:17:31 -0700</bug_when>
    <thetext>The WebKit test harness is called &quot;Minibrowser&quot; on all platforms except Windows. Let&apos;s fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121034</commentid>
    <comment_count>1</comment_count>
      <attachid>259973</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-26 13:14:26 -0700</bug_when>
    <thetext>Created attachment 259973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121035</commentid>
    <comment_count>2</comment_count>
      <attachid>259973</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-08-26 13:17:47 -0700</bug_when>
    <thetext>Comment on attachment 259973
Patch

r+, don&apos;t break anything...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121037</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-26 13:26:03 -0700</bug_when>
    <thetext>Committed in r188982 &lt;http://trac.webkit.org/changeset/188982&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259973</attachid>
            <date>2015-08-26 13:14:26 -0700</date>
            <delta_ts>2015-08-26 13:17:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>minbrowserwin.patch</filename>
            <type>text/plain</type>
            <size>624058</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4ODk4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3MSBAQAorMjAxNS0wOC0yNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2luXSBTaW1wbGlmeSBtZW51IGhhbmRsaW5nIGNvZGUgaW4gV2luTGF1
bmNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
ODQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
dmlzZSAnVG9nZ2xlTWVudUl0ZW0nIHRvIHJldHVybiBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGlu
ZyBpZgorICAgICAgICBpdCBoYW5kbGVkIHRoZSBtZXNzYWdlLiBSZXZpc2UgV25kUHJvYyB0byB1
c2UgdGhpcyB0byBkZWNpZGUgaWYgaXQKKyAgICAgICAgc2hvdWxkIHBhc3MgdGhlIG1lc3NhZ2Ug
b24gdG8gdGhlIGRlZmF1bHQgaGFuZGxlciwgcmF0aGVyIHRoYW4KKyAgICAgICAgZHVwbGljYXRp
bmcgdGhlIGxvZ2ljIGluIGJvdGggcGxhY2VzLgorICAgICAgICAKKyAgICAgICAgKiBXaW5MYXVu
Y2hlci9Db21tb24uY3BwOgorICAgICAgICAoVG9nZ2xlTWVudUl0ZW0pOiBSZXR1cm4gdHJ1ZSBp
ZiB0aGUgbWVudSBpdGVtIG1lc3NhZ2Ugd2FzIGhhbmRsZWQuCisgICAgICAgIChXbmRQcm9jKTog
SWYgJ1RvZ2dsZU1lbnVJdGVtJyBkaWQgbm90IGhhbmRsZSB0aGUgbWVzc2FnZSwgcGFzcworICAg
ICAgICB0aGUgbWVzc2FnZSB0b3RoZSBkZWZhdWx0IGhhbmRsZXIuCisKKzIwMTUtMDgtMjYgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbl0gUmVuYW1l
ICdXaW5MYXVuY2hlcicgdG8gJ01pbmlCcm93c2VyJworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgV2luTGF1bmNoZXIgcHJvamVjdCBhbmQg
c291cmNlIGZpbGVzIHRvIGEgc3ViZGlyZWN0b3J5CisgICAgICAgIG9mIE1pbmlCcm93c2VyLiBH
bG9iYWxseSBjaGFuZ2UgV2luTGF1bmNoZXIgLT4gTWluaUJyb3dzZXIgaW4gdGhlCisgICAgICAg
IHNvdXJjZSBjb2RlIGFuZCBwcm9qZWN0IGZpbGVzLgorICAgICAgICAKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHBy
b2ovTWluaUJyb3dzZXIuaWNvOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyLmljby4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nl
ci52Y3hwcm9qL01pbmlCcm93c2VyLnJjOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnJjLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXIudmN4cHJvajogQ29waWVkIGZyb20gV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qLgorICAgICAgICAqIE1p
bmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXIudmN4cHJvai5maWx0ZXJz
OiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
LnZjeHByb2ouZmlsdGVycy4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hw
cm9qL01pbmlCcm93c2VyQ0YucHJvcHM6IENvcGllZCBmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRi5wcm9wcy4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyQ0ZMaXRlLnByb3BzOiBDb3BpZWQgZnJvbSBX
aW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzLgor
ICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJDb21t
b24ucHJvcHM6IENvcGllZCBmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJDb21tb24ucHJvcHMuCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIu
dmN4cHJvai9NaW5pQnJvd3NlckRlYnVnLnByb3BzOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyRGVidWcucHJvcHMuCisgICAgICAgICogTWlu
aUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYi5yYzogQ29waWVkIGZy
b20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYy4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliLnZj
eHByb2o6IENvcGllZCBmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1
bmNoZXJMaWIudmN4cHJvai4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hw
cm9qL01pbmlCcm93c2VyTGliLnZjeHByb2ouZmlsdGVyczogQ29waWVkIGZyb20gV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9qLmZpbHRlcnMuCisg
ICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYkNv
bW1vbi5wcm9wczogQ29waWVkIGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcy4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliRGVidWcucHJvcHM6IENvcGllZCBmcm9tIFdpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcy4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUG9z
dEJ1aWxkLmNtZDogQ29waWVkIGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlckxpYlBvc3RCdWlsZC5jbWQuCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlByZUJ1aWxkLmNtZDogQ29waWVkIGZyb20gV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByZUJ1aWxkLmNtZC4K
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGli
UHJvZHVjdGlvbi5wcm9wczogQ29waWVkIGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMuCisgICAgICAgICogTWluaUJyb3dz
ZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlJlbGVhc2UucHJvcHM6IENvcGll
ZCBmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZWxl
YXNlLnByb3BzLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWlu
aUJyb3dzZXJMaWJSZXNvdXJjZS5oOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaC4KKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZDogQ29waWVkIGZy
b20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclBvc3RCdWlsZC5j
bWQuCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3Nl
clByZUJ1aWxkLmNtZDogQ29waWVkIGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlclByZUJ1aWxkLmNtZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUHJvZHVjdGlvbi5wcm9wczogQ29waWVkIGZyb20gV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHMu
CisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclJl
bGVhc2UucHJvcHM6IENvcGllZCBmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ov
V2luTGF1bmNoZXJSZWxlYXNlLnByb3BzLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovTWluaUJyb3dzZXJSZXNvdXJjZS5oOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVzb3VyY2UuaC4KKyAgICAgICAgKiBN
aW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyLmljbzogUmVtb3ZlZC4K
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnJj
OiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2lu
TGF1bmNoZXIudmN4cHJvajogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2ouZmlsdGVyczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0YucHJvcHM6
IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9XaW5M
YXVuY2hlckNGTGl0ZS5wcm9wczogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5p
QnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ29tbW9uLnByb3BzOiBSZW1vdmVkLgorICAgICAg
ICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2luTGF1bmNoZXJEZWJ1Zy5wcm9w
czogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dp
bkxhdW5jaGVyTGliLnJjOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIudmN4cHJvajogUmVtb3ZlZC4KKyAgICAgICAgKiBN
aW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2ouZmls
dGVyczogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9q
L1dpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93
c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliUG9zdEJ1aWxkLmNtZDogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJlQnVpbGQuY21kOiBSZW1vdmVkLgorICAgICAg
ICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQcm9kdWN0
aW9uLnByb3BzOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZj
eHByb2ovV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzOiBSZW1vdmVkLgorICAgICAgICAqIE1p
bmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oOiBS
ZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovV2luTGF1
bmNoZXJQb3N0QnVpbGQuY21kOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovV2luTGF1bmNoZXJQcmVCdWlsZC5jbWQ6IFJlbW92ZWQuCisgICAgICAg
ICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9XaW5MYXVuY2hlclByb2R1Y3Rpb24u
cHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJv
ai9XaW5MYXVuY2hlclJlbGVhc2UucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dz
ZXIvTWluaUJyb3dzZXIudmN4cHJvai9XaW5MYXVuY2hlclJlc291cmNlLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTWluaUJyb3dzZXIvd2luOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci4KKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93
aW4vTWluaUJyb3dzZXIuY3BwOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci5j
cHAuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmg6IENvcGllZCBmcm9t
IFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmguCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL01p
bmlCcm93c2VyUmVwbGFjZS5oOiBDb3BpZWQgZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlclJl
cGxhY2UuaC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0LmNw
cDogQ29waWVkIGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXJXZWJIb3N0LmNwcC4KKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0Lmg6IENvcGllZCBmcm9tIFdp
bkxhdW5jaGVyL1dpbkxhdW5jaGVyV2ViSG9zdC5oLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dp
bi9QYWdlTG9hZFRlc3RDbGllbnQuY3BwOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9QYWdl
TG9hZFRlc3RDbGllbnQuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vUmVzb3VyY2VMb2Fk
RGVsZWdhdGUuY3BwOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlci5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2o6IFJlbW92ZWQuCisg
ICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIu
aWNvOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlci52Y3hw
cm9qL1dpbkxhdW5jaGVyLnJjOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2o6IFJlbW92ZWQuCisgICAgICAg
ICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJv
ai5maWx0ZXJzOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0YucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJy
b3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRkxpdGUucHJvcHM6IFJl
bW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJDb21tb24ucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2lu
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJEZWJ1Zy5wcm9wczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxp
Yi5yYzogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9qOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93
c2VyL3dpbi9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2ouZmlsdGVy
czogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wczogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJv
d3Nlci93aW4vV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzOiBS
ZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlci52Y3hwcm9qL1dp
bkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNtZDogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci93aW4vV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByZUJ1aWxkLmNtZDogUmVt
b3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dz
ZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzOiBS
ZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlci52Y3hwcm9qL1dp
bkxhdW5jaGVyTGliUmVzb3VyY2UuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93
aW4vV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclBvc3RCdWlsZC5jbWQ6IFJlbW92ZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNo
ZXJQcmVCdWlsZC5jbWQ6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzOiBSZW1vdmVkLgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVs
ZWFzZS5wcm9wczogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNo
ZXIudmN4cHJvai9XaW5MYXVuY2hlclJlc291cmNlLmg6IFJlbW92ZWQuCisgICAgICAgICogTWlu
aUJyb3dzZXIvd2luL1dpbkxhdW5jaGVyLnZjeHByb2ovc21hbGwuaWNvOiBSZW1vdmVkLgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3dpbi9XaW5MYXVuY2hlclJlcGxhY2UuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXJXZWJIb3N0LmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTGF1bmNoZXJXZWJIb3N0Lmg6IFJlbW92ZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3BwOgorICAgICAgICAqIFdpbkxh
dW5jaGVyOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL0FjY2Vzc2liaWxpdHlEZWxl
Z2F0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURl
bGVnYXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvQ01ha2VMaXN0cy50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvQ29tbW9uLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBXaW5MYXVuY2hlci9ET01EZWZhdWx0SW1wbC5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogV2luTGF1bmNoZXIvRE9NRGVmYXVsdEltcGwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5M
YXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxh
dW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5j
aGVyL1ByaW50V2ViVUlEZWxlZ2F0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNo
ZXIvUHJpbnRXZWJVSURlbGVnYXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIv
UmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVy
L1Jlc291cmNlTG9hZERlbGVnYXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIv
V2ViRG93bmxvYWREZWxlZ2F0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIv
V2ViRG93bmxvYWREZWxlZ2F0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci5oOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2o6
IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlci5pY286IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
dmN4cHJvai9XaW5MYXVuY2hlci5yYzogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2o6IFJlbW92ZWQuCisgICAgICAg
ICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qLmZp
bHRlcnM6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlckNGLnByb3BzOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRkxpdGUucHJvcHM6IFJlbW92ZWQuCisgICAg
ICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckNvbW1vbi5w
cm9wczogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9q
L1dpbkxhdW5jaGVyRGVidWcucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYzogUmVtb3ZlZC4KKyAgICAgICAg
KiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2o6
IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckxpYi52Y3hwcm9qLmZpbHRlcnM6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliRGVidWcucHJvcHM6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNo
ZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlBvc3RCdWlsZC5jbWQ6IFJlbW92ZWQuCisgICAgICAg
ICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByZUJ1aWxk
LmNtZDogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9q
L1dpbkxhdW5jaGVyTGliUHJvZHVjdGlvbi5wcm9wczogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVsZWFzZS5wcm9wczog
UmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyTGliUmVzb3VyY2UuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUG9zdEJ1aWxkLmNtZDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJlQnVpbGQu
Y21kOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ov
V2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJSZWxlYXNlLnByb3BzOiBSZW1vdmVk
LgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJS
ZXNvdXJjZS5oOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZj
eHByb2ovc21hbGwuaWNvOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyUmVwbGFjZS5oOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
V2ViSG9zdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXJX
ZWJIb3N0Lmg6IFJlbW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTWFpbi5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogV2luTGF1bmNoZXIvcmVzb3VyY2UuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBXaW5MYXVuY2hlci9zdGRhZnguY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdpbkxhdW5j
aGVyL3N0ZGFmeC5oOiBSZW1vdmVkLgorICAgICAgICAqIHdpbi9Bc3NlbWJsZUJ1aWxkTG9ncy9B
c3NlbWJsZUxvZ3MuY21kOgorCiAyMDE1LTA4LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFNpbXBsaWZ5IG1lbnUgaGFuZGxpbmcgY29kZSBp
biBXaW5MYXVuY2hlcgpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURlbGVn
YXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9BY2Nlc3NpYmlsaXR5RGVs
ZWdhdGUuY3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9BY2Nlc3Np
YmlsaXR5RGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDc1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUg
InN0ZGFmeC5oIgotI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5oIgotCi0jaW5jbHVk
ZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgotI2luY2x1ZGUgPGNvbW1jdHJsLmg+Ci0jaW5jbHVk
ZSA8Y29tbWRsZy5oPgotI2luY2x1ZGUgPG9iamJhc2UuaD4KLSNpbmNsdWRlIDxzaGx3YXBpLmg+
Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+Ci0KLUhSRVNVTFQgQWNj
ZXNzaWJpbGl0eURlbGVnYXRlOjpRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09N
X091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCkKLXsKLSAgICBpZiAoIXBwdk9iamVjdCkKLSAgICAg
ICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqcHB2T2JqZWN0ID0gbnVsbHB0cjsKLSAgICBpZiAo
SXNFcXVhbElJRChyaWlkLCBJSURfSVVua25vd24pKQotICAgICAgICAqcHB2T2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8SUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSo+KHRoaXMpOwotICAgIGVsc2UgaWYgKElz
RXF1YWxJSUQocmlpZCwgSUlEX0lBY2Nlc3NpYmlsaXR5RGVsZWdhdGUpKQotICAgICAgICAqcHB2
T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSo+KHRoaXMpOwotICAg
IGVsc2UKLSAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7Ci0KLSAgICBBZGRSZWYoKTsKLSAg
ICByZXR1cm4gU19PSzsKLX0KLQotVUxPTkcgQWNjZXNzaWJpbGl0eURlbGVnYXRlOjpBZGRSZWYo
KQotewotICAgIHJldHVybiArK21fcmVmQ291bnQ7Ci19Ci0KLVVMT05HIEFjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZTo6UmVsZWFzZSgpCi17Ci0gICAgVUxPTkcgbmV3UmVmID0gLS1tX3JlZkNvdW50Owot
ICAgIGlmICghbmV3UmVmKQotICAgICAgICBkZWxldGUgdGhpczsKLQotICAgIHJldHVybiBuZXdS
ZWY7Ci19Ci0KLUhSRVNVTFQgQWNjZXNzaWJpbGl0eURlbGVnYXRlOjpmaXJlRnJhbWVMb2FkU3Rh
cnRlZEV2ZW50cygpCi17Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgQWNjZXNzaWJp
bGl0eURlbGVnYXRlOjpmaXJlRnJhbWVMb2FkRmluaXNoZWRFdmVudHMoKQotewotICAgIHJldHVy
biBTX09LOwotfQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURlbGVnYXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURlbGVnYXRl
LmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL0FjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBBY2Nlc3NpYmls
aXR5RGVsZWdhdGVfaAotI2RlZmluZSBBY2Nlc3NpYmlsaXR5RGVsZWdhdGVfaAotCi0jaW5jbHVk
ZSA8V2ViS2l0L1dlYktpdC5oPgotCi1jbGFzcyBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUgOiBwdWJs
aWMgSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSB7Ci1wdWJsaWM6Ci0gICAgQWNjZXNzaWJpbGl0eURl
bGVnYXRlKCkgeyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5
SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0
KTsKLSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwotICAgIHZp
cnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZpcmVGcmFtZUxvYWRTdGFydGVkRXZlbnRzKCk7Ci0g
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZpcmVGcmFtZUxvYWRGaW5pc2hl
ZEV2ZW50cygpOwotcHJpdmF0ZToKLSAgICBpbnQgbV9yZWZDb3VudCB7IDEgfTsKLX07Ci0KLSNl
bmRpZgpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE4ODk3MCkKKysr
IFRvb2xzL1dpbkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDY0
ICswLDAgQEAKLXNldChXaW5MYXVuY2hlcl9JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgV2luTGF1
bmNoZXIudmN4cHJvagotICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFk
ZXJzIgotICAgICIke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzL1dlYktp
dCIKLSAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfSIKLSAgICAiJHtERVJJVkVEX1NPVVJDRVNf
V0VCS0lUX0RJUn0vSW50ZXJmYWNlcyIKLSAgICAiJHtXVEZfRElSfSIKLSAgICAiJHtDTUFLRV9T
T1VSQ0VfRElSfSIKLSAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UiCi0pCi0KLXNldChX
aW5MYXVuY2hlcl9TT1VSQ0VTCi0gICAgQWNjZXNzaWJpbGl0eURlbGVnYXRlLmNwcAotICAgIERP
TURlZmF1bHRJbXBsLmNwcAotICAgIFBhZ2VMb2FkVGVzdENsaWVudC5jcHAKLSAgICBQcmludFdl
YlVJRGVsZWdhdGUuY3BwCi0gICAgUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwCi0gICAgV2ViRG93
bmxvYWREZWxlZ2F0ZS5jcHAKLSAgICBXaW5MYXVuY2hlci5jcHAKLSAgICBXaW5MYXVuY2hlcldl
Ykhvc3QuY3BwCi0gICAgV2luTWFpbi5jcHAKLSAgICBzdGRhZnguY3BwCi0KLSAgICBXaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCi0pCi0KLXNldChXaW5MYXVuY2hlcl9MSUJS
QVJJRVMKLSAgICBEYmdIZWxwCi0gICAgV1RGCi0gICAgV2ViS2l0Ci0gICAgV2ViS2l0R1VJRAot
ICAgIGNvbWN0bDMyCi0gICAgY29tc3VwcAotICAgIGNvbXN1cHB3Ci0gICAgc2hsd2FwaQotKQot
Ci1pZiAoV1RGX1BMQVRGT1JNX1dJTl9DQUlSTykKLSAgICBsaXN0KEFQUEVORCBXaW5MYXVuY2hl
cl9MSUJSQVJJRVMKLSAgICAgICAgQ0ZMaXRlCi0gICAgKQotZWxzZSAoKQotICAgIGxpc3QoQVBQ
RU5EIFdpbkxhdW5jaGVyX0xJQlJBUklFUwotICAgICAgICBDb3JlRm91bmRhdGlvbgotICAgICkK
LWVuZGlmICgpCi0KLXNldChDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTICIke0NNQUtFX1NIQVJF
RF9MSU5LRVJfRkxBR1N9IC9OT0RFRkFVTFRMSUI6TVNWQ1JUIC9OT0RFRkFVTFRMSUI6TVNWQ1JU
RCIpCi1zZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHUyAiJHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdT
fSAvRU5UUlk6d1dpbk1haW5DUlRTdGFydHVwIikKLQotaWYgKCR7V1RGX1BMQVRGT1JNX1dJTl9D
QUlST30pCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV0lOX0NBSVJPKQotZW5kaWYgKCkKLWFkZF9k
ZWZpbml0aW9ucygtRF9VTklDT0RFKQotaW5jbHVkZV9kaXJlY3Rvcmllcygke1dpbkxhdW5jaGVy
X0lOQ0xVREVfRElSRUNUT1JJRVN9KQotYWRkX2xpYnJhcnkoV2luTGF1bmNoZXJMaWIgU0hBUkVE
ICR7V2luTGF1bmNoZXJfU09VUkNFU30pCi10YXJnZXRfbGlua19saWJyYXJpZXMoV2luTGF1bmNo
ZXJMaWIgJHtXaW5MYXVuY2hlcl9MSUJSQVJJRVN9KQotc2V0X3RhcmdldF9wcm9wZXJ0aWVzKFdp
bkxhdW5jaGVyTGliIFBST1BFUlRJRVMgRk9MREVSICJUb29scyIpCi1zZXRfdGFyZ2V0X3Byb3Bl
cnRpZXMoV2luTGF1bmNoZXJMaWIgUFJPUEVSVElFUyBPVVRQVVRfTkFNRSAiV2luTGF1bmNoZXIi
KQotCi1hZGRfZXhlY3V0YWJsZShXaW5MYXVuY2hlciBXSU4zMiAke1RPT0xTX0RJUn0vd2luL0RM
TExhdW5jaGVyL0RMTExhdW5jaGVyTWFpbi5jcHAgV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlci5yYykKLXRhcmdldF9saW5rX2xpYnJhcmllcyhXaW5MYXVuY2hlciBzaGx3YXBpKQotc2V0
X3RhcmdldF9wcm9wZXJ0aWVzKFdpbkxhdW5jaGVyIFBST1BFUlRJRVMgRk9MREVSICJUb29scyIp
Ci1zZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2luTGF1bmNoZXIgUFJPUEVSVElFUyBPVVRQVVRfTkFN
RSAiV2luTGF1bmNoZXIiKQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9Db21tb24uY3BwCShyZXZpc2lvbiAxODg5NzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9Db21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg1
NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDEzLTIwMTUgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MSBCcmVudCBGdWxnaGFtLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMCwgMjAxMSBBcHBjZWxlcmF0b3IsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMyBBbGV4IENocmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5oIgotI2luY2x1ZGUgIkRPTURlZmF1bHRJbXBsLmgi
Ci0jaW5jbHVkZSAiUHJpbnRXZWJVSURlbGVnYXRlLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
RGVsZWdhdGUuaCIKLSNpbmNsdWRlICJXZWJEb3dubG9hZERlbGVnYXRlLmgiCi0jaW5jbHVkZSAi
V2luTGF1bmNoZXIuaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlclJlcGxhY2UuaCIKLSNpbmNsdWRl
IDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+Ci0jaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgot
I2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
LSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotI2lmIFVTRShDRikKLSNpbmNsdWRl
IDxDb3JlRm91bmRhdGlvbi9DRlJ1bkxvb3AuaD4KLSNpbmNsdWRlIDxXZWJLaXQvQ0ZEaWN0aW9u
YXJ5UHJvcGVydHlCYWcuaD4KLSNlbmRpZgotCi0jaW5jbHVkZSA8Y2Fzc2VydD4KLSNpbmNsdWRl
IDxjb21pcC5oPgotI2luY2x1ZGUgPGNvbW1jdHJsLmg+Ci0jaW5jbHVkZSA8Y29tbWRsZy5oPgot
I2luY2x1ZGUgPGNvbXV0aWwuaD4KLSNpbmNsdWRlIDxkYmdoZWxwLmg+Ci0jaW5jbHVkZSA8bWVt
b3J5PgotI2luY2x1ZGUgPG9iamJhc2UuaD4KLSNpbmNsdWRlIDxzaGVsbGFwaS5oPgotI2luY2x1
ZGUgPHNobG9iai5oPgotI2luY2x1ZGUgPHNobHdhcGkuaD4KLSNpbmNsdWRlIDxzdHJpbmc+Ci0j
aW5jbHVkZSA8dmVjdG9yPgotI2luY2x1ZGUgPHdpbmluZXQuaD4KLQotI2RlZmluZSBNQVhfTE9B
RFNUUklORyAxMDAKLSNkZWZpbmUgVVJMQkFSX0hFSUdIVCAgMjQKLSNkZWZpbmUgQ09OVFJPTEJV
VFRPTl9XSURUSCAyNAotCi1zdGF0aWMgY29uc3QgaW50IG1heEhpc3RvcnlTaXplID0gMTA7Ci0K
LSNpZm5kZWYgV01fRFBJQ0hBTkdFRAotI2RlZmluZSBXTV9EUElDSEFOR0VEIDB4MDJFMAotI2Vu
ZGlmCi0KLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2Yo
SVdlYkZyYW1lKT4+IElXZWJGcmFtZVB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYk11dGFibGVVUkxSZXF1ZXN0LCAmX191dWlkb2YoSVdlYk11dGFibGVVUkxSZXF1ZXN0KT4+
IElXZWJNdXRhYmxlVVJMUmVxdWVzdFB0cjsKLQotLy8gR2xvYmFsIFZhcmlhYmxlczoKLUhJTlNU
QU5DRSBoSW5zdDsKLUhXTkQgaE1haW5XbmQ7Ci1IV05EIGhVUkxCYXJXbmQ7Ci1IR0RJT0JKIGhV
UkxGb250OwotSFdORCBoQmFja0J1dHRvblduZDsKLUhXTkQgaEZvcndhcmRCdXR0b25XbmQ7Ci1I
V05EIGhDYWNoZVduZDsKLVdORFBST0MgRGVmRWRpdFByb2MgPSBudWxscHRyOwotV05EUFJPQyBE
ZWZCdXR0b25Qcm9jID0gbnVsbHB0cjsKLVdORFBST0MgRGVmV2ViS2l0UHJvYyA9IG51bGxwdHI7
Ci1IV05EIGdWaWV3V2luZG93ID0gMDsKLVdpbkxhdW5jaGVyKiBnV2luTGF1bmNoZXIgPSBudWxs
cHRyOwotVENIQVIgc3pUaXRsZVtNQVhfTE9BRFNUUklOR107IC8vIFRoZSB0aXRsZSBiYXIgdGV4
dAotVENIQVIgc3pXaW5kb3dDbGFzc1tNQVhfTE9BRFNUUklOR107IC8vIHRoZSBtYWluIHdpbmRv
dyBjbGFzcyBuYW1lCi0KLS8vIFN1cHBvcnQgbW92aW5nIHRoZSB0cmFuc3BhcmVudCB3aW5kb3cK
LVBPSU5UIHNfd2luZG93UG9zaXRpb24gPSB7IDEwMCwgMTAwIH07Ci1TSVpFIHNfd2luZG93U2l6
ZSA9IHsgODAwLCA0MDAgfTsKLQotLy8gRm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgZnVuY3Rpb25z
IGluY2x1ZGVkIGluIHRoaXMgY29kZSBtb2R1bGU6Ci1BVE9NIE15UmVnaXN0ZXJDbGFzcyhISU5T
VEFOQ0UgaEluc3RhbmNlKTsKLUxSRVNVTFQgQ0FMTEJBQ0sgV25kUHJvYyhIV05ELCBVSU5ULCBX
UEFSQU0sIExQQVJBTSk7Ci1JTlRfUFRSIENBTExCQUNLIEFib3V0KEhXTkQsIFVJTlQsIFdQQVJB
TSwgTFBBUkFNKTsKLUlOVF9QVFIgQ0FMTEJBQ0sgQ3VzdG9tVXNlckFnZW50KEhXTkQsIFVJTlQs
IFdQQVJBTSwgTFBBUkFNKTsKLUxSRVNVTFQgQ0FMTEJBQ0sgRWRpdFByb2MoSFdORCwgVUlOVCwg
V1BBUkFNLCBMUEFSQU0pOwotTFJFU1VMVCBDQUxMQkFDSyBCYWNrQnV0dG9uUHJvYyhIV05ELCBV
SU5ULCBXUEFSQU0sIExQQVJBTSk7Ci1MUkVTVUxUIENBTExCQUNLIEZvcndhcmRCdXR0b25Qcm9j
KEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKLUxSRVNVTFQgQ0FMTEJBQ0sgUmVsb2FkQnV0
dG9uUHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7Ci1JTlRfUFRSIENBTExCQUNLIENh
Y2hlcyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7Ci0KLXN0YXRpYyB2b2lkIGxvYWRVUkwo
QlNUUiB1cmxCU3RyKTsKLXN0YXRpYyB2b2lkIHVwZGF0ZVN0YXRpc3RpY3MoSFdORCBoRGxnKTsK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3co
SFdORCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlc2l6ZVN1YlZpZXdzKCkKLXsKLSAgICBpZiAoZ1dp
bkxhdW5jaGVyLT51c2VzTGF5ZXJlZFdlYlZpZXcoKSB8fCAhZ1ZpZXdXaW5kb3cpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGZsb2F0IHNjYWxlRmFjdG9yID0gV2ViQ29yZTo6ZGV2aWNlU2NhbGVG
YWN0b3JGb3JXaW5kb3coZ1ZpZXdXaW5kb3cpOwotCi0gICAgUkVDVCByY0NsaWVudDsKLSAgICBH
ZXRDbGllbnRSZWN0KGhNYWluV25kLCAmcmNDbGllbnQpOwotCi0gICAgaW50IGhlaWdodCA9IHNj
YWxlRmFjdG9yICogVVJMQkFSX0hFSUdIVDsKLSAgICBpbnQgd2lkdGggPSBzY2FsZUZhY3RvciAq
IENPTlRST0xCVVRUT05fV0lEVEg7Ci0KLSAgICBNb3ZlV2luZG93KGhCYWNrQnV0dG9uV25kLCAw
LCAwLCB3aWR0aCwgaGVpZ2h0LCBUUlVFKTsKLSAgICBNb3ZlV2luZG93KGhGb3J3YXJkQnV0dG9u
V25kLCB3aWR0aCwgMCwgd2lkdGgsIGhlaWdodCwgVFJVRSk7Ci0gICAgTW92ZVdpbmRvdyhoVVJM
QmFyV25kLCB3aWR0aCAqIDIsIDAsIHJjQ2xpZW50LnJpZ2h0LCBoZWlnaHQsIFRSVUUpOwotICAg
IE1vdmVXaW5kb3coZ1ZpZXdXaW5kb3csIDAsIGhlaWdodCwgcmNDbGllbnQucmlnaHQsIHJjQ2xp
ZW50LmJvdHRvbSAtIGhlaWdodCwgVFJVRSk7Ci0KLSAgICA6OlNlbmRNZXNzYWdlKGhVUkxCYXJX
bmQsIHN0YXRpY19jYXN0PFVJTlQ+KFdNX1NFVEZPTlQpLCByZWludGVycHJldF9jYXN0PFdQQVJB
TT4oZ1dpbkxhdW5jaGVyLT51cmxCYXJGb250KCkpLCBUUlVFKTsKLX0KLQotc3RhdGljIHZvaWQg
c3ViY2xhc3NGb3JMYXllcmVkV2luZG93KCkKLXsKLSAgICBoTWFpblduZCA9IGdWaWV3V2luZG93
OwotI2lmIGRlZmluZWQgX01fQU1ENjQgfHwgZGVmaW5lZCBfV0lONjQKLSAgICBEZWZXZWJLaXRQ
cm9jID0gcmVpbnRlcnByZXRfY2FzdDxXTkRQUk9DPig6OkdldFdpbmRvd0xvbmdQdHIoaE1haW5X
bmQsIEdXTFBfV05EUFJPQykpOwotICAgIDo6U2V0V2luZG93TG9uZ1B0cihoTWFpblduZCwgR1dM
UF9XTkRQUk9DLCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihXbmRQcm9jKSk7Ci0jZWxzZQot
ICAgIERlZldlYktpdFByb2MgPSByZWludGVycHJldF9jYXN0PFdORFBST0M+KDo6R2V0V2luZG93
TG9uZyhoTWFpblduZCwgR1dMX1dORFBST0MpKTsKLSAgICA6OlNldFdpbmRvd0xvbmcoaE1haW5X
bmQsIEdXTF9XTkRQUk9DLCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihXbmRQcm9jKSk7Ci0j
ZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgY29tcHV0ZUZ1bGxEZXNrdG9wRnJhbWUoKQotewotICAg
IFJFQ1QgZGVza3RvcDsKLSAgICBpZiAoITo6U3lzdGVtUGFyYW1ldGVyc0luZm8oU1BJX0dFVFdP
UktBUkVBLCAwLCBzdGF0aWNfY2FzdDx2b2lkKj4oJmRlc2t0b3ApLCAwKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3Rv
ckZvcldpbmRvdyhudWxscHRyKTsKLQotICAgIHNfd2luZG93UG9zaXRpb24ueCA9IDA7Ci0gICAg
c193aW5kb3dQb3NpdGlvbi55ID0gMDsKLSAgICBzX3dpbmRvd1NpemUuY3ggPSBzY2FsZUZhY3Rv
ciAqIChkZXNrdG9wLnJpZ2h0IC0gZGVza3RvcC5sZWZ0KTsKLSAgICBzX3dpbmRvd1NpemUuY3kg
PSBzY2FsZUZhY3RvciAqIChkZXNrdG9wLmJvdHRvbSAtIGRlc2t0b3AudG9wKTsKLX0KLQotQk9P
TCBXSU5BUEkgRGxsTWFpbihISU5TVEFOQ0UgZGxsSW5zdGFuY2UsIERXT1JEIHJlYXNvbiwgTFBW
T0lEKQotewotICAgIGlmIChyZWFzb24gPT0gRExMX1BST0NFU1NfQVRUQUNIKSB7Ci0jaWYgZGVm
aW5lZChfTV9YNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSAgICAgICAgLy8gVGhlIFZTMjAx
MyBydW50aW1lIGhhcyBhIGJ1ZyB3aGVyZSBpdCBtaXMtZGV0ZWN0cyBBVlgtY2FwYWJsZSBwcm9j
ZXNzb3JzCi0gICAgICAgIC8vIGlmIHRoZSBmZWF0dXJlIGhhcyBiZWVuIGRpc2FibGVkIGluIGZp
cm13YXJlLiBUaGlzIGNhdXNlcyB1cyB0byBjcmFzaAotICAgICAgICAvLyBpbiBzb21lIG9mIHRo
ZSBtYXRoIGZ1bmN0aW9ucy4gRm9yIG5vdywgd2UgZGlzYWJsZSB0aG9zZSBvcHRpbWl6YXRpb25z
Ci0gICAgICAgIC8vIGJlY2F1c2UgTWljcm9zb2Z0IGlzIG5vdCBnb2luZyB0byBmaXggdGhlIHBy
b2JsZW0gaW4gVlMyMDEzLgotICAgICAgICAvLyBGSVhNRTogaHR0cDovL3dlYmtpdC5vcmcvYi8x
NDE0NDk6IFJlbW92ZSB0aGlzIHdvcmthcm91bmQgd2hlbiB3ZSBzd2l0Y2ggdG8gVlMyMDE1Ky4K
LSAgICAgICAgX3NldF9GTUEzX2VuYWJsZSgwKTsKLSNlbmRpZgotICAgICAgICBoSW5zdCA9IGRs
bEluc3RhbmNlOwotICAgIH0KLQotICAgIHJldHVybiBUUlVFOwotfQotCi1zdGF0aWMgYm9vbCBn
ZXRBcHBEYXRhRm9sZGVyKF9ic3RyX3QmIGRpcmVjdG9yeSkKLXsKLSAgICB3Y2hhcl90IGFwcERh
dGFEaXJlY3RvcnlbTUFYX1BBVEhdOwotICAgIGlmIChGQUlMRUQoU0hHZXRGb2xkZXJQYXRoVygw
LCBDU0lETF9MT0NBTF9BUFBEQVRBIHwgQ1NJRExfRkxBR19DUkVBVEUsIDAsIDAsIGFwcERhdGFE
aXJlY3RvcnkpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgd2NoYXJfdCBleGVjdXRh
YmxlUGF0aFtNQVhfUEFUSF07Ci0gICAgaWYgKCE6OkdldE1vZHVsZUZpbGVOYW1lVygwLCBleGVj
dXRhYmxlUGF0aCwgTUFYX1BBVEgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICA6OlBh
dGhSZW1vdmVFeHRlbnNpb25XKGV4ZWN1dGFibGVQYXRoKTsKLQotICAgIGRpcmVjdG9yeSA9IF9i
c3RyX3QoYXBwRGF0YURpcmVjdG9yeSkgKyBMIlxcIiArIDo6UGF0aEZpbmRGaWxlTmFtZVcoZXhl
Y3V0YWJsZVBhdGgpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBib29sIHNldENh
Y2hlRm9sZGVyKCkKLXsKLSAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUgPSBnV2luTGF1bmNoZXIt
PndlYkNhY2hlKCk7Ci0gICAgaWYgKCF3ZWJDYWNoZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgX2JzdHJfdCBhcHBEYXRhRm9sZGVyOwotICAgIGlmICghZ2V0QXBwRGF0YUZvbGRlcihh
cHBEYXRhRm9sZGVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXBwRGF0YUZvbGRl
ciArPSBMIlxcY2FjaGUiOwotICAgIHdlYkNhY2hlLT5zZXRDYWNoZUZvbGRlcihhcHBEYXRhRm9s
ZGVyKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIGNyZWF0ZUNyYXNoUmVwb3J0KEVY
Q0VQVElPTl9QT0lOVEVSUyogZXhjZXB0aW9uUG9pbnRlcnMpCi17Ci0gICAgX2JzdHJfdCBkaXJl
Y3Rvcnk7Ci0KLSAgICBpZiAoIWdldEFwcERhdGFGb2xkZXIoZGlyZWN0b3J5KSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaWYgKDo6U0hDcmVhdGVEaXJlY3RvcnlFeCgwLCBkaXJlY3RvcnksIDAp
ICE9IEVSUk9SX1NVQ0NFU1MKLSAgICAgICAgJiYgOjpHZXRMYXN0RXJyb3IoKSAhPSBFUlJPUl9G
SUxFX0VYSVNUUwotICAgICAgICAmJiA6OkdldExhc3RFcnJvcigpICE9IEVSUk9SX0FMUkVBRFlf
RVhJU1RTKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdGQ6OndzdHJpbmcgZmlsZU5hbWUgPSBz
dGQ6OndzdHJpbmcoc3RhdGljX2Nhc3Q8Y29uc3Qgd2NoYXJfdCo+KGRpcmVjdG9yeSkpICsgTCJc
XENyYXNoUmVwb3J0LmRtcCI7Ci0gICAgSEFORExFIG1pbmlEdW1wRmlsZSA9IDo6Q3JlYXRlRmls
ZShmaWxlTmFtZS5jX3N0cigpLCBHRU5FUklDX1dSSVRFLCAwLCAwLCBDUkVBVEVfQUxXQVlTLCBG
SUxFX0FUVFJJQlVURV9OT1JNQUwsIDApOwotCi0gICAgaWYgKG1pbmlEdW1wRmlsZSAmJiBtaW5p
RHVtcEZpbGUgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLQotICAgICAgICBNSU5JRFVNUF9F
WENFUFRJT05fSU5GT1JNQVRJT04gbWRlaTsKLSAgICAgICAgbWRlaS5UaHJlYWRJZCA9IDo6R2V0
Q3VycmVudFRocmVhZElkKCk7Ci0gICAgICAgIG1kZWkuRXhjZXB0aW9uUG9pbnRlcnMgID0gZXhj
ZXB0aW9uUG9pbnRlcnM7Ci0gICAgICAgIG1kZWkuQ2xpZW50UG9pbnRlcnMgPSAwOwotCi0jaWZk
ZWYgX0RFQlVHCi0gICAgICAgIE1JTklEVU1QX1RZUEUgZHVtcFR5cGUgPSBNaW5pRHVtcFdpdGhG
dWxsTWVtb3J5OwotI2Vsc2UKLSAgICAgICAgTUlOSURVTVBfVFlQRSBkdW1wVHlwZSA9IE1pbmlE
dW1wTm9ybWFsOwotI2VuZGlmCi0KLSAgICAgICAgOjpNaW5pRHVtcFdyaXRlRHVtcCg6OkdldEN1
cnJlbnRQcm9jZXNzKCksIDo6R2V0Q3VycmVudFByb2Nlc3NJZCgpLCBtaW5pRHVtcEZpbGUsIGR1
bXBUeXBlLCAmbWRlaSwgMCwgMCk7Ci0gICAgICAgIDo6Q2xvc2VIYW5kbGUobWluaUR1bXBGaWxl
KTsKLSAgICAgICAgcHJvY2Vzc0NyYXNoUmVwb3J0KGZpbGVOYW1lLmNfc3RyKCkpOwotICAgIH0K
LX0KLQotc3RhdGljIEJPT0wgQ0FMTEJBQ0sgQWJvcnRQcm9jKEhEQyBoREMsIGludCBFcnJvcikK
LXsKLSAgICBNU0cgbXNnOwotICAgIHdoaWxlICg6OlBlZWtNZXNzYWdlKCZtc2csIDAsIDAsIDAs
IFBNX1JFTU9WRSkpIHsKLSAgICAgICAgOjpUcmFuc2xhdGVNZXNzYWdlKCZtc2cpOwotICAgICAg
ICA6OkRpc3BhdGNoTWVzc2FnZSgmbXNnKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gVFJVRTsKLX0K
LQotc3RhdGljIEhEQyBnZXRQcmludGVyREMoKQotewotICAgIFBSSU5URExHIHBkbGc7Ci0gICAg
bWVtc2V0KCZwZGxnLCAwLCBzaXplb2YoUFJJTlRETEcpKTsKLSAgICBwZGxnLmxTdHJ1Y3RTaXpl
ID0gc2l6ZW9mKFBSSU5URExHKTsKLSAgICBwZGxnLkZsYWdzID0gUERfUFJJTlRTRVRVUCB8IFBE
X1JFVFVSTkRDOwotCi0gICAgOjpQcmludERsZygmcGRsZyk7Ci0KLSAgICByZXR1cm4gcGRsZy5o
REM7Ci19Ci0KLXN0YXRpYyB2b2lkIGluaXREb2NTdHJ1Y3QoRE9DSU5GTyogZGksIFRDSEFSKiBk
b2NuYW1lKQotewotICAgIG1lbXNldChkaSwgMCwgc2l6ZW9mKERPQ0lORk8pKTsKLSAgICBkaS0+
Y2JTaXplID0gc2l6ZW9mKERPQ0lORk8pOwotICAgIGRpLT5scHN6RG9jTmFtZSA9IGRvY25hbWU7
Ci19Ci0KLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lUHJpdmF0ZSwgJl9f
dXVpZG9mKElXZWJGcmFtZVByaXZhdGUpPj4gSVdlYkZyYW1lUHJpdmF0ZVB0cjsKLQotdm9pZCBQ
cmludFZpZXcoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBs
UGFyYW0pCi17Ci0gICAgSERDIHByaW50REMgPSBnZXRQcmludGVyREMoKTsKLSAgICBpZiAoIXBy
aW50REMpIHsKLSAgICAgICAgOjpNZXNzYWdlQm94VygwLCBMIkVycm9yIGNyZWF0aW5nIHByaW50
aW5nIERDIiwgTCJFcnJvciIsIE1CX0FQUExNT0RBTCB8IE1CX09LKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmICg6OlNldEFib3J0UHJvYyhwcmludERDLCBBYm9ydFByb2MpID09
IFNQX0VSUk9SKSB7Ci0gICAgICAgIDo6TWVzc2FnZUJveFcoMCwgTCJFcnJvciBzZXR0aW5nIHVw
IEFib3J0UHJvYyIsIEwiRXJyb3IiLCBNQl9BUFBMTU9EQUwgfCBNQl9PSyk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBJV2ViRnJhbWVQdHIgZnJhbWUgPSBnV2luTGF1bmNoZXItPm1h
aW5GcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLQotICAgIElXZWJG
cmFtZVByaXZhdGVQdHIgZnJhbWVQcml2YXRlOwotICAgIGlmIChGQUlMRUQoZnJhbWUtPlF1ZXJ5
SW50ZXJmYWNlKCZmcmFtZVByaXZhdGUuR2V0SW50ZXJmYWNlUHRyKCkpKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgZnJhbWVQcml2YXRlLT5zZXRJblByaW50aW5nTW9kZShUUlVFLCBwcmludERD
KTsKLQotICAgIFVJTlQgcGFnZUNvdW50ID0gMDsKLSAgICBmcmFtZVByaXZhdGUtPmdldFByaW50
ZWRQYWdlQ291bnQocHJpbnREQywgJnBhZ2VDb3VudCk7Ci0KLSAgICBET0NJTkZPIGRpOwotICAg
IGluaXREb2NTdHJ1Y3QoJmRpLCBMIldlYktpdCBEb2MiKTsKLSAgICA6OlN0YXJ0RG9jKHByaW50
REMsICZkaSk7Ci0KLSAgICAvLyBGSVhNRTogTmVlZCBDb3JlR3JhcGhpY3MgaW1wbGVtZW50YXRp
b24KLSAgICB2b2lkKiBncmFwaGljc0NvbnRleHQgPSAwOwotICAgIGZvciAoc2l6ZV90IHBhZ2Ug
PSAxOyBwYWdlIDw9IHBhZ2VDb3VudDsgKytwYWdlKSB7Ci0gICAgICAgIDo6U3RhcnRQYWdlKHBy
aW50REMpOwotICAgICAgICBmcmFtZVByaXZhdGUtPnNwb29sUGFnZXMocHJpbnREQywgcGFnZSwg
cGFnZSwgZ3JhcGhpY3NDb250ZXh0KTsKLSAgICAgICAgOjpFbmRQYWdlKHByaW50REMpOwotICAg
IH0KLQotICAgIGZyYW1lUHJpdmF0ZS0+c2V0SW5QcmludGluZ01vZGUoRkFMU0UsIHByaW50REMp
OwotCi0gICAgOjpFbmREb2MocHJpbnREQyk7Ci0gICAgOjpEZWxldGVEQyhwcmludERDKTsKLX0K
LQotc3RhdGljIHZvaWQgVG9nZ2xlTWVudUZsYWcoSFdORCBoV25kLCBVSU5UIG1lbnVJRCkKLXsK
LSAgICBITUVOVSBtZW51ID0gOjpHZXRNZW51KGhXbmQpOwotCi0gICAgTUVOVUlURU1JTkZPIGlu
Zm87Ci0gICAgOjptZW1zZXQoJmluZm8sIDB4MDAsIHNpemVvZihpbmZvKSk7Ci0gICAgaW5mby5j
YlNpemUgPSBzaXplb2YoaW5mbyk7Ci0gICAgaW5mby5mTWFzayA9IE1JSU1fU1RBVEU7Ci0KLSAg
ICBpZiAoITo6R2V0TWVudUl0ZW1JbmZvKG1lbnUsIG1lbnVJRCwgRkFMU0UsICZpbmZvKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgQk9PTCBuZXdTdGF0ZSA9ICEoaW5mby5mU3RhdGUgJiBNRlNf
Q0hFQ0tFRCk7Ci0gICAgaW5mby5mU3RhdGUgPSAobmV3U3RhdGUpID8gTUZTX0NIRUNLRUQgOiBN
RlNfVU5DSEVDS0VEOwotCi0gICAgOjpTZXRNZW51SXRlbUluZm8obWVudSwgbWVudUlELCBGQUxT
RSwgJmluZm8pOwotfQotCi1zdGF0aWMgYm9vbCBtZW51SXRlbUlzQ2hlY2tlZChjb25zdCBNRU5V
SVRFTUlORk8mIGluZm8pCi17Ci0gICAgcmV0dXJuIGluZm8uZlN0YXRlICYgTUZTX0NIRUNLRUQ7
Ci19Ci0KLXN0YXRpYyB2b2lkIHR1cm5PZmZPdGhlclVzZXJBZ2VudHMoSE1FTlUgbWVudSkKLXsK
LSAgICBNRU5VSVRFTUlORk8gaW5mbzsKLSAgICA6Om1lbXNldCgmaW5mbywgMHgwMCwgc2l6ZW9m
KGluZm8pKTsKLSAgICBpbmZvLmNiU2l6ZSA9IHNpemVvZihpbmZvKTsKLSAgICBpbmZvLmZNYXNr
ID0gTUlJTV9TVEFURTsKLQotICAgIC8vIE11c3QgdW5zZXQgdGhlIG90aGVyIG1lbnUgaXRlbXM6
Ci0gICAgZm9yIChVSU5UIG1lbnVUb0NsZWFyID0gSURNX1VBX0RFRkFVTFQ7IG1lbnVUb0NsZWFy
IDw9IElETV9VQV9PVEhFUjsgKyttZW51VG9DbGVhcikgewotICAgICAgICBpZiAoITo6R2V0TWVu
dUl0ZW1JbmZvKG1lbnUsIG1lbnVUb0NsZWFyLCBGQUxTRSwgJmluZm8pKQotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIGlmICghbWVudUl0ZW1Jc0NoZWNrZWQoaW5mbykpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICBpbmZvLmZTdGF0ZSA9IE1GU19VTkNIRUNLRUQ7Ci0g
ICAgICAgIDo6U2V0TWVudUl0ZW1JbmZvKG1lbnUsIG1lbnVUb0NsZWFyLCBGQUxTRSwgJmluZm8p
OwotICAgIH0KLX0KLQotc3RhdGljIGJvb2wgVG9nZ2xlTWVudUl0ZW0oSFdORCBoV25kLCBVSU5U
IG1lbnVJRCkKLXsKLSAgICBpZiAoIWdXaW5MYXVuY2hlcikKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgSE1FTlUgbWVudSA9IDo6R2V0TWVudShoV25kKTsKLQotICAgIE1FTlVJVEVNSU5G
TyBpbmZvOwotICAgIDo6bWVtc2V0KCZpbmZvLCAweDAwLCBzaXplb2YoaW5mbykpOwotICAgIGlu
Zm8uY2JTaXplID0gc2l6ZW9mKGluZm8pOwotICAgIGluZm8uZk1hc2sgPSBNSUlNX1NUQVRFOwot
Ci0gICAgaWYgKCE6OkdldE1lbnVJdGVtSW5mbyhtZW51LCBtZW51SUQsIEZBTFNFLCAmaW5mbykp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEJPT0wgbmV3U3RhdGUgPSAhbWVudUl0ZW1J
c0NoZWNrZWQoaW5mbyk7Ci0KLSAgICBpZiAoIWdXaW5MYXVuY2hlci0+c3RhbmRhcmRQcmVmZXJl
bmNlcygpIHx8ICFnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBzd2l0Y2ggKG1lbnVJRCkgewotICAgIGNhc2UgSURNX0FWRk9V
TkRBVElPTjoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5zdGFuZGFyZFByZWZlcmVuY2VzKCktPnNl
dEFWRm91bmRhdGlvbkVuYWJsZWQobmV3U3RhdGUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IElETV9BQ0NfQ09NUE9TSVRJTkc6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZl
cmVuY2VzKCktPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKG5ld1N0YXRlKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fV0tfRlVMTFNDUkVFTjoKLSAgICAgICAgZ1dpbkxh
dW5jaGVyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0RnVsbFNjcmVlbkVuYWJsZWQobmV3U3Rh
dGUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElETV9DT01QT1NJVElOR19CT1JERVJTOgot
ICAgICAgICBnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRTaG93RGVidWdC
b3JkZXJzKG5ld1N0YXRlKTsKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5wcml2YXRlUHJlZmVyZW5j
ZXMoKS0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKG5ld1N0YXRlKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBJRE1fSU5WRVJUX0NPTE9SUzoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5wcml2YXRl
UHJlZmVyZW5jZXMoKS0+c2V0U2hvdWxkSW52ZXJ0Q29sb3JzKG5ld1N0YXRlKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBJRE1fRElTQUJMRV9JTUFHRVM6Ci0gICAgICAgIGdXaW5MYXVuY2hl
ci0+c3RhbmRhcmRQcmVmZXJlbmNlcygpLT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoIW5l
d1N0YXRlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fRElTQUJMRV9TVFlMRVM6Ci0g
ICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNldEF1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkKCFuZXdTdGF0ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURN
X0RJU0FCTEVfSkFWQVNDUklQVDoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5zdGFuZGFyZFByZWZl
cmVuY2VzKCktPnNldEphdmFTY3JpcHRFbmFibGVkKCFuZXdTdGF0ZSk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgSURNX0RJU0FCTEVfTE9DQUxfRklMRV9SRVNUUklDVElPTlM6Ci0gICAgICAg
IGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNldEFsbG93VW5pdmVyc2FsQWNj
ZXNzRnJvbUZpbGVVUkxzKG5ld1N0YXRlKTsKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5wcml2YXRl
UHJlZmVyZW5jZXMoKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKG5ld1N0YXRlKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfREVGQVVMVDoKLSAgICBjYXNlIElETV9V
QV9TQUZBUklfOF8wOgotICAgIGNhc2UgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEhPTkU6Ci0gICAg
Y2FzZSBJRE1fVUFfU0FGQVJJX0lPU184X0lQQUQ6Ci0gICAgY2FzZSBJRE1fVUFfSUVfMTE6Ci0g
ICAgY2FzZSBJRE1fVUFfQ0hST01FX01BQzoKLSAgICBjYXNlIElETV9VQV9DSFJPTUVfV0lOOgot
ICAgIGNhc2UgSURNX1VBX0ZJUkVGT1hfTUFDOgotICAgIGNhc2UgSURNX1VBX0ZJUkVGT1hfV0lO
OgotICAgICAgICBnV2luTGF1bmNoZXItPnNldFVzZXJBZ2VudChtZW51SUQpOwotICAgICAgICB0
dXJuT2ZmT3RoZXJVc2VyQWdlbnRzKG1lbnUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElE
TV9VQV9PVEhFUjoKLSAgICAgICAgLy8gVGhlIGFjdHVhbCB1c2VyIGFnZW50IHN0cmluZyB3aWxs
IGJlIHNldCBieSB0aGUgY3VzdG9tIHVzZXIgYWdlbnQgZGlhbG9nCi0gICAgICAgIHR1cm5PZmZP
dGhlclVzZXJBZ2VudHMobWVudSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBpbmZvLmZTdGF0ZSA9IChuZXdTdGF0ZSkg
PyBNRlNfQ0hFQ0tFRCA6IE1GU19VTkNIRUNLRUQ7Ci0KLSAgICA6OlNldE1lbnVJdGVtSW5mbyht
ZW51LCBtZW51SUQsIEZBTFNFLCAmaW5mbyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3Rh
dGljIGNvbnN0IGludCBkcmFnQmFySGVpZ2h0ID0gMzA7Ci0KLUxSRVNVTFQgQ0FMTEJBQ0sgV25k
UHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJh
bSkKLXsKLSAgICBXTkRQUk9DIHBhcmVudFByb2MgPSAoZ1dpbkxhdW5jaGVyKSA/IChnV2luTGF1
bmNoZXItPnVzZXNMYXllcmVkV2ViVmlldygpID8gRGVmV2ViS2l0UHJvYyA6IERlZldpbmRvd1By
b2MpIDogRGVmV2luZG93UHJvYzsKLQotICAgIHN3aXRjaCAobWVzc2FnZSkgewotICAgIGNhc2Ug
V01fTkNISVRURVNUOgotICAgICAgICBpZiAoZ1dpbkxhdW5jaGVyICYmIGdXaW5MYXVuY2hlci0+
dXNlc0xheWVyZWRXZWJWaWV3KCkpIHsKLSAgICAgICAgICAgIFJFQ1Qgd2luZG93OwotICAgICAg
ICAgICAgOjpHZXRXaW5kb3dSZWN0KGhXbmQsICZ3aW5kb3cpOwotICAgICAgICAgICAgLy8gRm9y
IHRlc3Rpbmcgb3VyIHRyYW5zcGFyZW50IHdpbmRvdywgd2UgbmVlZCBhIHJlZ2lvbiB0byB1c2Ug
YXMgYSBoYW5kbGUgZm9yCi0gICAgICAgICAgICAvLyBkcmFnZ2luZy4gVGhlIHJpZ2h0IHdheSB0
byBkbyB0aGlzIHdvdWxkIGJlIHRvIHF1ZXJ5IHRoZSB3ZWIgdmlldyB0byBzZWUgd2hhdCdzCi0g
ICAgICAgICAgICAvLyB1bmRlciB0aGUgbW91c2UuIEhvd2V2ZXIsIGZvciB0ZXN0aW5nIHB1cnBv
c2VzIHdlIGp1c3QgdXNlIGFuIGFyYml0cmFyeQotICAgICAgICAgICAgLy8gMzAgbG9naWNhbCBw
aXhlbCBiYW5kIGF0IHRoZSB0b3Agb2YgdGhlIHZpZXcgYXMgYW4gYXJiaXRyYXJ5IGdyaXBwaW5n
IGxvY2F0aW9uLgotICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIHdp
dGhpbiB0aGlzIGJhZCwgcmV0dXJuIEhUX0NBUFRJT04gdG8gdGVsbCBXaW5kb3dzIHdlIHdhbnQg
dG8KLSAgICAgICAgICAgIC8vIHRyZWF0IHRoaXMgcmVnaW9uIGFzIGlmIGl0IHdlcmUgdGhlIHRp
dGxlIGJhciBvbiBhIG5vcm1hbCB3aW5kb3cuCi0gICAgICAgICAgICBpbnQgeSA9IEhJV09SRChs
UGFyYW0pOwotICAgICAgICAgICAgZmxvYXQgc2NhbGVkRHJhZ0JhckhlaWdodEZhY3RvciA9IGRy
YWdCYXJIZWlnaHQgKiBnV2luTGF1bmNoZXItPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgICAg
ICAgICBpZiAoKHkgPiB3aW5kb3cudG9wKSAmJiAoeSA8IHdpbmRvdy50b3AgKyBzY2FsZWREcmFn
QmFySGVpZ2h0RmFjdG9yKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gSFRDQVBUSU9OOwotICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiBDYWxsV2luZG93UHJvYyhwYXJlbnRQcm9jLCBoV25kLCBt
ZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSk7Ci0gICAgY2FzZSBXTV9DT01NQU5EOiB7Ci0gICAgICAg
IGludCB3bUlkID0gTE9XT1JEKHdQYXJhbSk7Ci0gICAgICAgIGludCB3bUV2ZW50ID0gSElXT1JE
KHdQYXJhbSk7Ci0gICAgICAgIGlmICh3bUlkID49IElETV9ISVNUT1JZX0xJTkswICYmIHdtSWQg
PD0gSURNX0hJU1RPUllfTElOSzkpIHsKLSAgICAgICAgICAgIGlmIChnV2luTGF1bmNoZXIpCi0g
ICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5uYXZpZ2F0ZVRvSGlzdG9yeShoV25kLCB3bUlk
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIC8vIFBhcnNlIHRoZSBt
ZW51IHNlbGVjdGlvbnM6Ci0gICAgICAgIHN3aXRjaCAod21JZCkgewotICAgICAgICBjYXNlIElE
TV9BQk9VVDoKLSAgICAgICAgICAgIERpYWxvZ0JveChoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElE
RF9BQk9VVEJPWCksIGhXbmQsIEFib3V0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIElETV9FWElUOgotICAgICAgICAgICAgRGVzdHJveVdpbmRvdyhoV25kKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIElETV9QUklOVDoKLSAgICAgICAgICAgIFByaW50Vmll
dyhoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBJRE1fV0VCX0lOU1BFQ1RPUjoKLSAgICAgICAgICAgIGlmIChnV2luTGF1bmNo
ZXIpCi0gICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5sYXVuY2hJbnNwZWN0b3IoKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIElETV9DQUNIRVM6Ci0gICAgICAgICAgICBp
ZiAoITo6SXNXaW5kb3coaENhY2hlV25kKSkgewotICAgICAgICAgICAgICAgIGhDYWNoZVduZCA9
IENyZWF0ZURpYWxvZyhoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElERF9DQUNIRVMpLCBoV25kLCBD
YWNoZXMpOwotICAgICAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhoQ2FjaGVXbmQsIFNXX1NIT1cp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSURNX0hJ
U1RPUllfQkFDS1dBUkQ6Ci0gICAgICAgIGNhc2UgSURNX0hJU1RPUllfRk9SV0FSRDoKLSAgICAg
ICAgICAgIGlmIChnV2luTGF1bmNoZXIpCi0gICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5u
YXZpZ2F0ZUZvcndhcmRPckJhY2t3YXJkKGhXbmQsIHdtSWQpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgSURNX1VBX09USEVSOgotICAgICAgICAgICAgaWYgKHdtRXZlbnQpCi0g
ICAgICAgICAgICAgICAgVG9nZ2xlTWVudUl0ZW0oaFduZCwgd21JZCk7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgRGlhbG9nQm94KGhJbnN0LCBNQUtFSU5UUkVTT1VSQ0UoSURE
X1VTRVJfQUdFTlQpLCBoV25kLCBDdXN0b21Vc2VyQWdlbnQpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgSURNX0FDVFVBTF9TSVpFOgotICAgICAgICAgICAgaWYgKGdXaW5MYXVu
Y2hlcikKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnJlc2V0Wm9vbSgpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSURNX1pPT01fSU46Ci0gICAgICAgICAgICBpZiAo
Z1dpbkxhdW5jaGVyKQotICAgICAgICAgICAgICAgIGdXaW5MYXVuY2hlci0+em9vbUluKCk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBJRE1fWk9PTV9PVVQ6Ci0gICAgICAgICAg
ICBpZiAoZ1dpbkxhdW5jaGVyKQotICAgICAgICAgICAgICAgIGdXaW5MYXVuY2hlci0+em9vbU91
dCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBp
ZiAoIVRvZ2dsZU1lbnVJdGVtKGhXbmQsIHdtSWQpKQotICAgICAgICAgICAgICAgIHJldHVybiBD
YWxsV2luZG93UHJvYyhwYXJlbnRQcm9jLCBoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSk7
Ci0gICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFdNX0RFU1RS
T1k6Ci0jaWYgVVNFKENGKQotICAgICAgICBDRlJ1bkxvb3BTdG9wKENGUnVuTG9vcEdldE1haW4o
KSk7Ci0jZW5kaWYKLSAgICAgICAgUG9zdFF1aXRNZXNzYWdlKDApOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIFdNX1NJWkU6Ci0gICAgICAgIGlmICghZ1dpbkxhdW5jaGVyIHx8ICFnV2luTGF1
bmNoZXItPmhhc1dlYlZpZXcoKSB8fCBnV2luTGF1bmNoZXItPnVzZXNMYXllcmVkV2ViVmlldygp
KQotICAgICAgICAgICAgcmV0dXJuIENhbGxXaW5kb3dQcm9jKHBhcmVudFByb2MsIGhXbmQsIG1l
c3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKLQotICAgICAgICByZXNpemVTdWJWaWV3cygpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFdNX0RQSUNIQU5HRUQ6Ci0gICAgICAgIGlmIChnV2luTGF1
bmNoZXIpCi0gICAgICAgICAgICBnV2luTGF1bmNoZXItPnVwZGF0ZURldmljZVNjYWxlRmFjdG9y
KCk7Ci0gICAgICAgIHJldHVybiBDYWxsV2luZG93UHJvYyhwYXJlbnRQcm9jLCBoV25kLCBtZXNz
YWdlLCB3UGFyYW0sIGxQYXJhbSk7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIENhbGxX
aW5kb3dQcm9jKHBhcmVudFByb2MsIGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotTFJFU1VMVCBDQUxMQkFDSyBFZGl0UHJvYyhIV05E
IGhEbGcsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAg
ICBzd2l0Y2ggKG1lc3NhZ2UpIHsKLSAgICBjYXNlIFdNX0NIQVI6Ci0gICAgICAgIGlmICh3UGFy
YW0gPT0gMTMpIHsgLy8gRW50ZXIgS2V5Ci0gICAgICAgICAgICB3Y2hhcl90IHN0clB0cltJTlRF
Uk5FVF9NQVhfVVJMX0xFTkdUSF07Ci0gICAgICAgICAgICAqKChMUFdPUkQpc3RyUHRyKSA9IElO
VEVSTkVUX01BWF9VUkxfTEVOR1RIOyAKLSAgICAgICAgICAgIGludCBzdHJMZW4gPSBTZW5kTWVz
c2FnZShoRGxnLCBFTV9HRVRMSU5FLCAwLCAoTFBBUkFNKXN0clB0cik7Ci0KLSAgICAgICAgICAg
IHN0clB0cltzdHJMZW5dID0gMDsKLSAgICAgICAgICAgIF9ic3RyX3QgYnN0cihzdHJQdHIpOwot
ICAgICAgICAgICAgbG9hZFVSTChic3RyLkdldEJTVFIoKSk7Ci0KLSAgICAgICAgICAgIHJldHVy
biAwOwotICAgICAgICB9IAotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBDYWxsV2luZG93
UHJvYyhEZWZFZGl0UHJvYywgaERsZywgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwotICAgIH0K
LX0KLQotTFJFU1VMVCBDQUxMQkFDSyBCYWNrQnV0dG9uUHJvYyhIV05EIGhEbGcsIFVJTlQgbWVz
c2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAgICBzd2l0Y2ggKG1lc3Nh
Z2UpIHsKLSAgICBjYXNlIFdNX0xCVVRUT05VUDoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5nb0Jh
Y2soKTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MoRGVmQnV0
dG9uUHJvYywgaERsZywgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwotICAgIH0KLX0KLQotTFJF
U1VMVCBDQUxMQkFDSyBGb3J3YXJkQnV0dG9uUHJvYyhIV05EIGhEbGcsIFVJTlQgbWVzc2FnZSwg
V1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsK
LSAgICBjYXNlIFdNX0xCVVRUT05VUDoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5nb0ZvcndhcmQo
KTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MoRGVmQnV0dG9u
UHJvYywgaERsZywgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwotICAgIH0KLX0KLQotLy8gTWVz
c2FnZSBoYW5kbGVyIGZvciBhYm91dCBib3guCi1JTlRfUFRSIENBTExCQUNLIEFib3V0KEhXTkQg
aERsZywgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQotewotICAg
IFVOUkVGRVJFTkNFRF9QQVJBTUVURVIobFBhcmFtKTsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsK
LSAgICBjYXNlIFdNX0lOSVRESUFMT0c6Ci0gICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOwot
Ci0gICAgY2FzZSBXTV9DT01NQU5EOgotICAgICAgICBpZiAoTE9XT1JEKHdQYXJhbSkgPT0gSURP
SyB8fCBMT1dPUkQod1BhcmFtKSA9PSBJRENBTkNFTCkgewotICAgICAgICAgICAgRW5kRGlhbG9n
KGhEbGcsIExPV09SRCh3UGFyYW0pKTsKLSAgICAgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVF
OwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gKElOVF9QVFIp
RkFMU0U7Ci19Ci0KLUlOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhXTkQgaERsZywgVUlOVCBtZXNz
YWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQotewotICAgIFVOUkVGRVJFTkNFRF9Q
QVJBTUVURVIobFBhcmFtKTsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKLSAgICBjYXNlIFdNX0lO
SVRESUFMT0c6Ci0gICAgICAgIDo6U2V0VGltZXIoaERsZywgSURUX1VQREFURV9TVEFUUywgMTAw
MCwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOwotCi0gICAgY2FzZSBX
TV9DT01NQU5EOgotICAgICAgICBpZiAoTE9XT1JEKHdQYXJhbSkgPT0gSURPSyB8fCBMT1dPUkQo
d1BhcmFtKSA9PSBJRENBTkNFTCkgewotICAgICAgICAgICAgOjpLaWxsVGltZXIoaERsZywgSURU
X1VQREFURV9TVEFUUyk7Ci0gICAgICAgICAgICA6OkRlc3Ryb3lXaW5kb3coaERsZyk7Ci0gICAg
ICAgICAgICBoQ2FjaGVXbmQgPSAwOwotICAgICAgICAgICAgcmV0dXJuIChJTlRfUFRSKVRSVUU7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIElEVF9VUERBVEVfU1RBVFM6
Ci0gICAgICAgIDo6SW52YWxpZGF0ZVJlY3QoaERsZywgbnVsbHB0ciwgRkFMU0UpOwotICAgICAg
ICByZXR1cm4gKElOVF9QVFIpVFJVRTsKLQotICAgIGNhc2UgV01fUEFJTlQ6Ci0gICAgICAgIHVw
ZGF0ZVN0YXRpc3RpY3MoaERsZyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHJldHVy
biAoSU5UX1BUUilGQUxTRTsKLX0KLQotSU5UX1BUUiBDQUxMQkFDSyBDdXN0b21Vc2VyQWdlbnQo
SFdORCBoRGxnLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCi17
Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihsUGFyYW0pOwotICAgIHN3aXRjaCAobWVzc2Fn
ZSkgewotICAgIGNhc2UgV01fSU5JVERJQUxPRzogewotICAgICAgICBIV05EIGVkaXQgPSA6Okdl
dERsZ0l0ZW0oaERsZywgSURDX1VTRVJfQUdFTlRfSU5QVVQpOwotICAgICAgICBfYnN0cl90IHVz
ZXJBZ2VudDsKLSAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKLSAgICAgICAgICAgIHVzZXJBZ2Vu
dCA9IGdXaW5MYXVuY2hlci0+dXNlckFnZW50KCk7Ci0KLSAgICAgICAgOjpTZXRXaW5kb3dUZXh0
KGVkaXQsIHN0YXRpY19jYXN0PExQQ1RTVFI+KHVzZXJBZ2VudCkpOwotICAgICAgICByZXR1cm4g
KElOVF9QVFIpVFJVRTsKLSAgICB9Ci0KLSAgICBjYXNlIFdNX0NPTU1BTkQ6Ci0gICAgICAgIGlm
IChMT1dPUkQod1BhcmFtKSA9PSBJRE9LKSB7Ci0gICAgICAgICAgICBIV05EIGVkaXQgPSA6Okdl
dERsZ0l0ZW0oaERsZywgSURDX1VTRVJfQUdFTlRfSU5QVVQpOwotCi0gICAgICAgICAgICBUQ0hB
UiBidWZmZXJbMTAyNF07Ci0gICAgICAgICAgICBpbnQgc3RyTGVuID0gOjpHZXRXaW5kb3dUZXh0
KGVkaXQsIGJ1ZmZlciwgMTAyNCk7Ci0gICAgICAgICAgICBidWZmZXJbc3RyTGVuXSA9IDA7Ci0K
LSAgICAgICAgICAgIF9ic3RyX3QgYnN0cihidWZmZXIpOwotICAgICAgICAgICAgaWYgKGJzdHIu
bGVuZ3RoKCkpIHsKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnNldFVzZXJBZ2VudChi
c3RyKTsKLSAgICAgICAgICAgICAgICA6OlBvc3RNZXNzYWdlKGhNYWluV25kLCBzdGF0aWNfY2Fz
dDxVSU5UPihXTV9DT01NQU5EKSwgTUFLRUxQQVJBTShJRE1fVUFfT1RIRVIsIDEpLCAwKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGlmIChMT1dPUkQod1BhcmFtKSA9PSBJ
RE9LIHx8IExPV09SRCh3UGFyYW0pID09IElEQ0FOQ0VMKSB7Ci0gICAgICAgICAgICA6OkVuZERp
YWxvZyhoRGxnLCBMT1dPUkQod1BhcmFtKSk7Ci0gICAgICAgICAgICByZXR1cm4gKElOVF9QVFIp
VFJVRTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJuIChJTlRf
UFRSKUZBTFNFOwotfQotCi1zdGF0aWMgdm9pZCBsb2FkVVJMKEJTVFIgcGFzc2VkVVJMKQotewot
ICAgIGlmIChGQUlMRUQoZ1dpbkxhdW5jaGVyLT5sb2FkVVJMKHBhc3NlZFVSTCkpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBTZXRGb2N1cyhnVmlld1dpbmRvdyk7Ci19Ci0KLXN0YXRpYyB2b2lk
IHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIF9ic3RyX3QgdmFsdWUpCi17
Ci0gICAgOjpTZXREbGdJdGVtVGV4dChkaWFsb2csIGZpZWxkLCB2YWx1ZSk7Ci19Ci0KLXN0YXRp
YyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIFVJTlQgdmFsdWUp
Ci17Ci0gICAgU3RyaW5nIHZhbHVlU3RyID0gV1RGOjpTdHJpbmc6Om51bWJlcih2YWx1ZSk7Ci0K
LSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgZmllbGQsIF9ic3RyX3QodmFsdWVTdHIudXRmOCgp
LmRhdGEoKSkpOwotfQotCi10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElQcm9wZXJ0eUJh
ZywgJl9fdXVpZG9mKElQcm9wZXJ0eUJhZyk+PiBJUHJvcGVydHlCYWdQdHI7Ci0KLXN0YXRpYyB2
b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIElQcm9wZXJ0eUJhZ1B0
ciBzdGF0aXN0aWNzLCBjb25zdCBfYnN0cl90JiBrZXkpCi17Ci0gICAgX3ZhcmlhbnRfdCB2YXI7
Ci0gICAgVl9WVCgmdmFyKSA9IFZUX1VJODsKLSAgICBpZiAoRkFJTEVEKHN0YXRpc3RpY3MtPlJl
YWQoa2V5LCAmdmFyLkdldFZBUklBTlQoKSwgbnVsbHB0cikpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUgPSBWX1VJOCgmdmFyKTsKLSAgICBTdHJpbmcg
dmFsdWVTdHIgPSBXVEY6OlN0cmluZzo6bnVtYmVyKHZhbHVlKTsKLQotICAgIHNldFdpbmRvd1Rl
eHQoZGlhbG9nLCBmaWVsZCwgX2JzdHJfdCh2YWx1ZVN0ci51dGY4KCkuZGF0YSgpKSk7Ci19Ci0K
LXN0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIENGRGlj
dGlvbmFyeVJlZiBkaWN0aW9uYXJ5LCBDRlN0cmluZ1JlZiBrZXksIFVJTlQmIHRvdGFsKQotewot
ICAgIENGTnVtYmVyUmVmIGNvdW50TnVtID0gc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJSZWY+KENGRGlj
dGlvbmFyeUdldFZhbHVlKGRpY3Rpb25hcnksIGtleSkpOwotICAgIGlmICghY291bnROdW0pCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGludCBjb3VudCA9IDA7Ci0gICAgQ0ZOdW1iZXJHZXRWYWx1
ZShjb3VudE51bSwga0NGTnVtYmVySW50VHlwZSwgJmNvdW50KTsKLQotICAgIHNldFdpbmRvd1Rl
eHQoZGlhbG9nLCBmaWVsZCwgc3RhdGljX2Nhc3Q8VUlOVD4oY291bnQpKTsKLSAgICB0b3RhbCAr
PSBjb3VudDsKLX0KLQotc3RhdGljIHZvaWQgdXBkYXRlU3RhdGlzdGljcyhIV05EIGRpYWxvZykK
LXsKLSAgICBpZiAoIWdXaW5MYXVuY2hlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgSVdlYkNv
cmVTdGF0aXN0aWNzUHRyIHdlYkNvcmVTdGF0aXN0aWNzID0gZ1dpbkxhdW5jaGVyLT5zdGF0aXN0
aWNzKCk7Ci0gICAgaWYgKCF3ZWJDb3JlU3RhdGlzdGljcykKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgSVByb3BlcnR5QmFnUHRyIHN0YXRpc3RpY3M7Ci0gICAgSFJFU1VMVCBociA9IHdlYkNvcmVT
dGF0aXN0aWNzLT5tZW1vcnlTdGF0aXN0aWNzKCZzdGF0aXN0aWNzLkdldEludGVyZmFjZVB0cigp
KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gRmFzdE1h
bGxvYy4KLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1JFU0VSVkVEX1ZNLCBzdGF0aXN0
aWNzLCAiRmFzdE1hbGxvY1Jlc2VydmVkVk1CeXRlcyIpOwotICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfQ09NTUlUVEVEX1ZNLCBzdGF0aXN0aWNzLCAiRmFzdE1hbGxvY0NvbW1pdHRlZFZN
Qnl0ZXMiKTsKLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0ZSRUVfTElTVF9CWVRFUywg
c3RhdGlzdGljcywgIkZhc3RNYWxsb2NGcmVlTGlzdEJ5dGVzIik7Ci0KLSAgICAvLyBXZWJDb3Jl
IENhY2hlLgotI2lmIFVTRShDRikKLSAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUgPSBnV2luTGF1
bmNoZXItPndlYkNhY2hlKCk7Ci0KLSAgICBpbnQgZGljdENvdW50ID0gNjsKLSAgICBJUHJvcGVy
dHlCYWcqIGNhY2hlRGljdFs2XSA9IHsgMCB9OwotICAgIGlmIChGQUlMRUQod2ViQ2FjaGUtPnN0
YXRpc3RpY3MoJmRpY3RDb3VudCwgY2FjaGVEaWN0KSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENPTVB0cjxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4gY291bnRzLCBzaXplcywgbGl2ZVNpemVz
LCBkZWNvZGVkU2l6ZXMsIHB1cmdhYmxlU2l6ZXM7Ci0gICAgY291bnRzLmFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbMF0pKTsKLSAg
ICBzaXplcy5hZG9wdFJlZihyZWludGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFn
Kj4oY2FjaGVEaWN0WzFdKSk7Ci0gICAgbGl2ZVNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nh
c3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbMl0pKTsKLSAgICBkZWNvZGVk
U2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+
KGNhY2hlRGljdFszXSkpOwotICAgIHB1cmdhYmxlU2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRf
Y2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+KGNhY2hlRGljdFs0XSkpOwotCi0gICAgc3Rh
dGljIENGU3RyaW5nUmVmIGltYWdlc0tleSA9IENGU1RSKCJpbWFnZXMiKTsKLSAgICBzdGF0aWMg
Q0ZTdHJpbmdSZWYgc3R5bGVzaGVldHNLZXkgPSBDRlNUUigic3R5bGUgc2hlZXRzIik7Ci0gICAg
c3RhdGljIENGU3RyaW5nUmVmIHhzbEtleSA9IENGU1RSKCJ4c2wiKTsKLSAgICBzdGF0aWMgQ0ZT
dHJpbmdSZWYgc2NyaXB0c0tleSA9IENGU1RSKCJzY3JpcHRzIik7Ci0KLSAgICBpZiAoY291bnRz
KSB7Ci0gICAgICAgIFVJTlQgdG90YWxPYmplY3RzID0gMDsKLSAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19JTUFHRVNfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwg
aW1hZ2VzS2V5LCB0b3RhbE9iamVjdHMpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
SURDX0NTU19PQkpFQ1RfQ09VTlQsIGNvdW50cy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tl
eSwgdG90YWxPYmplY3RzKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xf
T0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbE9iamVjdHMp
OwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pTQ19PQkpFQ1RfQ09VTlQsIGNv
dW50cy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbE9iamVjdHMpOwotICAgICAgICBz
ZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX09CSkVDVF9DT1VOVCwgdG90YWxPYmplY3Rz
KTsKLSAgICB9Ci0KLSAgICBpZiAoc2l6ZXMpIHsKLSAgICAgICAgVUlOVCB0b3RhbEJ5dGVzID0g
MDsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNfQllURVMsIHNpemVz
LT5kaWN0aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxCeXRlcyk7Ci0gICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfQ1NTX0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNo
ZWV0c0tleSwgdG90YWxCeXRlcyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
WFNMX0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsQnl0ZXMpOwotICAg
ICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pTQ19CWVRFUywgc2l6ZXMtPmRpY3Rpb25h
cnkoKSwgc2NyaXB0c0tleSwgdG90YWxCeXRlcyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfVE9UQUxfQllURVMsIHRvdGFsQnl0ZXMpOwotICAgIH0KLQotICAgIGlmIChsaXZl
U2l6ZXMpIHsKLSAgICAgICAgVUlOVCB0b3RhbExpdmVCeXRlcyA9IDA7Ci0gICAgICAgIHNldFdp
bmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlv
bmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKLSAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19DU1NfTElWRV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9uYXJ5KCksIHN0
eWxlc2hlZXRzS2V5LCB0b3RhbExpdmVCeXRlcyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfWFNMX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXks
IHRvdGFsTGl2ZUJ5dGVzKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0Nf
TElWRV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsTGl2
ZUJ5dGVzKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9MSVZFX0NP
VU5ULCB0b3RhbExpdmVCeXRlcyk7Ci0gICAgfQotCi0gICAgaWYgKGRlY29kZWRTaXplcykgewot
ICAgICAgICBVSU5UIHRvdGFsRGVjb2RlZCA9IDA7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgp
LCBpbWFnZXNLZXksIHRvdGFsRGVjb2RlZCk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfQ1NTX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzdHls
ZXNoZWV0c0tleSwgdG90YWxEZWNvZGVkKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19YU0xfREVDT0RFRF9DT1VOVCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5KCksIHhzbEtl
eSwgdG90YWxEZWNvZGVkKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0Nf
REVDT0RFRF9DT1VOVCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRv
dGFsRGVjb2RlZCk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfREVD
T0RFRCwgdG90YWxEZWNvZGVkKTsKLSAgICB9Ci0KLSAgICBpZiAocHVyZ2FibGVTaXplcykgewot
ICAgICAgICBVSU5UIHRvdGFsUHVyZ2FibGUgPSAwOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0lNQUdFU19QVVJHRUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRpY3Rpb25h
cnkoKSwgaW1hZ2VzS2V5LCB0b3RhbFB1cmdhYmxlKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChk
aWFsb2csIElEQ19DU1NfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5
KCksIHN0eWxlc2hlZXRzS2V5LCB0b3RhbFB1cmdhYmxlKTsKLSAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9u
YXJ5KCksIHhzbEtleSwgdG90YWxQdXJnYWJsZSk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGljdGlvbmFyeSgp
LCBzY3JpcHRzS2V5LCB0b3RhbFB1cmdhYmxlKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFs
b2csIElEQ19UT1RBTF9QVVJHRUFCTEUsIHRvdGFsUHVyZ2FibGUpOwotICAgIH0KLSNlbmRpZgot
Ci0gICAgLy8gSmF2YVNjcmlwdCBIZWFwLgotICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
SlNDX0hFQVBfU0laRSwgc3RhdGlzdGljcywgIkphdmFTY3JpcHRIZWFwU2l6ZSIpOwotICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX0hFQVBfRlJFRSwgc3RhdGlzdGljcywgIkphdmFT
Y3JpcHRGcmVlU2l6ZSIpOwotCi0gICAgVUlOVCBjb3VudDsKLSAgICBpZiAoU1VDQ0VFREVEKHdl
YkNvcmVTdGF0aXN0aWNzLT5qYXZhU2NyaXB0T2JqZWN0c0NvdW50KCZjb3VudCkpKQotICAgICAg
ICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMsIGNvdW50
KTsKLSAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2NyaXB0R2xvYmFs
T2JqZWN0c0NvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURD
X0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7Ci0gICAgaWYgKFNVQ0NFRURFRCh3ZWJD
b3JlU3RhdGlzdGljcy0+amF2YVNjcmlwdFByb3RlY3RlZE9iamVjdHNDb3VudCgmY291bnQpKSkK
LSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19QUk9URUNURURfSlNDX0hFQVBfT0JK
RUNUUywgY291bnQpOwotCi0gICAgLy8gRm9udCBhbmQgR2x5cGggQ2FjaGVzLgotICAgIGlmIChT
VUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmNhY2hlZEZvbnREYXRhQ291bnQoJmNvdW50KSkp
Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfRk9OVF9PQkpFQ1RTLCBj
b3VudCk7Ci0gICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+Y2FjaGVkRm9udERh
dGFJbmFjdGl2ZUNvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
SURDX0lOQUNUSVZFX0ZPTlRfT0JKRUNUUywgY291bnQpOwotICAgIGlmIChTVUNDRUVERUQod2Vi
Q29yZVN0YXRpc3RpY3MtPmdseXBoUGFnZUNvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0dMWVBIX1BBR0VTLCBjb3VudCk7Ci0KLSAgICAvLyBTaXRlIElj
b24gRGF0YWJhc2UuCi0gICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblBh
Z2VVUkxNYXBwaW5nQ291bnQoJmNvdW50KSkpCi0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfUEFHRV9VUkxfTUFQUElOR1MsIGNvdW50KTsKLSAgICBpZiAoU1VDQ0VFREVEKHdlYkNv
cmVTdGF0aXN0aWNzLT5pY29uUmV0YWluZWRQYWdlVVJMQ291bnQoJmNvdW50KSkpCi0gICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUkVUQUlORURfUEFHRV9VUkxTLCBjb3VudCk7Ci0g
ICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblJlY29yZENvdW50KCZjb3Vu
dCkpKQotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTl9SRUNPUkRT
LCBjb3VudCk7Ci0gICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvbnNXaXRo
RGF0YUNvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1NJ
VEVfSUNPTlNfV0lUSF9EQVRBLCBjb3VudCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHBhcnNlQ29tbWFu
ZExpbmUoYm9vbCYgdXNlc0xheWVyZWRXZWJWaWV3LCBib29sJiB1c2VGdWxsRGVza3RvcCwgYm9v
bCYgcGFnZUxvYWRUZXN0aW5nLCBfYnN0cl90JiByZXF1ZXN0ZWRVUkwpCi17Ci0gICAgdXNlc0xh
eWVyZWRXZWJWaWV3ID0gZmFsc2U7Ci0gICAgdXNlRnVsbERlc2t0b3AgPSBmYWxzZTsKLSAgICBw
YWdlTG9hZFRlc3RpbmcgPSBmYWxzZTsKLQotICAgIGludCBhcmdjID0gMDsKLSAgICBXQ0hBUioq
IGFyZ3YgPSBDb21tYW5kTGluZVRvQXJndlcoR2V0Q29tbWFuZExpbmVXKCksICZhcmdjKTsKLSAg
ICBmb3IgKGludCBpID0gMTsgaSA8IGFyZ2M7ICsraSkgewotICAgICAgICBpZiAoIXdjc2ljbXAo
YXJndltpXSwgTCItLXRyYW5zcGFyZW50IikpCi0gICAgICAgICAgICB1c2VzTGF5ZXJlZFdlYlZp
ZXcgPSB0cnVlOwotICAgICAgICBlbHNlIGlmICghd2NzaWNtcChhcmd2W2ldLCBMIi0tZGVza3Rv
cCIpKQotICAgICAgICAgICAgdXNlRnVsbERlc2t0b3AgPSB0cnVlOwotICAgICAgICBlbHNlIGlm
ICghcmVxdWVzdGVkVVJMKQotICAgICAgICAgICAgcmVxdWVzdGVkVVJMID0gYXJndltpXTsKLSAg
ICAgICAgZWxzZSBpZiAoIXdjc2ljbXAoYXJndltpXSwgTCItLXBlcmZvcm1hbmNlIikpCi0gICAg
ICAgICAgICBwYWdlTG9hZFRlc3RpbmcgPSB0cnVlOwotICAgIH0KLX0KLQotZXh0ZXJuICJDIiBf
X2RlY2xzcGVjKGRsbGV4cG9ydCkgaW50IFdJTkFQSSBkbGxMYXVuY2hlckVudHJ5UG9pbnQoSElO
U1RBTkNFIGhJbnN0YW5jZSwgSElOU1RBTkNFIGhQcmV2SW5zdGFuY2UsIExQV1NUUiBscHN0ckNt
ZExpbmUsIGludCBuQ21kU2hvdykKLXsKLSAgICByZXR1cm4gd1dpbk1haW4oaEluc3RhbmNlLCBo
UHJldkluc3RhbmNlLCBscHN0ckNtZExpbmUsIG5DbWRTaG93KTsKLX0KSW5kZXg6IFRvb2xzL1dp
bkxhdW5jaGVyL0RPTURlZmF1bHRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVu
Y2hlci9ET01EZWZhdWx0SW1wbC5jcHAJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL0RPTURlZmF1bHRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw5OSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEFudGhvbnkgSm9obnNvbi4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBCcmVudCBGdWxnaGFtLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2luY2x1ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIkRPTURlZmF1bHRJbXBsLmgiCi0KLS8v
IElVbmtub3duIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUhSRVNVTFQgV2ViU2NyaXB0T2JqZWN0OjpRdWVyeUludGVy
ZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCkKLXsK
LSAgICBpZiAoIXBwdk9iamVjdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqcHB2
T2JqZWN0ID0gbnVsbHB0cjsKLSAgICBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lVbmtub3du
KSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJTY3JpcHRPYmplY3QqPih0
aGlzKTsKLSAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVdlYlNjcmlwdE9iamVj
dCkpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViU2NyaXB0T2JqZWN0Kj4o
dGhpcyk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gRV9OT0lOVEVSRkFDRTsKLQotICAgIEFk
ZFJlZigpOwotICAgIHJldHVybiBTX09LOwotfQotCi1VTE9ORyBXZWJTY3JpcHRPYmplY3Q6OkFk
ZFJlZigpCi17Ci0gICAgcmV0dXJuICsrbV9yZWZDb3VudDsKLX0KLQotVUxPTkcgV2ViU2NyaXB0
T2JqZWN0OjpSZWxlYXNlKCkKLXsKLSAgICBVTE9ORyBuZXdSZWYgPSAtLW1fcmVmQ291bnQ7Ci0g
ICAgaWYgKCFuZXdSZWYpCi0gICAgICAgIGRlbGV0ZSh0aGlzKTsKLQotICAgIHJldHVybiBuZXdS
ZWY7Ci19Ci0KLS8vIERPTU9iamVjdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1IUkVTVUxUIERPTU9iamVjdDo6UXVl
cnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmpl
Y3QpCi17Ci0gICAgaWYgKCFwcHZPYmplY3QpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0g
ICAgKnBwdk9iamVjdCA9IG51bGxwdHI7Ci0gICAgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9J
RE9NT2JqZWN0KSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElET01PYmplY3Qq
Pih0aGlzKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBXZWJTY3JpcHRPYmplY3Q6OlF1ZXJ5
SW50ZXJmYWNlKHJpaWQsIHBwdk9iamVjdCk7Ci0KLSAgICBXZWJTY3JpcHRPYmplY3Q6OkFkZFJl
ZigpOwotICAgIHJldHVybiBTX09LOwotfQotCi0KLS8vIERPTUV2ZW50TGlzdGVuZXIgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotSFJFU1VMVCBET01FdmVudExpc3RlbmVyOjpRdWVyeUludGVyZmFjZShfSW5fIFJFRklJ
RCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCkKLXsKLSAgICAqcHB2T2JqZWN0
ID0gbnVsbHB0cjsKLSAgICBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lET01FdmVudExpc3Rl
bmVyKSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElET01FdmVudExpc3RlbmVy
Kj4odGhpcyk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gRE9NT2JqZWN0OjpRdWVyeUludGVy
ZmFjZShyaWlkLCBwcHZPYmplY3QpOwotCi0gICAgQWRkUmVmKCk7Ci0gICAgcmV0dXJuIFNfT0s7
Ci19Ci0KLVVMT05HIERPTUV2ZW50TGlzdGVuZXI6OkFkZFJlZigpCi17Ci0gICAgcmV0dXJuIFdl
YlNjcmlwdE9iamVjdDo6QWRkUmVmKCk7Ci19Ci0KLVVMT05HIERPTUV2ZW50TGlzdGVuZXI6OlJl
bGVhc2UoKQotewotICAgIHJldHVybiBXZWJTY3JpcHRPYmplY3Q6OlJlbGVhc2UoKTsKLX0KSW5k
ZXg6IFRvb2xzL1dpbkxhdW5jaGVyL0RPTURlZmF1bHRJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2luTGF1bmNoZXIvRE9NRGVmYXVsdEltcGwuaAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9v
bHMvV2luTGF1bmNoZXIvRE9NRGVmYXVsdEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMSw5MSAr
MCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgotKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW50aG9ueSBKb2huc29uLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEJyZW50IEZ1bGdoYW0uIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwot
Ci0jaWZuZGVmIERPTURlZmF1bHRJbXBsX2gKLSNkZWZpbmUgRE9NRGVmYXVsdEltcGxfaAotCi0j
aW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgotCi1jbGFzcyBXZWJTY3JpcHRPYmplY3QgOiBwdWJs
aWMgSVdlYlNjcmlwdE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgV2ViU2NyaXB0T2JqZWN0KCkKLSAg
ICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB+V2ViU2NyaXB0T2JqZWN0KCkKLSAgICB7Ci0gICAg
fQotCi0gICAgLy8gSVVua25vd24KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBw
cHZPYmplY3QpOwotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7
Ci0gICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBSZWxlYXNlKCk7Ci0KLSAgICAv
LyBJV2ViU2NyaXB0T2JqZWN0Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHRocm93RXhjZXB0aW9uKF9Jbl8gQlNUUiwgX091dF8gQk9PTCopIHsgcmV0dXJuIEVfTk9USU1Q
TDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWxsV2ViU2NyaXB0
TWV0aG9kKF9Jbl8gQlNUUiwgX19pbl9lY291bnQoY0FyZ3MpIGNvbnN0IFZBUklBTlRbXSwgaW50
IGNBcmdzLCBfT3V0XyBWQVJJQU5UKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGV2YWx1YXRlV2ViU2NyaXB0KF9Jbl8gQlNUUiwg
X091dF8gVkFSSUFOVCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVXZWJTY3JpcHRLZXkoX0luXyBCU1RSKSB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3Ry
aW5nUmVwcmVzZW50YXRpb24oX19kZXJlZl9vcHRfb3V0IEJTVFIqKSB7IHJldHVybiBFX05PVElN
UEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViU2NyaXB0VmFs
dWVBdEluZGV4KHVuc2lnbmVkLCBfT3V0XyBWQVJJQU5UKikgIHsgcmV0dXJuIEVfTk9USU1QTDsg
fQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRXZWJTY3JpcHRWYWx1
ZUF0SW5kZXgodW5zaWduZWQsIFZBUklBTlQpICB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RXhjZXB0aW9uKF9Jbl8gQlNUUikg
IHsgcmV0dXJuIEVfTk9USU1QTDsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAgVUxPTkcgbV9yZWZDb3Vu
dCB7IDAgfTsKLX07Ci0KLQotY2xhc3MgRE9NT2JqZWN0IDogcHVibGljIFdlYlNjcmlwdE9iamVj
dCwgcHVibGljIElET01PYmplY3QgewotcHVibGljOgotICAgIC8vIElVbmtub3duCi0gICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlE
IHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKLX07Ci0KLQotY2xhc3MgRE9N
RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBET01PYmplY3QsIHB1YmxpYyBJRE9NRXZlbnRMaXN0ZW5l
ciB7Ci1wdWJsaWM6Ci0gICAgLy8gSVVua25vd24KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJf
IHZvaWQqKiBwcHZPYmplY3QpOwotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUg
QWRkUmVmKCk7Ci0gICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBSZWxlYXNlKCk7
Ci0KLSAgICAvLyBJV2ViU2NyaXB0T2JqZWN0Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHRocm93RXhjZXB0aW9uKF9Jbl8gQlNUUiwgX091dF8gQk9PTCopICB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2Fs
bFdlYlNjcmlwdE1ldGhvZChfSW5fIEJTVFIsIF9faW5fZWNvdW50KGNBcmdzKSBjb25zdCBWQVJJ
QU5UW10sIGludCBjQXJncywgX091dF8gVkFSSUFOVCopICB7IHJldHVybiBFX05PVElNUEw7IH0K
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZXZhbHVhdGVXZWJTY3JpcHQo
X0luXyBCU1RSLCBfT3V0XyBWQVJJQU5UKikgIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVXZWJTY3JpcHRLZXkoX0luXyBC
U1RSKSAgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHN0cmluZ1JlcHJlc2VudGF0aW9uKF9fZGVyZWZfb3B0X291dCBCU1RSKikgIHsg
cmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSB3ZWJTY3JpcHRWYWx1ZUF0SW5kZXgodW5zaWduZWQsIF9PdXRfIFZBUklBTlQqKSAgeyByZXR1
cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNl
dFdlYlNjcmlwdFZhbHVlQXRJbmRleCh1bnNpZ25lZCwgVkFSSUFOVCkgIHsgcmV0dXJuIEVfTk9U
SU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFeGNlcHRp
b24oX0luXyBCU1RSKSB7IHJldHVybiBFX05PVElNUEw7IH0KLQotICAgIC8vIElET01FdmVudExp
c3RlbmVyCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGhhbmRsZUV2ZW50
KF9Jbl9vcHRfIElET01FdmVudCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotfTsKLQotI2VuZGlm
CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5jcHAJKHJldmlzaW9u
IDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEsMjM3ICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNC0y
MDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8K
LQotI2luY2x1ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIlBhZ2VMb2FkVGVzdENsaWVudC5oIgot
Ci0jaW5jbHVkZSAiV2luTGF1bmNoZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXhw
b3J0TWFjcm9zLmg+Ci0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
RmlsZVByaW50U3RyZWFtLmg+Ci0jaW5jbHVkZSA8Y21hdGg+Ci0KLXN0YXRpYyBjb25zdCBDRlRp
bWVJbnRlcnZhbCB3YWl0Rm9yTmV3UmVzb3VyY2VMb2FkRHVyYXRpb24gPSAwLjE7Ci0KLVBhZ2VM
b2FkVGVzdENsaWVudDo6UGFnZUxvYWRUZXN0Q2xpZW50KFdpbkxhdW5jaGVyKiBob3N0LCBib29s
IHBhZ2VMb2FkVGVzdGluZykKLSAgICA6IG1faG9zdChob3N0KQotICAgICwgbV9yZXBldGl0aW9u
cyhwYWdlTG9hZFRlc3RpbmcgPyAyMCA6IDEpCi0gICAgLCBtX3dhaXRGb3JMb2FkVG9SZWFsbHlF
bmQodGhpcywgJlBhZ2VMb2FkVGVzdENsaWVudDo6ZW5kUGFnZUxvYWQpCi0gICAgLCBtX3BhZ2VM
b2FkVGVzdGluZyhwYWdlTG9hZFRlc3RpbmcpCi17Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xp
ZW50OjpwYWdlTG9hZFN0YXJ0ZWRBdFRpbWUoQ0ZBYnNvbHV0ZVRpbWUgc3RhcnRUaW1lKQotewot
ICAgIG1fc3RhcnRUaW1lcy5hcHBlbmQoc3RhcnRUaW1lKTsKLX0KLQotdm9pZCBQYWdlTG9hZFRl
c3RDbGllbnQ6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKElXZWJGcmFtZSYgZnJhbWUpCi17Ci0g
ICAgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lMiwgJl9fdXVpZG9mKElXZWJGcmFtZTIp
Pj4gZnJhbWUyOwotICAgIGlmIChGQUlMRUQoZnJhbWUuUXVlcnlJbnRlcmZhY2UoJmZyYW1lMi5H
ZXRJbnRlcmZhY2VQdHIoKSkpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBCT09MIG1haW5GcmFt
ZSA9IEZBTFNFOwotICAgIGlmIChmcmFtZTIgJiYgRkFJTEVEKGZyYW1lMi0+aXNNYWluRnJhbWUo
Jm1haW5GcmFtZSkpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobWFpbkZyYW1lKSB7Ci0g
ICAgICAgIGNsZWFyUGFnZUxvYWRTdGF0ZSgpOwotICAgICAgICBwYWdlTG9hZFN0YXJ0ZWRBdFRp
bWUoQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkpOwotICAgIH0KLX0KLQotdm9pZCBQYWdlTG9h
ZFRlc3RDbGllbnQ6OmRpZENvbW1pdExvYWQoKQotewotICAgICsrbV9mcmFtZXM7Ci19Ci0KLXZv
aWQgUGFnZUxvYWRUZXN0Q2xpZW50OjpkaWRGaXJzdExheW91dEZvck1haW5GcmFtZSgpCi17Ci0g
ICAgLy8gTm90aGluZyB0byBkbwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkSGFu
ZGxlT25Mb2FkRXZlbnRzKCkKLXsKLSAgICArK21fb25Mb2FkRXZlbnRzOwotICAgIG1heWJlRW5k
UGFnZUxvYWRTb29uKCk7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjpkaWRGaW5pc2hM
b2FkKCkKLXsKLSAgICBtX2N1cnJlbnRQYWdlTG9hZEZpbmlzaGVkID0gdHJ1ZTsKLSAgICBtYXli
ZUVuZFBhZ2VMb2FkU29vbigpOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkRmFp
bExvYWQoKQotewotICAgIC0tbV9mcmFtZXM7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50
OjpkaWRJbml0aWF0ZVJlc291cmNlTG9hZCh1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIpCi17
Ci0gICAgaWYgKCFyZXNvdXJjZUlkZW50aWZpZXIpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJT
YXcgcmVzb3VyY2VJZGVudGlmaWVyPTAuIFRoaXMgbXVzdCBiZSBhIGJ1ZyBpbiB0aGUgbG9hZGVy
IGNvZGUuIFRoZSByZXN1bHRzIG1heSBiZSBpbnZhbGlkLiIpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIG1fbG9hZGluZ1N1YnJlc291cmNlcy5hZGQocmVzb3VyY2VJZGVudGlmaWVyKTsK
LX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmRpZEVuZFJlc291cmNlTG9hZCh1aW50NjRf
dCByZXNvdXJjZUlkZW50aWZpZXIpCi17Ci0gICAgaWYgKCFyZXNvdXJjZUlkZW50aWZpZXIpIHsK
LSAgICAgICAgV1RGTG9nQWx3YXlzKCJTYXcgcmVzb3VyY2VJZGVudGlmaWVyPTAuIFRoaXMgbXVz
dCBiZSBhIGJ1ZyBpbiB0aGUgbG9hZGVyIGNvZGUuIFRoZSByZXN1bHRzIG1heSBiZSBpbnZhbGlk
LiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGF1dG8gZm91bmQgPSBtX2xvYWRpbmdT
dWJyZXNvdXJjZXMuZmluZChyZXNvdXJjZUlkZW50aWZpZXIpOwotICAgIGlmIChmb3VuZCA9PSBt
X2xvYWRpbmdTdWJyZXNvdXJjZXMuZW5kKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2xvYWRp
bmdTdWJyZXNvdXJjZXMucmVtb3ZlKGZvdW5kKTsKLSAgICBtYXliZUVuZFBhZ2VMb2FkU29vbigp
OwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6cGFnZUxvYWRFbmRlZEF0VGltZShDRkFi
c29sdXRlVGltZSBlbmRUaW1lKQotewotICAgIEFTU0VSVCghbV9wYWdlTG9hZFRlc3RpbmcgfHwg
bV9lbmRUaW1lcy5zaXplKCkgPT0gbV9jdXJyZW50UmVwZXRpdGlvbik7Ci0gICAgbV9lbmRUaW1l
cy5hcHBlbmQoZW5kVGltZSk7Ci0KLSAgICBpZiAobV9jdXJyZW50UmVwZXRpdGlvbikgewotICAg
ICAgICBDRlRpbWVJbnRlcnZhbCBwYWdlTG9hZFRpbWUgPSAobV9lbmRUaW1lc1ttX2N1cnJlbnRS
ZXBldGl0aW9uXSAtIG1fc3RhcnRUaW1lc1ttX2N1cnJlbnRSZXBldGl0aW9uXSk7Ci0gICAgICAg
IGlmIChwYWdlTG9hZFRpbWUgPiBtX2xvbmdlc3RUaW1lKQotICAgICAgICAgICAgbV9sb25nZXN0
VGltZSA9IHBhZ2VMb2FkVGltZTsKLQotICAgICAgICBtX3RvdGFsVGltZSArPSBwYWdlTG9hZFRp
bWU7Ci0gICAgICAgIG1fdG90YWxTcXVhcmVSb290c09mVGltZSArPSBzdGQ6OnNxcnQocGFnZUxv
YWRUaW1lKTsKLSAgICAgICAgbV9wYWdlc1RpbWVkKys7Ci0gICAgICAgIG1fZ2VvbWV0cmljTWVh
blByb2R1Y3RTdW0gKj0gcGFnZUxvYWRUaW1lOwotICAgIH0KLQotICAgIGlmIChtX3BhZ2VMb2Fk
VGVzdGluZykgewotICAgICAgICArK21fY3VycmVudFJlcGV0aXRpb247Ci0gICAgICAgIGlmICht
X2N1cnJlbnRSZXBldGl0aW9uICE9IG1fcmVwZXRpdGlvbnMpCi0gICAgICAgICAgICBtX2hvc3Qt
PmxvYWRVUkwobV91cmwpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGR1bXBSdW5TdGF0
aXN0aWNzKCk7Ci0gICAgICAgICAgICBtX2hvc3QtPmV4aXRQcm9ncmFtKCk7Ci0gICAgICAgIH0K
LSAgICB9Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjplbmRQYWdlTG9hZChUaW1lcjxQ
YWdlTG9hZFRlc3RDbGllbnQ+KiB0aW1lcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0
aW1lciA9PSAmbV93YWl0Rm9yTG9hZFRvUmVhbGx5RW5kKTsKLQotICAgIGlmICghc2hvdWxkQ29u
c2lkZXJQYWdlTG9hZEVuZGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBwYWdlTG9hZEVuZGVk
QXRUaW1lKG1fcGFnZUxvYWRFbmRUaW1lKTsKLSAgICBjbGVhclBhZ2VMb2FkU3RhdGUoKTsKLX0K
LQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmNsZWFyUGFnZUxvYWRTdGF0ZSgpCi17Ci0gICAg
bV9jdXJyZW50UGFnZUxvYWRGaW5pc2hlZCA9IGZhbHNlOwotICAgIG1fZnJhbWVzID0gMDsKLSAg
ICBtX29uTG9hZEV2ZW50cyA9IDA7Ci0gICAgbV9wYWdlTG9hZEVuZFRpbWUgPSAwOwotICAgIG1f
bG9hZGluZ1N1YnJlc291cmNlcy5jbGVhcigpOwotICAgIG1fd2FpdEZvckxvYWRUb1JlYWxseUVu
ZC5pbnZhbGlkYXRlKCk7Ci19Ci0KLWJvb2wgUGFnZUxvYWRUZXN0Q2xpZW50OjpzaG91bGRDb25z
aWRlclBhZ2VMb2FkRW5kZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2N1cnJlbnRQYWdlTG9h
ZEZpbmlzaGVkICYmIG1fb25Mb2FkRXZlbnRzID09IG1fZnJhbWVzICYmIG1fbG9hZGluZ1N1YnJl
c291cmNlcy5pc0VtcHR5KCk7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjptYXliZUVu
ZFBhZ2VMb2FkU29vbigpCi17Ci0gICAgaWYgKCFzaG91bGRDb25zaWRlclBhZ2VMb2FkRW5kZWQo
KSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fcGFnZUxvYWRFbmRUaW1lID0gQ0ZBYnNvbHV0ZVRp
bWVHZXRDdXJyZW50KCk7Ci0gICAgaWYgKG1fd2FpdEZvckxvYWRUb1JlYWxseUVuZC5pc1ZhbGlk
KCkpCi0gICAgICAgIG1fd2FpdEZvckxvYWRUb1JlYWxseUVuZC5pbnZhbGlkYXRlKCk7Ci0gICAg
bV93YWl0Rm9yTG9hZFRvUmVhbGx5RW5kLnNjaGVkdWxlKHdhaXRGb3JOZXdSZXNvdXJjZUxvYWRE
dXJhdGlvbiwgZmFsc2UpOwotfQotCi0jaWYgT1MoV0lORE9XUykKLXZvaWQgUGFnZUxvYWRUZXN0
Q2xpZW50OjpzZXRQYWdlVVJMKGNvbnN0IF9ic3RyX3QmIHBhZ2VVUkwpCi17Ci0gICAgbV91cmwg
PSBwYWdlVVJMOwotfQotI2VuZGlmCi0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjpkdW1wUnVu
U3RhdGlzdGljcygpCi17Ci0gICAgY29uc3QgbG9uZyBtYXhQYXRoTGVuZ3RoID0gMTAyNDsKLQot
ICAgIGNoYXIgZmlsZW5hbWVTdWZmaXhbbWF4UGF0aExlbmd0aCArIDFdOwotCi0jaWYgUExBVEZP
Uk0oV0lOKQotICAgIERXT1JEIHBpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKLSAgICBfc25w
cmludGYoZmlsZW5hbWVTdWZmaXgsIHNpemVvZihmaWxlbmFtZVN1ZmZpeCksICIuJWQudHh0Iiwg
cGlkKTsKLSNlbHNlCi0gICAgbG9uZyBwaWQgPSBnZXRwaWQoKTsKLSAgICBzbnByaW50ZihmaWxl
bmFtZVN1ZmZpeCwgc2l6ZW9mKGZpbGVuYW1lU3VmZml4KSwgIi4lZC50eHQiLCBwaWQpOwotI2Vu
ZGlmCi0KLSAgICBjb25zdCBjaGFyKiBmaWxlbmFtZSA9ICJ3ZWJraXRfcGVyZm9ybWFuY2VfbG9n
IjsKLSAgICBjaGFyIGFjdHVhbEZpbGVuYW1lW21heFBhdGhMZW5ndGggKyAxXTsKLQotI2lmIFBM
QVRGT1JNKFdJTikKLSAgICBfc25wcmludGYoYWN0dWFsRmlsZW5hbWUsIHNpemVvZihhY3R1YWxG
aWxlbmFtZSksICIlcyVzIiwgZmlsZW5hbWUsIGZpbGVuYW1lU3VmZml4KTsKLSNlbHNlCi0gICAg
c25wcmludGYoYWN0dWFsRmlsZW5hbWUsIHNpemVvZihhY3R1YWxGaWxlbmFtZSksICIlcyVzIiwg
ZmlsZW5hbWUsIGZpbGVuYW1lU3VmZml4KTsKLSNlbmRpZgotCi0gICAgc3RkOjp1bmlxdWVfcHRy
PFdURjo6RmlsZVByaW50U3RyZWFtPiBmaWxlID0gV1RGOjpGaWxlUHJpbnRTdHJlYW06Om9wZW4o
YWN0dWFsRmlsZW5hbWUsICJ3Iik7Ci0gICAgaWYgKCFmaWxlKSB7Ci0gICAgICAgIFdURkxvZ0Fs
d2F5cygiV2FybmluZzogQ291bGQgbm90IG9wZW4gcGFnZSBsb2FkIHBlcmZvcm1hbmNlIGRhdGEg
ZmlsZSAlcyBmb3Igd3JpdGluZy5cbiIsIGFjdHVhbEZpbGVuYW1lKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIFdURkxvZ0Fsd2F5cygiKioqIFBhZ2UgbG9hZCBwZXJmb3JtYW5jZSBk
YXRhIG91dHB1dCB0byBcIiVzXCIgKioqXG4iLCBhY3R1YWxGaWxlbmFtZSk7Ci0KLSAgICBmaWxl
LT5wcmludCgiSU5ESVZJRFVBTCBVUkwgTE9BRCBUSU1FUzpcbiIpOwotCi0gICAgQ0ZUaW1lSW50
ZXJ2YWwgcGFnZUxvYWRUaW1lID0gbV9lbmRUaW1lcy5sYXN0KCkgLSBtX3N0YXJ0VGltZXMubGFz
dCgpOwotICAgIGZpbGUtPnByaW50ZigiTG9hZCBUaW1lID0gJS4xZiBtc1x0JXNcbiIsIHBhZ2VM
b2FkVGltZSAqIDEwMDAuMCwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KG1fdXJsKSk7Ci0KLSAg
ICBkb3VibGUgbWVhblRpbWUgPSAwOwotICAgIGRvdWJsZSBzcXVhcmVNZWFuUm9vdFRpbWUgPSAw
OwotICAgIGRvdWJsZSBnZW9tZXRyaWNNZWFuVGltZSA9IDA7Ci0gICAgaWYgKG1fcGFnZXNUaW1l
ZCkgewotICAgICAgICBtZWFuVGltZSA9IG1fdG90YWxUaW1lIC8gbV9wYWdlc1RpbWVkOwotICAg
ICAgICBzcXVhcmVNZWFuUm9vdFRpbWUgPSAobV90b3RhbFNxdWFyZVJvb3RzT2ZUaW1lIC8gbV9w
YWdlc1RpbWVkKSAqIChtX3RvdGFsU3F1YXJlUm9vdHNPZlRpbWUgLyBtX3BhZ2VzVGltZWQpOwot
ICAgICAgICBnZW9tZXRyaWNNZWFuVGltZSA9IHBvdyhtX2dlb21ldHJpY01lYW5Qcm9kdWN0U3Vt
LCAoMS4wIC8gbV9wYWdlc1RpbWVkKSk7Ci0gICAgfQotCi0gICAgZmlsZS0+cHJpbnRmKCJGSU5J
U0hFRDogICAgVG90YWwgVGltZSA9ICUuMWYgbXNcbiIsIG1fdG90YWxUaW1lICogMTAwMC4wKTsK
LSAgICBmaWxlLT5wcmludGYoIiAgICAgICAgICAgTG9uZ2VzdCBUaW1lID0gJS4xZiBtc1xuIiwg
bV9sb25nZXN0VGltZSAqIDEwMDAuMCk7Ci0gICAgZmlsZS0+cHJpbnRmKCIgICAgICAgICAgICAg
IE1lYW4gVGltZSA9ICUuMWYgbXNcbiIsIG1lYW5UaW1lICogMTAwMC4wKTsKLSAgICBmaWxlLT5w
cmludGYoIiAgU3F1YXJlLU1lYW4tUm9vdCBUaW1lID0gJS4xZiBtc1xuIiwgc3F1YXJlTWVhblJv
b3RUaW1lICogMTAwMC4wKTsKLSAgICBmaWxlLT5wcmludGYoIiAgICBHZW9tZXRyaWMgTWVhbiBU
aW1lID0gJS4xZiBtc1xuIiwgZ2VvbWV0cmljTWVhblRpbWUgKiAxMDAwLjApOwotICAgIGZpbGUt
PnByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsK
LQotICAgIGZpbGUtPmZsdXNoKCk7Ci19CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9QYWdlTG9h
ZFRlc3RDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9QYWdlTG9hZFRl
c3RDbGllbnQuaAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxv
YWRUZXN0Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTU4ICswLDAgQEAKLS8qCi0qIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0qCi0qIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotKi8KLQotI2lmbmRlZiBQYWdlTG9hZFRlc3RDbGllbnRfaAotI2RlZmluZSBQYWdl
TG9hZFRlc3RDbGllbnRfaAotCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZEYXRlLmg+Ci0j
aW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotdGVtcGxhdGUgPGNsYXNzIFRpbWVyRmlyZWRDbGFz
cz4KLWNsYXNzIFRpbWVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lcik7Ci1wdWJs
aWM6Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipUaW1lckZpcmVkRnVuY3Rp
b24pKFRpbWVyKik7Ci0KLSAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MqIG9iamVjdCwgVGltZXJG
aXJlZEZ1bmN0aW9uIGZ1bmN0aW9uKQotICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKLSAgICAg
ICAgLCBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgQVNTRVJUX0FSRyhvYmpl
Y3QsIG9iamVjdCk7Ci0gICAgICAgIEFTU0VSVF9BUkcoZnVuY3Rpb24sIGZ1bmN0aW9uKTsKLSAg
ICB9Ci0KLSAgICB+VGltZXIoKSB7IGludmFsaWRhdGUoKTsgfQotCi0gICAgdm9pZCBpbnZhbGlk
YXRlKCkKLSAgICB7Ci0gICAgICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKLSAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7Ci0gICAgfQotCi0gICAgYm9vbCBpc1ZhbGlkKCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3RpbWVyICYmIENGUnVuTG9vcFRpbWVySXNWYWxp
ZChtX3RpbWVyLmdldCgpKTsKLSAgICB9Ci0KLSAgICB2b2lkIHNjaGVkdWxlKENGVGltZUludGVy
dmFsIGludGVydmFsLCBib29sIHJlcGVhdGluZykKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghaXNW
YWxpZCgpKTsKLQotICAgICAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVh
dGluZyA/IGludGVydmFsIDogMDsKLSAgICAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRl
eHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICAgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZS
dW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBpbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHJ1bkxvb3BUaW1lckZp
cmVkLCAmY29udGV4dCkpOwotCi0gICAgICAgIENGUnVuTG9vcEFkZFRpbWVyKENGUnVuTG9vcEdl
dEN1cnJlbnQoKSwgbV90aW1lci5nZXQoKSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKTsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBmaXJlKCkgeyAobV9vYmplY3QtPiptX2Z1bmN0aW9uKSh0
aGlzKTsgfQotCi0gICAgc3RhdGljIHZvaWQgcnVuTG9vcFRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGlt
ZXJSZWYgdGltZXJSZWYsIHZvaWQqIGluZm8pCi0gICAgewotICAgICAgICBUaW1lciogdGltZXIg
PSBzdGF0aWNfY2FzdDxUaW1lcio+KGluZm8pOwotICAgICAgICBBU1NFUlRfQVJHKHRpbWVyUmVm
LCB0aW1lci0+bV90aW1lciA9PSB0aW1lclJlZik7Ci0KLSAgICAgICAgaWYgKCFDRlJ1bkxvb3BU
aW1lckRvZXNSZXBlYXQodGltZXJSZWYpKQotICAgICAgICAgICAgQ0ZSdW5Mb29wVGltZXJJbnZh
bGlkYXRlKHRpbWVyUmVmKTsKLQotI2lmZGVmIF9fT0JKQ19fCi0gICAgICAgIEBhdXRvcmVsZWFz
ZXBvb2wKLSNlbmRpZgotICAgICAgICB7Ci0gICAgICAgICAgICB0aW1lci0+ZmlyZSgpOwotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgVGltZXJGaXJlZENsYXNzKiBtX29iamVjdDsKLSAgICBUaW1l
ckZpcmVkRnVuY3Rpb24gbV9mdW5jdGlvbjsKLQotICAgIFJldGFpblB0cjxDRlJ1bkxvb3BUaW1l
clJlZj4gbV90aW1lcjsKLX07Ci0KLWNsYXNzIFdpbkxhdW5jaGVyOwotCi1jbGFzcyBQYWdlTG9h
ZFRlc3RDbGllbnQgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VMb2FkVGVzdENsaWVu
dCk7Ci1wdWJsaWM6Ci0gICAgUGFnZUxvYWRUZXN0Q2xpZW50KFdpbkxhdW5jaGVyKiBob3N0LCBi
b29sIHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlKTsKLQotI2lmIE9TKFdJTkRPV1MpCi0gICAgdm9p
ZCBzZXRQYWdlVVJMKGNvbnN0IF9ic3RyX3QmKTsKLSNlbmRpZgotCi0gICAgdm9pZCBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZChJV2ViRnJhbWUmKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoKTsK
LSAgICB2b2lkIGRpZEZpcnN0TGF5b3V0Rm9yTWFpbkZyYW1lKCk7Ci0gICAgdm9pZCBkaWRIYW5k
bGVPbkxvYWRFdmVudHMoKTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKLSAgICB2b2lkIGRp
ZEZhaWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRJbml0aWF0ZVJlc291cmNlTG9hZCh1aW50NjRfdCk7
Ci0gICAgdm9pZCBkaWRFbmRSZXNvdXJjZUxvYWQodWludDY0X3QpOwotCi1wcml2YXRlOgotICAg
IHZvaWQgZW5kUGFnZUxvYWQoVGltZXI8UGFnZUxvYWRUZXN0Q2xpZW50PiopOwotICAgIHZvaWQg
bWF5YmVFbmRQYWdlTG9hZFNvb24oKTsKLSAgICB2b2lkIGNsZWFyUGFnZUxvYWRTdGF0ZSgpOwot
ICAgIGJvb2wgc2hvdWxkQ29uc2lkZXJQYWdlTG9hZEVuZGVkKCkgY29uc3Q7Ci0KLSAgICB2aXJ0
dWFsIHZvaWQgcGFnZUxvYWRTdGFydGVkQXRUaW1lKENGQWJzb2x1dGVUaW1lKTsKLSAgICB2aXJ0
dWFsIHZvaWQgcGFnZUxvYWRFbmRlZEF0VGltZShDRkFic29sdXRlVGltZSk7Ci0gICAgdm9pZCBk
dW1wUnVuU3RhdGlzdGljcygpOwotCi0gICAgV2luTGF1bmNoZXIqIG1faG9zdDsKLSAgICBDRkFi
c29sdXRlVGltZSBtX3BhZ2VMb2FkRW5kVGltZSB7IDAgfTsKLSAgICBDRlRpbWVJbnRlcnZhbCBt
X3RvdGFsVGltZSB7IDAgfTsKLSAgICBDRlRpbWVJbnRlcnZhbCBtX3RvdGFsU3F1YXJlUm9vdHNP
ZlRpbWUgeyAwIH07Ci0gICAgQ0ZUaW1lSW50ZXJ2YWwgbV9sb25nZXN0VGltZSB7IDAgfTsKLSAg
ICBWZWN0b3I8Q0ZBYnNvbHV0ZVRpbWU+IG1fc3RhcnRUaW1lczsKLSAgICBWZWN0b3I8Q0ZBYnNv
bHV0ZVRpbWU+IG1fZW5kVGltZXM7Ci0gICAgSGFzaFNldDx1aW50NjRfdD4gbV9sb2FkaW5nU3Vi
cmVzb3VyY2VzOwotICAgIFRpbWVyPFBhZ2VMb2FkVGVzdENsaWVudD4gbV93YWl0Rm9yTG9hZFRv
UmVhbGx5RW5kOwotI2lmIE9TKFdJTkRPV1MpCi0gICAgX2JzdHJfdCBtX3VybDsKLSNlbmRpZgot
ICAgIGRvdWJsZSBtX2dlb21ldHJpY01lYW5Qcm9kdWN0U3VtIHsgMS4wIH07Ci0gICAgdW5zaWdu
ZWQgbV9mcmFtZXMgeyAwIH07Ci0gICAgdW5zaWduZWQgbV9vbkxvYWRFdmVudHMgeyAwIH07Ci0g
ICAgdW5zaWduZWQgbV9jdXJyZW50VVJMSW5kZXggeyAwIH07Ci0gICAgdW5zaWduZWQgbV9jdXJy
ZW50UmVwZXRpdGlvbiB7IDAgfTsKLSAgICB1bnNpZ25lZCBtX3BhZ2VzVGltZWQgeyAwIH07Ci0g
ICAgdW5zaWduZWQgbV9yZXBldGl0aW9uczsKLQotICAgIGJvb2wgbV9jdXJyZW50UGFnZUxvYWRG
aW5pc2hlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX3BhZ2VMb2FkVGVzdGluZzsKLX07Ci0KLSNl
bmRpZiAvLyBQYWdlTG9hZFRlc3RDbGllbnRfaApJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvUHJp
bnRXZWJVSURlbGVnYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9Qcmlu
dFdlYlVJRGVsZWdhdGUuY3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hl
ci9QcmludFdlYlVJRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEzLTIwMTUgQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEJyZW50IEZ1bGdoYW0uIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWxleCBDaHJpc3RlbnNlbi4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi0jaW5jbHVkZSAic3RkYWZ4LmgiCi0jaW5jbHVkZSAiUHJpbnRXZWJVSURlbGVnYXRlLmgi
Ci0KLSNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+Ci0jaW5jbHVkZSA8Y29taXAuaD4K
LSNpbmNsdWRlIDxjb21tY3RybC5oPgotI2luY2x1ZGUgPGNvbW1kbGcuaD4KLSNpbmNsdWRlIDxv
YmpiYXNlLmg+Ci0jaW5jbHVkZSA8c2hsd2FwaS5oPgotI2luY2x1ZGUgPHdpbmluZXQuaD4KLQot
c3RhdGljIGNvbnN0IGludCBNQVJHSU4gPSAyMDsKLQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdh
dGU6OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2UoX0luX29wdF8gSVdlYlZpZXcq
LCBfSW5fIEJTVFIgbWVzc2FnZSkKLXsKLSAgICA6Ok1lc3NhZ2VCb3hXKDAsIG1lc3NhZ2UsIEwi
SmF2YVNjcmlwdCBBbGVydCIsIE1CX09LKTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VM
VCBQcmludFdlYlVJRGVsZWdhdGU6OnJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2Fn
ZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gQlNUUiBtZXNzYWdlLCBfT3V0XyBCT09MKiByZXN1
bHQpCi17Ci0gICAgKnJlc3VsdCA9IDo6TWVzc2FnZUJveFcoMCwgbWVzc2FnZSwgTCJKYXZhU2Ny
aXB0IENvbmZpcm0iLCBNQl9PS0NBTkNFTCkgPT0gSURPSzsKLSAgICByZXR1cm4gU19PSzsKLX0K
LQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6OmNyZWF0ZVdlYlZpZXdXaXRoUmVxdWVzdChf
SW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJVUkxSZXF1ZXN0KiByZXF1ZXN0LCBfQ09N
X091dHB0cl9vcHRfIElXZWJWaWV3KiogbmV3V2ViVmlldykKLXsKLSAgICBpZiAoIW5ld1dlYlZp
ZXcpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKm5ld1dlYlZpZXcgPSBudWxscHRy
OwotICAgIGlmICghcmVxdWVzdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIFRD
SEFSIGV4ZWN1dGFibGVQYXRoW01BWF9QQVRIXTsKLSAgICBEV09SRCBsZW5ndGggPSA6OkdldE1v
ZHVsZUZpbGVOYW1lKEdldE1vZHVsZUhhbmRsZSgwKSwgZXhlY3V0YWJsZVBhdGgsIEFSUkFZU0la
RShleGVjdXRhYmxlUGF0aCkpOwotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gRV9G
QUlMOwotCi0gICAgX2JzdHJfdCB1cmw7Ci0gICAgSFJFU1VMVCBociA9IHJlcXVlc3QtPlVSTCgm
dXJsLkdldEJTVFIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBFX0ZB
SUw7Ci0KLSAgICBpZiAoIXVybCkKLSAgICAgICAgcmV0dXJuIFNfT0s7Ci0KLSAgICBzdGQ6Ondz
dHJpbmcgY29tbWFuZCA9IHN0ZDo6d3N0cmluZyhMIlwiIikgKyBleGVjdXRhYmxlUGF0aCArIEwi
XCIgIiArIChjb25zdCB3Y2hhcl90Kil1cmw7Ci0KLSAgICBQUk9DRVNTX0lORk9STUFUSU9OIHBy
b2Nlc3NJbmZvcm1hdGlvbjsKLSAgICBTVEFSVFVQSU5GT1cgc3RhcnR1cEluZm87Ci0gICAgbWVt
c2V0KCZzdGFydHVwSW5mbywgMCwgc2l6ZW9mKHN0YXJ0dXBJbmZvKSk7Ci0gICAgaWYgKCE6OkNy
ZWF0ZVByb2Nlc3NXKDAsIChMUFdTVFIpY29tbWFuZC5jX3N0cigpLCAwLCAwLCAwLCAwLCAwLCAw
LCAmc3RhcnR1cEluZm8sICZwcm9jZXNzSW5mb3JtYXRpb24pKQotICAgICAgICByZXR1cm4gRV9G
QUlMOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgUHJpbnRXZWJVSURlbGVnYXRl
OjpRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBw
dk9iamVjdCkKLXsKLSAgICBpZiAoIXBwdk9iamVjdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKLSAgICAqcHB2T2JqZWN0ID0gbnVsbHB0cjsKLSAgICBpZiAoSXNFcXVhbElJRChyaWlkLCBJ
SURfSVVua25vd24pKQotICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYlVJRGVs
ZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0VxdWFsSUlEKHJpaWQsIElJRF9JV2ViVUlE
ZWxlZ2F0ZSkpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViVUlEZWxlZ2F0
ZSo+KHRoaXMpOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7Ci0KLSAg
ICBBZGRSZWYoKTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQotVUxPTkcgUHJpbnRXZWJVSURlbGVn
YXRlOjpBZGRSZWYoKQotewotICAgIHJldHVybiArK21fcmVmQ291bnQ7Ci19Ci0KLVVMT05HIFBy
aW50V2ViVUlEZWxlZ2F0ZTo6UmVsZWFzZSgpCi17Ci0gICAgVUxPTkcgbmV3UmVmID0gLS1tX3Jl
ZkNvdW50OwotICAgIGlmICghbmV3UmVmKQotICAgICAgICBkZWxldGUgdGhpczsKLQotICAgIHJl
dHVybiBuZXdSZWY7Ci19Ci0KLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1l
LCAmX191dWlkb2YoSVdlYkZyYW1lKT4+IElXZWJGcmFtZVB0cjsKLXR5cGVkZWYgX2NvbV9wdHJf
dDxfY29tX0lJSUQ8SVdlYkZyYW1lUHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJGcmFtZVByaXZhdGUp
Pj4gSVdlYkZyYW1lUHJpdmF0ZVB0cjsKLQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6Ondl
YlZpZXdQcmludGluZ01hcmdpblJlY3QoX0luX29wdF8gSVdlYlZpZXcqIHZpZXcsIF9PdXRfIFJF
Q1QqIHJlY3QpCi17Ci0gICAgaWYgKCF2aWV3IHx8ICFyZWN0KQotICAgICAgICByZXR1cm4gRV9Q
T0lOVEVSOwotCi0gICAgSVdlYkZyYW1lUHRyIG1haW5GcmFtZTsKLSAgICBpZiAoRkFJTEVEKHZp
ZXctPm1haW5GcmFtZSgmbWFpbkZyYW1lLkdldEludGVyZmFjZVB0cigpKSkpCi0gICAgICAgIHJl
dHVybiBFX0ZBSUw7Ci0KLSAgICBJV2ViRnJhbWVQcml2YXRlUHRyIHByaXZhdGVGcmFtZTsKLSAg
ICBpZiAoRkFJTEVEKG1haW5GcmFtZS0+UXVlcnlJbnRlcmZhY2UoJnByaXZhdGVGcmFtZS5HZXRJ
bnRlcmZhY2VQdHIoKSkpKQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAgcHJpdmF0ZUZy
YW1lLT5mcmFtZUJvdW5kcyhyZWN0KTsKLQotICAgIHJlY3QtPmxlZnQgKz0gTUFSR0lOOwotICAg
IHJlY3QtPnRvcCArPSBNQVJHSU47Ci0gICAgSERDIGRjID0gOjpHZXREQygwKTsKLSAgICByZWN0
LT5yaWdodCA9ICg6OkdldERldmljZUNhcHMoZGMsIExPR1BJWEVMU1gpICogNi41KSAtIE1BUkdJ
TjsKLSAgICByZWN0LT5ib3R0b20gPSAoOjpHZXREZXZpY2VDYXBzKGRjLCBMT0dQSVhFTFNZKSAq
IDExKSAtIE1BUkdJTjsKLSAgICA6OlJlbGVhc2VEQygwLCBkYyk7Ci0KLSAgICByZXR1cm4gU19P
SzsKLX0KLQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6OndpbGxQZXJmb3JtRHJhZ1NvdXJj
ZUFjdGlvbihfSW5fb3B0XyBJV2ViVmlldyosIFdlYkRyYWdTb3VyY2VBY3Rpb24sIF9Jbl8gTFBQ
T0lOVCwgX0luX29wdF8gSURhdGFPYmplY3QqLCBfQ09NX091dHB0cl9vcHRfIElEYXRhT2JqZWN0
KiogcmVzdWx0KQotewotICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OwotICAgICpyZXN1bHQgPSBudWxscHRyOwotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhS
RVNVTFQgUHJpbnRXZWJVSURlbGVnYXRlOjp3ZWJWaWV3SGVhZGVySGVpZ2h0KF9Jbl9vcHRfIElX
ZWJWaWV3KiB3ZWJWaWV3LCBfT3V0XyBmbG9hdCogaGVpZ2h0KQotewotICAgIGlmICghd2ViVmll
dyB8fCAhaGVpZ2h0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotCi0gICAgSERDIGRjID0g
OjpHZXREQygwKTsKLQotICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpYzsKLSAgICA6OkdldFRleHRN
ZXRyaWNzKGRjLCAmdGV4dE1ldHJpYyk7Ci0gICAgOjpSZWxlYXNlREMoMCwgZGMpOwotCi0gICAg
KmhlaWdodCA9IDEuMSAqIHRleHRNZXRyaWMudG1IZWlnaHQ7Ci0KLSAgICByZXR1cm4gU19PSzsK
LX0KLQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6OndlYlZpZXdGb290ZXJIZWlnaHQoX0lu
X29wdF8gSVdlYlZpZXcqIHdlYlZpZXcsIF9PdXRfIGZsb2F0KiBoZWlnaHQpCi17Ci0gICAgaWYg
KCF3ZWJWaWV3IHx8ICFoZWlnaHQpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICBI
REMgZGMgPSA6OkdldERDKDApOwotCi0gICAgVEVYVE1FVFJJQyB0ZXh0TWV0cmljOwotICAgIDo6
R2V0VGV4dE1ldHJpY3MoZGMsICZ0ZXh0TWV0cmljKTsKLSAgICA6OlJlbGVhc2VEQygwLCBkYyk7
Ci0KLSAgICAqaGVpZ2h0ID0gMS4xICogdGV4dE1ldHJpYy50bUhlaWdodDsKLQotICAgIHJldHVy
biBTX09LOwotfQotCi1IUkVTVUxUIFByaW50V2ViVUlEZWxlZ2F0ZTo6ZHJhd0hlYWRlckluUmVj
dChfSW5fb3B0XyBJV2ViVmlldyogd2ViVmlldywgX0luXyBSRUNUKiByZWN0LCBVTE9OR19QVFIg
ZHJhd2luZ0NvbnRleHQpCi17Ci0gICAgaWYgKCF3ZWJWaWV3IHx8ICFyZWN0KQotICAgICAgICBy
ZXR1cm4gRV9QT0lOVEVSOwotCi0gICAgLy8gVHVybiBvZmYgaGVhZGVyIGZvciBub3cuCi0gICAg
SERDIGRjID0gcmVpbnRlcnByZXRfY2FzdDxIREM+KGRyYXdpbmdDb250ZXh0KTsKLQotICAgIEhH
RElPQkogaEZvbnQgPSA6OkdldFN0b2NrT2JqZWN0KEFOU0lfVkFSX0ZPTlQpOwotICAgIEhHRElP
QkogaE9sZEZvbnQgPSA6OlNlbGVjdE9iamVjdChkYywgaEZvbnQpOwotCi0gICAgTFBDV1NUUiBo
ZWFkZXIgPSBMIltTYW1wbGUgSGVhZGVyXSI7Ci0gICAgc2l6ZV90IGxlbmd0aCA9IHdjc2xlbiho
ZWFkZXIpOwotCi0gICAgaW50IHJjID0gOjpEcmF3VGV4dFcoZGMsIGhlYWRlciwgbGVuZ3RoLCBy
ZWN0LCBEVF9MRUZUIHwgRFRfTk9DTElQIHwgRFRfVkNFTlRFUiB8IERUX1NJTkdMRUxJTkUpOwot
ICAgIDo6U2VsZWN0T2JqZWN0KGRjLCBoT2xkRm9udCk7Ci0KLSAgICBpZiAoIXJjKQotICAgICAg
ICByZXR1cm4gRV9GQUlMOwotCi0gICAgOjpNb3ZlVG9FeChkYywgcmVjdC0+bGVmdCwgcmVjdC0+
Ym90dG9tLCAwKTsKLSAgICBIR0RJT0JKIGhQZW4gPSA6OkdldFN0b2NrT2JqZWN0KEJMQUNLX1BF
Tik7Ci0gICAgSEdESU9CSiBoT2xkUGVuID0gOjpTZWxlY3RPYmplY3QoZGMsIGhQZW4pOwotICAg
IDo6TGluZVRvKGRjLCByZWN0LT5yaWdodCwgcmVjdC0+Ym90dG9tKTsKLSAgICA6OlNlbGVjdE9i
amVjdChkYywgaE9sZFBlbik7Ci0KLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBQcmlu
dFdlYlVJRGVsZWdhdGU6OmRyYXdGb290ZXJJblJlY3QoX0luX29wdF8gSVdlYlZpZXcqIHdlYlZp
ZXcsIF9Jbl8gUkVDVCogcmVjdCwgVUxPTkdfUFRSIGRyYXdpbmdDb250ZXh0LCBVSU5UIHBhZ2VJ
bmRleCwgVUlOVCBwYWdlQ291bnQpCi17Ci0gICAgaWYgKCF3ZWJWaWV3IHx8ICFyZWN0KQotICAg
ICAgICByZXR1cm4gRV9QT0lOVEVSOwotCi0gICAgSERDIGRjID0gcmVpbnRlcnByZXRfY2FzdDxI
REM+KGRyYXdpbmdDb250ZXh0KTsKLQotICAgIEhHRElPQkogaEZvbnQgPSA6OkdldFN0b2NrT2Jq
ZWN0KEFOU0lfVkFSX0ZPTlQpOwotICAgIEhHRElPQkogaE9sZEZvbnQgPSA6OlNlbGVjdE9iamVj
dChkYywgaEZvbnQpOwotCi0gICAgTFBDV1NUUiBmb290ZXIgPSBMIltTYW1wbGUgRm9vdGVyXSI7
Ci0gICAgc2l6ZV90IGxlbmd0aCA9IHdjc2xlbihmb290ZXIpOwotCi0gICAgLy8gQWRkIGEgbGlu
ZSwgMS8xMHRoIGluY2ggYWJvdmUgdGhlIGZvb3RlciB0ZXh0IGZyb20gbGVmdCBtYXJnaW4gdG8g
cmlnaHQgbWFyZ2luLgotICAgIDo6TW92ZVRvRXgoZGMsIHJlY3QtPmxlZnQsIHJlY3QtPnRvcCwg
MCk7Ci0gICAgSEdESU9CSiBoUGVuID0gOjpHZXRTdG9ja09iamVjdChCTEFDS19QRU4pOwotICAg
IEhHRElPQkogaE9sZFBlbiA9IDo6U2VsZWN0T2JqZWN0KGRjLCBoUGVuKTsKLSAgICA6OkxpbmVU
byhkYywgcmVjdC0+cmlnaHQsIHJlY3QtPnRvcCk7Ci0gICAgOjpTZWxlY3RPYmplY3QoZGMsIGhP
bGRQZW4pOwotCi0gICAgaW50IHJjID0gOjpEcmF3VGV4dFcoZGMsIGZvb3RlciwgbGVuZ3RoLCBy
ZWN0LCBEVF9MRUZUIHwgRFRfTk9DTElQIHwgRFRfVkNFTlRFUiB8IERUX1NJTkdMRUxJTkUpOwot
ICAgIDo6U2VsZWN0T2JqZWN0KGRjLCBoT2xkRm9udCk7Ci0KLSAgICBpZiAoIXJjKQotICAgICAg
ICByZXR1cm4gRV9GQUlMOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgUHJpbnRX
ZWJVSURlbGVnYXRlOjpjcmVhdGVNb2RhbERpYWxvZyhfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9v
cHRfIElXZWJVUkxSZXF1ZXN0KiwgX0NPTV9PdXRwdHJfb3B0XyBJV2ViVmlldyoqIHdlYlZpZXcp
Ci17Ci0gICAgaWYgKCF3ZWJWaWV3KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICp3
ZWJWaWV3ID0gbnVsbHB0cjsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQpJbmRleDogVG9vbHMv
V2luTGF1bmNoZXIvUHJpbnRXZWJVSURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2lu
TGF1bmNoZXIvUHJpbnRXZWJVSURlbGVnYXRlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1ByaW50V2ViVUlEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEw
OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDE0LTIwMTUgQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEJyZW50IEZ1bGdo
YW0uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotCi0jaWZuZGVmIFByaW50V2ViVUlEZWxlZ2F0ZV9oCi0jZGVmaW5lIFByaW50
V2ViVUlEZWxlZ2F0ZV9oCi0KLSNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+Ci0KLWNsYXNzIFBy
aW50V2ViVUlEZWxlZ2F0ZSA6IHB1YmxpYyBJV2ViVUlEZWxlZ2F0ZSB7Ci1wdWJsaWM6Ci0gICAg
UHJpbnRXZWJVSURlbGVnYXRlKCkgeyB9Ci0KLSAgICAvLyBJVW5rbm93bgotICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlk
LCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7Ci0gICAgdmlydHVhbCBVTE9ORyBTVERN
RVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKLSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExU
WVBFIFJlbGVhc2UoKTsKLQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBj
cmVhdGVXZWJWaWV3V2l0aFJlcXVlc3QoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2Vi
VVJMUmVxdWVzdCosIF9DT01fT3V0cHRyX29wdF8gSVdlYlZpZXcqKik7Ci0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlZpZXdTaG93KF9Jbl9vcHRfIElXZWJWaWV3Kikg
eyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHdlYlZpZXdDbG9zZShfSW5fb3B0XyBJV2ViVmlldyopIHsgcmV0dXJuIEVfTk9USU1QTDsg
fQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3Rm9jdXMoX0lu
X29wdF8gSVdlYlZpZXcqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViVmlld1VuZm9jdXMoX0luX29wdF8gSVdlYlZpZXcqKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgd2ViVmlld0ZpcnN0UmVzcG9uZGVyKF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gSFdORCop
ICB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgbWFrZUZpcnN0UmVzcG9uZGVyKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBIV05EKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0U3RhdHVzVGV4dChfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gQlNUUikgeyByZXR1cm4g
RV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlZp
ZXdTdGF0dXNUZXh0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX19kZXJlZl9vcHRfb3V0IEJTVFIqKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgd2ViVmlld0FyZVRvb2xiYXJzVmlzaWJsZShfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIEJP
T0wqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0VG9vbGJhcnNWaXNpYmxlKF9Jbl9vcHRfIElXZWJWaWV3KiwgQk9PTCkgeyBy
ZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHdlYlZpZXdJc1N0YXR1c0JhclZpc2libGUoX0luX29wdF8gSVdlYlZpZXcqLCBfT3V0XyBCT09M
KikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHNldFN0YXR1c0JhclZpc2libGUoX0luX29wdF8gSVdlYlZpZXcqLCBCT09MKSB7IHJl
dHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
d2ViVmlld0lzUmVzaXphYmxlKF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gQk9PTCopIHsgcmV0
dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRSZXNpemFibGUoX0luX29wdF8gSVdlYlZpZXcqLCBCT09MKSB7IHJldHVybiBFX05PVElNUEw7
IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWUoX0luX29w
dF8gSVdlYlZpZXcqLCBfSW5fIFJFQ1QqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViVmlld0ZyYW1lKF9Jbl9vcHRfIElXZWJW
aWV3KiwgX091dF8gUkVDVCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDb250ZW50UmVjdChfSW5fb3B0XyBJV2ViVmlldyos
IF9Jbl8gUkVDVCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3Q29udGVudFJlY3QoX0luX29wdF8gSVdlYlZpZXcqLCBf
T3V0XyBSRUNUKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2UoX0luX29w
dF8gSVdlYlZpZXcqLCBfSW5fIEJTVFIpOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2UoX0luX29wdF8gSVdl
YlZpZXcqLCBfSW5fIEJTVFIsIF9PdXRfIEJPT0wqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgcnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdChfSW5f
b3B0XyBJV2ViVmlldyosIF9Jbl8gQlNUUiwgX0luXyBCU1RSLCBfX2RlcmVmX29wdF9vdXQgQlNU
UiopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVzc2FnZShfSW5fb3B0XyBJ
V2ViVmlldyosIF9Jbl8gQlNUUiwgSVdlYkZyYW1lKiwgX091dF8gQk9PTCopIHsgcmV0dXJuIEVf
Tk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBydW5PcGVu
UGFuZWxGb3JGaWxlQnV0dG9uV2l0aFJlc3VsdExpc3RlbmVyKF9Jbl9vcHRfIElXZWJWaWV3Kiwg
X0luX29wdF8gSVdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyKikgeyByZXR1cm4gRV9OT1RJTVBM
OyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1vdXNlRGlkTW92ZU92
ZXJFbGVtZW50KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVByb3BlcnR5QmFnKiwgVUlO
VCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIGNvbnRleHRNZW51SXRlbXNGb3JFbGVtZW50KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0lu
X29wdF8gSVByb3BlcnR5QmFnKiwgX0luXyBITUVOVSwgX091dF8gSE1FTlUqKSB7IHJldHVybiBF
X05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdmFsaWRh
dGVVc2VySW50ZXJmYWNlSXRlbShfSW5fb3B0XyBJV2ViVmlldyosIFVJTlQsIEJPT0wsIF9PdXRf
IEJPT0wqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2hvdWxkUGVyZm9ybUFjdGlvbihfSW5fb3B0XyBJV2ViVmlldyosIFVJTlQs
IFVJTlQpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBkcmFnRGVzdGluYXRpb25BY3Rpb25NYXNrRm9yRHJhZ2dpbmdJbmZvKF9Jbl9v
cHRfIElXZWJWaWV3KiwgX0luX29wdF8gSURhdGFPYmplY3QqLCBfSW5fb3B0XyBXZWJEcmFnRGVz
dGluYXRpb25BY3Rpb24qKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oX0lu
X29wdF8gSVdlYlZpZXcqLCBXZWJEcmFnRGVzdGluYXRpb25BY3Rpb24sIF9Jbl9vcHRfIElEYXRh
T2JqZWN0KikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGRyYWdTb3VyY2VBY3Rpb25NYXNrRm9yUG9pbnQoX0luX29wdF8gSVdlYlZp
ZXcqLCBfSW5fIExQUE9JTlQsIF9PdXRfIFdlYkRyYWdTb3VyY2VBY3Rpb24qKSB7IHJldHVybiBF
X05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2lsbFBl
cmZvcm1EcmFnU291cmNlQWN0aW9uKF9Jbl9vcHRfIElXZWJWaWV3KiwgV2ViRHJhZ1NvdXJjZUFj
dGlvbiwgX0luXyBMUFBPSU5ULCBfSW5fb3B0XyBJRGF0YU9iamVjdCosIF9DT01fT3V0cHRyX29w
dF8gSURhdGFPYmplY3QqKik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKF9Jbl9vcHRfIElXZWJWaWV3Kiwgdm9pZCosIElQcm9w
ZXJ0eUJhZyopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBoYXNDdXN0b21NZW51SW1wbGVtZW50YXRpb24oX091dF8gQk9PTCopIHsg
cmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSB0cmFja0N1c3RvbVBvcHVwTWVudShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gSE1FTlUsIF9J
bl8gTFBQT0lOVCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIG1lYXN1cmVDdXN0b21NZW51SXRlbShJV2ViVmlldyosIHZvaWQqKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgZHJhd0N1c3RvbU1lbnVJdGVtKElXZWJWaWV3Kiwgdm9pZCopIHsgcmV0dXJuIEVfTk9USU1Q
TDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhZGRDdXN0b21NZW51
RHJhd2luZ0RhdGEoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIEhNRU5VKSB7IHJldHVybiBFX05P
VElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2xlYW5VcEN1
c3RvbU1lbnVEcmF3aW5nRGF0YShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gSE1FTlUpIHsgcmV0
dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBj
YW5UYWtlRm9jdXMoX0luX29wdF8gSVdlYlZpZXcqLCBCT09MLCBfT3V0XyBCT09MKikgeyByZXR1
cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHRh
a2VGb2N1cyhfSW5fb3B0XyBJV2ViVmlldyosIEJPT0wpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZWdpc3RlclVuZG9XaXRoVGFy
Z2V0KF9Jbl9vcHRfIElXZWJVbmRvVGFyZ2V0KiwgX0luXyBCU1RSLCBfSW5fb3B0XyBJVW5rbm93
biopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSByZW1vdmVBbGxBY3Rpb25zV2l0aFRhcmdldChfSW5fb3B0XyBJV2ViVW5kb1Rhcmdl
dCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRBY3Rpb25UaXRsZShfSW5fIEJTVFIpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1bmRvKCkgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlZG8oKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgY2FuVW5kbyhfT3V0XyBCT09MKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhblJlZG8oX091dF8gQk9PTCopIHsgcmV0dXJu
IEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwcmlu
dEZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKikgeyByZXR1cm4g
RV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZ0cERp
cmVjdG9yeVRlbXBsYXRlUGF0aChfSW5fb3B0XyBJV2ViVmlldyosIF9fZGVyZWZfb3B0X291dCBC
U1RSKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHdlYlZpZXdIZWFkZXJIZWlnaHQoX0luX29wdF8gSVdlYlZpZXcqLCBfT3V0XyBm
bG9hdCopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3Rm9v
dGVySGVpZ2h0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gZmxvYXQqKTsKLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZHJhd0hlYWRlckluUmVjdChfSW5fb3B0XyBJV2Vi
VmlldyosIF9Jbl8gUkVDVCosIFVMT05HX1BUUik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGRyYXdGb290ZXJJblJlY3QoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIFJF
Q1QqLCBVTE9OR19QVFIsIFVJTlQsIFVJTlQpOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSB3ZWJWaWV3UHJpbnRpbmdNYXJnaW5SZWN0KF9Jbl9vcHRfIElXZWJWaWV3Kiwg
X091dF8gUkVDVCopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYW5S
dW5Nb2RhbChfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05PVElN
UEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY3JlYXRlTW9kYWxE
aWFsb2coX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViVVJMUmVxdWVzdCosIF9DT01f
T3V0cHRyX29wdF8gSVdlYlZpZXcqKik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHJ1bk1vZGFsKF9Jbl9vcHRfIElXZWJWaWV3KikgeyByZXR1cm4gRV9OT1RJTVBMOyB9
Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGlzTWVudUJhclZpc2libGUo
X0luX29wdF8gSVdlYlZpZXcqLCBfT3V0XyBCT09MKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0g
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE1lbnVCYXJWaXNpYmxlKF9J
bl9vcHRfIElXZWJWaWV3KiwgQk9PTCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJ1bkRhdGFiYXNlU2l6ZUxpbWl0UHJvbXB0KF9J
bl9vcHRfIElXZWJWaWV3KiwgX0luXyBCU1RSLCBfSW5fb3B0XyBJV2ViRnJhbWUqLCBfT3V0XyBC
T09MKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHBhaW50Q3VzdG9tU2Nyb2xsYmFyKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBI
REMsIFJFQ1QsIFdlYlNjcm9sbEJhckNvbnRyb2xTaXplLCBXZWJTY3JvbGxiYXJDb250cm9sU3Rh
dGUsIFdlYlNjcm9sbGJhckNvbnRyb2xQYXJ0LCBCT09MLCBmbG9hdCwgZmxvYXQsIFdlYlNjcm9s
bGJhckNvbnRyb2xQYXJ0TWFzaykgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhaW50Q3VzdG9tU2Nyb2xsQ29ybmVyKF9Jbl9vcHRf
IElXZWJWaWV3KiwgX0luXyBIREMsIFJFQ1QpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotCi1wcml2
YXRlOgotICAgIGludCBtX3JlZkNvdW50IHsgMSB9OwotfTsKLQotI2VuZGlmCkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9SZXNvdXJjZUxvYWREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2luTGF1bmNoZXIvUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwCShyZXZpc2lvbiAxODg5NzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9SZXNvdXJjZUxvYWREZWxlZ2F0ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTI5ICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNC0yMDE1IEFw
cGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotKiBhcmUgbWV0OgotKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0qIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSoKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNsdWRl
ICJzdGRhZnguaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIgotCi0jaW5jbHVk
ZSAiUGFnZUxvYWRUZXN0Q2xpZW50LmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXIuaCIKLSNpbmNs
dWRlIDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+Ci0jaW5jbHVkZSA8Y29taXAuaD4KLSNpbmNsdWRl
IDxjb21tY3RybC5oPgotI2luY2x1ZGUgPGNvbW1kbGcuaD4KLSNpbmNsdWRlIDxvYmpiYXNlLmg+
Ci0jaW5jbHVkZSA8c2hsd2FwaS5oPgotI2luY2x1ZGUgPHdpbmluZXQuaD4KLQotSFJFU1VMVCBS
ZXNvdXJjZUxvYWREZWxlZ2F0ZTo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCi17Ci0gICAgaWYgKCFwcHZPYmplY3QpCi0gICAg
ICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKnBwdk9iamVjdCA9IG51bGxwdHI7Ci0gICAgaWYg
KElzRXF1YWxJSUQocmlpZCwgSUlEX0lVbmtub3duKSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0
YXRpY19jYXN0PElXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZSo+KHRoaXMpOwotICAgIGVsc2UgaWYg
KElzRXF1YWxJSUQocmlpZCwgSUlEX0lXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZSkpCi0gICAgICAg
ICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUqPih0aGlz
KTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFX05PSU5URVJGQUNFOwotCi0gICAgQWRkUmVm
KCk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLVVMT05HIFJlc291cmNlTG9hZERlbGVnYXRlOjpB
ZGRSZWYoKQotewotICAgIHJldHVybiArK21fcmVmQ291bnQ7Ci19Ci0KLVVMT05HIFJlc291cmNl
TG9hZERlbGVnYXRlOjpSZWxlYXNlKCkKLXsKLSAgICBVTE9ORyBuZXdSZWYgPSAtLW1fcmVmQ291
bnQ7Ci0gICAgaWYgKCFuZXdSZWYpCi0gICAgICAgIGRlbGV0ZSB0aGlzOwotCi0gICAgcmV0dXJu
IG5ld1JlZjsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6aWRlbnRpZmllckZv
ckluaXRpYWxSZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYlVSTFJlcXVl
c3QqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikK
LXsKLSAgICBpZiAoIW1fY2xpZW50KQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAgbV9j
bGllbnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEluaXRpYXRlUmVzb3VyY2VMb2FkKGlkZW50
aWZpZXIpOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2FkRGVs
ZWdhdGU6OndpbGxTZW5kUmVxdWVzdChfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcs
IF9Jbl9vcHRfIElXZWJVUkxSZXF1ZXN0KiwgX0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiwgX0lu
X29wdF8gSVdlYkRhdGFTb3VyY2UqLCBfQ09NX091dHB0cl9vcHRfIElXZWJVUkxSZXF1ZXN0Kiog
cmVzdWx0KQotewotICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwot
ICAgICpyZXN1bHQgPSBudWxscHRyOwotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNV
TFQgUmVzb3VyY2VMb2FkRGVsZWdhdGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcsIF9Jbl9vcHRfIElXZWJVUkxBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKikKLXsKLSAgICBy
ZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFJlc291cmNlTG9hZERlbGVnYXRlOjpkaWRD
YW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVk
IGxvbmcsIF9Jbl9vcHRfIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSosIF9Jbl9vcHRf
IElXZWJEYXRhU291cmNlKikKLXsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxU
IFJlc291cmNlTG9hZERlbGVnYXRlOjpkaWRSZWNlaXZlUmVzcG9uc2UoX0luX29wdF8gSVdlYlZp
ZXcqLCB1bnNpZ25lZCBsb25nLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqLCBfSW5fb3B0XyBJ
V2ViRGF0YVNvdXJjZSopCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBS
ZXNvdXJjZUxvYWREZWxlZ2F0ZTo6ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoX0luX29wdF8gSVdl
YlZpZXcqLCB1bnNpZ25lZCBsb25nLCBVSU5ULCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopCi17
Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0
ZTo6ZGlkRmluaXNoTG9hZGluZ0Zyb21EYXRhU291cmNlKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopCi17Ci0gICAg
aWYgKCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIG1fY2xpZW50LT5w
YWdlTG9hZFRlc3RDbGllbnQoKS5kaWRFbmRSZXNvdXJjZUxvYWQoaWRlbnRpZmllcik7Ci0KLSAg
ICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6ZGlkRmFp
bExvYWRpbmdXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIF9Jbl9vcHRfIElXZWJFcnJvciosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKikKLXsK
LSAgICBpZiAoIW1fY2xpZW50KQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAgbV9jbGll
bnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEVuZFJlc291cmNlTG9hZChpZGVudGlmaWVyKTsK
LQotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFJlc291cmNlTG9hZERlbGVnYXRlOjpw
bHVnSW5GYWlsZWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJy
b3IqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsK
LX0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1Jlc291cmNlTG9hZERlbGVnYXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvUmVzb3VyY2VMb2FkRGVsZWdhdGUuaAkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvUmVzb3VyY2VMb2FkRGVsZWdhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1OSArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTQt
MjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0qIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8K
LQotI2lmbmRlZiBSZXNvdXJjZUxvYWREZWxlZ2F0ZV9oCi0jZGVmaW5lIFJlc291cmNlTG9hZERl
bGVnYXRlX2gKLQotI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KLQotY2xhc3MgV2luTGF1bmNo
ZXI7Ci0KLWNsYXNzIFJlc291cmNlTG9hZERlbGVnYXRlIDogcHVibGljIElXZWJSZXNvdXJjZUxv
YWREZWxlZ2F0ZSB7Ci1wdWJsaWM6Ci0gICAgUmVzb3VyY2VMb2FkRGVsZWdhdGUoV2luTGF1bmNo
ZXIqIGNsaWVudCkKLSAgICAgICAgOiBtX2NsaWVudChjbGllbnQpIHsgfQotCi0gICAgLy8gSVVu
a25vd24KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZh
Y2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwotICAg
IHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7Ci0gICAgdmlydHVhbCBV
TE9ORyBTVERNRVRIT0RDQUxMVFlQRSBSZWxlYXNlKCk7Ci0KLSAgICAvLyBJV2ViUmVzb3VyY2VM
b2FkRGVsZWdhdGUKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgaWRlbnRp
ZmllckZvckluaXRpYWxSZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYlVS
TFJlcXVlc3QqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
Zmllcik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdpbGxTZW5kUmVx
dWVzdChfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgX0luX29w
dF8gSVdlYlVSTFJlcXVlc3QqLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqIHJlZGlyZWN0UmVz
cG9uc2UsIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKiwgX0NPTV9PdXRwdHJfb3B0XyBJV2ViVVJM
UmVxdWVzdCoqIG5ld1JlcXVlc3QpOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoX0luX29wdF8gSVdlYlZpZXcq
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIF9Jbl9vcHRfIElXZWJVUkxBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKik7Ci0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKF9J
bl9vcHRfIElXZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2Vi
VVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopOwot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRSZWNlaXZlUmVzcG9uc2Uo
X0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIF9Jbl9vcHRfIElX
ZWJVUkxSZXNwb25zZSosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKik7Ci0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKF9Jbl9vcHRf
IElXZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBVSU5UIGxlbmd0aCwgX0luX29w
dF8gSVdlYkRhdGFTb3VyY2UqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgZGlkRmluaXNoTG9hZGluZ0Zyb21EYXRhU291cmNlKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyAgSVdlYkRhdGFTb3VyY2UqKTsKLSAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkRmFpbExvYWRpbmdXaXRoRXJyb3Io
X0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIF9Jbl9vcHRfIElX
ZWJFcnJvciosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKik7Ci0gICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHBsdWdJbkZhaWxlZFdpdGhFcnJvcihfSW5fb3B0XyBJV2ViVmll
dyosIF9Jbl9vcHRfIElXZWJFcnJvciosIF9Jbl9vcHRfIElXZWJEYXRhU291cmNlKik7Ci0KLXBy
aXZhdGU6Ci0gICAgV2luTGF1bmNoZXIqIG1fY2xpZW50OwotICAgIGludCBtX3JlZkNvdW50IHsg
MSB9OwotfTsKLQotI2VuZGlmIC8vIFJlc291cmNlTG9hZERlbGVnYXRlCkluZGV4OiBUb29scy9X
aW5MYXVuY2hlci9XZWJEb3dubG9hZERlbGVnYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
aW5MYXVuY2hlci9XZWJEb3dubG9hZERlbGVnYXRlLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysg
VG9vbHMvV2luTGF1bmNoZXIvV2ViRG93bmxvYWREZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTU4ICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1l
dDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8KLQotI2luY2x1ZGUgInN0ZGFm
eC5oIgotI2luY2x1ZGUgIldlYkRvd25sb2FkRGVsZWdhdGUuaCIKLQotI2luY2x1ZGUgPHNobG9i
ai5oPgotCi1XZWJEb3dubG9hZERlbGVnYXRlOjpXZWJEb3dubG9hZERlbGVnYXRlKCkKLXsKLX0K
LQotV2ViRG93bmxvYWREZWxlZ2F0ZTo6fldlYkRvd25sb2FkRGVsZWdhdGUoKQotewotfQotCi1I
UkVTVUxUIFdlYkRvd25sb2FkRGVsZWdhdGU6OlF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJp
aWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KQotewotICAgIGlmICghcHB2T2JqZWN0
KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpwcHZPYmplY3QgPSBudWxscHRyOwot
Ci0gICAgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JVW5rbm93bikpCi0gICAgICAgICpwcHZP
YmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViRG93bmxvYWREZWxlZ2F0ZSo+KHRoaXMpOwotICAgIGVs
c2UgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JV2ViRG93bmxvYWREZWxlZ2F0ZSkpCi0gICAg
ICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViRG93bmxvYWREZWxlZ2F0ZSo+KHRoaXMp
OwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7Ci0KLSAgICBBZGRSZWYo
KTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQotVUxPTkcgV2ViRG93bmxvYWREZWxlZ2F0ZTo6QWRk
UmVmKCkKLXsKLSAgICBtX3JlZkNvdW50Kys7Ci0gICAgcmV0dXJuIG1fcmVmQ291bnQ7Ci19Ci0K
LVVMT05HIFdlYkRvd25sb2FkRGVsZWdhdGU6OlJlbGVhc2UoKQotewotICAgIG1fcmVmQ291bnQt
LTsKLSAgICBpbnQgcmVmQ291bnQgPSBtX3JlZkNvdW50OwotICAgIGlmICghcmVmQ291bnQpCi0g
ICAgICAgIGRlbGV0ZSB0aGlzOwotICAgIHJldHVybiByZWZDb3VudDsKLX0KLQotSFJFU1VMVCBX
ZWJEb3dubG9hZERlbGVnYXRlOjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFt
ZShfSW5fb3B0XyBJV2ViRG93bmxvYWQqIGRvd25sb2FkLCBfSW5fIEJTVFIgZmlsZW5hbWUpCi17
Ci0gICAgaWYgKCFkb3dubG9hZCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIHdj
aGFyX3QgZGVza3RvcERpcmVjdG9yeVtNQVhfUEFUSF07Ci0gICAgaWYgKEZBSUxFRChTSEdldEZv
bGRlclBhdGhXKDAsIENTSURMX0RFU0tUT1AsIDAsIDAsIGRlc2t0b3BEaXJlY3RvcnkpKSkKLSAg
ICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIF9ic3RyX3QgZGVzdGluYXRpb24gPSBfYnN0cl90
KGRlc2t0b3BEaXJlY3RvcnkpICsgTCJcXCIgKyA6OlBhdGhGaW5kRmlsZU5hbWVXKGZpbGVuYW1l
KTsKLQotICAgIGlmICg6OlBhdGhGaWxlRXhpc3RzKGRlc3RpbmF0aW9uKSkKLSAgICAgICAgcmV0
dXJuIEVfRkFJTDsKLQotICAgIGRvd25sb2FkLT5zZXREZXN0aW5hdGlvbihkZXN0aW5hdGlvbiwg
VFJVRSk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgV2ViRG93bmxvYWREZWxlZ2F0
ZTo6ZGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoX0luX29wdF8gSVdlYkRvd25sb2Fk
KiBkb3dubG9hZCwgX0luX29wdF8gSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKiBjaGFs
bGVuZ2UpCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBXZWJEb3dubG9h
ZERlbGVnYXRlOjpkaWRDcmVhdGVEZXN0aW5hdGlvbihfSW5fb3B0XyBJV2ViRG93bmxvYWQqIGRv
d25sb2FkLCBfSW5fIEJTVFIgZGVzdGluYXRpb24pCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsK
LX0KLQotSFJFU1VMVCBXZWJEb3dubG9hZERlbGVnYXRlOjpkaWRGYWlsV2l0aEVycm9yKF9Jbl9v
cHRfIElXZWJEb3dubG9hZCogZG93bmxvYWQsIF9Jbl9vcHRfIElXZWJFcnJvciogZXJyb3IpCi17
Ci0gICAgaWYgKCFkb3dubG9hZCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIGRv
d25sb2FkLT5SZWxlYXNlKCk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgV2ViRG93
bmxvYWREZWxlZ2F0ZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKF9Jbl9vcHRf
IElXZWJEb3dubG9hZCogZG93bmxvYWQsIF9Jbl9vcHRfIElXZWJVUkxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSogY2hhbGxlbmdlKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNV
TFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6ZGlkUmVjZWl2ZURhdGFPZkxlbmd0aChfSW5fb3B0XyBJ
V2ViRG93bmxvYWQqIGRvd25sb2FkLCB1bnNpZ25lZCBsZW5ndGgpCi17Ci0gICAgcmV0dXJuIEVf
Tk9USU1QTDsKLX0KLQotSFJFU1VMVCBXZWJEb3dubG9hZERlbGVnYXRlOjpkaWRSZWNlaXZlUmVz
cG9uc2UoX0luX29wdF8gSVdlYkRvd25sb2FkKiBkb3dubG9hZCwgX0luX29wdF8gSVdlYlVSTFJl
c3BvbnNlKiByZXNwb25zZSkKLXsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxU
IFdlYkRvd25sb2FkRGVsZWdhdGU6OnNob3VsZERlY29kZVNvdXJjZURhdGFPZk1JTUVUeXBlKF9J
bl9vcHRfIElXZWJEb3dubG9hZCogZG93bmxvYWQsIF9Jbl8gQlNUUiBlbmNvZGluZ1R5cGUsIF9P
dXRfIEJPT0wqIHNob3VsZERlY29kZSkKLXsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1I
UkVTVUxUIFdlYkRvd25sb2FkRGVsZWdhdGU6OndpbGxSZXN1bWVXaXRoUmVzcG9uc2UoX0luX29w
dF8gSVdlYkRvd25sb2FkKiBkb3dubG9hZCwgX0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiByZXNw
b25zZSwgbG9uZyBsb25nIGZyb21CeXRlKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0K
LUhSRVNVTFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6d2lsbFNlbmRSZXF1ZXN0KF9Jbl9vcHRfIElX
ZWJEb3dubG9hZCogZG93bmxvYWQsIF9Jbl9vcHRfIElXZWJNdXRhYmxlVVJMUmVxdWVzdCogcmVx
dWVzdCwKLSAgICBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqIHJlZGlyZWN0UmVzcG9uc2UsIF9D
T01fT3V0cHRyX29wdF8gSVdlYk11dGFibGVVUkxSZXF1ZXN0KiogZmluYWxSZXF1ZXN0KQotewot
ICAgIGlmICghZmluYWxSZXF1ZXN0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpm
aW5hbFJlcXVlc3QgPSBudWxscHRyOwotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNV
TFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6ZGlkQmVnaW4oX0luX29wdF8gSVdlYkRvd25sb2FkKiBk
b3dubG9hZCkKLXsKLSAgICBpZiAoIWRvd25sb2FkKQotICAgICAgICByZXR1cm4gRV9QT0lOVEVS
OwotCi0gICAgZG93bmxvYWQtPkFkZFJlZigpOwotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVT
VUxUIFdlYkRvd25sb2FkRGVsZWdhdGU6OmRpZEZpbmlzaChfSW5fb3B0XyBJV2ViRG93bmxvYWQq
IGRvd25sb2FkKQotewotICAgIGlmICghZG93bmxvYWQpCi0gICAgICAgIHJldHVybiBFX1BPSU5U
RVI7Ci0KLSAgICBkb3dubG9hZC0+UmVsZWFzZSgpOwotICAgIHJldHVybiBTX09LOwotfQpJbmRl
eDogVG9vbHMvV2luTGF1bmNoZXIvV2ViRG93bmxvYWREZWxlZ2F0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dpbkxhdW5jaGVyL1dlYkRvd25sb2FkRGVsZWdhdGUuaAkocmV2aXNpb24gMTg4OTcw
KQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2ViRG93bmxvYWREZWxlZ2F0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJl
IG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0qIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0qIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8KLQotI2lmbmRlZiBXZWJE
b3dubG9hZERlbGVnYXRlX2gKLSNkZWZpbmUgV2ViRG93bmxvYWREZWxlZ2F0ZV9oCi0KLSNpbmNs
dWRlIDxXZWJLaXQvV2ViS2l0Lmg+Ci0jaW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgot
Ci1jbGFzcyBXZWJEb3dubG9hZERlbGVnYXRlIDogcHVibGljIElXZWJEb3dubG9hZERlbGVnYXRl
IHsKLXB1YmxpYzoKLSAgICBXZWJEb3dubG9hZERlbGVnYXRlKCk7Ci0gICAgdmlydHVhbCB+V2Vi
RG93bmxvYWREZWxlZ2F0ZSgpOwotCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiog
cHB2T2JqZWN0KTsKLSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigp
OwotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRlY2lkZURlc3RpbmF0aW9uV2l0aFN1
Z2dlc3RlZEZpbGVuYW1lKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl8gQlNUUiBmaWxlbmFt
ZSk7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZENhbmNlbEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl9vcHRfIElXZWJV
UkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBkaWRDcmVhdGVEZXN0aW5hdGlvbihfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBf
SW5fIEJTVFIgZGVzdGluYXRpb24pOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBkaWRGYWlsV2l0aEVycm9yKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl9vcHRfIElX
ZWJFcnJvciopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoX0luX29wdF8gSVdlYkRvd25sb2FkKiwgX0luX29w
dF8gSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKik7Ci0gICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIGRpZFJlY2VpdmVEYXRhT2ZMZW5ndGgoX0luX29wdF8gSVdlYkRv
d25sb2FkKiwgdW5zaWduZWQgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgZGlkUmVjZWl2ZVJlc3BvbnNlKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl9v
cHRfIElXZWJVUkxSZXNwb25zZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBzaG91bGREZWNvZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZShfSW5fb3B0XyBJV2ViRG93bmxv
YWQqLCBfSW5fIEJTVFIgZW5jb2RpbmdUeXBlLCBfT3V0XyBCT09MKiBzaG91bGREZWNvZGUpOwot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3aWxsUmVzdW1lV2l0aFJlc3Bv
bnNlKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl9vcHRfIElXZWJVUkxSZXNwb25zZSosIGxv
bmcgbG9uZyBmcm9tQnl0ZSk7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHdpbGxTZW5kUmVxdWVzdChfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBfSW5fb3B0XyBJV2ViTXV0
YWJsZVVSTFJlcXVlc3QqLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqIHJlZGlyZWN0UmVzcG9u
c2UsIF9DT01fT3V0cHRyX29wdF8gSVdlYk11dGFibGVVUkxSZXF1ZXN0KiogZmluYWxSZXF1ZXN0
KTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkQmVnaW4oX0luX29w
dF8gSVdlYkRvd25sb2FkKik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGRpZEZpbmlzaChfSW5fb3B0XyBJV2ViRG93bmxvYWQqKTsKLQotcHJpdmF0ZToKLSAgICBpbnQg
bV9yZWZDb3VudCB7IDEgfTsKLX07Ci0KLSNlbmRpZgpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNo
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUwMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA4LCAyMDEzLTIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBCcmVudCBGdWxnaGFtLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMSBBcHBjZWxlcmF0
b3IsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBBbGV4
IENocmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIldp
bkxhdW5jaGVyLmgiCi0KLSNpbmNsdWRlICJET01EZWZhdWx0SW1wbC5oIgotI2luY2x1ZGUgIldp
bkxhdW5jaGVyTGliUmVzb3VyY2UuaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlclJlcGxhY2UuaCIK
LSNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+Ci0jaW5jbHVkZSA8d3RmL0V4cG9ydE1h
Y3Jvcy5oPgotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgotCi0jaWYgVVNFKENGKQotI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NGUnVuTG9vcC5oPgotI2VuZGlmCi0KLSNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSA8Y2Fzc2VydD4KLSNpbmNsdWRlIDxmdW5jdGlvbmFsPgotI2luY2x1
ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDxzdHJpbmc+Ci0jaW5jbHVkZSA8dmVjdG9yPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci1mbG9hdCBkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhIV05EKTsK
LX0KLQotc3RhdGljIGNvbnN0IGludCBtYXhIaXN0b3J5U2l6ZSA9IDEwOwotCi10eXBlZGVmIF9j
b21fcHRyX3Q8X2NvbV9JSUlEPElXZWJNdXRhYmxlVVJMUmVxdWVzdCwgJl9fdXVpZG9mKElXZWJN
dXRhYmxlVVJMUmVxdWVzdCk+PiBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHI7Ci0KLVdpbkxhdW5j
aGVyOjpXaW5MYXVuY2hlcihIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sIHVzZUxh
eWVyZWRXZWJWaWV3LCBib29sIHBhZ2VMb2FkVGVzdGluZykKLSAgICA6IG1faE1haW5XbmQobWFp
blduZCkKLSAgICAsIG1faFVSTEJhclduZCh1cmxCYXJXbmQpCi0gICAgLCBtX3VzZUxheWVyZWRX
ZWJWaWV3KHVzZUxheWVyZWRXZWJWaWV3KQotICAgICwgbV9wYWdlTG9hZFRlc3RDbGllbnQoc3Rk
OjptYWtlX3VuaXF1ZTxQYWdlTG9hZFRlc3RDbGllbnQ+KHRoaXMsIHBhZ2VMb2FkVGVzdGluZykp
Ci17Ci19Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXI6OmluaXQoKQotewotICAgIHVwZGF0ZURldmlj
ZVNjYWxlRmFjdG9yKCk7Ci0KLSAgICBIUkVTVUxUIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2Uo
Q0xTSURfV2ViVmlldywgMCwgSUlEX0lXZWJWaWV3LCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
Jm1fd2ViVmlldy5HZXRJbnRlcmZhY2VQdHIoKSkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAg
ICAgICByZXR1cm4gaHI7Ci0KLSAgICBociA9IG1fd2ViVmlldy0+UXVlcnlJbnRlcmZhY2UoSUlE
X0lXZWJWaWV3UHJpdmF0ZTIsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbV93ZWJWaWV3UHJp
dmF0ZS5HZXRJbnRlcmZhY2VQdHIoKSkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICBy
ZXR1cm4gaHI7Ci0KLSAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkhpc3Rv
cnksIDAsIF9fdXVpZG9mKG1fd2ViSGlzdG9yeSksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigm
bV93ZWJIaXN0b3J5LkdldEludGVyZmFjZVB0cigpKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0g
ICAgICAgIHJldHVybiBocjsKLQotICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURf
V2ViQ29yZVN0YXRpc3RpY3MsIDAsIF9fdXVpZG9mKG1fc3RhdGlzdGljcyksIHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPigmbV9zdGF0aXN0aWNzLkdldEludGVyZmFjZVB0cigpKSk7Ci0gICAgaWYg
KEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGhyID0gV2ViS2l0Q3JlYXRl
SW5zdGFuY2UoQ0xTSURfV2ViQ2FjaGUsIDAsIF9fdXVpZG9mKG1fd2ViQ2FjaGUpLCByZWludGVy
cHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViQ2FjaGUuR2V0SW50ZXJmYWNlUHRyKCkpKTsKLQotICAg
IHJldHVybiBocjsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcjo6cHJlcGFyZVZpZXdzKEhXTkQg
bWFpblduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYgcmVxdWVzdGVkVVJM
LCBIV05EJiB2aWV3SHduZCkKLXsKLSAgICBpZiAoIW1fd2ViVmlldykKLSAgICAgICAgcmV0dXJu
IEVfRkFJTDsKLQotICAgIEhSRVNVTFQgaHIgPSBtX3dlYlZpZXctPnNldEhvc3RXaW5kb3cobWFp
blduZCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGhy
ID0gbV93ZWJWaWV3LT5pbml0V2l0aEZyYW1lKGNsaWVudFJlY3QsIDAsIDApOwotICAgIGlmIChG
QUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBpZiAoIXJlcXVlc3RlZFVSTCkg
ewotICAgICAgICBJV2ViRnJhbWVQdHIgZnJhbWU7Ci0gICAgICAgIGhyID0gbV93ZWJWaWV3LT5t
YWluRnJhbWUoJmZyYW1lLkdldEludGVyZmFjZVB0cigpKTsKLSAgICAgICAgaWYgKEZBSUxFRCho
cikpCi0gICAgICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICAgICAgZnJhbWUtPmxvYWRIVE1MU3Ry
aW5nKF9ic3RyX3QoZGVmYXVsdEhUTUwpLkdldEJTVFIoKSwgMCk7Ci0gICAgfQotCi0gICAgaHIg
PSBtX3dlYlZpZXdQcml2YXRlLT5zZXRUcmFuc3BhcmVudChtX3VzZUxheWVyZWRXZWJWaWV3KTsK
LSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgaHIgPSBtX3dl
YlZpZXdQcml2YXRlLT5zZXRVc2VzTGF5ZXJlZFdpbmRvdyhtX3VzZUxheWVyZWRXZWJWaWV3KTsK
LSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgaHIgPSBtX3dl
YlZpZXdQcml2YXRlLT52aWV3V2luZG93KCZ2aWV3SHduZCk7Ci0KLSAgICByZXR1cm4gaHI7Ci19
Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXI6OnNldEZyYW1lTG9hZERlbGVnYXRlKElXZWJGcmFtZUxv
YWREZWxlZ2F0ZSogZnJhbWVMb2FkRGVsZWdhdGUpCi17Ci0gICAgbV9mcmFtZUxvYWREZWxlZ2F0
ZSA9IGZyYW1lTG9hZERlbGVnYXRlOwotICAgIHJldHVybiBtX3dlYlZpZXctPnNldEZyYW1lTG9h
ZERlbGVnYXRlKGZyYW1lTG9hZERlbGVnYXRlKTsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcjo6
c2V0RnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUq
IGZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZSkKLXsKLSAgICByZXR1cm4gbV93ZWJWaWV3UHJpdmF0
ZS0+c2V0RnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKGZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZSk7
Ci19Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXI6OnNldFVJRGVsZWdhdGUoSVdlYlVJRGVsZWdhdGUq
IHVpRGVsZWdhdGUpCi17Ci0gICAgbV91aURlbGVnYXRlID0gdWlEZWxlZ2F0ZTsKLSAgICByZXR1
cm4gbV93ZWJWaWV3LT5zZXRVSURlbGVnYXRlKHVpRGVsZWdhdGUpOwotfQotCi1IUkVTVUxUIFdp
bkxhdW5jaGVyOjpzZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZSogYWNjZXNzaWJpbGl0eURlbGVnYXRlKQotewotICAgIG1fYWNjZXNzaWJpbGl0eURlbGVnYXRl
ID0gYWNjZXNzaWJpbGl0eURlbGVnYXRlOwotICAgIHJldHVybiBtX3dlYlZpZXctPnNldEFjY2Vz
c2liaWxpdHlEZWxlZ2F0ZShhY2Nlc3NpYmlsaXR5RGVsZWdhdGUpOwotfQotCi1IUkVTVUxUIFdp
bkxhdW5jaGVyOjpzZXRSZXNvdXJjZUxvYWREZWxlZ2F0ZShJV2ViUmVzb3VyY2VMb2FkRGVsZWdh
dGUqIHJlc291cmNlTG9hZERlbGVnYXRlKQotewotICAgIG1fcmVzb3VyY2VMb2FkRGVsZWdhdGUg
PSByZXNvdXJjZUxvYWREZWxlZ2F0ZTsKLSAgICByZXR1cm4gbV93ZWJWaWV3LT5zZXRSZXNvdXJj
ZUxvYWREZWxlZ2F0ZShyZXNvdXJjZUxvYWREZWxlZ2F0ZSk7Ci19Ci0KLUhSRVNVTFQgV2luTGF1
bmNoZXI6OnNldERvd25sb2FkRGVsZWdhdGUoSVdlYkRvd25sb2FkRGVsZWdhdGVQdHIgZG93bmxv
YWREZWxlZ2F0ZSkKLXsKLSAgICBtX2Rvd25sb2FkRGVsZWdhdGUgPSBkb3dubG9hZERlbGVnYXRl
OwotICAgIHJldHVybiBtX3dlYlZpZXctPnNldERvd25sb2FkRGVsZWdhdGUoZG93bmxvYWREZWxl
Z2F0ZSk7Ci19Ci0KLUlXZWJGcmFtZVB0ciBXaW5MYXVuY2hlcjo6bWFpbkZyYW1lKCkKLXsKLSAg
ICBJV2ViRnJhbWVQdHIgZnJhbWVQdHI7Ci0gICAgbV93ZWJWaWV3LT5tYWluRnJhbWUoJmZyYW1l
UHRyLkdldEludGVyZmFjZVB0cigpKTsKLSAgICByZXR1cm4gZnJhbWVQdHI7Ci19Ci0KLWJvb2wg
V2luTGF1bmNoZXI6OnNlZWRJbml0aWFsRGVmYXVsdFByZWZlcmVuY2VzKCkKLXsKLSAgICBJV2Vi
UHJlZmVyZW5jZXNQdHIgdG1wUHJlZmVyZW5jZXM7Ci0gICAgaWYgKEZBSUxFRChXZWJLaXRDcmVh
dGVJbnN0YW5jZShDTFNJRF9XZWJQcmVmZXJlbmNlcywgMCwgSUlEX0lXZWJQcmVmZXJlbmNlcywg
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ0bXBQcmVmZXJlbmNlcy5HZXRJbnRlcmZhY2VQdHIo
KSkpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKEZBSUxFRCh0bXBQcmVmZXJl
bmNlcy0+c3RhbmRhcmRQcmVmZXJlbmNlcygmbV9zdGFuZGFyZFByZWZlcmVuY2VzLkdldEludGVy
ZmFjZVB0cigpKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwot
fQotCi1ib29sIFdpbkxhdW5jaGVyOjpzZXRUb0RlZmF1bHRQcmVmZXJlbmNlcygpCi17Ci0gICAg
SFJFU1VMVCBociA9IG1fc3RhbmRhcmRQcmVmZXJlbmNlcy0+UXVlcnlJbnRlcmZhY2UoSUlEX0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbV9wcmVmc1By
aXZhdGUuR2V0SW50ZXJmYWNlUHRyKCkpKTsKLSAgICBpZiAoIVNVQ0NFRURFRChocikpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotI2lmIFVTRShDRykKLSAgICBtX3N0YW5kYXJkUHJlZmVyZW5j
ZXMtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoVFJVRSk7Ci0gICAgbV9wcmVmc1ByaXZhdGUtPnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKFRSVUUpOwotI2VuZGlmCi0KLSAgICBtX3By
ZWZzUHJpdmF0ZS0+c2V0RnVsbFNjcmVlbkVuYWJsZWQoVFJVRSk7Ci0gICAgbV9wcmVmc1ByaXZh
dGUtPnNldFNob3dEZWJ1Z0JvcmRlcnMoRkFMU0UpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRT
aG93UmVwYWludENvdW50ZXIoRkFMU0UpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRTaG91bGRJ
bnZlcnRDb2xvcnMoRkFMU0UpOwotCi0gICAgbV9zdGFuZGFyZFByZWZlcmVuY2VzLT5zZXRMb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHkoVFJVRSk7Ci0gICAgbV9wcmVmc1ByaXZhdGUtPnNldEF1dGhv
ckFuZFVzZXJTdHlsZXNFbmFibGVkKFRSVUUpOwotICAgIG1fc3RhbmRhcmRQcmVmZXJlbmNlcy0+
c2V0SmF2YVNjcmlwdEVuYWJsZWQoVFJVRSk7Ci0gICAgbV9wcmVmc1ByaXZhdGUtPnNldEFsbG93
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKEZBTFNFKTsKLSAgICBtX3ByZWZzUHJpdmF0ZS0+
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFRSVUUpOwotCi0gICAgbV9wcmVmc1ByaXZh
dGUtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoVFJVRSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotc3RhdGljIHZvaWQgdXBkYXRlTWVudUl0ZW1Gb3JIaXN0b3J5SXRlbShITUVOVSBtZW51
LCBJV2ViSGlzdG9yeUl0ZW0mIGhpc3RvcnlJdGVtLCBpbnQgY3VycmVudEhpc3RvcnlJdGVtKQot
ewotICAgIFVJTlQgbWVudUlEID0gSURNX0hJU1RPUllfTElOSzAgKyBjdXJyZW50SGlzdG9yeUl0
ZW07Ci0KLSAgICBNRU5VSVRFTUlORk8gbWVudUl0ZW1JbmZvID0geyAwIH07Ci0gICAgbWVudUl0
ZW1JbmZvLmNiU2l6ZSA9IHNpemVvZihNRU5VSVRFTUlORk8pOwotICAgIG1lbnVJdGVtSW5mby5m
TWFzayA9IE1JSU1fVFlQRTsKLSAgICBtZW51SXRlbUluZm8uZlR5cGUgPSBNRlRfU1RSSU5HOwot
Ci0gICAgX2JzdHJfdCB0aXRsZTsKLSAgICBoaXN0b3J5SXRlbS50aXRsZSh0aXRsZS5HZXRBZGRy
ZXNzKCkpOwotICAgIG1lbnVJdGVtSW5mby5kd1R5cGVEYXRhID0gc3RhdGljX2Nhc3Q8TFBXU1RS
Pih0aXRsZSk7Ci0KLSAgICA6OlNldE1lbnVJdGVtSW5mbyhtZW51LCBtZW51SUQsIEZBTFNFLCAm
bWVudUl0ZW1JbmZvKTsKLSAgICA6OkVuYWJsZU1lbnVJdGVtKG1lbnUsIG1lbnVJRCwgTUZfQllD
T01NQU5EIHwgTUZfRU5BQkxFRCk7Ci19Ci0KLXZvaWQgV2luTGF1bmNoZXI6OnNob3dMYXN0Vmlz
aXRlZFNpdGVzKElXZWJWaWV3JiB3ZWJWaWV3KQotewotICAgIEhNRU5VIG1lbnUgPSA6OkdldE1l
bnUobV9oTWFpblduZCk7Ci0KLSAgICBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQmFja0Zvcndh
cmRMaXN0LCAmX191dWlkb2YoSVdlYkJhY2tGb3J3YXJkTGlzdCk+PiBiYWNrRm9yd2FyZExpc3Q7
Ci0gICAgSFJFU1VMVCBociA9IHdlYlZpZXcuYmFja0ZvcndhcmRMaXN0KCZiYWNrRm9yd2FyZExp
c3QuR2V0SW50ZXJmYWNlUHRyKCkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpbnQgY2FwYWNpdHkgPSAwOwotICAgIGhyID0gYmFja0ZvcndhcmRMaXN0LT5j
YXBhY2l0eSgmY2FwYWNpdHkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpbnQgYmFja0NvdW50ID0gMDsKLSAgICBociA9IGJhY2tGb3J3YXJkTGlzdC0+YmFj
a0xpc3RDb3VudCgmYmFja0NvdW50KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgVUlOVCBiYWNrU2V0dGluZyA9IE1GX0JZQ09NTUFORCB8ICgoYmFja0NvdW50
KSA/IE1GX0VOQUJMRUQgOiBNRl9ESVNBQkxFRCk7Ci0gICAgOjpFbmFibGVNZW51SXRlbShtZW51
LCBJRE1fSElTVE9SWV9CQUNLV0FSRCwgYmFja1NldHRpbmcpOwotCi0gICAgaW50IGZvcndhcmRD
b3VudCA9IDA7Ci0gICAgaHIgPSBiYWNrRm9yd2FyZExpc3QtPmZvcndhcmRMaXN0Q291bnQoJmZv
cndhcmRDb3VudCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQotICAg
IFVJTlQgZm9yd2FyZFNldHRpbmcgPSBNRl9CWUNPTU1BTkQgfCAoKGZvcndhcmRDb3VudCkgPyBN
Rl9FTkFCTEVEIDogTUZfRElTQUJMRUQpOwotICAgIDo6RW5hYmxlTWVudUl0ZW0obWVudSwgSURN
X0hJU1RPUllfRk9SV0FSRCwgZm9yd2FyZFNldHRpbmcpOwotCi0gICAgSVdlYkhpc3RvcnlJdGVt
UHRyIGN1cnJlbnRJdGVtOwotICAgIGhyID0gYmFja0ZvcndhcmRMaXN0LT5jdXJyZW50SXRlbSgm
Y3VycmVudEl0ZW0uR2V0SW50ZXJmYWNlUHRyKCkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBociA9IG1fd2ViSGlzdG9yeS0+YWRkSXRlbXMoMSwgJmN1cnJl
bnRJdGVtLkdldEludGVyZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkhpc3RvcnlQcml2YXRlLCAm
X191dWlkb2YoSVdlYkhpc3RvcnlQcml2YXRlKT4+IHdlYkhpc3Rvcnk7Ci0gICAgaHIgPSBtX3dl
Ykhpc3RvcnktPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViSGlzdG9yeVByaXZhdGUsIHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPigmd2ViSGlzdG9yeS5HZXRJbnRlcmZhY2VQdHIoKSkpOwotICAgIGlm
IChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbnQgdG90YWxMaXN0Q291bnQg
PSAwOwotICAgIGhyID0gd2ViSGlzdG9yeS0+YWxsSXRlbXMoJnRvdGFsTGlzdENvdW50LCAwKTsK
LSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9oaXN0b3J5SXRl
bXMucmVzaXplKHRvdGFsTGlzdENvdW50KTsKLQotICAgIHN0ZDo6dmVjdG9yPElXZWJIaXN0b3J5
SXRlbSo+IGhpc3RvcnlUb0xvYWQodG90YWxMaXN0Q291bnQpOwotICAgIGhyID0gd2ViSGlzdG9y
eS0+YWxsSXRlbXMoJnRvdGFsTGlzdENvdW50LCBoaXN0b3J5VG9Mb2FkLmRhdGEoKSk7Ci0gICAg
aWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQotICAgIHNpemVfdCBpID0gMDsKLSAg
ICBmb3IgKGF1dG8mIGN1ciA6IGhpc3RvcnlUb0xvYWQpIHsKLSAgICAgICAgbV9oaXN0b3J5SXRl
bXNbaV0uQXR0YWNoKGN1cik7Ci0gICAgICAgICsraTsKLSAgICB9Ci0KLSAgICBpbnQgYWxsSXRl
bXNPZmZzZXQgPSAwOwotICAgIGlmICh0b3RhbExpc3RDb3VudCA+IG1heEhpc3RvcnlTaXplKQot
ICAgICAgICBhbGxJdGVtc09mZnNldCA9IHRvdGFsTGlzdENvdW50IC0gbWF4SGlzdG9yeVNpemU7
Ci0KLSAgICBpbnQgY3VycmVudEhpc3RvcnlJdGVtID0gMDsKLSAgICBmb3IgKGludCBpID0gMDsg
aSA8IG1faGlzdG9yeUl0ZW1zLnNpemUoKSAmJiAoYWxsSXRlbXNPZmZzZXQgKyBjdXJyZW50SGlz
dG9yeUl0ZW0pIDwgbV9oaXN0b3J5SXRlbXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgdXBkYXRl
TWVudUl0ZW1Gb3JIaXN0b3J5SXRlbShtZW51LCAqKG1faGlzdG9yeUl0ZW1zW2FsbEl0ZW1zT2Zm
c2V0ICsgY3VycmVudEhpc3RvcnlJdGVtXSksIGN1cnJlbnRIaXN0b3J5SXRlbSk7Ci0gICAgICAg
ICsrY3VycmVudEhpc3RvcnlJdGVtOwotICAgIH0KLQotICAgIC8vIEhpZGUgYW55IGhpc3Rvcnkg
d2UgYXJlbid0IHVzaW5nIHlldC4KLSAgICBmb3IgKGludCBpID0gY3VycmVudEhpc3RvcnlJdGVt
OyBpIDwgbWF4SGlzdG9yeVNpemU7ICsraSkKLSAgICAgICAgOjpFbmFibGVNZW51SXRlbShtZW51
LCBJRE1fSElTVE9SWV9MSU5LMCArIGksIE1GX0JZQ09NTUFORCB8IE1GX0RJU0FCTEVEKTsKLX0K
LQotdm9pZCBXaW5MYXVuY2hlcjo6bGF1bmNoSW5zcGVjdG9yKCkKLXsKLSAgICBpZiAoIW1fd2Vi
Vmlld1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghU1VDQ0VFREVEKG1fd2Vi
Vmlld1ByaXZhdGUtPmluc3BlY3RvcigmbV9pbnNwZWN0b3IuR2V0SW50ZXJmYWNlUHRyKCkpKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9pbnNwZWN0b3ItPnNob3coKTsKLX0KLQotdm9pZCBX
aW5MYXVuY2hlcjo6bmF2aWdhdGVGb3J3YXJkT3JCYWNrd2FyZChIV05EIGhXbmQsIFVJTlQgbWVu
dUlEKQotewotICAgIGlmICghbV93ZWJWaWV3KQotICAgICAgICByZXR1cm47Ci0KLSAgICBCT09M
IHdlbnRCYWNrT3JGb3J3YXJkID0gRkFMU0U7Ci0gICAgaWYgKElETV9ISVNUT1JZX0ZPUldBUkQg
PT0gbWVudUlEKQotICAgICAgICBtX3dlYlZpZXctPmdvRm9yd2FyZCgmd2VudEJhY2tPckZvcndh
cmQpOwotICAgIGVsc2UKLSAgICAgICAgbV93ZWJWaWV3LT5nb0JhY2soJndlbnRCYWNrT3JGb3J3
YXJkKTsKLX0KLQotdm9pZCBXaW5MYXVuY2hlcjo6bmF2aWdhdGVUb0hpc3RvcnkoSFdORCBoV25k
LCBVSU5UIG1lbnVJRCkKLXsKLSAgICBpZiAoIW1fd2ViVmlldykKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgaW50IGhpc3RvcnlFbnRyeSA9IG1lbnVJRCAtIElETV9ISVNUT1JZX0xJTkswOwotICAg
IGlmIChoaXN0b3J5RW50cnkgPiBtX2hpc3RvcnlJdGVtcy5zaXplKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIElXZWJIaXN0b3J5SXRlbVB0ciBkZXNpcmVkSGlzdG9yeUl0ZW0gPSBtX2hpc3Rv
cnlJdGVtc1toaXN0b3J5RW50cnldOwotICAgIGlmICghZGVzaXJlZEhpc3RvcnlJdGVtKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBCT09MIHN1Y2NlZWRlZCA9IEZBTFNFOwotICAgIG1fd2ViVmll
dy0+Z29Ub0JhY2tGb3J3YXJkSXRlbShkZXNpcmVkSGlzdG9yeUl0ZW0sICZzdWNjZWVkZWQpOwot
Ci0gICAgX2JzdHJfdCBmcmFtZVVSTDsKLSAgICBkZXNpcmVkSGlzdG9yeUl0ZW0tPlVSTFN0cmlu
ZyhmcmFtZVVSTC5HZXRBZGRyZXNzKCkpOwotCi0gICAgOjpTZW5kTWVzc2FnZShtX2hVUkxCYXJX
bmQsIChVSU5UKVdNX1NFVFRFWFQsIDAsIChMUEFSQU0pZnJhbWVVUkwuR2V0QlNUUigpKTsKLX0K
LQotYm9vbCBXaW5MYXVuY2hlcjo6Z29CYWNrKCkKLXsKLSAgICBCT09MIHdlbnRCYWNrID0gRkFM
U0U7Ci0gICAgbV93ZWJWaWV3LT5nb0JhY2soJndlbnRCYWNrKTsKLSAgICByZXR1cm4gd2VudEJh
Y2s7Ci19Ci0KLWJvb2wgV2luTGF1bmNoZXI6OmdvRm9yd2FyZCgpCi17Ci0gICAgQk9PTCB3ZW50
Rm9yd2FyZCA9IEZBTFNFOwotICAgIG1fd2ViVmlldy0+Z29Gb3J3YXJkKCZ3ZW50Rm9yd2FyZCk7
Ci0gICAgcmV0dXJuIHdlbnRGb3J3YXJkOwotfQotCi1IUkVTVUxUIFdpbkxhdW5jaGVyOjpsb2Fk
VVJMKGNvbnN0IEJTVFImIHBhc3NlZFVSTCkKLXsKLSAgICBfYnN0cl90IHVybEJTdHIocGFzc2Vk
VVJMKTsKLSAgICBpZiAoISF1cmxCU3RyICYmICg6OlBhdGhGaWxlRXhpc3RzKHVybEJTdHIpIHx8
IDo6UGF0aElzVU5DKHVybEJTdHIpKSkgewotICAgICAgICBUQ0hBUiBmaWxlVVJMW0lOVEVSTkVU
X01BWF9VUkxfTEVOR1RIXTsKLSAgICAgICAgRFdPUkQgZmlsZVVSTExlbmd0aCA9IHNpemVvZihm
aWxlVVJMKSAvIHNpemVvZihmaWxlVVJMWzBdKTsKLQotICAgICAgICBpZiAoU1VDQ0VFREVEKDo6
VXJsQ3JlYXRlRnJvbVBhdGgodXJsQlN0ciwgZmlsZVVSTCwgJmZpbGVVUkxMZW5ndGgsIDApKSkK
LSAgICAgICAgICAgIHVybEJTdHIgPSBmaWxlVVJMOwotICAgIH0KLQotICAgIElXZWJGcmFtZVB0
ciBmcmFtZTsKLSAgICBIUkVTVUxUIGhyID0gbV93ZWJWaWV3LT5tYWluRnJhbWUoJmZyYW1lLkdl
dEludGVyZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhy
OwotCi0gICAgaWYgKCFwYXNzZWRVUkwpCi0gICAgICAgIHJldHVybiBmcmFtZS0+bG9hZEhUTUxT
dHJpbmcoX2JzdHJfdChkZWZhdWx0SFRNTCkuR2V0QlNUUigpLCAwKTsKLQotICAgIElXZWJNdXRh
YmxlVVJMUmVxdWVzdFB0ciByZXF1ZXN0OwotICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2Uo
Q0xTSURfV2ViTXV0YWJsZVVSTFJlcXVlc3QsIDAsIElJRF9JV2ViTXV0YWJsZVVSTFJlcXVlc3Qs
ICh2b2lkKiopJnJlcXVlc3QpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4g
aHI7Ci0KLSAgICBociA9IHJlcXVlc3QtPmluaXRXaXRoVVJMKHdjc3N0cihzdGF0aWNfY2FzdDx3
Y2hhcl90Kj4odXJsQlN0ciksIEwiOi8vIikgPyB1cmxCU3RyIDogX2JzdHJfdChMImh0dHA6Ly8i
KSArIHVybEJTdHIsIFdlYlVSTFJlcXVlc3RVc2VQcm90b2NvbENhY2hlUG9saWN5LCA2MCk7Ci0g
ICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIF9ic3RyX3QgbWV0
aG9kQlN0cihMIkdFVCIpOwotICAgIGhyID0gcmVxdWVzdC0+c2V0SFRUUE1ldGhvZChtZXRob2RC
U3RyKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgaHIg
PSBmcmFtZS0+bG9hZFJlcXVlc3QocmVxdWVzdCk7Ci0KLSAgICByZXR1cm4gaHI7Ci19Ci0KLXZv
aWQgV2luTGF1bmNoZXI6OmV4aXRQcm9ncmFtKCkKLXsKLSAgICA6OlBvc3RNZXNzYWdlKG1faE1h
aW5XbmQsIHN0YXRpY19jYXN0PFVJTlQ+KFdNX0NPTU1BTkQpLCBNQUtFTFBBUkFNKElETV9FWElU
LCAwKSwgMCk7Ci19Ci0KLXZvaWQgV2luTGF1bmNoZXI6OnNldFVzZXJBZ2VudChVSU5UIG1lbnVJ
RCkKLXsKLSAgICBpZiAoIXdlYlZpZXcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgX2JzdHJf
dCBjdXN0b21Vc2VyQWdlbnQ7Ci0gICAgc3dpdGNoIChtZW51SUQpIHsKLSAgICBjYXNlIElETV9V
QV9ERUZBVUxUOgotICAgICAgICAvLyBTZXQgdG8gbnVsbCB1c2VyIGFnZW50Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSURNX1VBX1NBRkFSSV84XzA6Ci0gICAgICAgIGN1c3RvbVVzZXJBZ2Vu
dCA9IEwiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTApIEFwcGxl
V2ViS2l0LzYwMC4xLjI1IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi84LjAgU2FmYXJpLzYw
MC4xLjI1IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfU0FGQVJJX0lPU184X0lQ
SE9ORToKLSAgICAgICAgY3VzdG9tVXNlckFnZW50ID0gTCJNb3ppbGxhLzUuMCAoaVBob25lOyBD
UFUgT1MgOF8xIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMS4xLjQgKEtIVE1MLCBsaWtl
IEdlY2tvKSBWZXJzaW9uLzguMCBNb2JpbGUvMTJCNDAzIFNhZmFyaS82MDAuMS40IjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfU0FGQVJJX0lPU184X0lQQUQ6Ci0gICAgICAgIGN1
c3RvbVVzZXJBZ2VudCA9IEwiTW96aWxsYS81LjAgKGlQYWQ7IENQVSBPUyA4XzEgbGlrZSBNYWMg
T1MgWCkgQXBwbGVXZWJLaXQvNjAwLjEuNCAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vOC4w
IE1vYmlsZS8xMkI0MDMgU2FmYXJpLzYwMC4xLjQiOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IElETV9VQV9JRV8xMToKLSAgICAgICAgY3VzdG9tVXNlckFnZW50ID0gTCJNb3ppbGxhLzUuMCAo
V2luZG93cyBOVCA2LjM7IFdPVzY0OyBUcmlkZW50LzcuMDsgcnY6MTEuMCkgbGlrZSBHZWNrbyI7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURNX1VBX0NIUk9NRV9NQUM6Ci0gICAgICAgIGN1
c3RvbVVzZXJBZ2VudCA9IEwiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFgg
MTBfOF8zKSBBcHBsZVdlYktpdC81MzcuMzEgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMjYu
MC4xNDEwLjY1IFNhZmFyaS81MzcuMzEiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElETV9V
QV9DSFJPTUVfV0lOOgotICAgICAgICBjdXN0b21Vc2VyQWdlbnQgPSBMIk1vemlsbGEvNS4wIChX
aW5kb3dzIE5UIDYuMjsgV09XNjQpIEFwcGxlV2ViS2l0LzUzNy4zMSAoS0hUTUwsIGxpa2UgR2Vj
a28pIENocm9tZS8yNi4wLjE0MTAuNjQgU2FmYXJpLzUzNy4zMSI7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgSURNX1VBX0ZJUkVGT1hfTUFDOgotICAgICAgICBjdXN0b21Vc2VyQWdlbnQgPSBM
Ik1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwLjg7IHJ2OjIwLjApIEdl
Y2tvLzIwMTAwMTAxIEZpcmVmb3gvMjAuMCI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURN
X1VBX0ZJUkVGT1hfV0lOOgotICAgICAgICBjdXN0b21Vc2VyQWdlbnQgPSBMIk1vemlsbGEvNS4w
IChXaW5kb3dzIE5UIDYuMjsgV09XNjQ7IHJ2OjIwLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gv
MjAuMCI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURNX1VBX09USEVSOgotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIEFTU0VSVCgwKTsgLy8gV2Ugc2hvdWxkIG5ldmVyIGhpdCB0aGlzIGNhc2UK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHNldFVzZXJBZ2VudChjdXN0b21Vc2VyQWdl
bnQpOwotfQotCi12b2lkIFdpbkxhdW5jaGVyOjpzZXRVc2VyQWdlbnQoX2JzdHJfdCYgY3VzdG9t
VXNlckFnZW50KQotewotICAgIHdlYlZpZXcoKS0+c2V0Q3VzdG9tVXNlckFnZW50KGN1c3RvbVVz
ZXJBZ2VudC5HZXRCU1RSKCkpOwotfQotCi1fYnN0cl90IFdpbkxhdW5jaGVyOjp1c2VyQWdlbnQo
KQotewotICAgIF9ic3RyX3QgdXNlckFnZW50OwotICAgIGlmIChGQUlMRUQod2ViVmlldygpLT5j
dXN0b21Vc2VyQWdlbnQoJnVzZXJBZ2VudC5HZXRCU1RSKCkpKSkKLSAgICAgICAgcmV0dXJuIF9i
c3RyX3QoTCItIFVua25vd24gLTogQ2FsbCBmYWlsZWQuIik7Ci0KLSAgICByZXR1cm4gdXNlckFn
ZW50OwotfQotCi10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJJQkFjdGlvbnMsICZf
X3V1aWRvZihJV2ViSUJBY3Rpb25zKT4+IElXZWJJQkFjdGlvbnNQdHI7Ci0KLXZvaWQgV2luTGF1
bmNoZXI6OnJlc2V0Wm9vbSgpCi17Ci0gICAgSVdlYklCQWN0aW9uc1B0ciB3ZWJBY3Rpb25zOwot
ICAgIGlmIChGQUlMRUQobV93ZWJWaWV3LT5RdWVyeUludGVyZmFjZShJSURfSVdlYklCQWN0aW9u
cywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3ZWJBY3Rpb25zLkdldEludGVyZmFjZVB0cigp
KSkpKQotICAgICAgICByZXR1cm47Ci0KLSAgICB3ZWJBY3Rpb25zLT5yZXNldFBhZ2Vab29tKG51
bGxwdHIpOwotfQotCi12b2lkIFdpbkxhdW5jaGVyOjp6b29tSW4oKQotewotICAgIElXZWJJQkFj
dGlvbnNQdHIgd2ViQWN0aW9uczsKLSAgICBpZiAoRkFJTEVEKG1fd2ViVmlldy0+UXVlcnlJbnRl
cmZhY2UoSUlEX0lXZWJJQkFjdGlvbnMsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmd2ViQWN0
aW9ucy5HZXRJbnRlcmZhY2VQdHIoKSkpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgd2ViQWN0
aW9ucy0+em9vbVBhZ2VJbihudWxscHRyKTsKLX0KLQotdm9pZCBXaW5MYXVuY2hlcjo6em9vbU91
dCgpCi17Ci0gICAgSVdlYklCQWN0aW9uc1B0ciB3ZWJBY3Rpb25zOwotICAgIGlmIChGQUlMRUQo
bV93ZWJWaWV3LT5RdWVyeUludGVyZmFjZShJSURfSVdlYklCQWN0aW9ucywgcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKio+KCZ3ZWJBY3Rpb25zLkdldEludGVyZmFjZVB0cigpKSkpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICB3ZWJBY3Rpb25zLT56b29tUGFnZU91dChudWxscHRyKTsKLX0KLQotdm9p
ZCBXaW5MYXVuY2hlcjo6Z2VuZXJhdGVGb250Rm9yU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0
b3IpCi17Ci0gICAgaWYgKG1faFVSTEJhckZvbnQpCi0gICAgICAgIDo6RGVsZXRlT2JqZWN0KG1f
aFVSTEJhckZvbnQpOwotCi0gICAgbV9oVVJMQmFyRm9udCA9IDo6Q3JlYXRlRm9udChzY2FsZUZh
Y3RvciAqIDE4LCAwLCAwLCAwLCBGV19OT1JNQUwsIEZBTFNFLCBGQUxTRSwgRkFMU0UsIERFRkFV
TFRfQ0hBUlNFVCwKLSAgICAgICAgT1VUX1RUX09OTFlfUFJFQ0lTLCBDTElQX0RFRkFVTFRfUFJF
Q0lTLCBBTlRJQUxJQVNFRF9RVUFMSVRZLCBGRl9ET05UQ0FSRSwgTCJUaW1lcyBOZXcgUm9tYW4i
KTsKLX0KLQotCi12b2lkIFdpbkxhdW5jaGVyOjp1cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpCi17
Ci0gICAgbV9kZXZpY2VTY2FsZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yRm9y
V2luZG93KG1faE1haW5XbmQpOwotICAgIGdlbmVyYXRlRm9udEZvclNjYWxlRmFjdG9yKG1fZGV2
aWNlU2NhbGVGYWN0b3IpOwotfQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oCShyZXZpc2lv
biAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEyOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJQYWdlTG9hZFRlc3RDbGllbnQuaCIKLSNpbmNs
dWRlIDxXZWJLaXQvV2ViS2l0Lmg+Ci0jaW5jbHVkZSA8bWVtb3J5PgotI2luY2x1ZGUgPHZlY3Rv
cj4KLQotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWUsICZfX3V1aWRvZihJ
V2ViRnJhbWUpPj4gSVdlYkZyYW1lUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViVmlldywgJl9fdXVpZG9mKElXZWJWaWV3KT4+IElXZWJWaWV3UHRyOwotdHlwZWRlZiBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViVmlld1ByaXZhdGUyLCAmX191dWlkb2YoSVdlYlZpZXdQcml2
YXRlMik+PiBJV2ViVmlld1ByaXZhdGVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlE
PElXZWJGcmFtZUxvYWREZWxlZ2F0ZSwgJl9fdXVpZG9mKElXZWJGcmFtZUxvYWREZWxlZ2F0ZSk+
PiBJV2ViRnJhbWVMb2FkRGVsZWdhdGVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlE
PElXZWJIaXN0b3J5LCAmX191dWlkb2YoSVdlYkhpc3RvcnkpPj4gSVdlYkhpc3RvcnlQdHI7Ci10
eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJIaXN0b3J5SXRlbSwgJl9fdXVpZG9mKElX
ZWJIaXN0b3J5SXRlbSk+PiBJV2ViSGlzdG9yeUl0ZW1QdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8
X2NvbV9JSUlEPElXZWJQcmVmZXJlbmNlcywgJl9fdXVpZG9mKElXZWJQcmVmZXJlbmNlcyk+PiBJ
V2ViUHJlZmVyZW5jZXNQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXNQcml2YXRlKT4+IElXZWJQ
cmVmZXJlbmNlc1ByaXZhdGVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJV
SURlbGVnYXRlLCAmX191dWlkb2YoSVdlYlVJRGVsZWdhdGUpPj4gSVdlYlVJRGVsZWdhdGVQdHI7
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUsICZf
X3V1aWRvZihJQWNjZXNzaWJpbGl0eURlbGVnYXRlKT4+IElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQ
dHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJJbnNwZWN0b3IsICZfX3V1aWRv
ZihJV2ViSW5zcGVjdG9yKT4+IElXZWJJbnNwZWN0b3JQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8
X2NvbV9JSUlEPElXZWJDb3JlU3RhdGlzdGljcywgJl9fdXVpZG9mKElXZWJDb3JlU3RhdGlzdGlj
cyk+PiBJV2ViQ29yZVN0YXRpc3RpY3NQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlE
PElXZWJDYWNoZSwgJl9fdXVpZG9mKElXZWJDYWNoZSk+PiBJV2ViQ2FjaGVQdHI7Ci10eXBlZGVm
IF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZSwgJl9fdXVpZG9m
KElXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZSk+PiBJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGVQdHI7
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJEb3dubG9hZERlbGVnYXRlLCAmX191
dWlkb2YoSVdlYkRvd25sb2FkRGVsZWdhdGUpPj4gSVdlYkRvd25sb2FkRGVsZWdhdGVQdHI7Ci0K
LWNsYXNzIFdpbkxhdW5jaGVyIHsKLXB1YmxpYzoKLSAgICBXaW5MYXVuY2hlcihIV05EIG1haW5X
bmQsIEhXTkQgdXJsQmFyV25kLCBib29sIHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wg
cGFnZUxvYWRUZXN0aW5nID0gZmFsc2UpOwotCi0gICAgSFJFU1VMVCBpbml0KCk7Ci0gICAgSFJF
U1VMVCBwcmVwYXJlVmlld3MoSFdORCBtYWluV25kLCBjb25zdCBSRUNUJiBjbGllbnRSZWN0LCBj
b25zdCBCU1RSJiByZXF1ZXN0ZWRVUkwsIEhXTkQmIHZpZXdXbmQpOwotCi0gICAgSFJFU1VMVCBs
b2FkVVJMKGNvbnN0IEJTVFImIHBhc3NlZFVSTCk7Ci0KLSAgICB2b2lkIHNob3dMYXN0VmlzaXRl
ZFNpdGVzKElXZWJWaWV3Jik7Ci0gICAgdm9pZCBsYXVuY2hJbnNwZWN0b3IoKTsKLSAgICB2b2lk
IG5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7Ci0gICAg
dm9pZCBuYXZpZ2F0ZVRvSGlzdG9yeShIV05EIGhXbmQsIFVJTlQgbWVudUlEKTsKLSAgICB2b2lk
IGV4aXRQcm9ncmFtKCk7Ci0gICAgYm9vbCBzZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygp
OwotICAgIGJvb2wgc2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKTsKLQotICAgIEhSRVNVTFQgc2V0
RnJhbWVMb2FkRGVsZWdhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlKik7Ci0gICAgSFJFU1VMVCBz
ZXRGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZSop
OwotICAgIEhSRVNVTFQgc2V0VUlEZWxlZ2F0ZShJV2ViVUlEZWxlZ2F0ZSopOwotICAgIEhSRVNV
TFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUqKTsKLSAg
ICBIUkVTVUxUIHNldFJlc291cmNlTG9hZERlbGVnYXRlKElXZWJSZXNvdXJjZUxvYWREZWxlZ2F0
ZSopOwotICAgIEhSRVNVTFQgc2V0RG93bmxvYWREZWxlZ2F0ZShJV2ViRG93bmxvYWREZWxlZ2F0
ZVB0cik7Ci0KLSAgICBJV2ViUHJlZmVyZW5jZXNQdHIgc3RhbmRhcmRQcmVmZXJlbmNlcygpIHsg
cmV0dXJuIG1fc3RhbmRhcmRQcmVmZXJlbmNlczsgIH0KLSAgICBJV2ViUHJlZmVyZW5jZXNQcml2
YXRlUHRyIHByaXZhdGVQcmVmZXJlbmNlcygpIHsgcmV0dXJuIG1fcHJlZnNQcml2YXRlOyB9Ci0g
ICAgSVdlYkZyYW1lUHRyIG1haW5GcmFtZSgpOwotICAgIElXZWJDb3JlU3RhdGlzdGljc1B0ciBz
dGF0aXN0aWNzKCkgeyByZXR1cm4gbV9zdGF0aXN0aWNzOyB9Ci0gICAgSVdlYkNhY2hlUHRyIHdl
YkNhY2hlKCkgeyByZXR1cm4gbV93ZWJDYWNoZTsgIH0KLSAgICBJV2ViVmlld1B0ciB3ZWJWaWV3
KCkgeyByZXR1cm4gbV93ZWJWaWV3OyB9Ci0KLSAgICBib29sIGhhc1dlYlZpZXcoKSBjb25zdCB7
IHJldHVybiAhIW1fd2ViVmlldzsgfQotICAgIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3KCkgY29u
c3QgeyByZXR1cm4gbV91c2VMYXllcmVkV2ViVmlldzsgfQotICAgIGJvb2wgZ29CYWNrKCk7Ci0g
ICAgYm9vbCBnb0ZvcndhcmQoKTsKLQotICAgIHZvaWQgc2V0VXNlckFnZW50KFVJTlQgbWVudUlE
KTsKLSAgICB2b2lkIHNldFVzZXJBZ2VudChfYnN0cl90JiBjdXN0b21VQVN0cmluZyk7Ci0gICAg
X2JzdHJfdCB1c2VyQWdlbnQoKTsKLQotICAgIFBhZ2VMb2FkVGVzdENsaWVudCYgcGFnZUxvYWRU
ZXN0Q2xpZW50KCkgeyByZXR1cm4gKm1fcGFnZUxvYWRUZXN0Q2xpZW50OyB9Ci0KLSAgICB2b2lk
IHJlc2V0Wm9vbSgpOwotICAgIHZvaWQgem9vbUluKCk7Ci0gICAgdm9pZCB6b29tT3V0KCk7Ci0K
LSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpIHsgcmV0dXJuIG1fZGV2aWNlU2NhbGVGYWN0
b3I7IH0KLSAgICB2b2lkIHVwZGF0ZURldmljZVNjYWxlRmFjdG9yKCk7Ci0KLSAgICBIR0RJT0JK
IHVybEJhckZvbnQoKSB7IHJldHVybiBtX2hVUkxCYXJGb250OyB9Ci0KLXByaXZhdGU6Ci0gICAg
dm9pZCBnZW5lcmF0ZUZvbnRGb3JTY2FsZUZhY3RvcihmbG9hdCk7Ci0KLSAgICBzdGQ6OnZlY3Rv
cjxJV2ViSGlzdG9yeUl0ZW1QdHI+IG1faGlzdG9yeUl0ZW1zOwotCi0gICAgc3RkOjp1bmlxdWVf
cHRyPFBhZ2VMb2FkVGVzdENsaWVudD4gbV9wYWdlTG9hZFRlc3RDbGllbnQ7Ci0KLSAgICBJV2Vi
Vmlld1B0ciBtX3dlYlZpZXc7Ci0gICAgSVdlYlZpZXdQcml2YXRlUHRyIG1fd2ViVmlld1ByaXZh
dGU7Ci0KLSAgICBJV2ViSGlzdG9yeVB0ciBtX3dlYkhpc3Rvcnk7Ci0gICAgSVdlYkluc3BlY3Rv
clB0ciBtX2luc3BlY3RvcjsKLSAgICBJV2ViUHJlZmVyZW5jZXNQdHIgbV9zdGFuZGFyZFByZWZl
cmVuY2VzOwotICAgIElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHIgbV9wcmVmc1ByaXZhdGU7Ci0K
LSAgICBJV2ViRnJhbWVMb2FkRGVsZWdhdGVQdHIgbV9mcmFtZUxvYWREZWxlZ2F0ZTsKLSAgICBJ
V2ViVUlEZWxlZ2F0ZVB0ciBtX3VpRGVsZWdhdGU7Ci0gICAgSUFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZVB0ciBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZTsKLSAgICBJV2ViUmVzb3VyY2VMb2FkRGVsZWdh
dGVQdHIgbV9yZXNvdXJjZUxvYWREZWxlZ2F0ZTsKLSAgICBJV2ViRG93bmxvYWREZWxlZ2F0ZVB0
ciBtX2Rvd25sb2FkRGVsZWdhdGU7Ci0KLSAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgbV9zdGF0
aXN0aWNzOwotICAgIElXZWJDYWNoZVB0ciBtX3dlYkNhY2hlOwotCi0gICAgSFdORCBtX2hNYWlu
V25kIHsgbnVsbHB0ciB9OwotICAgIEhXTkQgbV9oVVJMQmFyV25kIHsgbnVsbHB0ciB9OwotICAg
IEhHRElPQkogbV9oVVJMQmFyRm9udCB7IG51bGxwdHIgfTsKLQotICAgIGZsb2F0IG1fZGV2aWNl
U2NhbGVGYWN0b3IgeyAxLjBmIH07Ci0gICAgYm9vbCBtX3VzZUxheWVyZWRXZWJWaWV3OwotfTsK
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIu
aWNvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIucmMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci5y
YwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlci5yYwkod29ya2luZyBjb3B5KQpAQCAtMSw3NiArMCwwIEBACi0vLyBN
aWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0Lg0KLS8vDQotI2lu
Y2x1ZGUgIldpbkxhdW5jaGVyUmVzb3VyY2UuaCINCi0NCi0jZGVmaW5lIEFQU1RVRElPX1JFQURP
TkxZX1NZTUJPTFMNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gR2VuZXJhdGVkIGZy
b20gdGhlIFRFWFRJTkNMVURFIDIgcmVzb3VyY2UuDQotLy8NCi0jZGVmaW5lIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTDQotI2luY2x1ZGUgIndpbmRvd3MuaCINCi0jdW5kZWYgQVBTVFVESU9fSElE
REVOX1NZTUJPTFMNCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLSN1bmRlZiBBUFNUVURJT19S
RUFET05MWV9TWU1CT0xTDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLyBFbmdsaXNoIChV
LlMuKSByZXNvdXJjZXMNCi0NCi0jaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVm
aW5lZChBRlhfVEFSR19FTlUpDQotI2lmZGVmIF9XSU4zMg0KLUxBTkdVQUdFIExBTkdfRU5HTElT
SCwgU1VCTEFOR19FTkdMSVNIX1VTDQotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikNCi0jZW5kaWYg
Ly9fV0lOMzINCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gSWNvbg0KLS8vDQot
DQotLy8gSWNvbiB3aXRoIGxvd2VzdCBJRCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFw
cGxpY2F0aW9uIGljb24NCi0vLyByZW1haW5zIGNvbnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuDQot
SURJX1dJTkxBVU5DSEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5j
aGVyLmljbyINCi0NCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLS8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vDQotLy8NCi0vLyBURVhUSU5DTFVERQ0KLS8vDQotDQotMSBURVhUSU5DTFVERSANCi1CRUdJ
Tg0KLSAgICAiV2luTGF1bmNoZXJSZXNvdXJjZS5cMCINCi1FTkQNCi0NCi0yIFRFWFRJTkNMVURF
IA0KLUJFR0lODQotICAgICIjZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTXHJcbiINCi0g
ICAgIiNpbmNsdWRlICIid2luZG93cy5oIiJcclxuIg0KLSAgICAiI3VuZGVmIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTXHJcbiINCi0gICAgIlwwIg0KLUVORA0KLQ0KLTMgVEVYVElOQ0xVREUgDQot
QkVHSU4NCi0gICAgIlxyXG4iDQotICAgICJcMCINCi1FTkQNCi0NCi0jZW5kaWYgICAgLy8gQVBT
VFVESU9fSU5WT0tFRA0KLQ0KLSNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMN
Ci0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLQ0KLQ0KLQ0KLSNpZm5kZWYgQVBTVFVESU9fSU5WT0tF
RA0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVY
VElOQ0xVREUgMyByZXNvdXJjZS4NCi0vLw0KLQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQot
I2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VEDQotDQpJbmRleDogVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4
cHJvagkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
dmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIwMCArMCww
IEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3Qg
RGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdy
b3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJEZWJ1Z1N1ZmZpeHxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5E
ZWJ1Z1N1ZmZpeDwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZv
cm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRp
b24gSW5jbHVkZT0iRGVidWdTdWZmaXh8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVn
U3VmZml4PC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0g
ICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iRGVidWdfV2luQ2Fpcm98V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdf
V2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3Jt
PgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9u
IEluY2x1ZGU9IkRlYnVnX1dpbkNhaXJvfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1
Z19XaW5DYWlybzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3Jt
PgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9u
IEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25m
aWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1
Z3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAg
ICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgot
ICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQcm9kdWN0aW9ufFdpbjMyIj4KLSAg
ICAgIDxDb25maWd1cmF0aW9uPlByb2R1Y3Rpb248L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxh
dGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAg
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlByb2R1Y3Rpb258eDY0Ij4KLSAgICAgIDxD
b25maWd1cmF0aW9uPlByb2R1Y3Rpb248L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+
eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0
Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlX1dpbkNhaXJvfFdpbjMyIj4KLSAgICAgIDxD
b25maWd1cmF0aW9uPlJlbGVhc2VfV2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxh
dGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAg
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VfV2luQ2Fpcm98eDY0Ij4KLSAg
ICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2VfV2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+Ci0gICAg
ICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgot
ICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAg
IDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+
V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2pl
Y3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0
aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9y
bT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3Bl
cnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57NzY3QjEwRkItNzZD
MS00NEQwLTgwMDUtODVFRDdGOUFBNUU0fTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3Bh
Y2U+V2luTGF1bmNoZXJMYXVuY2hlcjwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5XaW4z
MlByb2o8L0tleXdvcmQ+Ci0gICAgPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9X
aW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMi
IC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29u
ZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFy
YWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0
MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQn
IiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0
aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJh
Y3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIiBMYWJlbD0iQ29u
ZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1
cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAg
ICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdy
b3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgot
ICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0g
ICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9v
bHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3Bl
cnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9k
dWN0aW9ufFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9u
VHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5V
bmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9y
bVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciIExhYmVs
PSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0Nv
bmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0
PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAg
PENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8
Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0
PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlH
cm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGlj
YXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hh
cmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0Pgot
ICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIiBMYWJlbD0iQ29u
ZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1
cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAg
ICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdy
b3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAg
ICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAg
IDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdT
dWZmaXh8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25U
eXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVu
aWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3Jt
VG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciIExhYmVs
PSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0Nv
bmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0
PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQu
Q3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4K
LSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0
cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQo
UGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxN
aWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0
YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJSZWxlYXNlLnBy
b3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0
eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQu
Q3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290
RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2Fs
QXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJSZWxl
YXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJv
b3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJl
eGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9w
cycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSJXaW5MYXVuY2hlclJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwu
Llx3aW5cRExMTGF1bmNoZXJcRExMTGF1bmNoZXJXaW5DYWlyby5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMi
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBs
YXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWlj
cm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQ
bGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9w
cyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVu
Y2hlcldpbkNhaXJvLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdp
bjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNl
clJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9u
PSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSJXaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0g
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFBy
b2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9w
cyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0
Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0gIDwvSW1w
b3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8
SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSku
dXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5D
cHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0i
IC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgotICA8
L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0
LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9y
bSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcucHJvcHMiIC8+Ci0g
IDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5
U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5D
cHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3RE
aXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxB
cHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVn
LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2luXERMTExhdW5jaGVyXERM
TExhdW5jaGVyV2luQ2Fpcm8ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRH
cm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENv
bmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2pl
Y3Q9Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVuY2hlcldpbkNhaXJvLnByb3BzIiAvPgot
ICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNo
ZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3Bw
LiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGly
KVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBw
RGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5w
cm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNc
dnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9y
dEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdT
dWZmaXh8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29u
ZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSku
dXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9y
dCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnc3VmZml4LnByb3BzIiAv
PgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIg
Lz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIx
OS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVm
aW5pdGlvbkdyb3VwPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0g
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSJXaW5MYXVuY2hlclJlc291cmNlLmgiIC8+Ci0gIDwvSXRl
bUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2lu
XERMTExhdW5jaGVyXERMTExhdW5jaGVyTWFpbi5jcHAiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8
SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iV2luTGF1bmNoZXIucmMi
IC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9Ildp
bkxhdW5jaGVyLmljbyIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlclBvc3RCdWls
ZC5jbWQiIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJQcmVCdWlsZC5jbWQiIC8+
Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWlj
cm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRh
cmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpJbmRleDogVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qLmZpbHRlcnMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlci52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJvai5maWx0ZXJzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9z
Y2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3Jv
dXA+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJTb3VyY2UgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlk
ZW50aWZpZXI+ezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn08L1VuaXF1ZUlk
ZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5jcHA7YztjYztjeHg7ZGVmO29kbDtpZGw7aHBq
O2JhdDthc207YXNteDwvRXh0ZW5zaW9ucz4KLSAgICA8L0ZpbHRlcj4KLSAgICA8RmlsdGVyIElu
Y2x1ZGU9IlJlc291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns2N0RBNkFC
Ni1GODAwLTRjMDgtOEI3QS04M0JCMTIxQUFEMDF9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgICAg
PEV4dGVuc2lvbnM+cmM7aWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pw
ZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdjwvRXh0ZW5zaW9ucz4KLSAgICA8L0ZpbHRlcj4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJX
aW5MYXVuY2hlclJlc291cmNlLmgiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVy
TWFpbi5jcHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0Ns
Q29tcGlsZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29t
cGlsZSBJbmNsdWRlPSJXaW5MYXVuY2hlci5yYyI+Ci0gICAgICA8RmlsdGVyPlJlc291cmNlIEZp
bGVzPC9GaWx0ZXI+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gIDwvSXRlbUdyb3VwPgotICA8
SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyLmljbyI+Ci0gICAgICA8
RmlsdGVyPlJlc291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9Ob25lPgotICAgIDxOb25lIElu
Y2x1ZGU9IldpbkxhdW5jaGVyUG9zdEJ1aWxkLmNtZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJX
aW5MYXVuY2hlclByZUJ1aWxkLmNtZCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckNGLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dp
bkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRi5wcm9wcwkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckNGLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLe+7vzw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249
IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVp
bGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIC8+Ci0gIDxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCAvPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPkNvcmVGb3VuZGF0aW9uJChEZWJ1Z1N1ZmZpeCkubGliOyUoQWRkaXRpb25hbERl
cGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXAgLz4KLTwvUHJvamVjdD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRkxpdGUucHJvcHMJKHJldmlz
aW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJDRkxpdGUucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAot77u/
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVy
c2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIv
bXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcRmVh
dHVyZURlZmluZXNDYWlyby5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0
X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xXaW5DYWlyby5wcm9wcyIgLz4KLSAgPC9JbXBvcnRH
cm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0
eUdyb3VwIC8+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxMaW5rPgotICAgICAgPEFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM+Q0ZMaXRlLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMp
PC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlv
bkdyb3VwPgotICA8SXRlbUdyb3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckNvbW1vbi5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ29tbW9uLnByb3BzCShyZXZpc2lvbiAxODg5NzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ29t
bW9uLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLe+7vzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVp
bGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNv
bS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAg
PExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5zaGx3YXBpLmxpYjslKEFkZGl0
aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1
dEZpbGU+JChPdXREaXIpV2luTGF1bmNoZXIkKERlYnVnU3VmZml4KS5leGU8L091dHB1dEZpbGU+
Ci0gICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBk
YjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KLSAgICA8L0xpbms+Ci0gICAgPENsQ29tcGlsZSAvPgot
ICAgIDxDbENvbXBpbGUgLz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotPC9Qcm9qZWN0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyRGVidWcucHJvcHMJ
KHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAK
Le+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZh
dWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVt
YXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3Vw
IExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9M
aWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnLnByb3BzIiAvPgot
ICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1w
b3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyTGliLnJjCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMy
NiArMCwwIEBACi0vLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2Ny
aXB0Lg0KLS8vDQotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCINCi0NCi0jZGVm
aW5lIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8v
DQotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDIgcmVzb3VyY2UuDQotLy8NCi0j
ZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTDQotI2luY2x1ZGUgIndpbmRvd3MuaCINCi0j
dW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFMNCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0K
LSN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTDQotDQotLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8NCi0vLyBFbmdsaXNoIChVbml0ZWQgU3RhdGVzKSByZXNvdXJjZXMNCi0NCi0jaWYgIWRlZmlu
ZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpDQotTEFOR1VBR0Ug
TEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMNCi0jcHJhZ21hIGNvZGVfcGFnZSgxMjUy
KQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBJY29uDQotLy8NCi0NCi0vLyBJ
Y29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUgYXBwbGljYXRp
b24gaWNvbg0KLS8vIHJlbWFpbnMgY29uc2lzdGVudCBvbiBhbGwgc3lzdGVtcy4NCi1JRElfV0lO
TEFVTkNIRVIgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAiV2luTGF1bmNoZXIuaWNv
Ig0KLUlESV9TTUFMTCAgICAgICAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJzbWFs
bC5pY28iDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIE1lbnUNCi0vLw0KLQ0K
LUlEQ19XSU5MQVVOQ0hFUiBNRU5VDQotQkVHSU4NCi0gICAgUE9QVVAgIiZGaWxlIg0KLSAgICBC
RUdJTg0KLSAgICAgICAgTUVOVUlURU0gIiZQcmludFx0Q3RybC1QIiwgICAgICAgICAgICAgIElE
TV9QUklOVA0KLSAgICAgICAgTUVOVUlURU0gIkUmeGl0IiwgICAgICAgICAgICAgICAgICAgICAg
IElETV9FWElUDQotICAgIEVORA0KLSAgICBQT1BVUCAiJlZpZXciDQotICAgIEJFR0lODQotICAg
ICAgICBNRU5VSVRFTSAiQWN0dWFsIFNpemUiLCAgICAgICAgICAgICAgICAgSURNX0FDVFVBTF9T
SVpFDQotICAgICAgICBNRU5VSVRFTSAiWm9vbSBJblx0Q3RybCsrIiwgICAgICAgICAgICAgSURN
X1pPT01fSU4NCi0gICAgICAgIE1FTlVJVEVNICJab29tIE91dFx0Q3RybCstIiwgICAgICAgICAg
ICBJRE1fWk9PTV9PVVQNCi0gICAgICAgIE1FTlVJVEVNICJJbnZlcnQgQ29sb3JzIiwgICAgICAg
ICAgICAgICBJRE1fSU5WRVJUX0NPTE9SUw0KLSAgICBFTkQNCi0gICAgUE9QVVAgIiZIaXN0b3J5
Ig0KLSAgICBCRUdJTg0KLSAgICAgICAgTUVOVUlURU0gIkJhY2siLCAgICAgICAgICAgICAgICAg
ICAgICAgIElETV9ISVNUT1JZX0JBQ0tXQVJEDQotICAgICAgICBNRU5VSVRFTSAiRm9yd2FyZCIs
ICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllfRk9SV0FSRA0KLSAgICAgICAgTUVOVUlU
RU0gU0VQQVJBVE9SDQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMCIsICAgICAg
ICAgICAgSURNX0hJU1RPUllfTElOSzANCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9y
eSAxIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMQ0KLSAgICAgICAgTUVOVUlURU0gIlVu
dXNlZCBIaXN0b3J5IDIiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTksyDQotICAgICAgICBN
RU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzMN
Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA0IiwgICAgICAgICAgICBJRE1fSElT
VE9SWV9MSU5LNA0KLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDUiLCAgICAgICAg
ICAgIElETV9ISVNUT1JZX0xJTks1DQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rvcnkg
NiIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzYNCi0gICAgICAgIE1FTlVJVEVNICJVbnVz
ZWQgSGlzdG9yeSA3IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNw0KLSAgICAgICAgTUVO
VUlURU0gIlVudXNlZCBIaXN0b3J5IDgiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks4DQot
ICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgOSIsICAgICAgICAgICAgSURNX0hJU1RP
UllfTElOSzkNCi0gICAgRU5EDQotICAgIFBPUFVQICJEJmV2ZWxvcCINCi0gICAgQkVHSU4NCi0g
ICAgICAgIE1FTlVJVEVNICJTaG93IFdlYiBJbnNwZWN0b3IiLCAgICAgICAgICBJRE1fV0VCX0lO
U1BFQ1RPUg0KLSAgICAgICAgUE9QVVAgIlVzZXIgQWdlbnQiDQotICAgICAgICBCRUdJTg0KLSAg
ICAgICAgICAgIE1FTlVJVEVNICJEZWZhdWx0IChBdXRvbWF0aWNhbGx5IENob3NlbikiLCBJRE1f
VUFfREVGQVVMVA0KLSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KLSAgICAgICAgICAg
IE1FTlVJVEVNICJTYWZhcmkgOC4wIiwgICAgICAgICAgICAgICAgICBJRE1fVUFfU0FGQVJJXzhf
MA0KLSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KLSAgICAgICAgICAgIE1FTlVJVEVN
ICJTYWZhcmkgaU9TIDggLSBpUGhvbmUiLCAgICAgICBJRE1fVUFfU0FGQVJJX0lPU184X0lQSE9O
RQ0KLSAgICAgICAgICAgIE1FTlVJVEVNICJTYWZhcmkgaU9TIDggLSBpUGFkIiwgICAgICAgICBJ
RE1fVUFfU0FGQVJJX0lPU184X0lQQUQNCi0gICAgICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IN
Ci0gICAgICAgICAgICBNRU5VSVRFTSAiSW50ZXJuZXQgRXhwbG9yZXIgMTEuMCIsICAgICAgSURN
X1VBX0lFXzExDQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICAgICAg
TUVOVUlURU0gIkdvb2dsZSBDaHJvbWUgLSBNYWMiLCAgICAgICAgIElETV9VQV9DSFJPTUVfTUFD
DQotICAgICAgICAgICAgTUVOVUlURU0gIkdvb2dsZSBDaHJvbWUgLSBXaW5kb3dzIiwgICAgIElE
TV9VQV9DSFJPTUVfV0lODQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAg
ICAgICAgTUVOVUlURU0gIkZpcmVmb3ggLSBNYWMiLCAgICAgICAgICAgICAgIElETV9VQV9GSVJF
Rk9YX01BQw0KLSAgICAgICAgICAgIE1FTlVJVEVNICJGaXJlZm94IC0gV2luZG93cyIsICAgICAg
ICAgICBJRE1fVUFfRklSRUZPWF9XSU4NCi0gICAgICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IN
Ci0gICAgICAgICAgICBNRU5VSVRFTSAiT3RoZXIiLCAgICAgICAgICAgICAgICAgICAgICAgSURN
X1VBX09USEVSDQotICAgICAgICBFTkQNCi0gICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KLSAg
ICAgICAgTUVOVUlURU0gIkRpc2FibGUgSW1hZ2VzIiwgICAgICAgICAgICAgIElETV9ESVNBQkxF
X0lNQUdFUw0KLSAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgU3R5bGVzIiwgICAgICAgICAgICAg
IElETV9ESVNBQkxFX1NUWUxFUw0KLSAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgSmF2YVNjcmlw
dCIsICAgICAgICAgIElETV9ESVNBQkxFX0pBVkFTQ1JJUFQNCi0gICAgICAgIE1FTlVJVEVNICJE
aXNhYmxlIExvY2FsIEZpbGUgUmVzdHJpY3Rpb25zIiwgSURNX0RJU0FCTEVfTE9DQUxfRklMRV9S
RVNUUklDVElPTlMNCi0gICAgRU5EDQotICAgIFBPUFVQICImSGVscCINCi0gICAgQkVHSU4NCi0g
ICAgICAgIE1FTlVJVEVNICImQWJvdXQgLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fQUJPVVQN
Ci0gICAgRU5EDQotICAgIFBPUFVQICImRGVidWciDQotICAgIEJFR0lODQotICAgICAgICBNRU5V
SVRFTSAiVXNlIEFWRm91bmRhdGlvbiIsICAgICAgICAgICAgSURNX0FWRk9VTkRBVElPTiwgQ0hF
Q0tFRA0KLSAgICAgICAgTUVOVUlURU0gIlVzZSBBY2NlbGVyYXRlZCBDb21wb3NpdGluZyIsIElE
TV9BQ0NfQ09NUE9TSVRJTkcsIENIRUNLRUQNCi0gICAgICAgIE1FTlVJVEVNICJFbmFibGUgV2Vi
S2l0IEZ1bGwgU2NyZWVuIiwgICBJRE1fV0tfRlVMTFNDUkVFTiwgQ0hFQ0tFRA0KLSAgICAgICAg
TUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICBNRU5VSVRFTSAiU2hvdyBDb21wb3NpdGluZyBC
b3JkZXJzIiwgICAgSURNX0NPTVBPU0lUSU5HX0JPUkRFUlMNCi0gICAgICAgIE1FTlVJVEVNIFNF
UEFSQVRPUg0KLSAgICAgICAgTUVOVUlURU0gIlNob3cgQ2FjaGVzIFdpbmRvdyIsICAgICAgICAg
IElETV9DQUNIRVMNCi0gICAgRU5EDQotRU5EDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8N
Ci0vLw0KLS8vIEFjY2VsZXJhdG9yDQotLy8NCi0NCi1JRENfV0lOTEFVTkNIRVIgQUNDRUxFUkFU
T1JTDQotQkVHSU4NCi0gICAgIi8iLCAgICAgICAgICAgIElETV9BQk9VVCwgICAgICAgICAgICAg
IEFTQ0lJLCAgQUxULCBOT0lOVkVSVA0KLSAgICAiPyIsICAgICAgICAgICAgSURNX0FCT1VULCAg
ICAgICAgICAgICAgQVNDSUksICBBTFQsIE5PSU5WRVJUDQotICAgIFZLX0FERCwgICAgICAgICBJ
RE1fWk9PTV9JTiwgICAgICAgICAgICBWSVJUS0VZLCBDT05UUk9MLCBOT0lOVkVSVA0KLSAgICBW
S19TVUJUUkFDVCwgICAgSURNX1pPT01fT1VULCAgICAgICAgICAgVklSVEtFWSwgQ09OVFJPTCwg
Tk9JTlZFUlQNCi1FTkQNCi0NCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gRGlh
bG9nDQotLy8NCi0NCi1JRERfQUJPVVRCT1ggRElBTE9HRVggMjIsIDE3LCAyMzAsIDc1DQotU1RZ
TEUgRFNfU0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQ0K
LUNBUFRJT04gIkFib3V0Ig0KLUZPTlQgOCwgIlN5c3RlbSIsIDAsIDAsIDB4MA0KLUJFR0lODQot
ICAgIElDT04gICAgICAgICAgICBJRElfV0lOTEFVTkNIRVIsSURDX01ZSUNPTiwxNCw5LDIwLDIw
DQotICAgIExURVhUICAgICAgICAgICAiV2luTGF1bmNoZXIgVmVyc2lvbiAxLjMiLElEQ19TVEFU
SUMsNDksMTAsMTE5LDgsU1NfTk9QUkVGSVgNCi0gICAgTFRFWFQgICAgICAgICAgICJDb3B5cmln
aHQgKEMpIDIwMTQiLElEQ19TVEFUSUMsNDksMjAsMTE5LDgNCi0gICAgREVGUFVTSEJVVFRPTiAg
ICJPSyIsSURPSywxOTUsNiwzMCwxMSxXU19HUk9VUA0KLUVORA0KLQ0KLUlERF9DQUNIRVMgRElB
TE9HRVggMCwgMCwgNDAxLCA0NTYNCi1TVFlMRSBEU19TRVRGT05UIHwgRFNfTU9EQUxGUkFNRSB8
IERTX0ZJWEVEU1lTIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQ0KLUNBUFRJ
T04gIkRpYWxvZyINCi1GT05UIDgsICJNUyBTaGVsbCBEbGciLCA0MDAsIDAsIDB4MQ0KLUJFR0lO
DQotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjg3LDQzNSw1MCwxNA0KLSAgICBQVVNI
QlVUVE9OICAgICAgIkNhbmNlbCIsSURDQU5DRUwsMzQ0LDQzNSw1MCwxNA0KLSAgICBHUk9VUEJP
WCAgICAgICAgIkZhc3RNYWxsb2MiLElEQ19TVEFUSUMsMjA4LDE0LDE4Niw2Nw0KLSAgICBHUk9V
UEJPWCAgICAgICAgIldlYkNvcmUgQ2FjaGUiLElEQ19TVEFUSUMsMTcsODMsMzc2LDEwNQ0KLSAg
ICBHUk9VUEJPWCAgICAgICAgIkphdmFTY3JpcHQgSGVhcCIsSURDX1NUQVRJQywxOCwxOTMsMzc2
LDE2OA0KLSAgICBHUk9VUEJPWCAgICAgICAgIlNpdGUgSWNvbiBEYXRhYmFzZSIsSURDX1NUQVRJ
QywxOCwzNjYsMTQyLDY1DQotICAgIEdST1VQQk9YICAgICAgICAiRm9udCBhbmQgR2x5cGggQ2Fj
aGVzIixJRENfU1RBVElDLDE2OCwzNjYsMjI2LDY2DQotICAgIEdST1VQQk9YICAgICAgICAiQ0ZV
UkxDYWNoZSIsSURDX1NUQVRJQyw3LDE0LDE5Nyw2Nw0KLSAgICBQVVNIQlVUVE9OICAgICAgIkVt
cHR5IFVSTENhY2hlIixJRENfRU1QVFlfVVJMX0NBQ0hFLDEzMSw2Myw2OSwxNCxXU19ESVNBQkxF
RA0KLSAgICBQVVNIQlVUVE9OICAgICAgIlJldHVybiBGcmVlIE1lbW9yeSIsSURDX1JFVFVSTl9G
UkVFX01FTU9SWSwzMDgsNjMsNzYsMTQsV1NfRElTQUJMRUQNCi0gICAgUFVTSEJVVFRPTiAgICAg
ICJFbXB0eSBXZWJDb3JlIENhY2hlIixJRENfRU1QVFlfV0VCQ09SRV9DQUNIRSwyMSwxNzAsODMs
MTQsV1NfRElTQUJMRUQNCi0gICAgQ09OVFJPTCAgICAgICAgICJEaXNhYmxlIFdlYkNvcmUgQ2Fj
aGUiLElEQ19DSEVDSzEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfCBX
U19UQUJTVE9QLDExOSwxNzIsOTMsMTANCi0gICAgUFVTSEJVVFRPTiAgICAgICJHYXJiYWdlIENv
bGxlY3QgSmF2YVNjcmlwdCBPYmplY3RzIixJRENfR0NfSlNDLDI1MywzNDMsMTM1LDE0LFdTX0RJ
U0FCTEVEDQotICAgIFJURVhUICAgICAgICAgICAiUmVzZXJ2ZWQgVk0iLElEQ19TVEFUSUMsMjEy
LDI2LDY3LDkNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfUkVTRVJWRURfVk0sMjkwLDI2
LDk0LDgNCi0gICAgUlRFWFQgICAgICAgICAgICJDb21taXR0ZWQgVk0iLElEQ19TVEFUSUMsMjEx
LDM5LDY3LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfQ09NTUlUVEVEX1ZNLDI5MCwz
OSw5NCw4DQotICAgIFJURVhUICAgICAgICAgICAiRnJlZSBMaXN0IEJ5dGVzIixJRENfU1RBVElD
LDIxMSw1Miw2Nyw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0ZSRUVfTElTVF9CWVRF
UywyOTAsNTIsOTQsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIkltYWdlcyIsSURDX1NUQVRJQywz
NywxMDYsMjQsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIkNTUyIsSURDX1NUQVRJQyw0NywxMTYs
MTQsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIlhTTCIsSURDX1NUQVRJQyw0OSwxMjYsMTIsOA0K
LSAgICBSVEVYVCAgICAgICAgICAgIkphdmFTY3JpcHQiLElEQ19TVEFUSUMsMjcsMTM1LDM0LDgN
Ci0gICAgUlRFWFQgICAgICAgICAgICJUb3RhbCIsSURDX1NUQVRJQyw0MywxNDYsMTcsOA0KLSAg
ICBMVEVYVCAgICAgICAgICAgIk9iamVjdHMiLElEQ19TVEFUSUMsMTExLDk2LDI2LDgNCi0gICAg
TFRFWFQgICAgICAgICAgICJCeXRlcyIsSURDX1NUQVRJQywxNzUsOTYsMTksOA0KLSAgICBMVEVY
VCAgICAgICAgICAgIkxpdmUiLElEQ19TVEFUSUMsMjMyLDk2LDE0LDgNCi0gICAgTFRFWFQgICAg
ICAgICAgICJEZWNvZGVkIixJRENfU1RBVElDLDI4NCw5NiwyOSw4DQotICAgIExURVhUICAgICAg
ICAgICAiUHVyZ2VhYmxlIixJRENfU1RBVElDLDM1MSw5NiwzMyw4DQotICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0lNQUdFU19PQkpFQ1RfQ09VTlQsMTAwLDEwNiwzMiw4DQotICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX0NTU19PQkpFQ1RfQ09VTlQsMTAwLDExNiwzMiw4DQotICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX1hTTF9PQkpFQ1RfQ09VTlQsMTAwLDEyNiwzMiw4DQotICAg
IFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19PQkpFQ1RfQ09VTlQsMTAwLDEzNSwzMiw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX09CSkVDVF9DT1VOVCwxMDAsMTQ2LDMy
LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSU1BR0VTX0JZVEVTLDE2MiwxMDYsMzIs
OA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfQllURVMsMTYyLDExNiwzMiw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1hTTF9CWVRFUywxNjIsMTI2LDMyLDgNCi0gICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0JZVEVTLDE2MiwxMzUsMzIsOA0KLSAgICBSVEVY
VCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9CWVRFUywxNjIsMTQ2LDMyLDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfSU1BR0VTX0xJVkVfQ09VTlQsMjIxLDEwNiwzMiw4DQotICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX0NTU19MSVZFX0NPVU5ULDIyMSwxMTYsMzIsOA0KLSAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfTElWRV9DT1VOVCwyMjEsMTI2LDMyLDgNCi0gICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0xJVkVfQ09VTlQsMjIxLDEzNSwzMiw4DQotICAg
IFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX0xJVkVfQ09VTlQsMjIxLDE0NiwzMiw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19ERUNPREVEX0NPVU5ULDI4NCwxMDYs
MzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfREVDT0RFRF9DT1VOVCwyODQs
MTE2LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0RFQ09ERURfQ09VTlQs
Mjg0LDEyNiwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19ERUNPREVEX0NP
VU5ULDI4NCwxMzUsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9ERUNP
REVELDI4NCwxNDYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfUFVS
R0VBQkxFX0NPVU5ULDM1NCwxMDYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19D
U1NfUFVSR0VBQkxFX0NPVU5ULDM1NCwxMTYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAi
LElEQ19YU0xfUFVSR0VBQkxFX0NPVU5ULDM1NCwxMjYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19KU0NfUFVSR0VBQkxFX0NPVU5ULDM1NCwxMzUsMzIsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19UT1RBTF9QVVJHRUFCTEUsMzU0LDE0NiwzMiw4DQotICAgIFJURVhU
ICAgICAgICAgICAiVG90YWwgT2JqZWN0cyIsSURDX1NUQVRJQyw2MywyMDcsNDQsOA0KLSAgICBS
VEVYVCAgICAgICAgICAgIkdsb2JhbCBPYmplY3RzIixJRENfU1RBVElDLDU2LDIxNyw1MSw4DQot
ICAgIFJURVhUICAgICAgICAgICAiUHJvdGVjdGVkIE9iamVjdHMiLElEQ19TVEFUSUMsNDgsMjI3
LDU5LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNU
UywxMjcsMjA3LDU2LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfR0xPQkFMX0pTQ19I
RUFQX09CSkVDVFMsMTI3LDIxNyw1Niw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1BS
T1RFQ1RFRF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMjcsNTYsOA0KLSAgICBSVEVYVCAgICAgICAg
ICAgIlNpemUiLElEQ19TVEFUSUM1NiwyMjMsMjA3LDE0LDgNCi0gICAgUlRFWFQgICAgICAgICAg
ICJGcmVlIixJRENfU1RBVElDNTcsMjIyLDIxNywxNiw4DQotICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0pTQ19IRUFQX1NJWkUsMjcwLDIwNyw1Niw4DQotICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0pTQ19IRUFQX0ZSRUUsMjcwLDIxNyw1Niw4DQotICAgIFBVU0hCVVRUT04gICAgICAi
UHVyZ2UgSW5hY3RpdmUgRm9udCBEYXRhIixJRENfQlVUVE9ONSwyOTMsNDE1LDk1LDE0LFdTX0RJ
U0FCTEVEDQotICAgIExURVhUICAgICAgICAgICAiVG90YWwgRm9udCBEYXRhIE9iamVjdHMiLElE
Q19TVEFUSUMsMjA4LDM3OSw3OCw4DQotICAgIExURVhUICAgICAgICAgICAiSW5hY3RpdmUgRm9u
dCBEYXRhIE9iamVjdHMiLElEQ19TVEFUSUMsMTk4LDM5MCw4OCw4DQotICAgIExURVhUICAgICAg
ICAgICAiR2x5cGggUGFnZXMiLElEQ19TVEFUSUMsMjQ2LDQwMiw0MCw4DQotICAgIFJURVhUICAg
ICAgICAgICAiMCIsSURDX1RPVEFMX0ZPTlRfT0JKRUNUUywzMjksMzc5LDU2LDgNCi0gICAgUlRF
WFQgICAgICAgICAgICIwIixJRENfSU5BQ1RJVkVfRk9OVF9PQkpFQ1RTLDMyOSwzOTAsNTYsOA0K
LSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19HTFlQSF9QQUdFUywzMjksNDAyLDU2LDgNCi0g
ICAgTFRFWFQgICAgICAgICAgICJQYWdlIFVSTCBNYXBwaW5ncyIsSURDX1NUQVRJQywzMywzODAs
NjQsOA0KLSAgICBMVEVYVCAgICAgICAgICAgIlJldGFpbmVkIFBhZ2UgVVJMcyIsSURDX1NUQVRJ
QywzMSwzOTAsNjYsOA0KLSAgICBMVEVYVCAgICAgICAgICAgIlNpdGUgSWNvbiBSZWNvcmRzIixJ
RENfU1RBVElDLDQwLDQwMCw1Nyw4DQotICAgIExURVhUICAgICAgICAgICAiU2l0ZSBJY29ucyB3
aXRoIERhdGEiLElEQ19TVEFUSUMsMzIsNDEwLDY1LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfUEFHRV9VUkxfTUFQUElOR1MsMTAxLDM4MCw1Miw4DQotICAgIFJURVhUICAgICAgICAg
ICAiMCIsSURDX1JFVEFJTkVEX1BBR0VfVVJMUywxMDEsMzkwLDUyLDgNCi0gICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfU0lURV9JQ09OX1JFQ09SRFMsMTAxLDQwMCw1Miw4DQotICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBLDEwMSw0MTAsNTIsOA0KLUVO
RA0KLQ0KLUlERF9VU0VSX0FHRU5UIERJQUxPR0VYIDAsIDAsIDMwOSwgMTc2DQotU1RZTEUgRFNf
U0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBEU19GSVhFRFNZUyB8IFdTX1BPUFVQIHwgV1NfQ0FQ
VElPTiB8IFdTX1NZU01FTlUNCi1DQVBUSU9OICJEaWFsb2ciDQotRk9OVCA4LCAiTVMgU2hlbGwg
RGxnIiwgNDAwLCAwLCAweDENCi1CRUdJTg0KLSAgICBMVEVYVCAgICAgICAgICAgIlR5cGUgYSBj
dXN0b20gdXNlciBhZ2VudCBzdHJpbmcgZm9yIHRoaXMgcGFnZS4iLElEQ19NZXNzYWdlLDcsNywy
OTUsMTkNCi0gICAgRURJVFRFWFQgICAgICAgIElEQ19VU0VSX0FHRU5UX0lOUFVULDcsMzQsMjk1
LDExNyxFU19BVVRPSFNDUk9MTA0KLSAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE5OCwx
NTUsNTAsMTQNCi0gICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWwiLElEQ0FOQ0VMLDI1MiwxNTUs
NTAsMTQNCi1FTkQNCi0NCi0NCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLS8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vDQotLy8NCi0vLyBURVhUSU5DTFVERQ0KLS8vDQotDQotMSBURVhUSU5DTFVERSAN
Ci1CRUdJTg0KLSAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAiDQotRU5EDQotDQotMiBU
RVhUSU5DTFVERSANCi1CRUdJTg0KLSAgICAiI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lNQk9M
U1xyXG4iDQotICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiINCi0gICAgIiN1bmRlZiBB
UFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iDQotICAgICJcMCINCi1FTkQNCi0NCi0zIFRFWFRJ
TkNMVURFIA0KLUJFR0lODQotICAgICJcclxuIg0KLSAgICAiXDAiDQotRU5EDQotDQotI2VuZGlm
ICAgIC8vIEFQU1RVRElPX0lOVk9LRUQNCi0NCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8v
DQotLy8gREVTSUdOSU5GTw0KLS8vDQotDQotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQNCi1HVUlE
RUxJTkVTIERFU0lHTklORk8NCi1CRUdJTg0KLSAgICBJRERfQUJPVVRCT1gsIERJQUxPRw0KLSAg
ICBCRUdJTg0KLSAgICBFTkQNCi0NCi0gICAgSUREX0NBQ0hFUywgRElBTE9HDQotICAgIEJFR0lO
DQotICAgICAgICBMRUZUTUFSR0lOLCA3DQotICAgICAgICBSSUdIVE1BUkdJTiwgMzk0DQotICAg
ICAgICBUT1BNQVJHSU4sIDcNCi0gICAgICAgIEJPVFRPTU1BUkdJTiwgNDQ5DQotICAgIEVORA0K
LQ0KLSAgICBJRERfVVNFUl9BR0VOVCwgRElBTE9HDQotICAgIEJFR0lODQotICAgICAgICBMRUZU
TUFSR0lOLCA3DQotICAgICAgICBSSUdIVE1BUkdJTiwgMzAyDQotICAgICAgICBUT1BNQVJHSU4s
IDcNCi0gICAgICAgIEJPVFRPTU1BUkdJTiwgMTY5DQotICAgIEVORA0KLUVORA0KLSNlbmRpZiAg
ICAvLyBBUFNUVURJT19JTlZPS0VEDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0K
LS8vIFN0cmluZyBUYWJsZQ0KLS8vDQotDQotU1RSSU5HVEFCTEUNCi1CRUdJTg0KLSAgICBJRFNf
QVBQX1RJVExFICAgICAgICAgICAiV2luTGF1bmNoZXIiDQotICAgIElEQ19XSU5MQVVOQ0hFUiAg
ICAgICAgICJXSU5MQVVOQ0hFUiINCi1FTkQNCi0NCi0jZW5kaWYgICAgLy8gRW5nbGlzaCAoVW5p
dGVkIFN0YXRlcykgcmVzb3VyY2VzDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0NCi0NCi0NCi0j
aWZuZGVmIEFQU1RVRElPX0lOVk9LRUQNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8g
R2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuDQotLy8NCi0NCi0NCi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KLSNlbmRpZiAgICAvLyBub3QgQVBTVFVESU9fSU5WT0tFRA0K
LQ0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNo
ZXJMaWIudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2oJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIudmN4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMSwyNjMgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9v
bHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZl
bG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3Vy
YXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWdTdWZmaXh8
V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdTdWZmaXg8L0NvbmZpZ3VyYXRpb24+
Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3Vy
YXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnU3VmZml4fHg2
NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Z1N1ZmZpeDwvQ29uZmlndXJhdGlvbj4KLSAg
ICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+
Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnX1dpbkNhaXJvfFdpbjMy
Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnX1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgot
ICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0
aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z19XaW5DYWlyb3x4
NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdfV2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+
Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0
aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+Ci0g
ICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9y
bT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJv
amVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0
aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+
Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24g
SW5jbHVkZT0iUHJvZHVjdGlvbnxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5Qcm9kdWN0
aW9uPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAg
ICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJQcm9kdWN0aW9ufHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5Qcm9kdWN0aW9uPC9D
b25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9q
ZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVs
ZWFzZV9XaW5DYWlyb3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlX1dpbkNh
aXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAg
ICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJSZWxlYXNlX1dpbkNhaXJvfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNl
X1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+
Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24g
SW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9D
b25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1By
b2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJS
ZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9u
PgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJh
dGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4K
LSAgICA8UHJvamVjdEd1aWQ+ezExNEZDQTExLTIxNkItNEM4Qy05NTdFLTMwQTc1QUU4MDQ0M308
L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPldpbkxhdW5jaGVyPC9Sb290TmFtZXNw
YWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KLSAgICA8V2luZG93c1Rhcmdl
dFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29u
ZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8
Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAg
IDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJh
dGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0
ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwv
UGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5
bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNv
ZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9v
bHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIiBMYWJlbD0i
Q29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9D
b25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNl
dD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgot
ICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+
Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3Jt
VG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5
cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+
VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZv
cm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29u
ZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9u
Ij4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25U
eXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25m
aWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENo
YXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52
MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3Jv
dXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZp
eHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+
RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5p
Y29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1U
b29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyIgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwv
Q29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJT
ZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJv
cGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29m
dC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3Mi
PgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlJlbGVh
c2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAv
PgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0
cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQo
UGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxN
aWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0
YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJSZWxlYXNl
LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4K
LSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJQcm9w
ZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3Nv
ZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJS
b290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9Ikxv
Y2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJM
aWJSZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRkxp
dGUucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJp
ZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyMzIucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVh
bWVyQ29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVz
ZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlv
bj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIu
cHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iV2luTGF1bmNoZXJDRkxpdGUucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwu
LlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyNjQucHJvcHMi
IC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRv
b2xzXHZzcHJvcHNcR1N0cmVhbWVyQ29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgot
ICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0
IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgotICA8L0ltcG9ydEdy
b3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVz
ZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3Bw
LiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJQcm9kdWN0aW9uLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51
c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliRGVidWcucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgotICA8L0ltcG9ydEdy
b3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnBy
b3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBs
YXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliRGVidWcucHJvcHMiIC8+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgot
ICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVz
ZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3Bw
LiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdT
dHJlYW1lcjMyLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0
TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lckNvbW1vbi5wcm9wcyIgLz4KLSAg
PC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVn
LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRkxpdGUucHJvcHMi
IC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRv
b2xzXHZzcHJvcHNcR1N0cmVhbWVyNjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIu
LlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyQ29tbW9u
LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciIExhYmVs
PSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxN
aWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCck
KFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFi
ZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1
bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVy
Q0YucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRv
b2xzXHZzcHJvcHNcZGVidWdzdWZmaXgucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJ
bXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMi
IENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZv
cm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0
IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIk
KFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcZGVidWdzdWZmaXgucHJvcHMiIC8+Ci0g
IDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgot
ICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8
L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0
aW9uR3JvdXA+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8
Tm9uZSBJbmNsdWRlPSJzbWFsbC5pY28iIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNo
ZXIuaWNvIiAvPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNt
ZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlByZUJ1aWxkLmNtZCIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cQ29tbW9uLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxE
T01EZWZhdWx0SW1wbC5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQYWdlTG9h
ZFRlc3RDbGllbnQuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJpbnRXZWJV
SURlbGVnYXRlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFJlc291cmNlTG9h
ZERlbGVnYXRlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0ZGFmeC5jcHAi
PgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+
Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+Ci0g
ICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhl
YWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+Q3JlYXRlPC9QcmVjb21w
aWxlZEhlYWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj5DcmVhdGU8L1ByZWNv
bXBpbGVkSGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj5DcmVhdGU8L1ByZWNv
bXBpbGVkSGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5DcmVhdGU8L1ByZWNvbXBp
bGVkSGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Q3JlYXRlPC9QcmVjb21waWxlZEhl
YWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21w
aWxlZEhlYWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPkNyZWF0ZTwvUHJl
Y29tcGlsZWRIZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPkNyZWF0ZTwv
UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj5DcmVhdGU8
L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cV2ViRG93bmxvYWREZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxXaW5MYXVuY2hlci5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxX
aW5MYXVuY2hlcldlYkhvc3QuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2lu
TWFpbi5jcHAiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cQWNjZXNzaWJpbGl0eURlbGVnYXRlLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxET01EZWZhdWx0SW1wbC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cUGFnZUxvYWRUZXN0Q2xpZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxQcmludFdlYlVJRGVsZWdhdGUuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFJl
c291cmNlTG9hZERlbGVnYXRlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxzdGRh
ZnguaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFdlYkRvd25sb2FkRGVsZWdhdGUu
aCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyLmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlclJlcGxhY2UuaCIgLz4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyV2ViSG9zdC5oIiAvPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oIiAvPgotICA8L0l0ZW1Hcm91cD4K
LSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVy
TGliLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJF
eHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KSW5kZXg6IFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIudmN4cHJv
ai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZj
eHByb2ovV2luTGF1bmNoZXJMaWIudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxODg5NzApCisr
KyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZj
eHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMSwxMDIgKzAsMCBAQAot77u/PD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0i
NC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWls
ZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxl
cyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEz
MkQ3NTJBMkZGfTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICAgIDxFeHRlbnNpb25zPmNwcDtjO2Nj
O2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214PC9FeHRlbnNpb25zPgotICAgIDwvRmls
dGVyPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iSGVhZGVyIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJ
ZGVudGlmaWVyPns5Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9PC9VbmlxdWVJ
ZGVudGlmaWVyPgotICAgICAgPEV4dGVuc2lvbnM+aDtocHA7aHh4O2htO2lubDtpbmM7eHNkPC9F
eHRlbnNpb25zPgotICAgIDwvRmlsdGVyPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iUmVzb3VyY2Ug
RmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezY3REE2QUI2LUY4MDAtNGMwOC04QjdB
LTgzQkIxMjFBQUQwMX08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5yYztp
Y287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGU7cmVzeDt0aWZm
O3RpZjtwbmc7d2F2PC9FeHRlbnNpb25zPgotICAgIDwvRmlsdGVyPgotICA8L0l0ZW1Hcm91cD4K
LSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSJzbWFsbC5pY28iPgotICAgICAgPEZp
bHRlcj5SZXNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNs
dWRlPSJXaW5MYXVuY2hlci5pY28iPgotICAgICAgPEZpbHRlcj5SZXNvdXJjZSBGaWxlczwvRmls
dGVyPgotICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlBvc3RC
dWlsZC5jbWQiIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJQcmVCdWlsZC5j
bWQiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cUHJpbnRXZWJVSURlbGVnYXRlLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBG
aWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cc3RkYWZ4LmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAg
IDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXIuY3Bw
Ij4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUuY3BwIj4K
LSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlcldlYkhvc3QuY3BwIj4KLSAgICAg
IDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxET01EZWZhdWx0SW1wbC5jcHAiPgotICAgICAgPEZpbHRlcj5T
b3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXFdpbk1haW4uY3BwIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0
ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxDb21tb24u
Y3BwIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBp
bGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxSZXNvdXJjZUxvYWREZWxlZ2F0ZS5jcHAi
PgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBhZ2VMb2FkVGVzdENsaWVudC5jcHAiPgotICAg
ICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdlYkRvd25sb2FkRGVsZWdhdGUuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRE9NRGVmYXVs
dEltcGwuaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJ
bmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cUHJpbnRXZWJVSURlbGVnYXRlLmgi
PgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
LSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN0ZGFmeC5oIj4KLSAgICAgIDxGaWx0ZXI+SGVh
ZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxXaW5MYXVuY2hlci5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0
ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSJXaW5MYXVuY2hl
ckxpYlJlc291cmNlLmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEFjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZS5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9D
bEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlclJlcGxhY2Uu
aCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJXZWJIb3N0LmgiPgotICAg
ICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFJlc291cmNlTG9hZERlbGVnYXRlLmgiPgotICAgICAgPEZp
bHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXFBhZ2VMb2FkVGVzdENsaWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+SGVh
ZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxXZWJEb3dubG9hZERlbGVnYXRlLmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmls
ZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3Jv
dXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYi5yYyI+Ci0g
ICAgICA8RmlsdGVyPlJlc291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9SZXNvdXJjZUNvbXBp
bGU+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNo
ZXJMaWJDb21tb24ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTg4OTcw
KQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxp
YkNvbW1vbi5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi3vu788P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9
IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29m
dC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxU
YXJnZXROYW1lPldpbkxhdW5jaGVyPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpOyQoUHJvamVjdERpcilcLi47JChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcV2ViS2l0OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxJbmNsdWRlXHByaXZhdGU7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGU7JChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVcV2ViQ29yZTskKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcSW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzOyQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlOyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
V2ViS2l0XERlcml2ZWRTb3VyY2VzOyQoV2ViS2l0X0xpYnJhcmllcylcSW5jbHVkZTskKFdlYktp
dF9MaWJyYXJpZXMpXEluY2x1ZGVccHJpdmF0ZTskKFdlYktpdF9MaWJyYXJpZXMpXEluY2x1ZGVc
V2ViQ29yZTskKFdlYktpdF9MaWJyYXJpZXMpXEluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVh
ZGVyczskKFdlYktpdF9MaWJyYXJpZXMpXEluY2x1ZGVcSmF2YVNjcmlwdENvcmU7JChJbnREaXIp
SW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVk
ZURpcmVjdG9yaWVzPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPlVzZTwvUHJlY29tcGlsZWRI
ZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXJGaWxlPlN0ZEFmeC5oPC9QcmVjb21waWxl
ZEhlYWRlckZpbGU+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRp
b25hbERlcGVuZGVuY2llcz5XaW5pbmV0LmxpYjtEYmdIZWxwLmxpYjtjb21kbGczMi5saWI7Y29t
c3VwcHcubGliO2dkaTMyLmxpYjtjb21jdGwzMi5saWI7c2hsd2FwaS5saWI7dXNlcjMyLmxpYjtv
bGUzMi5saWI7b2xlYXV0MzIubGliO1dlYktpdEdVSUQkKERlYnVnU3VmZml4KS5saWI7V2ViS2l0
JChEZWJ1Z1N1ZmZpeCkubGliO1dURiQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0aW9uYWxEZXBl
bmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVt
RGVmaW5pdGlvbkdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJM
aWJEZWJ1Zy5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliRGVidWcucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysr
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJEZWJ1
Zy5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQi
IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k
ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNo
ZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZz
cHJvcHNcY29tbW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGli
cmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1By
b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlBvc3RCdWlsZC5jbWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYlBvc3RCdWlsZC5jbWQJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQb3N0QnVpbGQuY21kCSh3b3JraW5n
IGNvcHkpCkBAIC0xICswLDAgQEAKLWlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxi
dWlsZGZhaWxlZCIgZGVsICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKSW5k
ZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQ
cmVCdWlsZC5jbWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
dmN4cHJvai9XaW5MYXVuY2hlckxpYlByZUJ1aWxkLmNtZAkocmV2aXNpb24gMTg4OTcwKQorKysg
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByZUJ1
aWxkLmNtZAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICswLDAgQEAKLSVTeXN0ZW1Ecml2ZSVcY3ln
d2luXGJpblx3aGljaC5leGUgcGVybAotaWYgZXJyb3JsZXZlbCAxIHNldCBQQVRIPSVTeXN0ZW1E
cml2ZSVcY3lnd2luXGJpbjslUEFUSCUKLWNtZCAvYwotaWYgZXhpc3QgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGJ1aWxkZmFpbGVkIiBwZXJsIC13bmxlICJpZiAoL1hYJVBST0pFQ1ROQU1FJVhY
LykgeyBwcmludCB9IGVsc2UgeyBleGl0IDEgfSIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1
aWxkZmFpbGVkIgotaWYgZXJyb3JsZXZlbCAxIGV4aXQgMQotZWNobyBYWCVQUk9KRUNUTkFNRSVY
WCA+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKSW5kZXg6IFRvb2xzL1dp
bkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQcm9kdWN0aW9uLnBy
b3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ov
V2luTGF1bmNoZXJMaWJQcm9kdWN0aW9uLnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJvZHVjdGlv
bi5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHht
bG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMi
PgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFBy
b2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xjb21tb24ucHJvcHMiIC8+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNc
cHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGli
Q29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgLz4KLSAgPEl0ZW1EZWZpbml0aW9u
R3JvdXAgLz4KLSAgPEl0ZW1Hcm91cCAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzCShyZXZpc2lv
biAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyTGliUmVsZWFzZS5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLe+7
vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0
VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExh
YmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJy
YXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXHJlbGVhc2UucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcyIgLz4KLSAgPC9J
bXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVz
b3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hw
cm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMv
V2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTE5ICswLDAgQEAKLS8vIHt7Tk9fREVQRU5ERU5DSUVTfX0K
LS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUuCi0vLyBVc2Vk
IGJ5IFdpbkxhdW5jaGVyTGliLnJjCi0vLwotI2RlZmluZSBJRENfTVlJQ09OICAgICAgICAgICAg
ICAgICAgICAgIDIKLSNkZWZpbmUgSUREX1dJTkxBVU5DSEVSX0RJQUxPRyAgICAgICAgICAxMDIK
LSNkZWZpbmUgSURTX0FQUF9USVRMRSAgICAgICAgICAgICAgICAgICAxMDMKLSNkZWZpbmUgSURE
X0FCT1VUQk9YICAgICAgICAgICAgICAgICAgICAxMDMKLSNkZWZpbmUgSURNX0FCT1VUICAgICAg
ICAgICAgICAgICAgICAgICAxMDQKLSNkZWZpbmUgSURNX0VYSVQgICAgICAgICAgICAgICAgICAg
ICAgICAxMDUKLSNkZWZpbmUgSURNX1BSSU5UICAgICAgICAgICAgICAgICAgICAgICAxMDYKLSNk
ZWZpbmUgSURJX1dJTkxBVU5DSEVSICAgICAgICAgICAgICAgICAxMDcKLSNkZWZpbmUgSURJX1NN
QUxMICAgICAgICAgICAgICAgICAgICAgICAxMDgKLSNkZWZpbmUgSURDX1dJTkxBVU5DSEVSICAg
ICAgICAgICAgICAgICAxMDkKLSNkZWZpbmUgSURNX0FWRk9VTkRBVElPTiAgICAgICAgICAgICAg
ICAxMTAKLSNkZWZpbmUgSURNX0FDQ19DT01QT1NJVElORyAgICAgICAgICAgICAxMTEKLSNkZWZp
bmUgSURNX1dLX0ZVTExTQ1JFRU4gICAgICAgICAgICAgICAxMTIKLSNkZWZpbmUgSURNX0NPTVBP
U0lUSU5HX0JPUkRFUlMgICAgICAgICAxMTMKLSNkZWZpbmUgSURNX0NBQ0hFUyAgICAgICAgICAg
ICAgICAgICAgICAxMTQKLSNkZWZpbmUgSURNX1dFQl9JTlNQRUNUT1IgICAgICAgICAgICAgICAx
MjAKLSNkZWZpbmUgSURNX0RJU0FCTEVfSU1BR0VTICAgICAgICAgICAgICAxMjEKLSNkZWZpbmUg
SURNX0RJU0FCTEVfU1RZTEVTICAgICAgICAgICAgICAxMjIKLSNkZWZpbmUgSURNX0RJU0FCTEVf
SkFWQVNDUklQVCAgICAgICAgICAxMjMKLSNkZWZpbmUgSURNX0RJU0FCTEVfTE9DQUxfRklMRV9S
RVNUUklDVElPTlMgMTI0Ci0jZGVmaW5lIElETV9JTlZFUlRfQ09MT1JTICAgICAgICAgICAgICAg
MTI1Ci0jZGVmaW5lIElEUl9NQUlORlJBTUUgICAgICAgICAgICAgICAgICAgMTI4Ci0jZGVmaW5l
IElERF9DQUNIRVMgICAgICAgICAgICAgICAgICAgICAgMTI5Ci0jZGVmaW5lIElETV9ISVNUT1JZ
X0JBQ0tXQVJEICAgICAgICAgICAgMTMwCi0jZGVmaW5lIElERF9VU0VSX0FHRU5UICAgICAgICAg
ICAgICAgICAgMTMwCi0jZGVmaW5lIElETV9ISVNUT1JZX0ZPUldBUkQgICAgICAgICAgICAgMTMx
Ci0jZGVmaW5lIElETV9ISVNUT1JZX0xJTkswICAgICAgICAgICAgICAgMTUwCi0jZGVmaW5lIElE
TV9ISVNUT1JZX0xJTksxICAgICAgICAgICAgICAgMTUxCi0jZGVmaW5lIElETV9ISVNUT1JZX0xJ
TksyICAgICAgICAgICAgICAgMTUyCi0jZGVmaW5lIElETV9ISVNUT1JZX0xJTkszICAgICAgICAg
ICAgICAgMTUzCi0jZGVmaW5lIElETV9ISVNUT1JZX0xJTks0ICAgICAgICAgICAgICAgMTU0Ci0j
ZGVmaW5lIElETV9ISVNUT1JZX0xJTks1ICAgICAgICAgICAgICAgMTU1Ci0jZGVmaW5lIElETV9I
SVNUT1JZX0xJTks2ICAgICAgICAgICAgICAgMTU2Ci0jZGVmaW5lIElETV9ISVNUT1JZX0xJTks3
ICAgICAgICAgICAgICAgMTU3Ci0jZGVmaW5lIElETV9ISVNUT1JZX0xJTks4ICAgICAgICAgICAg
ICAgMTU4Ci0jZGVmaW5lIElETV9ISVNUT1JZX0xJTks5ICAgICAgICAgICAgICAgMTU5Ci0jZGVm
aW5lIElEVF9VUERBVEVfU1RBVFMgICAgICAgICAgICAgICAgMTYwCi0jZGVmaW5lIElETV9VQV9E
RUZBVUxUICAgICAgICAgICAgICAgICAgMTYxCi0jZGVmaW5lIElETV9VQV9TQUZBUklfOF8wICAg
ICAgICAgICAgICAgMTYyCi0jZGVmaW5lIElETV9VQV9TQUZBUklfSU9TXzhfSVBIT05FICAgICAg
MTYzCi0jZGVmaW5lIElETV9VQV9TQUZBUklfSU9TXzhfSVBBRCAgICAgICAgMTY0Ci0jZGVmaW5l
IElETV9VQV9JRV8xMSAgICAgICAgICAgICAgICAgICAgMTY1Ci0jZGVmaW5lIElETV9VQV9DSFJP
TUVfTUFDICAgICAgICAgICAgICAgMTY2Ci0jZGVmaW5lIElETV9VQV9DSFJPTUVfV0lOICAgICAg
ICAgICAgICAgMTY3Ci0jZGVmaW5lIElETV9VQV9GSVJFRk9YX01BQyAgICAgICAgICAgICAgMTY4
Ci0jZGVmaW5lIElETV9VQV9GSVJFRk9YX1dJTiAgICAgICAgICAgICAgMTY5Ci0jZGVmaW5lIElE
TV9VQV9PVEhFUiAgICAgICAgICAgICAgICAgICAgMTcwCi0jZGVmaW5lIElETV9BQ1RVQUxfU0la
RSAgICAgICAgICAgICAgICAgMTcxCi0jZGVmaW5lIElETV9aT09NX0lOICAgICAgICAgICAgICAg
ICAgICAgMTcyCi0jZGVmaW5lIElETV9aT09NX09VVCAgICAgICAgICAgICAgICAgICAgMTczCi0j
ZGVmaW5lIElEQ19FTVBUWV9VUkxfQ0FDSEUgICAgICAgICAgICAgMTAwMAotI2RlZmluZSBJRENf
UkVUVVJOX0ZSRUVfTUVNT1JZICAgICAgICAgIDEwMDEKLSNkZWZpbmUgSURDX0VNUFRZX1dFQkNP
UkVfQ0FDSEUgICAgICAgICAxMDAyCi0jZGVmaW5lIElEQ19DSEVDSzEgICAgICAgICAgICAgICAg
ICAgICAgMTAwMwotI2RlZmluZSBJRENfSEVBUF9PQkpFQ1RTICAgICAgICAgICAgICAgIDEwMDUK
LSNkZWZpbmUgSURDX0dDX0pTQyAgICAgICAgICAgICAgICAgICAgICAxMDA2Ci0jZGVmaW5lIElE
Q19SRVNFUlZFRF9WTSAgICAgICAgICAgICAgICAgMTAwNwotI2RlZmluZSBJRENfQ09NTUlUVEVE
X1ZNICAgICAgICAgICAgICAgIDEwMDgKLSNkZWZpbmUgSURDX0ZSRUVfTElTVF9CWVRFUyAgICAg
ICAgICAgICAxMDA5Ci0jZGVmaW5lIElEQ19JTUFHRVNfT0JKRUNUX0NPVU5UICAgICAgICAgMTAx
MQotI2RlZmluZSBJRENfQ1NTX09CSkVDVF9DT1VOVCAgICAgICAgICAgIDEwMTIKLSNkZWZpbmUg
SURDX1hTTF9PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDEzCi0jZGVmaW5lIElEQ19KU0NfT0JK
RUNUX0NPVU5UICAgICAgICAgICAgMTAxNAotI2RlZmluZSBJRENfVE9UQUxfT0JKRUNUX0NPVU5U
ICAgICAgICAgIDEwMTUKLSNkZWZpbmUgSURDX0lNQUdFU19CWVRFUyAgICAgICAgICAgICAgICAx
MDE2Ci0jZGVmaW5lIElEQ19DU1NfQllURVMgICAgICAgICAgICAgICAgICAgMTAxNwotI2RlZmlu
ZSBJRENfWFNMX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTgKLSNkZWZpbmUgSURDX0pTQ19C
WVRFUyAgICAgICAgICAgICAgICAgICAxMDE5Ci0jZGVmaW5lIElEQ19UT1RBTF9CWVRFUyAgICAg
ICAgICAgICAgICAgMTAyMAotI2RlZmluZSBJRENfSU1BR0VTX0xJVkVfQ09VTlQgICAgICAgICAg
IDEwMjEKLSNkZWZpbmUgSURDX0NTU19MSVZFX0NPVU5UICAgICAgICAgICAgICAxMDIyCi0jZGVm
aW5lIElEQ19YU0xfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyMwotI2RlZmluZSBJRENfSlND
X0xJVkVfQ09VTlQgICAgICAgICAgICAgIDEwMjQKLSNkZWZpbmUgSURDX1RPVEFMX0xJVkVfQ09V
TlQgICAgICAgICAgICAxMDI1Ci0jZGVmaW5lIElEQ19JTUFHRVNfREVDT0RFRF9DT1VOVCAgICAg
ICAgMTAyNgotI2RlZmluZSBJRENfQ1NTX0RFQ09ERURfQ09VTlQgICAgICAgICAgIDEwMjcKLSNk
ZWZpbmUgSURDX1hTTF9ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI4Ci0jZGVmaW5lIElEQ19K
U0NfREVDT0RFRF9DT1VOVCAgICAgICAgICAgMTAyOQotI2RlZmluZSBJRENfVE9UQUxfREVDT0RF
RCAgICAgICAgICAgICAgIDEwMzAKLSNkZWZpbmUgSURDX0lNQUdFU19QVVJHRUFCTEVfQ09VTlQg
ICAgICAxMDMxCi0jZGVmaW5lIElEQ19DU1NfUFVSR0VBQkxFX0NPVU5UICAgICAgICAgMTAzMgot
I2RlZmluZSBJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzMKLSNkZWZpbmUgSURD
X0pTQ19QVVJHRUFCTEVfQ09VTlQgICAgICAgICAxMDM0Ci0jZGVmaW5lIElEQ19UT1RBTF9QVVJH
RUFCTEUgICAgICAgICAgICAgMTAzNQotI2RlZmluZSBJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNU
UyAgICAgIDEwMzYKLSNkZWZpbmUgSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTICAgICAxMDM3
Ci0jZGVmaW5lIElEQ19QUk9URUNURURfSlNDX0hFQVBfT0JKRUNUUyAgMTAzOAotI2RlZmluZSBJ
RENfU1RBVElDNTYgICAgICAgICAgICAgICAgICAgIDEwMzkKLSNkZWZpbmUgSURDX1NUQVRJQzU3
ICAgICAgICAgICAgICAgICAgICAxMDQwCi0jZGVmaW5lIElEQ19KU0NfSEVBUF9TSVpFICAgICAg
ICAgICAgICAgMTA0MQotI2RlZmluZSBJRENfSlNDX0hFQVBfRlJFRSAgICAgICAgICAgICAgIDEw
NDIKLSNkZWZpbmUgSURDX0JVVFRPTjUgICAgICAgICAgICAgICAgICAgICAxMDQzCi0jZGVmaW5l
IElEQ19UT1RBTF9GT05UX09CSkVDVFMgICAgICAgICAgMTA0NAotI2RlZmluZSBJRENfTWVzc2Fn
ZSAgICAgICAgICAgICAgICAgICAgIDEwNDQKLSNkZWZpbmUgSURDX0lOQUNUSVZFX0ZPTlRfT0JK
RUNUUyAgICAgICAxMDQ1Ci0jZGVmaW5lIElEQ19HTFlQSF9QQUdFUyAgICAgICAgICAgICAgICAg
MTA0NgotI2RlZmluZSBJRENfUEFHRV9VUkxfTUFQUElOR1MgICAgICAgICAgIDEwNDcKLSNkZWZp
bmUgSURDX1JFVEFJTkVEX1BBR0VfVVJMUyAgICAgICAgICAxMDQ4Ci0jZGVmaW5lIElEQ19TSVRF
X0lDT05fUkVDT1JEUyAgICAgICAgICAgMTA0OQotI2RlZmluZSBJRENfVE9UQUxfRk9OVF9PQkpF
Q1RTNSAgICAgICAgIDEwNTAKLSNkZWZpbmUgSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBICAgICAg
ICAxMDUxCi0jZGVmaW5lIElEQ19VU0VSX0FHRU5UX0lOUFVUICAgICAgICAgICAgMTA1MgotI2Rl
ZmluZSBJRENfU1RBVElDICAgICAgICAgICAgICAgICAgICAgIC0xCi0KLS8vIE5leHQgZGVmYXVs
dCB2YWx1ZXMgZm9yIG5ldyBvYmplY3RzCi0vLyAKLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi0j
aWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLSNkZWZpbmUgX0FQU19OT19NRkMgICAg
ICAgICAgICAgICAgICAgICAxCi0jZGVmaW5lIF9BUFNfTkVYVF9SRVNPVVJDRV9WQUxVRSAgICAg
ICAgMTc0Ci0jZGVmaW5lIF9BUFNfTkVYVF9DT01NQU5EX1ZBTFVFICAgICAgICAgMzI3NzYKLSNk
ZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAxMDUzCi0jZGVmaW5lIF9BUFNf
TkVYVF9TWU1FRF9WQUxVRSAgICAgICAgICAgMTEwCi0jZW5kaWYKLSNlbmRpZgpJbmRleDogVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclBvc3RCdWlsZC5j
bWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlclBvc3RCdWlsZC5jbWQJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQb3N0QnVpbGQuY21kCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLWlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElS
JVxidWlsZGZhaWxlZCIgZGVsICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIK
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQ
cmVCdWlsZC5jbWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
dmN4cHJvai9XaW5MYXVuY2hlclByZUJ1aWxkLmNtZAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclByZUJ1aWxkLmNt
ZAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICswLDAgQEAKLSVTeXN0ZW1Ecml2ZSVcY3lnd2luXGJp
blx3aGljaC5leGUgcGVybAotaWYgZXJyb3JsZXZlbCAxIHNldCBQQVRIPSVTeXN0ZW1Ecml2ZSVc
Y3lnd2luXGJpbjslUEFUSCUKLWNtZCAvYwotaWYgZXhpc3QgIiVDT05GSUdVUkFUSU9OQlVJTERE
SVIlXGJ1aWxkZmFpbGVkIiBwZXJsIC13bmxlICJpZiAoL1hYJVBST0pFQ1ROQU1FJVhYLykgeyBw
cmludCB9IGVsc2UgeyBleGl0IDEgfSIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFp
bGVkIgotaWYgZXJyb3JsZXZlbCAxIGV4aXQgMQotZWNobyBYWCVQUk9KRUNUTkFNRSVYWCA+ICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKSW5kZXg6IFRvb2xzL1dpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNo
ZXJQcm9kdWN0aW9uLnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJvZHVjdGlvbi5wcm9wcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3Jv
dXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0
X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xjb21tb24ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNccHJvZHVjdGlvbi5wcm9w
cyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ29tbW9uLnByb3BzIiAvPgot
ICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4K
LSAgPFByb3BlcnR5R3JvdXAgLz4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgLz4KLSAgPEl0ZW1H
cm91cCAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJSZWxlYXNlLnBy
b3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ov
V2luTGF1bmNoZXJSZWxlYXNlLnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcwkod29y
a2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lv
bj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNi
dWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9u
LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29s
c1x2c3Byb3BzXHJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVu
Y2hlckNvbW1vbi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVzb3VyY2UuaAkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlclJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzAsMCBAQAotLy97e05P
X0RFUEVOREVOQ0lFU319DQotLy8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIGluY2x1
ZGUgZmlsZS4NCi0vLyBVc2VkIGJ5IFdpbkxhdW5jaGVyTGF1bmNoZXIucmMNCi0vLw0KLSNkZWZp
bmUgSUREX1dJTkxBVU5DSEVSX0RJQUxPRyAgICAgICAgICAxMDINCi0jZGVmaW5lIElESV9XSU5M
QVVOQ0hFUiAgICAgICAgICAgICAgICAgMTA3DQotI2RlZmluZSBJRFJfTUFJTkZSQU1FICAgICAg
ICAgICAgICAgICAgIDEyOA0KLSNkZWZpbmUgSURDX1NUQVRJQyAgICAgICAgICAgICAgICAgICAg
ICAtMQ0KLQ0KLS8vIE5leHQgZGVmYXVsdCB2YWx1ZXMgZm9yIG5ldyBvYmplY3RzDQotLy8gDQot
I2lmZGVmIEFQU1RVRElPX0lOVk9LRUQNCi0jaWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJP
TFMNCi0jZGVmaW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAgICAgICAgICAgMQ0KLSNkZWZpbmUg
X0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMjkNCi0jZGVmaW5lIF9BUFNfTkVYVF9D
T01NQU5EX1ZBTFVFICAgICAgICAgMzI3NzENCi0jZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZB
TFVFICAgICAgICAgMTAwMA0KLSNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAgICAgICAg
ICAxMTANCi0jZW5kaWYNCi0jZW5kaWYNCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL3NtYWxsLmljbwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1h
cmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlclJlcGxhY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlclJlcGxhY2UuaAkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXJSZXBsYWNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBB
bGV4IENocmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICog
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
LSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFdpbkxhdW5jaGVyUmVwbGFjZV9oCi0jZGVmaW5lIFdpbkxhdW5jaGVyUmVwbGFjZV9oCi0K
LS8vIFRoaXMgZmlsZSBpcyB0byBtYWtlIGl0IGVhc2llciBmb3IgdXNlcnMgdG8gbWFuYWdlIGNo
YW5nZXMgdG8gdGhlIGludGVybmFscyBvZiBXaW5MYXVuY2hlcgotCi1zdGF0aWMgY29uc3Qgd2No
YXJfdCogZGVmYXVsdEhUTUwgPSBMIjxwIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzAwRkYw
MFwiPlRlc3Rpbmc8L3A+PGltZyBpZD1cIndlYmtpdCBsb2dvXCIgc3JjPVwiaHR0cDovL3dlYmtp
dC5vcmcvaW1hZ2VzL2ljb24tZ29sZC5wbmdcIiBhbHQ9XCJGYWNlXCI+PGRpdiBzdHlsZT1cImJv
cmRlcjogc29saWQgYmx1ZTsgYmFja2dyb3VuZDogd2hpdGU7XCIgY29udGVudGVkaXRhYmxlPVwi
dHJ1ZVwiPmRpdiB3aXRoIGJsdWUgYm9yZGVyPC9kaXY+PHVsPjxsaT5mb288bGk+YmFyPGxpPmJh
ejwvdWw+IjsKLQotc3RhdGljIHZvaWQgcHJvY2Vzc0NyYXNoUmVwb3J0KGNvbnN0IHdjaGFyX3Qq
IGZpbGVOYW1lKSB7IDo6TWVzc2FnZUJveCgwLCBmaWxlTmFtZSwgTCJDcmFzaCBSZXBvcnQiLCBN
Ql9PSyk7IH0KLQotI2VuZGlmCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlcldl
Ykhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyV2Vi
SG9zdC5jcHAJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyV2ViSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjQ2ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIwMTMtMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEJyZW50IEZ1bGdoYW0uICBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIEFw
cGNlbGVyYXRvciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFsZXggQ2hyaXN0ZW5zZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAic3RkYWZ4LmgiCi0jaW5j
bHVkZSAiV2luTGF1bmNoZXJXZWJIb3N0LmgiCi0KLSNpbmNsdWRlICJET01EZWZhdWx0SW1wbC5o
IgotI2luY2x1ZGUgIlBhZ2VMb2FkVGVzdENsaWVudC5oIgotI2luY2x1ZGUgIldpbkxhdW5jaGVy
LmgiCi0jaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgotCi1jbGFzcyBTaW1wbGVFdmVudExpc3Rl
bmVyIDogcHVibGljIERPTUV2ZW50TGlzdGVuZXIgewotcHVibGljOgotICAgIFNpbXBsZUV2ZW50
TGlzdGVuZXIoTFBXU1RSIHR5cGUpCi0gICAgewotICAgICAgICB3Y3NuY3B5X3MobV9ldmVudFR5
cGUsIDEwMCwgdHlwZSwgMTAwKTsKLSAgICAgICAgbV9ldmVudFR5cGVbOTldID0gMDsKLSAgICB9
Ci0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgaGFuZGxlRXZlbnQoSURP
TUV2ZW50KiBldnQpCi0gICAgewotICAgICAgICB3Y2hhcl90IG1lc3NhZ2VbMjU1XTsKLSAgICAg
ICAgd2NzY3B5X3MobWVzc2FnZSwgMjU1LCBtX2V2ZW50VHlwZSk7Ci0gICAgICAgIHdjc2NhdF9z
KG1lc3NhZ2UsIDI1NSwgTCIgZXZlbnQgZmlyZWQhIik7Ci0gICAgICAgIDo6TWVzc2FnZUJveCgw
LCBtZXNzYWdlLCBMIkV2ZW50IEhhbmRsZXIiLCBNQl9PSyk7Ci0gICAgICAgIHJldHVybiBTX09L
OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICB3Y2hhcl90IG1fZXZlbnRUeXBlWzEwMF07Ci19Owot
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJGcmFtZSwgJl9fdXVpZG9mKElXZWJG
cmFtZSk+PiBJV2ViRnJhbWVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJE
YXRhU291cmNlLCAmX191dWlkb2YoSVdlYkRhdGFTb3VyY2UpPj4gSVdlYkRhdGFTb3VyY2VQdHI7
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJNdXRhYmxlVVJMUmVxdWVzdCwgJl9f
dXVpZG9mKElXZWJNdXRhYmxlVVJMUmVxdWVzdCk+PiBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHI7
Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXJXZWJIb3N0Ojp1cGRhdGVBZGRyZXNzQmFyKElXZWJWaWV3
JiB3ZWJWaWV3KQotewotICAgIElXZWJGcmFtZVB0ciBtYWluRnJhbWU7Ci0gICAgSFJFU1VMVCBo
ciA9IHdlYlZpZXcubWFpbkZyYW1lKCZtYWluRnJhbWUuR2V0SW50ZXJmYWNlUHRyKCkpOwotICAg
IGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBJV2ViRGF0YVNvdXJj
ZVB0ciBkYXRhU291cmNlOwotICAgIGhyID0gbWFpbkZyYW1lLT5kYXRhU291cmNlKCZkYXRhU291
cmNlLkdldEludGVyZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSB8fCAhZGF0YVNvdXJj
ZSkKLSAgICAgICAgaHIgPSBtYWluRnJhbWUtPnByb3Zpc2lvbmFsRGF0YVNvdXJjZSgmZGF0YVNv
dXJjZS5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIWRhdGFTb3Vy
Y2UpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIElXZWJNdXRhYmxlVVJMUmVxdWVzdFB0ciBy
ZXF1ZXN0OwotICAgIGhyID0gZGF0YVNvdXJjZS0+cmVxdWVzdCgmcmVxdWVzdC5HZXRJbnRlcmZh
Y2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIXJlcXVlc3QpCi0gICAgICAgIHJldHVy
biBocjsKLQotICAgIF9ic3RyX3QgZnJhbWVVUkw7Ci0gICAgaHIgPSByZXF1ZXN0LT5tYWluRG9j
dW1lbnRVUkwoZnJhbWVVUkwuR2V0QWRkcmVzcygpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAg
ICAgICAgcmV0dXJuIGhyOwotCi0gICAgaWYgKGZyYW1lVVJMLmxlbmd0aCgpKSB7Ci0gICAgICAg
IG1fY2xpZW50LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5zZXRQYWdlVVJMKGZyYW1lVVJMKTsKLSAg
ICAgICAgbV9jbGllbnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZENvbW1pdExvYWQoKTsKLSAg
ICB9Ci0KLSAgICBsb2FkVVJMKGZyYW1lVVJMKTsKLQotICAgIHJldHVybiBTX09LOwotfQotCi12
b2lkIFdpbkxhdW5jaGVyV2ViSG9zdDo6bG9hZFVSTChfYnN0cl90JiB1cmwpCi17Ci0gICAgOjpT
ZW5kTWVzc2FnZShtX2hVUkxCYXJXbmQsIHN0YXRpY19jYXN0PFVJTlQ+KFdNX1NFVFRFWFQpLCAw
LCByZWludGVycHJldF9jYXN0PExQQVJBTT4odXJsLkdldEJTVFIoKSkpOwotfQotCi1IUkVTVUxU
IFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcihfSW5f
b3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJFcnJvciAqZXJyb3IsIF9Jbl9vcHRfIElXZWJG
cmFtZSopCi17Ci0gICAgX2JzdHJfdCBlcnJvckRlc2NyaXB0aW9uOwotICAgIEhSRVNVTFQgaHIg
PSBFX1BPSU5URVI7Ci0gICAgaWYgKGVycm9yKQotICAgICAgICBociA9IGVycm9yLT5sb2NhbGl6
ZWREZXNjcmlwdGlvbihlcnJvckRlc2NyaXB0aW9uLkdldEFkZHJlc3MoKSk7Ci0gICAgaWYgKEZB
SUxFRChocikpCi0gICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSBMIkZhaWxlZCB0byBsb2FkIHBh
Z2UgYW5kIHRvIGxvY2FsaXplIGVycm9yIGRlc2NyaXB0aW9uLiI7Ci0KLSAgICBpZiAoX3djc2lj
bXAoZXJyb3JEZXNjcmlwdGlvbiwgTCJDYW5jZWxsZWQiKSkKLSAgICAgICAgOjpNZXNzYWdlQm94
VygwLCBzdGF0aWNfY2FzdDxMUENXU1RSPihlcnJvckRlc2NyaXB0aW9uKSwgTCJFcnJvciIsIE1C
X0FQUExNT0RBTCB8IE1CX09LKTsKLQotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFdp
bkxhdW5jaGVyV2ViSG9zdDo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9P
dXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCi17Ci0gICAgaWYgKCFwcHZPYmplY3QpCi0gICAgICAg
IHJldHVybiBFX1BPSU5URVI7Ci0gICAgKnBwdk9iamVjdCA9IG51bGxwdHI7Ci0gICAgaWYgKElz
RXF1YWxHVUlEKHJpaWQsIElJRF9JVW5rbm93bikpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0
aWNfY2FzdDxJV2ViRnJhbWVMb2FkRGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0Vx
dWFsR1VJRChyaWlkLCBJSURfSVdlYkZyYW1lTG9hZERlbGVnYXRlKSkKLSAgICAgICAgKnBwdk9i
amVjdCA9IHN0YXRpY19jYXN0PElXZWJGcmFtZUxvYWREZWxlZ2F0ZSo+KHRoaXMpOwotICAgIGVs
c2UKLSAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7Ci0KLSAgICBBZGRSZWYoKTsKLSAgICBy
ZXR1cm4gU19PSzsKLX0KLQotVUxPTkcgV2luTGF1bmNoZXJXZWJIb3N0OjpBZGRSZWYoKQotewot
ICAgIHJldHVybiArK21fcmVmQ291bnQ7Ci19Ci0KLVVMT05HIFdpbkxhdW5jaGVyV2ViSG9zdDo6
UmVsZWFzZSgpCi17Ci0gICAgVUxPTkcgbmV3UmVmID0gLS1tX3JlZkNvdW50OwotICAgIGlmICgh
bmV3UmVmKQotICAgICAgICBkZWxldGUodGhpcyk7Ci0KLSAgICByZXR1cm4gbmV3UmVmOwotfQot
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElET01Eb2N1bWVudCwgJl9fdXVpZG9mKElE
T01Eb2N1bWVudCk+PiBJRE9NRG9jdW1lbnRQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9J
SUlEPElET01FbGVtZW50LCAmX191dWlkb2YoSURPTUVsZW1lbnQpPj4gSURPTUVsZW1lbnRQdHI7
Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElET01FdmVudFRhcmdldCwgJl9fdXVpZG9m
KElET01FdmVudFRhcmdldCk+PiBJRE9NRXZlbnRUYXJnZXRQdHI7Ci10eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJGcmFtZTIsICZfX3V1aWRvZihJV2ViRnJhbWUyKT4+IElXZWJGcmFt
ZTJQdHI7Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXJXZWJIb3N0OjpkaWRGaW5pc2hMb2FkRm9yRnJh
bWUoX0luX29wdF8gSVdlYlZpZXcqIHdlYlZpZXcsIF9Jbl9vcHRfIElXZWJGcmFtZSogZnJhbWUp
Ci17Ci0gICAgaWYgKCFmcmFtZSB8fCAhd2ViVmlldykKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKLQotICAgIElXZWJGcmFtZTJQdHIgZnJhbWUyOwotICAgIGlmIChTVUNDRUVERUQoZnJhbWUt
PlF1ZXJ5SW50ZXJmYWNlKCZmcmFtZTIuR2V0SW50ZXJmYWNlUHRyKCkpKSkgewotICAgICAgICBC
T09MIG1haW5GcmFtZSA9IEZBTFNFOwotICAgICAgICBpZiAoZnJhbWUyICYmIFNVQ0NFRURFRChm
cmFtZTItPmlzTWFpbkZyYW1lKCZtYWluRnJhbWUpKSkgewotICAgICAgICAgICAgaWYgKG1haW5G
cmFtZSkKLSAgICAgICAgICAgICAgICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlk
RmluaXNoTG9hZCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSURPTURvY3VtZW50UHRyIGRv
YzsKLSAgICBmcmFtZS0+RE9NRG9jdW1lbnQoJmRvYy5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0KLSAg
ICBJRE9NRWxlbWVudFB0ciBlbGVtZW50OwotICAgIElET01FdmVudFRhcmdldFB0ciB0YXJnZXQ7
Ci0KLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5zaG93TGFzdFZpc2l0ZWRT
aXRlcygqd2ViVmlldyk7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGZvciB0aGUgdGVzdCBw
YWdlOgotICAgIEhSRVNVTFQgaHIgPSBkb2MtPmdldEVsZW1lbnRCeUlkKEwid2Via2l0IGxvZ28i
LCAmZWxlbWVudC5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYgKCFTVUNDRUVERUQoaHIpKQot
ICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBociA9IGVsZW1lbnQtPlF1ZXJ5SW50ZXJmYWNlKElJ
RF9JRE9NRXZlbnRUYXJnZXQsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmdGFyZ2V0LkdldElu
dGVyZmFjZVB0cigpKSk7Ci0gICAgaWYgKCFTVUNDRUVERUQoaHIpKQotICAgICAgICByZXR1cm4g
aHI7Ci0KLSAgICBociA9IHRhcmdldC0+YWRkRXZlbnRMaXN0ZW5lcihMImNsaWNrIiwgbmV3IFNp
bXBsZUV2ZW50TGlzdGVuZXIgKEwid2Via2l0IGxvZ28gY2xpY2siKSwgRkFMU0UpOwotICAgIGlm
ICghU1VDQ0VFREVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgcmV0dXJuIGhyOwot
fQotCi1IUkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JGcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSogZnJhbWUpCi17
Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIG1fY2xpZW50
LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZCgqZnJhbWUpOwot
ICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmFp
bExvYWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBf
SW5fb3B0XyBJV2ViRnJhbWUqKQotewotICAgIG1fY2xpZW50LT5wYWdlTG9hZFRlc3RDbGllbnQo
KS5kaWRGYWlsTG9hZCgpOwotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFdpbkxhdW5j
aGVyV2ViSG9zdDo6ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUoX0luX29wdF8gSVdlYlZp
ZXcqIHNlbmRlciwgX0luX29wdF8gSVdlYkZyYW1lKiBmcmFtZSkKLXsKLSAgICBJV2ViRGF0YVNv
dXJjZVB0ciBkYXRhU291cmNlOwotICAgIEhSRVNVTFQgaHIgPSBmcmFtZS0+ZGF0YVNvdXJjZSgm
ZGF0YVNvdXJjZS5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIWRh
dGFTb3VyY2UpCi0gICAgICAgIGhyID0gZnJhbWUtPnByb3Zpc2lvbmFsRGF0YVNvdXJjZSgmZGF0
YVNvdXJjZS5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIWRhdGFT
b3VyY2UpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIElXZWJNdXRhYmxlVVJMUmVxdWVzdFB0
ciByZXF1ZXN0OwotICAgIGhyID0gZGF0YVNvdXJjZS0+cmVxdWVzdCgmcmVxdWVzdC5HZXRJbnRl
cmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIXJlcXVlc3QpCi0gICAgICAgIHJl
dHVybiBocjsKLQotICAgIF9ic3RyX3QgZnJhbWVVUkw7Ci0gICAgaHIgPSByZXF1ZXN0LT5tYWlu
RG9jdW1lbnRVUkwoZnJhbWVVUkwuR2V0QWRkcmVzcygpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkK
LSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgaWYgKGZyYW1lVVJMLmxlbmd0aCgpKQotICAgICAg
ICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlkSGFuZGxlT25Mb2FkRXZlbnRzKCk7
Ci0KLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6OmRp
ZEZpcnN0TGF5b3V0SW5GcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFt
ZSogZnJhbWUpCi17Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsK
LQotICAgIElXZWJGcmFtZTJQdHIgZnJhbWUyOwotICAgIGlmIChGQUlMRUQoZnJhbWUtPlF1ZXJ5
SW50ZXJmYWNlKCZmcmFtZTIuR2V0SW50ZXJmYWNlUHRyKCkpKSkKLSAgICAgICAgcmV0dXJuIFNf
T0s7Ci0KLSAgICBCT09MIG1haW5GcmFtZTsKLSAgICBpZiAoZnJhbWUyICYmIFNVQ0NFRURFRChm
cmFtZTItPmlzTWFpbkZyYW1lKCZtYWluRnJhbWUpKSkgewotICAgICAgICBpZiAobWFpbkZyYW1l
KQotICAgICAgICAgICAgbV9jbGllbnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEZpcnN0TGF5
b3V0Rm9yTWFpbkZyYW1lKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNfT0s7Ci19CkluZGV4OiBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlcldlYkhvc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlcldlYkhvc3QuaAkocmV2aXNpb24gMTg4OTcwKQorKysg
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXJXZWJIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsODQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxNC0yMDE1IEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgInJlc291cmNlLmgiCi0j
aW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgotCi1jbGFzcyBXaW5MYXVuY2hlcjsKLQotY2xhc3Mg
V2luTGF1bmNoZXJXZWJIb3N0IDogcHVibGljIElXZWJGcmFtZUxvYWREZWxlZ2F0ZSwgcHVibGlj
IElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUgewotcHVibGljOgotICAgIFdpbkxhdW5jaGVy
V2ViSG9zdChXaW5MYXVuY2hlciogY2xpZW50LCBIV05EIHVybEJhcikKLSAgICAgICAgOiBtX2Ns
aWVudChjbGllbnQpLCBtX2hVUkxCYXJXbmQodXJsQmFyKSB7IH0KLQotICAgIC8vIElVbmtub3du
Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9J
bl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKLSAgICB2aXJ0
dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwotICAgIHZpcnR1YWwgVUxPTkcg
U1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAgLy8gSVdlYkZyYW1lTG9hZERlbGVn
YXRlCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUq
KTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBf
SW5fb3B0XyBJV2ViRnJhbWUqKSB7IHJldHVybiBTX09LOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3IoX0luX29w
dF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBfSW5fb3B0XyBJV2ViRnJhbWUqKTsK
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkQ29tbWl0TG9hZEZvckZy
YW1lKF9Jbl9vcHRfIElXZWJWaWV3KiB3ZWJWaWV3LCBfSW5fb3B0XyBJV2ViRnJhbWUqKQotICAg
IHsKLSAgICAgICAgaWYgKCF3ZWJWaWV3KQotICAgICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsK
LQotICAgICAgICByZXR1cm4gdXBkYXRlQWRkcmVzc0Jhcigqd2ViVmlldyk7Ci0gICAgfQotICAg
IAotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRSZWNlaXZlVGl0bGUo
X0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIEJTVFIgdGl0bGUsIF9Jbl9vcHRfIElXZWJGcmFtZSop
IHsgcmV0dXJuIFNfT0s7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
ZGlkQ2hhbmdlSWNvbnMoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUqKSB7
IHJldHVybiBTX09LOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRp
ZFJlY2VpdmVJY29uKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBIQklUTUFQLCBfSW5fb3B0XyBJ
V2ViRnJhbWUqKSB7IHJldHVybiBTX09LOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIGRpZEZpbmlzaExvYWRGb3JGcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9v
cHRfIElXZWJGcmFtZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBk
aWRGYWlsTG9hZFdpdGhFcnJvcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJFcnJv
ciosIF9Jbl9vcHRfIElXZWJGcmFtZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBkaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZShfSW5fb3B0XyBJV2Vi
VmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSopIHsgcmV0dXJuIFNfT0s7IH0KLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJM
KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBCU1RSIHVybCwgZG91YmxlIGRlbGF5U2Vjb25kcywg
REFURSBmaXJlRGF0ZSwgX0luX29wdF8gSVdlYkZyYW1lKikgeyByZXR1cm4gU19PSzsgfQotICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRDYW5jZWxDbGllbnRSZWRpcmVj
dEZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKikgeyByZXR1
cm4gU19PSzsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3aWxsQ2xv
c2VGcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSopIHsgcmV0dXJu
IFNfT0s7IH0KLSAgICB2aXJ0dWFsIC8qIFtsb2NhbF0gKi8gSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSB3aW5kb3dTY3JpcHRPYmplY3RBdmFpbGFibGUoSVdlYlZpZXcqLCBKU0NvbnRleHRSZWYs
IEpTT2JqZWN0UmVmKSAgeyByZXR1cm4gU19PSzsgfQotICAgIHZpcnR1YWwgLyogW2xvY2FsXSAq
LyBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZENsZWFyV2luZG93T2JqZWN0KElXZWJWaWV3
KiwgSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwgSVdlYkZyYW1lKikgeyByZXR1cm4gU19PSzsg
fQotCi0gICAgLy8gSVdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZQotICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZShfSW5f
b3B0XyBJV2ViVmlldyogc2VuZGVyLCBfSW5fb3B0XyBJV2ViRnJhbWUqKSB7IHJldHVybiBTX09L
OyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEZpcnN0TGF5b3V0
SW5GcmFtZShfSW5fb3B0XyBJV2ViVmlldyogc2VuZGVyLCBfSW5fb3B0XyBJV2ViRnJhbWUqKTsK
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkSGFuZGxlT25sb2FkRXZl
bnRzRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUqKTsKLSAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkRmlyc3RWaXN1YWxseU5vbkVt
cHR5TGF5b3V0SW5GcmFtZShfSW5fb3B0XyBJV2ViVmlldyogc2VuZGVyLCBfSW5fb3B0XyBJV2Vi
RnJhbWUqKSAgeyByZXR1cm4gU19PSzsgfQotCi0gICAgdm9pZCBsb2FkVVJMKF9ic3RyX3QmKTsK
LQotcHJvdGVjdGVkOgotICAgIEhSRVNVTFQgdXBkYXRlQWRkcmVzc0JhcihJV2ViVmlldyYpOwot
Ci1wcml2YXRlOgotICAgIEhXTkQgbV9oVVJMQmFyV25kIHsgMCB9OwotICAgIEhHRElPQkogbV9V
UkxCYXJGb250IHsgMCB9OwotICAgIEhHRElPQkogbV9vbGRGb250IHsgMCB9OwotICAgIFVMT05H
IG1fcmVmQ291bnQgeyAxIH07Ci0gICAgV2luTGF1bmNoZXIqIG1fY2xpZW50IHsgbnVsbHB0ciB9
OwotfTsKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbk1haW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbk1haW4uY3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29s
cy9XaW5MYXVuY2hlci9XaW5NYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyMjAgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAxMy0yMDE1IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQnJlbnQg
RnVsZ2hhbS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIw
MTAsIDIwMTEgQXBwY2VsZXJhdG9yLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQWxleCBDaHJpc3RlbnNlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJzdGRh
ZnguaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiCi0jaW5jbHVkZSAiV2lu
TGF1bmNoZXJXZWJIb3N0LmgiCi0jaW5jbHVkZSAiQ29tbW9uLmNwcCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3coSFdORCk7Ci19Ci0KLWlu
dCBXSU5BUEkgd1dpbk1haW4oX0luXyBISU5TVEFOQ0UgaEluc3RhbmNlLCBfSW5fb3B0XyBISU5T
VEFOQ0UgaFByZXZJbnN0YW5jZSwgX0luXyBMUFdTVFIgbHBzdHJDbWRMaW5lLCBfSW5fIGludCBu
Q21kU2hvdykKLXsKLSNpZmRlZiBfQ1JUREJHX01BUF9BTExPQwotICAgIF9DcnRTZXRSZXBvcnRG
aWxlKF9DUlRfV0FSTiwgX0NSVERCR19GSUxFX1NUREVSUik7Ci0gICAgX0NydFNldFJlcG9ydE1v
ZGUoX0NSVF9XQVJOLCBfQ1JUREJHX01PREVfRklMRSk7Ci0jZW5kaWYKLQotICAgIE1TRyBtc2cg
PSB7MH07Ci0gICAgSEFDQ0VMIGhBY2NlbFRhYmxlOwotCi0gICAgSU5JVENPTU1PTkNPTlRST0xT
RVggSW5pdEN0cmxFeDsKLQotICAgIEluaXRDdHJsRXguZHdTaXplID0gc2l6ZW9mKElOSVRDT01N
T05DT05UUk9MU0VYKTsKLSAgICBJbml0Q3RybEV4LmR3SUNDICA9IDB4MDAwMDQwMDA7IC8vIElD
Q19TVEFOREFSRF9DTEFTU0VTOwotICAgIEluaXRDb21tb25Db250cm9sc0V4KCZJbml0Q3RybEV4
KTsKLQotICAgIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3ID0gZmFsc2U7Ci0gICAgYm9vbCB1c2VG
dWxsRGVza3RvcCA9IGZhbHNlOwotICAgIGJvb2wgcGFnZUxvYWRUZXN0aW5nID0gZmFsc2U7Ci0g
ICAgX2JzdHJfdCByZXF1ZXN0ZWRVUkw7Ci0KLSAgICBwYXJzZUNvbW1hbmRMaW5lKHVzZXNMYXll
cmVkV2ViVmlldywgdXNlRnVsbERlc2t0b3AsIHBhZ2VMb2FkVGVzdGluZywgcmVxdWVzdGVkVVJM
KTsKLQotICAgIC8vIEluaXRpYWxpemUgZ2xvYmFsIHN0cmluZ3MKLSAgICBMb2FkU3RyaW5nKGhJ
bnN0LCBJRFNfQVBQX1RJVExFLCBzelRpdGxlLCBNQVhfTE9BRFNUUklORyk7Ci0gICAgTG9hZFN0
cmluZyhoSW5zdCwgSURDX1dJTkxBVU5DSEVSLCBzeldpbmRvd0NsYXNzLCBNQVhfTE9BRFNUUklO
Ryk7Ci0gICAgTXlSZWdpc3RlckNsYXNzKGhJbnN0KTsKLQotICAgIGlmICh1c2VGdWxsRGVza3Rv
cCkKLSAgICAgICAgY29tcHV0ZUZ1bGxEZXNrdG9wRnJhbWUoKTsKLQotICAgIC8vIEluaXQgQ09N
Ci0gICAgT2xlSW5pdGlhbGl6ZShudWxscHRyKTsKLQotICAgIGZsb2F0IHNjYWxlRmFjdG9yID0g
V2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3cobnVsbHB0cik7Ci0KLSAgICBpZiAo
dXNlc0xheWVyZWRXZWJWaWV3KSB7Ci0gICAgICAgIGhVUkxCYXJXbmQgPSBDcmVhdGVXaW5kb3co
TCJFRElUIiwgTCJUeXBlIFVSTCBIZXJlIiwKLSAgICAgICAgICAgIFdTX09WRVJMQVBQRURXSU5E
T1cgfCBXU19WSVNJQkxFIHwgV1NfQk9SREVSIHwgRVNfTEVGVCB8IEVTX0FVVE9WU0NST0xMLCAK
LSAgICAgICAgICAgIHNjYWxlRmFjdG9yICogc193aW5kb3dQb3NpdGlvbi54LCBzY2FsZUZhY3Rv
ciAqIChzX3dpbmRvd1Bvc2l0aW9uLnkgKyBzX3dpbmRvd1NpemUuY3kpLCBzY2FsZUZhY3RvciAq
IHNfd2luZG93U2l6ZS5jeCwgc2NhbGVGYWN0b3IgKiBVUkxCQVJfSEVJR0hULAotICAgICAgICAg
ICAgMCwgMCwgaEluc3QsIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGhNYWluV25kID0gQ3Jl
YXRlV2luZG93KHN6V2luZG93Q2xhc3MsIHN6VGl0bGUsIFdTX09WRVJMQVBQRURXSU5ET1csCi0g
ICAgICAgICAgICBDV19VU0VERUZBVUxULCAwLCBDV19VU0VERUZBVUxULCAwLCAwLCAwLCBoSW5z
dCwgMCk7Ci0KLSAgICAgICAgaWYgKCFoTWFpblduZCkKLSAgICAgICAgICAgIHJldHVybiBGQUxT
RTsKLQotICAgICAgICBoQmFja0J1dHRvblduZCA9IENyZWF0ZVdpbmRvdyhMIkJVVFRPTiIsIEwi
PCIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSAgfCBCU19URVhULCAwLCAwLCAwLCAwLCBoTWFpbldu
ZCwgMCwgaEluc3QsIDApOwotICAgICAgICBoRm9yd2FyZEJ1dHRvblduZCA9IENyZWF0ZVdpbmRv
dyhMIkJVVFRPTiIsIEwiPiIsIFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IEJTX1RFWFQsIHNjYWxl
RmFjdG9yICogQ09OVFJPTEJVVFRPTl9XSURUSCwgMCwgMCwgMCwgaE1haW5XbmQsIDAsIGhJbnN0
LCAwKTsKLSAgICAgICAgaFVSTEJhclduZCA9IENyZWF0ZVdpbmRvdyhMIkVESVQiLCAwLCBXU19D
SElMRCB8IFdTX1ZJU0lCTEUgfCBXU19CT1JERVIgfCBFU19MRUZUIHwgRVNfQVVUT1ZTQ1JPTEws
IHNjYWxlRmFjdG9yICogQ09OVFJPTEJVVFRPTl9XSURUSCAqIDIsIDAsIDAsIDAsIGhNYWluV25k
LCAwLCBoSW5zdCwgMCk7Ci0KLSAgICAgICAgU2hvd1dpbmRvdyhoTWFpblduZCwgbkNtZFNob3cp
OwotICAgICAgICBVcGRhdGVXaW5kb3coaE1haW5XbmQpOwotICAgIH0KLQotICAgIERlZkVkaXRQ
cm9jID0gcmVpbnRlcnByZXRfY2FzdDxXTkRQUk9DPihHZXRXaW5kb3dMb25nUHRyKGhVUkxCYXJX
bmQsIEdXTFBfV05EUFJPQykpOwotICAgIERlZkJ1dHRvblByb2MgPSByZWludGVycHJldF9jYXN0
PFdORFBST0M+KEdldFdpbmRvd0xvbmdQdHIoaEJhY2tCdXR0b25XbmQsIEdXTFBfV05EUFJPQykp
OwotICAgIFNldFdpbmRvd0xvbmdQdHIoaFVSTEJhclduZCwgR1dMUF9XTkRQUk9DLCByZWludGVy
cHJldF9jYXN0PExPTkdfUFRSPihFZGl0UHJvYykpOwotICAgIFNldFdpbmRvd0xvbmdQdHIoaEJh
Y2tCdXR0b25XbmQsIEdXTFBfV05EUFJPQywgcmVpbnRlcnByZXRfY2FzdDxMT05HX1BUUj4oQmFj
a0J1dHRvblByb2MpKTsKLSAgICBTZXRXaW5kb3dMb25nUHRyKGhGb3J3YXJkQnV0dG9uV25kLCBH
V0xQX1dORFBST0MsIHJlaW50ZXJwcmV0X2Nhc3Q8TE9OR19QVFI+KEZvcndhcmRCdXR0b25Qcm9j
KSk7Ci0KLSAgICBTZXRGb2N1cyhoVVJMQmFyV25kKTsKLQotICAgIFJFQ1QgY2xpZW50UmVjdDsK
LSAgICA6OkdldENsaWVudFJlY3QoaE1haW5XbmQsICZjbGllbnRSZWN0KTsKLQotICAgIGlmICh1
c2VzTGF5ZXJlZFdlYlZpZXcpCi0gICAgICAgIGNsaWVudFJlY3QgPSB7IHNfd2luZG93UG9zaXRp
b24ueCwgc193aW5kb3dQb3NpdGlvbi55LCBzX3dpbmRvd1Bvc2l0aW9uLnggKyBzX3dpbmRvd1Np
emUuY3gsIHNfd2luZG93UG9zaXRpb24ueSArIHNfd2luZG93U2l6ZS5jeSB9OwotCi0gICAgV2lu
TGF1bmNoZXJXZWJIb3N0KiB3ZWJIb3N0ID0gbnVsbHB0cjsKLQotICAgIElXZWJEb3dubG9hZERl
bGVnYXRlUHRyIGRvd25sb2FkRGVsZWdhdGU7Ci0gICAgZG93bmxvYWREZWxlZ2F0ZS5BdHRhY2go
bmV3IFdlYkRvd25sb2FkRGVsZWdhdGUoKSk7Ci0KLSAgICBnV2luTGF1bmNoZXIgPSBuZXcgV2lu
TGF1bmNoZXIoaE1haW5XbmQsIGhVUkxCYXJXbmQsIHVzZXNMYXllcmVkV2ViVmlldywgcGFnZUxv
YWRUZXN0aW5nKTsKLSAgICBpZiAoIWdXaW5MYXVuY2hlcikKLSAgICAgICAgZ290byBleGl0Owot
Ci0gICAgaWYgKCFnV2luTGF1bmNoZXItPnNlZWRJbml0aWFsRGVmYXVsdFByZWZlcmVuY2VzKCkp
Ci0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGlmICghZ1dpbkxhdW5jaGVyLT5zZXRUb0RlZmF1
bHRQcmVmZXJlbmNlcygpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAgICBIUkVTVUxUIGhyID0g
Z1dpbkxhdW5jaGVyLT5pbml0KCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIGdvdG8g
ZXhpdDsKLQotICAgIGlmICghc2V0Q2FjaGVGb2xkZXIoKSkKLSAgICAgICAgZ290byBleGl0Owot
Ci0gICAgd2ViSG9zdCA9IG5ldyBXaW5MYXVuY2hlcldlYkhvc3QoZ1dpbkxhdW5jaGVyLCBoVVJM
QmFyV25kKTsKLQotICAgIGhyID0gZ1dpbkxhdW5jaGVyLT5zZXRGcmFtZUxvYWREZWxlZ2F0ZSh3
ZWJIb3N0KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgZ290byBleGl0OwotCi0gICAg
aHIgPSBnV2luTGF1bmNoZXItPnNldEZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZSh3ZWJIb3N0KTsK
LSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgZ290byBleGl0OwotCi0gICAgaHIgPSBnV2lu
TGF1bmNoZXItPnNldFVJRGVsZWdhdGUobmV3IFByaW50V2ViVUlEZWxlZ2F0ZSgpKTsKLSAgICBp
ZiAoRkFJTEVEIChocikpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGhyID0gZ1dpbkxhdW5j
aGVyLT5zZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUobmV3IEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSgp
KTsKLSAgICBpZiAoRkFJTEVEIChocikpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGhyID0g
Z1dpbkxhdW5jaGVyLT5zZXRSZXNvdXJjZUxvYWREZWxlZ2F0ZShuZXcgUmVzb3VyY2VMb2FkRGVs
ZWdhdGUoZ1dpbkxhdW5jaGVyKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIGdvdG8g
ZXhpdDsKLQotICAgIGhyID0gZ1dpbkxhdW5jaGVyLT5zZXREb3dubG9hZERlbGVnYXRlKGRvd25s
b2FkRGVsZWdhdGUpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0K
LSAgICBociA9IGdXaW5MYXVuY2hlci0+cHJlcGFyZVZpZXdzKGhNYWluV25kLCBjbGllbnRSZWN0
LCByZXF1ZXN0ZWRVUkwuR2V0QlNUUigpLCBnVmlld1dpbmRvdyk7Ci0gICAgaWYgKEZBSUxFRCho
cikgfHwgIWdWaWV3V2luZG93KQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAgICBpZiAoZ1dpbkxh
dW5jaGVyLT51c2VzTGF5ZXJlZFdlYlZpZXcoKSkKLSAgICAgICAgc3ViY2xhc3NGb3JMYXllcmVk
V2luZG93KCk7Ci0KLSAgICByZXNpemVTdWJWaWV3cygpOwotCi0gICAgU2hvd1dpbmRvdyhnVmll
d1dpbmRvdywgbkNtZFNob3cpOwotICAgIFVwZGF0ZVdpbmRvdyhnVmlld1dpbmRvdyk7Ci0KLSAg
ICBoQWNjZWxUYWJsZSA9IExvYWRBY2NlbGVyYXRvcnMoaEluc3QsIE1BS0VJTlRSRVNPVVJDRShJ
RENfV0lOTEFVTkNIRVIpKTsKLQotICAgIGlmIChyZXF1ZXN0ZWRVUkwubGVuZ3RoKCkpCi0gICAg
ICAgIGxvYWRVUkwocmVxdWVzdGVkVVJMLkdldEJTVFIoKSk7Ci0KLSNwcmFnbWEgd2FybmluZyhk
aXNhYmxlOjQ1MDkpCi0KLSAgICAvLyBNYWluIG1lc3NhZ2UgbG9vcDoKLSAgICBfX3RyeSB7Ci0g
ICAgICAgIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJLaXRNZXNzYWdlTG9vcCwgJl9fdXVpZG9m
KElXZWJLaXRNZXNzYWdlTG9vcCk+PiBtZXNzYWdlTG9vcDsKLQotICAgICAgICBociA9IFdlYktp
dENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYktpdE1lc3NhZ2VMb29wLCAwLCBJSURfSVdlYktpdE1l
c3NhZ2VMb29wLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1lc3NhZ2VMb29wLkdldEludGVy
ZmFjZVB0cigpKSk7Ci0gICAgICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICAgICAgZ290byBl
eGl0OwotCi0gICAgICAgIG1lc3NhZ2VMb29wLT5ydW4oaEFjY2VsVGFibGUpOwotCi0gICAgfSBf
X2V4Y2VwdChjcmVhdGVDcmFzaFJlcG9ydChHZXRFeGNlcHRpb25JbmZvcm1hdGlvbigpKSwgRVhD
RVBUSU9OX0VYRUNVVEVfSEFORExFUikgeyB9Ci0KLWV4aXQ6Ci0gICAgc2h1dERvd25XZWJLaXQo
KTsKLSNpZmRlZiBfQ1JUREJHX01BUF9BTExPQwotICAgIF9DcnREdW1wTWVtb3J5TGVha3MoKTsK
LSNlbmRpZgotCi0gICAgLy8gU2h1dCBkb3duIENPTS4KLSAgICBPbGVVbmluaXRpYWxpemUoKTsK
LQotICAgIGRlbGV0ZSBnV2luTGF1bmNoZXI7Ci0gICAgCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGludD4obXNnLndQYXJhbSk7Ci19Ci0KLUFUT00gTXlSZWdpc3RlckNsYXNzKEhJTlNUQU5DRSBo
SW5zdGFuY2UpCi17Ci0gICAgV05EQ0xBU1NFWCB3Y2V4OwotCi0gICAgd2NleC5jYlNpemUgPSBz
aXplb2YoV05EQ0xBU1NFWCk7Ci0KLSAgICB3Y2V4LnN0eWxlICAgICAgICAgID0gQ1NfSFJFRFJB
VyB8IENTX1ZSRURSQVc7Ci0gICAgd2NleC5scGZuV25kUHJvYyAgICA9IFduZFByb2M7Ci0gICAg
d2NleC5jYkNsc0V4dHJhICAgICA9IDA7Ci0gICAgd2NleC5jYlduZEV4dHJhICAgICA9IDA7Ci0g
ICAgd2NleC5oSW5zdGFuY2UgICAgICA9IGhJbnN0YW5jZTsKLSAgICB3Y2V4LmhJY29uICAgICAg
ICAgID0gTG9hZEljb24oaEluc3RhbmNlLCBNQUtFSU5UUkVTT1VSQ0UoSURJX1dJTkxBVU5DSEVS
KSk7Ci0gICAgd2NleC5oQ3Vyc29yICAgICAgICA9IExvYWRDdXJzb3IoMCwgSURDX0FSUk9XKTsK
LSAgICB3Y2V4LmhickJhY2tncm91bmQgID0gMDsKLSAgICB3Y2V4Lmxwc3pNZW51TmFtZSAgID0g
TUFLRUlOVFJFU09VUkNFKElEQ19XSU5MQVVOQ0hFUik7Ci0gICAgd2NleC5scHN6Q2xhc3NOYW1l
ICA9IHN6V2luZG93Q2xhc3M7Ci0gICAgd2NleC5oSWNvblNtICAgICAgICA9IExvYWRJY29uKHdj
ZXguaEluc3RhbmNlLCBNQUtFSU5UUkVTT1VSQ0UoSURJX1NNQUxMKSk7Ci0KLSAgICByZXR1cm4g
UmVnaXN0ZXJDbGFzc0V4KCZ3Y2V4KTsKLX0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL3Jlc291
cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvcmVzb3VyY2UuaAkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvcmVzb3VyY2UuaAkod29ya2luZyBjb3B5
KQpAQCAtMSwyOCArMCwwIEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0KLS8vIE1pY3Jvc29mdCBW
aXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUuCi0vLyBVc2VkIGJ5IFdpbkxhdW5jaGVy
LnJjCi0vLwotI2RlZmluZSBJRENfTVlJQ09OICAgICAgICAgICAgICAgICAgICAgIDIKLSNkZWZp
bmUgSUREX1dJTkxBVU5DSEVSX0RJQUxPRyAgICAgICAgICAxMDIKLSNkZWZpbmUgSURTX0FQUF9U
SVRMRSAgICAgICAgICAgICAgICAgICAxMDMKLSNkZWZpbmUgSUREX0FCT1VUQk9YICAgICAgICAg
ICAgICAgICAgICAxMDMKLSNkZWZpbmUgSURNX0FCT1VUICAgICAgICAgICAgICAgICAgICAgICAx
MDQKLSNkZWZpbmUgSURNX0VYSVQgICAgICAgICAgICAgICAgICAgICAgICAxMDUKLSNkZWZpbmUg
SURNX1BSSU5UICAgICAgICAgICAgICAgICAgICAgICAxMDYKLSNkZWZpbmUgSURJX1dJTkxBVU5D
SEVSICAgICAgICAgICAgICAgICAxMDcKLSNkZWZpbmUgSURJX1NNQUxMICAgICAgICAgICAgICAg
ICAgICAgICAxMDgKLSNkZWZpbmUgSURDX1dJTkxBVU5DSEVSICAgICAgICAgICAgICAgICAxMDkK
LSNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKLSNkZWZpbmUgSURD
X1NUQVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQotCi0vLyBOZXh0IGRlZmF1bHQgdmFsdWVz
IGZvciBuZXcgb2JqZWN0cwotLy8gCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRAotI2lmbmRlZiBB
UFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0jZGVmaW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAg
ICAgICAgICAgMQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEyOQot
I2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDMyNzcxCi0jZGVmaW5lIF9B
UFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAwMAotI2RlZmluZSBfQVBTX05FWFRfU1lN
RURfVkFMVUUgICAgICAgICAgIDExMAotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFRvb2xzL1dpbkxh
dW5jaGVyL3N0ZGFmeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvc3RkYWZ4
LmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvc3RkYWZ4LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0vLyBzdGRhZnguY3BwIDogc291cmNlIGZpbGUgdGhhdCBp
bmNsdWRlcyBqdXN0IHRoZSBzdGFuZGFyZCBpbmNsdWRlcwotLy8gU3Bpbm5lcmV0LnBjaCB3aWxs
IGJlIHRoZSBwcmUtY29tcGlsZWQgaGVhZGVyCi0vLyBzdGRhZngub2JqIHdpbGwgY29udGFpbiB0
aGUgcHJlLWNvbXBpbGVkIHR5cGUgaW5mb3JtYXRpb24KLQotI2luY2x1ZGUgInN0ZGFmeC5oIgot
Ci0vLyBUT0RPOiByZWZlcmVuY2UgYW55IGFkZGl0aW9uYWwgaGVhZGVycyB5b3UgbmVlZCBpbiBT
VERBRlguSAotLy8gYW5kIG5vdCBpbiB0aGlzIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVy
L3N0ZGFmeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL3N0ZGFmeC5oCShyZXZp
c2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9zdGRhZnguaAkod29ya2luZyBjb3B5
KQpAQCAtMSw4OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKLSAqLwotCi0vLyBzdGRhZnguaCA6IGluY2x1ZGUgZmlsZSBmb3Igc3RhbmRhcmQgc3lzdGVt
IGluY2x1ZGUgZmlsZXMsCi0vLyBvciBwcm9qZWN0IHNwZWNpZmljIGluY2x1ZGUgZmlsZXMgdGhh
dCBhcmUgdXNlZCBmcmVxdWVudGx5LCBidXQKLS8vIGFyZSBjaGFuZ2VkIGluZnJlcXVlbnRseQot
Ly8KLQotI3ByYWdtYSBvbmNlCi0KLS8vIE1vZGlmeSB0aGUgZm9sbG93aW5nIGRlZmluZXMgaWYg
eW91IGhhdmUgdG8gdGFyZ2V0IGEgcGxhdGZvcm0gcHJpb3IgdG8gdGhlIG9uZXMgc3BlY2lmaWVk
IGJlbG93LgotLy8gUmVmZXIgdG8gTVNETiBmb3IgdGhlIGxhdGVzdCBpbmZvIG9uIGNvcnJlc3Bv
bmRpbmcgdmFsdWVzIGZvciBkaWZmZXJlbnQgcGxhdGZvcm1zLgotI2lmbmRlZiBXSU5WRVIgLy8g
QWxsb3cgdXNlIG9mIGZlYXR1cmVzIHNwZWNpZmljIHRvIFdpbmRvd3MgNyBvciBsYXRlci4KLSNk
ZWZpbmUgV0lOVkVSIDB4MDYwMSAvLyBDaGFuZ2UgdGhpcyB0byB0aGUgYXBwcm9wcmlhdGUgdmFs
dWUgdG8gdGFyZ2V0IG90aGVyIHZlcnNpb25zIG9mIFdpbmRvd3MuCi0jZW5kaWYKLQotI2lmbmRl
ZiBfV0lOMzJfV0lOTlQgLy8gQWxsb3cgdXNlIG9mIGZlYXR1cmVzIHNwZWNpZmljIHRvIFdpbmRv
d3MgNyBvciBsYXRlci4KLSNkZWZpbmUgX1dJTjMyX1dJTk5UIDB4NjAxIC8vIENoYW5nZSB0aGlz
IHRvIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSB0byB0YXJnZXQgb3RoZXIgdmVyc2lvbnMgb2YgV2lu
ZG93cy4KLSNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgIAotCi0jaWZuZGVmIF9XSU4zMl9X
SU5ET1dTIC8vIEFsbG93IHVzZSBvZiBmZWF0dXJlcyBzcGVjaWZpYyB0byBXaW5kb3dzIDcgb3Ig
bGF0ZXIuCi0jZGVmaW5lIF9XSU4zMl9XSU5ET1dTIDB4NjAxIC8vIENoYW5nZSB0aGlzIHRvIHRo
ZSBhcHByb3ByaWF0ZSB2YWx1ZSB0byB0YXJnZXQgV2luZG93cyA3IG9yIGxhdGVyLgotI2VuZGlm
Ci0KLSNpZm5kZWYgX1dJTjMyX0lFICAgICAgICAgICAgLy8gQWxsb3cgdXNlIG9mIGZlYXR1cmVz
IHNwZWNpZmljIHRvIElFIDYuMCBvciBsYXRlci4KLSNkZWZpbmUgX1dJTjMyX0lFIDB4MDYwMCAg
ICAvLyBDaGFuZ2UgdGhpcyB0byB0aGUgYXBwcm9wcmlhdGUgdmFsdWUgdG8gdGFyZ2V0IG90aGVy
IHZlcnNpb25zIG9mIElFLgotI2VuZGlmCi0KLSNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTiAg
ICAgICAgLy8gRXhjbHVkZSByYXJlbHktdXNlZCBzdHVmZiBmcm9tIFdpbmRvd3MgaGVhZGVycwot
Ci0vLyBOZWVkZWQgZm9yIGxpbWl0IGRlZmluZXMsIGxpa2UgSU5UTUFYX01BWCwgd2hpY2ggaXMg
dXNlZCBieSB0aGUgc3RkIEMrKyBsaWJyYXJ5Ci0jaWZuZGVmIF9fU1REQ19MSU1JVF9NQUNST1MK
LSNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUwotI2VuZGlmCi0KLSNpZm5kZWYgTk9NSU5NQVgK
LSNkZWZpbmUgTk9NSU5NQVgKLSNlbmRpZgotCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVk
ZSA8Y29taXAuaD4KLSNpbmNsdWRlIDxjb21tY3RybC5oPgotI2luY2x1ZGUgPGNvbW1kbGcuaD4K
LSNpbmNsdWRlIDxjb211dGlsLmg+Ci0jaW5jbHVkZSA8bWFsbG9jLmg+Ci0jaW5jbHVkZSA8bWVt
b3J5Lmg+Ci0jaW5jbHVkZSA8b2JqYmFzZS5oPgotI2luY2x1ZGUgPHNoZWxsYXBpLmg+Ci0jaW5j
bHVkZSA8c2hsd2FwaS5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZz4K
LSNpbmNsdWRlIDx0Y2hhci5oPgotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3aW5p
bmV0Lmg+Ci0jaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgotI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgotCi0jaWYgMAotLy8gVmlzdWFsIFN0dWRpbyBMZWFrIERldGVjdGlvbgotLy8gPGh0
dHA6Ly9tc2RuMi5taWNyb3NvZnQuY29tL2VuLVVTL2xpYnJhcnkvZTVld2IxaDMuYXNweD4KLSNp
ZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBkZWZpbmVkKF9ERUJVRykKLSNkZWZpbmUgX0NSVERCR19N
QVBfQUxMT0MKLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxjcnRkYmcuaD4KLSNlbmRp
ZgotI2VuZGlmCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93
c2VyLnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWlu
aUJyb3dzZXIucmMJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNo
ZXIudmN4cHJvai9XaW5MYXVuY2hlci5yYzoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJv
d3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnJjCSh3b3JraW5nIGNvcHkpCkluZGV4OiBUb29scy9N
aW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnJjCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXIucmMJ
KHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHBy
b2ovTWluaUJyb3dzZXIucmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAvLyBNaWNy
b3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0Lg0KIC8vDQotI2luY2x1
ZGUgIldpbkxhdW5jaGVyUmVzb3VyY2UuaCINCisjaW5jbHVkZSAiTWluaUJyb3dzZXJSZXNvdXJj
ZS5oIg0KIA0KICNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KIC8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vDQpAQCAtMzAsNyArMzAsNyBAQCBMQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxB
TkdfRU5HTElTSF9VCiANCiAvLyBJY29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJz
dCB0byBlbnN1cmUgYXBwbGljYXRpb24gaWNvbg0KIC8vIHJlbWFpbnMgY29uc2lzdGVudCBvbiBh
bGwgc3lzdGVtcy4NCi1JRElfV0lOTEFVTkNIRVIgICAgICAgICBJQ09OICAgICAgICAgICAgICAg
ICAgICAiV2luTGF1bmNoZXIuaWNvIg0KK0lESV9NSU5JQlJPV1NFUiAgICAgICAgIElDT04gICAg
ICAgICAgICAgICAgICAgICJNaW5pQnJvd3Nlci5pY28iDQogDQogI2lmZGVmIEFQU1RVRElPX0lO
Vk9LRUQNCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KQEAgLTQwLDcgKzQwLDcgQEAgSURJX1dJTkxB
VU5DSEVSICAgICAgICAgSUNPTgogDQogMSBURVhUSU5DTFVERSANCiBCRUdJTg0KLSAgICAiV2lu
TGF1bmNoZXJSZXNvdXJjZS5cMCINCisgICAgIk1pbmlCcm93c2VyUmVzb3VyY2UuXDAiDQogRU5E
DQogDQogMiBURVhUSU5DTFVERSANCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hw
cm9qL01pbmlCcm93c2VyLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIudmN4cHJvai9NaW5pQnJvd3Nlci52Y3hwcm9qCShyZXZpc2lvbiAxODg5NzApCShmcm9t
IFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJvajoxODg5
NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnZjeHBy
b2oJKHdvcmtpbmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZj
eHByb2ovTWluaUJyb3dzZXIudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnZjeHByb2oJKHJldmlzaW9uIDE4ODk3
MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXIu
dmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQAogICA8L0l0ZW1Hcm91cD4K
ICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxQcm9qZWN0R3VpZD57NzY3
QjEwRkItNzZDMS00NEQwLTgwMDUtODVFRDdGOUFBNUU0fTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJv
b3ROYW1lc3BhY2U+V2luTGF1bmNoZXJMYXVuY2hlcjwvUm9vdE5hbWVzcGFjZT4KKyAgICA8Um9v
dE5hbWVzcGFjZT5NaW5pQnJvd3NlckxhdW5jaGVyPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3
b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgICA8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lv
bj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CiAgIDwvUHJvcGVydHlHcm91cD4K
QEAgLTEyMiw1NiArMTIyLDU2IEBACiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
IiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9v
dERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4
aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
JykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlC
cm93c2VyUmVsZWFzZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3Vw
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQn
IiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9v
dERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4
aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
JykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlC
cm93c2VyUmVsZWFzZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3Vw
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0
PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENv
bmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iV2luTGF1bmNoZXJSZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJv
amVjdD0iTWluaUJyb3dzZXJSZWxlYXNlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0i
Li5cLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVyV2luQ2Fpcm8ucHJvcHMiIC8+CiAgIDwv
SW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlclJlbGVhc2Uu
cHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlclJlbGVhc2UucHJvcHMi
IC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlx3aW5cRExMTGF1bmNoZXJcRExMTGF1bmNo
ZXJXaW5DYWlyby5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4z
MiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJS
b290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0i
ZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJv
cHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0i
TWluaUJyb3dzZXJQcm9kdWN0aW9uLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1w
b3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9k
dWN0aW9ufHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0
PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENv
bmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzIiAvPgorICAgIDxJbXBvcnQg
UHJvamVjdD0iTWluaUJyb3dzZXJQcm9kdWN0aW9uLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQ
cm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJv
cHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxh
dGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KKyAgICA8SW1wb3J0
IFByb2plY3Q9Ik1pbmlCcm93c2VyRGVidWcucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAg
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0
PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENv
bmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2pl
Y3Q9Ik1pbmlCcm93c2VyRGVidWcucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBv
cnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
X1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFBy
b2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9w
cyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0
Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBvcnQg
UHJvamVjdD0iTWluaUJyb3dzZXJEZWJ1Zy5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9
Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVuY2hlcldpbkNhaXJvLnByb3BzIiAvPgogICA8
L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4k
KFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilc
TWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERh
dGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcucHJv
cHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckRlYnVnLnByb3BzIiAvPgog
ICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVyV2lu
Q2Fpcm8ucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyIg
TGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3RE
aXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlz
dHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycp
IiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJX
aW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0iTWluaUJyb3dz
ZXJEZWJ1Zy5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmll
cylcdG9vbHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4K
ICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdTdWZmaXh8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0
IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBv
cnQgUHJvamVjdD0iTWluaUJyb3dzZXJEZWJ1Zy5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2pl
Y3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIg
Lz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3Mi
IC8+CkBAIC0xODEsMTggKzE4MSwxOCBAQAogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iV2luTGF1bmNoZXJSZXNvdXJjZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iTWlu
aUJyb3dzZXJSZXNvdXJjZS5oIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVuY2hlck1h
aW4uY3BwIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VD
b21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyLnJjIiAvPgorICAgIDxSZXNvdXJjZUNvbXBpbGUg
SW5jbHVkZT0iTWluaUJyb3dzZXIucmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3Vw
PgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyLmljbyIgLz4KLSAgICA8Tm9uZSBJbmNs
dWRlPSJXaW5MYXVuY2hlclBvc3RCdWlsZC5jbWQiIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2lu
TGF1bmNoZXJQcmVCdWlsZC5jbWQiIC8+CisgICAgPE5vbmUgSW5jbHVkZT0iTWluaUJyb3dzZXIu
aWNvIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ik1pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZCIgLz4K
KyAgICA8Tm9uZSBJbmNsdWRlPSJNaW5pQnJvd3NlclByZUJ1aWxkLmNtZCIgLz4KICAgPC9JdGVt
R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Cklu
ZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnZjeHByb2ou
ZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01p
bmlCcm93c2VyLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2ouZmlsdGVyczoxODg5
NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLnZjeHBy
b2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIudmN4cHJvai9NaW5pQnJvd3Nlci52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3Nlci52Y3hwcm9q
LmZpbHRlcnMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovTWluaUJyb3dzZXIudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBA
IC0xMSw3ICsxMSw3IEBACiAgICAgPC9GaWx0ZXI+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdy
b3VwPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJSZXNvdXJjZS5oIiAvPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iTWluaUJyb3dzZXJSZXNvdXJjZS5oIiAvPgogICA8L0l0
ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdp
blxETExMYXVuY2hlclxETExMYXVuY2hlck1haW4uY3BwIj4KQEAgLTE5LDE1ICsxOSwxNSBAQAog
ICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UmVz
b3VyY2VDb21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyLnJjIj4KKyAgICA8UmVzb3VyY2VDb21w
aWxlIEluY2x1ZGU9Ik1pbmlCcm93c2VyLnJjIj4KICAgICAgIDxGaWx0ZXI+UmVzb3VyY2UgRmls
ZXM8L0ZpbHRlcj4KICAgICA8L1Jlc291cmNlQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJ
dGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXIuaWNvIj4KKyAgICA8Tm9u
ZSBJbmNsdWRlPSJNaW5pQnJvd3Nlci5pY28iPgogICAgICAgPEZpbHRlcj5SZXNvdXJjZSBGaWxl
czwvRmlsdGVyPgogICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlclBv
c3RCdWlsZC5jbWQiIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJQcmVCdWlsZC5j
bWQiIC8+CisgICAgPE5vbmUgSW5jbHVkZT0iTWluaUJyb3dzZXJQb3N0QnVpbGQuY21kIiAvPgor
ICAgIDxOb25lIEluY2x1ZGU9Ik1pbmlCcm93c2VyUHJlQnVpbGQuY21kIiAvPgogICA8L0l0ZW1H
cm91cD4KIDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBNaW5p
QnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyQ0YucHJvcHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckNGLnByb3Bz
CShyZXZpc2lvbiAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ov
V2luTGF1bmNoZXJDRi5wcm9wczoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52
Y3hwcm9qL01pbmlCcm93c2VyQ0YucHJvcHMJKHdvcmtpbmcgY29weSkKSW5kZXg6IE1pbmlCcm93
c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJDRkxpdGUucHJvcHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckNGTGl0ZS5w
cm9wcwkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hw
cm9qL1dpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzOjE4ODk3MCkKKysrIE1pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJDRkxpdGUucHJvcHMJKHdvcmtpbmcgY29weSkKSW5k
ZXg6IE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJDb21tb24ucHJv
cHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJv
d3NlckNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ29tbW9uLnByb3BzOjE4ODk3MCkKKysrIE1pbmlC
cm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJDb21tb24ucHJvcHMJKHdvcmtp
bmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWlu
aUJyb3dzZXJDb21tb24ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvTWlu
aUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTg4OTcw
KQorKysgVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckNv
bW1vbi5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAgPEl0ZW1EZWZpbml0
aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5zaGx3
YXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpV2luTGF1bmNoZXIkKERlYnVnU3VmZml4KS5l
eGU8L091dHB1dEZpbGU+CisgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilNaW5pQnJvd3NlciQo
RGVidWdTdWZmaXgpLmV4ZTwvT3V0cHV0RmlsZT4KICAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxl
PiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiPC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgogICAg
IDwvTGluaz4KICAgICA8Q2xDb21waWxlIC8+CkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nl
ci52Y3hwcm9qL01pbmlCcm93c2VyRGVidWcucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWluaUJyb3dz
ZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckRlYnVnLnByb3BzCShyZXZpc2lvbiAx
ODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJE
ZWJ1Zy5wcm9wczoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01p
bmlCcm93c2VyRGVidWcucHJvcHMJKHdvcmtpbmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93
c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJEZWJ1Zy5wcm9wcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyRGVi
dWcucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovTWluaUJyb3dzZXJEZWJ1Zy5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMyw2
ICszLDYgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPElt
cG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnBy
b3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2
c3Byb3BzXGRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJD
b21tb24ucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckNvbW1vbi5w
cm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KIDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93
c2VyTGliLnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ov
TWluaUJyb3dzZXJMaWIucmMJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNoZXIvV2lu
TGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYzoxODg5NzApCisrKyBNaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliLnJjCSh3b3JraW5nIGNvcHkpCklu
ZGV4OiBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGli
LnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ov
TWluaUJyb3dzZXJMaWIucmMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2Vy
L01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIucmMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiAvLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ug
c2NyaXB0Lg0KIC8vDQotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCINCisjaW5j
bHVkZSAiTWluaUJyb3dzZXJMaWJSZXNvdXJjZS5oIg0KIA0KICNkZWZpbmUgQVBTVFVESU9fUkVB
RE9OTFlfU1lNQk9MUw0KIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQpAQCAtMjgsNyArMjgsNyBAQCBM
QU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VCiANCiAvLyBJY29uIHdpdGgg
bG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUgYXBwbGljYXRpb24gaWNvbg0K
IC8vIHJlbWFpbnMgY29uc2lzdGVudCBvbiBhbGwgc3lzdGVtcy4NCi1JRElfV0lOTEFVTkNIRVIg
ICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAiV2luTGF1bmNoZXIuaWNvIg0KK0lESV9N
SU5JQlJPV1NFUiAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJNaW5pQnJvd3Nlci5p
Y28iDQogSURJX1NNQUxMICAgICAgICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgInNt
YWxsLmljbyINCiANCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KQEAgLTM2LDcgKzM2LDcgQEAgSURJ
X1NNQUxMICAgICAgICAgICAgICAgSUNPTgogLy8gTWVudQ0KIC8vDQogDQotSURDX1dJTkxBVU5D
SEVSIE1FTlUNCitJRENfTUlOSUJST1dTRVIgTUVOVQ0KIEJFR0lODQogICAgIFBPUFVQICImRmls
ZSINCiAgICAgQkVHSU4NCkBAIC0xMTYsNyArMTE2LDcgQEAgRU5ECiAvLyBBY2NlbGVyYXRvcg0K
IC8vDQogDQotSURDX1dJTkxBVU5DSEVSIEFDQ0VMRVJBVE9SUw0KK0lEQ19NSU5JQlJPV1NFUiBB
Q0NFTEVSQVRPUlMNCiBCRUdJTg0KICAgICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAg
ICAgICAgICAgQVNDSUksICBBTFQsIE5PSU5WRVJUDQogICAgICI/IiwgICAgICAgICAgICBJRE1f
QUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFMVCwgTk9JTlZFUlQNCkBAIC0xMzUsOSArMTM1
LDkgQEAgU1RZTEUgRFNfU0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBXU19DQQogQ0FQVElPTiAi
QWJvdXQiDQogRk9OVCA4LCAiU3lzdGVtIiwgMCwgMCwgMHgwDQogQkVHSU4NCi0gICAgSUNPTiAg
ICAgICAgICAgIElESV9XSU5MQVVOQ0hFUixJRENfTVlJQ09OLDE0LDksMjAsMjANCi0gICAgTFRF
WFQgICAgICAgICAgICJXaW5MYXVuY2hlciBWZXJzaW9uIDEuMyIsSURDX1NUQVRJQyw0OSwxMCwx
MTksOCxTU19OT1BSRUZJWA0KLSAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdodCAoQykgMjAx
NCIsSURDX1NUQVRJQyw0OSwyMCwxMTksOA0KKyAgICBJQ09OICAgICAgICAgICAgSURJX01JTklC
Uk9XU0VSLElEQ19NWUlDT04sMTQsOSwyMCwyMA0KKyAgICBMVEVYVCAgICAgICAgICAgIk1pbmlC
cm93c2VyIFZlcnNpb24gMS4wIixJRENfU1RBVElDLDQ5LDEwLDExOSw4LFNTX05PUFJFRklYDQor
ICAgIExURVhUICAgICAgICAgICAiQ29weXJpZ2h0IChDKSAyMDE1IixJRENfU1RBVElDLDQ5LDIw
LDExOSw4DQogICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYsMzAsMTEsV1NfR1JP
VVANCiBFTkQNCiANCkBAIC0yNDcsNyArMjQ3LDcgQEAgRU5ECiANCiAxIFRFWFRJTkNMVURFIA0K
IEJFR0lODQotICAgICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmhcMCINCisgICAgIk1pbmlCcm93
c2VyTGliUmVzb3VyY2UuaFwwIg0KIEVORA0KIA0KIDIgVEVYVElOQ0xVREUgDQpAQCAtMzA1LDgg
KzMwNSw4IEBAIEVORAogDQogU1RSSU5HVEFCTEUNCiBCRUdJTg0KLSAgICBJRFNfQVBQX1RJVExF
ICAgICAgICAgICAiV2luTGF1bmNoZXIiDQotICAgIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICJX
SU5MQVVOQ0hFUiINCisgICAgSURTX0FQUF9USVRMRSAgICAgICAgICAgIk1pbmlCcm93c2VyIg0K
KyAgICBJRENfTUlOSUJST1dTRVIgICAgICAgICAiTUlOSUJST1dTRVIiDQogRU5EDQogDQogI2Vu
ZGlmICAgIC8vIEVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMpIHJlc291cmNlcw0KSW5kZXg6IE1pbmlC
cm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIudmN4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliLnZj
eHByb2oJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9qOjE4ODk3MCkKKysrIE1pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIudmN4cHJvagkod29ya2luZyBjb3B5KQpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYi52
Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHBy
b2ovTWluaUJyb3dzZXJMaWIudmN4cHJvagkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvTWlu
aUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYi52Y3hwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBACiAgIDwvSXRlbUdyb3VwPgogICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPnsxMTRGQ0ExMS0yMTZCLTRD
OEMtOTU3RS0zMEE3NUFFODA0NDN9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFjZT5X
aW5MYXVuY2hlcjwvUm9vdE5hbWVzcGFjZT4KKyAgICA8Um9vdE5hbWVzcGFjZT5NaW5pQnJvd3Nl
cjwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgICAg
PFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1W
ZXJzaW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CkBAIC0xMjIsNzIgKzEyMiw3MiBAQAogICA8L0lt
cG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAg
ICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9y
bSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29m
dC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZv
cm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlJlbGVhc2UucHJvcHMi
IC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgorICAgIDxJ
bXBvcnQgUHJvamVjdD0iTWluaUJyb3dzZXJMaWJSZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBv
cnQgUHJvamVjdD0iTWluaUJyb3dzZXJDRi5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAg
PEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVj
dD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBD
b25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0
IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJN
aW5pQnJvd3NlckxpYlJlbGVhc2UucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5p
QnJvd3NlckNGLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQo
VXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0
aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNl
ci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSJXaW5MYXVuY2hlckxpYlJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSJXaW5MYXVuY2hlckNGTGl0ZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ik1p
bmlCcm93c2VyTGliUmVsZWFzZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlC
cm93c2VyQ0ZMaXRlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2Vi
S2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lcjMyLnByb3BzIiAvPgogICAg
IDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3By
b3BzXEdTdHJlYW1lckNvbW1vbi5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9y
dEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJv
amVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
IiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRm
b3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8
SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJv
amVjdD0iTWluaUJyb3dzZXJMaWJSZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVj
dD0iTWluaUJyb3dzZXJDRkxpdGUucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwu
LlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyNjQucHJvcHMi
IC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRv
b2xzXHZzcHJvcHNcR1N0cmVhbWVyQ29tbW9uLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgog
ICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0
IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgorICAgIDxJbXBvcnQg
UHJvamVjdD0iTWluaUJyb3dzZXJMaWJQcm9kdWN0aW9uLnByb3BzIiAvPgorICAgIDxJbXBvcnQg
UHJvamVjdD0iTWluaUJyb3dzZXJDRi5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPElt
cG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVj
dD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBD
b25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0
PSJNaW5pQnJvd3NlckxpYlByb2R1Y3Rpb24ucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0
PSJNaW5pQnJvd3NlckNGLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3Jv
dXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJS
b290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0i
ZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJv
cHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ildp
bkxhdW5jaGVyQ0YucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3Nlckxp
YkRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0iTWluaUJyb3dzZXJDRi5wcm9w
cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVn
LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4K
KyAgICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlCcm93c2VyTGliRGVidWcucHJvcHMiIC8+CisgICAg
PEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckNGLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAg
PEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQu
Q3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3Jt
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzIiAvPgorICAgIDxJ
bXBvcnQgUHJvamVjdD0iTWluaUJyb3dzZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KKyAgICA8SW1wb3J0
IFByb2plY3Q9Ik1pbmlCcm93c2VyQ0ZMaXRlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVj
dD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lcjMy
LnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVz
XHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lckNvbW1vbi5wcm9wcyIgLz4KICAgPC9JbXBvcnRH
cm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAg
ICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9y
bSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29m
dC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZv
cm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRkxpdGUucHJvcHMiIC8+CisgICAg
PEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckxpYkRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBv
cnQgUHJvamVjdD0iTWluaUJyb3dzZXJDRkxpdGUucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9q
ZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVy
NjQucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJp
ZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyQ29tbW9uLnByb3BzIiAvPgogICA8L0ltcG9y
dEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAg
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZv
cm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3Nv
ZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRm
b3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+CisgICAgPElt
cG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckxpYkRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBvcnQg
UHJvamVjdD0iTWluaUJyb3dzZXJDRi5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQo
V2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KICAg
PC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRz
Ij4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1p
Y3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRh
UGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnBy
b3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KKyAg
ICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlCcm93c2VyTGliRGVidWcucHJvcHMiIC8+CisgICAgPElt
cG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckNGLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVj
dD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnc3VmZml4LnByb3BzIiAv
PgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIg
Lz4KQEAgLTE5OCwxMyArMTk4LDEzIEBACiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0
ZW1Hcm91cD4KICAgICA8Tm9uZSBJbmNsdWRlPSJzbWFsbC5pY28iIC8+Ci0gICAgPE5vbmUgSW5j
bHVkZT0iV2luTGF1bmNoZXIuaWNvIiAvPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVy
TGliUG9zdEJ1aWxkLmNtZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlBy
ZUJ1aWxkLmNtZCIgLz4KKyAgICA8Tm9uZSBJbmNsdWRlPSJNaW5pQnJvd3Nlci5pY28iIC8+Cisg
ICAgPE5vbmUgSW5jbHVkZT0iTWluaUJyb3dzZXJMaWJQb3N0QnVpbGQuY21kIiAvPgorICAgIDxO
b25lIEluY2x1ZGU9Ik1pbmlCcm93c2VyTGliUHJlQnVpbGQuY21kIiAvPgogICA8L0l0ZW1Hcm91
cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXEFjY2Vzc2liaWxp
dHlEZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxDb21tb24uY3Bw
Ij4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHdpblxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUu
Y3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd2luXENvbW1vbi5jcHAiPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CkBAIC0yMTgsMTEgKzIxOCwxMSBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cRE9NRGVmYXVsdEltcGwuY3BwIiAvPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cUGFnZUxvYWRUZXN0Q2xpZW50LmNwcCIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXFByaW50V2ViVUlEZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxSZXNvdXJjZUxvYWREZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxzdGRhZnguY3BwIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHdpblxE
T01EZWZhdWx0SW1wbC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3aW5cUGFn
ZUxvYWRUZXN0Q2xpZW50LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHdpblxQ
cmludFdlYlVJRGVsZWdhdGUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd2lu
XFJlc291cmNlTG9hZERlbGVnYXRlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHdpblxzdGRhZnguY3BwIj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5DcmVhdGU8L1By
ZWNvbXBpbGVkSGVhZGVyPgogICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5DcmVhdGU8L1ByZWNv
bXBpbGVkSGVhZGVyPgogICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPkNyZWF0
ZTwvUHJlY29tcGlsZWRIZWFkZXI+CkBAIC0yMzYsMjYgKzIzNiwyNiBAQAogICAgICAgPFByZWNv
bXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWdTdWZmaXh8V2luMzInIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVhZGVyPgogICAgICAgPFBy
ZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdTdWZmaXh8eDY0JyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdlYkRvd25sb2FkRGVsZWdhdGUu
Y3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXIuY3BwIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJXZWJIb3N0LmNwcCIgLz4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdpbk1haW4uY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cd2luXFdlYkRvd25sb2FkRGVsZWdhdGUuY3BwIiAvPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cd2luXE1pbmlCcm93c2VyLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHdpblxNaW5pQnJvd3NlcldlYkhvc3QuY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cd2luXFdpbk1haW4uY3BwIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1H
cm91cD4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRE9NRGVmYXVsdEltcGwuaCIgLz4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFBhZ2VMb2FkVGVzdENsaWVudC5oIiAvPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cUHJpbnRXZWJVSURlbGVnYXRlLmgiIC8+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIiAvPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3RkYWZ4LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxX
ZWJEb3dubG9hZERlbGVnYXRlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5M
YXVuY2hlci5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJSZXBs
YWNlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlcldlYkhvc3Qu
aCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHdpblxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHdpblxET01EZWZhdWx0SW1wbC5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXFBhZ2VMb2FkVGVzdENsaWVudC5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXFByaW50V2ViVUlEZWxlZ2F0ZS5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXFJlc291cmNlTG9hZERlbGVnYXRlLmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3aW5cc3RkYWZ4LmgiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlx3aW5cV2ViRG93bmxvYWREZWxlZ2F0ZS5oIiAvPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXE1pbmlCcm93c2VyLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3aW5cTWluaUJyb3dzZXJSZXBsYWNlLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3aW5cTWluaUJyb3dzZXJXZWJIb3N0LmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSJNaW5pQnJvd3NlckxpYlJlc291cmNlLmgiIC8+CiAgIDwvSXRlbUdyb3VwPgog
ICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iV2luTGF1bmNoZXJM
aWIucmMiIC8+CisgICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSJNaW5pQnJvd3NlckxpYi5y
YyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRo
KVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5z
aW9uVGFyZ2V0cyI+CkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlC
cm93c2VyTGliLnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nlci9NaW5p
QnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24g
MTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliLnZjeHByb2ouZmlsdGVyczoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52
Y3hwcm9qL01pbmlCcm93c2VyTGliLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYi52
Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dz
ZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYi52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE4ODk3
MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJM
aWIudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw4NCArMTgsODQgQEAKICAg
ICA8Tm9uZSBJbmNsdWRlPSJzbWFsbC5pY28iPgogICAgICAgPEZpbHRlcj5SZXNvdXJjZSBGaWxl
czwvRmlsdGVyPgogICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlci5p
Y28iPgorICAgIDxOb25lIEluY2x1ZGU9Ik1pbmlCcm93c2VyLmljbyI+CiAgICAgICA8RmlsdGVy
PlJlc291cmNlIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgotICAgIDxOb25lIEluY2x1ZGU9
IldpbkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNtZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5M
YXVuY2hlckxpYlByZUJ1aWxkLmNtZCIgLz4KKyAgICA8Tm9uZSBJbmNsdWRlPSJNaW5pQnJvd3Nl
ckxpYlBvc3RCdWlsZC5jbWQiIC8+CisgICAgPE5vbmUgSW5jbHVkZT0iTWluaUJyb3dzZXJMaWJQ
cmVCdWlsZC5jbWQiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cUHJpbnRXZWJVSURlbGVnYXRlLmNwcCI+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlx3aW5cUHJpbnRXZWJVSURlbGVnYXRlLmNwcCI+CiAgICAgICA8RmlsdGVy
PlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cc3RkYWZ4LmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3aW5c
c3RkYWZ4LmNwcCI+CiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXIuY3BwIj4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHdpblxNaW5pQnJvd3Nlci5jcHAiPgogICAgICAg
PEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAiPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cd2luXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAiPgogICAgICAg
PEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyV2ViSG9zdC5jcHAiPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cd2luXE1pbmlCcm93c2VyV2ViSG9zdC5jcHAiPgogICAgICAgPEZpbHRl
cj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXERPTURlZmF1bHRJbXBsLmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlx3aW5cRE9NRGVmYXVsdEltcGwuY3BwIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVz
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxX
aW5NYWluLmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3aW5cV2luTWFpbi5jcHAi
PgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXENvbW1vbi5jcHAiPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cd2luXENvbW1vbi5jcHAiPgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8
L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFJl
c291cmNlTG9hZERlbGVnYXRlLmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3aW5c
UmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQYWdl
TG9hZFRlc3RDbGllbnQuY3BwIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHdpblxQYWdl
TG9hZFRlc3RDbGllbnQuY3BwIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxXZWJEb3dubG9h
ZERlbGVnYXRlLmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3aW5cV2ViRG93bmxv
YWREZWxlZ2F0ZS5jcHAiPgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAg
ICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxET01EZWZhdWx0SW1wbC5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHdpblxET01EZWZhdWx0SW1wbC5oIj4KICAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVz
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxQ
cmludFdlYlVJRGVsZWdhdGUuaCI+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3aW5cUHJp
bnRXZWJVSURlbGVnYXRlLmgiPgogICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN0ZGFmeC5oIj4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHdpblxzdGRhZnguaCI+CiAgICAgICA8RmlsdGVy
PkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cV2luTGF1bmNoZXIuaCI+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3
aW5cTWluaUJyb3dzZXIuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJS
ZXNvdXJjZS5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ik1pbmlCcm93c2VyTGliUmVzb3Vy
Y2UuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cQWNjZXNzaWJpbGl0eURlbGVnYXRlLmgi
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5o
Ij4KICAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlclJlcGxhY2UuaCI+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3aW5cTWluaUJyb3dzZXJSZXBsYWNlLmgiPgogICAgICAg
PEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyV2ViSG9zdC5oIj4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHdpblxNaW5pQnJvd3NlcldlYkhvc3QuaCI+CiAgICAgICA8RmlsdGVyPkhl
YWRlciBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cUmVzb3VyY2VMb2FkRGVsZWdhdGUuaCI+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlx3aW5cUmVzb3VyY2VMb2FkRGVsZWdhdGUuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBG
aWxlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cUGFnZUxvYWRUZXN0Q2xpZW50LmgiPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2lu
XFBhZ2VMb2FkVGVzdENsaWVudC5oIj4KICAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXZWJEb3du
bG9hZERlbGVnYXRlLmgiPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd2luXFdlYkRvd25s
b2FkRGVsZWdhdGUuaCI+CiAgICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3Vy
Y2VDb21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliLnJjIj4KKyAgICA8UmVzb3VyY2VDb21w
aWxlIEluY2x1ZGU9Ik1pbmlCcm93c2VyTGliLnJjIj4KICAgICAgIDxGaWx0ZXI+UmVzb3VyY2Ug
RmlsZXM8L0ZpbHRlcj4KICAgICA8L1Jlc291cmNlQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+Cklu
ZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliQ29tbW9u
LnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWlu
aUJyb3dzZXJMaWJDb21tb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wczoxODg5NzAp
CisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliQ29tbW9u
LnByb3BzCSh3b3JraW5nIGNvcHkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nl
ci52Y3hwcm9qL01pbmlCcm93c2VyTGliQ29tbW9uLnByb3BzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWJDb21tb24ucHJv
cHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZj
eHByb2ovTWluaUJyb3dzZXJMaWJDb21tb24ucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw3IEBACiDvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2pl
Y3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6
Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CiAgIDxQcm9w
ZXJ0eUdyb3VwPgotICAgIDxUYXJnZXROYW1lPldpbkxhdW5jaGVyPC9UYXJnZXROYW1lPgorICAg
IDxUYXJnZXROYW1lPk1pbmlCcm93c2VyPC9UYXJnZXROYW1lPgogICA8L1Byb3BlcnR5R3JvdXA+
CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CkluZGV4OiBNaW5pQnJv
d3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliRGVidWcucHJvcHMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYkRl
YnVnLnByb3BzCShyZXZpc2lvbiAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LnZjeHByb2ovV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wczoxODg5NzApCisrKyBNaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliRGVidWcucHJvcHMJKHdvcmtpbmcg
Y29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJy
b3dzZXJMaWJEZWJ1Zy5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9NaW5p
QnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliRGVidWcucHJvcHMJKHJldmlzaW9uIDE4ODk3
MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJM
aWJEZWJ1Zy5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDYgQEAKICAgPEltcG9ydEdy
b3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktp
dF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgogICAgIDxJbXBvcnQg
UHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMiIC8+Cisg
ICAgPEltcG9ydCBQcm9qZWN0PSJNaW5pQnJvd3NlckxpYkNvbW1vbi5wcm9wcyIgLz4KICAgPC9J
bXBvcnRHcm91cD4KIDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUG9zdEJ1aWxk
LmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlC
cm93c2VyTGliUG9zdEJ1aWxkLmNtZAkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNtZDoxODg5NzAp
CisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUG9zdEJ1
aWxkLmNtZAkod29ya2luZyBjb3B5KQpJbmRleDogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4
cHJvai9NaW5pQnJvd3NlckxpYlByZUJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUHJlQnVpbGQuY21kCShyZXZpc2lv
biAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNo
ZXJMaWJQcmVCdWlsZC5jbWQ6MTg4OTcwKQorKysgTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4
cHJvai9NaW5pQnJvd3NlckxpYlByZUJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpJbmRleDogTWlu
aUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlByb2R1Y3Rpb24ucHJv
cHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJv
d3NlckxpYlByb2R1Y3Rpb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHM6MTg4
OTcwKQorKysgTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlBy
b2R1Y3Rpb24ucHJvcHMJKHdvcmtpbmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL01p
bmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWJQcm9kdWN0aW9uLnByb3BzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJM
aWJQcm9kdWN0aW9uLnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9NaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUHJvZHVjdGlvbi5wcm9wcwkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0
eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xz
XHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRf
TGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXHByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0gICAgPEltcG9y
dCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFBy
b2plY3Q9Ik1pbmlCcm93c2VyTGliQ29tbW9uLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgog
ICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXAg
Lz4KSW5kZXg6IE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWJS
ZWxlYXNlLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHBy
b2ovTWluaUJyb3dzZXJMaWJSZWxlYXNlLnByb3BzCShyZXZpc2lvbiAxODg5NzApCShmcm9tIFdp
bkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3Bz
OjE4ODk3MCkKKysrIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJM
aWJSZWxlYXNlLnByb3BzCSh3b3JraW5nIGNvcHkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUmVsZWFzZS5wcm9wcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGli
UmVsZWFzZS5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvTWlu
aUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlJlbGVhc2UucHJvcHMJKHdvcmtpbmcgY29w
eSkKQEAgLTMsNiArMyw2IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMi
PgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3Bz
XGNvbW1vbi5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmll
cylcdG9vbHNcdnNwcm9wc1xyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0i
V2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJNaW5p
QnJvd3NlckxpYkNvbW1vbi5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KIDwvUHJvamVjdD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nl
ci52Y3hwcm9qL01pbmlCcm93c2VyTGliUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJv
d3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUmVzb3VyY2UuaAkocmV2aXNp
b24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaDoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hw
cm9qL01pbmlCcm93c2VyTGliUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpJbmRleDogVG9vbHMv
TWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlckxpYlJlc291cmNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5p
QnJvd3NlckxpYlJlc291cmNlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93
c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWJSZXNvdXJjZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDE3ICsxLDE3IEBACiAvLyB7e05PX0RFUEVOREVOQ0lFU319CiAvLyBNaWNy
b3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBXaW5M
YXVuY2hlckxpYi5yYworLy8gVXNlZCBieSBNaW5pQnJvd3NlckxpYi5yYwogLy8KICNkZWZpbmUg
SURDX01ZSUNPTiAgICAgICAgICAgICAgICAgICAgICAyCi0jZGVmaW5lIElERF9XSU5MQVVOQ0hF
Ul9ESUFMT0cgICAgICAgICAgMTAyCisjZGVmaW5lIElERF9NSU5JQlJPV1NFUl9ESUFMT0cgICAg
ICAgICAgMTAyCiAjZGVmaW5lIElEU19BUFBfVElUTEUgICAgICAgICAgICAgICAgICAgMTAzCiAj
ZGVmaW5lIElERF9BQk9VVEJPWCAgICAgICAgICAgICAgICAgICAgMTAzCiAjZGVmaW5lIElETV9B
Qk9VVCAgICAgICAgICAgICAgICAgICAgICAgMTA0CiAjZGVmaW5lIElETV9FWElUICAgICAgICAg
ICAgICAgICAgICAgICAgMTA1CiAjZGVmaW5lIElETV9QUklOVCAgICAgICAgICAgICAgICAgICAg
ICAgMTA2Ci0jZGVmaW5lIElESV9XSU5MQVVOQ0hFUiAgICAgICAgICAgICAgICAgMTA3CisjZGVm
aW5lIElESV9NSU5JQlJPV1NFUiAgICAgICAgICAgICAgICAgMTA3CiAjZGVmaW5lIElESV9TTUFM
TCAgICAgICAgICAgICAgICAgICAgICAgMTA4Ci0jZGVmaW5lIElEQ19XSU5MQVVOQ0hFUiAgICAg
ICAgICAgICAgICAgMTA5CisjZGVmaW5lIElEQ19NSU5JQlJPV1NFUiAgICAgICAgICAgICAgICAg
MTA5CiAjZGVmaW5lIElETV9BVkZPVU5EQVRJT04gICAgICAgICAgICAgICAgMTEwCiAjZGVmaW5l
IElETV9BQ0NfQ09NUE9TSVRJTkcgICAgICAgICAgICAgMTExCiAjZGVmaW5lIElETV9XS19GVUxM
U0NSRUVOICAgICAgICAgICAgICAgMTEyCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52
Y3hwcm9qL01pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nl
ci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZAkocmV2aXNpb24g
MTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
UG9zdEJ1aWxkLmNtZDoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9q
L01pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpJbmRleDogTWluaUJyb3dz
ZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclByZUJ1aWxkLmNtZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUHJlQnVpbGQu
Y21kCShyZXZpc2lvbiAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJQcmVCdWlsZC5jbWQ6MTg4OTcwKQorKysgTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclByZUJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpJbmRl
eDogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclByb2R1Y3Rpb24u
cHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5p
QnJvd3NlclByb2R1Y3Rpb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHM6MTg4OTcw
KQorKysgTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclByb2R1Y3Rp
b24ucHJvcHMJKHdvcmtpbmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovTWluaUJyb3dzZXJQcm9kdWN0aW9uLnByb3BzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJQcm9kdWN0aW9u
LnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nl
ci52Y3hwcm9qL01pbmlCcm93c2VyUHJvZHVjdGlvbi5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAt
Myw3ICszLDcgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAg
PEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9u
LnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29s
c1x2c3Byb3BzXHByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5M
YXVuY2hlckNvbW1vbi5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ik1pbmlCcm93c2Vy
Q29tbW9uLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXAgLz4KSW5kZXg6IE1pbmlCcm93c2Vy
L01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJSZWxlYXNlLnByb3BzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIE1pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJSZWxlYXNlLnBy
b3BzCShyZXZpc2lvbiAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJSZWxlYXNlLnByb3BzOjE4ODk3MCkKKysrIE1pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJSZWxlYXNlLnByb3BzCSh3b3JraW5nIGNvcHkpCklu
ZGV4OiBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUmVs
ZWFzZS5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52
Y3hwcm9qL01pbmlCcm93c2VyUmVsZWFzZS5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9v
bHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclJlbGVhc2UucHJv
cHMJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw2IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0i
UHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVz
KVx0b29sc1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQo
V2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDb21tb24ucHJvcHMiIC8+CisgICAgPEltcG9ydCBQ
cm9qZWN0PSJNaW5pQnJvd3NlckNvbW1vbi5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KIDwv
UHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBN
aW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyUmVzb3VyY2UuaAkocmV2
aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyUmVzb3VyY2UuaDoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hw
cm9qL01pbmlCcm93c2VyUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpJbmRleDogVG9vbHMvTWlu
aUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3NlclJlc291cmNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3Nl
clJlc291cmNlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL01pbmlC
cm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJSZXNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIwICsxLDIwIEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0NCi0vLyBNaWNyb3NvZnQgVmlzdWFs
IEMrKyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLg0KLS8vIFVzZWQgYnkgV2luTGF1bmNoZXJMYXVu
Y2hlci5yYw0KLS8vDQotI2RlZmluZSBJRERfV0lOTEFVTkNIRVJfRElBTE9HICAgICAgICAgIDEw
Mg0KLSNkZWZpbmUgSURJX1dJTkxBVU5DSEVSICAgICAgICAgICAgICAgICAxMDcNCi0jZGVmaW5l
IElEUl9NQUlORlJBTUUgICAgICAgICAgICAgICAgICAgMTI4DQotI2RlZmluZSBJRENfU1RBVElD
ICAgICAgICAgICAgICAgICAgICAgIC0xDQotDQotLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3Ig
bmV3IG9iamVjdHMNCi0vLyANCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLSNpZm5kZWYgQVBT
VFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KLSNkZWZpbmUgX0FQU19OT19NRkMgICAgICAgICAgICAg
ICAgICAgICAxDQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEyOQ0K
LSNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICAzMjc3MQ0KLSNkZWZpbmUg
X0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAxMDAwDQotI2RlZmluZSBfQVBTX05FWFRf
U1lNRURfVkFMVUUgICAgICAgICAgIDExMA0KLSNlbmRpZg0KLSNlbmRpZg0KKy8ve3tOT19ERVBF
TkRFTkNJRVN9fQorLy8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIGluY2x1ZGUgZmls
ZS4KKy8vIFVzZWQgYnkgTWluaUJyb3dzZXJMYXVuY2hlci5yYworLy8KKyNkZWZpbmUgSUREX01J
TklCUk9XU0VSX0RJQUxPRyAgICAgICAgICAxMDIKKyNkZWZpbmUgSURJX01JTklCUk9XU0VSICAg
ICAgICAgICAgICAgICAxMDcKKyNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAg
ICAxMjgKKyNkZWZpbmUgSURDX1NUQVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQorCisvLyBO
ZXh0IGRlZmF1bHQgdmFsdWVzIGZvciBuZXcgb2JqZWN0cworLy8gCisjaWZkZWYgQVBTVFVESU9f
SU5WT0tFRAorI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCisjZGVmaW5lIF9BUFNf
Tk9fTUZDICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0Vf
VkFMVUUgICAgICAgIDEyOQorI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAg
IDMyNzcxCisjZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAwMAorI2Rl
ZmluZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAgIDExMAorI2VuZGlmCisjZW5kaWYK
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29s
cy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsOCArMzEs
OCBAQAogI2luY2x1ZGUgIlByaW50V2ViVUlEZWxlZ2F0ZS5oIgogI2luY2x1ZGUgIlJlc291cmNl
TG9hZERlbGVnYXRlLmgiCiAjaW5jbHVkZSAiV2ViRG93bmxvYWREZWxlZ2F0ZS5oIgotI2luY2x1
ZGUgIldpbkxhdW5jaGVyLmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXJSZXBsYWNlLmgiCisjaW5j
bHVkZSAiTWluaUJyb3dzZXIuaCIKKyNpbmNsdWRlICJNaW5pQnJvd3NlclJlcGxhY2UuaCIKICNp
bmNsdWRlIDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+CiAjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jv
cy5oPgogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgpAQCAtODQsNyArODQsNyBAQCBXTkRQUk9D
IERlZkVkaXRQcm9jID0gbnVsbHB0cjsKIFdORFBST0MgRGVmQnV0dG9uUHJvYyA9IG51bGxwdHI7
CiBXTkRQUk9DIERlZldlYktpdFByb2MgPSBudWxscHRyOwogSFdORCBnVmlld1dpbmRvdyA9IDA7
Ci1XaW5MYXVuY2hlciogZ1dpbkxhdW5jaGVyID0gbnVsbHB0cjsKK01pbmlCcm93c2VyKiBnTWlu
aUJyb3dzZXIgPSBudWxscHRyOwogVENIQVIgc3pUaXRsZVtNQVhfTE9BRFNUUklOR107IC8vIFRo
ZSB0aXRsZSBiYXIgdGV4dAogVENIQVIgc3pXaW5kb3dDbGFzc1tNQVhfTE9BRFNUUklOR107IC8v
IHRoZSBtYWluIHdpbmRvdyBjbGFzcyBuYW1lCiAKQEAgLTExMiw3ICsxMTIsNyBAQCBmbG9hdCBk
ZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhIV05EKTsKIAogc3RhdGljIHZvaWQgcmVzaXplU3Vi
Vmlld3MoKQogewotICAgIGlmIChnV2luTGF1bmNoZXItPnVzZXNMYXllcmVkV2ViVmlldygpIHx8
ICFnVmlld1dpbmRvdykKKyAgICBpZiAoZ01pbmlCcm93c2VyLT51c2VzTGF5ZXJlZFdlYlZpZXco
KSB8fCAhZ1ZpZXdXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZsb2F0IHNjYWxlRmFj
dG9yID0gV2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3coZ1ZpZXdXaW5kb3cpOwpA
QCAtMTI4LDcgKzEyOCw3IEBAIHN0YXRpYyB2b2lkIHJlc2l6ZVN1YlZpZXdzKCkKICAgICBNb3Zl
V2luZG93KGhVUkxCYXJXbmQsIHdpZHRoICogMiwgMCwgcmNDbGllbnQucmlnaHQsIGhlaWdodCwg
VFJVRSk7CiAgICAgTW92ZVdpbmRvdyhnVmlld1dpbmRvdywgMCwgaGVpZ2h0LCByY0NsaWVudC5y
aWdodCwgcmNDbGllbnQuYm90dG9tIC0gaGVpZ2h0LCBUUlVFKTsKIAotICAgIDo6U2VuZE1lc3Nh
Z2UoaFVSTEJhclduZCwgc3RhdGljX2Nhc3Q8VUlOVD4oV01fU0VURk9OVCksIHJlaW50ZXJwcmV0
X2Nhc3Q8V1BBUkFNPihnV2luTGF1bmNoZXItPnVybEJhckZvbnQoKSksIFRSVUUpOworICAgIDo6
U2VuZE1lc3NhZ2UoaFVSTEJhclduZCwgc3RhdGljX2Nhc3Q8VUlOVD4oV01fU0VURk9OVCksIHJl
aW50ZXJwcmV0X2Nhc3Q8V1BBUkFNPihnTWluaUJyb3dzZXItPnVybEJhckZvbnQoKSksIFRSVUUp
OwogfQogCiBzdGF0aWMgdm9pZCBzdWJjbGFzc0ZvckxheWVyZWRXaW5kb3coKQpAQCAtMTkzLDcg
KzE5Myw3IEBAIHN0YXRpYyBib29sIGdldEFwcERhdGFGb2xkZXIoX2JzdHJfdCYgZGkKIAogc3Rh
dGljIGJvb2wgc2V0Q2FjaGVGb2xkZXIoKQogewotICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZSA9
IGdXaW5MYXVuY2hlci0+d2ViQ2FjaGUoKTsKKyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUgPSBn
TWluaUJyb3dzZXItPndlYkNhY2hlKCk7CiAgICAgaWYgKCF3ZWJDYWNoZSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBQcmludFZpZXcoSFdORCBoV25k
LCBVSU5UIG1lc3NhZ2UsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJV2ViRnJhbWVQ
dHIgZnJhbWUgPSBnV2luTGF1bmNoZXItPm1haW5GcmFtZSgpOworICAgIElXZWJGcmFtZVB0ciBm
cmFtZSA9IGdNaW5pQnJvd3Nlci0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0zNjEsNyArMzYxLDcgQEAgc3RhdGljIHZvaWQgdHVybk9mZk90aGVy
VXNlckFnZW50cyhITUVOVQogCiBzdGF0aWMgYm9vbCBUb2dnbGVNZW51SXRlbShIV05EIGhXbmQs
IFVJTlQgbWVudUlEKQogewotICAgIGlmICghZ1dpbkxhdW5jaGVyKQorICAgIGlmICghZ01pbmlC
cm93c2VyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBITUVOVSBtZW51ID0gOjpHZXRN
ZW51KGhXbmQpOwpAQCAtMzc2LDM4ICszNzYsMzggQEAgc3RhdGljIGJvb2wgVG9nZ2xlTWVudUl0
ZW0oSFdORCBoV25kLCBVSQogCiAgICAgQk9PTCBuZXdTdGF0ZSA9ICFtZW51SXRlbUlzQ2hlY2tl
ZChpbmZvKTsKIAotICAgIGlmICghZ1dpbkxhdW5jaGVyLT5zdGFuZGFyZFByZWZlcmVuY2VzKCkg
fHwgIWdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCkpCisgICAgaWYgKCFnTWluaUJy
b3dzZXItPnN0YW5kYXJkUHJlZmVyZW5jZXMoKSB8fCAhZ01pbmlCcm93c2VyLT5wcml2YXRlUHJl
ZmVyZW5jZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3dpdGNoIChtZW51SUQp
IHsKICAgICBjYXNlIElETV9BVkZPVU5EQVRJT046Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+c3Rh
bmRhcmRQcmVmZXJlbmNlcygpLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKG5ld1N0YXRlKTsKKyAg
ICAgICAgZ01pbmlCcm93c2VyLT5zdGFuZGFyZFByZWZlcmVuY2VzKCktPnNldEFWRm91bmRhdGlv
bkVuYWJsZWQobmV3U3RhdGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElETV9BQ0NfQ09N
UE9TSVRJTkc6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKG5ld1N0YXRlKTsKKyAgICAgICAgZ01pbmlC
cm93c2VyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWQobmV3U3RhdGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElETV9XS19GVUxMU0NS
RUVOOgotICAgICAgICBnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRGdWxs
U2NyZWVuRW5hYmxlZChuZXdTdGF0ZSk7CisgICAgICAgIGdNaW5pQnJvd3Nlci0+cHJpdmF0ZVBy
ZWZlcmVuY2VzKCktPnNldEZ1bGxTY3JlZW5FbmFibGVkKG5ld1N0YXRlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUzoKLSAgICAgICAgZ1dpbkxhdW5j
aGVyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0U2hvd0RlYnVnQm9yZGVycyhuZXdTdGF0ZSk7
Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNldFNob3dSZXBh
aW50Q291bnRlcihuZXdTdGF0ZSk7CisgICAgICAgIGdNaW5pQnJvd3Nlci0+cHJpdmF0ZVByZWZl
cmVuY2VzKCktPnNldFNob3dEZWJ1Z0JvcmRlcnMobmV3U3RhdGUpOworICAgICAgICBnTWluaUJy
b3dzZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRTaG93UmVwYWludENvdW50ZXIobmV3U3Rh
dGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElETV9JTlZFUlRfQ09MT1JTOgotICAgICAg
ICBnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRTaG91bGRJbnZlcnRDb2xv
cnMobmV3U3RhdGUpOworICAgICAgICBnTWluaUJyb3dzZXItPnByaXZhdGVQcmVmZXJlbmNlcygp
LT5zZXRTaG91bGRJbnZlcnRDb2xvcnMobmV3U3RhdGUpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIElETV9ESVNBQkxFX0lNQUdFUzoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5zdGFuZGFyZFBy
ZWZlcmVuY2VzKCktPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSghbmV3U3RhdGUpOworICAg
ICAgICBnTWluaUJyb3dzZXItPnN0YW5kYXJkUHJlZmVyZW5jZXMoKS0+c2V0TG9hZHNJbWFnZXNB
dXRvbWF0aWNhbGx5KCFuZXdTdGF0ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSURNX0RJ
U0FCTEVfU1RZTEVTOgotICAgICAgICBnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygp
LT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCghbmV3U3RhdGUpOworICAgICAgICBnTWlu
aUJyb3dzZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5h
YmxlZCghbmV3U3RhdGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElETV9ESVNBQkxFX0pB
VkFTQ1JJUFQ6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+c3RhbmRhcmRQcmVmZXJlbmNlcygpLT5z
ZXRKYXZhU2NyaXB0RW5hYmxlZCghbmV3U3RhdGUpOworICAgICAgICBnTWluaUJyb3dzZXItPnN0
YW5kYXJkUHJlZmVyZW5jZXMoKS0+c2V0SmF2YVNjcmlwdEVuYWJsZWQoIW5ld1N0YXRlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNUSU9O
UzoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMobmV3U3RhdGUpOwotICAgICAgICBnV2luTGF1bmNo
ZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMo
bmV3U3RhdGUpOworICAgICAgICBnTWluaUJyb3dzZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5z
ZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhuZXdTdGF0ZSk7CisgICAgICAgIGdN
aW5pQnJvd3Nlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21G
aWxlVVJMcyhuZXdTdGF0ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSURNX1VBX0RFRkFV
TFQ6CiAgICAgY2FzZSBJRE1fVUFfU0FGQVJJXzhfMDoKQEAgLTQxOCw3ICs0MTgsNyBAQCBzdGF0
aWMgYm9vbCBUb2dnbGVNZW51SXRlbShIV05EIGhXbmQsIFVJCiAgICAgY2FzZSBJRE1fVUFfQ0hS
T01FX1dJTjoKICAgICBjYXNlIElETV9VQV9GSVJFRk9YX01BQzoKICAgICBjYXNlIElETV9VQV9G
SVJFRk9YX1dJTjoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5zZXRVc2VyQWdlbnQobWVudUlEKTsK
KyAgICAgICAgZ01pbmlCcm93c2VyLT5zZXRVc2VyQWdlbnQobWVudUlEKTsKICAgICAgICAgdHVy
bk9mZk90aGVyVXNlckFnZW50cyhtZW51KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJRE1f
VUFfT1RIRVI6CkBAIC00NDAsMTEgKzQ0MCwxMSBAQCBzdGF0aWMgY29uc3QgaW50IGRyYWdCYXJI
ZWlnaHQgPSAzMDsKIAogTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKEhXTkQgaFduZCwgVUlOVCBt
ZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogewotICAgIFdORFBST0MgcGFy
ZW50UHJvYyA9IChnV2luTGF1bmNoZXIpID8gKGdXaW5MYXVuY2hlci0+dXNlc0xheWVyZWRXZWJW
aWV3KCkgPyBEZWZXZWJLaXRQcm9jIDogRGVmV2luZG93UHJvYykgOiBEZWZXaW5kb3dQcm9jOwor
ICAgIFdORFBST0MgcGFyZW50UHJvYyA9IChnTWluaUJyb3dzZXIpID8gKGdNaW5pQnJvd3Nlci0+
dXNlc0xheWVyZWRXZWJWaWV3KCkgPyBEZWZXZWJLaXRQcm9jIDogRGVmV2luZG93UHJvYykgOiBE
ZWZXaW5kb3dQcm9jOwogCiAgICAgc3dpdGNoIChtZXNzYWdlKSB7CiAgICAgY2FzZSBXTV9OQ0hJ
VFRFU1Q6Ci0gICAgICAgIGlmIChnV2luTGF1bmNoZXIgJiYgZ1dpbkxhdW5jaGVyLT51c2VzTGF5
ZXJlZFdlYlZpZXcoKSkgeworICAgICAgICBpZiAoZ01pbmlCcm93c2VyICYmIGdNaW5pQnJvd3Nl
ci0+dXNlc0xheWVyZWRXZWJWaWV3KCkpIHsKICAgICAgICAgICAgIFJFQ1Qgd2luZG93OwogICAg
ICAgICAgICAgOjpHZXRXaW5kb3dSZWN0KGhXbmQsICZ3aW5kb3cpOwogICAgICAgICAgICAgLy8g
Rm9yIHRlc3Rpbmcgb3VyIHRyYW5zcGFyZW50IHdpbmRvdywgd2UgbmVlZCBhIHJlZ2lvbiB0byB1
c2UgYXMgYSBoYW5kbGUgZm9yCkBAIC00NTUsNyArNDU1LDcgQEAgTFJFU1VMVCBDQUxMQkFDSyBX
bmRQcm9jKEhXTkQgaFduZCwgVUlOVAogICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgd2l0aGlu
IHRoaXMgYmFkLCByZXR1cm4gSFRfQ0FQVElPTiB0byB0ZWxsIFdpbmRvd3Mgd2Ugd2FudCB0bwog
ICAgICAgICAgICAgLy8gdHJlYXQgdGhpcyByZWdpb24gYXMgaWYgaXQgd2VyZSB0aGUgdGl0bGUg
YmFyIG9uIGEgbm9ybWFsIHdpbmRvdy4KICAgICAgICAgICAgIGludCB5ID0gSElXT1JEKGxQYXJh
bSk7Ci0gICAgICAgICAgICBmbG9hdCBzY2FsZWREcmFnQmFySGVpZ2h0RmFjdG9yID0gZHJhZ0Jh
ckhlaWdodCAqIGdXaW5MYXVuY2hlci0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgICAg
IGZsb2F0IHNjYWxlZERyYWdCYXJIZWlnaHRGYWN0b3IgPSBkcmFnQmFySGVpZ2h0ICogZ01pbmlC
cm93c2VyLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgICAgICAgICAgaWYgKCh5ID4gd2luZG93
LnRvcCkgJiYgKHkgPCB3aW5kb3cudG9wICsgc2NhbGVkRHJhZ0JhckhlaWdodEZhY3RvcikpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEhUQ0FQVElPTjsKICAgICAgICAgfQpAQCAtNDY0LDggKzQ2
NCw4IEBAIExSRVNVTFQgQ0FMTEJBQ0sgV25kUHJvYyhIV05EIGhXbmQsIFVJTlQKICAgICAgICAg
aW50IHdtSWQgPSBMT1dPUkQod1BhcmFtKTsKICAgICAgICAgaW50IHdtRXZlbnQgPSBISVdPUkQo
d1BhcmFtKTsKICAgICAgICAgaWYgKHdtSWQgPj0gSURNX0hJU1RPUllfTElOSzAgJiYgd21JZCA8
PSBJRE1fSElTVE9SWV9MSU5LOSkgewotICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKLSAg
ICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPm5hdmlnYXRlVG9IaXN0b3J5KGhXbmQsIHdtSWQp
OworICAgICAgICAgICAgaWYgKGdNaW5pQnJvd3NlcikKKyAgICAgICAgICAgICAgICBnTWluaUJy
b3dzZXItPm5hdmlnYXRlVG9IaXN0b3J5KGhXbmQsIHdtSWQpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgLy8gUGFyc2UgdGhlIG1lbnUgc2VsZWN0aW9uczoKQEAgLTQ4
MCw4ICs0ODAsOCBAQCBMUkVTVUxUIENBTExCQUNLIFduZFByb2MoSFdORCBoV25kLCBVSU5UCiAg
ICAgICAgICAgICBQcmludFZpZXcoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSURNX1dFQl9JTlNQRUNUT1I6Ci0gICAgICAg
ICAgICBpZiAoZ1dpbkxhdW5jaGVyKQotICAgICAgICAgICAgICAgIGdXaW5MYXVuY2hlci0+bGF1
bmNoSW5zcGVjdG9yKCk7CisgICAgICAgICAgICBpZiAoZ01pbmlCcm93c2VyKQorICAgICAgICAg
ICAgICAgIGdNaW5pQnJvd3Nlci0+bGF1bmNoSW5zcGVjdG9yKCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBJRE1fQ0FDSEVTOgogICAgICAgICAgICAgaWYgKCE6OklzV2luZG93
KGhDYWNoZVduZCkpIHsKQEAgLTQ5MSw4ICs0OTEsOCBAQCBMUkVTVUxUIENBTExCQUNLIFduZFBy
b2MoSFdORCBoV25kLCBVSU5UCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJRE1f
SElTVE9SWV9CQUNLV0FSRDoKICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9GT1JXQVJEOgotICAg
ICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXIt
Pm5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoaFduZCwgd21JZCk7CisgICAgICAgICAgICBpZiAo
Z01pbmlCcm93c2VyKQorICAgICAgICAgICAgICAgIGdNaW5pQnJvd3Nlci0+bmF2aWdhdGVGb3J3
YXJkT3JCYWNrd2FyZChoV25kLCB3bUlkKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIElETV9VQV9PVEhFUjoKICAgICAgICAgICAgIGlmICh3bUV2ZW50KQpAQCAtNTAxLDE2ICs1
MDEsMTYgQEAgTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKEhXTkQgaFduZCwgVUlOVAogICAgICAg
ICAgICAgICAgIERpYWxvZ0JveChoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElERF9VU0VSX0FHRU5U
KSwgaFduZCwgQ3VzdG9tVXNlckFnZW50KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIElETV9BQ1RVQUxfU0laRToKLSAgICAgICAgICAgIGlmIChnV2luTGF1bmNoZXIpCi0gICAg
ICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5yZXNldFpvb20oKTsKKyAgICAgICAgICAgIGlmIChn
TWluaUJyb3dzZXIpCisgICAgICAgICAgICAgICAgZ01pbmlCcm93c2VyLT5yZXNldFpvb20oKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElETV9aT09NX0lOOgotICAgICAgICAg
ICAgaWYgKGdXaW5MYXVuY2hlcikKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnpvb21J
bigpOworICAgICAgICAgICAgaWYgKGdNaW5pQnJvd3NlcikKKyAgICAgICAgICAgICAgICBnTWlu
aUJyb3dzZXItPnpvb21JbigpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSURN
X1pPT01fT1VUOgotICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKLSAgICAgICAgICAgICAg
ICBnV2luTGF1bmNoZXItPnpvb21PdXQoKTsKKyAgICAgICAgICAgIGlmIChnTWluaUJyb3dzZXIp
CisgICAgICAgICAgICAgICAgZ01pbmlCcm93c2VyLT56b29tT3V0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGlmICghVG9nZ2xlTWVudUl0ZW0o
aFduZCwgd21JZCkpCkBAIC01MjUsMTQgKzUyNSwxNCBAQCBMUkVTVUxUIENBTExCQUNLIFduZFBy
b2MoSFdORCBoV25kLCBVSU5UCiAgICAgICAgIFBvc3RRdWl0TWVzc2FnZSgwKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBXTV9TSVpFOgotICAgICAgICBpZiAoIWdXaW5MYXVuY2hlciB8fCAh
Z1dpbkxhdW5jaGVyLT5oYXNXZWJWaWV3KCkgfHwgZ1dpbkxhdW5jaGVyLT51c2VzTGF5ZXJlZFdl
YlZpZXcoKSkKKyAgICAgICAgaWYgKCFnTWluaUJyb3dzZXIgfHwgIWdNaW5pQnJvd3Nlci0+aGFz
V2ViVmlldygpIHx8IGdNaW5pQnJvd3Nlci0+dXNlc0xheWVyZWRXZWJWaWV3KCkpCiAgICAgICAg
ICAgICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MocGFyZW50UHJvYywgaFduZCwgbWVzc2FnZSwgd1Bh
cmFtLCBsUGFyYW0pOwogCiAgICAgICAgIHJlc2l6ZVN1YlZpZXdzKCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgV01fRFBJQ0hBTkdFRDoKLSAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKLSAg
ICAgICAgICAgIGdXaW5MYXVuY2hlci0+dXBkYXRlRGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICAg
ICAgaWYgKGdNaW5pQnJvd3NlcikKKyAgICAgICAgICAgIGdNaW5pQnJvd3Nlci0+dXBkYXRlRGV2
aWNlU2NhbGVGYWN0b3IoKTsKICAgICAgICAgcmV0dXJuIENhbGxXaW5kb3dQcm9jKHBhcmVudFBy
b2MsIGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MocGFyZW50UHJvYywgaFduZCwgbWVzc2FnZSwgd1BhcmFt
LCBsUGFyYW0pOwpAQCAtNTY1LDcgKzU2NSw3IEBAIExSRVNVTFQgQ0FMTEJBQ0sgQmFja0J1dHRv
blByb2MoSFdORCBoRGwKIHsKICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKICAgICBjYXNlIFdNX0xC
VVRUT05VUDoKLSAgICAgICAgZ1dpbkxhdW5jaGVyLT5nb0JhY2soKTsKKyAgICAgICAgZ01pbmlC
cm93c2VyLT5nb0JhY2soKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gQ2FsbFdpbmRv
d1Byb2MoRGVmQnV0dG9uUHJvYywgaERsZywgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwogICAg
IH0KQEAgLTU3NSw3ICs1NzUsNyBAQCBMUkVTVUxUIENBTExCQUNLIEZvcndhcmRCdXR0b25Qcm9j
KEhXTkQKIHsKICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKICAgICBjYXNlIFdNX0xCVVRUT05VUDoK
LSAgICAgICAgZ1dpbkxhdW5jaGVyLT5nb0ZvcndhcmQoKTsKKyAgICAgICAgZ01pbmlCcm93c2Vy
LT5nb0ZvcndhcmQoKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gQ2FsbFdpbmRvd1By
b2MoRGVmQnV0dG9uUHJvYywgaERsZywgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwogICAgIH0K
QEAgLTYzNSw4ICs2MzUsOCBAQCBJTlRfUFRSIENBTExCQUNLIEN1c3RvbVVzZXJBZ2VudChIV05E
IGhECiAgICAgY2FzZSBXTV9JTklURElBTE9HOiB7CiAgICAgICAgIEhXTkQgZWRpdCA9IDo6R2V0
RGxnSXRlbShoRGxnLCBJRENfVVNFUl9BR0VOVF9JTlBVVCk7CiAgICAgICAgIF9ic3RyX3QgdXNl
ckFnZW50OwotICAgICAgICBpZiAoZ1dpbkxhdW5jaGVyKQotICAgICAgICAgICAgdXNlckFnZW50
ID0gZ1dpbkxhdW5jaGVyLT51c2VyQWdlbnQoKTsKKyAgICAgICAgaWYgKGdNaW5pQnJvd3NlcikK
KyAgICAgICAgICAgIHVzZXJBZ2VudCA9IGdNaW5pQnJvd3Nlci0+dXNlckFnZW50KCk7CiAKICAg
ICAgICAgOjpTZXRXaW5kb3dUZXh0KGVkaXQsIHN0YXRpY19jYXN0PExQQ1RTVFI+KHVzZXJBZ2Vu
dCkpOwogICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKQEAgLTY1Miw3ICs2NTIsNyBAQCBJ
TlRfUFRSIENBTExCQUNLIEN1c3RvbVVzZXJBZ2VudChIV05EIGhECiAKICAgICAgICAgICAgIF9i
c3RyX3QgYnN0cihidWZmZXIpOwogICAgICAgICAgICAgaWYgKGJzdHIubGVuZ3RoKCkpIHsKLSAg
ICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnNldFVzZXJBZ2VudChic3RyKTsKKyAgICAgICAg
ICAgICAgICBnTWluaUJyb3dzZXItPnNldFVzZXJBZ2VudChic3RyKTsKICAgICAgICAgICAgICAg
ICA6OlBvc3RNZXNzYWdlKGhNYWluV25kLCBzdGF0aWNfY2FzdDxVSU5UPihXTV9DT01NQU5EKSwg
TUFLRUxQQVJBTShJRE1fVUFfT1RIRVIsIDEpLCAwKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQpAQCAtNjY4LDcgKzY2OCw3IEBAIElOVF9QVFIgQ0FMTEJBQ0sgQ3VzdG9tVXNlckFnZW50KEhX
TkQgaEQKIAogc3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHBhc3NlZFVSTCkKIHsKLSAgICBpZiAo
RkFJTEVEKGdXaW5MYXVuY2hlci0+bG9hZFVSTChwYXNzZWRVUkwpKSkKKyAgICBpZiAoRkFJTEVE
KGdNaW5pQnJvd3Nlci0+bG9hZFVSTChwYXNzZWRVUkwpKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgU2V0Rm9jdXMoZ1ZpZXdXaW5kb3cpOwpAQCAtNzE2LDEwICs3MTYsMTAgQEAgc3RhdGljIHZv
aWQgc2V0V2luZG93VGV4dChIV05EIGRpYWxvZywgVQogCiBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0
aXN0aWNzKEhXTkQgZGlhbG9nKQogewotICAgIGlmICghZ1dpbkxhdW5jaGVyKQorICAgIGlmICgh
Z01pbmlCcm93c2VyKQogICAgICAgICByZXR1cm47CiAKLSAgICBJV2ViQ29yZVN0YXRpc3RpY3NQ
dHIgd2ViQ29yZVN0YXRpc3RpY3MgPSBnV2luTGF1bmNoZXItPnN0YXRpc3RpY3MoKTsKKyAgICBJ
V2ViQ29yZVN0YXRpc3RpY3NQdHIgd2ViQ29yZVN0YXRpc3RpY3MgPSBnTWluaUJyb3dzZXItPnN0
YXRpc3RpY3MoKTsKICAgICBpZiAoIXdlYkNvcmVTdGF0aXN0aWNzKQogICAgICAgICByZXR1cm47
CiAKQEAgLTczNSw3ICs3MzUsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0aXN0aWNzKEhXTkQg
ZGlhbG9nCiAKICAgICAvLyBXZWJDb3JlIENhY2hlLgogI2lmIFVTRShDRikKLSAgICBJV2ViQ2Fj
aGVQdHIgd2ViQ2FjaGUgPSBnV2luTGF1bmNoZXItPndlYkNhY2hlKCk7CisgICAgSVdlYkNhY2hl
UHRyIHdlYkNhY2hlID0gZ01pbmlCcm93c2VyLT53ZWJDYWNoZSgpOwogCiAgICAgaW50IGRpY3RD
b3VudCA9IDY7CiAgICAgSVByb3BlcnR5QmFnKiBjYWNoZURpY3RbNl0gPSB7IDAgfTsKSW5kZXg6
IE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3Nlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWluaUJyb3dz
ZXIvd2luL01pbmlCcm93c2VyLmNwcAkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci5jcHA6MTg4OTcwKQorKysgTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2Vy
LmNwcAkod29ya2luZyBjb3B5KQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXIu
Y3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMSArMjcsMTEgQEAKICAqLwogCiAjaW5jbHVk
ZSAic3RkYWZ4LmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXIuaCIKKyNpbmNsdWRlICJNaW5pQnJv
d3Nlci5oIgogCiAjaW5jbHVkZSAiRE9NRGVmYXVsdEltcGwuaCIKLSNpbmNsdWRlICJXaW5MYXVu
Y2hlckxpYlJlc291cmNlLmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXJSZXBsYWNlLmgiCisjaW5j
bHVkZSAiTWluaUJyb3dzZXJMaWJSZXNvdXJjZS5oIgorI2luY2x1ZGUgIk1pbmlCcm93c2VyUmVw
bGFjZS5oIgogI2luY2x1ZGUgPFdlYktpdC9XZWJLaXRDT01BUEkuaD4KICNpbmNsdWRlIDx3dGYv
RXhwb3J0TWFjcm9zLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CkBAIC01NSw3ICs1NSw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKIAogdHlwZWRlZiBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0
YWJsZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwogCi1XaW5MYXVuY2hl
cjo6V2luTGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXll
cmVkV2ViVmlldywgYm9vbCBwYWdlTG9hZFRlc3RpbmcpCitNaW5pQnJvd3Nlcjo6TWluaUJyb3dz
ZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldywg
Ym9vbCBwYWdlTG9hZFRlc3RpbmcpCiAgICAgOiBtX2hNYWluV25kKG1haW5XbmQpCiAgICAgLCBt
X2hVUkxCYXJXbmQodXJsQmFyV25kKQogICAgICwgbV91c2VMYXllcmVkV2ViVmlldyh1c2VMYXll
cmVkV2ViVmlldykKQEAgLTYzLDcgKzYzLDcgQEAgV2luTGF1bmNoZXI6OldpbkxhdW5jaGVyKEhX
TkQgbWFpblduZCwgSAogewogfQogCi1IUkVTVUxUIFdpbkxhdW5jaGVyOjppbml0KCkKK0hSRVNV
TFQgTWluaUJyb3dzZXI6OmluaXQoKQogewogICAgIHVwZGF0ZURldmljZVNjYWxlRmFjdG9yKCk7
CiAKQEAgLTg4LDcgKzg4LDcgQEAgSFJFU1VMVCBXaW5MYXVuY2hlcjo6aW5pdCgpCiAgICAgcmV0
dXJuIGhyOwogfQogCi1IUkVTVUxUIFdpbkxhdW5jaGVyOjpwcmVwYXJlVmlld3MoSFdORCBtYWlu
V25kLCBjb25zdCBSRUNUJiBjbGllbnRSZWN0LCBjb25zdCBCU1RSJiByZXF1ZXN0ZWRVUkwsIEhX
TkQmIHZpZXdId25kKQorSFJFU1VMVCBNaW5pQnJvd3Nlcjo6cHJlcGFyZVZpZXdzKEhXTkQgbWFp
blduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYgcmVxdWVzdGVkVVJMLCBI
V05EJiB2aWV3SHduZCkKIHsKICAgICBpZiAoIW1fd2ViVmlldykKICAgICAgICAgcmV0dXJuIEVf
RkFJTDsKQEAgLTEyMyw0OSArMTIzLDQ5IEBAIEhSRVNVTFQgV2luTGF1bmNoZXI6OnByZXBhcmVW
aWV3cyhIV05EIG0KICAgICByZXR1cm4gaHI7CiB9CiAKLUhSRVNVTFQgV2luTGF1bmNoZXI6OnNl
dEZyYW1lTG9hZERlbGVnYXRlKElXZWJGcmFtZUxvYWREZWxlZ2F0ZSogZnJhbWVMb2FkRGVsZWdh
dGUpCitIUkVTVUxUIE1pbmlCcm93c2VyOjpzZXRGcmFtZUxvYWREZWxlZ2F0ZShJV2ViRnJhbWVM
b2FkRGVsZWdhdGUqIGZyYW1lTG9hZERlbGVnYXRlKQogewogICAgIG1fZnJhbWVMb2FkRGVsZWdh
dGUgPSBmcmFtZUxvYWREZWxlZ2F0ZTsKICAgICByZXR1cm4gbV93ZWJWaWV3LT5zZXRGcmFtZUxv
YWREZWxlZ2F0ZShmcmFtZUxvYWREZWxlZ2F0ZSk7CiB9CiAKLUhSRVNVTFQgV2luTGF1bmNoZXI6
OnNldEZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZShJV2ViRnJhbWVMb2FkRGVsZWdhdGVQcml2YXRl
KiBmcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUpCitIUkVTVUxUIE1pbmlCcm93c2VyOjpzZXRGcmFt
ZUxvYWREZWxlZ2F0ZVByaXZhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZSogZnJhbWVM
b2FkRGVsZWdhdGVQcml2YXRlKQogewogICAgIHJldHVybiBtX3dlYlZpZXdQcml2YXRlLT5zZXRG
cmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUoZnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKTsKIH0KIAot
SFJFU1VMVCBXaW5MYXVuY2hlcjo6c2V0VUlEZWxlZ2F0ZShJV2ViVUlEZWxlZ2F0ZSogdWlEZWxl
Z2F0ZSkKK0hSRVNVTFQgTWluaUJyb3dzZXI6OnNldFVJRGVsZWdhdGUoSVdlYlVJRGVsZWdhdGUq
IHVpRGVsZWdhdGUpCiB7CiAgICAgbV91aURlbGVnYXRlID0gdWlEZWxlZ2F0ZTsKICAgICByZXR1
cm4gbV93ZWJWaWV3LT5zZXRVSURlbGVnYXRlKHVpRGVsZWdhdGUpOwogfQogCi1IUkVTVUxUIFdp
bkxhdW5jaGVyOjpzZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZSogYWNjZXNzaWJpbGl0eURlbGVnYXRlKQorSFJFU1VMVCBNaW5pQnJvd3Nlcjo6c2V0QWNjZXNz
aWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUqIGFjY2Vzc2liaWxpdHlEZWxl
Z2F0ZSkKIHsKICAgICBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZSA9IGFjY2Vzc2liaWxpdHlEZWxl
Z2F0ZTsKICAgICByZXR1cm4gbV93ZWJWaWV3LT5zZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUoYWNj
ZXNzaWJpbGl0eURlbGVnYXRlKTsKIH0KIAotSFJFU1VMVCBXaW5MYXVuY2hlcjo6c2V0UmVzb3Vy
Y2VMb2FkRGVsZWdhdGUoSVdlYlJlc291cmNlTG9hZERlbGVnYXRlKiByZXNvdXJjZUxvYWREZWxl
Z2F0ZSkKK0hSRVNVTFQgTWluaUJyb3dzZXI6OnNldFJlc291cmNlTG9hZERlbGVnYXRlKElXZWJS
ZXNvdXJjZUxvYWREZWxlZ2F0ZSogcmVzb3VyY2VMb2FkRGVsZWdhdGUpCiB7CiAgICAgbV9yZXNv
dXJjZUxvYWREZWxlZ2F0ZSA9IHJlc291cmNlTG9hZERlbGVnYXRlOwogICAgIHJldHVybiBtX3dl
YlZpZXctPnNldFJlc291cmNlTG9hZERlbGVnYXRlKHJlc291cmNlTG9hZERlbGVnYXRlKTsKIH0K
IAotSFJFU1VMVCBXaW5MYXVuY2hlcjo6c2V0RG93bmxvYWREZWxlZ2F0ZShJV2ViRG93bmxvYWRE
ZWxlZ2F0ZVB0ciBkb3dubG9hZERlbGVnYXRlKQorSFJFU1VMVCBNaW5pQnJvd3Nlcjo6c2V0RG93
bmxvYWREZWxlZ2F0ZShJV2ViRG93bmxvYWREZWxlZ2F0ZVB0ciBkb3dubG9hZERlbGVnYXRlKQog
ewogICAgIG1fZG93bmxvYWREZWxlZ2F0ZSA9IGRvd25sb2FkRGVsZWdhdGU7CiAgICAgcmV0dXJu
IG1fd2ViVmlldy0+c2V0RG93bmxvYWREZWxlZ2F0ZShkb3dubG9hZERlbGVnYXRlKTsKIH0KIAot
SVdlYkZyYW1lUHRyIFdpbkxhdW5jaGVyOjptYWluRnJhbWUoKQorSVdlYkZyYW1lUHRyIE1pbmlC
cm93c2VyOjptYWluRnJhbWUoKQogewogICAgIElXZWJGcmFtZVB0ciBmcmFtZVB0cjsKICAgICBt
X3dlYlZpZXctPm1haW5GcmFtZSgmZnJhbWVQdHIuR2V0SW50ZXJmYWNlUHRyKCkpOwogICAgIHJl
dHVybiBmcmFtZVB0cjsKIH0KIAotYm9vbCBXaW5MYXVuY2hlcjo6c2VlZEluaXRpYWxEZWZhdWx0
UHJlZmVyZW5jZXMoKQorYm9vbCBNaW5pQnJvd3Nlcjo6c2VlZEluaXRpYWxEZWZhdWx0UHJlZmVy
ZW5jZXMoKQogewogICAgIElXZWJQcmVmZXJlbmNlc1B0ciB0bXBQcmVmZXJlbmNlczsKICAgICBp
ZiAoRkFJTEVEKFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYlByZWZlcmVuY2VzLCAwLCBJ
SURfSVdlYlByZWZlcmVuY2VzLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJnRtcFByZWZlcmVu
Y2VzLkdldEludGVyZmFjZVB0cigpKSkpKQpAQCAtMTc3LDcgKzE3Nyw3IEBAIGJvb2wgV2luTGF1
bmNoZXI6OnNlZWRJbml0aWFsRGVmYXVsdFByZWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9v
bCBXaW5MYXVuY2hlcjo6c2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKQorYm9vbCBNaW5pQnJvd3Nl
cjo6c2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKQogewogICAgIEhSRVNVTFQgaHIgPSBtX3N0YW5k
YXJkUHJlZmVyZW5jZXMtPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fcHJlZnNQcml2YXRlLkdldEludGVyZmFjZVB0
cigpKSk7CiAgICAgaWYgKCFTVUNDRUVERUQoaHIpKQpAQCAtMjIxLDcgKzIyMSw3IEBAIHN0YXRp
YyB2b2lkIHVwZGF0ZU1lbnVJdGVtRm9ySGlzdG9yeUl0ZW0KICAgICA6OkVuYWJsZU1lbnVJdGVt
KG1lbnUsIG1lbnVJRCwgTUZfQllDT01NQU5EIHwgTUZfRU5BQkxFRCk7CiB9CiAKLXZvaWQgV2lu
TGF1bmNoZXI6OnNob3dMYXN0VmlzaXRlZFNpdGVzKElXZWJWaWV3JiB3ZWJWaWV3KQordm9pZCBN
aW5pQnJvd3Nlcjo6c2hvd0xhc3RWaXNpdGVkU2l0ZXMoSVdlYlZpZXcmIHdlYlZpZXcpCiB7CiAg
ICAgSE1FTlUgbWVudSA9IDo6R2V0TWVudShtX2hNYWluV25kKTsKIApAQCAtMjk4LDcgKzI5OCw3
IEBAIHZvaWQgV2luTGF1bmNoZXI6OnNob3dMYXN0VmlzaXRlZFNpdGVzKEkKICAgICAgICAgOjpF
bmFibGVNZW51SXRlbShtZW51LCBJRE1fSElTVE9SWV9MSU5LMCArIGksIE1GX0JZQ09NTUFORCB8
IE1GX0RJU0FCTEVEKTsKIH0KIAotdm9pZCBXaW5MYXVuY2hlcjo6bGF1bmNoSW5zcGVjdG9yKCkK
K3ZvaWQgTWluaUJyb3dzZXI6OmxhdW5jaEluc3BlY3RvcigpCiB7CiAgICAgaWYgKCFtX3dlYlZp
ZXdQcml2YXRlKQogICAgICAgICByZXR1cm47CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBXaW5M
YXVuY2hlcjo6bGF1bmNoSW5zcGVjdG9yKCkKICAgICBtX2luc3BlY3Rvci0+c2hvdygpOwogfQog
Ci12b2lkIFdpbkxhdW5jaGVyOjpuYXZpZ2F0ZUZvcndhcmRPckJhY2t3YXJkKEhXTkQgaFduZCwg
VUlOVCBtZW51SUQpCit2b2lkIE1pbmlCcm93c2VyOjpuYXZpZ2F0ZUZvcndhcmRPckJhY2t3YXJk
KEhXTkQgaFduZCwgVUlOVCBtZW51SUQpCiB7CiAgICAgaWYgKCFtX3dlYlZpZXcpCiAgICAgICAg
IHJldHVybjsKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFdpbkxhdW5jaGVyOjpuYXZpZ2F0ZUZv
cndhcmRPckJhY2t3CiAgICAgICAgIG1fd2ViVmlldy0+Z29CYWNrKCZ3ZW50QmFja09yRm9yd2Fy
ZCk7CiB9CiAKLXZvaWQgV2luTGF1bmNoZXI6Om5hdmlnYXRlVG9IaXN0b3J5KEhXTkQgaFduZCwg
VUlOVCBtZW51SUQpCit2b2lkIE1pbmlCcm93c2VyOjpuYXZpZ2F0ZVRvSGlzdG9yeShIV05EIGhX
bmQsIFVJTlQgbWVudUlEKQogewogICAgIGlmICghbV93ZWJWaWV3KQogICAgICAgICByZXR1cm47
CkBAIC0zNDMsMjEgKzM0MywyMSBAQCB2b2lkIFdpbkxhdW5jaGVyOjpuYXZpZ2F0ZVRvSGlzdG9y
eShIV05ECiAgICAgOjpTZW5kTWVzc2FnZShtX2hVUkxCYXJXbmQsIChVSU5UKVdNX1NFVFRFWFQs
IDAsIChMUEFSQU0pZnJhbWVVUkwuR2V0QlNUUigpKTsKIH0KIAotYm9vbCBXaW5MYXVuY2hlcjo6
Z29CYWNrKCkKK2Jvb2wgTWluaUJyb3dzZXI6OmdvQmFjaygpCiB7CiAgICAgQk9PTCB3ZW50QmFj
ayA9IEZBTFNFOwogICAgIG1fd2ViVmlldy0+Z29CYWNrKCZ3ZW50QmFjayk7CiAgICAgcmV0dXJu
IHdlbnRCYWNrOwogfQogCi1ib29sIFdpbkxhdW5jaGVyOjpnb0ZvcndhcmQoKQorYm9vbCBNaW5p
QnJvd3Nlcjo6Z29Gb3J3YXJkKCkKIHsKICAgICBCT09MIHdlbnRGb3J3YXJkID0gRkFMU0U7CiAg
ICAgbV93ZWJWaWV3LT5nb0ZvcndhcmQoJndlbnRGb3J3YXJkKTsKICAgICByZXR1cm4gd2VudEZv
cndhcmQ7CiB9CiAKLUhSRVNVTFQgV2luTGF1bmNoZXI6OmxvYWRVUkwoY29uc3QgQlNUUiYgcGFz
c2VkVVJMKQorSFJFU1VMVCBNaW5pQnJvd3Nlcjo6bG9hZFVSTChjb25zdCBCU1RSJiBwYXNzZWRV
UkwpCiB7CiAgICAgX2JzdHJfdCB1cmxCU3RyKHBhc3NlZFVSTCk7CiAgICAgaWYgKCEhdXJsQlN0
ciAmJiAoOjpQYXRoRmlsZUV4aXN0cyh1cmxCU3RyKSB8fCA6OlBhdGhJc1VOQyh1cmxCU3RyKSkp
IHsKQEAgLTM5NSwxMiArMzk1LDEyIEBAIEhSRVNVTFQgV2luTGF1bmNoZXI6OmxvYWRVUkwoY29u
c3QgQlNUUiYKICAgICByZXR1cm4gaHI7CiB9CiAKLXZvaWQgV2luTGF1bmNoZXI6OmV4aXRQcm9n
cmFtKCkKK3ZvaWQgTWluaUJyb3dzZXI6OmV4aXRQcm9ncmFtKCkKIHsKICAgICA6OlBvc3RNZXNz
YWdlKG1faE1haW5XbmQsIHN0YXRpY19jYXN0PFVJTlQ+KFdNX0NPTU1BTkQpLCBNQUtFTFBBUkFN
KElETV9FWElULCAwKSwgMCk7CiB9CiAKLXZvaWQgV2luTGF1bmNoZXI6OnNldFVzZXJBZ2VudChV
SU5UIG1lbnVJRCkKK3ZvaWQgTWluaUJyb3dzZXI6OnNldFVzZXJBZ2VudChVSU5UIG1lbnVJRCkK
IHsKICAgICBpZiAoIXdlYlZpZXcoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDQzLDEyICs0NDMs
MTIgQEAgdm9pZCBXaW5MYXVuY2hlcjo6c2V0VXNlckFnZW50KFVJTlQgbWVudQogICAgIHNldFVz
ZXJBZ2VudChjdXN0b21Vc2VyQWdlbnQpOwogfQogCi12b2lkIFdpbkxhdW5jaGVyOjpzZXRVc2Vy
QWdlbnQoX2JzdHJfdCYgY3VzdG9tVXNlckFnZW50KQordm9pZCBNaW5pQnJvd3Nlcjo6c2V0VXNl
ckFnZW50KF9ic3RyX3QmIGN1c3RvbVVzZXJBZ2VudCkKIHsKICAgICB3ZWJWaWV3KCktPnNldEN1
c3RvbVVzZXJBZ2VudChjdXN0b21Vc2VyQWdlbnQuR2V0QlNUUigpKTsKIH0KIAotX2JzdHJfdCBX
aW5MYXVuY2hlcjo6dXNlckFnZW50KCkKK19ic3RyX3QgTWluaUJyb3dzZXI6OnVzZXJBZ2VudCgp
CiB7CiAgICAgX2JzdHJfdCB1c2VyQWdlbnQ7CiAgICAgaWYgKEZBSUxFRCh3ZWJWaWV3KCktPmN1
c3RvbVVzZXJBZ2VudCgmdXNlckFnZW50LkdldEJTVFIoKSkpKQpAQCAtNDU5LDcgKzQ1OSw3IEBA
IF9ic3RyX3QgV2luTGF1bmNoZXI6OnVzZXJBZ2VudCgpCiAKIHR5cGVkZWYgX2NvbV9wdHJfdDxf
Y29tX0lJSUQ8SVdlYklCQWN0aW9ucywgJl9fdXVpZG9mKElXZWJJQkFjdGlvbnMpPj4gSVdlYklC
QWN0aW9uc1B0cjsKIAotdm9pZCBXaW5MYXVuY2hlcjo6cmVzZXRab29tKCkKK3ZvaWQgTWluaUJy
b3dzZXI6OnJlc2V0Wm9vbSgpCiB7CiAgICAgSVdlYklCQWN0aW9uc1B0ciB3ZWJBY3Rpb25zOwog
ICAgIGlmIChGQUlMRUQobV93ZWJWaWV3LT5RdWVyeUludGVyZmFjZShJSURfSVdlYklCQWN0aW9u
cywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3ZWJBY3Rpb25zLkdldEludGVyZmFjZVB0cigp
KSkpKQpAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgV2luTGF1bmNoZXI6OnJlc2V0Wm9vbSgpCiAg
ICAgd2ViQWN0aW9ucy0+cmVzZXRQYWdlWm9vbShudWxscHRyKTsKIH0KIAotdm9pZCBXaW5MYXVu
Y2hlcjo6em9vbUluKCkKK3ZvaWQgTWluaUJyb3dzZXI6Onpvb21JbigpCiB7CiAgICAgSVdlYklC
QWN0aW9uc1B0ciB3ZWJBY3Rpb25zOwogICAgIGlmIChGQUlMRUQobV93ZWJWaWV3LT5RdWVyeUlu
dGVyZmFjZShJSURfSVdlYklCQWN0aW9ucywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3ZWJB
Y3Rpb25zLkdldEludGVyZmFjZVB0cigpKSkpKQpAQCAtNDc3LDcgKzQ3Nyw3IEBAIHZvaWQgV2lu
TGF1bmNoZXI6Onpvb21JbigpCiAgICAgd2ViQWN0aW9ucy0+em9vbVBhZ2VJbihudWxscHRyKTsK
IH0KIAotdm9pZCBXaW5MYXVuY2hlcjo6em9vbU91dCgpCit2b2lkIE1pbmlCcm93c2VyOjp6b29t
T3V0KCkKIHsKICAgICBJV2ViSUJBY3Rpb25zUHRyIHdlYkFjdGlvbnM7CiAgICAgaWYgKEZBSUxF
RChtX3dlYlZpZXctPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViSUJBY3Rpb25zLCByZWludGVycHJl
dF9jYXN0PHZvaWQqKj4oJndlYkFjdGlvbnMuR2V0SW50ZXJmYWNlUHRyKCkpKSkpCkBAIC00ODYs
NyArNDg2LDcgQEAgdm9pZCBXaW5MYXVuY2hlcjo6em9vbU91dCgpCiAgICAgd2ViQWN0aW9ucy0+
em9vbVBhZ2VPdXQobnVsbHB0cik7CiB9CiAKLXZvaWQgV2luTGF1bmNoZXI6OmdlbmVyYXRlRm9u
dEZvclNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQordm9pZCBNaW5pQnJvd3Nlcjo6Z2Vu
ZXJhdGVGb250Rm9yU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCiB7CiAgICAgaWYgKG1f
aFVSTEJhckZvbnQpCiAgICAgICAgIDo6RGVsZXRlT2JqZWN0KG1faFVSTEJhckZvbnQpOwpAQCAt
NDk2LDcgKzQ5Niw3IEBAIHZvaWQgV2luTGF1bmNoZXI6OmdlbmVyYXRlRm9udEZvclNjYWxlRmEK
IH0KIAogCi12b2lkIFdpbkxhdW5jaGVyOjp1cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpCit2b2lk
IE1pbmlCcm93c2VyOjp1cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpCiB7CiAgICAgbV9kZXZpY2VT
Y2FsZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yRm9yV2luZG93KG1faE1haW5X
bmQpOwogICAgIGdlbmVyYXRlRm9udEZvclNjYWxlRmFjdG9yKG1fZGV2aWNlU2NhbGVGYWN0b3Ip
OwpJbmRleDogTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWlu
aUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmgJKHJldmlzaW9uIDE4ODk3MCkJKGZyb20gV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIuaDoxODg5NzApCisrKyBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dz
ZXIuaAkod29ya2luZyBjb3B5KQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmgJ
KHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3Nlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NCw5ICs0NCw5IEBAIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29t
X0lJSUQ8SVdlYkNhY2hlLAogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUsICZfX3V1aWRvZihJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUpPj4gSVdl
YlJlc291cmNlTG9hZERlbGVnYXRlUHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViRG93bmxvYWREZWxlZ2F0ZSwgJl9fdXVpZG9mKElXZWJEb3dubG9hZERlbGVnYXRlKT4+IElX
ZWJEb3dubG9hZERlbGVnYXRlUHRyOwogCi1jbGFzcyBXaW5MYXVuY2hlciB7CitjbGFzcyBNaW5p
QnJvd3NlciB7CiBwdWJsaWM6Ci0gICAgV2luTGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVy
bEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVz
dGluZyA9IGZhbHNlKTsKKyAgICBNaW5pQnJvd3NlcihIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFy
V25kLCBib29sIHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wgcGFnZUxvYWRUZXN0aW5n
ID0gZmFsc2UpOwogCiAgICAgSFJFU1VMVCBpbml0KCk7CiAgICAgSFJFU1VMVCBwcmVwYXJlVmll
d3MoSFdORCBtYWluV25kLCBjb25zdCBSRUNUJiBjbGllbnRSZWN0LCBjb25zdCBCU1RSJiByZXF1
ZXN0ZWRVUkwsIEhXTkQmIHZpZXdXbmQpOwpJbmRleDogTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyUmVwbGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlclJl
cGxhY2UuaAkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlclJl
cGxhY2UuaDoxODg5NzApCisrKyBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJSZXBsYWNlLmgJ
KHdvcmtpbmcgY29weSkKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlclJl
cGxhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJS
ZXBsYWNlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3dpbi9NaW5p
QnJvd3NlclJlcGxhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsMTAgKzIyLDEwIEBACiAgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCi0jaWZuZGVmIFdpbkxhdW5jaGVyUmVwbGFjZV9oCi0jZGVmaW5lIFdpbkxhdW5j
aGVyUmVwbGFjZV9oCisjaWZuZGVmIE1pbmlCcm93c2VyUmVwbGFjZV9oCisjZGVmaW5lIE1pbmlC
cm93c2VyUmVwbGFjZV9oCiAKLS8vIFRoaXMgZmlsZSBpcyB0byBtYWtlIGl0IGVhc2llciBmb3Ig
dXNlcnMgdG8gbWFuYWdlIGNoYW5nZXMgdG8gdGhlIGludGVybmFscyBvZiBXaW5MYXVuY2hlcgor
Ly8gVGhpcyBmaWxlIGlzIHRvIG1ha2UgaXQgZWFzaWVyIGZvciB1c2VycyB0byBtYW5hZ2UgY2hh
bmdlcyB0byB0aGUgaW50ZXJuYWxzIG9mIE1pbmlCcm93c2VyCiAKIHN0YXRpYyBjb25zdCB3Y2hh
cl90KiBkZWZhdWx0SFRNTCA9IEwiPHAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGRjAw
XCI+VGVzdGluZzwvcD48aW1nIGlkPVwid2Via2l0IGxvZ29cIiBzcmM9XCJodHRwOi8vd2Via2l0
Lm9yZy9pbWFnZXMvaWNvbi1nb2xkLnBuZ1wiIGFsdD1cIkZhY2VcIj48ZGl2IHN0eWxlPVwiYm9y
ZGVyOiBzb2xpZCBibHVlOyBiYWNrZ3JvdW5kOiB3aGl0ZTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0
cnVlXCI+ZGl2IHdpdGggYmx1ZSBib3JkZXI8L2Rpdj48dWw+PGxpPmZvbzxsaT5iYXI8bGk+YmF6
PC91bD4iOwogCkluZGV4OiBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0LmNwcAkocmV2
aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5MYXVuY2hlcldlYkhvc3QuY3BwOjE4
ODk3MCkKKysrIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlcldlYkhvc3QuY3BwCSh3b3JraW5n
IGNvcHkpCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0
LmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyV2ViSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDExICsyNywxMSBAQAogICovCiAK
ICNpbmNsdWRlICJzdGRhZnguaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlcldlYkhvc3QuaCIKKyNp
bmNsdWRlICJNaW5pQnJvd3NlcldlYkhvc3QuaCIKIAogI2luY2x1ZGUgIkRPTURlZmF1bHRJbXBs
LmgiCiAjaW5jbHVkZSAiUGFnZUxvYWRUZXN0Q2xpZW50LmgiCi0jaW5jbHVkZSAiV2luTGF1bmNo
ZXIuaCIKKyNpbmNsdWRlICJNaW5pQnJvd3Nlci5oIgogI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQu
aD4KIAogY2xhc3MgU2ltcGxlRXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBET01FdmVudExpc3RlbmVy
IHsKQEAgLTU5LDcgKzU5LDcgQEAgdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJh
bWUsCiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJEYXRhU291cmNlLCAmX191dWlk
b2YoSVdlYkRhdGFTb3VyY2UpPj4gSVdlYkRhdGFTb3VyY2VQdHI7CiB0eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJNdXRhYmxlVVJMUmVxdWVzdCwgJl9fdXVpZG9mKElXZWJNdXRhYmxl
VVJMUmVxdWVzdCk+PiBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHI7CiAKLUhSRVNVTFQgV2luTGF1
bmNoZXJXZWJIb3N0Ojp1cGRhdGVBZGRyZXNzQmFyKElXZWJWaWV3JiB3ZWJWaWV3KQorSFJFU1VM
VCBNaW5pQnJvd3NlcldlYkhvc3Q6OnVwZGF0ZUFkZHJlc3NCYXIoSVdlYlZpZXcmIHdlYlZpZXcp
CiB7CiAgICAgSVdlYkZyYW1lUHRyIG1haW5GcmFtZTsKICAgICBIUkVTVUxUIGhyID0gd2ViVmll
dy5tYWluRnJhbWUoJm1haW5GcmFtZS5HZXRJbnRlcmZhY2VQdHIoKSk7CkBAIC05MywxMiArOTMs
MTIgQEAgSFJFU1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6OnVwZGF0ZUFkZHJlcwogICAgIHJldHVy
biBTX09LOwogfQogCi12b2lkIFdpbkxhdW5jaGVyV2ViSG9zdDo6bG9hZFVSTChfYnN0cl90JiB1
cmwpCit2b2lkIE1pbmlCcm93c2VyV2ViSG9zdDo6bG9hZFVSTChfYnN0cl90JiB1cmwpCiB7CiAg
ICAgOjpTZW5kTWVzc2FnZShtX2hVUkxCYXJXbmQsIHN0YXRpY19jYXN0PFVJTlQ+KFdNX1NFVFRF
WFQpLCAwLCByZWludGVycHJldF9jYXN0PExQQVJBTT4odXJsLkdldEJTVFIoKSkpOwogfQogCi1I
UkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJv
cihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJFcnJvciAqZXJyb3IsIF9Jbl9vcHRf
IElXZWJGcmFtZSopCitIUkVTVUxUIE1pbmlCcm93c2VyV2ViSG9zdDo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZFdpdGhFcnJvcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJFcnJvciAq
ZXJyb3IsIF9Jbl9vcHRfIElXZWJGcmFtZSopCiB7CiAgICAgX2JzdHJfdCBlcnJvckRlc2NyaXB0
aW9uOwogICAgIEhSRVNVTFQgaHIgPSBFX1BPSU5URVI7CkBAIC0xMTMsNyArMTEzLDcgQEAgSFJF
U1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6OmRpZEZhaWxQcm92aQogICAgIHJldHVybiBTX09LOwog
fQogCi1IUkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJ
SUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCitIUkVTVUxUIE1pbmlCcm93
c2VyV2ViSG9zdDo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJf
IHZvaWQqKiBwcHZPYmplY3QpCiB7CiAgICAgaWYgKCFwcHZPYmplY3QpCiAgICAgICAgIHJldHVy
biBFX1BPSU5URVI7CkBAIC0xMjksMTIgKzEyOSwxMiBAQCBIUkVTVUxUIFdpbkxhdW5jaGVyV2Vi
SG9zdDo6UXVlcnlJbnRlcmZhCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLVVMT05HIFdpbkxhdW5j
aGVyV2ViSG9zdDo6QWRkUmVmKCkKK1VMT05HIE1pbmlCcm93c2VyV2ViSG9zdDo6QWRkUmVmKCkK
IHsKICAgICByZXR1cm4gKyttX3JlZkNvdW50OwogfQogCi1VTE9ORyBXaW5MYXVuY2hlcldlYkhv
c3Q6OlJlbGVhc2UoKQorVUxPTkcgTWluaUJyb3dzZXJXZWJIb3N0OjpSZWxlYXNlKCkKIHsKICAg
ICBVTE9ORyBuZXdSZWYgPSAtLW1fcmVmQ291bnQ7CiAgICAgaWYgKCFuZXdSZWYpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJRE9NRWxlbWVudAogdHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJRE9NRXZlbnRUYXJnZXQsICZfX3V1aWRvZihJRE9N
RXZlbnRUYXJnZXQpPj4gSURPTUV2ZW50VGFyZ2V0UHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9j
b21fSUlJRDxJV2ViRnJhbWUyLCAmX191dWlkb2YoSVdlYkZyYW1lMik+PiBJV2ViRnJhbWUyUHRy
OwogCi1IUkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKF9J
bl9vcHRfIElXZWJWaWV3KiB3ZWJWaWV3LCBfSW5fb3B0XyBJV2ViRnJhbWUqIGZyYW1lKQorSFJF
U1VMVCBNaW5pQnJvd3NlcldlYkhvc3Q6OmRpZEZpbmlzaExvYWRGb3JGcmFtZShfSW5fb3B0XyBJ
V2ViVmlldyogd2ViVmlldywgX0luX29wdF8gSVdlYkZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAo
IWZyYW1lIHx8ICF3ZWJWaWV3KQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwpAQCAtMTg3LDcg
KzE4Nyw3IEBAIEhSRVNVTFQgV2luTGF1bmNoZXJXZWJIb3N0OjpkaWRGaW5pc2hMb2EKICAgICBy
ZXR1cm4gaHI7CiB9CiAKLUhSRVNVTFQgV2luTGF1bmNoZXJXZWJIb3N0OjpkaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1l
KiBmcmFtZSkKK0hSRVNVTFQgTWluaUJyb3dzZXJXZWJIb3N0OjpkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKiBmcmFt
ZSkKIHsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gRV9GQUlMOwpAQCAtMTk2LDEz
ICsxOTYsMTMgQEAgSFJFU1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6OmRpZFN0YXJ0UHJvdgogICAg
IHJldHVybiBTX09LOwogfQogCi1IUkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmFpbExv
YWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBfSW5f
b3B0XyBJV2ViRnJhbWUqKQorSFJFU1VMVCBNaW5pQnJvd3NlcldlYkhvc3Q6OmRpZEZhaWxMb2Fk
V2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29w
dF8gSVdlYkZyYW1lKikKIHsKICAgICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlk
RmFpbExvYWQoKTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBXaW5MYXVuY2hlcldl
Ykhvc3Q6OmRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiBz
ZW5kZXIsIF9Jbl9vcHRfIElXZWJGcmFtZSogZnJhbWUpCitIUkVTVUxUIE1pbmlCcm93c2VyV2Vi
SG9zdDo6ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqIHNl
bmRlciwgX0luX29wdF8gSVdlYkZyYW1lKiBmcmFtZSkKIHsKICAgICBJV2ViRGF0YVNvdXJjZVB0
ciBkYXRhU291cmNlOwogICAgIEhSRVNVTFQgaHIgPSBmcmFtZS0+ZGF0YVNvdXJjZSgmZGF0YVNv
dXJjZS5HZXRJbnRlcmZhY2VQdHIoKSk7CkBAIC0yMjcsNyArMjI3LDcgQEAgSFJFU1VMVCBXaW5M
YXVuY2hlcldlYkhvc3Q6OmRpZEhhbmRsZU9ubAogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVT
VUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmlyc3RMYXlvdXRJbkZyYW1lKF9Jbl9vcHRfIElX
ZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKiBmcmFtZSkKK0hSRVNVTFQgTWluaUJyb3dzZXJX
ZWJIb3N0OjpkaWRGaXJzdExheW91dEluRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0
XyBJV2ViRnJhbWUqIGZyYW1lKQogewogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBF
X1BPSU5URVI7CkluZGV4OiBNaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJXZWJIb3N0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyV2ViSG9zdC5oCShyZXZpc2lv
biAxODg5NzApCShmcm9tIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyV2ViSG9zdC5oOjE4ODk3MCkK
KysrIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlcldlYkhvc3QuaAkod29ya2luZyBjb3B5KQpJ
bmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyV2ViSG9zdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlcldlYkhvc3QuaAkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyV2ViSG9zdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMSArMjgsMTEgQEAKICNpbmNsdWRlICJyZXNvdXJjZS5o
IgogI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KIAotY2xhc3MgV2luTGF1bmNoZXI7CitjbGFz
cyBNaW5pQnJvd3NlcjsKIAotY2xhc3MgV2luTGF1bmNoZXJXZWJIb3N0IDogcHVibGljIElXZWJG
cmFtZUxvYWREZWxlZ2F0ZSwgcHVibGljIElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUgewor
Y2xhc3MgTWluaUJyb3dzZXJXZWJIb3N0IDogcHVibGljIElXZWJGcmFtZUxvYWREZWxlZ2F0ZSwg
cHVibGljIElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUgewogcHVibGljOgotICAgIFdpbkxh
dW5jaGVyV2ViSG9zdChXaW5MYXVuY2hlciogY2xpZW50LCBIV05EIHVybEJhcikKKyAgICBNaW5p
QnJvd3NlcldlYkhvc3QoTWluaUJyb3dzZXIqIGNsaWVudCwgSFdORCB1cmxCYXIpCiAgICAgICAg
IDogbV9jbGllbnQoY2xpZW50KSwgbV9oVVJMQmFyV25kKHVybEJhcikgeyB9CiAKICAgICAvLyBJ
VW5rbm93bgpAQCAtODAsNSArODAsNSBAQCBwcml2YXRlOgogICAgIEhHRElPQkogbV9VUkxCYXJG
b250IHsgMCB9OwogICAgIEhHRElPQkogbV9vbGRGb250IHsgMCB9OwogICAgIFVMT05HIG1fcmVm
Q291bnQgeyAxIH07Ci0gICAgV2luTGF1bmNoZXIqIG1fY2xpZW50IHsgbnVsbHB0ciB9OworICAg
IE1pbmlCcm93c2VyKiBtX2NsaWVudCB7IG51bGxwdHIgfTsKIH07CkluZGV4OiBUb29scy9NaW5p
QnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9N
aW5pQnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmNwcAkocmV2aXNpb24gMTg4OTcwKQor
KysgVG9vbHMvTWluaUJyb3dzZXIvd2luL1BhZ2VMb2FkVGVzdENsaWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJzdGRhZnguaCIKICNpbmNsdWRlICJQ
YWdlTG9hZFRlc3RDbGllbnQuaCIKIAotI2luY2x1ZGUgIldpbkxhdW5jaGVyLmgiCisjaW5jbHVk
ZSAiTWluaUJyb3dzZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRXhwb3J0TWFjcm9z
Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVByaW50
U3RyZWFtLmg+CkBAIC0zNCw3ICszNCw3IEBACiAKIHN0YXRpYyBjb25zdCBDRlRpbWVJbnRlcnZh
bCB3YWl0Rm9yTmV3UmVzb3VyY2VMb2FkRHVyYXRpb24gPSAwLjE7CiAKLVBhZ2VMb2FkVGVzdENs
aWVudDo6UGFnZUxvYWRUZXN0Q2xpZW50KFdpbkxhdW5jaGVyKiBob3N0LCBib29sIHBhZ2VMb2Fk
VGVzdGluZykKK1BhZ2VMb2FkVGVzdENsaWVudDo6UGFnZUxvYWRUZXN0Q2xpZW50KE1pbmlCcm93
c2VyKiBob3N0LCBib29sIHBhZ2VMb2FkVGVzdGluZykKICAgICA6IG1faG9zdChob3N0KQogICAg
ICwgbV9yZXBldGl0aW9ucyhwYWdlTG9hZFRlc3RpbmcgPyAyMCA6IDEpCiAgICAgLCBtX3dhaXRG
b3JMb2FkVG9SZWFsbHlFbmQodGhpcywgJlBhZ2VMb2FkVGVzdENsaWVudDo6ZW5kUGFnZUxvYWQp
CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvd2luL1BhZ2VMb2FkVGVzdENsaWVudC5oCShyZXZp
c2lvbiAxODg5NzApCisrKyBUb29scy9NaW5pQnJvd3Nlci93aW4vUGFnZUxvYWRUZXN0Q2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMiArMTAxLDEyIEBAIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPENGUnVuTG9vcFRpbWVyUmVmPiBtX3RpbWVyOwogfTsKIAotY2xhc3MgV2luTGF1bmNo
ZXI7CitjbGFzcyBNaW5pQnJvd3NlcjsKIAogY2xhc3MgUGFnZUxvYWRUZXN0Q2xpZW50IHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlTG9hZFRlc3RDbGllbnQpOwogcHVibGljOgotICAg
IFBhZ2VMb2FkVGVzdENsaWVudChXaW5MYXVuY2hlciogaG9zdCwgYm9vbCBwYWdlTG9hZFRlc3Rp
bmcgPSBmYWxzZSk7CisgICAgUGFnZUxvYWRUZXN0Q2xpZW50KE1pbmlCcm93c2VyKiBob3N0LCBi
b29sIHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlKTsKIAogI2lmIE9TKFdJTkRPV1MpCiAgICAgdm9p
ZCBzZXRQYWdlVVJMKGNvbnN0IF9ic3RyX3QmKTsKQEAgLTEzMSw3ICsxMzEsNyBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBwYWdlTG9hZEVuZGVkQXRUaW1lKENGQWJzb2x1dGVUaW1lKTsK
ICAgICB2b2lkIGR1bXBSdW5TdGF0aXN0aWNzKCk7CiAKLSAgICBXaW5MYXVuY2hlciogbV9ob3N0
OworICAgIE1pbmlCcm93c2VyKiBtX2hvc3Q7CiAgICAgQ0ZBYnNvbHV0ZVRpbWUgbV9wYWdlTG9h
ZEVuZFRpbWUgeyAwIH07CiAgICAgQ0ZUaW1lSW50ZXJ2YWwgbV90b3RhbFRpbWUgeyAwIH07CiAg
ICAgQ0ZUaW1lSW50ZXJ2YWwgbV90b3RhbFNxdWFyZVJvb3RzT2ZUaW1lIHsgMCB9OwpJbmRleDog
VG9vbHMvTWluaUJyb3dzZXIvd2luL1Jlc291cmNlTG9hZERlbGVnYXRlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwCShyZXZp
c2lvbiAxODg5NzApCisrKyBUb29scy9NaW5pQnJvd3Nlci93aW4vUmVzb3VyY2VMb2FkRGVsZWdh
dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgIlBhZ2VMb2FkVGVzdENsaWVudC5oIgotI2lu
Y2x1ZGUgIldpbkxhdW5jaGVyLmgiCisjaW5jbHVkZSAiTWluaUJyb3dzZXIuaCIKICNpbmNsdWRl
IDxXZWJLaXQvV2ViS2l0Q09NQVBJLmg+CiAjaW5jbHVkZSA8Y29taXAuaD4KICNpbmNsdWRlIDxj
b21tY3RybC5oPgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL1Jlc291cmNlTG9hZERlbGVn
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvd2luL1Jlc291cmNlTG9hZERl
bGVnYXRlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3dpbi9SZXNv
dXJjZUxvYWREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMSArMjgsMTEgQEAKIAog
I2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KIAotY2xhc3MgV2luTGF1bmNoZXI7CitjbGFzcyBN
aW5pQnJvd3NlcjsKIAogY2xhc3MgUmVzb3VyY2VMb2FkRGVsZWdhdGUgOiBwdWJsaWMgSVdlYlJl
c291cmNlTG9hZERlbGVnYXRlIHsKIHB1YmxpYzoKLSAgICBSZXNvdXJjZUxvYWREZWxlZ2F0ZShX
aW5MYXVuY2hlciogY2xpZW50KQorICAgIFJlc291cmNlTG9hZERlbGVnYXRlKE1pbmlCcm93c2Vy
KiBjbGllbnQpCiAgICAgICAgIDogbV9jbGllbnQoY2xpZW50KSB7IH0KIAogICAgIC8vIElVbmtu
b3duCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgcGx1Z0luRmFpbGVkV2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0lu
X29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKTsKIAogcHJpdmF0ZToK
LSAgICBXaW5MYXVuY2hlciogbV9jbGllbnQ7CisgICAgTWluaUJyb3dzZXIqIG1fY2xpZW50Owog
ICAgIGludCBtX3JlZkNvdW50IHsgMSB9OwogfTsKIApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIv
d2luL1dpbk1haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3dpbi9XaW5N
YWluLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL1dpbk1h
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw4ICsyNyw4IEBACiAgKi8KIAogI2luY2x1ZGUg
InN0ZGFmeC5oIgotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCIKLSNpbmNsdWRl
ICJXaW5MYXVuY2hlcldlYkhvc3QuaCIKKyNpbmNsdWRlICJNaW5pQnJvd3NlckxpYlJlc291cmNl
LmgiCisjaW5jbHVkZSAiTWluaUJyb3dzZXJXZWJIb3N0LmgiCiAjaW5jbHVkZSAiQ29tbW9uLmNw
cCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjAsNyArNjAsNyBAQCBpbnQgV0lOQVBJIHdX
aW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJbnN0CiAKICAgICAvLyBJbml0aWFsaXplIGdsb2JhbCBz
dHJpbmdzCiAgICAgTG9hZFN0cmluZyhoSW5zdCwgSURTX0FQUF9USVRMRSwgc3pUaXRsZSwgTUFY
X0xPQURTVFJJTkcpOwotICAgIExvYWRTdHJpbmcoaEluc3QsIElEQ19XSU5MQVVOQ0hFUiwgc3pX
aW5kb3dDbGFzcywgTUFYX0xPQURTVFJJTkcpOworICAgIExvYWRTdHJpbmcoaEluc3QsIElEQ19N
SU5JQlJPV1NFUiwgc3pXaW5kb3dDbGFzcywgTUFYX0xPQURTVFJJTkcpOwogICAgIE15UmVnaXN0
ZXJDbGFzcyhoSW5zdCk7CiAKICAgICBpZiAodXNlRnVsbERlc2t0b3ApCkBAIC0xMDUsNTkgKzEw
NSw1OSBAQCBpbnQgV0lOQVBJIHdXaW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJbnN0CiAgICAgaWYg
KHVzZXNMYXllcmVkV2ViVmlldykKICAgICAgICAgY2xpZW50UmVjdCA9IHsgc193aW5kb3dQb3Np
dGlvbi54LCBzX3dpbmRvd1Bvc2l0aW9uLnksIHNfd2luZG93UG9zaXRpb24ueCArIHNfd2luZG93
U2l6ZS5jeCwgc193aW5kb3dQb3NpdGlvbi55ICsgc193aW5kb3dTaXplLmN5IH07CiAKLSAgICBX
aW5MYXVuY2hlcldlYkhvc3QqIHdlYkhvc3QgPSBudWxscHRyOworICAgIE1pbmlCcm93c2VyV2Vi
SG9zdCogd2ViSG9zdCA9IG51bGxwdHI7CiAKICAgICBJV2ViRG93bmxvYWREZWxlZ2F0ZVB0ciBk
b3dubG9hZERlbGVnYXRlOwogICAgIGRvd25sb2FkRGVsZWdhdGUuQXR0YWNoKG5ldyBXZWJEb3du
bG9hZERlbGVnYXRlKCkpOwogCi0gICAgZ1dpbkxhdW5jaGVyID0gbmV3IFdpbkxhdW5jaGVyKGhN
YWluV25kLCBoVVJMQmFyV25kLCB1c2VzTGF5ZXJlZFdlYlZpZXcsIHBhZ2VMb2FkVGVzdGluZyk7
Ci0gICAgaWYgKCFnV2luTGF1bmNoZXIpCisgICAgZ01pbmlCcm93c2VyID0gbmV3IE1pbmlCcm93
c2VyKGhNYWluV25kLCBoVVJMQmFyV25kLCB1c2VzTGF5ZXJlZFdlYlZpZXcsIHBhZ2VMb2FkVGVz
dGluZyk7CisgICAgaWYgKCFnTWluaUJyb3dzZXIpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotICAg
IGlmICghZ1dpbkxhdW5jaGVyLT5zZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpKQorICAg
IGlmICghZ01pbmlCcm93c2VyLT5zZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpKQogICAg
ICAgICBnb3RvIGV4aXQ7CiAKLSAgICBpZiAoIWdXaW5MYXVuY2hlci0+c2V0VG9EZWZhdWx0UHJl
ZmVyZW5jZXMoKSkKKyAgICBpZiAoIWdNaW5pQnJvd3Nlci0+c2V0VG9EZWZhdWx0UHJlZmVyZW5j
ZXMoKSkKICAgICAgICAgZ290byBleGl0OwogCi0gICAgSFJFU1VMVCBociA9IGdXaW5MYXVuY2hl
ci0+aW5pdCgpOworICAgIEhSRVNVTFQgaHIgPSBnTWluaUJyb3dzZXItPmluaXQoKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgZ290byBleGl0OwogCiAgICAgaWYgKCFzZXRDYWNoZUZv
bGRlcigpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKLSAgICB3ZWJIb3N0ID0gbmV3IFdpbkxhdW5j
aGVyV2ViSG9zdChnV2luTGF1bmNoZXIsIGhVUkxCYXJXbmQpOworICAgIHdlYkhvc3QgPSBuZXcg
TWluaUJyb3dzZXJXZWJIb3N0KGdNaW5pQnJvd3NlciwgaFVSTEJhclduZCk7CiAKLSAgICBociA9
IGdXaW5MYXVuY2hlci0+c2V0RnJhbWVMb2FkRGVsZWdhdGUod2ViSG9zdCk7CisgICAgaHIgPSBn
TWluaUJyb3dzZXItPnNldEZyYW1lTG9hZERlbGVnYXRlKHdlYkhvc3QpOwogICAgIGlmIChGQUlM
RUQoaHIpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKLSAgICBociA9IGdXaW5MYXVuY2hlci0+c2V0
RnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKHdlYkhvc3QpOworICAgIGhyID0gZ01pbmlCcm93c2Vy
LT5zZXRGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUod2ViSG9zdCk7CiAgICAgaWYgKEZBSUxFRCho
cikpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotICAgIGhyID0gZ1dpbkxhdW5jaGVyLT5zZXRVSURl
bGVnYXRlKG5ldyBQcmludFdlYlVJRGVsZWdhdGUoKSk7CisgICAgaHIgPSBnTWluaUJyb3dzZXIt
PnNldFVJRGVsZWdhdGUobmV3IFByaW50V2ViVUlEZWxlZ2F0ZSgpKTsKICAgICBpZiAoRkFJTEVE
IChocikpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotICAgIGhyID0gZ1dpbkxhdW5jaGVyLT5zZXRB
Y2Nlc3NpYmlsaXR5RGVsZWdhdGUobmV3IEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSgpKTsKKyAgICBo
ciA9IGdNaW5pQnJvd3Nlci0+c2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKG5ldyBBY2Nlc3NpYmls
aXR5RGVsZWdhdGUoKSk7CiAgICAgaWYgKEZBSUxFRCAoaHIpKQogICAgICAgICBnb3RvIGV4aXQ7
CiAKLSAgICBociA9IGdXaW5MYXVuY2hlci0+c2V0UmVzb3VyY2VMb2FkRGVsZWdhdGUobmV3IFJl
c291cmNlTG9hZERlbGVnYXRlKGdXaW5MYXVuY2hlcikpOworICAgIGhyID0gZ01pbmlCcm93c2Vy
LT5zZXRSZXNvdXJjZUxvYWREZWxlZ2F0ZShuZXcgUmVzb3VyY2VMb2FkRGVsZWdhdGUoZ01pbmlC
cm93c2VyKSk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotICAg
IGhyID0gZ1dpbkxhdW5jaGVyLT5zZXREb3dubG9hZERlbGVnYXRlKGRvd25sb2FkRGVsZWdhdGUp
OworICAgIGhyID0gZ01pbmlCcm93c2VyLT5zZXREb3dubG9hZERlbGVnYXRlKGRvd25sb2FkRGVs
ZWdhdGUpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKLSAgICBo
ciA9IGdXaW5MYXVuY2hlci0+cHJlcGFyZVZpZXdzKGhNYWluV25kLCBjbGllbnRSZWN0LCByZXF1
ZXN0ZWRVUkwuR2V0QlNUUigpLCBnVmlld1dpbmRvdyk7CisgICAgaHIgPSBnTWluaUJyb3dzZXIt
PnByZXBhcmVWaWV3cyhoTWFpblduZCwgY2xpZW50UmVjdCwgcmVxdWVzdGVkVVJMLkdldEJTVFIo
KSwgZ1ZpZXdXaW5kb3cpOwogICAgIGlmIChGQUlMRUQoaHIpIHx8ICFnVmlld1dpbmRvdykKICAg
ICAgICAgZ290byBleGl0OwogCi0gICAgaWYgKGdXaW5MYXVuY2hlci0+dXNlc0xheWVyZWRXZWJW
aWV3KCkpCisgICAgaWYgKGdNaW5pQnJvd3Nlci0+dXNlc0xheWVyZWRXZWJWaWV3KCkpCiAgICAg
ICAgIHN1YmNsYXNzRm9yTGF5ZXJlZFdpbmRvdygpOwogCiAgICAgcmVzaXplU3ViVmlld3MoKTsK
QEAgLTE2NSw3ICsxNjUsNyBAQCBpbnQgV0lOQVBJIHdXaW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJ
bnN0CiAgICAgU2hvd1dpbmRvdyhnVmlld1dpbmRvdywgbkNtZFNob3cpOwogICAgIFVwZGF0ZVdp
bmRvdyhnVmlld1dpbmRvdyk7CiAKLSAgICBoQWNjZWxUYWJsZSA9IExvYWRBY2NlbGVyYXRvcnMo
aEluc3QsIE1BS0VJTlRSRVNPVVJDRShJRENfV0lOTEFVTkNIRVIpKTsKKyAgICBoQWNjZWxUYWJs
ZSA9IExvYWRBY2NlbGVyYXRvcnMoaEluc3QsIE1BS0VJTlRSRVNPVVJDRShJRENfTUlOSUJST1dT
RVIpKTsKIAogICAgIGlmIChyZXF1ZXN0ZWRVUkwubGVuZ3RoKCkpCiAgICAgICAgIGxvYWRVUkwo
cmVxdWVzdGVkVVJMLkdldEJTVFIoKSk7CkBAIC0xOTMsNyArMTkzLDcgQEAgZXhpdDoKICAgICAv
LyBTaHV0IGRvd24gQ09NLgogICAgIE9sZVVuaW5pdGlhbGl6ZSgpOwogCi0gICAgZGVsZXRlIGdX
aW5MYXVuY2hlcjsKKyAgICBkZWxldGUgZ01pbmlCcm93c2VyOwogICAgIAogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KG1zZy53UGFyYW0pOwogfQpAQCAtMjA5LDEwICsyMDksMTAgQEAgQVRP
TSBNeVJlZ2lzdGVyQ2xhc3MoSElOU1RBTkNFIGhJbnN0YW5jZQogICAgIHdjZXguY2JDbHNFeHRy
YSAgICAgPSAwOwogICAgIHdjZXguY2JXbmRFeHRyYSAgICAgPSAwOwogICAgIHdjZXguaEluc3Rh
bmNlICAgICAgPSBoSW5zdGFuY2U7Ci0gICAgd2NleC5oSWNvbiAgICAgICAgICA9IExvYWRJY29u
KGhJbnN0YW5jZSwgTUFLRUlOVFJFU09VUkNFKElESV9XSU5MQVVOQ0hFUikpOworICAgIHdjZXgu
aEljb24gICAgICAgICAgPSBMb2FkSWNvbihoSW5zdGFuY2UsIE1BS0VJTlRSRVNPVVJDRShJRElf
TUlOSUJST1dTRVIpKTsKICAgICB3Y2V4LmhDdXJzb3IgICAgICAgID0gTG9hZEN1cnNvcigwLCBJ
RENfQVJST1cpOwogICAgIHdjZXguaGJyQmFja2dyb3VuZCAgPSAwOwotICAgIHdjZXgubHBzek1l
bnVOYW1lICAgPSBNQUtFSU5UUkVTT1VSQ0UoSURDX1dJTkxBVU5DSEVSKTsKKyAgICB3Y2V4Lmxw
c3pNZW51TmFtZSAgID0gTUFLRUlOVFJFU09VUkNFKElEQ19NSU5JQlJPV1NFUik7CiAgICAgd2Nl
eC5scHN6Q2xhc3NOYW1lICA9IHN6V2luZG93Q2xhc3M7CiAgICAgd2NleC5oSWNvblNtICAgICAg
ICA9IExvYWRJY29uKHdjZXguaEluc3RhbmNlLCBNQUtFSU5UUkVTT1VSQ0UoSURJX1NNQUxMKSk7
CiAKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL0FjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURlbGVnYXRlLmNwcAko
cmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvQWNjZXNzaWJpbGl0eURlbGVn
YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJzdGRhZnguaCIK
LSNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5RGVsZWdhdGUuaCIKLQotI2luY2x1ZGUgPFdlYktpdC9X
ZWJLaXRDT01BUEkuaD4KLSNpbmNsdWRlIDxjb21tY3RybC5oPgotI2luY2x1ZGUgPGNvbW1kbGcu
aD4KLSNpbmNsdWRlIDxvYmpiYXNlLmg+Ci0jaW5jbHVkZSA8c2hsd2FwaS5oPgotI2luY2x1ZGUg
PHN0ZGlvLmg+Ci0jaW5jbHVkZSA8d2luaW5ldC5oPgotCi1IUkVTVUxUIEFjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZTo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZv
aWQqKiBwcHZPYmplY3QpCi17Ci0gICAgaWYgKCFwcHZPYmplY3QpCi0gICAgICAgIHJldHVybiBF
X1BPSU5URVI7Ci0gICAgKnBwdk9iamVjdCA9IG51bGxwdHI7Ci0gICAgaWYgKElzRXF1YWxJSUQo
cmlpZCwgSUlEX0lVbmtub3duKSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElB
Y2Nlc3NpYmlsaXR5RGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0VxdWFsSUlEKHJp
aWQsIElJRF9JQWNjZXNzaWJpbGl0eURlbGVnYXRlKSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0
YXRpY19jYXN0PElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlCi0gICAg
ICAgIHJldHVybiBFX05PSU5URVJGQUNFOwotCi0gICAgQWRkUmVmKCk7Ci0gICAgcmV0dXJuIFNf
T0s7Ci19Ci0KLVVMT05HIEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZTo6QWRkUmVmKCkKLXsKLSAgICBy
ZXR1cm4gKyttX3JlZkNvdW50OwotfQotCi1VTE9ORyBBY2Nlc3NpYmlsaXR5RGVsZWdhdGU6OlJl
bGVhc2UoKQotewotICAgIFVMT05HIG5ld1JlZiA9IC0tbV9yZWZDb3VudDsKLSAgICBpZiAoIW5l
d1JlZikKLSAgICAgICAgZGVsZXRlIHRoaXM7Ci0KLSAgICByZXR1cm4gbmV3UmVmOwotfQotCi1I
UkVTVUxUIEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZTo6ZmlyZUZyYW1lTG9hZFN0YXJ0ZWRFdmVudHMo
KQotewotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIEFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZTo6ZmlyZUZyYW1lTG9hZEZpbmlzaGVkRXZlbnRzKCkKLXsKLSAgICByZXR1cm4gU19PSzsKLX0K
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL0FjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL0FjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5oCShyZXZpc2lv
biAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9BY2Nlc3NpYmlsaXR5RGVsZWdhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgQWNjZXNzaWJpbGl0eURlbGVnYXRl
X2gKLSNkZWZpbmUgQWNjZXNzaWJpbGl0eURlbGVnYXRlX2gKLQotI2luY2x1ZGUgPFdlYktpdC9X
ZWJLaXQuaD4KLQotY2xhc3MgQWNjZXNzaWJpbGl0eURlbGVnYXRlIDogcHVibGljIElBY2Nlc3Np
YmlsaXR5RGVsZWdhdGUgewotcHVibGljOgotICAgIEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSgpIHsg
fQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShf
SW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7Ci0gICAgdmly
dHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKLSAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIFJlbGVhc2UoKTsKLQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBmaXJlRnJhbWVMb2FkU3RhcnRlZEV2ZW50cygpOwotICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBmaXJlRnJhbWVMb2FkRmluaXNoZWRFdmVudHMoKTsK
LXByaXZhdGU6Ci0gICAgaW50IG1fcmVmQ291bnQgeyAxIH07Ci19OwotCi0jZW5kaWYKSW5kZXg6
IFRvb2xzL1dpbkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dp
bkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5M
YXVuY2hlci9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2NCArMCwwIEBACi1z
ZXQoV2luTGF1bmNoZXJfSU5DTFVERV9ESVJFQ1RPUklFUwotICAgIFdpbkxhdW5jaGVyLnZjeHBy
b2oKLSAgICAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKLSAgICAi
JHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9XZWJLaXQiCi0gICAgIiR7
REVSSVZFRF9TT1VSQ0VTX0RJUn0iCi0gICAgIiR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9
L0ludGVyZmFjZXMiCi0gICAgIiR7V1RGX0RJUn0iCi0gICAgIiR7Q01BS0VfU09VUkNFX0RJUn0i
Ci0gICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlIgotKQotCi1zZXQoV2luTGF1bmNoZXJf
U09VUkNFUwotICAgIEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAKLSAgICBET01EZWZhdWx0SW1w
bC5jcHAKLSAgICBQYWdlTG9hZFRlc3RDbGllbnQuY3BwCi0gICAgUHJpbnRXZWJVSURlbGVnYXRl
LmNwcAotICAgIFJlc291cmNlTG9hZERlbGVnYXRlLmNwcAotICAgIFdlYkRvd25sb2FkRGVsZWdh
dGUuY3BwCi0gICAgV2luTGF1bmNoZXIuY3BwCi0gICAgV2luTGF1bmNoZXJXZWJIb3N0LmNwcAot
ICAgIFdpbk1haW4uY3BwCi0gICAgc3RkYWZ4LmNwcAotCi0gICAgV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlckxpYi5yYwotKQotCi1zZXQoV2luTGF1bmNoZXJfTElCUkFSSUVTCi0gICAg
RGJnSGVscAotICAgIFdURgotICAgIFdlYktpdAotICAgIFdlYktpdEdVSUQKLSAgICBjb21jdGwz
MgotICAgIGNvbXN1cHAKLSAgICBjb21zdXBwdwotICAgIHNobHdhcGkKLSkKLQotaWYgKFdURl9Q
TEFURk9STV9XSU5fQ0FJUk8pCi0gICAgbGlzdChBUFBFTkQgV2luTGF1bmNoZXJfTElCUkFSSUVT
Ci0gICAgICAgIENGTGl0ZQotICAgICkKLWVsc2UgKCkKLSAgICBsaXN0KEFQUEVORCBXaW5MYXVu
Y2hlcl9MSUJSQVJJRVMKLSAgICAgICAgQ29yZUZvdW5kYXRpb24KLSAgICApCi1lbmRpZiAoKQot
Ci1zZXQoQ01BS0VfU0hBUkVEX0xJTktFUl9GTEFHUyAiJHtDTUFLRV9TSEFSRURfTElOS0VSX0ZM
QUdTfSAvTk9ERUZBVUxUTElCOk1TVkNSVCAvTk9ERUZBVUxUTElCOk1TVkNSVEQiKQotc2V0KENN
QUtFX0VYRV9MSU5LRVJfRkxBR1MgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU30gL0VOVFJZOndX
aW5NYWluQ1JUU3RhcnR1cCIpCi0KLWlmICgke1dURl9QTEFURk9STV9XSU5fQ0FJUk99KQotICAg
IGFkZF9kZWZpbml0aW9ucygtRFdJTl9DQUlSTykKLWVuZGlmICgpCi1hZGRfZGVmaW5pdGlvbnMo
LURfVU5JQ09ERSkKLWluY2x1ZGVfZGlyZWN0b3JpZXMoJHtXaW5MYXVuY2hlcl9JTkNMVURFX0RJ
UkVDVE9SSUVTfSkKLWFkZF9saWJyYXJ5KFdpbkxhdW5jaGVyTGliIFNIQVJFRCAke1dpbkxhdW5j
aGVyX1NPVVJDRVN9KQotdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFdpbkxhdW5jaGVyTGliICR7V2lu
TGF1bmNoZXJfTElCUkFSSUVTfSkKLXNldF90YXJnZXRfcHJvcGVydGllcyhXaW5MYXVuY2hlckxp
YiBQUk9QRVJUSUVTIEZPTERFUiAiVG9vbHMiKQotc2V0X3RhcmdldF9wcm9wZXJ0aWVzKFdpbkxh
dW5jaGVyTGliIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgIldpbkxhdW5jaGVyIikKLQotYWRkX2V4
ZWN1dGFibGUoV2luTGF1bmNoZXIgV0lOMzIgJHtUT09MU19ESVJ9L3dpbi9ETExMYXVuY2hlci9E
TExMYXVuY2hlck1haW4uY3BwIFdpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIucmMpCi10
YXJnZXRfbGlua19saWJyYXJpZXMoV2luTGF1bmNoZXIgc2hsd2FwaSkKLXNldF90YXJnZXRfcHJv
cGVydGllcyhXaW5MYXVuY2hlciBQUk9QRVJUSUVTIEZPTERFUiAiVG9vbHMiKQotc2V0X3Rhcmdl
dF9wcm9wZXJ0aWVzKFdpbkxhdW5jaGVyIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgIldpbkxhdW5j
aGVyIikKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMv
V2luTGF1bmNoZXIvQ29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4NTcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAxMy0yMDE1IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQnJlbnQgRnVs
Z2hhbS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAs
IDIwMTEgQXBwY2VsZXJhdG9yLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMgQWxleCBDaHJpc3RlbnNlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5RGVsZWdhdGUuaCIKLSNpbmNsdWRlICJET01EZWZhdWx0SW1wbC5oIgotI2luY2x1ZGUg
IlByaW50V2ViVUlEZWxlZ2F0ZS5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZERlbGVnYXRlLmgi
Ci0jaW5jbHVkZSAiV2ViRG93bmxvYWREZWxlZ2F0ZS5oIgotI2luY2x1ZGUgIldpbkxhdW5jaGVy
LmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXJSZXBsYWNlLmgiCi0jaW5jbHVkZSA8V2ViS2l0L1dl
YktpdENPTUFQSS5oPgotI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KLSNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLSNpZiBVU0UoQ0YpCi0jaW5jbHVkZSA8Q29yZUZvdW5k
YXRpb24vQ0ZSdW5Mb29wLmg+Ci0jaW5jbHVkZSA8V2ViS2l0L0NGRGljdGlvbmFyeVByb3BlcnR5
QmFnLmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPGNhc3NlcnQ+Ci0jaW5jbHVkZSA8Y29taXAuaD4K
LSNpbmNsdWRlIDxjb21tY3RybC5oPgotI2luY2x1ZGUgPGNvbW1kbGcuaD4KLSNpbmNsdWRlIDxj
b211dGlsLmg+Ci0jaW5jbHVkZSA8ZGJnaGVscC5oPgotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNs
dWRlIDxvYmpiYXNlLmg+Ci0jaW5jbHVkZSA8c2hlbGxhcGkuaD4KLSNpbmNsdWRlIDxzaGxvYmou
aD4KLSNpbmNsdWRlIDxzaGx3YXBpLmg+Ci0jaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHZl
Y3Rvcj4KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+Ci0KLSNkZWZpbmUgTUFYX0xPQURTVFJJTkcgMTAw
Ci0jZGVmaW5lIFVSTEJBUl9IRUlHSFQgIDI0Ci0jZGVmaW5lIENPTlRST0xCVVRUT05fV0lEVEgg
MjQKLQotc3RhdGljIGNvbnN0IGludCBtYXhIaXN0b3J5U2l6ZSA9IDEwOwotCi0jaWZuZGVmIFdN
X0RQSUNIQU5HRUQKLSNkZWZpbmUgV01fRFBJQ0hBTkdFRCAweDAyRTAKLSNlbmRpZgotCi10eXBl
ZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJGcmFtZSwgJl9fdXVpZG9mKElXZWJGcmFtZSk+
PiBJV2ViRnJhbWVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJNdXRhYmxl
VVJMUmVxdWVzdCwgJl9fdXVpZG9mKElXZWJNdXRhYmxlVVJMUmVxdWVzdCk+PiBJV2ViTXV0YWJs
ZVVSTFJlcXVlc3RQdHI7Ci0KLS8vIEdsb2JhbCBWYXJpYWJsZXM6Ci1ISU5TVEFOQ0UgaEluc3Q7
Ci1IV05EIGhNYWluV25kOwotSFdORCBoVVJMQmFyV25kOwotSEdESU9CSiBoVVJMRm9udDsKLUhX
TkQgaEJhY2tCdXR0b25XbmQ7Ci1IV05EIGhGb3J3YXJkQnV0dG9uV25kOwotSFdORCBoQ2FjaGVX
bmQ7Ci1XTkRQUk9DIERlZkVkaXRQcm9jID0gbnVsbHB0cjsKLVdORFBST0MgRGVmQnV0dG9uUHJv
YyA9IG51bGxwdHI7Ci1XTkRQUk9DIERlZldlYktpdFByb2MgPSBudWxscHRyOwotSFdORCBnVmll
d1dpbmRvdyA9IDA7Ci1XaW5MYXVuY2hlciogZ1dpbkxhdW5jaGVyID0gbnVsbHB0cjsKLVRDSEFS
IHN6VGl0bGVbTUFYX0xPQURTVFJJTkddOyAvLyBUaGUgdGl0bGUgYmFyIHRleHQKLVRDSEFSIHN6
V2luZG93Q2xhc3NbTUFYX0xPQURTVFJJTkddOyAvLyB0aGUgbWFpbiB3aW5kb3cgY2xhc3MgbmFt
ZQotCi0vLyBTdXBwb3J0IG1vdmluZyB0aGUgdHJhbnNwYXJlbnQgd2luZG93Ci1QT0lOVCBzX3dp
bmRvd1Bvc2l0aW9uID0geyAxMDAsIDEwMCB9OwotU0laRSBzX3dpbmRvd1NpemUgPSB7IDgwMCwg
NDAwIH07Ci0KLS8vIEZvcndhcmQgZGVjbGFyYXRpb25zIG9mIGZ1bmN0aW9ucyBpbmNsdWRlZCBp
biB0aGlzIGNvZGUgbW9kdWxlOgotQVRPTSBNeVJlZ2lzdGVyQ2xhc3MoSElOU1RBTkNFIGhJbnN0
YW5jZSk7Ci1MUkVTVUxUIENBTExCQUNLIFduZFByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBMUEFS
QU0pOwotSU5UX1BUUiBDQUxMQkFDSyBBYm91dChIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7
Ci1JTlRfUFRSIENBTExCQUNLIEN1c3RvbVVzZXJBZ2VudChIV05ELCBVSU5ULCBXUEFSQU0sIExQ
QVJBTSk7Ci1MUkVTVUxUIENBTExCQUNLIEVkaXRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBB
UkFNKTsKLUxSRVNVTFQgQ0FMTEJBQ0sgQmFja0J1dHRvblByb2MoSFdORCwgVUlOVCwgV1BBUkFN
LCBMUEFSQU0pOwotTFJFU1VMVCBDQUxMQkFDSyBGb3J3YXJkQnV0dG9uUHJvYyhIV05ELCBVSU5U
LCBXUEFSQU0sIExQQVJBTSk7Ci1MUkVTVUxUIENBTExCQUNLIFJlbG9hZEJ1dHRvblByb2MoSFdO
RCwgVUlOVCwgV1BBUkFNLCBMUEFSQU0pOwotSU5UX1BUUiBDQUxMQkFDSyBDYWNoZXMoSFdORCwg
VUlOVCwgV1BBUkFNLCBMUEFSQU0pOwotCi1zdGF0aWMgdm9pZCBsb2FkVVJMKEJTVFIgdXJsQlN0
cik7Ci1zdGF0aWMgdm9pZCB1cGRhdGVTdGF0aXN0aWNzKEhXTkQgaERsZyk7Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLWZsb2F0IGRldmljZVNjYWxlRmFjdG9yRm9yV2luZG93KEhXTkQpOwotfQot
Ci1zdGF0aWMgdm9pZCByZXNpemVTdWJWaWV3cygpCi17Ci0gICAgaWYgKGdXaW5MYXVuY2hlci0+
dXNlc0xheWVyZWRXZWJWaWV3KCkgfHwgIWdWaWV3V2luZG93KQotICAgICAgICByZXR1cm47Ci0K
LSAgICBmbG9hdCBzY2FsZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yRm9yV2lu
ZG93KGdWaWV3V2luZG93KTsKLQotICAgIFJFQ1QgcmNDbGllbnQ7Ci0gICAgR2V0Q2xpZW50UmVj
dChoTWFpblduZCwgJnJjQ2xpZW50KTsKLQotICAgIGludCBoZWlnaHQgPSBzY2FsZUZhY3RvciAq
IFVSTEJBUl9IRUlHSFQ7Ci0gICAgaW50IHdpZHRoID0gc2NhbGVGYWN0b3IgKiBDT05UUk9MQlVU
VE9OX1dJRFRIOwotCi0gICAgTW92ZVdpbmRvdyhoQmFja0J1dHRvblduZCwgMCwgMCwgd2lkdGgs
IGhlaWdodCwgVFJVRSk7Ci0gICAgTW92ZVdpbmRvdyhoRm9yd2FyZEJ1dHRvblduZCwgd2lkdGgs
IDAsIHdpZHRoLCBoZWlnaHQsIFRSVUUpOwotICAgIE1vdmVXaW5kb3coaFVSTEJhclduZCwgd2lk
dGggKiAyLCAwLCByY0NsaWVudC5yaWdodCwgaGVpZ2h0LCBUUlVFKTsKLSAgICBNb3ZlV2luZG93
KGdWaWV3V2luZG93LCAwLCBoZWlnaHQsIHJjQ2xpZW50LnJpZ2h0LCByY0NsaWVudC5ib3R0b20g
LSBoZWlnaHQsIFRSVUUpOwotCi0gICAgOjpTZW5kTWVzc2FnZShoVVJMQmFyV25kLCBzdGF0aWNf
Y2FzdDxVSU5UPihXTV9TRVRGT05UKSwgcmVpbnRlcnByZXRfY2FzdDxXUEFSQU0+KGdXaW5MYXVu
Y2hlci0+dXJsQmFyRm9udCgpKSwgVFJVRSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN1YmNsYXNzRm9y
TGF5ZXJlZFdpbmRvdygpCi17Ci0gICAgaE1haW5XbmQgPSBnVmlld1dpbmRvdzsKLSNpZiBkZWZp
bmVkIF9NX0FNRDY0IHx8IGRlZmluZWQgX1dJTjY0Ci0gICAgRGVmV2ViS2l0UHJvYyA9IHJlaW50
ZXJwcmV0X2Nhc3Q8V05EUFJPQz4oOjpHZXRXaW5kb3dMb25nUHRyKGhNYWluV25kLCBHV0xQX1dO
RFBST0MpKTsKLSAgICA6OlNldFdpbmRvd0xvbmdQdHIoaE1haW5XbmQsIEdXTFBfV05EUFJPQywg
cmVpbnRlcnByZXRfY2FzdDxMT05HX1BUUj4oV25kUHJvYykpOwotI2Vsc2UKLSAgICBEZWZXZWJL
aXRQcm9jID0gcmVpbnRlcnByZXRfY2FzdDxXTkRQUk9DPig6OkdldFdpbmRvd0xvbmcoaE1haW5X
bmQsIEdXTF9XTkRQUk9DKSk7Ci0gICAgOjpTZXRXaW5kb3dMb25nKGhNYWluV25kLCBHV0xfV05E
UFJPQywgcmVpbnRlcnByZXRfY2FzdDxMT05HX1BUUj4oV25kUHJvYykpOwotI2VuZGlmCi19Ci0K
LXN0YXRpYyB2b2lkIGNvbXB1dGVGdWxsRGVza3RvcEZyYW1lKCkKLXsKLSAgICBSRUNUIGRlc2t0
b3A7Ci0gICAgaWYgKCE6OlN5c3RlbVBhcmFtZXRlcnNJbmZvKFNQSV9HRVRXT1JLQVJFQSwgMCwg
c3RhdGljX2Nhc3Q8dm9pZCo+KCZkZXNrdG9wKSwgMCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGZsb2F0IHNjYWxlRmFjdG9yID0gV2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3co
bnVsbHB0cik7Ci0KLSAgICBzX3dpbmRvd1Bvc2l0aW9uLnggPSAwOwotICAgIHNfd2luZG93UG9z
aXRpb24ueSA9IDA7Ci0gICAgc193aW5kb3dTaXplLmN4ID0gc2NhbGVGYWN0b3IgKiAoZGVza3Rv
cC5yaWdodCAtIGRlc2t0b3AubGVmdCk7Ci0gICAgc193aW5kb3dTaXplLmN5ID0gc2NhbGVGYWN0
b3IgKiAoZGVza3RvcC5ib3R0b20gLSBkZXNrdG9wLnRvcCk7Ci19Ci0KLUJPT0wgV0lOQVBJIERs
bE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmNlLCBEV09SRCByZWFzb24sIExQVk9JRCkKLXsKLSAg
ICBpZiAocmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkgewotI2lmIGRlZmluZWQoX01fWDY0
KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0gICAgICAgIC8vIFRoZSBWUzIwMTMgcnVudGltZSBo
YXMgYSBidWcgd2hlcmUgaXQgbWlzLWRldGVjdHMgQVZYLWNhcGFibGUgcHJvY2Vzc29ycwotICAg
ICAgICAvLyBpZiB0aGUgZmVhdHVyZSBoYXMgYmVlbiBkaXNhYmxlZCBpbiBmaXJtd2FyZS4gVGhp
cyBjYXVzZXMgdXMgdG8gY3Jhc2gKLSAgICAgICAgLy8gaW4gc29tZSBvZiB0aGUgbWF0aCBmdW5j
dGlvbnMuIEZvciBub3csIHdlIGRpc2FibGUgdGhvc2Ugb3B0aW1pemF0aW9ucwotICAgICAgICAv
LyBiZWNhdXNlIE1pY3Jvc29mdCBpcyBub3QgZ29pbmcgdG8gZml4IHRoZSBwcm9ibGVtIGluIFZT
MjAxMy4KLSAgICAgICAgLy8gRklYTUU6IGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNDQ5OiBSZW1v
dmUgdGhpcyB3b3JrYXJvdW5kIHdoZW4gd2Ugc3dpdGNoIHRvIFZTMjAxNSsuCi0gICAgICAgIF9z
ZXRfRk1BM19lbmFibGUoMCk7Ci0jZW5kaWYKLSAgICAgICAgaEluc3QgPSBkbGxJbnN0YW5jZTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gVFJVRTsKLX0KLQotc3RhdGljIGJvb2wgZ2V0QXBwRGF0YUZv
bGRlcihfYnN0cl90JiBkaXJlY3RvcnkpCi17Ci0gICAgd2NoYXJfdCBhcHBEYXRhRGlyZWN0b3J5
W01BWF9QQVRIXTsKLSAgICBpZiAoRkFJTEVEKFNIR2V0Rm9sZGVyUGF0aFcoMCwgQ1NJRExfTE9D
QUxfQVBQREFUQSB8IENTSURMX0ZMQUdfQ1JFQVRFLCAwLCAwLCBhcHBEYXRhRGlyZWN0b3J5KSkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHdjaGFyX3QgZXhlY3V0YWJsZVBhdGhbTUFY
X1BBVEhdOwotICAgIGlmICghOjpHZXRNb2R1bGVGaWxlTmFtZVcoMCwgZXhlY3V0YWJsZVBhdGgs
IE1BWF9QQVRIKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgOjpQYXRoUmVtb3ZlRXh0
ZW5zaW9uVyhleGVjdXRhYmxlUGF0aCk7Ci0KLSAgICBkaXJlY3RvcnkgPSBfYnN0cl90KGFwcERh
dGFEaXJlY3RvcnkpICsgTCJcXCIgKyA6OlBhdGhGaW5kRmlsZU5hbWVXKGV4ZWN1dGFibGVQYXRo
KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMgYm9vbCBzZXRDYWNoZUZvbGRlcigp
Ci17Ci0gICAgSVdlYkNhY2hlUHRyIHdlYkNhY2hlID0gZ1dpbkxhdW5jaGVyLT53ZWJDYWNoZSgp
OwotICAgIGlmICghd2ViQ2FjaGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIF9ic3Ry
X3QgYXBwRGF0YUZvbGRlcjsKLSAgICBpZiAoIWdldEFwcERhdGFGb2xkZXIoYXBwRGF0YUZvbGRl
cikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGFwcERhdGFGb2xkZXIgKz0gTCJcXGNh
Y2hlIjsKLSAgICB3ZWJDYWNoZS0+c2V0Q2FjaGVGb2xkZXIoYXBwRGF0YUZvbGRlcik7Ci0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBjcmVhdGVDcmFzaFJlcG9ydChFWENFUFRJT05fUE9J
TlRFUlMqIGV4Y2VwdGlvblBvaW50ZXJzKQotewotICAgIF9ic3RyX3QgZGlyZWN0b3J5OwotCi0g
ICAgaWYgKCFnZXRBcHBEYXRhRm9sZGVyKGRpcmVjdG9yeSkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmICg6OlNIQ3JlYXRlRGlyZWN0b3J5RXgoMCwgZGlyZWN0b3J5LCAwKSAhPSBFUlJPUl9T
VUNDRVNTCi0gICAgICAgICYmIDo6R2V0TGFzdEVycm9yKCkgIT0gRVJST1JfRklMRV9FWElTVFMK
LSAgICAgICAgJiYgOjpHZXRMYXN0RXJyb3IoKSAhPSBFUlJPUl9BTFJFQURZX0VYSVNUUykKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgc3RkOjp3c3RyaW5nIGZpbGVOYW1lID0gc3RkOjp3c3RyaW5n
KHN0YXRpY19jYXN0PGNvbnN0IHdjaGFyX3QqPihkaXJlY3RvcnkpKSArIEwiXFxDcmFzaFJlcG9y
dC5kbXAiOwotICAgIEhBTkRMRSBtaW5pRHVtcEZpbGUgPSA6OkNyZWF0ZUZpbGUoZmlsZU5hbWUu
Y19zdHIoKSwgR0VORVJJQ19XUklURSwgMCwgMCwgQ1JFQVRFX0FMV0FZUywgRklMRV9BVFRSSUJV
VEVfTk9STUFMLCAwKTsKLQotICAgIGlmIChtaW5pRHVtcEZpbGUgJiYgbWluaUR1bXBGaWxlICE9
IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0KLSAgICAgICAgTUlOSURVTVBfRVhDRVBUSU9OX0lO
Rk9STUFUSU9OIG1kZWk7Ci0gICAgICAgIG1kZWkuVGhyZWFkSWQgPSA6OkdldEN1cnJlbnRUaHJl
YWRJZCgpOwotICAgICAgICBtZGVpLkV4Y2VwdGlvblBvaW50ZXJzICA9IGV4Y2VwdGlvblBvaW50
ZXJzOwotICAgICAgICBtZGVpLkNsaWVudFBvaW50ZXJzID0gMDsKLQotI2lmZGVmIF9ERUJVRwot
ICAgICAgICBNSU5JRFVNUF9UWVBFIGR1bXBUeXBlID0gTWluaUR1bXBXaXRoRnVsbE1lbW9yeTsK
LSNlbHNlCi0gICAgICAgIE1JTklEVU1QX1RZUEUgZHVtcFR5cGUgPSBNaW5pRHVtcE5vcm1hbDsK
LSNlbmRpZgotCi0gICAgICAgIDo6TWluaUR1bXBXcml0ZUR1bXAoOjpHZXRDdXJyZW50UHJvY2Vz
cygpLCA6OkdldEN1cnJlbnRQcm9jZXNzSWQoKSwgbWluaUR1bXBGaWxlLCBkdW1wVHlwZSwgJm1k
ZWksIDAsIDApOwotICAgICAgICA6OkNsb3NlSGFuZGxlKG1pbmlEdW1wRmlsZSk7Ci0gICAgICAg
IHByb2Nlc3NDcmFzaFJlcG9ydChmaWxlTmFtZS5jX3N0cigpKTsKLSAgICB9Ci19Ci0KLXN0YXRp
YyBCT09MIENBTExCQUNLIEFib3J0UHJvYyhIREMgaERDLCBpbnQgRXJyb3IpCi17Ci0gICAgTVNH
IG1zZzsKLSAgICB3aGlsZSAoOjpQZWVrTWVzc2FnZSgmbXNnLCAwLCAwLCAwLCBQTV9SRU1PVkUp
KSB7Ci0gICAgICAgIDo6VHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKLSAgICAgICAgOjpEaXNwYXRj
aE1lc3NhZ2UoJm1zZyk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFRSVUU7Ci19Ci0KLXN0YXRpYyBI
REMgZ2V0UHJpbnRlckRDKCkKLXsKLSAgICBQUklOVERMRyBwZGxnOwotICAgIG1lbXNldCgmcGRs
ZywgMCwgc2l6ZW9mKFBSSU5URExHKSk7Ci0gICAgcGRsZy5sU3RydWN0U2l6ZSA9IHNpemVvZihQ
UklOVERMRyk7Ci0gICAgcGRsZy5GbGFncyA9IFBEX1BSSU5UU0VUVVAgfCBQRF9SRVRVUk5EQzsK
LQotICAgIDo6UHJpbnREbGcoJnBkbGcpOwotCi0gICAgcmV0dXJuIHBkbGcuaERDOwotfQotCi1z
dGF0aWMgdm9pZCBpbml0RG9jU3RydWN0KERPQ0lORk8qIGRpLCBUQ0hBUiogZG9jbmFtZSkKLXsK
LSAgICBtZW1zZXQoZGksIDAsIHNpemVvZihET0NJTkZPKSk7Ci0gICAgZGktPmNiU2l6ZSA9IHNp
emVvZihET0NJTkZPKTsKLSAgICBkaS0+bHBzekRvY05hbWUgPSBkb2NuYW1lOwotfQotCi10eXBl
ZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJGcmFtZVByaXZhdGUsICZfX3V1aWRvZihJV2Vi
RnJhbWVQcml2YXRlKT4+IElXZWJGcmFtZVByaXZhdGVQdHI7Ci0KLXZvaWQgUHJpbnRWaWV3KEhX
TkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQotewot
ICAgIEhEQyBwcmludERDID0gZ2V0UHJpbnRlckRDKCk7Ci0gICAgaWYgKCFwcmludERDKSB7Ci0g
ICAgICAgIDo6TWVzc2FnZUJveFcoMCwgTCJFcnJvciBjcmVhdGluZyBwcmludGluZyBEQyIsIEwi
RXJyb3IiLCBNQl9BUFBMTU9EQUwgfCBNQl9PSyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBpZiAoOjpTZXRBYm9ydFByb2MocHJpbnREQywgQWJvcnRQcm9jKSA9PSBTUF9FUlJPUikg
ewotICAgICAgICA6Ok1lc3NhZ2VCb3hXKDAsIEwiRXJyb3Igc2V0dGluZyB1cCBBYm9ydFByb2Mi
LCBMIkVycm9yIiwgTUJfQVBQTE1PREFMIHwgTUJfT0spOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgSVdlYkZyYW1lUHRyIGZyYW1lID0gZ1dpbkxhdW5jaGVyLT5tYWluRnJhbWUoKTsK
LSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47Ci0KLSAgICBJV2ViRnJhbWVQcml2YXRl
UHRyIGZyYW1lUHJpdmF0ZTsKLSAgICBpZiAoRkFJTEVEKGZyYW1lLT5RdWVyeUludGVyZmFjZSgm
ZnJhbWVQcml2YXRlLkdldEludGVyZmFjZVB0cigpKSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGZyYW1lUHJpdmF0ZS0+c2V0SW5QcmludGluZ01vZGUoVFJVRSwgcHJpbnREQyk7Ci0KLSAgICBV
SU5UIHBhZ2VDb3VudCA9IDA7Ci0gICAgZnJhbWVQcml2YXRlLT5nZXRQcmludGVkUGFnZUNvdW50
KHByaW50REMsICZwYWdlQ291bnQpOwotCi0gICAgRE9DSU5GTyBkaTsKLSAgICBpbml0RG9jU3Ry
dWN0KCZkaSwgTCJXZWJLaXQgRG9jIik7Ci0gICAgOjpTdGFydERvYyhwcmludERDLCAmZGkpOwot
Ci0gICAgLy8gRklYTUU6IE5lZWQgQ29yZUdyYXBoaWNzIGltcGxlbWVudGF0aW9uCi0gICAgdm9p
ZCogZ3JhcGhpY3NDb250ZXh0ID0gMDsKLSAgICBmb3IgKHNpemVfdCBwYWdlID0gMTsgcGFnZSA8
PSBwYWdlQ291bnQ7ICsrcGFnZSkgewotICAgICAgICA6OlN0YXJ0UGFnZShwcmludERDKTsKLSAg
ICAgICAgZnJhbWVQcml2YXRlLT5zcG9vbFBhZ2VzKHByaW50REMsIHBhZ2UsIHBhZ2UsIGdyYXBo
aWNzQ29udGV4dCk7Ci0gICAgICAgIDo6RW5kUGFnZShwcmludERDKTsKLSAgICB9Ci0KLSAgICBm
cmFtZVByaXZhdGUtPnNldEluUHJpbnRpbmdNb2RlKEZBTFNFLCBwcmludERDKTsKLQotICAgIDo6
RW5kRG9jKHByaW50REMpOwotICAgIDo6RGVsZXRlREMocHJpbnREQyk7Ci19Ci0KLXN0YXRpYyB2
b2lkIFRvZ2dsZU1lbnVGbGFnKEhXTkQgaFduZCwgVUlOVCBtZW51SUQpCi17Ci0gICAgSE1FTlUg
bWVudSA9IDo6R2V0TWVudShoV25kKTsKLQotICAgIE1FTlVJVEVNSU5GTyBpbmZvOwotICAgIDo6
bWVtc2V0KCZpbmZvLCAweDAwLCBzaXplb2YoaW5mbykpOwotICAgIGluZm8uY2JTaXplID0gc2l6
ZW9mKGluZm8pOwotICAgIGluZm8uZk1hc2sgPSBNSUlNX1NUQVRFOwotCi0gICAgaWYgKCE6Okdl
dE1lbnVJdGVtSW5mbyhtZW51LCBtZW51SUQsIEZBTFNFLCAmaW5mbykpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIEJPT0wgbmV3U3RhdGUgPSAhKGluZm8uZlN0YXRlICYgTUZTX0NIRUNLRUQpOwot
ICAgIGluZm8uZlN0YXRlID0gKG5ld1N0YXRlKSA/IE1GU19DSEVDS0VEIDogTUZTX1VOQ0hFQ0tF
RDsKLQotICAgIDo6U2V0TWVudUl0ZW1JbmZvKG1lbnUsIG1lbnVJRCwgRkFMU0UsICZpbmZvKTsK
LX0KLQotc3RhdGljIGJvb2wgbWVudUl0ZW1Jc0NoZWNrZWQoY29uc3QgTUVOVUlURU1JTkZPJiBp
bmZvKQotewotICAgIHJldHVybiBpbmZvLmZTdGF0ZSAmIE1GU19DSEVDS0VEOwotfQotCi1zdGF0
aWMgdm9pZCB0dXJuT2ZmT3RoZXJVc2VyQWdlbnRzKEhNRU5VIG1lbnUpCi17Ci0gICAgTUVOVUlU
RU1JTkZPIGluZm87Ci0gICAgOjptZW1zZXQoJmluZm8sIDB4MDAsIHNpemVvZihpbmZvKSk7Ci0g
ICAgaW5mby5jYlNpemUgPSBzaXplb2YoaW5mbyk7Ci0gICAgaW5mby5mTWFzayA9IE1JSU1fU1RB
VEU7Ci0KLSAgICAvLyBNdXN0IHVuc2V0IHRoZSBvdGhlciBtZW51IGl0ZW1zOgotICAgIGZvciAo
VUlOVCBtZW51VG9DbGVhciA9IElETV9VQV9ERUZBVUxUOyBtZW51VG9DbGVhciA8PSBJRE1fVUFf
T1RIRVI7ICsrbWVudVRvQ2xlYXIpIHsKLSAgICAgICAgaWYgKCE6OkdldE1lbnVJdGVtSW5mbyht
ZW51LCBtZW51VG9DbGVhciwgRkFMU0UsICZpbmZvKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICBpZiAoIW1lbnVJdGVtSXNDaGVja2VkKGluZm8pKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgaW5mby5mU3RhdGUgPSBNRlNfVU5DSEVDS0VEOwotICAgICAgICA6OlNl
dE1lbnVJdGVtSW5mbyhtZW51LCBtZW51VG9DbGVhciwgRkFMU0UsICZpbmZvKTsKLSAgICB9Ci19
Ci0KLXN0YXRpYyBib29sIFRvZ2dsZU1lbnVJdGVtKEhXTkQgaFduZCwgVUlOVCBtZW51SUQpCi17
Ci0gICAgaWYgKCFnV2luTGF1bmNoZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEhN
RU5VIG1lbnUgPSA6OkdldE1lbnUoaFduZCk7Ci0KLSAgICBNRU5VSVRFTUlORk8gaW5mbzsKLSAg
ICA6Om1lbXNldCgmaW5mbywgMHgwMCwgc2l6ZW9mKGluZm8pKTsKLSAgICBpbmZvLmNiU2l6ZSA9
IHNpemVvZihpbmZvKTsKLSAgICBpbmZvLmZNYXNrID0gTUlJTV9TVEFURTsKLQotICAgIGlmICgh
OjpHZXRNZW51SXRlbUluZm8obWVudSwgbWVudUlELCBGQUxTRSwgJmluZm8pKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBCT09MIG5ld1N0YXRlID0gIW1lbnVJdGVtSXNDaGVja2VkKGlu
Zm8pOwotCi0gICAgaWYgKCFnV2luTGF1bmNoZXItPnN0YW5kYXJkUHJlZmVyZW5jZXMoKSB8fCAh
Z1dpbkxhdW5jaGVyLT5wcml2YXRlUHJlZmVyZW5jZXMoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgc3dpdGNoIChtZW51SUQpIHsKLSAgICBjYXNlIElETV9BVkZPVU5EQVRJT046Ci0g
ICAgICAgIGdXaW5MYXVuY2hlci0+c3RhbmRhcmRQcmVmZXJlbmNlcygpLT5zZXRBVkZvdW5kYXRp
b25FbmFibGVkKG5ld1N0YXRlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fQUNDX0NP
TVBPU0lUSU5HOgotICAgICAgICBnV2luTGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5z
ZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChuZXdTdGF0ZSk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgSURNX1dLX0ZVTExTQ1JFRU46Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJp
dmF0ZVByZWZlcmVuY2VzKCktPnNldEZ1bGxTY3JlZW5FbmFibGVkKG5ld1N0YXRlKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUzoKLSAgICAgICAgZ1dp
bkxhdW5jaGVyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0U2hvd0RlYnVnQm9yZGVycyhuZXdT
dGF0ZSk7Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2VzKCktPnNldFNo
b3dSZXBhaW50Q291bnRlcihuZXdTdGF0ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURN
X0lOVkVSVF9DT0xPUlM6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2Vz
KCktPnNldFNob3VsZEludmVydENvbG9ycyhuZXdTdGF0ZSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgSURNX0RJU0FCTEVfSU1BR0VTOgotICAgICAgICBnV2luTGF1bmNoZXItPnN0YW5kYXJk
UHJlZmVyZW5jZXMoKS0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCFuZXdTdGF0ZSk7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURNX0RJU0FCTEVfU1RZTEVTOgotICAgICAgICBnV2lu
TGF1bmNoZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5h
YmxlZCghbmV3U3RhdGUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElETV9ESVNBQkxFX0pB
VkFTQ1JJUFQ6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+c3RhbmRhcmRQcmVmZXJlbmNlcygpLT5z
ZXRKYXZhU2NyaXB0RW5hYmxlZCghbmV3U3RhdGUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05TOgotICAgICAgICBnV2luTGF1bmNo
ZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMcyhuZXdTdGF0ZSk7Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+cHJpdmF0ZVByZWZlcmVuY2Vz
KCktPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhuZXdTdGF0ZSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSURNX1VBX0RFRkFVTFQ6Ci0gICAgY2FzZSBJRE1fVUFfU0FGQVJJXzhf
MDoKLSAgICBjYXNlIElETV9VQV9TQUZBUklfSU9TXzhfSVBIT05FOgotICAgIGNhc2UgSURNX1VB
X1NBRkFSSV9JT1NfOF9JUEFEOgotICAgIGNhc2UgSURNX1VBX0lFXzExOgotICAgIGNhc2UgSURN
X1VBX0NIUk9NRV9NQUM6Ci0gICAgY2FzZSBJRE1fVUFfQ0hST01FX1dJTjoKLSAgICBjYXNlIElE
TV9VQV9GSVJFRk9YX01BQzoKLSAgICBjYXNlIElETV9VQV9GSVJFRk9YX1dJTjoKLSAgICAgICAg
Z1dpbkxhdW5jaGVyLT5zZXRVc2VyQWdlbnQobWVudUlEKTsKLSAgICAgICAgdHVybk9mZk90aGVy
VXNlckFnZW50cyhtZW51KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfT1RIRVI6
Ci0gICAgICAgIC8vIFRoZSBhY3R1YWwgdXNlciBhZ2VudCBzdHJpbmcgd2lsbCBiZSBzZXQgYnkg
dGhlIGN1c3RvbSB1c2VyIGFnZW50IGRpYWxvZwotICAgICAgICB0dXJuT2ZmT3RoZXJVc2VyQWdl
bnRzKG1lbnUpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotCi0gICAgaW5mby5mU3RhdGUgPSAobmV3U3RhdGUpID8gTUZTX0NIRUNL
RUQgOiBNRlNfVU5DSEVDS0VEOwotCi0gICAgOjpTZXRNZW51SXRlbUluZm8obWVudSwgbWVudUlE
LCBGQUxTRSwgJmluZm8pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBjb25zdCBp
bnQgZHJhZ0JhckhlaWdodCA9IDMwOwotCi1MUkVTVUxUIENBTExCQUNLIFduZFByb2MoSFdORCBo
V25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCi17Ci0gICAg
V05EUFJPQyBwYXJlbnRQcm9jID0gKGdXaW5MYXVuY2hlcikgPyAoZ1dpbkxhdW5jaGVyLT51c2Vz
TGF5ZXJlZFdlYlZpZXcoKSA/IERlZldlYktpdFByb2MgOiBEZWZXaW5kb3dQcm9jKSA6IERlZldp
bmRvd1Byb2M7Ci0KLSAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKLSAgICBjYXNlIFdNX05DSElUVEVT
VDoKLSAgICAgICAgaWYgKGdXaW5MYXVuY2hlciAmJiBnV2luTGF1bmNoZXItPnVzZXNMYXllcmVk
V2ViVmlldygpKSB7Ci0gICAgICAgICAgICBSRUNUIHdpbmRvdzsKLSAgICAgICAgICAgIDo6R2V0
V2luZG93UmVjdChoV25kLCAmd2luZG93KTsKLSAgICAgICAgICAgIC8vIEZvciB0ZXN0aW5nIG91
ciB0cmFuc3BhcmVudCB3aW5kb3csIHdlIG5lZWQgYSByZWdpb24gdG8gdXNlIGFzIGEgaGFuZGxl
IGZvcgotICAgICAgICAgICAgLy8gZHJhZ2dpbmcuIFRoZSByaWdodCB3YXkgdG8gZG8gdGhpcyB3
b3VsZCBiZSB0byBxdWVyeSB0aGUgd2ViIHZpZXcgdG8gc2VlIHdoYXQncwotICAgICAgICAgICAg
Ly8gdW5kZXIgdGhlIG1vdXNlLiBIb3dldmVyLCBmb3IgdGVzdGluZyBwdXJwb3NlcyB3ZSBqdXN0
IHVzZSBhbiBhcmJpdHJhcnkKLSAgICAgICAgICAgIC8vIDMwIGxvZ2ljYWwgcGl4ZWwgYmFuZCBh
dCB0aGUgdG9wIG9mIHRoZSB2aWV3IGFzIGFuIGFyYml0cmFyeSBncmlwcGluZyBsb2NhdGlvbi4K
LSAgICAgICAgICAgIC8vCi0gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSB3aXRoaW4gdGhpcyBi
YWQsIHJldHVybiBIVF9DQVBUSU9OIHRvIHRlbGwgV2luZG93cyB3ZSB3YW50IHRvCi0gICAgICAg
ICAgICAvLyB0cmVhdCB0aGlzIHJlZ2lvbiBhcyBpZiBpdCB3ZXJlIHRoZSB0aXRsZSBiYXIgb24g
YSBub3JtYWwgd2luZG93LgotICAgICAgICAgICAgaW50IHkgPSBISVdPUkQobFBhcmFtKTsKLSAg
ICAgICAgICAgIGZsb2F0IHNjYWxlZERyYWdCYXJIZWlnaHRGYWN0b3IgPSBkcmFnQmFySGVpZ2h0
ICogZ1dpbkxhdW5jaGVyLT5kZXZpY2VTY2FsZUZhY3RvcigpOwotICAgICAgICAgICAgaWYgKCh5
ID4gd2luZG93LnRvcCkgJiYgKHkgPCB3aW5kb3cudG9wICsgc2NhbGVkRHJhZ0JhckhlaWdodEZh
Y3RvcikpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEhUQ0FQVElPTjsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MocGFyZW50UHJvYywgaFduZCwgbWVzc2FnZSwgd1Bh
cmFtLCBsUGFyYW0pOwotICAgIGNhc2UgV01fQ09NTUFORDogewotICAgICAgICBpbnQgd21JZCA9
IExPV09SRCh3UGFyYW0pOwotICAgICAgICBpbnQgd21FdmVudCA9IEhJV09SRCh3UGFyYW0pOwot
ICAgICAgICBpZiAod21JZCA+PSBJRE1fSElTVE9SWV9MSU5LMCAmJiB3bUlkIDw9IElETV9ISVNU
T1JZX0xJTks5KSB7Ci0gICAgICAgICAgICBpZiAoZ1dpbkxhdW5jaGVyKQotICAgICAgICAgICAg
ICAgIGdXaW5MYXVuY2hlci0+bmF2aWdhdGVUb0hpc3RvcnkoaFduZCwgd21JZCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAvLyBQYXJzZSB0aGUgbWVudSBzZWxlY3Rp
b25zOgotICAgICAgICBzd2l0Y2ggKHdtSWQpIHsKLSAgICAgICAgY2FzZSBJRE1fQUJPVVQ6Ci0g
ICAgICAgICAgICBEaWFsb2dCb3goaEluc3QsIE1BS0VJTlRSRVNPVVJDRShJRERfQUJPVVRCT1gp
LCBoV25kLCBBYm91dCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBJRE1fRVhJ
VDoKLSAgICAgICAgICAgIERlc3Ryb3lXaW5kb3coaFduZCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBJRE1fUFJJTlQ6Ci0gICAgICAgICAgICBQcmludFZpZXcoaFduZCwgbWVz
c2FnZSwgd1BhcmFtLCBsUGFyYW0pOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
SURNX1dFQl9JTlNQRUNUT1I6Ci0gICAgICAgICAgICBpZiAoZ1dpbkxhdW5jaGVyKQotICAgICAg
ICAgICAgICAgIGdXaW5MYXVuY2hlci0+bGF1bmNoSW5zcGVjdG9yKCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBJRE1fQ0FDSEVTOgotICAgICAgICAgICAgaWYgKCE6OklzV2lu
ZG93KGhDYWNoZVduZCkpIHsKLSAgICAgICAgICAgICAgICBoQ2FjaGVXbmQgPSBDcmVhdGVEaWFs
b2coaEluc3QsIE1BS0VJTlRSRVNPVVJDRShJRERfQ0FDSEVTKSwgaFduZCwgQ2FjaGVzKTsKLSAg
ICAgICAgICAgICAgICA6OlNob3dXaW5kb3coaENhY2hlV25kLCBTV19TSE9XKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIElETV9ISVNUT1JZX0JBQ0tX
QVJEOgotICAgICAgICBjYXNlIElETV9ISVNUT1JZX0ZPUldBUkQ6Ci0gICAgICAgICAgICBpZiAo
Z1dpbkxhdW5jaGVyKQotICAgICAgICAgICAgICAgIGdXaW5MYXVuY2hlci0+bmF2aWdhdGVGb3J3
YXJkT3JCYWNrd2FyZChoV25kLCB3bUlkKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIElETV9VQV9PVEhFUjoKLSAgICAgICAgICAgIGlmICh3bUV2ZW50KQotICAgICAgICAgICAg
ICAgIFRvZ2dsZU1lbnVJdGVtKGhXbmQsIHdtSWQpOwotICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIERpYWxvZ0JveChoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElERF9VU0VSX0FHRU5U
KSwgaFduZCwgQ3VzdG9tVXNlckFnZW50KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIElETV9BQ1RVQUxfU0laRToKLSAgICAgICAgICAgIGlmIChnV2luTGF1bmNoZXIpCi0gICAg
ICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5yZXNldFpvb20oKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIElETV9aT09NX0lOOgotICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hl
cikKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnpvb21JbigpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgSURNX1pPT01fT1VUOgotICAgICAgICAgICAgaWYgKGdXaW5M
YXVuY2hlcikKLSAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPnpvb21PdXQoKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCFUb2dnbGVN
ZW51SXRlbShoV25kLCB3bUlkKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gQ2FsbFdpbmRvd1By
b2MocGFyZW50UHJvYywgaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwotICAgICAgICB9
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXTV9ERVNUUk9ZOgotI2lmIFVT
RShDRikKLSAgICAgICAgQ0ZSdW5Mb29wU3RvcChDRlJ1bkxvb3BHZXRNYWluKCkpOwotI2VuZGlm
Ci0gICAgICAgIFBvc3RRdWl0TWVzc2FnZSgwKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBX
TV9TSVpFOgotICAgICAgICBpZiAoIWdXaW5MYXVuY2hlciB8fCAhZ1dpbkxhdW5jaGVyLT5oYXNX
ZWJWaWV3KCkgfHwgZ1dpbkxhdW5jaGVyLT51c2VzTGF5ZXJlZFdlYlZpZXcoKSkKLSAgICAgICAg
ICAgIHJldHVybiBDYWxsV2luZG93UHJvYyhwYXJlbnRQcm9jLCBoV25kLCBtZXNzYWdlLCB3UGFy
YW0sIGxQYXJhbSk7Ci0KLSAgICAgICAgcmVzaXplU3ViVmlld3MoKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBXTV9EUElDSEFOR0VEOgotICAgICAgICBpZiAoZ1dpbkxhdW5jaGVyKQotICAg
ICAgICAgICAgZ1dpbkxhdW5jaGVyLT51cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpOwotICAgICAg
ICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MocGFyZW50UHJvYywgaFduZCwgbWVzc2FnZSwgd1BhcmFt
LCBsUGFyYW0pOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBDYWxsV2luZG93UHJvYyhw
YXJlbnRQcm9jLCBoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSk7Ci0gICAgfQotCi0gICAg
cmV0dXJuIDA7Ci19Ci0KLUxSRVNVTFQgQ0FMTEJBQ0sgRWRpdFByb2MoSFdORCBoRGxnLCBVSU5U
IG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCi17Ci0gICAgc3dpdGNoICht
ZXNzYWdlKSB7Ci0gICAgY2FzZSBXTV9DSEFSOgotICAgICAgICBpZiAod1BhcmFtID09IDEzKSB7
IC8vIEVudGVyIEtleQotICAgICAgICAgICAgd2NoYXJfdCBzdHJQdHJbSU5URVJORVRfTUFYX1VS
TF9MRU5HVEhdOwotICAgICAgICAgICAgKigoTFBXT1JEKXN0clB0cikgPSBJTlRFUk5FVF9NQVhf
VVJMX0xFTkdUSDsgCi0gICAgICAgICAgICBpbnQgc3RyTGVuID0gU2VuZE1lc3NhZ2UoaERsZywg
RU1fR0VUTElORSwgMCwgKExQQVJBTSlzdHJQdHIpOwotCi0gICAgICAgICAgICBzdHJQdHJbc3Ry
TGVuXSA9IDA7Ci0gICAgICAgICAgICBfYnN0cl90IGJzdHIoc3RyUHRyKTsKLSAgICAgICAgICAg
IGxvYWRVUkwoYnN0ci5HZXRCU1RSKCkpOwotCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAg
ICAgfSAKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gQ2FsbFdpbmRvd1Byb2MoRGVmRWRp
dFByb2MsIGhEbGcsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKLSAgICB9Ci19Ci0KLUxSRVNV
TFQgQ0FMTEJBQ0sgQmFja0J1dHRvblByb2MoSFdORCBoRGxnLCBVSU5UIG1lc3NhZ2UsIFdQQVJB
TSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCi17Ci0gICAgc3dpdGNoIChtZXNzYWdlKSB7Ci0gICAg
Y2FzZSBXTV9MQlVUVE9OVVA6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+Z29CYWNrKCk7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIENhbGxXaW5kb3dQcm9jKERlZkJ1dHRvblByb2MsIGhE
bGcsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKLSAgICB9Ci19Ci0KLUxSRVNVTFQgQ0FMTEJB
Q0sgRm9yd2FyZEJ1dHRvblByb2MoSFdORCBoRGxnLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFy
YW0sIExQQVJBTSBsUGFyYW0pCi17Ci0gICAgc3dpdGNoIChtZXNzYWdlKSB7Ci0gICAgY2FzZSBX
TV9MQlVUVE9OVVA6Ci0gICAgICAgIGdXaW5MYXVuY2hlci0+Z29Gb3J3YXJkKCk7Ci0gICAgZGVm
YXVsdDoKLSAgICAgICAgcmV0dXJuIENhbGxXaW5kb3dQcm9jKERlZkJ1dHRvblByb2MsIGhEbGcs
IG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKLSAgICB9Ci19Ci0KLS8vIE1lc3NhZ2UgaGFuZGxl
ciBmb3IgYWJvdXQgYm94LgotSU5UX1BUUiBDQUxMQkFDSyBBYm91dChIV05EIGhEbGcsIFVJTlQg
bWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKGxQYXJhbSk7Ci0gICAgc3dpdGNoIChtZXNzYWdlKSB7Ci0gICAgY2FzZSBX
TV9JTklURElBTE9HOgotICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKLQotICAgIGNhc2Ug
V01fQ09NTUFORDoKLSAgICAgICAgaWYgKExPV09SRCh3UGFyYW0pID09IElET0sgfHwgTE9XT1JE
KHdQYXJhbSkgPT0gSURDQU5DRUwpIHsKLSAgICAgICAgICAgIEVuZERpYWxvZyhoRGxnLCBMT1dP
UkQod1BhcmFtKSk7Ci0gICAgICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKLSAgICAgICAg
fQotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJuIChJTlRfUFRSKUZBTFNFOwotfQot
Ci1JTlRfUFRSIENBTExCQUNLIENhY2hlcyhIV05EIGhEbGcsIFVJTlQgbWVzc2FnZSwgV1BBUkFN
IHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKGxQ
YXJhbSk7Ci0gICAgc3dpdGNoIChtZXNzYWdlKSB7Ci0gICAgY2FzZSBXTV9JTklURElBTE9HOgot
ICAgICAgICA6OlNldFRpbWVyKGhEbGcsIElEVF9VUERBVEVfU1RBVFMsIDEwMDAsIG51bGxwdHIp
OwotICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKLQotICAgIGNhc2UgV01fQ09NTUFORDoK
LSAgICAgICAgaWYgKExPV09SRCh3UGFyYW0pID09IElET0sgfHwgTE9XT1JEKHdQYXJhbSkgPT0g
SURDQU5DRUwpIHsKLSAgICAgICAgICAgIDo6S2lsbFRpbWVyKGhEbGcsIElEVF9VUERBVEVfU1RB
VFMpOwotICAgICAgICAgICAgOjpEZXN0cm95V2luZG93KGhEbGcpOwotICAgICAgICAgICAgaENh
Y2hlV25kID0gMDsKLSAgICAgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOwotICAgICAgICB9
Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBJRFRfVVBEQVRFX1NUQVRTOgotICAgICAgICA6
OkludmFsaWRhdGVSZWN0KGhEbGcsIG51bGxwdHIsIEZBTFNFKTsKLSAgICAgICAgcmV0dXJuIChJ
TlRfUFRSKVRSVUU7Ci0KLSAgICBjYXNlIFdNX1BBSU5UOgotICAgICAgICB1cGRhdGVTdGF0aXN0
aWNzKGhEbGcpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gKElOVF9QVFIp
RkFMU0U7Ci19Ci0KLUlOVF9QVFIgQ0FMTEJBQ0sgQ3VzdG9tVXNlckFnZW50KEhXTkQgaERsZywg
VUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQotewotICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIobFBhcmFtKTsKLSAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKLSAgICBj
YXNlIFdNX0lOSVRESUFMT0c6IHsKLSAgICAgICAgSFdORCBlZGl0ID0gOjpHZXREbGdJdGVtKGhE
bGcsIElEQ19VU0VSX0FHRU5UX0lOUFVUKTsKLSAgICAgICAgX2JzdHJfdCB1c2VyQWdlbnQ7Ci0g
ICAgICAgIGlmIChnV2luTGF1bmNoZXIpCi0gICAgICAgICAgICB1c2VyQWdlbnQgPSBnV2luTGF1
bmNoZXItPnVzZXJBZ2VudCgpOwotCi0gICAgICAgIDo6U2V0V2luZG93VGV4dChlZGl0LCBzdGF0
aWNfY2FzdDxMUENUU1RSPih1c2VyQWdlbnQpKTsKLSAgICAgICAgcmV0dXJuIChJTlRfUFRSKVRS
VUU7Ci0gICAgfQotCi0gICAgY2FzZSBXTV9DT01NQU5EOgotICAgICAgICBpZiAoTE9XT1JEKHdQ
YXJhbSkgPT0gSURPSykgewotICAgICAgICAgICAgSFdORCBlZGl0ID0gOjpHZXREbGdJdGVtKGhE
bGcsIElEQ19VU0VSX0FHRU5UX0lOUFVUKTsKLQotICAgICAgICAgICAgVENIQVIgYnVmZmVyWzEw
MjRdOwotICAgICAgICAgICAgaW50IHN0ckxlbiA9IDo6R2V0V2luZG93VGV4dChlZGl0LCBidWZm
ZXIsIDEwMjQpOwotICAgICAgICAgICAgYnVmZmVyW3N0ckxlbl0gPSAwOwotCi0gICAgICAgICAg
ICBfYnN0cl90IGJzdHIoYnVmZmVyKTsKLSAgICAgICAgICAgIGlmIChic3RyLmxlbmd0aCgpKSB7
Ci0gICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5zZXRVc2VyQWdlbnQoYnN0cik7Ci0gICAg
ICAgICAgICAgICAgOjpQb3N0TWVzc2FnZShoTWFpblduZCwgc3RhdGljX2Nhc3Q8VUlOVD4oV01f
Q09NTUFORCksIE1BS0VMUEFSQU0oSURNX1VBX09USEVSLCAxKSwgMCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoTE9XT1JEKHdQYXJhbSkgPT0gSURPSyB8fCBMT1dP
UkQod1BhcmFtKSA9PSBJRENBTkNFTCkgewotICAgICAgICAgICAgOjpFbmREaWFsb2coaERsZywg
TE9XT1JEKHdQYXJhbSkpOwotICAgICAgICAgICAgcmV0dXJuIChJTlRfUFRSKVRSVUU7Ci0gICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHJldHVybiAoSU5UX1BUUilGQUxTRTsK
LX0KLQotc3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHBhc3NlZFVSTCkKLXsKLSAgICBpZiAoRkFJ
TEVEKGdXaW5MYXVuY2hlci0+bG9hZFVSTChwYXNzZWRVUkwpKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgU2V0Rm9jdXMoZ1ZpZXdXaW5kb3cpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRXaW5kb3dU
ZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBfYnN0cl90IHZhbHVlKQotewotICAgIDo6U2V0
RGxnSXRlbVRleHQoZGlhbG9nLCBmaWVsZCwgdmFsdWUpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRX
aW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBVSU5UIHZhbHVlKQotewotICAgIFN0
cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUpOwotCi0gICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5kYXRhKCkpKTsK
LX0KLQotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJUHJvcGVydHlCYWcsICZfX3V1aWRv
ZihJUHJvcGVydHlCYWcpPj4gSVByb3BlcnR5QmFnUHRyOwotCi1zdGF0aWMgdm9pZCBzZXRXaW5k
b3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBJUHJvcGVydHlCYWdQdHIgc3RhdGlzdGlj
cywgY29uc3QgX2JzdHJfdCYga2V5KQotewotICAgIF92YXJpYW50X3QgdmFyOwotICAgIFZfVlQo
JnZhcikgPSBWVF9VSTg7Ci0gICAgaWYgKEZBSUxFRChzdGF0aXN0aWNzLT5SZWFkKGtleSwgJnZh
ci5HZXRWQVJJQU5UKCksIG51bGxwdHIpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdW5zaWdu
ZWQgbG9uZyBsb25nIHZhbHVlID0gVl9VSTgoJnZhcik7Ci0gICAgU3RyaW5nIHZhbHVlU3RyID0g
V1RGOjpTdHJpbmc6Om51bWJlcih2YWx1ZSk7Ci0KLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
ZmllbGQsIF9ic3RyX3QodmFsdWVTdHIudXRmOCgpLmRhdGEoKSkpOwotfQotCi1zdGF0aWMgdm9p
ZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBDRkRpY3Rpb25hcnlSZWYg
ZGljdGlvbmFyeSwgQ0ZTdHJpbmdSZWYga2V5LCBVSU5UJiB0b3RhbCkKLXsKLSAgICBDRk51bWJl
clJlZiBjb3VudE51bSA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRW
YWx1ZShkaWN0aW9uYXJ5LCBrZXkpKTsKLSAgICBpZiAoIWNvdW50TnVtKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpbnQgY291bnQgPSAwOwotICAgIENGTnVtYmVyR2V0VmFsdWUoY291bnROdW0s
IGtDRk51bWJlckludFR5cGUsICZjb3VudCk7Ci0KLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
ZmllbGQsIHN0YXRpY19jYXN0PFVJTlQ+KGNvdW50KSk7Ci0gICAgdG90YWwgKz0gY291bnQ7Ci19
Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZVN0YXRpc3RpY3MoSFdORCBkaWFsb2cpCi17Ci0gICAgaWYg
KCFnV2luTGF1bmNoZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIElXZWJDb3JlU3RhdGlzdGlj
c1B0ciB3ZWJDb3JlU3RhdGlzdGljcyA9IGdXaW5MYXVuY2hlci0+c3RhdGlzdGljcygpOwotICAg
IGlmICghd2ViQ29yZVN0YXRpc3RpY3MpCi0gICAgICAgIHJldHVybjsKLQotICAgIElQcm9wZXJ0
eUJhZ1B0ciBzdGF0aXN0aWNzOwotICAgIEhSRVNVTFQgaHIgPSB3ZWJDb3JlU3RhdGlzdGljcy0+
bWVtb3J5U3RhdGlzdGljcygmc3RhdGlzdGljcy5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYg
KEZBSUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEZhc3RNYWxsb2MuCi0gICAg
c2V0V2luZG93VGV4dChkaWFsb2csIElEQ19SRVNFUlZFRF9WTSwgc3RhdGlzdGljcywgIkZhc3RN
YWxsb2NSZXNlcnZlZFZNQnl0ZXMiKTsKLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NP
TU1JVFRFRF9WTSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NDb21taXR0ZWRWTUJ5dGVzIik7Ci0g
ICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19GUkVFX0xJU1RfQllURVMsIHN0YXRpc3RpY3Ms
ICJGYXN0TWFsbG9jRnJlZUxpc3RCeXRlcyIpOwotCi0gICAgLy8gV2ViQ29yZSBDYWNoZS4KLSNp
ZiBVU0UoQ0YpCi0gICAgSVdlYkNhY2hlUHRyIHdlYkNhY2hlID0gZ1dpbkxhdW5jaGVyLT53ZWJD
YWNoZSgpOwotCi0gICAgaW50IGRpY3RDb3VudCA9IDY7Ci0gICAgSVByb3BlcnR5QmFnKiBjYWNo
ZURpY3RbNl0gPSB7IDAgfTsKLSAgICBpZiAoRkFJTEVEKHdlYkNhY2hlLT5zdGF0aXN0aWNzKCZk
aWN0Q291bnQsIGNhY2hlRGljdCkpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDT01QdHI8Q0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWc+IGNvdW50cywgc2l6ZXMsIGxpdmVTaXplcywgZGVjb2RlZFNp
emVzLCBwdXJnYWJsZVNpemVzOwotICAgIGNvdW50cy5hZG9wdFJlZihyZWludGVycHJldF9jYXN0
PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzBdKSk7Ci0gICAgc2l6ZXMuYWRv
cHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+KGNhY2hlRGlj
dFsxXSkpOwotICAgIGxpdmVTaXplcy5hZG9wdFJlZihyZWludGVycHJldF9jYXN0PENGRGljdGlv
bmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzJdKSk7Ci0gICAgZGVjb2RlZFNpemVzLmFkb3B0
UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3Rb
M10pKTsKLSAgICBwdXJnYWJsZVNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0
aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbNF0pKTsKLQotICAgIHN0YXRpYyBDRlN0cmlu
Z1JlZiBpbWFnZXNLZXkgPSBDRlNUUigiaW1hZ2VzIik7Ci0gICAgc3RhdGljIENGU3RyaW5nUmVm
IHN0eWxlc2hlZXRzS2V5ID0gQ0ZTVFIoInN0eWxlIHNoZWV0cyIpOwotICAgIHN0YXRpYyBDRlN0
cmluZ1JlZiB4c2xLZXkgPSBDRlNUUigieHNsIik7Ci0gICAgc3RhdGljIENGU3RyaW5nUmVmIHNj
cmlwdHNLZXkgPSBDRlNUUigic2NyaXB0cyIpOwotCi0gICAgaWYgKGNvdW50cykgewotICAgICAg
ICBVSU5UIHRvdGFsT2JqZWN0cyA9IDA7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJ
RENfSU1BR0VTX09CSkVDVF9DT1VOVCwgY291bnRzLT5kaWN0aW9uYXJ5KCksIGltYWdlc0tleSwg
dG90YWxPYmplY3RzKTsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfT0JK
RUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgc3R5bGVzaGVldHNLZXksIHRvdGFsT2Jq
ZWN0cyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX09CSkVDVF9DT1VO
VCwgY291bnRzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxPYmplY3RzKTsKLSAgICAgICAg
c2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rp
b25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxPYmplY3RzKTsKLSAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQsIHRvdGFsT2JqZWN0cyk7Ci0gICAgfQot
Ci0gICAgaWYgKHNpemVzKSB7Ci0gICAgICAgIFVJTlQgdG90YWxCeXRlcyA9IDA7Ci0gICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0JZVEVTLCBzaXplcy0+ZGljdGlvbmFy
eSgpLCBpbWFnZXNLZXksIHRvdGFsQnl0ZXMpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxv
ZywgSURDX0NTU19CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnkoKSwgc3R5bGVzaGVldHNLZXksIHRv
dGFsQnl0ZXMpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1hTTF9CWVRFUywg
c2l6ZXMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbEJ5dGVzKTsKLSAgICAgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19KU0NfQllURVMsIHNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlw
dHNLZXksIHRvdGFsQnl0ZXMpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RP
VEFMX0JZVEVTLCB0b3RhbEJ5dGVzKTsKLSAgICB9Ci0KLSAgICBpZiAobGl2ZVNpemVzKSB7Ci0g
ICAgICAgIFVJTlQgdG90YWxMaXZlQnl0ZXMgPSAwOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0lNQUdFU19MSVZFX0NPVU5ULCBsaXZlU2l6ZXMtPmRpY3Rpb25hcnkoKSwgaW1h
Z2VzS2V5LCB0b3RhbExpdmVCeXRlcyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJ
RENfQ1NTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tl
eSwgdG90YWxMaXZlQnl0ZXMpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1hT
TF9MSVZFX0NPVU5ULCBsaXZlU2l6ZXMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbExpdmVC
eXRlcyk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX0xJVkVfQ09VTlQs
IGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbExpdmVCeXRlcyk7Ci0g
ICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfTElWRV9DT1VOVCwgdG90YWxM
aXZlQnl0ZXMpOwotICAgIH0KLQotICAgIGlmIChkZWNvZGVkU2l6ZXMpIHsKLSAgICAgICAgVUlO
VCB0b3RhbERlY29kZWQgPSAwOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0lN
QUdFU19ERUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5
LCB0b3RhbERlY29kZWQpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NTU19E
RUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRpY3Rpb25hcnkoKSwgc3R5bGVzaGVldHNLZXks
IHRvdGFsRGVjb2RlZCk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX0RF
Q09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsRGVj
b2RlZCk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX0RFQ09ERURfQ09V
TlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbERlY29kZWQp
OwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0RFQ09ERUQsIHRvdGFs
RGVjb2RlZCk7Ci0gICAgfQotCi0gICAgaWYgKHB1cmdhYmxlU2l6ZXMpIHsKLSAgICAgICAgVUlO
VCB0b3RhbFB1cmdhYmxlID0gMDsKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19J
TUFHRVNfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5KCksIGltYWdl
c0tleSwgdG90YWxQdXJnYWJsZSk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
Q1NTX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNo
ZWV0c0tleSwgdG90YWxQdXJnYWJsZSk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJ
RENfWFNMX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xL
ZXksIHRvdGFsUHVyZ2FibGUpOwotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pT
Q19QVVJHRUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tl
eSwgdG90YWxQdXJnYWJsZSk7Ci0gICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9U
QUxfUFVSR0VBQkxFLCB0b3RhbFB1cmdhYmxlKTsKLSAgICB9Ci0jZW5kaWYKLQotICAgIC8vIEph
dmFTY3JpcHQgSGVhcC4KLSAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pTQ19IRUFQX1NJ
WkUsIHN0YXRpc3RpY3MsICJKYXZhU2NyaXB0SGVhcFNpemUiKTsKLSAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX0pTQ19IRUFQX0ZSRUUsIHN0YXRpc3RpY3MsICJKYXZhU2NyaXB0RnJlZVNp
emUiKTsKLQotICAgIFVJTlQgY291bnQ7Ci0gICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlz
dGljcy0+amF2YVNjcmlwdE9iamVjdHNDb3VudCgmY291bnQpKSkKLSAgICAgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7Ci0gICAgaWYg
KFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+amF2YVNjcmlwdEdsb2JhbE9iamVjdHNDb3Vu
dCgmY291bnQpKSkKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19HTE9CQUxfSlND
X0hFQVBfT0JKRUNUUywgY291bnQpOwotICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3Rp
Y3MtPmphdmFTY3JpcHRQcm90ZWN0ZWRPYmplY3RzQ291bnQoJmNvdW50KSkpCi0gICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUFJPVEVDVEVEX0pTQ19IRUFQX09CSkVDVFMsIGNvdW50
KTsKLQotICAgIC8vIEZvbnQgYW5kIEdseXBoIENhY2hlcy4KLSAgICBpZiAoU1VDQ0VFREVEKHdl
YkNvcmVTdGF0aXN0aWNzLT5jYWNoZWRGb250RGF0YUNvdW50KCZjb3VudCkpKQotICAgICAgICBz
ZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUywgY291bnQpOwotICAg
IGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmNhY2hlZEZvbnREYXRhSW5hY3RpdmVD
b3VudCgmY291bnQpKSkKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTkFDVElW
RV9GT05UX09CSkVDVFMsIGNvdW50KTsKLSAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0
aWNzLT5nbHlwaFBhZ2VDb3VudCgmY291bnQpKSkKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFs
b2csIElEQ19HTFlQSF9QQUdFUywgY291bnQpOwotCi0gICAgLy8gU2l0ZSBJY29uIERhdGFiYXNl
LgotICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmljb25QYWdlVVJMTWFwcGlu
Z0NvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1BBR0Vf
VVJMX01BUFBJTkdTLCBjb3VudCk7Ci0gICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGlj
cy0+aWNvblJldGFpbmVkUGFnZVVSTENvdW50KCZjb3VudCkpKQotICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX1JFVEFJTkVEX1BBR0VfVVJMUywgY291bnQpOwotICAgIGlmIChTVUND
RUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmljb25SZWNvcmRDb3VudCgmY291bnQpKSkKLSAgICAg
ICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19TSVRFX0lDT05fUkVDT1JEUywgY291bnQpOwot
ICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmljb25zV2l0aERhdGFDb3VudCgm
Y291bnQpKSkKLSAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19TSVRFX0lDT05TX1dJ
VEhfREFUQSwgY291bnQpOwotfQotCi1zdGF0aWMgdm9pZCBwYXJzZUNvbW1hbmRMaW5lKGJvb2wm
IHVzZXNMYXllcmVkV2ViVmlldywgYm9vbCYgdXNlRnVsbERlc2t0b3AsIGJvb2wmIHBhZ2VMb2Fk
VGVzdGluZywgX2JzdHJfdCYgcmVxdWVzdGVkVVJMKQotewotICAgIHVzZXNMYXllcmVkV2ViVmll
dyA9IGZhbHNlOwotICAgIHVzZUZ1bGxEZXNrdG9wID0gZmFsc2U7Ci0gICAgcGFnZUxvYWRUZXN0
aW5nID0gZmFsc2U7Ci0KLSAgICBpbnQgYXJnYyA9IDA7Ci0gICAgV0NIQVIqKiBhcmd2ID0gQ29t
bWFuZExpbmVUb0FyZ3ZXKEdldENvbW1hbmRMaW5lVygpLCAmYXJnYyk7Ci0gICAgZm9yIChpbnQg
aSA9IDE7IGkgPCBhcmdjOyArK2kpIHsKLSAgICAgICAgaWYgKCF3Y3NpY21wKGFyZ3ZbaV0sIEwi
LS10cmFuc3BhcmVudCIpKQotICAgICAgICAgICAgdXNlc0xheWVyZWRXZWJWaWV3ID0gdHJ1ZTsK
LSAgICAgICAgZWxzZSBpZiAoIXdjc2ljbXAoYXJndltpXSwgTCItLWRlc2t0b3AiKSkKLSAgICAg
ICAgICAgIHVzZUZ1bGxEZXNrdG9wID0gdHJ1ZTsKLSAgICAgICAgZWxzZSBpZiAoIXJlcXVlc3Rl
ZFVSTCkKLSAgICAgICAgICAgIHJlcXVlc3RlZFVSTCA9IGFyZ3ZbaV07Ci0gICAgICAgIGVsc2Ug
aWYgKCF3Y3NpY21wKGFyZ3ZbaV0sIEwiLS1wZXJmb3JtYW5jZSIpKQotICAgICAgICAgICAgcGFn
ZUxvYWRUZXN0aW5nID0gdHJ1ZTsKLSAgICB9Ci19Ci0KLWV4dGVybiAiQyIgX19kZWNsc3BlYyhk
bGxleHBvcnQpIGludCBXSU5BUEkgZGxsTGF1bmNoZXJFbnRyeVBvaW50KEhJTlNUQU5DRSBoSW5z
dGFuY2UsIEhJTlNUQU5DRSBoUHJldkluc3RhbmNlLCBMUFdTVFIgbHBzdHJDbWRMaW5lLCBpbnQg
bkNtZFNob3cpCi17Ci0gICAgcmV0dXJuIHdXaW5NYWluKGhJbnN0YW5jZSwgaFByZXZJbnN0YW5j
ZSwgbHBzdHJDbWRMaW5lLCBuQ21kU2hvdyk7Ci19CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9E
T01EZWZhdWx0SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvRE9NRGVm
YXVsdEltcGwuY3BwCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9ET01E
ZWZhdWx0SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsOTkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNC0yMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAxMSBBbnRob255IEpvaG5zb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQnJlbnQgRnVsZ2hhbS4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRl
ICJzdGRhZnguaCIKLSNpbmNsdWRlICJET01EZWZhdWx0SW1wbC5oIgotCi0vLyBJVW5rbm93biAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi1IUkVTVUxUIFdlYlNjcmlwdE9iamVjdDo6UXVlcnlJbnRlcmZhY2UoX0luXyBS
RUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCi17Ci0gICAgaWYgKCFw
cHZPYmplY3QpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKnBwdk9iamVjdCA9IG51
bGxwdHI7Ci0gICAgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JVW5rbm93bikpCi0gICAgICAg
ICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViU2NyaXB0T2JqZWN0Kj4odGhpcyk7Ci0gICAg
ZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lXZWJTY3JpcHRPYmplY3QpKQotICAgICAg
ICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYlNjcmlwdE9iamVjdCo+KHRoaXMpOwotICAg
IGVsc2UKLSAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7Ci0KLSAgICBBZGRSZWYoKTsKLSAg
ICByZXR1cm4gU19PSzsKLX0KLQotVUxPTkcgV2ViU2NyaXB0T2JqZWN0OjpBZGRSZWYoKQotewot
ICAgIHJldHVybiArK21fcmVmQ291bnQ7Ci19Ci0KLVVMT05HIFdlYlNjcmlwdE9iamVjdDo6UmVs
ZWFzZSgpCi17Ci0gICAgVUxPTkcgbmV3UmVmID0gLS1tX3JlZkNvdW50OwotICAgIGlmICghbmV3
UmVmKQotICAgICAgICBkZWxldGUodGhpcyk7Ci0KLSAgICByZXR1cm4gbmV3UmVmOwotfQotCi0v
LyBET01PYmplY3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotSFJFU1VMVCBET01PYmplY3Q6OlF1ZXJ5SW50ZXJmYWNl
KF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KQotewotICAg
IGlmICghcHB2T2JqZWN0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpwcHZPYmpl
Y3QgPSBudWxscHRyOwotICAgIGlmIChJc0VxdWFsR1VJRChyaWlkLCBJSURfSURPTU9iamVjdCkp
Ci0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJRE9NT2JqZWN0Kj4odGhpcyk7Ci0g
ICAgZWxzZQotICAgICAgICByZXR1cm4gV2ViU2NyaXB0T2JqZWN0OjpRdWVyeUludGVyZmFjZShy
aWlkLCBwcHZPYmplY3QpOwotCi0gICAgV2ViU2NyaXB0T2JqZWN0OjpBZGRSZWYoKTsKLSAgICBy
ZXR1cm4gU19PSzsKLX0KLQotCi0vLyBET01FdmVudExpc3RlbmVyIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUhSRVNV
TFQgRE9NRXZlbnRMaXN0ZW5lcjo6UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCi17Ci0gICAgKnBwdk9iamVjdCA9IG51bGxwdHI7
Ci0gICAgaWYgKElzRXF1YWxHVUlEKHJpaWQsIElJRF9JRE9NRXZlbnRMaXN0ZW5lcikpCi0gICAg
ICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJRE9NRXZlbnRMaXN0ZW5lcio+KHRoaXMpOwot
ICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIERPTU9iamVjdDo6UXVlcnlJbnRlcmZhY2UocmlpZCwg
cHB2T2JqZWN0KTsKLQotICAgIEFkZFJlZigpOwotICAgIHJldHVybiBTX09LOwotfQotCi1VTE9O
RyBET01FdmVudExpc3RlbmVyOjpBZGRSZWYoKQotewotICAgIHJldHVybiBXZWJTY3JpcHRPYmpl
Y3Q6OkFkZFJlZigpOwotfQotCi1VTE9ORyBET01FdmVudExpc3RlbmVyOjpSZWxlYXNlKCkKLXsK
LSAgICByZXR1cm4gV2ViU2NyaXB0T2JqZWN0OjpSZWxlYXNlKCk7Ci19CkluZGV4OiBUb29scy9X
aW5MYXVuY2hlci9ET01EZWZhdWx0SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5j
aGVyL0RPTURlZmF1bHRJbXBsLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5j
aGVyL0RPTURlZmF1bHRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTEgKzAsMCBAQAotLyoK
LSogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSog
Q29weXJpZ2h0IChDKSAyMDExIEFudGhvbnkgSm9obnNvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMSBCcmVudCBGdWxnaGFtLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBE
T01EZWZhdWx0SW1wbF9oCi0jZGVmaW5lIERPTURlZmF1bHRJbXBsX2gKLQotI2luY2x1ZGUgPFdl
YktpdC9XZWJLaXQuaD4KLQotY2xhc3MgV2ViU2NyaXB0T2JqZWN0IDogcHVibGljIElXZWJTY3Jp
cHRPYmplY3QgewotcHVibGljOgotICAgIFdlYlNjcmlwdE9iamVjdCgpCi0gICAgewotICAgIH0K
LQotICAgIHZpcnR1YWwgfldlYlNjcmlwdE9iamVjdCgpCi0gICAgewotICAgIH0KLQotICAgIC8v
IElVbmtub3duCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50
ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsK
LSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwotICAgIHZpcnR1
YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAgLy8gSVdlYlNjcmlw
dE9iamVjdAotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB0aHJvd0V4Y2Vw
dGlvbihfSW5fIEJTVFIsIF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FsbFdlYlNjcmlwdE1ldGhvZChfSW5f
IEJTVFIsIF9faW5fZWNvdW50KGNBcmdzKSBjb25zdCBWQVJJQU5UW10sIGludCBjQXJncywgX091
dF8gVkFSSUFOVCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBldmFsdWF0ZVdlYlNjcmlwdChfSW5fIEJTVFIsIF9PdXRfIFZBUklB
TlQqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgcmVtb3ZlV2ViU2NyaXB0S2V5KF9Jbl8gQlNUUikgeyByZXR1cm4gRV9OT1RJTVBM
OyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHN0cmluZ1JlcHJlc2Vu
dGF0aW9uKF9fZGVyZWZfb3B0X291dCBCU1RSKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlNjcmlwdFZhbHVlQXRJbmRleCh1
bnNpZ25lZCwgX091dF8gVkFSSUFOVCopICB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0V2ViU2NyaXB0VmFsdWVBdEluZGV4KHVu
c2lnbmVkLCBWQVJJQU5UKSAgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldEV4Y2VwdGlvbihfSW5fIEJTVFIpICB7IHJldHVybiBF
X05PVElNUEw7IH0KLQotcHJvdGVjdGVkOgotICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07Ci19
OwotCi0KLWNsYXNzIERPTU9iamVjdCA6IHB1YmxpYyBXZWJTY3JpcHRPYmplY3QsIHB1YmxpYyBJ
RE9NT2JqZWN0IHsKLXB1YmxpYzoKLSAgICAvLyBJVW5rbm93bgotICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09N
X091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7Ci19OwotCi0KLWNsYXNzIERPTUV2ZW50TGlzdGVu
ZXIgOiBwdWJsaWMgRE9NT2JqZWN0LCBwdWJsaWMgSURPTUV2ZW50TGlzdGVuZXIgewotcHVibGlj
OgotICAgIC8vIElVbmtub3duCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2
T2JqZWN0KTsKLSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwot
ICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAgLy8g
SVdlYlNjcmlwdE9iamVjdAotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB0
aHJvd0V4Y2VwdGlvbihfSW5fIEJTVFIsIF9PdXRfIEJPT0wqKSAgeyByZXR1cm4gRV9OT1RJTVBM
OyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhbGxXZWJTY3JpcHRN
ZXRob2QoX0luXyBCU1RSLCBfX2luX2Vjb3VudChjQXJncykgY29uc3QgVkFSSUFOVFtdLCBpbnQg
Y0FyZ3MsIF9PdXRfIFZBUklBTlQqKSAgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGV2YWx1YXRlV2ViU2NyaXB0KF9Jbl8gQlNUUiwg
X091dF8gVkFSSUFOVCopICB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVtb3ZlV2ViU2NyaXB0S2V5KF9Jbl8gQlNUUikgIHsgcmV0
dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
dHJpbmdSZXByZXNlbnRhdGlvbihfX2RlcmVmX29wdF9vdXQgQlNUUiopICB7IHJldHVybiBFX05P
VElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViU2NyaXB0
VmFsdWVBdEluZGV4KHVuc2lnbmVkLCBfT3V0XyBWQVJJQU5UKikgIHsgcmV0dXJuIEVfTk9USU1Q
TDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRXZWJTY3JpcHRW
YWx1ZUF0SW5kZXgodW5zaWduZWQsIFZBUklBTlQpICB7IHJldHVybiBFX05PVElNUEw7IH0KLSAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RXhjZXB0aW9uKF9Jbl8gQlNU
UikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0KLSAgICAvLyBJRE9NRXZlbnRMaXN0ZW5lcgotICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBoYW5kbGVFdmVudChfSW5fb3B0XyBJ
RE9NRXZlbnQqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLX07Ci0KLSNlbmRpZgpJbmRleDogVG9v
bHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XaW5MYXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwCShyZXZpc2lvbiAxODg5NzApCisr
KyBUb29scy9XaW5MYXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDIzNyArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0q
IGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNsdWRl
ICJzdGRhZnguaCIKLSNpbmNsdWRlICJQYWdlTG9hZFRlc3RDbGllbnQuaCIKLQotI2luY2x1ZGUg
IldpbkxhdW5jaGVyLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5o
PgotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0ZpbGVQcmludFN0
cmVhbS5oPgotI2luY2x1ZGUgPGNtYXRoPgotCi1zdGF0aWMgY29uc3QgQ0ZUaW1lSW50ZXJ2YWwg
d2FpdEZvck5ld1Jlc291cmNlTG9hZER1cmF0aW9uID0gMC4xOwotCi1QYWdlTG9hZFRlc3RDbGll
bnQ6OlBhZ2VMb2FkVGVzdENsaWVudChXaW5MYXVuY2hlciogaG9zdCwgYm9vbCBwYWdlTG9hZFRl
c3RpbmcpCi0gICAgOiBtX2hvc3QoaG9zdCkKLSAgICAsIG1fcmVwZXRpdGlvbnMocGFnZUxvYWRU
ZXN0aW5nID8gMjAgOiAxKQotICAgICwgbV93YWl0Rm9yTG9hZFRvUmVhbGx5RW5kKHRoaXMsICZQ
YWdlTG9hZFRlc3RDbGllbnQ6OmVuZFBhZ2VMb2FkKQotICAgICwgbV9wYWdlTG9hZFRlc3Rpbmco
cGFnZUxvYWRUZXN0aW5nKQotewotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6cGFnZUxv
YWRTdGFydGVkQXRUaW1lKENGQWJzb2x1dGVUaW1lIHN0YXJ0VGltZSkKLXsKLSAgICBtX3N0YXJ0
VGltZXMuYXBwZW5kKHN0YXJ0VGltZSk7Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50Ojpk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZChJV2ViRnJhbWUmIGZyYW1lKQotewotICAgIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJGcmFtZTIsICZfX3V1aWRvZihJV2ViRnJhbWUyKT4+IGZyYW1lMjsK
LSAgICBpZiAoRkFJTEVEKGZyYW1lLlF1ZXJ5SW50ZXJmYWNlKCZmcmFtZTIuR2V0SW50ZXJmYWNl
UHRyKCkpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQk9PTCBtYWluRnJhbWUgPSBGQUxTRTsK
LSAgICBpZiAoZnJhbWUyICYmIEZBSUxFRChmcmFtZTItPmlzTWFpbkZyYW1lKCZtYWluRnJhbWUp
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1haW5GcmFtZSkgewotICAgICAgICBjbGVh
clBhZ2VMb2FkU3RhdGUoKTsKLSAgICAgICAgcGFnZUxvYWRTdGFydGVkQXRUaW1lKENGQWJzb2x1
dGVUaW1lR2V0Q3VycmVudCgpKTsKLSAgICB9Ci19Ci0KLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50
OjpkaWRDb21taXRMb2FkKCkKLXsKLSAgICArK21fZnJhbWVzOwotfQotCi12b2lkIFBhZ2VMb2Fk
VGVzdENsaWVudDo6ZGlkRmlyc3RMYXlvdXRGb3JNYWluRnJhbWUoKQotewotICAgIC8vIE5vdGhp
bmcgdG8gZG8KLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmRpZEhhbmRsZU9uTG9hZEV2
ZW50cygpCi17Ci0gICAgKyttX29uTG9hZEV2ZW50czsKLSAgICBtYXliZUVuZFBhZ2VMb2FkU29v
bigpOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkRmluaXNoTG9hZCgpCi17Ci0g
ICAgbV9jdXJyZW50UGFnZUxvYWRGaW5pc2hlZCA9IHRydWU7Ci0gICAgbWF5YmVFbmRQYWdlTG9h
ZFNvb24oKTsKLX0KLQotdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OmRpZEZhaWxMb2FkKCkKLXsK
LSAgICAtLW1fZnJhbWVzOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZGlkSW5pdGlh
dGVSZXNvdXJjZUxvYWQodWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyKQotewotICAgIGlmICgh
cmVzb3VyY2VJZGVudGlmaWVyKSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiU2F3IHJlc291cmNl
SWRlbnRpZmllcj0wLiBUaGlzIG11c3QgYmUgYSBidWcgaW4gdGhlIGxvYWRlciBjb2RlLiBUaGUg
cmVzdWx0cyBtYXkgYmUgaW52YWxpZC4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBt
X2xvYWRpbmdTdWJyZXNvdXJjZXMuYWRkKHJlc291cmNlSWRlbnRpZmllcik7Ci19Ci0KLXZvaWQg
UGFnZUxvYWRUZXN0Q2xpZW50OjpkaWRFbmRSZXNvdXJjZUxvYWQodWludDY0X3QgcmVzb3VyY2VJ
ZGVudGlmaWVyKQotewotICAgIGlmICghcmVzb3VyY2VJZGVudGlmaWVyKSB7Ci0gICAgICAgIFdU
RkxvZ0Fsd2F5cygiU2F3IHJlc291cmNlSWRlbnRpZmllcj0wLiBUaGlzIG11c3QgYmUgYSBidWcg
aW4gdGhlIGxvYWRlciBjb2RlLiBUaGUgcmVzdWx0cyBtYXkgYmUgaW52YWxpZC4iKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBhdXRvIGZvdW5kID0gbV9sb2FkaW5nU3VicmVzb3VyY2Vz
LmZpbmQocmVzb3VyY2VJZGVudGlmaWVyKTsKLSAgICBpZiAoZm91bmQgPT0gbV9sb2FkaW5nU3Vi
cmVzb3VyY2VzLmVuZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgbV9sb2FkaW5nU3VicmVzb3Vy
Y2VzLnJlbW92ZShmb3VuZCk7Ci0gICAgbWF5YmVFbmRQYWdlTG9hZFNvb24oKTsKLX0KLQotdm9p
ZCBQYWdlTG9hZFRlc3RDbGllbnQ6OnBhZ2VMb2FkRW5kZWRBdFRpbWUoQ0ZBYnNvbHV0ZVRpbWUg
ZW5kVGltZSkKLXsKLSAgICBBU1NFUlQoIW1fcGFnZUxvYWRUZXN0aW5nIHx8IG1fZW5kVGltZXMu
c2l6ZSgpID09IG1fY3VycmVudFJlcGV0aXRpb24pOwotICAgIG1fZW5kVGltZXMuYXBwZW5kKGVu
ZFRpbWUpOwotCi0gICAgaWYgKG1fY3VycmVudFJlcGV0aXRpb24pIHsKLSAgICAgICAgQ0ZUaW1l
SW50ZXJ2YWwgcGFnZUxvYWRUaW1lID0gKG1fZW5kVGltZXNbbV9jdXJyZW50UmVwZXRpdGlvbl0g
LSBtX3N0YXJ0VGltZXNbbV9jdXJyZW50UmVwZXRpdGlvbl0pOwotICAgICAgICBpZiAocGFnZUxv
YWRUaW1lID4gbV9sb25nZXN0VGltZSkKLSAgICAgICAgICAgIG1fbG9uZ2VzdFRpbWUgPSBwYWdl
TG9hZFRpbWU7Ci0KLSAgICAgICAgbV90b3RhbFRpbWUgKz0gcGFnZUxvYWRUaW1lOwotICAgICAg
ICBtX3RvdGFsU3F1YXJlUm9vdHNPZlRpbWUgKz0gc3RkOjpzcXJ0KHBhZ2VMb2FkVGltZSk7Ci0g
ICAgICAgIG1fcGFnZXNUaW1lZCsrOwotICAgICAgICBtX2dlb21ldHJpY01lYW5Qcm9kdWN0U3Vt
ICo9IHBhZ2VMb2FkVGltZTsKLSAgICB9Ci0KLSAgICBpZiAobV9wYWdlTG9hZFRlc3RpbmcpIHsK
LSAgICAgICAgKyttX2N1cnJlbnRSZXBldGl0aW9uOwotICAgICAgICBpZiAobV9jdXJyZW50UmVw
ZXRpdGlvbiAhPSBtX3JlcGV0aXRpb25zKQotICAgICAgICAgICAgbV9ob3N0LT5sb2FkVVJMKG1f
dXJsKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBkdW1wUnVuU3RhdGlzdGljcygpOwot
ICAgICAgICAgICAgbV9ob3N0LT5leGl0UHJvZ3JhbSgpOwotICAgICAgICB9Ci0gICAgfQotfQot
Ci12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZW5kUGFnZUxvYWQoVGltZXI8UGFnZUxvYWRUZXN0
Q2xpZW50PiogdGltZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1f
d2FpdEZvckxvYWRUb1JlYWxseUVuZCk7Ci0KLSAgICBpZiAoIXNob3VsZENvbnNpZGVyUGFnZUxv
YWRFbmRlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgcGFnZUxvYWRFbmRlZEF0VGltZShtX3Bh
Z2VMb2FkRW5kVGltZSk7Ci0gICAgY2xlYXJQYWdlTG9hZFN0YXRlKCk7Ci19Ci0KLXZvaWQgUGFn
ZUxvYWRUZXN0Q2xpZW50OjpjbGVhclBhZ2VMb2FkU3RhdGUoKQotewotICAgIG1fY3VycmVudFBh
Z2VMb2FkRmluaXNoZWQgPSBmYWxzZTsKLSAgICBtX2ZyYW1lcyA9IDA7Ci0gICAgbV9vbkxvYWRF
dmVudHMgPSAwOwotICAgIG1fcGFnZUxvYWRFbmRUaW1lID0gMDsKLSAgICBtX2xvYWRpbmdTdWJy
ZXNvdXJjZXMuY2xlYXIoKTsKLSAgICBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQuaW52YWxpZGF0
ZSgpOwotfQotCi1ib29sIFBhZ2VMb2FkVGVzdENsaWVudDo6c2hvdWxkQ29uc2lkZXJQYWdlTG9h
ZEVuZGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jdXJyZW50UGFnZUxvYWRGaW5pc2hlZCAm
JiBtX29uTG9hZEV2ZW50cyA9PSBtX2ZyYW1lcyAmJiBtX2xvYWRpbmdTdWJyZXNvdXJjZXMuaXNF
bXB0eSgpOwotfQotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6bWF5YmVFbmRQYWdlTG9hZFNv
b24oKQotewotICAgIGlmICghc2hvdWxkQ29uc2lkZXJQYWdlTG9hZEVuZGVkKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBtX3BhZ2VMb2FkRW5kVGltZSA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVu
dCgpOwotICAgIGlmIChtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQuaXNWYWxpZCgpKQotICAgICAg
ICBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQuaW52YWxpZGF0ZSgpOwotICAgIG1fd2FpdEZvckxv
YWRUb1JlYWxseUVuZC5zY2hlZHVsZSh3YWl0Rm9yTmV3UmVzb3VyY2VMb2FkRHVyYXRpb24sIGZh
bHNlKTsKLX0KLQotI2lmIE9TKFdJTkRPV1MpCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6c2V0
UGFnZVVSTChjb25zdCBfYnN0cl90JiBwYWdlVVJMKQotewotICAgIG1fdXJsID0gcGFnZVVSTDsK
LX0KLSNlbmRpZgotCi12b2lkIFBhZ2VMb2FkVGVzdENsaWVudDo6ZHVtcFJ1blN0YXRpc3RpY3Mo
KQotewotICAgIGNvbnN0IGxvbmcgbWF4UGF0aExlbmd0aCA9IDEwMjQ7Ci0KLSAgICBjaGFyIGZp
bGVuYW1lU3VmZml4W21heFBhdGhMZW5ndGggKyAxXTsKLQotI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICBEV09SRCBwaWQgPSBHZXRDdXJyZW50UHJvY2Vzc0lkKCk7Ci0gICAgX3NucHJpbnRmKGZpbGVu
YW1lU3VmZml4LCBzaXplb2YoZmlsZW5hbWVTdWZmaXgpLCAiLiVkLnR4dCIsIHBpZCk7Ci0jZWxz
ZQotICAgIGxvbmcgcGlkID0gZ2V0cGlkKCk7Ci0gICAgc25wcmludGYoZmlsZW5hbWVTdWZmaXgs
IHNpemVvZihmaWxlbmFtZVN1ZmZpeCksICIuJWQudHh0IiwgcGlkKTsKLSNlbmRpZgotCi0gICAg
Y29uc3QgY2hhciogZmlsZW5hbWUgPSAid2Via2l0X3BlcmZvcm1hbmNlX2xvZyI7Ci0gICAgY2hh
ciBhY3R1YWxGaWxlbmFtZVttYXhQYXRoTGVuZ3RoICsgMV07Ci0KLSNpZiBQTEFURk9STShXSU4p
Ci0gICAgX3NucHJpbnRmKGFjdHVhbEZpbGVuYW1lLCBzaXplb2YoYWN0dWFsRmlsZW5hbWUpLCAi
JXMlcyIsIGZpbGVuYW1lLCBmaWxlbmFtZVN1ZmZpeCk7Ci0jZWxzZQotICAgIHNucHJpbnRmKGFj
dHVhbEZpbGVuYW1lLCBzaXplb2YoYWN0dWFsRmlsZW5hbWUpLCAiJXMlcyIsIGZpbGVuYW1lLCBm
aWxlbmFtZVN1ZmZpeCk7Ci0jZW5kaWYKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZpbGVQ
cmludFN0cmVhbT4gZmlsZSA9IFdURjo6RmlsZVByaW50U3RyZWFtOjpvcGVuKGFjdHVhbEZpbGVu
YW1lLCAidyIpOwotICAgIGlmICghZmlsZSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIldhcm5p
bmc6IENvdWxkIG5vdCBvcGVuIHBhZ2UgbG9hZCBwZXJmb3JtYW5jZSBkYXRhIGZpbGUgJXMgZm9y
IHdyaXRpbmcuXG4iLCBhY3R1YWxGaWxlbmFtZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBXVEZMb2dBbHdheXMoIioqKiBQYWdlIGxvYWQgcGVyZm9ybWFuY2UgZGF0YSBvdXRwdXQg
dG8gXCIlc1wiICoqKlxuIiwgYWN0dWFsRmlsZW5hbWUpOwotCi0gICAgZmlsZS0+cHJpbnQoIklO
RElWSURVQUwgVVJMIExPQUQgVElNRVM6XG4iKTsKLQotICAgIENGVGltZUludGVydmFsIHBhZ2VM
b2FkVGltZSA9IG1fZW5kVGltZXMubGFzdCgpIC0gbV9zdGFydFRpbWVzLmxhc3QoKTsKLSAgICBm
aWxlLT5wcmludGYoIkxvYWQgVGltZSA9ICUuMWYgbXNcdCVzXG4iLCBwYWdlTG9hZFRpbWUgKiAx
MDAwLjAsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihtX3VybCkpOwotCi0gICAgZG91YmxlIG1l
YW5UaW1lID0gMDsKLSAgICBkb3VibGUgc3F1YXJlTWVhblJvb3RUaW1lID0gMDsKLSAgICBkb3Vi
bGUgZ2VvbWV0cmljTWVhblRpbWUgPSAwOwotICAgIGlmIChtX3BhZ2VzVGltZWQpIHsKLSAgICAg
ICAgbWVhblRpbWUgPSBtX3RvdGFsVGltZSAvIG1fcGFnZXNUaW1lZDsKLSAgICAgICAgc3F1YXJl
TWVhblJvb3RUaW1lID0gKG1fdG90YWxTcXVhcmVSb290c09mVGltZSAvIG1fcGFnZXNUaW1lZCkg
KiAobV90b3RhbFNxdWFyZVJvb3RzT2ZUaW1lIC8gbV9wYWdlc1RpbWVkKTsKLSAgICAgICAgZ2Vv
bWV0cmljTWVhblRpbWUgPSBwb3cobV9nZW9tZXRyaWNNZWFuUHJvZHVjdFN1bSwgKDEuMCAvIG1f
cGFnZXNUaW1lZCkpOwotICAgIH0KLQotICAgIGZpbGUtPnByaW50ZigiRklOSVNIRUQ6ICAgIFRv
dGFsIFRpbWUgPSAlLjFmIG1zXG4iLCBtX3RvdGFsVGltZSAqIDEwMDAuMCk7Ci0gICAgZmlsZS0+
cHJpbnRmKCIgICAgICAgICAgIExvbmdlc3QgVGltZSA9ICUuMWYgbXNcbiIsIG1fbG9uZ2VzdFRp
bWUgKiAxMDAwLjApOwotICAgIGZpbGUtPnByaW50ZigiICAgICAgICAgICAgICBNZWFuIFRpbWUg
PSAlLjFmIG1zXG4iLCBtZWFuVGltZSAqIDEwMDAuMCk7Ci0gICAgZmlsZS0+cHJpbnRmKCIgIFNx
dWFyZS1NZWFuLVJvb3QgVGltZSA9ICUuMWYgbXNcbiIsIHNxdWFyZU1lYW5Sb290VGltZSAqIDEw
MDAuMCk7Ci0gICAgZmlsZS0+cHJpbnRmKCIgICAgR2VvbWV0cmljIE1lYW4gVGltZSA9ICUuMWYg
bXNcbiIsIGdlb21ldHJpY01lYW5UaW1lICogMTAwMC4wKTsKLSAgICBmaWxlLT5wcmludGYoIi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7Ci0KLSAgICBmaWxl
LT5mbHVzaCgpOwotfQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmgJ
KHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1OCArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSov
Ci0KLSNpZm5kZWYgUGFnZUxvYWRUZXN0Q2xpZW50X2gKLSNkZWZpbmUgUGFnZUxvYWRUZXN0Q2xp
ZW50X2gKLQotI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGRGF0ZS5oPgotI2luY2x1ZGUgPFdl
YktpdC9XZWJLaXQuaD4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+Ci0KLXRlbXBsYXRlIDxjbGFzcyBUaW1lckZpcmVkQ2xhc3M+Ci1jbGFzcyBU
aW1lciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXIpOwotcHVibGljOgotICAgIHR5
cGVkZWYgdm9pZCAoVGltZXJGaXJlZENsYXNzOjoqVGltZXJGaXJlZEZ1bmN0aW9uKShUaW1lciop
OwotCi0gICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3QsIFRpbWVyRmlyZWRGdW5jdGlv
biBmdW5jdGlvbikKLSAgICAgICAgOiBtX29iamVjdChvYmplY3QpCi0gICAgICAgICwgbV9mdW5j
dGlvbihmdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9BUkcob2JqZWN0LCBvYmplY3Qp
OwotICAgICAgICBBU1NFUlRfQVJHKGZ1bmN0aW9uLCBmdW5jdGlvbik7Ci0gICAgfQotCi0gICAg
flRpbWVyKCkgeyBpbnZhbGlkYXRlKCk7IH0KLQotICAgIHZvaWQgaW52YWxpZGF0ZSgpCi0gICAg
ewotICAgICAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAg
ICBDRlJ1bkxvb3BUaW1lckludmFsaWRhdGUobV90aW1lci5nZXQoKSk7Ci0gICAgICAgIG1fdGlt
ZXIgPSBudWxscHRyOwotICAgIH0KLQotICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0Ci0gICAgewot
ICAgICAgICByZXR1cm4gbV90aW1lciAmJiBDRlJ1bkxvb3BUaW1lcklzVmFsaWQobV90aW1lci5n
ZXQoKSk7Ci0gICAgfQotCi0gICAgdm9pZCBzY2hlZHVsZShDRlRpbWVJbnRlcnZhbCBpbnRlcnZh
bCwgYm9vbCByZXBlYXRpbmcpCi0gICAgewotICAgICAgICBBU1NFUlQoIWlzVmFsaWQoKSk7Ci0K
LSAgICAgICAgQ0ZUaW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXRpbmcgPyBpbnRl
cnZhbCA6IDA7Ci0gICAgICAgIENGUnVuTG9vcFRpbWVyQ29udGV4dCBjb250ZXh0ID0geyAwLCB0
aGlzLCAwLCAwLCAwIH07Ci0gICAgICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVy
Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
aW50ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAwLCBydW5Mb29wVGltZXJGaXJlZCwgJmNvbnRl
eHQpKTsKLQotICAgICAgICBDRlJ1bkxvb3BBZGRUaW1lcihDRlJ1bkxvb3BHZXRDdXJyZW50KCks
IG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7Ci0gICAgfQotCi1wcml2YXRl
OgotICAgIHZvaWQgZmlyZSgpIHsgKG1fb2JqZWN0LT4qbV9mdW5jdGlvbikodGhpcyk7IH0KLQot
ICAgIHN0YXRpYyB2b2lkIHJ1bkxvb3BUaW1lckZpcmVkKENGUnVuTG9vcFRpbWVyUmVmIHRpbWVy
UmVmLCB2b2lkKiBpbmZvKQotICAgIHsKLSAgICAgICAgVGltZXIqIHRpbWVyID0gc3RhdGljX2Nh
c3Q8VGltZXIqPihpbmZvKTsKLSAgICAgICAgQVNTRVJUX0FSRyh0aW1lclJlZiwgdGltZXItPm1f
dGltZXIgPT0gdGltZXJSZWYpOwotCi0gICAgICAgIGlmICghQ0ZSdW5Mb29wVGltZXJEb2VzUmVw
ZWF0KHRpbWVyUmVmKSkKLSAgICAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZSh0aW1l
clJlZik7Ci0KLSNpZmRlZiBfX09CSkNfXwotICAgICAgICBAYXV0b3JlbGVhc2Vwb29sCi0jZW5k
aWYKLSAgICAgICAgewotICAgICAgICAgICAgdGltZXItPmZpcmUoKTsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIFRpbWVyRmlyZWRDbGFzcyogbV9vYmplY3Q7Ci0gICAgVGltZXJGaXJlZEZ1bmN0
aW9uIG1fZnVuY3Rpb247Ci0KLSAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wVGltZXJSZWY+IG1fdGlt
ZXI7Ci19OwotCi1jbGFzcyBXaW5MYXVuY2hlcjsKLQotY2xhc3MgUGFnZUxvYWRUZXN0Q2xpZW50
IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlTG9hZFRlc3RDbGllbnQpOwotcHVibGlj
OgotICAgIFBhZ2VMb2FkVGVzdENsaWVudChXaW5MYXVuY2hlciogaG9zdCwgYm9vbCBwYWdlTG9h
ZFRlc3RpbmcgPSBmYWxzZSk7Ci0KLSNpZiBPUyhXSU5ET1dTKQotICAgIHZvaWQgc2V0UGFnZVVS
TChjb25zdCBfYnN0cl90Jik7Ci0jZW5kaWYKLQotICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25h
bExvYWQoSVdlYkZyYW1lJik7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKCk7Ci0gICAgdm9pZCBk
aWRGaXJzdExheW91dEZvck1haW5GcmFtZSgpOwotICAgIHZvaWQgZGlkSGFuZGxlT25Mb2FkRXZl
bnRzKCk7Ci0gICAgdm9pZCBkaWRGaW5pc2hMb2FkKCk7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZCgp
OwotICAgIHZvaWQgZGlkSW5pdGlhdGVSZXNvdXJjZUxvYWQodWludDY0X3QpOwotICAgIHZvaWQg
ZGlkRW5kUmVzb3VyY2VMb2FkKHVpbnQ2NF90KTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIGVuZFBh
Z2VMb2FkKFRpbWVyPFBhZ2VMb2FkVGVzdENsaWVudD4qKTsKLSAgICB2b2lkIG1heWJlRW5kUGFn
ZUxvYWRTb29uKCk7Ci0gICAgdm9pZCBjbGVhclBhZ2VMb2FkU3RhdGUoKTsKLSAgICBib29sIHNo
b3VsZENvbnNpZGVyUGFnZUxvYWRFbmRlZCgpIGNvbnN0OwotCi0gICAgdmlydHVhbCB2b2lkIHBh
Z2VMb2FkU3RhcnRlZEF0VGltZShDRkFic29sdXRlVGltZSk7Ci0gICAgdmlydHVhbCB2b2lkIHBh
Z2VMb2FkRW5kZWRBdFRpbWUoQ0ZBYnNvbHV0ZVRpbWUpOwotICAgIHZvaWQgZHVtcFJ1blN0YXRp
c3RpY3MoKTsKLQotICAgIFdpbkxhdW5jaGVyKiBtX2hvc3Q7Ci0gICAgQ0ZBYnNvbHV0ZVRpbWUg
bV9wYWdlTG9hZEVuZFRpbWUgeyAwIH07Ci0gICAgQ0ZUaW1lSW50ZXJ2YWwgbV90b3RhbFRpbWUg
eyAwIH07Ci0gICAgQ0ZUaW1lSW50ZXJ2YWwgbV90b3RhbFNxdWFyZVJvb3RzT2ZUaW1lIHsgMCB9
OwotICAgIENGVGltZUludGVydmFsIG1fbG9uZ2VzdFRpbWUgeyAwIH07Ci0gICAgVmVjdG9yPENG
QWJzb2x1dGVUaW1lPiBtX3N0YXJ0VGltZXM7Ci0gICAgVmVjdG9yPENGQWJzb2x1dGVUaW1lPiBt
X2VuZFRpbWVzOwotICAgIEhhc2hTZXQ8dWludDY0X3Q+IG1fbG9hZGluZ1N1YnJlc291cmNlczsK
LSAgICBUaW1lcjxQYWdlTG9hZFRlc3RDbGllbnQ+IG1fd2FpdEZvckxvYWRUb1JlYWxseUVuZDsK
LSNpZiBPUyhXSU5ET1dTKQotICAgIF9ic3RyX3QgbV91cmw7Ci0jZW5kaWYKLSAgICBkb3VibGUg
bV9nZW9tZXRyaWNNZWFuUHJvZHVjdFN1bSB7IDEuMCB9OwotICAgIHVuc2lnbmVkIG1fZnJhbWVz
IHsgMCB9OwotICAgIHVuc2lnbmVkIG1fb25Mb2FkRXZlbnRzIHsgMCB9OwotICAgIHVuc2lnbmVk
IG1fY3VycmVudFVSTEluZGV4IHsgMCB9OwotICAgIHVuc2lnbmVkIG1fY3VycmVudFJlcGV0aXRp
b24geyAwIH07Ci0gICAgdW5zaWduZWQgbV9wYWdlc1RpbWVkIHsgMCB9OwotICAgIHVuc2lnbmVk
IG1fcmVwZXRpdGlvbnM7Ci0KLSAgICBib29sIG1fY3VycmVudFBhZ2VMb2FkRmluaXNoZWQgeyBm
YWxzZSB9OwotICAgIGJvb2wgbV9wYWdlTG9hZFRlc3Rpbmc7Ci19OwotCi0jZW5kaWYgLy8gUGFn
ZUxvYWRUZXN0Q2xpZW50X2gKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1ByaW50V2ViVUlEZWxl
Z2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvUHJpbnRXZWJVSURlbGVn
YXRlLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvUHJpbnRXZWJV
SURlbGVnYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyNDYgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOSwgMjAxMy0yMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBCcmVudCBGdWxnaGFtLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFsZXggQ2hyaXN0ZW5zZW4uIEFsbCBSaWdodHMg
UmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1
ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIlByaW50V2ViVUlEZWxlZ2F0ZS5oIgotCi0jaW5jbHVk
ZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgotI2luY2x1ZGUgPGNvbWlwLmg+Ci0jaW5jbHVkZSA8
Y29tbWN0cmwuaD4KLSNpbmNsdWRlIDxjb21tZGxnLmg+Ci0jaW5jbHVkZSA8b2JqYmFzZS5oPgot
I2luY2x1ZGUgPHNobHdhcGkuaD4KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+Ci0KLXN0YXRpYyBjb25z
dCBpbnQgTUFSR0lOID0gMjA7Ci0KLUhSRVNVTFQgUHJpbnRXZWJVSURlbGVnYXRlOjpydW5KYXZh
U2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBCU1RS
IG1lc3NhZ2UpCi17Ci0gICAgOjpNZXNzYWdlQm94VygwLCBtZXNzYWdlLCBMIkphdmFTY3JpcHQg
QWxlcnQiLCBNQl9PSyk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgUHJpbnRXZWJV
SURlbGVnYXRlOjpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2UoX0luX29wdF8g
SVdlYlZpZXcqLCBfSW5fIEJTVFIgbWVzc2FnZSwgX091dF8gQk9PTCogcmVzdWx0KQotewotICAg
ICpyZXN1bHQgPSA6Ok1lc3NhZ2VCb3hXKDAsIG1lc3NhZ2UsIEwiSmF2YVNjcmlwdCBDb25maXJt
IiwgTUJfT0tDQU5DRUwpID09IElET0s7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQg
UHJpbnRXZWJVSURlbGVnYXRlOjpjcmVhdGVXZWJWaWV3V2l0aFJlcXVlc3QoX0luX29wdF8gSVdl
YlZpZXcqLCBfSW5fb3B0XyBJV2ViVVJMUmVxdWVzdCogcmVxdWVzdCwgX0NPTV9PdXRwdHJfb3B0
XyBJV2ViVmlldyoqIG5ld1dlYlZpZXcpCi17Ci0gICAgaWYgKCFuZXdXZWJWaWV3KQotICAgICAg
ICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpuZXdXZWJWaWV3ID0gbnVsbHB0cjsKLSAgICBpZiAo
IXJlcXVlc3QpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICBUQ0hBUiBleGVjdXRh
YmxlUGF0aFtNQVhfUEFUSF07Ci0gICAgRFdPUkQgbGVuZ3RoID0gOjpHZXRNb2R1bGVGaWxlTmFt
ZShHZXRNb2R1bGVIYW5kbGUoMCksIGV4ZWN1dGFibGVQYXRoLCBBUlJBWVNJWkUoZXhlY3V0YWJs
ZVBhdGgpKTsKLSAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAg
IF9ic3RyX3QgdXJsOwotICAgIEhSRVNVTFQgaHIgPSByZXF1ZXN0LT5VUkwoJnVybC5HZXRCU1RS
KCkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAg
aWYgKCF1cmwpCi0gICAgICAgIHJldHVybiBTX09LOwotCi0gICAgc3RkOjp3c3RyaW5nIGNvbW1h
bmQgPSBzdGQ6OndzdHJpbmcoTCJcIiIpICsgZXhlY3V0YWJsZVBhdGggKyBMIlwiICIgKyAoY29u
c3Qgd2NoYXJfdCopdXJsOwotCi0gICAgUFJPQ0VTU19JTkZPUk1BVElPTiBwcm9jZXNzSW5mb3Jt
YXRpb247Ci0gICAgU1RBUlRVUElORk9XIHN0YXJ0dXBJbmZvOwotICAgIG1lbXNldCgmc3RhcnR1
cEluZm8sIDAsIHNpemVvZihzdGFydHVwSW5mbykpOwotICAgIGlmICghOjpDcmVhdGVQcm9jZXNz
VygwLCAoTFBXU1RSKWNvbW1hbmQuY19zdHIoKSwgMCwgMCwgMCwgMCwgMCwgMCwgJnN0YXJ0dXBJ
bmZvLCAmcHJvY2Vzc0luZm9ybWF0aW9uKSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAg
IHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFByaW50V2ViVUlEZWxlZ2F0ZTo6UXVlcnlJbnRl
cmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpCi17
Ci0gICAgaWYgKCFwcHZPYmplY3QpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKnBw
dk9iamVjdCA9IG51bGxwdHI7Ci0gICAgaWYgKElzRXF1YWxJSUQocmlpZCwgSUlEX0lVbmtub3du
KSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJVSURlbGVnYXRlKj4odGhp
cyk7Ci0gICAgZWxzZSBpZiAoSXNFcXVhbElJRChyaWlkLCBJSURfSVdlYlVJRGVsZWdhdGUpKQot
ICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYlVJRGVsZWdhdGUqPih0aGlzKTsK
LSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFX05PSU5URVJGQUNFOwotCi0gICAgQWRkUmVmKCk7
Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLVVMT05HIFByaW50V2ViVUlEZWxlZ2F0ZTo6QWRkUmVm
KCkKLXsKLSAgICByZXR1cm4gKyttX3JlZkNvdW50OwotfQotCi1VTE9ORyBQcmludFdlYlVJRGVs
ZWdhdGU6OlJlbGVhc2UoKQotewotICAgIFVMT05HIG5ld1JlZiA9IC0tbV9yZWZDb3VudDsKLSAg
ICBpZiAoIW5ld1JlZikKLSAgICAgICAgZGVsZXRlIHRoaXM7Ci0KLSAgICByZXR1cm4gbmV3UmVm
OwotfQotCi10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJGcmFtZSwgJl9fdXVpZG9m
KElXZWJGcmFtZSk+PiBJV2ViRnJhbWVQdHI7Ci10eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlE
PElXZWJGcmFtZVByaXZhdGUsICZfX3V1aWRvZihJV2ViRnJhbWVQcml2YXRlKT4+IElXZWJGcmFt
ZVByaXZhdGVQdHI7Ci0KLUhSRVNVTFQgUHJpbnRXZWJVSURlbGVnYXRlOjp3ZWJWaWV3UHJpbnRp
bmdNYXJnaW5SZWN0KF9Jbl9vcHRfIElXZWJWaWV3KiB2aWV3LCBfT3V0XyBSRUNUKiByZWN0KQot
ewotICAgIGlmICghdmlldyB8fCAhcmVjdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQot
ICAgIElXZWJGcmFtZVB0ciBtYWluRnJhbWU7Ci0gICAgaWYgKEZBSUxFRCh2aWV3LT5tYWluRnJh
bWUoJm1haW5GcmFtZS5HZXRJbnRlcmZhY2VQdHIoKSkpKQotICAgICAgICByZXR1cm4gRV9GQUlM
OwotCi0gICAgSVdlYkZyYW1lUHJpdmF0ZVB0ciBwcml2YXRlRnJhbWU7Ci0gICAgaWYgKEZBSUxF
RChtYWluRnJhbWUtPlF1ZXJ5SW50ZXJmYWNlKCZwcml2YXRlRnJhbWUuR2V0SW50ZXJmYWNlUHRy
KCkpKSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIHByaXZhdGVGcmFtZS0+ZnJhbWVC
b3VuZHMocmVjdCk7Ci0KLSAgICByZWN0LT5sZWZ0ICs9IE1BUkdJTjsKLSAgICByZWN0LT50b3Ag
Kz0gTUFSR0lOOwotICAgIEhEQyBkYyA9IDo6R2V0REMoMCk7Ci0gICAgcmVjdC0+cmlnaHQgPSAo
OjpHZXREZXZpY2VDYXBzKGRjLCBMT0dQSVhFTFNYKSAqIDYuNSkgLSBNQVJHSU47Ci0gICAgcmVj
dC0+Ym90dG9tID0gKDo6R2V0RGV2aWNlQ2FwcyhkYywgTE9HUElYRUxTWSkgKiAxMSkgLSBNQVJH
SU47Ci0gICAgOjpSZWxlYXNlREMoMCwgZGMpOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhS
RVNVTFQgUHJpbnRXZWJVSURlbGVnYXRlOjp3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oX0lu
X29wdF8gSVdlYlZpZXcqLCBXZWJEcmFnU291cmNlQWN0aW9uLCBfSW5fIExQUE9JTlQsIF9Jbl9v
cHRfIElEYXRhT2JqZWN0KiwgX0NPTV9PdXRwdHJfb3B0XyBJRGF0YU9iamVjdCoqIHJlc3VsdCkK
LXsKLSAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqcmVz
dWx0ID0gbnVsbHB0cjsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFByaW50
V2ViVUlEZWxlZ2F0ZTo6d2ViVmlld0hlYWRlckhlaWdodChfSW5fb3B0XyBJV2ViVmlldyogd2Vi
VmlldywgX091dF8gZmxvYXQqIGhlaWdodCkKLXsKLSAgICBpZiAoIXdlYlZpZXcgfHwgIWhlaWdo
dCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIEhEQyBkYyA9IDo6R2V0REMoMCk7
Ci0KLSAgICBURVhUTUVUUklDIHRleHRNZXRyaWM7Ci0gICAgOjpHZXRUZXh0TWV0cmljcyhkYywg
JnRleHRNZXRyaWMpOwotICAgIDo6UmVsZWFzZURDKDAsIGRjKTsKLQotICAgICpoZWlnaHQgPSAx
LjEgKiB0ZXh0TWV0cmljLnRtSGVpZ2h0OwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNV
TFQgUHJpbnRXZWJVSURlbGVnYXRlOjp3ZWJWaWV3Rm9vdGVySGVpZ2h0KF9Jbl9vcHRfIElXZWJW
aWV3KiB3ZWJWaWV3LCBfT3V0XyBmbG9hdCogaGVpZ2h0KQotewotICAgIGlmICghd2ViVmlldyB8
fCAhaGVpZ2h0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotCi0gICAgSERDIGRjID0gOjpH
ZXREQygwKTsKLQotICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpYzsKLSAgICA6OkdldFRleHRNZXRy
aWNzKGRjLCAmdGV4dE1ldHJpYyk7Ci0gICAgOjpSZWxlYXNlREMoMCwgZGMpOwotCi0gICAgKmhl
aWdodCA9IDEuMSAqIHRleHRNZXRyaWMudG1IZWlnaHQ7Ci0KLSAgICByZXR1cm4gU19PSzsKLX0K
LQotSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6OmRyYXdIZWFkZXJJblJlY3QoX0luX29wdF8g
SVdlYlZpZXcqIHdlYlZpZXcsIF9Jbl8gUkVDVCogcmVjdCwgVUxPTkdfUFRSIGRyYXdpbmdDb250
ZXh0KQotewotICAgIGlmICghd2ViVmlldyB8fCAhcmVjdCkKLSAgICAgICAgcmV0dXJuIEVfUE9J
TlRFUjsKLQotICAgIC8vIFR1cm4gb2ZmIGhlYWRlciBmb3Igbm93LgotICAgIEhEQyBkYyA9IHJl
aW50ZXJwcmV0X2Nhc3Q8SERDPihkcmF3aW5nQ29udGV4dCk7Ci0KLSAgICBIR0RJT0JKIGhGb250
ID0gOjpHZXRTdG9ja09iamVjdChBTlNJX1ZBUl9GT05UKTsKLSAgICBIR0RJT0JKIGhPbGRGb250
ID0gOjpTZWxlY3RPYmplY3QoZGMsIGhGb250KTsKLQotICAgIExQQ1dTVFIgaGVhZGVyID0gTCJb
U2FtcGxlIEhlYWRlcl0iOwotICAgIHNpemVfdCBsZW5ndGggPSB3Y3NsZW4oaGVhZGVyKTsKLQot
ICAgIGludCByYyA9IDo6RHJhd1RleHRXKGRjLCBoZWFkZXIsIGxlbmd0aCwgcmVjdCwgRFRfTEVG
VCB8IERUX05PQ0xJUCB8IERUX1ZDRU5URVIgfCBEVF9TSU5HTEVMSU5FKTsKLSAgICA6OlNlbGVj
dE9iamVjdChkYywgaE9sZEZvbnQpOwotCi0gICAgaWYgKCFyYykKLSAgICAgICAgcmV0dXJuIEVf
RkFJTDsKLQotICAgIDo6TW92ZVRvRXgoZGMsIHJlY3QtPmxlZnQsIHJlY3QtPmJvdHRvbSwgMCk7
Ci0gICAgSEdESU9CSiBoUGVuID0gOjpHZXRTdG9ja09iamVjdChCTEFDS19QRU4pOwotICAgIEhH
RElPQkogaE9sZFBlbiA9IDo6U2VsZWN0T2JqZWN0KGRjLCBoUGVuKTsKLSAgICA6OkxpbmVUbyhk
YywgcmVjdC0+cmlnaHQsIHJlY3QtPmJvdHRvbSk7Ci0gICAgOjpTZWxlY3RPYmplY3QoZGMsIGhP
bGRQZW4pOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgUHJpbnRXZWJVSURlbGVn
YXRlOjpkcmF3Rm9vdGVySW5SZWN0KF9Jbl9vcHRfIElXZWJWaWV3KiB3ZWJWaWV3LCBfSW5fIFJF
Q1QqIHJlY3QsIFVMT05HX1BUUiBkcmF3aW5nQ29udGV4dCwgVUlOVCBwYWdlSW5kZXgsIFVJTlQg
cGFnZUNvdW50KQotewotICAgIGlmICghd2ViVmlldyB8fCAhcmVjdCkKLSAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKLQotICAgIEhEQyBkYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8SERDPihkcmF3aW5n
Q29udGV4dCk7Ci0KLSAgICBIR0RJT0JKIGhGb250ID0gOjpHZXRTdG9ja09iamVjdChBTlNJX1ZB
Ul9GT05UKTsKLSAgICBIR0RJT0JKIGhPbGRGb250ID0gOjpTZWxlY3RPYmplY3QoZGMsIGhGb250
KTsKLQotICAgIExQQ1dTVFIgZm9vdGVyID0gTCJbU2FtcGxlIEZvb3Rlcl0iOwotICAgIHNpemVf
dCBsZW5ndGggPSB3Y3NsZW4oZm9vdGVyKTsKLQotICAgIC8vIEFkZCBhIGxpbmUsIDEvMTB0aCBp
bmNoIGFib3ZlIHRoZSBmb290ZXIgdGV4dCBmcm9tIGxlZnQgbWFyZ2luIHRvIHJpZ2h0IG1hcmdp
bi4KLSAgICA6Ok1vdmVUb0V4KGRjLCByZWN0LT5sZWZ0LCByZWN0LT50b3AsIDApOwotICAgIEhH
RElPQkogaFBlbiA9IDo6R2V0U3RvY2tPYmplY3QoQkxBQ0tfUEVOKTsKLSAgICBIR0RJT0JKIGhP
bGRQZW4gPSA6OlNlbGVjdE9iamVjdChkYywgaFBlbik7Ci0gICAgOjpMaW5lVG8oZGMsIHJlY3Qt
PnJpZ2h0LCByZWN0LT50b3ApOwotICAgIDo6U2VsZWN0T2JqZWN0KGRjLCBoT2xkUGVuKTsKLQot
ICAgIGludCByYyA9IDo6RHJhd1RleHRXKGRjLCBmb290ZXIsIGxlbmd0aCwgcmVjdCwgRFRfTEVG
VCB8IERUX05PQ0xJUCB8IERUX1ZDRU5URVIgfCBEVF9TSU5HTEVMSU5FKTsKLSAgICA6OlNlbGVj
dE9iamVjdChkYywgaE9sZEZvbnQpOwotCi0gICAgaWYgKCFyYykKLSAgICAgICAgcmV0dXJuIEVf
RkFJTDsKLQotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFByaW50V2ViVUlEZWxlZ2F0
ZTo6Y3JlYXRlTW9kYWxEaWFsb2coX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViVVJM
UmVxdWVzdCosIF9DT01fT3V0cHRyX29wdF8gSVdlYlZpZXcqKiB3ZWJWaWV3KQotewotICAgIGlm
ICghd2ViVmlldykKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqd2ViVmlldyA9IG51
bGxwdHI7Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVy
L1ByaW50V2ViVUlEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1By
aW50V2ViVUlEZWxlZ2F0ZS5oCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hl
ci9QcmludFdlYlVJRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxMDkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxNC0yMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBCcmVudCBGdWxnaGFtLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2lmbmRlZiBQcmludFdlYlVJRGVsZWdhdGVfaAotI2RlZmluZSBQcmludFdlYlVJRGVsZWdh
dGVfaAotCi0jaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPgotCi1jbGFzcyBQcmludFdlYlVJRGVs
ZWdhdGUgOiBwdWJsaWMgSVdlYlVJRGVsZWdhdGUgewotcHVibGljOgotICAgIFByaW50V2ViVUlE
ZWxlZ2F0ZSgpIHsgfQotCi0gICAgLy8gSVVua25vd24KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRw
dHJfIHZvaWQqKiBwcHZPYmplY3QpOwotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZ
UEUgQWRkUmVmKCk7Ci0gICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBSZWxlYXNl
KCk7Ci0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY3JlYXRlV2ViVmll
d1dpdGhSZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYlVSTFJlcXVlc3Qq
LCBfQ09NX091dHB0cl9vcHRfIElXZWJWaWV3KiopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSB3ZWJWaWV3U2hvdyhfSW5fb3B0XyBJV2ViVmlldyopIHsgcmV0dXJuIEVf
Tk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3
Q2xvc2UoX0luX29wdF8gSVdlYlZpZXcqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViVmlld0ZvY3VzKF9Jbl9vcHRfIElXZWJW
aWV3KikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHdlYlZpZXdVbmZvY3VzKF9Jbl9vcHRfIElXZWJWaWV3KikgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlZpZXdG
aXJzdFJlc3BvbmRlcihfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIEhXTkQqKSAgeyByZXR1cm4g
RV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1ha2VG
aXJzdFJlc3BvbmRlcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gSFdORCkgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFN0YXR1
c1RleHQoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIEJTVFIpIHsgcmV0dXJuIEVfTk9USU1QTDsg
fQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3U3RhdHVzVGV4
dChfSW5fb3B0XyBJV2ViVmlldyosIF9fZGVyZWZfb3B0X291dCBCU1RSKikgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlZpZXdB
cmVUb29sYmFyc1Zpc2libGUoX0luX29wdF8gSVdlYlZpZXcqLCBfT3V0XyBCT09MKikgeyByZXR1
cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNl
dFRvb2xiYXJzVmlzaWJsZShfSW5fb3B0XyBJV2ViVmlldyosIEJPT0wpIHsgcmV0dXJuIEVfTk9U
SU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJWaWV3SXNT
dGF0dXNCYXJWaXNpYmxlKF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gQk9PTCopIHsgcmV0dXJu
IEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRT
dGF0dXNCYXJWaXNpYmxlKF9Jbl9vcHRfIElXZWJWaWV3KiwgQk9PTCkgeyByZXR1cm4gRV9OT1RJ
TVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlZpZXdJc1Jl
c2l6YWJsZShfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05PVElN
UEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UmVzaXphYmxl
KF9Jbl9vcHRfIElXZWJWaWV3KiwgQk9PTCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3
KiwgX0luXyBSRUNUKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHdlYlZpZXdGcmFtZShfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRf
IFJFQ1QqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0Q29udGVudFJlY3QoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIFJFQ1Qq
KSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgd2ViVmlld0NvbnRlbnRSZWN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gUkVDVCop
IHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlKF9Jbl9vcHRfIElXZWJWaWV3
KiwgX0luXyBCU1RSKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcnVu
SmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0lu
XyBCU1RSLCBfT3V0XyBCT09MKik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHQoX0luX29wdF8gSVdlYlZp
ZXcqLCBfSW5fIEJTVFIsIF9Jbl8gQlNUUiwgX19kZXJlZl9vcHRfb3V0IEJTVFIqKSB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsV2l0aE1lc3NhZ2UoX0luX29wdF8gSVdlYlZpZXcqLCBf
SW5fIEJTVFIsIElXZWJGcmFtZSosIF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05PVElNUEw7IH0K
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcnVuT3BlblBhbmVsRm9yRmls
ZUJ1dHRvbldpdGhSZXN1bHRMaXN0ZW5lcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lciopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBtb3VzZURpZE1vdmVPdmVyRWxlbWVudChf
SW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElQcm9wZXJ0eUJhZyosIFVJTlQpIHsgcmV0dXJu
IEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjb250
ZXh0TWVudUl0ZW1zRm9yRWxlbWVudChfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElQcm9w
ZXJ0eUJhZyosIF9Jbl8gSE1FTlUsIF9PdXRfIEhNRU5VKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9
Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHZhbGlkYXRlVXNlckludGVy
ZmFjZUl0ZW0oX0luX29wdF8gSVdlYlZpZXcqLCBVSU5ULCBCT09MLCBfT3V0XyBCT09MKikgeyBy
ZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHNob3VsZFBlcmZvcm1BY3Rpb24oX0luX29wdF8gSVdlYlZpZXcqLCBVSU5ULCBVSU5UKSB7IHJl
dHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
ZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFza0ZvckRyYWdnaW5nSW5mbyhfSW5fb3B0XyBJV2ViVmll
dyosIF9Jbl9vcHRfIElEYXRhT2JqZWN0KiwgX0luX29wdF8gV2ViRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKF9Jbl9vcHRfIElXZWJW
aWV3KiwgV2ViRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBfSW5fb3B0XyBJRGF0YU9iamVjdCopIHsg
cmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBM
UFBPSU5ULCBfT3V0XyBXZWJEcmFnU291cmNlQWN0aW9uKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9
Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdpbGxQZXJmb3JtRHJhZ1Nv
dXJjZUFjdGlvbihfSW5fb3B0XyBJV2ViVmlldyosIFdlYkRyYWdTb3VyY2VBY3Rpb24sIF9Jbl8g
TFBQT0lOVCwgX0luX29wdF8gSURhdGFPYmplY3QqLCBfQ09NX091dHB0cl9vcHRfIElEYXRhT2Jq
ZWN0KiopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjb250ZXh0TWVu
dUl0ZW1TZWxlY3RlZChfSW5fb3B0XyBJV2ViVmlldyosIHZvaWQqLCBJUHJvcGVydHlCYWcqKSB7
IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgaGFzQ3VzdG9tTWVudUltcGxlbWVudGF0aW9uKF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05P
VElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdHJhY2tDdXN0
b21Qb3B1cE1lbnUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIEhNRU5VLCBfSW5fIExQUE9JTlQp
IHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBtZWFzdXJlQ3VzdG9tTWVudUl0ZW0oSVdlYlZpZXcqLCB2b2lkKikgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRyYXdDdXN0
b21NZW51SXRlbShJV2ViVmlldyosIHZvaWQqKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYWRkQ3VzdG9tTWVudURyYXdpbmdEYXRh
KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBITUVOVSkgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0g
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNsZWFuVXBDdXN0b21NZW51RHJh
d2luZ0RhdGEoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fIEhNRU5VKSB7IHJldHVybiBFX05PVElN
UEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FuVGFrZUZvY3Vz
KF9Jbl9vcHRfIElXZWJWaWV3KiwgQk9PTCwgX091dF8gQk9PTCopIHsgcmV0dXJuIEVfTk9USU1Q
TDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB0YWtlRm9jdXMoX0lu
X29wdF8gSVdlYlZpZXcqLCBCT09MKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVnaXN0ZXJVbmRvV2l0aFRhcmdldChfSW5fb3B0
XyBJV2ViVW5kb1RhcmdldCosIF9Jbl8gQlNUUiwgX0luX29wdF8gSVVua25vd24qKSB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVt
b3ZlQWxsQWN0aW9uc1dpdGhUYXJnZXQoX0luX29wdF8gSVdlYlVuZG9UYXJnZXQqKSB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0
QWN0aW9uVGl0bGUoX0luXyBCU1RSKSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW5kbygpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZWRvKCkgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhblVuZG8o
X091dF8gQk9PTCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBjYW5SZWRvKF9PdXRfIEJPT0wqKSB7IHJldHVybiBFX05PVElNUEw7
IH0KLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcHJpbnRGcmFtZShfSW5f
b3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSopIHsgcmV0dXJuIEVfTk9USU1QTDsg
fQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBmdHBEaXJlY3RvcnlUZW1w
bGF0ZVBhdGgoX0luX29wdF8gSVdlYlZpZXcqLCBfX2RlcmVmX29wdF9vdXQgQlNUUiopIHsgcmV0
dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3
ZWJWaWV3SGVhZGVySGVpZ2h0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX091dF8gZmxvYXQqKTsKLSAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViVmlld0Zvb3RlckhlaWdodChf
SW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIGZsb2F0Kik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIGRyYXdIZWFkZXJJblJlY3QoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5f
IFJFQ1QqLCBVTE9OR19QVFIpOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBkcmF3Rm9vdGVySW5SZWN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luXyBSRUNUKiwgVUxPTkdf
UFRSLCBVSU5ULCBVSU5UKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
d2ViVmlld1ByaW50aW5nTWFyZ2luUmVjdChfSW5fb3B0XyBJV2ViVmlldyosIF9PdXRfIFJFQ1Qq
KTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FuUnVuTW9kYWwoX0lu
X29wdF8gSVdlYlZpZXcqLCBfT3V0XyBCT09MKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNyZWF0ZU1vZGFsRGlhbG9nKF9Jbl9v
cHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYlVSTFJlcXVlc3QqLCBfQ09NX091dHB0cl9vcHRf
IElXZWJWaWV3KiopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBydW5N
b2RhbChfSW5fb3B0XyBJV2ViVmlldyopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBpc01lbnVCYXJWaXNpYmxlKF9Jbl9vcHRfIElX
ZWJWaWV3KiwgX091dF8gQk9PTCopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRNZW51QmFyVmlzaWJsZShfSW5fb3B0XyBJV2Vi
VmlldyosIEJPT0wpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBydW5EYXRhYmFzZVNpemVMaW1pdFByb21wdChfSW5fb3B0XyBJV2Vi
VmlldyosIF9Jbl8gQlNUUiwgX0luX29wdF8gSVdlYkZyYW1lKiwgX091dF8gQk9PTCopIHsgcmV0
dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBw
YWludEN1c3RvbVNjcm9sbGJhcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gSERDLCBSRUNULCBX
ZWJTY3JvbGxCYXJDb250cm9sU2l6ZSwgV2ViU2Nyb2xsYmFyQ29udHJvbFN0YXRlLCBXZWJTY3Jv
bGxiYXJDb250cm9sUGFydCwgQk9PTCwgZmxvYXQsIGZsb2F0LCBXZWJTY3JvbGxiYXJDb250cm9s
UGFydE1hc2spIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBwYWludEN1c3RvbVNjcm9sbENvcm5lcihfSW5fb3B0XyBJV2ViVmlldyos
IF9Jbl8gSERDLCBSRUNUKSB7IHJldHVybiBFX05PVElNUEw7IH0KLQotcHJpdmF0ZToKLSAgICBp
bnQgbV9yZWZDb3VudCB7IDEgfTsKLX07Ci0KLSNlbmRpZgpJbmRleDogVG9vbHMvV2luTGF1bmNo
ZXIvUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5j
aGVyL1Jlc291cmNlTG9hZERlbGVnYXRlLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMv
V2luTGF1bmNoZXIvUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDEyOSArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1l
dDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0qIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0qIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0qLwotCi0jaW5jbHVkZSAic3RkYWZ4Lmgi
Ci0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkRGVsZWdhdGUuaCIKLQotI2luY2x1ZGUgIlBhZ2VMb2Fk
VGVzdENsaWVudC5oIgotI2luY2x1ZGUgIldpbkxhdW5jaGVyLmgiCi0jaW5jbHVkZSA8V2ViS2l0
L1dlYktpdENPTUFQSS5oPgotI2luY2x1ZGUgPGNvbWlwLmg+Ci0jaW5jbHVkZSA8Y29tbWN0cmwu
aD4KLSNpbmNsdWRlIDxjb21tZGxnLmg+Ci0jaW5jbHVkZSA8b2JqYmFzZS5oPgotI2luY2x1ZGUg
PHNobHdhcGkuaD4KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2Fk
RGVsZWdhdGU6OlF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2
b2lkKiogcHB2T2JqZWN0KQotewotICAgIGlmICghcHB2T2JqZWN0KQotICAgICAgICByZXR1cm4g
RV9QT0lOVEVSOwotICAgICpwcHZPYmplY3QgPSBudWxscHRyOwotICAgIGlmIChJc0VxdWFsSUlE
KHJpaWQsIElJRF9JVW5rbm93bikpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJ
V2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0VxdWFsSUlE
KHJpaWQsIElJRF9JV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUpKQotICAgICAgICAqcHB2T2JqZWN0
ID0gc3RhdGljX2Nhc3Q8SVdlYlJlc291cmNlTG9hZERlbGVnYXRlKj4odGhpcyk7Ci0gICAgZWxz
ZQotICAgICAgICByZXR1cm4gRV9OT0lOVEVSRkFDRTsKLQotICAgIEFkZFJlZigpOwotICAgIHJl
dHVybiBTX09LOwotfQotCi1VTE9ORyBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6QWRkUmVmKCkKLXsK
LSAgICByZXR1cm4gKyttX3JlZkNvdW50OwotfQotCi1VTE9ORyBSZXNvdXJjZUxvYWREZWxlZ2F0
ZTo6UmVsZWFzZSgpCi17Ci0gICAgVUxPTkcgbmV3UmVmID0gLS1tX3JlZkNvdW50OwotICAgIGlm
ICghbmV3UmVmKQotICAgICAgICBkZWxldGUgdGhpczsKLQotICAgIHJldHVybiBuZXdSZWY7Ci19
Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2FkRGVsZWdhdGU6OmlkZW50aWZpZXJGb3JJbml0aWFsUmVx
dWVzdChfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJVUkxSZXF1ZXN0KiwgX0luX29w
dF8gSVdlYkRhdGFTb3VyY2UqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCi17Ci0gICAgaWYg
KCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIG1fY2xpZW50LT5wYWdl
TG9hZFRlc3RDbGllbnQoKS5kaWRJbml0aWF0ZVJlc291cmNlTG9hZChpZGVudGlmaWVyKTsKLQot
ICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFJlc291cmNlTG9hZERlbGVnYXRlOjp3aWxs
U2VuZFJlcXVlc3QoX0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nLCBfSW5fb3B0XyBJ
V2ViVVJMUmVxdWVzdCosIF9Jbl9vcHRfIElXZWJVUkxSZXNwb25zZSosIF9Jbl9vcHRfIElXZWJE
YXRhU291cmNlKiwgX0NPTV9PdXRwdHJfb3B0XyBJV2ViVVJMUmVxdWVzdCoqIHJlc3VsdCkKLXsK
LSAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqcmVzdWx0
ID0gbnVsbHB0cjsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFJlc291cmNl
TG9hZERlbGVnYXRlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoX0luX29wdF8g
SVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nLCBfSW5fb3B0XyBJV2ViVVJMQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopCi17Ci0gICAgcmV0dXJuIEVfTk9U
SU1QTDsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6ZGlkQ2FuY2VsQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoX0luX29wdF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nLCBfSW5f
b3B0XyBJV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqLCBfSW5fb3B0XyBJV2ViRGF0YVNv
dXJjZSopCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxv
YWREZWxlZ2F0ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5zaWdu
ZWQgbG9uZywgX0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiwgX0luX29wdF8gSVdlYkRhdGFTb3Vy
Y2UqKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2Fk
RGVsZWdhdGU6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5z
aWduZWQgbG9uZywgVUlOVCwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKQotewotICAgIHJldHVy
biBFX05PVElNUEw7Ci19Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2FkRGVsZWdhdGU6OmRpZEZpbmlz
aExvYWRpbmdGcm9tRGF0YVNvdXJjZShfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKQotewotICAgIGlmICghbV9jbGll
bnQpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0
Q2xpZW50KCkuZGlkRW5kUmVzb3VyY2VMb2FkKGlkZW50aWZpZXIpOwotCi0gICAgcmV0dXJuIFNf
T0s7Ci19Ci0KLUhSRVNVTFQgUmVzb3VyY2VMb2FkRGVsZWdhdGU6OmRpZEZhaWxMb2FkaW5nV2l0
aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5f
b3B0XyBJV2ViRXJyb3IqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopCi17Ci0gICAgaWYgKCFt
X2NsaWVudCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIG1fY2xpZW50LT5wYWdlTG9h
ZFRlc3RDbGllbnQoKS5kaWRFbmRSZXNvdXJjZUxvYWQoaWRlbnRpZmllcik7Ci0KLSAgICByZXR1
cm4gU19PSzsKLX0KLQotSFJFU1VMVCBSZXNvdXJjZUxvYWREZWxlZ2F0ZTo6cGx1Z0luRmFpbGVk
V2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29w
dF8gSVdlYkRhdGFTb3VyY2UqKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19CkluZGV4OiBU
b29scy9XaW5MYXVuY2hlci9SZXNvdXJjZUxvYWREZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dpbkxhdW5jaGVyL1Jlc291cmNlTG9hZERlbGVnYXRlLmgJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL1Jlc291cmNlTG9hZERlbGVnYXRlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgQXBwbGUg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0q
IGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0qIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0qIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0qIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpZm5kZWYg
UmVzb3VyY2VMb2FkRGVsZWdhdGVfaAotI2RlZmluZSBSZXNvdXJjZUxvYWREZWxlZ2F0ZV9oCi0K
LSNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+Ci0KLWNsYXNzIFdpbkxhdW5jaGVyOwotCi1jbGFz
cyBSZXNvdXJjZUxvYWREZWxlZ2F0ZSA6IHB1YmxpYyBJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUg
ewotcHVibGljOgotICAgIFJlc291cmNlTG9hZERlbGVnYXRlKFdpbkxhdW5jaGVyKiBjbGllbnQp
Ci0gICAgICAgIDogbV9jbGllbnQoY2xpZW50KSB7IH0KLQotICAgIC8vIElVbmtub3duCi0gICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVG
SUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKLSAgICB2aXJ0dWFsIFVM
T05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVU
SE9EQ0FMTFRZUEUgUmVsZWFzZSgpOwotCi0gICAgLy8gSVdlYlJlc291cmNlTG9hZERlbGVnYXRl
Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGlkZW50aWZpZXJGb3JJbml0
aWFsUmVxdWVzdChfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJVUkxSZXF1ZXN0Kiwg
X0luX29wdF8gSVdlYkRhdGFTb3VyY2UqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwotICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3aWxsU2VuZFJlcXVlc3QoX0luX29w
dF8gSVdlYlZpZXcqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIF9Jbl9vcHRfIElXZWJVUkxS
ZXF1ZXN0KiwgX0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiByZWRpcmVjdFJlc3BvbnNlLCBfSW5f
b3B0XyBJV2ViRGF0YVNvdXJjZSosIF9DT01fT3V0cHRyX29wdF8gSVdlYlVSTFJlcXVlc3QqKiBu
ZXdSZXF1ZXN0KTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKF9Jbl9vcHRfIElXZWJWaWV3KiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uq
LCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBkaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShfSW5fb3B0XyBJV2Vi
VmlldyosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgX0luX29wdF8gSVdlYlVSTEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKiwgX0luX29wdF8gSVdlYkRhdGFTb3VyY2UqKTsKLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUmVjZWl2ZVJlc3BvbnNlKF9Jbl9vcHRfIElX
ZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9u
c2UqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBkaWRSZWNlaXZlQ29udGVudExlbmd0aChfSW5fb3B0XyBJV2ViVmlldyos
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgVUlOVCBsZW5ndGgsIF9Jbl9vcHRfIElXZWJEYXRh
U291cmNlKik7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEZpbmlz
aExvYWRpbmdGcm9tRGF0YVNvdXJjZShfSW5fb3B0XyBJV2ViVmlldyosIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgX0luX29wdF8gIElXZWJEYXRhU291cmNlKik7Ci0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9yKF9Jbl9vcHRfIElX
ZWJWaWV3KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBf
SW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBwbHVnSW5GYWlsZWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0
XyBJV2ViRXJyb3IqLCBfSW5fb3B0XyBJV2ViRGF0YVNvdXJjZSopOwotCi1wcml2YXRlOgotICAg
IFdpbkxhdW5jaGVyKiBtX2NsaWVudDsKLSAgICBpbnQgbV9yZWZDb3VudCB7IDEgfTsKLX07Ci0K
LSNlbmRpZiAvLyBSZXNvdXJjZUxvYWREZWxlZ2F0ZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIv
V2ViRG93bmxvYWREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIv
V2ViRG93bmxvYWREZWxlZ2F0ZS5jcHAJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL1dlYkRvd25sb2FkRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1OCAr
MCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNsdWRlICJzdGRhZnguaCIKLSNpbmNs
dWRlICJXZWJEb3dubG9hZERlbGVnYXRlLmgiCi0KLSNpbmNsdWRlIDxzaGxvYmouaD4KLQotV2Vi
RG93bmxvYWREZWxlZ2F0ZTo6V2ViRG93bmxvYWREZWxlZ2F0ZSgpCi17Ci19Ci0KLVdlYkRvd25s
b2FkRGVsZWdhdGU6On5XZWJEb3dubG9hZERlbGVnYXRlKCkKLXsKLX0KLQotSFJFU1VMVCBXZWJE
b3dubG9hZERlbGVnYXRlOjpRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091
dHB0cl8gdm9pZCoqIHBwdk9iamVjdCkKLXsKLSAgICBpZiAoIXBwdk9iamVjdCkKLSAgICAgICAg
cmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqcHB2T2JqZWN0ID0gbnVsbHB0cjsKLQotICAgIGlmIChJ
c0VxdWFsR1VJRChyaWlkLCBJSURfSVVua25vd24pKQotICAgICAgICAqcHB2T2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8SVdlYkRvd25sb2FkRGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0Vx
dWFsR1VJRChyaWlkLCBJSURfSVdlYkRvd25sb2FkRGVsZWdhdGUpKQotICAgICAgICAqcHB2T2Jq
ZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYkRvd25sb2FkRGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNl
Ci0gICAgICAgIHJldHVybiBFX05PSU5URVJGQUNFOwotCi0gICAgQWRkUmVmKCk7Ci0gICAgcmV0
dXJuIFNfT0s7Ci19Ci0KLVVMT05HIFdlYkRvd25sb2FkRGVsZWdhdGU6OkFkZFJlZigpCi17Ci0g
ICAgbV9yZWZDb3VudCsrOwotICAgIHJldHVybiBtX3JlZkNvdW50OwotfQotCi1VTE9ORyBXZWJE
b3dubG9hZERlbGVnYXRlOjpSZWxlYXNlKCkKLXsKLSAgICBtX3JlZkNvdW50LS07Ci0gICAgaW50
IHJlZkNvdW50ID0gbV9yZWZDb3VudDsKLSAgICBpZiAoIXJlZkNvdW50KQotICAgICAgICBkZWxl
dGUgdGhpczsKLSAgICByZXR1cm4gcmVmQ291bnQ7Ci19Ci0KLUhSRVNVTFQgV2ViRG93bmxvYWRE
ZWxlZ2F0ZTo6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoX0luX29wdF8g
SVdlYkRvd25sb2FkKiBkb3dubG9hZCwgX0luXyBCU1RSIGZpbGVuYW1lKQotewotICAgIGlmICgh
ZG93bmxvYWQpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICB3Y2hhcl90IGRlc2t0
b3BEaXJlY3RvcnlbTUFYX1BBVEhdOwotICAgIGlmIChGQUlMRUQoU0hHZXRGb2xkZXJQYXRoVygw
LCBDU0lETF9ERVNLVE9QLCAwLCAwLCBkZXNrdG9wRGlyZWN0b3J5KSkpCi0gICAgICAgIHJldHVy
biBFX0ZBSUw7Ci0KLSAgICBfYnN0cl90IGRlc3RpbmF0aW9uID0gX2JzdHJfdChkZXNrdG9wRGly
ZWN0b3J5KSArIEwiXFwiICsgOjpQYXRoRmluZEZpbGVOYW1lVyhmaWxlbmFtZSk7Ci0KLSAgICBp
ZiAoOjpQYXRoRmlsZUV4aXN0cyhkZXN0aW5hdGlvbikpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7
Ci0KLSAgICBkb3dubG9hZC0+c2V0RGVzdGluYXRpb24oZGVzdGluYXRpb24sIFRSVUUpOwotICAg
IHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFdlYkRvd25sb2FkRGVsZWdhdGU6OmRpZENhbmNl
bEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKF9Jbl9vcHRfIElXZWJEb3dubG9hZCogZG93bmxvYWQs
IF9Jbl9vcHRfIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSogY2hhbGxlbmdlKQotewot
ICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNVTFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6
ZGlkQ3JlYXRlRGVzdGluYXRpb24oX0luX29wdF8gSVdlYkRvd25sb2FkKiBkb3dubG9hZCwgX0lu
XyBCU1RSIGRlc3RpbmF0aW9uKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19Ci0KLUhSRVNV
TFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6ZGlkRmFpbFdpdGhFcnJvcihfSW5fb3B0XyBJV2ViRG93
bmxvYWQqIGRvd25sb2FkLCBfSW5fb3B0XyBJV2ViRXJyb3IqIGVycm9yKQotewotICAgIGlmICgh
ZG93bmxvYWQpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICBkb3dubG9hZC0+UmVs
ZWFzZSgpOwotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFdlYkRvd25sb2FkRGVsZWdh
dGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShfSW5fb3B0XyBJV2ViRG93bmxv
YWQqIGRvd25sb2FkLCBfSW5fb3B0XyBJV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqIGNo
YWxsZW5nZSkKLXsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFdlYkRvd25s
b2FkRGVsZWdhdGU6OmRpZFJlY2VpdmVEYXRhT2ZMZW5ndGgoX0luX29wdF8gSVdlYkRvd25sb2Fk
KiBkb3dubG9hZCwgdW5zaWduZWQgbGVuZ3RoKQotewotICAgIHJldHVybiBFX05PVElNUEw7Ci19
Ci0KLUhSRVNVTFQgV2ViRG93bmxvYWREZWxlZ2F0ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKF9Jbl9v
cHRfIElXZWJEb3dubG9hZCogZG93bmxvYWQsIF9Jbl9vcHRfIElXZWJVUkxSZXNwb25zZSogcmVz
cG9uc2UpCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBXZWJEb3dubG9h
ZERlbGVnYXRlOjpzaG91bGREZWNvZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZShfSW5fb3B0XyBJV2Vi
RG93bmxvYWQqIGRvd25sb2FkLCBfSW5fIEJTVFIgZW5jb2RpbmdUeXBlLCBfT3V0XyBCT09MKiBz
aG91bGREZWNvZGUpCi17Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKLX0KLQotSFJFU1VMVCBXZWJE
b3dubG9hZERlbGVnYXRlOjp3aWxsUmVzdW1lV2l0aFJlc3BvbnNlKF9Jbl9vcHRfIElXZWJEb3du
bG9hZCogZG93bmxvYWQsIF9Jbl9vcHRfIElXZWJVUkxSZXNwb25zZSogcmVzcG9uc2UsIGxvbmcg
bG9uZyBmcm9tQnl0ZSkKLXsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFdl
YkRvd25sb2FkRGVsZWdhdGU6OndpbGxTZW5kUmVxdWVzdChfSW5fb3B0XyBJV2ViRG93bmxvYWQq
IGRvd25sb2FkLCBfSW5fb3B0XyBJV2ViTXV0YWJsZVVSTFJlcXVlc3QqIHJlcXVlc3QsCi0gICAg
X0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiByZWRpcmVjdFJlc3BvbnNlLCBfQ09NX091dHB0cl9v
cHRfIElXZWJNdXRhYmxlVVJMUmVxdWVzdCoqIGZpbmFsUmVxdWVzdCkKLXsKLSAgICBpZiAoIWZp
bmFsUmVxdWVzdCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqZmluYWxSZXF1ZXN0
ID0gbnVsbHB0cjsKLSAgICByZXR1cm4gRV9OT1RJTVBMOwotfQotCi1IUkVTVUxUIFdlYkRvd25s
b2FkRGVsZWdhdGU6OmRpZEJlZ2luKF9Jbl9vcHRfIElXZWJEb3dubG9hZCogZG93bmxvYWQpCi17
Ci0gICAgaWYgKCFkb3dubG9hZCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIGRv
d25sb2FkLT5BZGRSZWYoKTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBXZWJEb3du
bG9hZERlbGVnYXRlOjpkaWRGaW5pc2goX0luX29wdF8gSVdlYkRvd25sb2FkKiBkb3dubG9hZCkK
LXsKLSAgICBpZiAoIWRvd25sb2FkKQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotCi0gICAg
ZG93bmxvYWQtPlJlbGVhc2UoKTsKLSAgICByZXR1cm4gU19PSzsKLX0KSW5kZXg6IFRvb2xzL1dp
bkxhdW5jaGVyL1dlYkRvd25sb2FkRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5M
YXVuY2hlci9XZWJEb3dubG9hZERlbGVnYXRlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1dlYkRvd25sb2FkRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
OCArMCwwIEBACi0vKgotKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0qICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotKgotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0qIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0qIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0qIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpZm5kZWYgV2ViRG93bmxvYWREZWxl
Z2F0ZV9oCi0jZGVmaW5lIFdlYkRvd25sb2FkRGVsZWdhdGVfaAotCi0jaW5jbHVkZSA8V2ViS2l0
L1dlYktpdC5oPgotI2luY2x1ZGUgPFdlYktpdC9XZWJLaXRDT01BUEkuaD4KLQotY2xhc3MgV2Vi
RG93bmxvYWREZWxlZ2F0ZSA6IHB1YmxpYyBJV2ViRG93bmxvYWREZWxlZ2F0ZSB7Ci1wdWJsaWM6
Ci0gICAgV2ViRG93bmxvYWREZWxlZ2F0ZSgpOwotICAgIHZpcnR1YWwgfldlYkRvd25sb2FkRGVs
ZWdhdGUoKTsKLQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUlu
dGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7
Ci0gICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKLSAgICB2aXJ0
dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIFJlbGVhc2UoKTsKLQotICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxl
bmFtZShfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBfSW5fIEJTVFIgZmlsZW5hbWUpOwotICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBfSW5fb3B0XyBJV2ViVVJMQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
ZGlkQ3JlYXRlRGVzdGluYXRpb24oX0luX29wdF8gSVdlYkRvd25sb2FkKiwgX0luXyBCU1RSIGRl
c3RpbmF0aW9uKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkRmFp
bFdpdGhFcnJvcihfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBfSW5fb3B0XyBJV2ViRXJyb3IqKTsK
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIF9Jbl9vcHRfIElXZWJVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBkaWRSZWNlaXZlRGF0YU9mTGVuZ3RoKF9Jbl9vcHRfIElXZWJEb3dubG9hZCosIHVu
c2lnbmVkIGxlbmd0aCk7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRp
ZFJlY2VpdmVSZXNwb25zZShfSW5fb3B0XyBJV2ViRG93bmxvYWQqLCBfSW5fb3B0XyBJV2ViVVJM
UmVzcG9uc2UqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2hvdWxk
RGVjb2RlU291cmNlRGF0YU9mTUlNRVR5cGUoX0luX29wdF8gSVdlYkRvd25sb2FkKiwgX0luXyBC
U1RSIGVuY29kaW5nVHlwZSwgX091dF8gQk9PTCogc2hvdWxkRGVjb2RlKTsKLSAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2lsbFJlc3VtZVdpdGhSZXNwb25zZShfSW5fb3B0
XyBJV2ViRG93bmxvYWQqLCBfSW5fb3B0XyBJV2ViVVJMUmVzcG9uc2UqLCBsb25nIGxvbmcgZnJv
bUJ5dGUpOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3aWxsU2VuZFJl
cXVlc3QoX0luX29wdF8gSVdlYkRvd25sb2FkKiwgX0luX29wdF8gSVdlYk11dGFibGVVUkxSZXF1
ZXN0KiwgX0luX29wdF8gSVdlYlVSTFJlc3BvbnNlKiByZWRpcmVjdFJlc3BvbnNlLCBfQ09NX091
dHB0cl9vcHRfIElXZWJNdXRhYmxlVVJMUmVxdWVzdCoqIGZpbmFsUmVxdWVzdCk7Ci0gICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEJlZ2luKF9Jbl9vcHRfIElXZWJEb3du
bG9hZCopOwotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRGaW5pc2go
X0luX29wdF8gSVdlYkRvd25sb2FkKik7Ci0KLXByaXZhdGU6Ci0gICAgaW50IG1fcmVmQ291bnQg
eyAxIH07Ci19OwotCi0jZW5kaWYKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHAJKHJl
dmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1MDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwOCwgMjAxMy0yMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDksIDIwMTEgQnJlbnQgRnVsZ2hhbS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgQXBwY2VsZXJhdG9yLCBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWxleCBDaHJpc3RlbnNl
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpbmNsdWRlICJzdGRhZnguaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlci5o
IgotCi0jaW5jbHVkZSAiRE9NRGVmYXVsdEltcGwuaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlckxp
YlJlc291cmNlLmgiCi0jaW5jbHVkZSAiV2luTGF1bmNoZXJSZXBsYWNlLmgiCi0jaW5jbHVkZSA8
V2ViS2l0L1dlYktpdENPTUFQSS5oPgotI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KLSNp
bmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQotI2lmIFVTRShDRikKLSNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9DRlJ1bkxvb3AuaD4KLSNlbmRpZgotCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2lu
Y2x1ZGUgPGNhc3NlcnQ+Ci0jaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSNpbmNsdWRlIDxtZW1vcnk+
Ci0jaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHZlY3Rvcj4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3coSFdORCk7Ci19Ci0KLXN0YXRp
YyBjb25zdCBpbnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKLQotdHlwZWRlZiBfY29tX3B0cl90PF9j
b21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0YWJsZVVSTFJl
cXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotCi1XaW5MYXVuY2hlcjo6V2luTGF1
bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmll
dywgYm9vbCBwYWdlTG9hZFRlc3RpbmcpCi0gICAgOiBtX2hNYWluV25kKG1haW5XbmQpCi0gICAg
LCBtX2hVUkxCYXJXbmQodXJsQmFyV25kKQotICAgICwgbV91c2VMYXllcmVkV2ViVmlldyh1c2VM
YXllcmVkV2ViVmlldykKLSAgICAsIG1fcGFnZUxvYWRUZXN0Q2xpZW50KHN0ZDo6bWFrZV91bmlx
dWU8UGFnZUxvYWRUZXN0Q2xpZW50Pih0aGlzLCBwYWdlTG9hZFRlc3RpbmcpKQotewotfQotCi1I
UkVTVUxUIFdpbkxhdW5jaGVyOjppbml0KCkKLXsKLSAgICB1cGRhdGVEZXZpY2VTY2FsZUZhY3Rv
cigpOwotCi0gICAgSFJFU1VMVCBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYlZp
ZXcsIDAsIElJRF9JV2ViVmlldywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZtX3dlYlZpZXcu
R2V0SW50ZXJmYWNlUHRyKCkpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJu
IGhyOwotCi0gICAgaHIgPSBtX3dlYlZpZXctPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViVmlld1By
aXZhdGUyLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViVmlld1ByaXZhdGUuR2V0SW50
ZXJmYWNlUHRyKCkpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwot
Ci0gICAgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJIaXN0b3J5LCAwLCBfX3V1
aWRvZihtX3dlYkhpc3RvcnkpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViSGlzdG9y
eS5HZXRJbnRlcmZhY2VQdHIoKSkpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1
cm4gaHI7Ci0KLSAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkNvcmVTdGF0
aXN0aWNzLCAwLCBfX3V1aWRvZihtX3N0YXRpc3RpY3MpLCByZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oJm1fc3RhdGlzdGljcy5HZXRJbnRlcmZhY2VQdHIoKSkpOwotICAgIGlmIChGQUlMRUQoaHIp
KQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENM
U0lEX1dlYkNhY2hlLCAwLCBfX3V1aWRvZihtX3dlYkNhY2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KCZtX3dlYkNhY2hlLkdldEludGVyZmFjZVB0cigpKSk7Ci0KLSAgICByZXR1cm4gaHI7
Ci19Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXI6OnByZXBhcmVWaWV3cyhIV05EIG1haW5XbmQsIGNv
bnN0IFJFQ1QmIGNsaWVudFJlY3QsIGNvbnN0IEJTVFImIHJlcXVlc3RlZFVSTCwgSFdORCYgdmll
d0h3bmQpCi17Ci0gICAgaWYgKCFtX3dlYlZpZXcpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0K
LSAgICBIUkVTVUxUIGhyID0gbV93ZWJWaWV3LT5zZXRIb3N0V2luZG93KG1haW5XbmQpOwotICAg
IGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBociA9IG1fd2ViVmll
dy0+aW5pdFdpdGhGcmFtZShjbGllbnRSZWN0LCAwLCAwKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkK
LSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgaWYgKCFyZXF1ZXN0ZWRVUkwpIHsKLSAgICAgICAg
SVdlYkZyYW1lUHRyIGZyYW1lOwotICAgICAgICBociA9IG1fd2ViVmlldy0+bWFpbkZyYW1lKCZm
cmFtZS5HZXRJbnRlcmZhY2VQdHIoKSk7Ci0gICAgICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAg
ICAgICAgcmV0dXJuIGhyOwotCi0gICAgICAgIGZyYW1lLT5sb2FkSFRNTFN0cmluZyhfYnN0cl90
KGRlZmF1bHRIVE1MKS5HZXRCU1RSKCksIDApOwotICAgIH0KLQotICAgIGhyID0gbV93ZWJWaWV3
UHJpdmF0ZS0+c2V0VHJhbnNwYXJlbnQobV91c2VMYXllcmVkV2ViVmlldyk7Ci0gICAgaWYgKEZB
SUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGhyID0gbV93ZWJWaWV3UHJpdmF0
ZS0+c2V0VXNlc0xheWVyZWRXaW5kb3cobV91c2VMYXllcmVkV2ViVmlldyk7Ci0gICAgaWYgKEZB
SUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGhyID0gbV93ZWJWaWV3UHJpdmF0
ZS0+dmlld1dpbmRvdygmdmlld0h3bmQpOwotCi0gICAgcmV0dXJuIGhyOwotfQotCi1IUkVTVUxU
IFdpbkxhdW5jaGVyOjpzZXRGcmFtZUxvYWREZWxlZ2F0ZShJV2ViRnJhbWVMb2FkRGVsZWdhdGUq
IGZyYW1lTG9hZERlbGVnYXRlKQotewotICAgIG1fZnJhbWVMb2FkRGVsZWdhdGUgPSBmcmFtZUxv
YWREZWxlZ2F0ZTsKLSAgICByZXR1cm4gbV93ZWJWaWV3LT5zZXRGcmFtZUxvYWREZWxlZ2F0ZShm
cmFtZUxvYWREZWxlZ2F0ZSk7Ci19Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXI6OnNldEZyYW1lTG9h
ZERlbGVnYXRlUHJpdmF0ZShJV2ViRnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlKiBmcmFtZUxvYWRE
ZWxlZ2F0ZVByaXZhdGUpCi17Ci0gICAgcmV0dXJuIG1fd2ViVmlld1ByaXZhdGUtPnNldEZyYW1l
TG9hZERlbGVnYXRlUHJpdmF0ZShmcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUpOwotfQotCi1IUkVT
VUxUIFdpbkxhdW5jaGVyOjpzZXRVSURlbGVnYXRlKElXZWJVSURlbGVnYXRlKiB1aURlbGVnYXRl
KQotewotICAgIG1fdWlEZWxlZ2F0ZSA9IHVpRGVsZWdhdGU7Ci0gICAgcmV0dXJuIG1fd2ViVmll
dy0+c2V0VUlEZWxlZ2F0ZSh1aURlbGVnYXRlKTsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcjo6
c2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUqIGFjY2Vzc2li
aWxpdHlEZWxlZ2F0ZSkKLXsKLSAgICBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZSA9IGFjY2Vzc2li
aWxpdHlEZWxlZ2F0ZTsKLSAgICByZXR1cm4gbV93ZWJWaWV3LT5zZXRBY2Nlc3NpYmlsaXR5RGVs
ZWdhdGUoYWNjZXNzaWJpbGl0eURlbGVnYXRlKTsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcjo6
c2V0UmVzb3VyY2VMb2FkRGVsZWdhdGUoSVdlYlJlc291cmNlTG9hZERlbGVnYXRlKiByZXNvdXJj
ZUxvYWREZWxlZ2F0ZSkKLXsKLSAgICBtX3Jlc291cmNlTG9hZERlbGVnYXRlID0gcmVzb3VyY2VM
b2FkRGVsZWdhdGU7Ci0gICAgcmV0dXJuIG1fd2ViVmlldy0+c2V0UmVzb3VyY2VMb2FkRGVsZWdh
dGUocmVzb3VyY2VMb2FkRGVsZWdhdGUpOwotfQotCi1IUkVTVUxUIFdpbkxhdW5jaGVyOjpzZXRE
b3dubG9hZERlbGVnYXRlKElXZWJEb3dubG9hZERlbGVnYXRlUHRyIGRvd25sb2FkRGVsZWdhdGUp
Ci17Ci0gICAgbV9kb3dubG9hZERlbGVnYXRlID0gZG93bmxvYWREZWxlZ2F0ZTsKLSAgICByZXR1
cm4gbV93ZWJWaWV3LT5zZXREb3dubG9hZERlbGVnYXRlKGRvd25sb2FkRGVsZWdhdGUpOwotfQot
Ci1JV2ViRnJhbWVQdHIgV2luTGF1bmNoZXI6Om1haW5GcmFtZSgpCi17Ci0gICAgSVdlYkZyYW1l
UHRyIGZyYW1lUHRyOwotICAgIG1fd2ViVmlldy0+bWFpbkZyYW1lKCZmcmFtZVB0ci5HZXRJbnRl
cmZhY2VQdHIoKSk7Ci0gICAgcmV0dXJuIGZyYW1lUHRyOwotfQotCi1ib29sIFdpbkxhdW5jaGVy
OjpzZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpCi17Ci0gICAgSVdlYlByZWZlcmVuY2Vz
UHRyIHRtcFByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQoV2ViS2l0Q3JlYXRlSW5zdGFuY2Uo
Q0xTSURfV2ViUHJlZmVyZW5jZXMsIDAsIElJRF9JV2ViUHJlZmVyZW5jZXMsIHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPigmdG1wUHJlZmVyZW5jZXMuR2V0SW50ZXJmYWNlUHRyKCkpKSkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChGQUlMRUQodG1wUHJlZmVyZW5jZXMtPnN0YW5k
YXJkUHJlZmVyZW5jZXMoJm1fc3RhbmRhcmRQcmVmZXJlbmNlcy5HZXRJbnRlcmZhY2VQdHIoKSkp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBX
aW5MYXVuY2hlcjo6c2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKQotewotICAgIEhSRVNVTFQgaHIg
PSBtX3N0YW5kYXJkUHJlZmVyZW5jZXMtPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fcHJlZnNQcml2YXRlLkdldElu
dGVyZmFjZVB0cigpKSk7Ci0gICAgaWYgKCFTVUNDRUVERUQoaHIpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSNpZiBVU0UoQ0cpCi0gICAgbV9zdGFuZGFyZFByZWZlcmVuY2VzLT5zZXRBVkZv
dW5kYXRpb25FbmFibGVkKFRSVUUpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZChUUlVFKTsKLSNlbmRpZgotCi0gICAgbV9wcmVmc1ByaXZhdGUt
PnNldEZ1bGxTY3JlZW5FbmFibGVkKFRSVUUpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRTaG93
RGVidWdCb3JkZXJzKEZBTFNFKTsKLSAgICBtX3ByZWZzUHJpdmF0ZS0+c2V0U2hvd1JlcGFpbnRD
b3VudGVyKEZBTFNFKTsKLSAgICBtX3ByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkSW52ZXJ0Q29sb3Jz
KEZBTFNFKTsKLQotICAgIG1fc3RhbmRhcmRQcmVmZXJlbmNlcy0+c2V0TG9hZHNJbWFnZXNBdXRv
bWF0aWNhbGx5KFRSVUUpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRBdXRob3JBbmRVc2VyU3R5
bGVzRW5hYmxlZChUUlVFKTsKLSAgICBtX3N0YW5kYXJkUHJlZmVyZW5jZXMtPnNldEphdmFTY3Jp
cHRFbmFibGVkKFRSVUUpOwotICAgIG1fcHJlZnNQcml2YXRlLT5zZXRBbGxvd1VuaXZlcnNhbEFj
Y2Vzc0Zyb21GaWxlVVJMcyhGQUxTRSk7Ci0gICAgbV9wcmVmc1ByaXZhdGUtPnNldEFsbG93Rmls
ZUFjY2Vzc0Zyb21GaWxlVVJMcyhUUlVFKTsKLQotICAgIG1fcHJlZnNQcml2YXRlLT5zZXREZXZl
bG9wZXJFeHRyYXNFbmFibGVkKFRSVUUpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRp
YyB2b2lkIHVwZGF0ZU1lbnVJdGVtRm9ySGlzdG9yeUl0ZW0oSE1FTlUgbWVudSwgSVdlYkhpc3Rv
cnlJdGVtJiBoaXN0b3J5SXRlbSwgaW50IGN1cnJlbnRIaXN0b3J5SXRlbSkKLXsKLSAgICBVSU5U
IG1lbnVJRCA9IElETV9ISVNUT1JZX0xJTkswICsgY3VycmVudEhpc3RvcnlJdGVtOwotCi0gICAg
TUVOVUlURU1JTkZPIG1lbnVJdGVtSW5mbyA9IHsgMCB9OwotICAgIG1lbnVJdGVtSW5mby5jYlNp
emUgPSBzaXplb2YoTUVOVUlURU1JTkZPKTsKLSAgICBtZW51SXRlbUluZm8uZk1hc2sgPSBNSUlN
X1RZUEU7Ci0gICAgbWVudUl0ZW1JbmZvLmZUeXBlID0gTUZUX1NUUklORzsKLQotICAgIF9ic3Ry
X3QgdGl0bGU7Ci0gICAgaGlzdG9yeUl0ZW0udGl0bGUodGl0bGUuR2V0QWRkcmVzcygpKTsKLSAg
ICBtZW51SXRlbUluZm8uZHdUeXBlRGF0YSA9IHN0YXRpY19jYXN0PExQV1NUUj4odGl0bGUpOwot
Ci0gICAgOjpTZXRNZW51SXRlbUluZm8obWVudSwgbWVudUlELCBGQUxTRSwgJm1lbnVJdGVtSW5m
byk7Ci0gICAgOjpFbmFibGVNZW51SXRlbShtZW51LCBtZW51SUQsIE1GX0JZQ09NTUFORCB8IE1G
X0VOQUJMRUQpOwotfQotCi12b2lkIFdpbkxhdW5jaGVyOjpzaG93TGFzdFZpc2l0ZWRTaXRlcyhJ
V2ViVmlldyYgd2ViVmlldykKLXsKLSAgICBITUVOVSBtZW51ID0gOjpHZXRNZW51KG1faE1haW5X
bmQpOwotCi0gICAgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkJhY2tGb3J3YXJkTGlzdCwgJl9f
dXVpZG9mKElXZWJCYWNrRm9yd2FyZExpc3QpPj4gYmFja0ZvcndhcmRMaXN0OwotICAgIEhSRVNV
TFQgaHIgPSB3ZWJWaWV3LmJhY2tGb3J3YXJkTGlzdCgmYmFja0ZvcndhcmRMaXN0LkdldEludGVy
ZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
aW50IGNhcGFjaXR5ID0gMDsKLSAgICBociA9IGJhY2tGb3J3YXJkTGlzdC0+Y2FwYWNpdHkoJmNh
cGFjaXR5KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW50
IGJhY2tDb3VudCA9IDA7Ci0gICAgaHIgPSBiYWNrRm9yd2FyZExpc3QtPmJhY2tMaXN0Q291bnQo
JmJhY2tDb3VudCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQotICAg
IFVJTlQgYmFja1NldHRpbmcgPSBNRl9CWUNPTU1BTkQgfCAoKGJhY2tDb3VudCkgPyBNRl9FTkFC
TEVEIDogTUZfRElTQUJMRUQpOwotICAgIDo6RW5hYmxlTWVudUl0ZW0obWVudSwgSURNX0hJU1RP
UllfQkFDS1dBUkQsIGJhY2tTZXR0aW5nKTsKLQotICAgIGludCBmb3J3YXJkQ291bnQgPSAwOwot
ICAgIGhyID0gYmFja0ZvcndhcmRMaXN0LT5mb3J3YXJkTGlzdENvdW50KCZmb3J3YXJkQ291bnQp
OwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBVSU5UIGZvcndh
cmRTZXR0aW5nID0gTUZfQllDT01NQU5EIHwgKChmb3J3YXJkQ291bnQpID8gTUZfRU5BQkxFRCA6
IE1GX0RJU0FCTEVEKTsKLSAgICA6OkVuYWJsZU1lbnVJdGVtKG1lbnUsIElETV9ISVNUT1JZX0ZP
UldBUkQsIGZvcndhcmRTZXR0aW5nKTsKLQotICAgIElXZWJIaXN0b3J5SXRlbVB0ciBjdXJyZW50
SXRlbTsKLSAgICBociA9IGJhY2tGb3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0oJmN1cnJlbnRJdGVt
LkdldEludGVyZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgaHIgPSBtX3dlYkhpc3RvcnktPmFkZEl0ZW1zKDEsICZjdXJyZW50SXRlbS5HZXRJ
bnRlcmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJIaXN0b3J5UHJpdmF0ZSwgJl9fdXVpZG9mKElX
ZWJIaXN0b3J5UHJpdmF0ZSk+PiB3ZWJIaXN0b3J5OwotICAgIGhyID0gbV93ZWJIaXN0b3J5LT5R
dWVyeUludGVyZmFjZShJSURfSVdlYkhpc3RvcnlQcml2YXRlLCByZWludGVycHJldF9jYXN0PHZv
aWQqKj4oJndlYkhpc3RvcnkuR2V0SW50ZXJmYWNlUHRyKCkpKTsKLSAgICBpZiAoRkFJTEVEKGhy
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW50IHRvdGFsTGlzdENvdW50ID0gMDsKLSAgICBo
ciA9IHdlYkhpc3RvcnktPmFsbEl0ZW1zKCZ0b3RhbExpc3RDb3VudCwgMCk7Ci0gICAgaWYgKEZB
SUxFRChocikpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faGlzdG9yeUl0ZW1zLnJlc2l6ZSh0
b3RhbExpc3RDb3VudCk7Ci0KLSAgICBzdGQ6OnZlY3RvcjxJV2ViSGlzdG9yeUl0ZW0qPiBoaXN0
b3J5VG9Mb2FkKHRvdGFsTGlzdENvdW50KTsKLSAgICBociA9IHdlYkhpc3RvcnktPmFsbEl0ZW1z
KCZ0b3RhbExpc3RDb3VudCwgaGlzdG9yeVRvTG9hZC5kYXRhKCkpOwotICAgIGlmIChGQUlMRUQo
aHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzaXplX3QgaSA9IDA7Ci0gICAgZm9yIChhdXRv
JiBjdXIgOiBoaXN0b3J5VG9Mb2FkKSB7Ci0gICAgICAgIG1faGlzdG9yeUl0ZW1zW2ldLkF0dGFj
aChjdXIpOwotICAgICAgICArK2k7Ci0gICAgfQotCi0gICAgaW50IGFsbEl0ZW1zT2Zmc2V0ID0g
MDsKLSAgICBpZiAodG90YWxMaXN0Q291bnQgPiBtYXhIaXN0b3J5U2l6ZSkKLSAgICAgICAgYWxs
SXRlbXNPZmZzZXQgPSB0b3RhbExpc3RDb3VudCAtIG1heEhpc3RvcnlTaXplOwotCi0gICAgaW50
IGN1cnJlbnRIaXN0b3J5SXRlbSA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2hpc3Rv
cnlJdGVtcy5zaXplKCkgJiYgKGFsbEl0ZW1zT2Zmc2V0ICsgY3VycmVudEhpc3RvcnlJdGVtKSA8
IG1faGlzdG9yeUl0ZW1zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIHVwZGF0ZU1lbnVJdGVtRm9y
SGlzdG9yeUl0ZW0obWVudSwgKihtX2hpc3RvcnlJdGVtc1thbGxJdGVtc09mZnNldCArIGN1cnJl
bnRIaXN0b3J5SXRlbV0pLCBjdXJyZW50SGlzdG9yeUl0ZW0pOwotICAgICAgICArK2N1cnJlbnRI
aXN0b3J5SXRlbTsKLSAgICB9Ci0KLSAgICAvLyBIaWRlIGFueSBoaXN0b3J5IHdlIGFyZW4ndCB1
c2luZyB5ZXQuCi0gICAgZm9yIChpbnQgaSA9IGN1cnJlbnRIaXN0b3J5SXRlbTsgaSA8IG1heEhp
c3RvcnlTaXplOyArK2kpCi0gICAgICAgIDo6RW5hYmxlTWVudUl0ZW0obWVudSwgSURNX0hJU1RP
UllfTElOSzAgKyBpLCBNRl9CWUNPTU1BTkQgfCBNRl9ESVNBQkxFRCk7Ci19Ci0KLXZvaWQgV2lu
TGF1bmNoZXI6OmxhdW5jaEluc3BlY3RvcigpCi17Ci0gICAgaWYgKCFtX3dlYlZpZXdQcml2YXRl
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIVNVQ0NFRURFRChtX3dlYlZpZXdQcml2YXRl
LT5pbnNwZWN0b3IoJm1faW5zcGVjdG9yLkdldEludGVyZmFjZVB0cigpKSkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1faW5zcGVjdG9yLT5zaG93KCk7Ci19Ci0KLXZvaWQgV2luTGF1bmNoZXI6
Om5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCkKLXsKLSAg
ICBpZiAoIW1fd2ViVmlldykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQk9PTCB3ZW50QmFja09y
Rm9yd2FyZCA9IEZBTFNFOwotICAgIGlmIChJRE1fSElTVE9SWV9GT1JXQVJEID09IG1lbnVJRCkK
LSAgICAgICAgbV93ZWJWaWV3LT5nb0ZvcndhcmQoJndlbnRCYWNrT3JGb3J3YXJkKTsKLSAgICBl
bHNlCi0gICAgICAgIG1fd2ViVmlldy0+Z29CYWNrKCZ3ZW50QmFja09yRm9yd2FyZCk7Ci19Ci0K
LXZvaWQgV2luTGF1bmNoZXI6Om5hdmlnYXRlVG9IaXN0b3J5KEhXTkQgaFduZCwgVUlOVCBtZW51
SUQpCi17Ci0gICAgaWYgKCFtX3dlYlZpZXcpCi0gICAgICAgIHJldHVybjsKLQotICAgIGludCBo
aXN0b3J5RW50cnkgPSBtZW51SUQgLSBJRE1fSElTVE9SWV9MSU5LMDsKLSAgICBpZiAoaGlzdG9y
eUVudHJ5ID4gbV9oaXN0b3J5SXRlbXMuc2l6ZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBJ
V2ViSGlzdG9yeUl0ZW1QdHIgZGVzaXJlZEhpc3RvcnlJdGVtID0gbV9oaXN0b3J5SXRlbXNbaGlz
dG9yeUVudHJ5XTsKLSAgICBpZiAoIWRlc2lyZWRIaXN0b3J5SXRlbSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgQk9PTCBzdWNjZWVkZWQgPSBGQUxTRTsKLSAgICBtX3dlYlZpZXctPmdvVG9CYWNr
Rm9yd2FyZEl0ZW0oZGVzaXJlZEhpc3RvcnlJdGVtLCAmc3VjY2VlZGVkKTsKLQotICAgIF9ic3Ry
X3QgZnJhbWVVUkw7Ci0gICAgZGVzaXJlZEhpc3RvcnlJdGVtLT5VUkxTdHJpbmcoZnJhbWVVUkwu
R2V0QWRkcmVzcygpKTsKLQotICAgIDo6U2VuZE1lc3NhZ2UobV9oVVJMQmFyV25kLCAoVUlOVClX
TV9TRVRURVhULCAwLCAoTFBBUkFNKWZyYW1lVVJMLkdldEJTVFIoKSk7Ci19Ci0KLWJvb2wgV2lu
TGF1bmNoZXI6OmdvQmFjaygpCi17Ci0gICAgQk9PTCB3ZW50QmFjayA9IEZBTFNFOwotICAgIG1f
d2ViVmlldy0+Z29CYWNrKCZ3ZW50QmFjayk7Ci0gICAgcmV0dXJuIHdlbnRCYWNrOwotfQotCi1i
b29sIFdpbkxhdW5jaGVyOjpnb0ZvcndhcmQoKQotewotICAgIEJPT0wgd2VudEZvcndhcmQgPSBG
QUxTRTsKLSAgICBtX3dlYlZpZXctPmdvRm9yd2FyZCgmd2VudEZvcndhcmQpOwotICAgIHJldHVy
biB3ZW50Rm9yd2FyZDsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcjo6bG9hZFVSTChjb25zdCBC
U1RSJiBwYXNzZWRVUkwpCi17Ci0gICAgX2JzdHJfdCB1cmxCU3RyKHBhc3NlZFVSTCk7Ci0gICAg
aWYgKCEhdXJsQlN0ciAmJiAoOjpQYXRoRmlsZUV4aXN0cyh1cmxCU3RyKSB8fCA6OlBhdGhJc1VO
Qyh1cmxCU3RyKSkpIHsKLSAgICAgICAgVENIQVIgZmlsZVVSTFtJTlRFUk5FVF9NQVhfVVJMX0xF
TkdUSF07Ci0gICAgICAgIERXT1JEIGZpbGVVUkxMZW5ndGggPSBzaXplb2YoZmlsZVVSTCkgLyBz
aXplb2YoZmlsZVVSTFswXSk7Ci0KLSAgICAgICAgaWYgKFNVQ0NFRURFRCg6OlVybENyZWF0ZUZy
b21QYXRoKHVybEJTdHIsIGZpbGVVUkwsICZmaWxlVVJMTGVuZ3RoLCAwKSkpCi0gICAgICAgICAg
ICB1cmxCU3RyID0gZmlsZVVSTDsKLSAgICB9Ci0KLSAgICBJV2ViRnJhbWVQdHIgZnJhbWU7Ci0g
ICAgSFJFU1VMVCBociA9IG1fd2ViVmlldy0+bWFpbkZyYW1lKCZmcmFtZS5HZXRJbnRlcmZhY2VQ
dHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGlm
ICghcGFzc2VkVVJMKQotICAgICAgICByZXR1cm4gZnJhbWUtPmxvYWRIVE1MU3RyaW5nKF9ic3Ry
X3QoZGVmYXVsdEhUTUwpLkdldEJTVFIoKSwgMCk7Ci0KLSAgICBJV2ViTXV0YWJsZVVSTFJlcXVl
c3RQdHIgcmVxdWVzdDsKLSAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYk11
dGFibGVVUkxSZXF1ZXN0LCAwLCBJSURfSVdlYk11dGFibGVVUkxSZXF1ZXN0LCAodm9pZCoqKSZy
ZXF1ZXN0KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAg
aHIgPSByZXF1ZXN0LT5pbml0V2l0aFVSTCh3Y3NzdHIoc3RhdGljX2Nhc3Q8d2NoYXJfdCo+KHVy
bEJTdHIpLCBMIjovLyIpID8gdXJsQlN0ciA6IF9ic3RyX3QoTCJodHRwOi8vIikgKyB1cmxCU3Ry
LCBXZWJVUkxSZXF1ZXN0VXNlUHJvdG9jb2xDYWNoZVBvbGljeSwgNjApOwotICAgIGlmIChGQUlM
RUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICBfYnN0cl90IG1ldGhvZEJTdHIoTCJH
RVQiKTsKLSAgICBociA9IHJlcXVlc3QtPnNldEhUVFBNZXRob2QobWV0aG9kQlN0cik7Ci0gICAg
aWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIGhyID0gZnJhbWUtPmxv
YWRSZXF1ZXN0KHJlcXVlc3QpOwotCi0gICAgcmV0dXJuIGhyOwotfQotCi12b2lkIFdpbkxhdW5j
aGVyOjpleGl0UHJvZ3JhbSgpCi17Ci0gICAgOjpQb3N0TWVzc2FnZShtX2hNYWluV25kLCBzdGF0
aWNfY2FzdDxVSU5UPihXTV9DT01NQU5EKSwgTUFLRUxQQVJBTShJRE1fRVhJVCwgMCksIDApOwot
fQotCi12b2lkIFdpbkxhdW5jaGVyOjpzZXRVc2VyQWdlbnQoVUlOVCBtZW51SUQpCi17Ci0gICAg
aWYgKCF3ZWJWaWV3KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIF9ic3RyX3QgY3VzdG9tVXNl
ckFnZW50OwotICAgIHN3aXRjaCAobWVudUlEKSB7Ci0gICAgY2FzZSBJRE1fVUFfREVGQVVMVDoK
LSAgICAgICAgLy8gU2V0IHRvIG51bGwgdXNlciBhZ2VudAotICAgICAgICBicmVhazsKLSAgICBj
YXNlIElETV9VQV9TQUZBUklfOF8wOgotICAgICAgICBjdXN0b21Vc2VyQWdlbnQgPSBMIk1vemls
bGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEwKSBBcHBsZVdlYktpdC82MDAu
MS4yNSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vOC4wIFNhZmFyaS82MDAuMS4yNSI7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEhPTkU6Ci0gICAg
ICAgIGN1c3RvbVVzZXJBZ2VudCA9IEwiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIE9TIDhfMSBs
aWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDEuMS40IChLSFRNTCwgbGlrZSBHZWNrbykgVmVy
c2lvbi84LjAgTW9iaWxlLzEyQjQwMyBTYWZhcmkvNjAwLjEuNCI7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEFEOgotICAgICAgICBjdXN0b21Vc2VyQWdl
bnQgPSBMIk1vemlsbGEvNS4wIChpUGFkOyBDUFUgT1MgOF8xIGxpa2UgTWFjIE9TIFgpIEFwcGxl
V2ViS2l0LzYwMC4xLjQgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzguMCBNb2JpbGUvMTJC
NDAzIFNhZmFyaS82MDAuMS40IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfSUVf
MTE6Ci0gICAgICAgIGN1c3RvbVVzZXJBZ2VudCA9IEwiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQg
Ni4zOyBXT1c2NDsgVHJpZGVudC83LjA7IHJ2OjExLjApIGxpa2UgR2Vja28iOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIElETV9VQV9DSFJPTUVfTUFDOgotICAgICAgICBjdXN0b21Vc2VyQWdl
bnQgPSBMIk1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzhfMykgQXBw
bGVXZWJLaXQvNTM3LjMxIChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzI2LjAuMTQxMC42NSBT
YWZhcmkvNTM3LjMxIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRE1fVUFfQ0hST01FX1dJ
TjoKLSAgICAgICAgY3VzdG9tVXNlckFnZW50ID0gTCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2
LjI7IFdPVzY0KSBBcHBsZVdlYktpdC81MzcuMzEgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUv
MjYuMC4xNDEwLjY0IFNhZmFyaS81MzcuMzEiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElE
TV9VQV9GSVJFRk9YX01BQzoKLSAgICAgICAgY3VzdG9tVXNlckFnZW50ID0gTCJNb3ppbGxhLzUu
MCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMC44OyBydjoyMC4wKSBHZWNrby8yMDEwMDEw
MSBGaXJlZm94LzIwLjAiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElETV9VQV9GSVJFRk9Y
X1dJTjoKLSAgICAgICAgY3VzdG9tVXNlckFnZW50ID0gTCJNb3ppbGxhLzUuMCAoV2luZG93cyBO
VCA2LjI7IFdPVzY0OyBydjoyMC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzIwLjAiOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIElETV9VQV9PVEhFUjoKLSAgICBkZWZhdWx0OgotICAgICAg
ICBBU1NFUlQoMCk7IC8vIFdlIHNob3VsZCBuZXZlciBoaXQgdGhpcyBjYXNlCi0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBzZXRVc2VyQWdlbnQoY3VzdG9tVXNlckFnZW50KTsKLX0KLQot
dm9pZCBXaW5MYXVuY2hlcjo6c2V0VXNlckFnZW50KF9ic3RyX3QmIGN1c3RvbVVzZXJBZ2VudCkK
LXsKLSAgICB3ZWJWaWV3KCktPnNldEN1c3RvbVVzZXJBZ2VudChjdXN0b21Vc2VyQWdlbnQuR2V0
QlNUUigpKTsKLX0KLQotX2JzdHJfdCBXaW5MYXVuY2hlcjo6dXNlckFnZW50KCkKLXsKLSAgICBf
YnN0cl90IHVzZXJBZ2VudDsKLSAgICBpZiAoRkFJTEVEKHdlYlZpZXcoKS0+Y3VzdG9tVXNlckFn
ZW50KCZ1c2VyQWdlbnQuR2V0QlNUUigpKSkpCi0gICAgICAgIHJldHVybiBfYnN0cl90KEwiLSBV
bmtub3duIC06IENhbGwgZmFpbGVkLiIpOwotCi0gICAgcmV0dXJuIHVzZXJBZ2VudDsKLX0KLQot
dHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViSUJBY3Rpb25zLCAmX191dWlkb2YoSVdl
YklCQWN0aW9ucyk+PiBJV2ViSUJBY3Rpb25zUHRyOwotCi12b2lkIFdpbkxhdW5jaGVyOjpyZXNl
dFpvb20oKQotewotICAgIElXZWJJQkFjdGlvbnNQdHIgd2ViQWN0aW9uczsKLSAgICBpZiAoRkFJ
TEVEKG1fd2ViVmlldy0+UXVlcnlJbnRlcmZhY2UoSUlEX0lXZWJJQkFjdGlvbnMsIHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPigmd2ViQWN0aW9ucy5HZXRJbnRlcmZhY2VQdHIoKSkpKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgd2ViQWN0aW9ucy0+cmVzZXRQYWdlWm9vbShudWxscHRyKTsKLX0K
LQotdm9pZCBXaW5MYXVuY2hlcjo6em9vbUluKCkKLXsKLSAgICBJV2ViSUJBY3Rpb25zUHRyIHdl
YkFjdGlvbnM7Ci0gICAgaWYgKEZBSUxFRChtX3dlYlZpZXctPlF1ZXJ5SW50ZXJmYWNlKElJRF9J
V2ViSUJBY3Rpb25zLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndlYkFjdGlvbnMuR2V0SW50
ZXJmYWNlUHRyKCkpKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHdlYkFjdGlvbnMtPnpvb21Q
YWdlSW4obnVsbHB0cik7Ci19Ci0KLXZvaWQgV2luTGF1bmNoZXI6Onpvb21PdXQoKQotewotICAg
IElXZWJJQkFjdGlvbnNQdHIgd2ViQWN0aW9uczsKLSAgICBpZiAoRkFJTEVEKG1fd2ViVmlldy0+
UXVlcnlJbnRlcmZhY2UoSUlEX0lXZWJJQkFjdGlvbnMsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoq
Pigmd2ViQWN0aW9ucy5HZXRJbnRlcmZhY2VQdHIoKSkpKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgd2ViQWN0aW9ucy0+em9vbVBhZ2VPdXQobnVsbHB0cik7Ci19Ci0KLXZvaWQgV2luTGF1bmNo
ZXI6OmdlbmVyYXRlRm9udEZvclNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQotewotICAg
IGlmIChtX2hVUkxCYXJGb250KQotICAgICAgICA6OkRlbGV0ZU9iamVjdChtX2hVUkxCYXJGb250
KTsKLQotICAgIG1faFVSTEJhckZvbnQgPSA6OkNyZWF0ZUZvbnQoc2NhbGVGYWN0b3IgKiAxOCwg
MCwgMCwgMCwgRldfTk9STUFMLCBGQUxTRSwgRkFMU0UsIEZBTFNFLCBERUZBVUxUX0NIQVJTRVQs
Ci0gICAgICAgIE9VVF9UVF9PTkxZX1BSRUNJUywgQ0xJUF9ERUZBVUxUX1BSRUNJUywgQU5USUFM
SUFTRURfUVVBTElUWSwgRkZfRE9OVENBUkUsIEwiVGltZXMgTmV3IFJvbWFuIik7Ci19Ci0KLQot
dm9pZCBXaW5MYXVuY2hlcjo6dXBkYXRlRGV2aWNlU2NhbGVGYWN0b3IoKQotewotICAgIG1fZGV2
aWNlU2NhbGVGYWN0b3IgPSBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhtX2hN
YWluV25kKTsKLSAgICBnZW5lcmF0ZUZvbnRGb3JTY2FsZUZhY3RvcihtX2RldmljZVNjYWxlRmFj
dG9yKTsKLX0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkocmV2aXNpb24gMTg4OTcwKQor
KysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSwx
MjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE1IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaW5jbHVkZSAiUGFnZUxvYWRUZXN0Q2xpZW50LmgiCi0jaW5jbHVkZSA8V2ViS2l0
L1dlYktpdC5oPgotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx2ZWN0b3I+Ci0KLXR5cGVk
ZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2YoSVdlYkZyYW1lKT4+
IElXZWJGcmFtZVB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlZpZXcsICZf
X3V1aWRvZihJV2ViVmlldyk+PiBJV2ViVmlld1B0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29t
X0lJSUQ8SVdlYlZpZXdQcml2YXRlMiwgJl9fdXVpZG9mKElXZWJWaWV3UHJpdmF0ZTIpPj4gSVdl
YlZpZXdQcml2YXRlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWVM
b2FkRGVsZWdhdGUsICZfX3V1aWRvZihJV2ViRnJhbWVMb2FkRGVsZWdhdGUpPj4gSVdlYkZyYW1l
TG9hZERlbGVnYXRlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViSGlzdG9y
eSwgJl9fdXVpZG9mKElXZWJIaXN0b3J5KT4+IElXZWJIaXN0b3J5UHRyOwotdHlwZWRlZiBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViSGlzdG9yeUl0ZW0sICZfX3V1aWRvZihJV2ViSGlzdG9yeUl0
ZW0pPj4gSVdlYkhpc3RvcnlJdGVtUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViUHJlZmVyZW5jZXMsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXMpPj4gSVdlYlByZWZlcmVu
Y2VzUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUHJlZmVyZW5jZXNQcml2
YXRlLCAmX191dWlkb2YoSVdlYlByZWZlcmVuY2VzUHJpdmF0ZSk+PiBJV2ViUHJlZmVyZW5jZXNQ
cml2YXRlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViVUlEZWxlZ2F0ZSwg
Jl9fdXVpZG9mKElXZWJVSURlbGVnYXRlKT4+IElXZWJVSURlbGVnYXRlUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJQWNjZXNzaWJpbGl0eURlbGVnYXRlLCAmX191dWlkb2YoSUFj
Y2Vzc2liaWxpdHlEZWxlZ2F0ZSk+PiBJQWNjZXNzaWJpbGl0eURlbGVnYXRlUHRyOwotdHlwZWRl
ZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViSW5zcGVjdG9yLCAmX191dWlkb2YoSVdlYkluc3Bl
Y3Rvcik+PiBJV2ViSW5zcGVjdG9yUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViQ29yZVN0YXRpc3RpY3MsICZfX3V1aWRvZihJV2ViQ29yZVN0YXRpc3RpY3MpPj4gSVdlYkNv
cmVTdGF0aXN0aWNzUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUs
ICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90
PF9jb21fSUlJRDxJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUsICZfX3V1aWRvZihJV2ViUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUpPj4gSVdlYlJlc291cmNlTG9hZERlbGVnYXRlUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViRG93bmxvYWREZWxlZ2F0ZSwgJl9fdXVpZG9mKElXZWJE
b3dubG9hZERlbGVnYXRlKT4+IElXZWJEb3dubG9hZERlbGVnYXRlUHRyOwotCi1jbGFzcyBXaW5M
YXVuY2hlciB7Ci1wdWJsaWM6Ci0gICAgV2luTGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVy
bEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVz
dGluZyA9IGZhbHNlKTsKLQotICAgIEhSRVNVTFQgaW5pdCgpOwotICAgIEhSRVNVTFQgcHJlcGFy
ZVZpZXdzKEhXTkQgbWFpblduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYg
cmVxdWVzdGVkVVJMLCBIV05EJiB2aWV3V25kKTsKLQotICAgIEhSRVNVTFQgbG9hZFVSTChjb25z
dCBCU1RSJiBwYXNzZWRVUkwpOwotCi0gICAgdm9pZCBzaG93TGFzdFZpc2l0ZWRTaXRlcyhJV2Vi
VmlldyYpOwotICAgIHZvaWQgbGF1bmNoSW5zcGVjdG9yKCk7Ci0gICAgdm9pZCBuYXZpZ2F0ZUZv
cndhcmRPckJhY2t3YXJkKEhXTkQgaFduZCwgVUlOVCBtZW51SUQpOwotICAgIHZvaWQgbmF2aWdh
dGVUb0hpc3RvcnkoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7Ci0gICAgdm9pZCBleGl0UHJvZ3Jh
bSgpOwotICAgIGJvb2wgc2VlZEluaXRpYWxEZWZhdWx0UHJlZmVyZW5jZXMoKTsKLSAgICBib29s
IHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCk7Ci0KLSAgICBIUkVTVUxUIHNldEZyYW1lTG9hZERl
bGVnYXRlKElXZWJGcmFtZUxvYWREZWxlZ2F0ZSopOwotICAgIEhSRVNVTFQgc2V0RnJhbWVMb2Fk
RGVsZWdhdGVQcml2YXRlKElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUqKTsKLSAgICBIUkVT
VUxUIHNldFVJRGVsZWdhdGUoSVdlYlVJRGVsZWdhdGUqKTsKLSAgICBIUkVTVUxUIHNldEFjY2Vz
c2liaWxpdHlEZWxlZ2F0ZShJQWNjZXNzaWJpbGl0eURlbGVnYXRlKik7Ci0gICAgSFJFU1VMVCBz
ZXRSZXNvdXJjZUxvYWREZWxlZ2F0ZShJV2ViUmVzb3VyY2VMb2FkRGVsZWdhdGUqKTsKLSAgICBI
UkVTVUxUIHNldERvd25sb2FkRGVsZWdhdGUoSVdlYkRvd25sb2FkRGVsZWdhdGVQdHIpOwotCi0g
ICAgSVdlYlByZWZlcmVuY2VzUHRyIHN0YW5kYXJkUHJlZmVyZW5jZXMoKSB7IHJldHVybiBtX3N0
YW5kYXJkUHJlZmVyZW5jZXM7ICB9Ci0gICAgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZVB0ciBwcml2
YXRlUHJlZmVyZW5jZXMoKSB7IHJldHVybiBtX3ByZWZzUHJpdmF0ZTsgfQotICAgIElXZWJGcmFt
ZVB0ciBtYWluRnJhbWUoKTsKLSAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgc3RhdGlzdGljcygp
IHsgcmV0dXJuIG1fc3RhdGlzdGljczsgfQotICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZSgpIHsg
cmV0dXJuIG1fd2ViQ2FjaGU7ICB9Ci0gICAgSVdlYlZpZXdQdHIgd2ViVmlldygpIHsgcmV0dXJu
IG1fd2ViVmlldzsgfQotCi0gICAgYm9vbCBoYXNXZWJWaWV3KCkgY29uc3QgeyByZXR1cm4gISFt
X3dlYlZpZXc7IH0KLSAgICBib29sIHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlTGF5ZXJlZFdlYlZpZXc7IH0KLSAgICBib29sIGdvQmFjaygpOwotICAgIGJvb2wgZ29G
b3J3YXJkKCk7Ci0KLSAgICB2b2lkIHNldFVzZXJBZ2VudChVSU5UIG1lbnVJRCk7Ci0gICAgdm9p
ZCBzZXRVc2VyQWdlbnQoX2JzdHJfdCYgY3VzdG9tVUFTdHJpbmcpOwotICAgIF9ic3RyX3QgdXNl
ckFnZW50KCk7Ci0KLSAgICBQYWdlTG9hZFRlc3RDbGllbnQmIHBhZ2VMb2FkVGVzdENsaWVudCgp
IHsgcmV0dXJuICptX3BhZ2VMb2FkVGVzdENsaWVudDsgfQotCi0gICAgdm9pZCByZXNldFpvb20o
KTsKLSAgICB2b2lkIHpvb21JbigpOwotICAgIHZvaWQgem9vbU91dCgpOwotCi0gICAgZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IoKSB7IHJldHVybiBtX2RldmljZVNjYWxlRmFjdG9yOyB9Ci0gICAg
dm9pZCB1cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpOwotCi0gICAgSEdESU9CSiB1cmxCYXJGb250
KCkgeyByZXR1cm4gbV9oVVJMQmFyRm9udDsgfQotCi1wcml2YXRlOgotICAgIHZvaWQgZ2VuZXJh
dGVGb250Rm9yU2NhbGVGYWN0b3IoZmxvYXQpOwotCi0gICAgc3RkOjp2ZWN0b3I8SVdlYkhpc3Rv
cnlJdGVtUHRyPiBtX2hpc3RvcnlJdGVtczsKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxQYWdlTG9h
ZFRlc3RDbGllbnQ+IG1fcGFnZUxvYWRUZXN0Q2xpZW50OwotCi0gICAgSVdlYlZpZXdQdHIgbV93
ZWJWaWV3OwotICAgIElXZWJWaWV3UHJpdmF0ZVB0ciBtX3dlYlZpZXdQcml2YXRlOwotCi0gICAg
SVdlYkhpc3RvcnlQdHIgbV93ZWJIaXN0b3J5OwotICAgIElXZWJJbnNwZWN0b3JQdHIgbV9pbnNw
ZWN0b3I7Ci0gICAgSVdlYlByZWZlcmVuY2VzUHRyIG1fc3RhbmRhcmRQcmVmZXJlbmNlczsKLSAg
ICBJV2ViUHJlZmVyZW5jZXNQcml2YXRlUHRyIG1fcHJlZnNQcml2YXRlOwotCi0gICAgSVdlYkZy
YW1lTG9hZERlbGVnYXRlUHRyIG1fZnJhbWVMb2FkRGVsZWdhdGU7Ci0gICAgSVdlYlVJRGVsZWdh
dGVQdHIgbV91aURlbGVnYXRlOwotICAgIElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQdHIgbV9hY2Nl
c3NpYmlsaXR5RGVsZWdhdGU7Ci0gICAgSVdlYlJlc291cmNlTG9hZERlbGVnYXRlUHRyIG1fcmVz
b3VyY2VMb2FkRGVsZWdhdGU7Ci0gICAgSVdlYkRvd25sb2FkRGVsZWdhdGVQdHIgbV9kb3dubG9h
ZERlbGVnYXRlOwotCi0gICAgSVdlYkNvcmVTdGF0aXN0aWNzUHRyIG1fc3RhdGlzdGljczsKLSAg
ICBJV2ViQ2FjaGVQdHIgbV93ZWJDYWNoZTsKLQotICAgIEhXTkQgbV9oTWFpblduZCB7IG51bGxw
dHIgfTsKLSAgICBIV05EIG1faFVSTEJhclduZCB7IG51bGxwdHIgfTsKLSAgICBIR0RJT0JKIG1f
aFVSTEJhckZvbnQgeyBudWxscHRyIH07Ci0KLSAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFjdG9y
IHsgMS4wZiB9OwotICAgIGJvb2wgbV91c2VMYXllcmVkV2ViVmlldzsKLX07CkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLmljbwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBUb29scy9XaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnJjCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIucmMJKHJldmlzaW9u
IDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1
bmNoZXIucmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNzYgKzAsMCBAQAotLy8gTWljcm9zb2Z0IFZp
c3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4NCi0vLw0KLSNpbmNsdWRlICJXaW5M
YXVuY2hlclJlc291cmNlLmgiDQotDQotI2RlZmluZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xT
DQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhU
SU5DTFVERSAyIHJlc291cmNlLg0KLS8vDQotI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lNQk9M
Uw0KLSNpbmNsdWRlICJ3aW5kb3dzLmgiDQotI3VuZGVmIEFQU1RVRElPX0hJRERFTl9TWU1CT0xT
DQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0jdW5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lN
Qk9MUw0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8gRW5nbGlzaCAoVS5TLikgcmVzb3Vy
Y2VzDQotDQotI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RB
UkdfRU5VKQ0KLSNpZmRlZiBfV0lOMzINCi1MQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdf
RU5HTElTSF9VUw0KLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIpDQotI2VuZGlmIC8vX1dJTjMyDQot
DQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEljb24NCi0vLw0KLQ0KLS8vIEljb24g
d2l0aCBsb3dlc3QgSUQgdmFsdWUgcGxhY2VkIGZpcnN0IHRvIGVuc3VyZSBhcHBsaWNhdGlvbiBp
Y29uDQotLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLg0KLUlESV9XSU5MQVVO
Q0hFUiAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJXaW5MYXVuY2hlci5pY28iDQot
DQotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQot
Ly8gVEVYVElOQ0xVREUNCi0vLw0KLQ0KLTEgVEVYVElOQ0xVREUgDQotQkVHSU4NCi0gICAgIldp
bkxhdW5jaGVyUmVzb3VyY2UuXDAiDQotRU5EDQotDQotMiBURVhUSU5DTFVERSANCi1CRUdJTg0K
LSAgICAiI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iDQotICAgICIjaW5jbHVk
ZSAiIndpbmRvd3MuaCIiXHJcbiINCi0gICAgIiN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9M
U1xyXG4iDQotICAgICJcMCINCi1FTkQNCi0NCi0zIFRFWFRJTkNMVURFIA0KLUJFR0lODQotICAg
ICJcclxuIg0KLSAgICAiXDAiDQotRU5EDQotDQotI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9L
RUQNCi0NCi0jZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzDQotLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8NCi0NCi0NCi0NCi0jaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQNCi0vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLw0KLS8vDQotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMg
cmVzb3VyY2UuDQotLy8NCi0NCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLSNlbmRpZiAgICAv
LyBub3QgQVBTVFVESU9fSU5WT0tFRA0KLQ0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
aW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2oJKHJldmlz
aW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXIudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMSwyMDAgKzAsMCBAQAot77u/PD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJn
ZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0i
UHJvamVjdENvbmZpZ3VyYXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iRGVidWdTdWZmaXh8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdTdWZmaXg8
L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwv
UHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9
IkRlYnVnU3VmZml4fHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Z1N1ZmZpeDwvQ29u
ZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVj
dENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVn
X1dpbkNhaXJvfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnX1dpbkNhaXJvPC9D
b25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1By
b2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJE
ZWJ1Z19XaW5DYWlyb3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdfV2luQ2Fpcm88
L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1By
b2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJE
ZWJ1Z3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4K
LSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJh
dGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAg
ICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3Jt
Png2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUHJvZHVjdGlvbnxXaW4zMiI+Ci0gICAgICA8Q29uZmln
dXJhdGlvbj5Qcm9kdWN0aW9uPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMy
PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJQcm9kdWN0aW9ufHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlv
bj5Qcm9kdWN0aW9uPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZv
cm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRp
b24gSW5jbHVkZT0iUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlv
bj5SZWxlYXNlX1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMy
PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlX1dpbkNhaXJvfHg2NCI+Ci0gICAgICA8Q29uZmln
dXJhdGlvbj5SZWxlYXNlX1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3Jt
Png2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJh
dGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0
Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNl
PC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Q
cm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezc2N0IxMEZCLTc2QzEtNDREMC04MDA1
LTg1RUQ3RjlBQTVFNH08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPldpbkxhdW5j
aGVyTGF1bmNoZXI8L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3
b3JkPgotICAgIDxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93c1Rhcmdl
dFBsYXRmb3JtVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJv
cGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25U
eXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVu
aWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3Jt
VG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmln
dXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0g
ICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlH
cm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+
Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3Jt
VG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmln
dXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0
ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwv
UGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4z
MiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGlj
YXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hh
cmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0Pgot
ICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIiBMYWJlbD0iQ29uZmlndXJh
dGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9u
VHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxh
dGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0
aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNl
dD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0
Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0i
Q29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25m
aWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+
Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3Jt
VG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z19XaW5DYWlyb3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3Vy
YXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVy
U2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1Bs
YXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMy
JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNh
dGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFy
YWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0g
IDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIiBMYWJlbD0iQ29uZmlndXJh
dGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9u
VHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxh
dGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIg
Lz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+Ci0gIDwvSW1wb3J0
R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51
c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcyIgLz4KLSAg
PC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgot
ICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRm
b3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9z
b2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0
Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcyIg
Lz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJQ
cm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNy
b3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVz
ZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9
IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNo
ZXJSZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2luXERMTExh
dW5jaGVyXERMTExhdW5jaGVyV2luQ2Fpcm8ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0g
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNl
ci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlclJlbGVhc2UucHJvcHMiIC8+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSIuLlwuLlx3aW5cRExMTGF1bmNoZXJcRExMTGF1bmNoZXJXaW5DYWly
by5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciIExhYmVs
PSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxN
aWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCck
KFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFi
ZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1
bmNoZXJQcm9kdWN0aW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3Jv
dXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVz
ZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlv
bj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIu
cHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgot
ICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMi
IENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZv
cm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91
cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFBy
b2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9w
cyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0
Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdy
b3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZv
cm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3Nv
ZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRm
b3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVuY2hlcldp
bkNhaXJvLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQn
IiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9v
dERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4
aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
JykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IldpbkxhdW5jaGVyRGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlx3
aW5cRExMTGF1bmNoZXJcRExMTGF1bmNoZXJXaW5DYWlyby5wcm9wcyIgLz4KLSAgPC9JbXBvcnRH
cm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0
LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9y
bSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcZGVi
dWdzdWZmaXgucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCci
IExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290
RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhp
c3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMn
KSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0i
V2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0
X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9w
ZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwvX1Byb2pl
Y3RGaWxlVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91
cD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJSZXNvdXJjZS5oIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxETExMYXVuY2hl
clxETExMYXVuY2hlck1haW4uY3BwIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyLnJjIiAvPgotICA8L0l0
ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlci5p
Y28iIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJQb3N0QnVpbGQuY21kIiAvPgot
ICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyUHJlQnVpbGQuY21kIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAu
dGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAg
PC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXIudmN4cHJv
ai5maWx0ZXJzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpA
QCAtMSwzMyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNy
b3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxG
aWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns0
RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9PC9VbmlxdWVJZGVudGlmaWVyPgot
ICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2Fz
bXg8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJSZXNv
dXJjZSBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57NjdEQTZBQjYtRjgwMC00YzA4
LThCN0EtODNCQjEyMUFBRDAxfTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICAgIDxFeHRlbnNpb25z
PnJjO2ljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZTtyZXN4
O3RpZmY7dGlmO3BuZzt3YXY8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJS
ZXNvdXJjZS5oIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxETExMYXVuY2hlclxETExMYXVuY2hlck1haW4uY3BwIj4K
LSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0g
IDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVk
ZT0iV2luTGF1bmNoZXIucmMiPgotICAgICAgPEZpbHRlcj5SZXNvdXJjZSBGaWxlczwvRmlsdGVy
PgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlci5pY28iPgotICAgICAgPEZpbHRlcj5SZXNv
dXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5M
YXVuY2hlclBvc3RCdWlsZC5jbWQiIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJQ
cmVCdWlsZC5jbWQiIC8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJDRi5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0YucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDRi5w
cm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5z
PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgot
ICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiAvPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgLz4KLSAgPEl0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5D
b3JlRm91bmRhdGlvbiQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMp
PC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlv
bkdyb3VwPgotICA8SXRlbUdyb3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckNGTGl0ZS5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzCShyZXZpc2lvbiAxODg5NzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0ZM
aXRlLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIg
eG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAw
MyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXEZlYXR1cmVEZWZpbmVz
Q2Fpcm8ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMp
XHRvb2xzXHZzcHJvcHNcV2luQ2Fpcm8ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCAvPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPkNGTGl0ZS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25h
bERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAg
PEl0ZW1Hcm91cCAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDb21t
b24ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMv
V2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckNvbW1vbi5wcm9wcwko
d29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1Zl
cnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVy
L21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxMaW5rPgotICAg
ICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+c2hsd2FwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5k
ZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0
RGlyKVdpbkxhdW5jaGVyJChEZWJ1Z1N1ZmZpeCkuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFBy
b2dyYW1EYXRhYmFzZUZpbGU+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGI8L1Byb2dyYW1E
YXRhYmFzZUZpbGU+Ci0gICAgPC9MaW5rPgotICAgIDxDbENvbXBpbGUgLz4KLSAgICA8Q2xDb21w
aWxlIC8+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hw
cm9qL1dpbkxhdW5jaGVyRGVidWcucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckRlYnVnLnByb3BzCShyZXZpc2lvbiAx
ODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyRGVidWcucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi3vu788P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9
IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29m
dC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJv
cGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0
b29sc1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2Vi
S2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0
IFByb2plY3Q9IldpbkxhdW5jaGVyQ29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgot
PC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5y
YwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYi5yYwkod29ya2luZyBjb3B5KQpAQCAtMSwzMjYgKzAsMCBAQAot
Ly8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4NCi0vLw0K
LSNpbmNsdWRlICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiDQotDQotI2RlZmluZSBBUFNUVURJ
T19SRUFET05MWV9TWU1CT0xTDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEdlbmVy
YXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLg0KLS8vDQotI2RlZmluZSBBUFNU
VURJT19ISURERU5fU1lNQk9MUw0KLSNpbmNsdWRlICJ3aW5kb3dzLmgiDQotI3VuZGVmIEFQU1RV
RElPX0hJRERFTl9TWU1CT0xTDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0jdW5kZWYgQVBT
VFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8gRW5n
bGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQotDQotI2lmICFkZWZpbmVkKEFGWF9SRVNP
VVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQ0KLUxBTkdVQUdFIExBTkdfRU5HTElT
SCwgU1VCTEFOR19FTkdMSVNIX1VTDQotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikNCi0NCi0vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gSWNvbg0KLS8vDQotDQotLy8gSWNvbiB3aXRoIGxv
d2VzdCBJRCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGljb24NCi0v
LyByZW1haW5zIGNvbnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuDQotSURJX1dJTkxBVU5DSEVSICAg
ICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5jaGVyLmljbyINCi1JRElfU01B
TEwgICAgICAgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAic21hbGwuaWNvIg0KLQ0K
LS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBNZW51DQotLy8NCi0NCi1JRENfV0lOTEFV
TkNIRVIgTUVOVQ0KLUJFR0lODQotICAgIFBPUFVQICImRmlsZSINCi0gICAgQkVHSU4NCi0gICAg
ICAgIE1FTlVJVEVNICImUHJpbnRcdEN0cmwtUCIsICAgICAgICAgICAgICBJRE1fUFJJTlQNCi0g
ICAgICAgIE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fRVhJVA0K
LSAgICBFTkQNCi0gICAgUE9QVVAgIiZWaWV3Ig0KLSAgICBCRUdJTg0KLSAgICAgICAgTUVOVUlU
RU0gIkFjdHVhbCBTaXplIiwgICAgICAgICAgICAgICAgIElETV9BQ1RVQUxfU0laRQ0KLSAgICAg
ICAgTUVOVUlURU0gIlpvb20gSW5cdEN0cmwrKyIsICAgICAgICAgICAgIElETV9aT09NX0lODQot
ICAgICAgICBNRU5VSVRFTSAiWm9vbSBPdXRcdEN0cmwrLSIsICAgICAgICAgICAgSURNX1pPT01f
T1VUDQotICAgICAgICBNRU5VSVRFTSAiSW52ZXJ0IENvbG9ycyIsICAgICAgICAgICAgICAgSURN
X0lOVkVSVF9DT0xPUlMNCi0gICAgRU5EDQotICAgIFBPUFVQICImSGlzdG9yeSINCi0gICAgQkVH
SU4NCi0gICAgICAgIE1FTlVJVEVNICJCYWNrIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1f
SElTVE9SWV9CQUNLV0FSRA0KLSAgICAgICAgTUVOVUlURU0gIkZvcndhcmQiLCAgICAgICAgICAg
ICAgICAgICAgIElETV9ISVNUT1JZX0ZPUldBUkQNCi0gICAgICAgIE1FTlVJVEVNIFNFUEFSQVRP
Ug0KLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDAiLCAgICAgICAgICAgIElETV9I
SVNUT1JZX0xJTkswDQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMSIsICAgICAg
ICAgICAgSURNX0hJU1RPUllfTElOSzENCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9y
eSAyIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMg0KLSAgICAgICAgTUVOVUlURU0gIlVu
dXNlZCBIaXN0b3J5IDMiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTkszDQotICAgICAgICBN
RU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzQN
Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA1IiwgICAgICAgICAgICBJRE1fSElT
VE9SWV9MSU5LNQ0KLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDYiLCAgICAgICAg
ICAgIElETV9ISVNUT1JZX0xJTks2DQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rvcnkg
NyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzcNCi0gICAgICAgIE1FTlVJVEVNICJVbnVz
ZWQgSGlzdG9yeSA4IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LOA0KLSAgICAgICAgTUVO
VUlURU0gIlVudXNlZCBIaXN0b3J5IDkiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks5DQot
ICAgIEVORA0KLSAgICBQT1BVUCAiRCZldmVsb3AiDQotICAgIEJFR0lODQotICAgICAgICBNRU5V
SVRFTSAiU2hvdyBXZWIgSW5zcGVjdG9yIiwgICAgICAgICAgSURNX1dFQl9JTlNQRUNUT1INCi0g
ICAgICAgIFBPUFVQICJVc2VyIEFnZW50Ig0KLSAgICAgICAgQkVHSU4NCi0gICAgICAgICAgICBN
RU5VSVRFTSAiRGVmYXVsdCAoQXV0b21hdGljYWxseSBDaG9zZW4pIiwgSURNX1VBX0RFRkFVTFQN
Ci0gICAgICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAgICAgICBNRU5VSVRFTSAi
U2FmYXJpIDguMCIsICAgICAgICAgICAgICAgICAgSURNX1VBX1NBRkFSSV84XzANCi0gICAgICAg
ICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAgICAgICBNRU5VSVRFTSAiU2FmYXJpIGlP
UyA4IC0gaVBob25lIiwgICAgICAgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEhPTkUNCi0gICAgICAg
ICAgICBNRU5VSVRFTSAiU2FmYXJpIGlPUyA4IC0gaVBhZCIsICAgICAgICAgSURNX1VBX1NBRkFS
SV9JT1NfOF9JUEFEDQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICAg
ICAgTUVOVUlURU0gIkludGVybmV0IEV4cGxvcmVyIDExLjAiLCAgICAgIElETV9VQV9JRV8xMQ0K
LSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KLSAgICAgICAgICAgIE1FTlVJVEVNICJH
b29nbGUgQ2hyb21lIC0gTWFjIiwgICAgICAgICBJRE1fVUFfQ0hST01FX01BQw0KLSAgICAgICAg
ICAgIE1FTlVJVEVNICJHb29nbGUgQ2hyb21lIC0gV2luZG93cyIsICAgICBJRE1fVUFfQ0hST01F
X1dJTg0KLSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KLSAgICAgICAgICAgIE1FTlVJ
VEVNICJGaXJlZm94IC0gTWFjIiwgICAgICAgICAgICAgICBJRE1fVUFfRklSRUZPWF9NQUMNCi0g
ICAgICAgICAgICBNRU5VSVRFTSAiRmlyZWZveCAtIFdpbmRvd3MiLCAgICAgICAgICAgSURNX1VB
X0ZJUkVGT1hfV0lODQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICAg
ICAgTUVOVUlURU0gIk90aGVyIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9VQV9PVEhFUg0K
LSAgICAgICAgRU5EDQotICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAgIE1FTlVJ
VEVNICJEaXNhYmxlIEltYWdlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9JTUFHRVMNCi0g
ICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIFN0eWxlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJM
RV9TVFlMRVMNCi0gICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIEphdmFTY3JpcHQiLCAgICAgICAg
ICBJRE1fRElTQUJMRV9KQVZBU0NSSVBUDQotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBMb2Nh
bCBGaWxlIFJlc3RyaWN0aW9ucyIsIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05T
DQotICAgIEVORA0KLSAgICBQT1BVUCAiJkhlbHAiDQotICAgIEJFR0lODQotICAgICAgICBNRU5V
SVRFTSAiJkFib3V0IC4uLiIsICAgICAgICAgICAgICAgICAgSURNX0FCT1VUDQotICAgIEVORA0K
LSAgICBQT1BVUCAiJkRlYnVnIg0KLSAgICBCRUdJTg0KLSAgICAgICAgTUVOVUlURU0gIlVzZSBB
VkZvdW5kYXRpb24iLCAgICAgICAgICAgIElETV9BVkZPVU5EQVRJT04sIENIRUNLRUQNCi0gICAg
ICAgIE1FTlVJVEVNICJVc2UgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCBJRE1fQUNDX0NPTVBP
U0lUSU5HLCBDSEVDS0VEDQotICAgICAgICBNRU5VSVRFTSAiRW5hYmxlIFdlYktpdCBGdWxsIFNj
cmVlbiIsICAgSURNX1dLX0ZVTExTQ1JFRU4sIENIRUNLRUQNCi0gICAgICAgIE1FTlVJVEVNIFNF
UEFSQVRPUg0KLSAgICAgICAgTUVOVUlURU0gIlNob3cgQ29tcG9zaXRpbmcgQm9yZGVycyIsICAg
IElETV9DT01QT1NJVElOR19CT1JERVJTDQotICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0g
ICAgICAgIE1FTlVJVEVNICJTaG93IENhY2hlcyBXaW5kb3ciLCAgICAgICAgICBJRE1fQ0FDSEVT
DQotICAgIEVORA0KLUVORA0KLQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBB
Y2NlbGVyYXRvcg0KLS8vDQotDQotSURDX1dJTkxBVU5DSEVSIEFDQ0VMRVJBVE9SUw0KLUJFR0lO
DQotICAgICIvIiwgICAgICAgICAgICBJRE1fQUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFM
VCwgTk9JTlZFUlQNCi0gICAgIj8iLCAgICAgICAgICAgIElETV9BQk9VVCwgICAgICAgICAgICAg
IEFTQ0lJLCAgQUxULCBOT0lOVkVSVA0KLSAgICBWS19BREQsICAgICAgICAgSURNX1pPT01fSU4s
ICAgICAgICAgICAgVklSVEtFWSwgQ09OVFJPTCwgTk9JTlZFUlQNCi0gICAgVktfU1VCVFJBQ1Qs
ICAgIElETV9aT09NX09VVCwgICAgICAgICAgIFZJUlRLRVksIENPTlRST0wsIE5PSU5WRVJUDQot
RU5EDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIERpYWxvZw0KLS8vDQot
DQotSUREX0FCT1VUQk9YIERJQUxPR0VYIDIyLCAxNywgMjMwLCA3NQ0KLVNUWUxFIERTX1NFVEZP
TlQgfCBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUNCi1DQVBUSU9OICJB
Ym91dCINCi1GT05UIDgsICJTeXN0ZW0iLCAwLCAwLCAweDANCi1CRUdJTg0KLSAgICBJQ09OICAg
ICAgICAgICAgSURJX1dJTkxBVU5DSEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMA0KLSAgICBMVEVY
VCAgICAgICAgICAgIldpbkxhdW5jaGVyIFZlcnNpb24gMS4zIixJRENfU1RBVElDLDQ5LDEwLDEx
OSw4LFNTX05PUFJFRklYDQotICAgIExURVhUICAgICAgICAgICAiQ29weXJpZ2h0IChDKSAyMDE0
IixJRENfU1RBVElDLDQ5LDIwLDExOSw4DQotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ss
MTk1LDYsMzAsMTEsV1NfR1JPVVANCi1FTkQNCi0NCi1JRERfQ0FDSEVTIERJQUxPR0VYIDAsIDAs
IDQwMSwgNDU2DQotU1RZTEUgRFNfU0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBEU19GSVhFRFNZ
UyB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUNCi1DQVBUSU9OICJEaWFsb2ci
DQotRk9OVCA4LCAiTVMgU2hlbGwgRGxnIiwgNDAwLCAwLCAweDENCi1CRUdJTg0KLSAgICBERUZQ
VVNIQlVUVE9OICAgIk9LIixJRE9LLDI4Nyw0MzUsNTAsMTQNCi0gICAgUFVTSEJVVFRPTiAgICAg
ICJDYW5jZWwiLElEQ0FOQ0VMLDM0NCw0MzUsNTAsMTQNCi0gICAgR1JPVVBCT1ggICAgICAgICJG
YXN0TWFsbG9jIixJRENfU1RBVElDLDIwOCwxNCwxODYsNjcNCi0gICAgR1JPVVBCT1ggICAgICAg
ICJXZWJDb3JlIENhY2hlIixJRENfU1RBVElDLDE3LDgzLDM3NiwxMDUNCi0gICAgR1JPVVBCT1gg
ICAgICAgICJKYXZhU2NyaXB0IEhlYXAiLElEQ19TVEFUSUMsMTgsMTkzLDM3NiwxNjgNCi0gICAg
R1JPVVBCT1ggICAgICAgICJTaXRlIEljb24gRGF0YWJhc2UiLElEQ19TVEFUSUMsMTgsMzY2LDE0
Miw2NQ0KLSAgICBHUk9VUEJPWCAgICAgICAgIkZvbnQgYW5kIEdseXBoIENhY2hlcyIsSURDX1NU
QVRJQywxNjgsMzY2LDIyNiw2Ng0KLSAgICBHUk9VUEJPWCAgICAgICAgIkNGVVJMQ2FjaGUiLElE
Q19TVEFUSUMsNywxNCwxOTcsNjcNCi0gICAgUFVTSEJVVFRPTiAgICAgICJFbXB0eSBVUkxDYWNo
ZSIsSURDX0VNUFRZX1VSTF9DQUNIRSwxMzEsNjMsNjksMTQsV1NfRElTQUJMRUQNCi0gICAgUFVT
SEJVVFRPTiAgICAgICJSZXR1cm4gRnJlZSBNZW1vcnkiLElEQ19SRVRVUk5fRlJFRV9NRU1PUlks
MzA4LDYzLDc2LDE0LFdTX0RJU0FCTEVEDQotICAgIFBVU0hCVVRUT04gICAgICAiRW1wdHkgV2Vi
Q29yZSBDYWNoZSIsSURDX0VNUFRZX1dFQkNPUkVfQ0FDSEUsMjEsMTcwLDgzLDE0LFdTX0RJU0FC
TEVEDQotICAgIENPTlRST0wgICAgICAgICAiRGlzYWJsZSBXZWJDb3JlIENhY2hlIixJRENfQ0hF
Q0sxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwx
MTksMTcyLDkzLDEwDQotICAgIFBVU0hCVVRUT04gICAgICAiR2FyYmFnZSBDb2xsZWN0IEphdmFT
Y3JpcHQgT2JqZWN0cyIsSURDX0dDX0pTQywyNTMsMzQzLDEzNSwxNCxXU19ESVNBQkxFRA0KLSAg
ICBSVEVYVCAgICAgICAgICAgIlJlc2VydmVkIFZNIixJRENfU1RBVElDLDIxMiwyNiw2Nyw5DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1JFU0VSVkVEX1ZNLDI5MCwyNiw5NCw4DQotICAg
IFJURVhUICAgICAgICAgICAiQ29tbWl0dGVkIFZNIixJRENfU1RBVElDLDIxMSwzOSw2Nyw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NPTU1JVFRFRF9WTSwyOTAsMzksOTQsOA0KLSAg
ICBSVEVYVCAgICAgICAgICAgIkZyZWUgTGlzdCBCeXRlcyIsSURDX1NUQVRJQywyMTEsNTIsNjcs
OA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19GUkVFX0xJU1RfQllURVMsMjkwLDUyLDk0
LDgNCi0gICAgUlRFWFQgICAgICAgICAgICJJbWFnZXMiLElEQ19TVEFUSUMsMzcsMTA2LDI0LDgN
Ci0gICAgUlRFWFQgICAgICAgICAgICJDU1MiLElEQ19TVEFUSUMsNDcsMTE2LDE0LDgNCi0gICAg
UlRFWFQgICAgICAgICAgICJYU0wiLElEQ19TVEFUSUMsNDksMTI2LDEyLDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICJKYXZhU2NyaXB0IixJRENfU1RBVElDLDI3LDEzNSwzNCw4DQotICAgIFJURVhU
ICAgICAgICAgICAiVG90YWwiLElEQ19TVEFUSUMsNDMsMTQ2LDE3LDgNCi0gICAgTFRFWFQgICAg
ICAgICAgICJPYmplY3RzIixJRENfU1RBVElDLDExMSw5NiwyNiw4DQotICAgIExURVhUICAgICAg
ICAgICAiQnl0ZXMiLElEQ19TVEFUSUMsMTc1LDk2LDE5LDgNCi0gICAgTFRFWFQgICAgICAgICAg
ICJMaXZlIixJRENfU1RBVElDLDIzMiw5NiwxNCw4DQotICAgIExURVhUICAgICAgICAgICAiRGVj
b2RlZCIsSURDX1NUQVRJQywyODQsOTYsMjksOA0KLSAgICBMVEVYVCAgICAgICAgICAgIlB1cmdl
YWJsZSIsSURDX1NUQVRJQywzNTEsOTYsMzMsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElE
Q19JTUFHRVNfT0JKRUNUX0NPVU5ULDEwMCwxMDYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAg
IjAiLElEQ19DU1NfT0JKRUNUX0NPVU5ULDEwMCwxMTYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19YU0xfT0JKRUNUX0NPVU5ULDEwMCwxMjYsMzIsOA0KLSAgICBSVEVYVCAgICAg
ICAgICAgIjAiLElEQ19KU0NfT0JKRUNUX0NPVU5ULDEwMCwxMzUsMzIsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQsMTAwLDE0NiwzMiw4DQotICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19CWVRFUywxNjIsMTA2LDMyLDgNCi0gICAgUlRF
WFQgICAgICAgICAgICIwIixJRENfQ1NTX0JZVEVTLDE2MiwxMTYsMzIsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19YU0xfQllURVMsMTYyLDEyNiwzMiw4DQotICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0pTQ19CWVRFUywxNjIsMTM1LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAg
ICIwIixJRENfVE9UQUxfQllURVMsMTYyLDE0NiwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0lNQUdFU19MSVZFX0NPVU5ULDIyMSwxMDYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19DU1NfTElWRV9DT1VOVCwyMjEsMTE2LDMyLDgNCi0gICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfWFNMX0xJVkVfQ09VTlQsMjIxLDEyNiwzMiw4DQotICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0pTQ19MSVZFX0NPVU5ULDIyMSwxMzUsMzIsOA0KLSAgICBSVEVYVCAgICAg
ICAgICAgIjAiLElEQ19UT1RBTF9MSVZFX0NPVU5ULDIyMSwxNDYsMzIsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19JTUFHRVNfREVDT0RFRF9DT1VOVCwyODQsMTA2LDMyLDgNCi0gICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX0RFQ09ERURfQ09VTlQsMjg0LDExNiwzMiw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1hTTF9ERUNPREVEX0NPVU5ULDI4NCwxMjYsMzIs
OA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfREVDT0RFRF9DT1VOVCwyODQsMTM1
LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfREVDT0RFRCwyODQsMTQ2
LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSU1BR0VTX1BVUkdFQUJMRV9DT1VO
VCwzNTQsMTA2LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX1BVUkdFQUJM
RV9DT1VOVCwzNTQsMTE2LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX1BV
UkdFQUJMRV9DT1VOVCwzNTQsMTI2LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENf
SlNDX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTM1LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfVE9UQUxfUFVSR0VBQkxFLDM1NCwxNDYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAg
IlRvdGFsIE9iamVjdHMiLElEQ19TVEFUSUMsNjMsMjA3LDQ0LDgNCi0gICAgUlRFWFQgICAgICAg
ICAgICJHbG9iYWwgT2JqZWN0cyIsSURDX1NUQVRJQyw1NiwyMTcsNTEsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIlByb3RlY3RlZCBPYmplY3RzIixJRENfU1RBVElDLDQ4LDIyNyw1OSw4DQotICAg
IFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMsMTI3LDIwNyw1
Niw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RT
LDEyNywyMTcsNTYsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19QUk9URUNURURfSlND
X0hFQVBfT0JKRUNUUywxMjcsMjI3LDU2LDgNCi0gICAgUlRFWFQgICAgICAgICAgICJTaXplIixJ
RENfU1RBVElDNTYsMjIzLDIwNywxNCw4DQotICAgIFJURVhUICAgICAgICAgICAiRnJlZSIsSURD
X1NUQVRJQzU3LDIyMiwyMTcsMTYsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0Nf
SEVBUF9TSVpFLDI3MCwyMDcsNTYsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0Nf
SEVBUF9GUkVFLDI3MCwyMTcsNTYsOA0KLSAgICBQVVNIQlVUVE9OICAgICAgIlB1cmdlIEluYWN0
aXZlIEZvbnQgRGF0YSIsSURDX0JVVFRPTjUsMjkzLDQxNSw5NSwxNCxXU19ESVNBQkxFRA0KLSAg
ICBMVEVYVCAgICAgICAgICAgIlRvdGFsIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDIw
OCwzNzksNzgsOA0KLSAgICBMVEVYVCAgICAgICAgICAgIkluYWN0aXZlIEZvbnQgRGF0YSBPYmpl
Y3RzIixJRENfU1RBVElDLDE5OCwzOTAsODgsOA0KLSAgICBMVEVYVCAgICAgICAgICAgIkdseXBo
IFBhZ2VzIixJRENfU1RBVElDLDI0Niw0MDIsNDAsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAi
LElEQ19UT1RBTF9GT05UX09CSkVDVFMsMzI5LDM3OSw1Niw4DQotICAgIFJURVhUICAgICAgICAg
ICAiMCIsSURDX0lOQUNUSVZFX0ZPTlRfT0JKRUNUUywzMjksMzkwLDU2LDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfR0xZUEhfUEFHRVMsMzI5LDQwMiw1Niw4DQotICAgIExURVhUICAg
ICAgICAgICAiUGFnZSBVUkwgTWFwcGluZ3MiLElEQ19TVEFUSUMsMzMsMzgwLDY0LDgNCi0gICAg
TFRFWFQgICAgICAgICAgICJSZXRhaW5lZCBQYWdlIFVSTHMiLElEQ19TVEFUSUMsMzEsMzkwLDY2
LDgNCi0gICAgTFRFWFQgICAgICAgICAgICJTaXRlIEljb24gUmVjb3JkcyIsSURDX1NUQVRJQyw0
MCw0MDAsNTcsOA0KLSAgICBMVEVYVCAgICAgICAgICAgIlNpdGUgSWNvbnMgd2l0aCBEYXRhIixJ
RENfU1RBVElDLDMyLDQxMCw2NSw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1BBR0Vf
VVJMX01BUFBJTkdTLDEwMSwzODAsNTIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19S
RVRBSU5FRF9QQUdFX1VSTFMsMTAxLDM5MCw1Miw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1NJVEVfSUNPTl9SRUNPUkRTLDEwMSw0MDAsNTIsOA0KLSAgICBSVEVYVCAgICAgICAgICAg
IjAiLElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSwxMDEsNDEwLDUyLDgNCi1FTkQNCi0NCi1JRERf
VVNFUl9BR0VOVCBESUFMT0dFWCAwLCAwLCAzMDksIDE3Ng0KLVNUWUxFIERTX1NFVEZPTlQgfCBE
U19NT0RBTEZSQU1FIHwgRFNfRklYRURTWVMgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19T
WVNNRU5VDQotQ0FQVElPTiAiRGlhbG9nIg0KLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIsIDQwMCwg
MCwgMHgxDQotQkVHSU4NCi0gICAgTFRFWFQgICAgICAgICAgICJUeXBlIGEgY3VzdG9tIHVzZXIg
YWdlbnQgc3RyaW5nIGZvciB0aGlzIHBhZ2UuIixJRENfTWVzc2FnZSw3LDcsMjk1LDE5DQotICAg
IEVESVRURVhUICAgICAgICBJRENfVVNFUl9BR0VOVF9JTlBVVCw3LDM0LDI5NSwxMTcsRVNfQVVU
T0hTQ1JPTEwNCi0gICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxOTgsMTU1LDUwLDE0DQot
ICAgIFBVU0hCVVRUT04gICAgICAiQ2FuY2VsIixJRENBTkNFTCwyNTIsMTU1LDUwLDE0DQotRU5E
DQotDQotDQotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0K
LS8vDQotLy8gVEVYVElOQ0xVREUNCi0vLw0KLQ0KLTEgVEVYVElOQ0xVREUgDQotQkVHSU4NCi0g
ICAgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaFwwIg0KLUVORA0KLQ0KLTIgVEVYVElOQ0xVREUg
DQotQkVHSU4NCi0gICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIg0KLSAg
ICAiI2luY2x1ZGUgIiJ3aW5kb3dzLmgiIlxyXG4iDQotICAgICIjdW5kZWYgQVBTVFVESU9fSElE
REVOX1NZTUJPTFNcclxuIg0KLSAgICAiXDAiDQotRU5EDQotDQotMyBURVhUSU5DTFVERSANCi1C
RUdJTg0KLSAgICAiXHJcbiINCi0gICAgIlwwIg0KLUVORA0KLQ0KLSNlbmRpZiAgICAvLyBBUFNU
VURJT19JTlZPS0VEDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIERFU0lH
TklORk8NCi0vLw0KLQ0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQotR1VJREVMSU5FUyBERVNJ
R05JTkZPDQotQkVHSU4NCi0gICAgSUREX0FCT1VUQk9YLCBESUFMT0cNCi0gICAgQkVHSU4NCi0g
ICAgRU5EDQotDQotICAgIElERF9DQUNIRVMsIERJQUxPRw0KLSAgICBCRUdJTg0KLSAgICAgICAg
TEVGVE1BUkdJTiwgNw0KLSAgICAgICAgUklHSFRNQVJHSU4sIDM5NA0KLSAgICAgICAgVE9QTUFS
R0lOLCA3DQotICAgICAgICBCT1RUT01NQVJHSU4sIDQ0OQ0KLSAgICBFTkQNCi0NCi0gICAgSURE
X1VTRVJfQUdFTlQsIERJQUxPRw0KLSAgICBCRUdJTg0KLSAgICAgICAgTEVGVE1BUkdJTiwgNw0K
LSAgICAgICAgUklHSFRNQVJHSU4sIDMwMg0KLSAgICAgICAgVE9QTUFSR0lOLCA3DQotICAgICAg
ICBCT1RUT01NQVJHSU4sIDE2OQ0KLSAgICBFTkQNCi1FTkQNCi0jZW5kaWYgICAgLy8gQVBTVFVE
SU9fSU5WT0tFRA0KLQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBTdHJpbmcg
VGFibGUNCi0vLw0KLQ0KLVNUUklOR1RBQkxFDQotQkVHSU4NCi0gICAgSURTX0FQUF9USVRMRSAg
ICAgICAgICAgIldpbkxhdW5jaGVyIg0KLSAgICBJRENfV0lOTEFVTkNIRVIgICAgICAgICAiV0lO
TEFVTkNIRVIiDQotRU5EDQotDQotI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMp
IHJlc291cmNlcw0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotDQotDQotDQotI2lmbmRlZiBBUFNU
VURJT19JTlZPS0VEDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEdlbmVyYXRlZCBm
cm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLg0KLS8vDQotDQotDQotLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8NCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQNCi0NCkluZGV4OiBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlckxpYi52Y3hwcm9qCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMjYzICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0i
MTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVp
bGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0g
ICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnU3VmZml4fFdpbjMyIj4KLSAg
ICAgIDxDb25maWd1cmF0aW9uPkRlYnVnU3VmZml4PC9Db25maWd1cmF0aW9uPgotICAgICAgPFBs
YXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAg
IDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z1N1ZmZpeHx4NjQiPgotICAgICAg
PENvbmZpZ3VyYXRpb24+RGVidWdTdWZmaXg8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9q
ZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z19XaW5DYWlyb3xXaW4zMiI+Ci0gICAgICA8
Q29uZmlndXJhdGlvbj5EZWJ1Z19XaW5DYWlybzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWdfV2luQ2Fpcm98eDY0Ij4KLSAgICAg
IDxDb25maWd1cmF0aW9uPkRlYnVnX1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBs
YXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgotICAgICAgPENvbmZp
Z3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1Bs
YXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1
cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Zzwv
Q29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJv
amVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBy
b2R1Y3Rpb258V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UHJvZHVjdGlvbjwvQ29uZmln
dXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0
Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUHJvZHVj
dGlvbnx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UHJvZHVjdGlvbjwvQ29uZmlndXJhdGlv
bj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3Vy
YXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VfV2luQ2Fp
cm98V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZV9XaW5DYWlybzwvQ29uZmln
dXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0
Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFz
ZV9XaW5DYWlyb3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZV9XaW5DYWlybzwv
Q29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJv
amVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJl
bGVhc2V8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlv
bj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQi
PgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQ
bGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwv
SXRlbUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2pl
Y3RHdWlkPnsxMTRGQ0ExMS0yMTZCLTRDOEMtOTU3RS0zMEE3NUFFODA0NDN9PC9Qcm9qZWN0R3Vp
ZD4KLSAgICA8Um9vdE5hbWVzcGFjZT5XaW5MYXVuY2hlcjwvUm9vdE5hbWVzcGFjZT4KLSAgICA8
S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+Ci0gICAgPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZl
cnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRl
ZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9u
Ij4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25U
eXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRp
b25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVy
U2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1Bs
YXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5
bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNv
ZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9v
bHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyIgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFy
eTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0
ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlv
blR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBs
YXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmln
dXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFy
YWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0
MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzIn
IiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNM
aWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0No
YXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9u
Ij4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25U
eXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdfV2luQ2Fpcm98V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENv
bmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8
Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0
PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlH
cm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5
cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+
VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZv
cm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIiBM
YWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJy
YXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJh
Y3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciIExhYmVsPSJDb25maWd1cmF0
aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRp
b25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQ
bGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3Bz
IiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQu
Q3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3Jt
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJSZWxlYXNlLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51
c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUmVsZWFzZS5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gIDwvSW1wb3J0
R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMi
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBs
YXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWlj
cm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQ
bGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUmVsZWFzZS5w
cm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29s
c1x2c3Byb3BzXEdTdHJlYW1lcjMyLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5c
Li5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lckNvbW1vbi5w
cm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIiBMYWJl
bD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilc
TWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygn
JChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExh
YmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ildpbkxh
dW5jaGVyTGliUmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5j
aGVyQ0ZMaXRlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0
TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lcjY0LnByb3BzIiAvPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3Bz
XEdTdHJlYW1lckNvbW1vbi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdy
b3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIk
KFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRp
dGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVz
ZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iV2luTGF1bmNoZXJMaWJQcm9kdWN0aW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPElt
cG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBD
b25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0g
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2pl
Y3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIg
Q29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9y
bSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPElt
cG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQo
VXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0
aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNl
ci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdy
b3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2lu
Q2Fpcm98V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBD
b25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3Jt
KS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliRGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSJXaW5MYXVuY2hlckNGTGl0ZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9
Ii4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFtZXIzMi5w
cm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3
aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFtZXJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3Jv
dXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQu
Q3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3Jt
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0ZMaXRlLnByb3BzIiAvPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3Bz
XEdTdHJlYW1lcjY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cV2Vi
S2l0TGlicmFyaWVzXHdpblx0b29sc1x2c3Byb3BzXEdTdHJlYW1lckNvbW1vbi5wcm9wcyIgLz4K
LSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIiBMYWJlbD0iUHJvcGVydHlT
aGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERp
cilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFw
cERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliRGVi
dWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3Bz
XGRlYnVnc3VmZml4LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2Vy
Um9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249
ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnBy
b3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2pl
Y3Q9IldpbkxhdW5jaGVyTGliRGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJX
aW5MYXVuY2hlckNGLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGli
cmFyaWVzKVx0b29sc1x2c3Byb3BzXGRlYnVnc3VmZml4LnByb3BzIiAvPgotICA8L0ltcG9ydEdy
b3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZp
bGVWZXJzaW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgot
ICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVk
ZT0ic21hbGwuaWNvIiAvPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyLmljbyIgLz4K
LSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlBvc3RCdWlsZC5jbWQiIC8+Ci0gICAg
PE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJQcmVCdWlsZC5jbWQiIC8+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cQWNjZXNzaWJp
bGl0eURlbGVnYXRlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXENvbW1vbi5j
cHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cRE9NRGVmYXVsdElt
cGwuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUGFnZUxvYWRUZXN0Q2xpZW50
LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByaW50V2ViVUlEZWxlZ2F0ZS5j
cHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxSZXNvdXJjZUxvYWREZWxlZ2F0ZS5j
cHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzdGRhZnguY3BwIj4KLSAgICAgIDxQ
cmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8V2luMzInIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFBy
ZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXx4NjQnIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFByZWNv
bXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAg
ICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+
Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRl
cj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRl
cj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4K
LSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAg
ICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+
Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVh
ZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj5DcmVhdGU8L1ByZWNvbXBpbGVk
SGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+Q3JlYXRlPC9QcmVjb21waWxl
ZEhlYWRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdl
YkRvd25sb2FkRGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2lu
TGF1bmNoZXIuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJX
ZWJIb3N0LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdpbk1haW4uY3BwIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cRE9NRGVmYXVsdEltcGwuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFBhZ2VM
b2FkVGVzdENsaWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cUHJpbnRXZWJV
SURlbGVnYXRlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxSZXNvdXJjZUxvYWRE
ZWxlZ2F0ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3RkYWZ4LmgiIC8+Ci0g
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXZWJEb3dubG9hZERlbGVnYXRlLmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlci5oIiAvPgotICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cV2luTGF1bmNoZXJSZXBsYWNlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxXaW5MYXVuY2hlcldlYkhvc3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
IldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3Jv
dXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYi5yYyIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFy
Z2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+CkluZGV4OiBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnZjeHByb2ouZmlsdGVycwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyTGliLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9qLmZpbHRl
cnMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAyICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0g
IDxJdGVtR3JvdXA+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJTb3VyY2UgRmlsZXMiPgotICAgICAg
PFVuaXF1ZUlkZW50aWZpZXI+ezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn08
L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5jcHA7YztjYztjeHg7ZGVmO29k
bDtpZGw7aHBqO2JhdDthc207YXNteDwvRXh0ZW5zaW9ucz4KLSAgICA8L0ZpbHRlcj4KLSAgICA8
RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57
OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfTwvVW5pcXVlSWRlbnRpZmllcj4K
LSAgICAgIDxFeHRlbnNpb25zPmg7aHBwO2h4eDtobTtpbmw7aW5jO3hzZDwvRXh0ZW5zaW9ucz4K
LSAgICA8L0ZpbHRlcj4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlJlc291cmNlIEZpbGVzIj4KLSAg
ICAgIDxVbmlxdWVJZGVudGlmaWVyPns2N0RBNkFCNi1GODAwLTRjMDgtOEI3QS04M0JCMTIxQUFE
MDF9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgICAgPEV4dGVuc2lvbnM+cmM7aWNvO2N1cjtibXA7
ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dh
djwvRXh0ZW5zaW9ucz4KLSAgICA8L0ZpbHRlcj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3Jv
dXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0ic21hbGwuaWNvIj4KLSAgICAgIDxGaWx0ZXI+UmVzb3Vy
Y2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L05vbmU+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1
bmNoZXIuaWNvIj4KLSAgICAgIDxGaWx0ZXI+UmVzb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8
L05vbmU+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJQb3N0QnVpbGQuY21kIiAv
PgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliUHJlQnVpbGQuY21kIiAvPgotICA8
L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBy
aW50V2ViVUlEZWxlZ2F0ZS5jcHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRl
cj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN0ZGFmeC5j
cHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyLmNwcCI+Ci0gICAgICA8
RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cQWNjZXNzaWJpbGl0eURlbGVnYXRlLmNwcCI+Ci0gICAgICA8Rmls
dGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJXZWJIb3N0LmNwcCI+Ci0gICAgICA8RmlsdGVyPlNv
dXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cRE9NRGVmYXVsdEltcGwuY3BwIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVz
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxX
aW5NYWluLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cQ29tbW9uLmNwcCI+Ci0gICAg
ICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cUmVzb3VyY2VMb2FkRGVsZWdhdGUuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxQYWdlTG9hZFRlc3RDbGllbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+
U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxXZWJEb3dubG9hZERlbGVnYXRlLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJj
ZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0
ZW1Hcm91cD4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXERPTURlZmF1bHRJbXBsLmgiPgot
ICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFByaW50V2ViVUlEZWxlZ2F0ZS5oIj4KLSAgICAgIDxG
aWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdGRhZnguaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwv
RmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2lu
TGF1bmNoZXIuaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJSZXNvdXJj
ZS5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1
ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUuaCI+
Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJSZXBsYWNlLmgiPgotICAgICAg
PEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyV2ViSG9zdC5oIj4KLSAgICAgIDxGaWx0ZXI+
SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVy
IEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxQYWdlTG9hZFRlc3RDbGllbnQuaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwv
RmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2Vi
RG93bmxvYWREZWxlZ2F0ZS5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+
Ci0gICAgPC9DbEluY2x1ZGU+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxS
ZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWIucmMiPgotICAgICAgPEZpbHRl
cj5SZXNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICA8L0l0
ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29tbW9u
LnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJv
cHMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTYgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9v
bHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVs
b3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8VGFyZ2V0TmFtZT5X
aW5MYXVuY2hlcjwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmlu
aXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM+JChQcm9qZWN0RGlyKTskKFByb2plY3REaXIpXC4uOyQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxpbmNsdWRlXFdlYktpdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxw
cml2YXRlOyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlOyQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxJbmNsdWRlXFdlYkNvcmU7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVc
V2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVyczskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVk
ZVxKYXZhU2NyaXB0Q29yZTskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYktpdFxEZXJp
dmVkU291cmNlczskKFdlYktpdF9MaWJyYXJpZXMpXEluY2x1ZGU7JChXZWJLaXRfTGlicmFyaWVz
KVxJbmNsdWRlXHByaXZhdGU7JChXZWJLaXRfTGlicmFyaWVzKVxJbmNsdWRlXFdlYkNvcmU7JChX
ZWJLaXRfTGlicmFyaWVzKVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnM7JChXZWJL
aXRfTGlicmFyaWVzKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlOyQoSW50RGlyKUluY2x1ZGU7JShB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmll
cz4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj5Vc2U8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAg
ICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZT5TdGRBZnguaDwvUHJlY29tcGlsZWRIZWFkZXJGaWxl
PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRl
bmNpZXM+V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29tZGxnMzIubGliO2NvbXN1cHB3LmxpYjtn
ZGkzMi5saWI7Y29tY3RsMzIubGliO3NobHdhcGkubGliO3VzZXIzMi5saWI7b2xlMzIubGliO29s
ZWF1dDMyLmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZpeCkubGliO1dlYktpdCQoRGVidWdTdWZm
aXgpLmxpYjtXVEYkKERlYnVnU3VmZml4KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwv
QWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25H
cm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliRGVidWcucHJv
cHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlckxpYkRlYnVnLnByb3BzCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliRGVidWcucHJvcHMJKHdv
cmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNp
b249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21z
YnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGNvbW1v
bi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9v
bHNcdnNwcm9wc1xkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5j
aGVyTGliQ29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQb3N0QnVpbGQuY21kCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQb3N0QnVp
bGQuY21kCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpAQCAt
MSArMCwwIEBACi1pZiBleGlzdCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQi
IGRlbCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQiCkluZGV4OiBUb29scy9X
aW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJlQnVpbGQuY21k
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJMaWJQcmVCdWlsZC5jbWQJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQcmVCdWlsZC5jbWQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMCwwIEBACi0lU3lzdGVtRHJpdmUlXGN5Z3dpblxiaW5cd2hp
Y2guZXhlIHBlcmwKLWlmIGVycm9ybGV2ZWwgMSBzZXQgUEFUSD0lU3lzdGVtRHJpdmUlXGN5Z3dp
blxiaW47JVBBVEglCi1jbWQgL2MKLWlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxi
dWlsZGZhaWxlZCIgcGVybCAtd25sZSAiaWYgKC9YWCVQUk9KRUNUTkFNRSVYWC8pIHsgcHJpbnQg
fSBlbHNlIHsgZXhpdCAxIH0iICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIK
LWlmIGVycm9ybGV2ZWwgMSBleGl0IDEKLWVjaG8gWFglUFJPSkVDVE5BTUUlWFggPiAiJUNPTkZJ
R1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQiCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJvZHVjdGlvbi5wcm9wcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliUHJvZHVjdGlvbi5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDov
L3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9y
dEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdl
YktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgotICAgIDxJbXBv
cnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXHByb2R1Y3Rpb24u
cHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9w
cyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNy
b3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIC8+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIC8+Ci0g
IDxJdGVtR3JvdXAgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGli
UmVsZWFzZS5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVsZWFzZS5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQor
KysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJl
bGVhc2UucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi3vu788P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1
aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVy
dHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29s
c1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0
X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+
Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogVG9vbHMvV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlckxpYlJlc291cmNlLmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDExOSArMCwwIEBACi0vLyB7e05PX0RFUEVOREVOQ0lFU319Ci0vLyBNaWNyb3Nv
ZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBXaW5MYXVu
Y2hlckxpYi5yYwotLy8KLSNkZWZpbmUgSURDX01ZSUNPTiAgICAgICAgICAgICAgICAgICAgICAy
Ci0jZGVmaW5lIElERF9XSU5MQVVOQ0hFUl9ESUFMT0cgICAgICAgICAgMTAyCi0jZGVmaW5lIElE
U19BUFBfVElUTEUgICAgICAgICAgICAgICAgICAgMTAzCi0jZGVmaW5lIElERF9BQk9VVEJPWCAg
ICAgICAgICAgICAgICAgICAgMTAzCi0jZGVmaW5lIElETV9BQk9VVCAgICAgICAgICAgICAgICAg
ICAgICAgMTA0Ci0jZGVmaW5lIElETV9FWElUICAgICAgICAgICAgICAgICAgICAgICAgMTA1Ci0j
ZGVmaW5lIElETV9QUklOVCAgICAgICAgICAgICAgICAgICAgICAgMTA2Ci0jZGVmaW5lIElESV9X
SU5MQVVOQ0hFUiAgICAgICAgICAgICAgICAgMTA3Ci0jZGVmaW5lIElESV9TTUFMTCAgICAgICAg
ICAgICAgICAgICAgICAgMTA4Ci0jZGVmaW5lIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICAgICAg
ICAgMTA5Ci0jZGVmaW5lIElETV9BVkZPVU5EQVRJT04gICAgICAgICAgICAgICAgMTEwCi0jZGVm
aW5lIElETV9BQ0NfQ09NUE9TSVRJTkcgICAgICAgICAgICAgMTExCi0jZGVmaW5lIElETV9XS19G
VUxMU0NSRUVOICAgICAgICAgICAgICAgMTEyCi0jZGVmaW5lIElETV9DT01QT1NJVElOR19CT1JE
RVJTICAgICAgICAgMTEzCi0jZGVmaW5lIElETV9DQUNIRVMgICAgICAgICAgICAgICAgICAgICAg
MTE0Ci0jZGVmaW5lIElETV9XRUJfSU5TUEVDVE9SICAgICAgICAgICAgICAgMTIwCi0jZGVmaW5l
IElETV9ESVNBQkxFX0lNQUdFUyAgICAgICAgICAgICAgMTIxCi0jZGVmaW5lIElETV9ESVNBQkxF
X1NUWUxFUyAgICAgICAgICAgICAgMTIyCi0jZGVmaW5lIElETV9ESVNBQkxFX0pBVkFTQ1JJUFQg
ICAgICAgICAgMTIzCi0jZGVmaW5lIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05T
IDEyNAotI2RlZmluZSBJRE1fSU5WRVJUX0NPTE9SUyAgICAgICAgICAgICAgIDEyNQotI2RlZmlu
ZSBJRFJfTUFJTkZSQU1FICAgICAgICAgICAgICAgICAgIDEyOAotI2RlZmluZSBJRERfQ0FDSEVT
ICAgICAgICAgICAgICAgICAgICAgIDEyOQotI2RlZmluZSBJRE1fSElTVE9SWV9CQUNLV0FSRCAg
ICAgICAgICAgIDEzMAotI2RlZmluZSBJRERfVVNFUl9BR0VOVCAgICAgICAgICAgICAgICAgIDEz
MAotI2RlZmluZSBJRE1fSElTVE9SWV9GT1JXQVJEICAgICAgICAgICAgIDEzMQotI2RlZmluZSBJ
RE1fSElTVE9SWV9MSU5LMCAgICAgICAgICAgICAgIDE1MAotI2RlZmluZSBJRE1fSElTVE9SWV9M
SU5LMSAgICAgICAgICAgICAgIDE1MQotI2RlZmluZSBJRE1fSElTVE9SWV9MSU5LMiAgICAgICAg
ICAgICAgIDE1MgotI2RlZmluZSBJRE1fSElTVE9SWV9MSU5LMyAgICAgICAgICAgICAgIDE1Mwot
I2RlZmluZSBJRE1fSElTVE9SWV9MSU5LNCAgICAgICAgICAgICAgIDE1NAotI2RlZmluZSBJRE1f
SElTVE9SWV9MSU5LNSAgICAgICAgICAgICAgIDE1NQotI2RlZmluZSBJRE1fSElTVE9SWV9MSU5L
NiAgICAgICAgICAgICAgIDE1NgotI2RlZmluZSBJRE1fSElTVE9SWV9MSU5LNyAgICAgICAgICAg
ICAgIDE1NwotI2RlZmluZSBJRE1fSElTVE9SWV9MSU5LOCAgICAgICAgICAgICAgIDE1OAotI2Rl
ZmluZSBJRE1fSElTVE9SWV9MSU5LOSAgICAgICAgICAgICAgIDE1OQotI2RlZmluZSBJRFRfVVBE
QVRFX1NUQVRTICAgICAgICAgICAgICAgIDE2MAotI2RlZmluZSBJRE1fVUFfREVGQVVMVCAgICAg
ICAgICAgICAgICAgIDE2MQotI2RlZmluZSBJRE1fVUFfU0FGQVJJXzhfMCAgICAgICAgICAgICAg
IDE2MgotI2RlZmluZSBJRE1fVUFfU0FGQVJJX0lPU184X0lQSE9ORSAgICAgIDE2MwotI2RlZmlu
ZSBJRE1fVUFfU0FGQVJJX0lPU184X0lQQUQgICAgICAgIDE2NAotI2RlZmluZSBJRE1fVUFfSUVf
MTEgICAgICAgICAgICAgICAgICAgIDE2NQotI2RlZmluZSBJRE1fVUFfQ0hST01FX01BQyAgICAg
ICAgICAgICAgIDE2NgotI2RlZmluZSBJRE1fVUFfQ0hST01FX1dJTiAgICAgICAgICAgICAgIDE2
NwotI2RlZmluZSBJRE1fVUFfRklSRUZPWF9NQUMgICAgICAgICAgICAgIDE2OAotI2RlZmluZSBJ
RE1fVUFfRklSRUZPWF9XSU4gICAgICAgICAgICAgIDE2OQotI2RlZmluZSBJRE1fVUFfT1RIRVIg
ICAgICAgICAgICAgICAgICAgIDE3MAotI2RlZmluZSBJRE1fQUNUVUFMX1NJWkUgICAgICAgICAg
ICAgICAgIDE3MQotI2RlZmluZSBJRE1fWk9PTV9JTiAgICAgICAgICAgICAgICAgICAgIDE3Mgot
I2RlZmluZSBJRE1fWk9PTV9PVVQgICAgICAgICAgICAgICAgICAgIDE3MwotI2RlZmluZSBJRENf
RU1QVFlfVVJMX0NBQ0hFICAgICAgICAgICAgIDEwMDAKLSNkZWZpbmUgSURDX1JFVFVSTl9GUkVF
X01FTU9SWSAgICAgICAgICAxMDAxCi0jZGVmaW5lIElEQ19FTVBUWV9XRUJDT1JFX0NBQ0hFICAg
ICAgICAgMTAwMgotI2RlZmluZSBJRENfQ0hFQ0sxICAgICAgICAgICAgICAgICAgICAgIDEwMDMK
LSNkZWZpbmUgSURDX0hFQVBfT0JKRUNUUyAgICAgICAgICAgICAgICAxMDA1Ci0jZGVmaW5lIElE
Q19HQ19KU0MgICAgICAgICAgICAgICAgICAgICAgMTAwNgotI2RlZmluZSBJRENfUkVTRVJWRURf
Vk0gICAgICAgICAgICAgICAgIDEwMDcKLSNkZWZpbmUgSURDX0NPTU1JVFRFRF9WTSAgICAgICAg
ICAgICAgICAxMDA4Ci0jZGVmaW5lIElEQ19GUkVFX0xJU1RfQllURVMgICAgICAgICAgICAgMTAw
OQotI2RlZmluZSBJRENfSU1BR0VTX09CSkVDVF9DT1VOVCAgICAgICAgIDEwMTEKLSNkZWZpbmUg
SURDX0NTU19PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDEyCi0jZGVmaW5lIElEQ19YU0xfT0JK
RUNUX0NPVU5UICAgICAgICAgICAgMTAxMwotI2RlZmluZSBJRENfSlNDX09CSkVDVF9DT1VOVCAg
ICAgICAgICAgIDEwMTQKLSNkZWZpbmUgSURDX1RPVEFMX09CSkVDVF9DT1VOVCAgICAgICAgICAx
MDE1Ci0jZGVmaW5lIElEQ19JTUFHRVNfQllURVMgICAgICAgICAgICAgICAgMTAxNgotI2RlZmlu
ZSBJRENfQ1NTX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTcKLSNkZWZpbmUgSURDX1hTTF9C
WVRFUyAgICAgICAgICAgICAgICAgICAxMDE4Ci0jZGVmaW5lIElEQ19KU0NfQllURVMgICAgICAg
ICAgICAgICAgICAgMTAxOQotI2RlZmluZSBJRENfVE9UQUxfQllURVMgICAgICAgICAgICAgICAg
IDEwMjAKLSNkZWZpbmUgSURDX0lNQUdFU19MSVZFX0NPVU5UICAgICAgICAgICAxMDIxCi0jZGVm
aW5lIElEQ19DU1NfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyMgotI2RlZmluZSBJRENfWFNM
X0xJVkVfQ09VTlQgICAgICAgICAgICAgIDEwMjMKLSNkZWZpbmUgSURDX0pTQ19MSVZFX0NPVU5U
ICAgICAgICAgICAgICAxMDI0Ci0jZGVmaW5lIElEQ19UT1RBTF9MSVZFX0NPVU5UICAgICAgICAg
ICAgMTAyNQotI2RlZmluZSBJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQgICAgICAgIDEwMjYKLSNk
ZWZpbmUgSURDX0NTU19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI3Ci0jZGVmaW5lIElEQ19Y
U0xfREVDT0RFRF9DT1VOVCAgICAgICAgICAgMTAyOAotI2RlZmluZSBJRENfSlNDX0RFQ09ERURf
Q09VTlQgICAgICAgICAgIDEwMjkKLSNkZWZpbmUgSURDX1RPVEFMX0RFQ09ERUQgICAgICAgICAg
ICAgICAxMDMwCi0jZGVmaW5lIElEQ19JTUFHRVNfUFVSR0VBQkxFX0NPVU5UICAgICAgMTAzMQot
I2RlZmluZSBJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzIKLSNkZWZpbmUgSURD
X1hTTF9QVVJHRUFCTEVfQ09VTlQgICAgICAgICAxMDMzCi0jZGVmaW5lIElEQ19KU0NfUFVSR0VB
QkxFX0NPVU5UICAgICAgICAgMTAzNAotI2RlZmluZSBJRENfVE9UQUxfUFVSR0VBQkxFICAgICAg
ICAgICAgIDEwMzUKLSNkZWZpbmUgSURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMgICAgICAxMDM2
Ci0jZGVmaW5lIElEQ19HTE9CQUxfSlNDX0hFQVBfT0JKRUNUUyAgICAgMTAzNwotI2RlZmluZSBJ
RENfUFJPVEVDVEVEX0pTQ19IRUFQX09CSkVDVFMgIDEwMzgKLSNkZWZpbmUgSURDX1NUQVRJQzU2
ICAgICAgICAgICAgICAgICAgICAxMDM5Ci0jZGVmaW5lIElEQ19TVEFUSUM1NyAgICAgICAgICAg
ICAgICAgICAgMTA0MAotI2RlZmluZSBJRENfSlNDX0hFQVBfU0laRSAgICAgICAgICAgICAgIDEw
NDEKLSNkZWZpbmUgSURDX0pTQ19IRUFQX0ZSRUUgICAgICAgICAgICAgICAxMDQyCi0jZGVmaW5l
IElEQ19CVVRUT041ICAgICAgICAgICAgICAgICAgICAgMTA0MwotI2RlZmluZSBJRENfVE9UQUxf
Rk9OVF9PQkpFQ1RTICAgICAgICAgIDEwNDQKLSNkZWZpbmUgSURDX01lc3NhZ2UgICAgICAgICAg
ICAgICAgICAgICAxMDQ0Ci0jZGVmaW5lIElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMgICAgICAg
MTA0NQotI2RlZmluZSBJRENfR0xZUEhfUEFHRVMgICAgICAgICAgICAgICAgIDEwNDYKLSNkZWZp
bmUgSURDX1BBR0VfVVJMX01BUFBJTkdTICAgICAgICAgICAxMDQ3Ci0jZGVmaW5lIElEQ19SRVRB
SU5FRF9QQUdFX1VSTFMgICAgICAgICAgMTA0OAotI2RlZmluZSBJRENfU0lURV9JQ09OX1JFQ09S
RFMgICAgICAgICAgIDEwNDkKLSNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUzUgICAgICAg
ICAxMDUwCi0jZGVmaW5lIElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSAgICAgICAgMTA1MQotI2Rl
ZmluZSBJRENfVVNFUl9BR0VOVF9JTlBVVCAgICAgICAgICAgIDEwNTIKLSNkZWZpbmUgSURDX1NU
QVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQotCi0vLyBOZXh0IGRlZmF1bHQgdmFsdWVzIGZv
ciBuZXcgb2JqZWN0cwotLy8gCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRAotI2lmbmRlZiBBUFNU
VURJT19SRUFET05MWV9TWU1CT0xTCi0jZGVmaW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAgICAg
ICAgICAgMQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDE3NAotI2Rl
ZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDMyNzc2Ci0jZGVmaW5lIF9BUFNf
TkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTA1MwotI2RlZmluZSBfQVBTX05FWFRfU1lNRURf
VkFMVUUgICAgICAgICAgIDExMAotI2VuZGlmCi0jZW5kaWYKSW5kZXg6IFRvb2xzL1dpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQb3N0QnVpbGQuY21kCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQ
b3N0QnVpbGQuY21kCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUG9zdEJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpA
QCAtMSArMCwwIEBACi1pZiBleGlzdCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWls
ZWQiIGRlbCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQiCkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJlQnVpbGQuY21k
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJQcmVCdWlsZC5jbWQJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQcmVCdWlsZC5jbWQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMCwwIEBACi0lU3lzdGVtRHJpdmUlXGN5Z3dpblxiaW5cd2hpY2guZXhl
IHBlcmwKLWlmIGVycm9ybGV2ZWwgMSBzZXQgUEFUSD0lU3lzdGVtRHJpdmUlXGN5Z3dpblxiaW47
JVBBVEglCi1jbWQgL2MKLWlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZh
aWxlZCIgcGVybCAtd25sZSAiaWYgKC9YWCVQUk9KRUNUTkFNRSVYWC8pIHsgcHJpbnQgfSBlbHNl
IHsgZXhpdCAxIH0iICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKLWlmIGVy
cm9ybGV2ZWwgMSBleGl0IDEKLWVjaG8gWFglUFJPSkVDVE5BTUUlWFggPiAiJUNPTkZJR1VSQVRJ
T05CVUlMRERJUiVcYnVpbGRmYWlsZWQiCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJvZHVjdGlvbi5wcm9wcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJvZHVjdGlv
bi5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNo
ZXIudmN4cHJvai9XaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHMJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTIgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
LTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9z
b2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQ
cm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMp
XHRvb2xzXHZzcHJvcHNcY29tbW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChX
ZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXHByb2R1Y3Rpb24ucHJvcHMiIC8+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNvbW1vbi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRH
cm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0
eUdyb3VwIC8+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIC8+Ci0gIDxJdGVtR3JvdXAgLz4KLTwv
UHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
UmVsZWFzZS5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2lu
TGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclJlbGVhc2UucHJvcHMJKHdvcmtpbmcgY29weSkK
QEAgLTEsOCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1s
bnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+
Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xy
ZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDb21tb24u
cHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlclJlc291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2lu
TGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclJlc291cmNlLmgJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJSZXNv
dXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIwICswLDAgQEAKLS8ve3tOT19ERVBFTkRFTkNJ
RVN9fQ0KLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUuDQot
Ly8gVXNlZCBieSBXaW5MYXVuY2hlckxhdW5jaGVyLnJjDQotLy8NCi0jZGVmaW5lIElERF9XSU5M
QVVOQ0hFUl9ESUFMT0cgICAgICAgICAgMTAyDQotI2RlZmluZSBJRElfV0lOTEFVTkNIRVIgICAg
ICAgICAgICAgICAgIDEwNw0KLSNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAg
ICAxMjgNCi0jZGVmaW5lIElEQ19TVEFUSUMgICAgICAgICAgICAgICAgICAgICAgLTENCi0NCi0v
LyBOZXh0IGRlZmF1bHQgdmFsdWVzIGZvciBuZXcgb2JqZWN0cw0KLS8vIA0KLSNpZmRlZiBBUFNU
VURJT19JTlZPS0VEDQotI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTDQotI2RlZmlu
ZSBfQVBTX05PX01GQyAgICAgICAgICAgICAgICAgICAgIDENCi0jZGVmaW5lIF9BUFNfTkVYVF9S
RVNPVVJDRV9WQUxVRSAgICAgICAgMTI5DQotI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxV
RSAgICAgICAgIDMyNzcxDQotI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAg
IDEwMDANCi0jZGVmaW5lIF9BUFNfTkVYVF9TWU1FRF9WQUxVRSAgICAgICAgICAgMTEwDQotI2Vu
ZGlmDQotI2VuZGlmDQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJv
ai9zbWFsbC5pY28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRl
eDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXJSZXBsYWNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXJSZXBsYWNlLmgJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyUmVwbGFjZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWxleCBDaHJpc3Rl
bnNlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIAotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0g
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXaW5MYXVu
Y2hlclJlcGxhY2VfaAotI2RlZmluZSBXaW5MYXVuY2hlclJlcGxhY2VfaAotCi0vLyBUaGlzIGZp
bGUgaXMgdG8gbWFrZSBpdCBlYXNpZXIgZm9yIHVzZXJzIHRvIG1hbmFnZSBjaGFuZ2VzIHRvIHRo
ZSBpbnRlcm5hbHMgb2YgV2luTGF1bmNoZXIKLQotc3RhdGljIGNvbnN0IHdjaGFyX3QqIGRlZmF1
bHRIVE1MID0gTCI8cCBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMwMEZGMDBcIj5UZXN0aW5n
PC9wPjxpbWcgaWQ9XCJ3ZWJraXQgbG9nb1wiIHNyYz1cImh0dHA6Ly93ZWJraXQub3JnL2ltYWdl
cy9pY29uLWdvbGQucG5nXCIgYWx0PVwiRmFjZVwiPjxkaXYgc3R5bGU9XCJib3JkZXI6IHNvbGlk
IGJsdWU7IGJhY2tncm91bmQ6IHdoaXRlO1wiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIj5kaXYg
d2l0aCBibHVlIGJvcmRlcjwvZGl2Pjx1bD48bGk+Zm9vPGxpPmJhcjxsaT5iYXo8L3VsPiI7Ci0K
LXN0YXRpYyB2b2lkIHByb2Nlc3NDcmFzaFJlcG9ydChjb25zdCB3Y2hhcl90KiBmaWxlTmFtZSkg
eyA6Ok1lc3NhZ2VCb3goMCwgZmlsZU5hbWUsIEwiQ3Jhc2ggUmVwb3J0IiwgTUJfT0spOyB9Ci0K
LSNlbmRpZgpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXJXZWJIb3N0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlcldlYkhvc3QuY3BwCShy
ZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlcldlYkhvc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA4LCAyMDEzLTIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBCcmVudCBGdWxnaGFtLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMSBBcHBjZWxlcmF0b3Is
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBBbGV4IENo
cmlzdGVuc2VuLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgInN0ZGFmeC5oIgotI2luY2x1ZGUgIldpbkxh
dW5jaGVyV2ViSG9zdC5oIgotCi0jaW5jbHVkZSAiRE9NRGVmYXVsdEltcGwuaCIKLSNpbmNsdWRl
ICJQYWdlTG9hZFRlc3RDbGllbnQuaCIKLSNpbmNsdWRlICJXaW5MYXVuY2hlci5oIgotI2luY2x1
ZGUgPFdlYktpdC9XZWJLaXQuaD4KLQotY2xhc3MgU2ltcGxlRXZlbnRMaXN0ZW5lciA6IHB1Ymxp
YyBET01FdmVudExpc3RlbmVyIHsKLXB1YmxpYzoKLSAgICBTaW1wbGVFdmVudExpc3RlbmVyKExQ
V1NUUiB0eXBlKQotICAgIHsKLSAgICAgICAgd2NzbmNweV9zKG1fZXZlbnRUeXBlLCAxMDAsIHR5
cGUsIDEwMCk7Ci0gICAgICAgIG1fZXZlbnRUeXBlWzk5XSA9IDA7Ci0gICAgfQotCi0gICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGhhbmRsZUV2ZW50KElET01FdmVudCogZXZ0
KQotICAgIHsKLSAgICAgICAgd2NoYXJfdCBtZXNzYWdlWzI1NV07Ci0gICAgICAgIHdjc2NweV9z
KG1lc3NhZ2UsIDI1NSwgbV9ldmVudFR5cGUpOwotICAgICAgICB3Y3NjYXRfcyhtZXNzYWdlLCAy
NTUsIEwiIGV2ZW50IGZpcmVkISIpOwotICAgICAgICA6Ok1lc3NhZ2VCb3goMCwgbWVzc2FnZSwg
TCJFdmVudCBIYW5kbGVyIiwgTUJfT0spOwotICAgICAgICByZXR1cm4gU19PSzsKLSAgICB9Ci0K
LXByaXZhdGU6Ci0gICAgd2NoYXJfdCBtX2V2ZW50VHlwZVsxMDBdOwotfTsKLQotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4gSVdl
YkZyYW1lUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRGF0YVNvdXJjZSwg
Jl9fdXVpZG9mKElXZWJEYXRhU291cmNlKT4+IElXZWJEYXRhU291cmNlUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2Vi
TXV0YWJsZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotCi1IUkVTVUxU
IFdpbkxhdW5jaGVyV2ViSG9zdDo6dXBkYXRlQWRkcmVzc0JhcihJV2ViVmlldyYgd2ViVmlldykK
LXsKLSAgICBJV2ViRnJhbWVQdHIgbWFpbkZyYW1lOwotICAgIEhSRVNVTFQgaHIgPSB3ZWJWaWV3
Lm1haW5GcmFtZSgmbWFpbkZyYW1lLkdldEludGVyZmFjZVB0cigpKTsKLSAgICBpZiAoRkFJTEVE
KGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgSVdlYkRhdGFTb3VyY2VQdHIgZGF0YVNv
dXJjZTsKLSAgICBociA9IG1haW5GcmFtZS0+ZGF0YVNvdXJjZSgmZGF0YVNvdXJjZS5HZXRJbnRl
cmZhY2VQdHIoKSk7Ci0gICAgaWYgKEZBSUxFRChocikgfHwgIWRhdGFTb3VyY2UpCi0gICAgICAg
IGhyID0gbWFpbkZyYW1lLT5wcm92aXNpb25hbERhdGFTb3VyY2UoJmRhdGFTb3VyY2UuR2V0SW50
ZXJmYWNlUHRyKCkpOwotICAgIGlmIChGQUlMRUQoaHIpIHx8ICFkYXRhU291cmNlKQotICAgICAg
ICByZXR1cm4gaHI7Ci0KLSAgICBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHIgcmVxdWVzdDsKLSAg
ICBociA9IGRhdGFTb3VyY2UtPnJlcXVlc3QoJnJlcXVlc3QuR2V0SW50ZXJmYWNlUHRyKCkpOwot
ICAgIGlmIChGQUlMRUQoaHIpIHx8ICFyZXF1ZXN0KQotICAgICAgICByZXR1cm4gaHI7Ci0KLSAg
ICBfYnN0cl90IGZyYW1lVVJMOwotICAgIGhyID0gcmVxdWVzdC0+bWFpbkRvY3VtZW50VVJMKGZy
YW1lVVJMLkdldEFkZHJlc3MoKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVy
biBocjsKLQotICAgIGlmIChmcmFtZVVSTC5sZW5ndGgoKSkgewotICAgICAgICBtX2NsaWVudC0+
cGFnZUxvYWRUZXN0Q2xpZW50KCkuc2V0UGFnZVVSTChmcmFtZVVSTCk7Ci0gICAgICAgIG1fY2xp
ZW50LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5kaWRDb21taXRMb2FkKCk7Ci0gICAgfQotCi0gICAg
bG9hZFVSTChmcmFtZVVSTCk7Ci0KLSAgICByZXR1cm4gU19PSzsKLX0KLQotdm9pZCBXaW5MYXVu
Y2hlcldlYkhvc3Q6OmxvYWRVUkwoX2JzdHJfdCYgdXJsKQotewotICAgIDo6U2VuZE1lc3NhZ2Uo
bV9oVVJMQmFyV25kLCBzdGF0aWNfY2FzdDxVSU5UPihXTV9TRVRURVhUKSwgMCwgcmVpbnRlcnBy
ZXRfY2FzdDxMUEFSQU0+KHVybC5HZXRCU1RSKCkpKTsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hl
cldlYkhvc3Q6OmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZp
ZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IgKmVycm9yLCBfSW5fb3B0XyBJV2ViRnJhbWUqKQotewot
ICAgIF9ic3RyX3QgZXJyb3JEZXNjcmlwdGlvbjsKLSAgICBIUkVTVUxUIGhyID0gRV9QT0lOVEVS
OwotICAgIGlmIChlcnJvcikKLSAgICAgICAgaHIgPSBlcnJvci0+bG9jYWxpemVkRGVzY3JpcHRp
b24oZXJyb3JEZXNjcmlwdGlvbi5HZXRBZGRyZXNzKCkpOwotICAgIGlmIChGQUlMRUQoaHIpKQot
ICAgICAgICBlcnJvckRlc2NyaXB0aW9uID0gTCJGYWlsZWQgdG8gbG9hZCBwYWdlIGFuZCB0byBs
b2NhbGl6ZSBlcnJvciBkZXNjcmlwdGlvbi4iOwotCi0gICAgaWYgKF93Y3NpY21wKGVycm9yRGVz
Y3JpcHRpb24sIEwiQ2FuY2VsbGVkIikpCi0gICAgICAgIDo6TWVzc2FnZUJveFcoMCwgc3RhdGlj
X2Nhc3Q8TFBDV1NUUj4oZXJyb3JEZXNjcmlwdGlvbiksIEwiRXJyb3IiLCBNQl9BUFBMTU9EQUwg
fCBNQl9PSyk7Ci0KLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcldl
Ykhvc3Q6OlF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lk
KiogcHB2T2JqZWN0KQotewotICAgIGlmICghcHB2T2JqZWN0KQotICAgICAgICByZXR1cm4gRV9Q
T0lOVEVSOwotICAgICpwcHZPYmplY3QgPSBudWxscHRyOwotICAgIGlmIChJc0VxdWFsR1VJRChy
aWlkLCBJSURfSVVua25vd24pKQotICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdl
YkZyYW1lTG9hZERlbGVnYXRlKj4odGhpcyk7Ci0gICAgZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlp
ZCwgSUlEX0lXZWJGcmFtZUxvYWREZWxlZ2F0ZSkpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0
aWNfY2FzdDxJV2ViRnJhbWVMb2FkRGVsZWdhdGUqPih0aGlzKTsKLSAgICBlbHNlCi0gICAgICAg
IHJldHVybiBFX05PSU5URVJGQUNFOwotCi0gICAgQWRkUmVmKCk7Ci0gICAgcmV0dXJuIFNfT0s7
Ci19Ci0KLVVMT05HIFdpbkxhdW5jaGVyV2ViSG9zdDo6QWRkUmVmKCkKLXsKLSAgICByZXR1cm4g
KyttX3JlZkNvdW50OwotfQotCi1VTE9ORyBXaW5MYXVuY2hlcldlYkhvc3Q6OlJlbGVhc2UoKQot
ewotICAgIFVMT05HIG5ld1JlZiA9IC0tbV9yZWZDb3VudDsKLSAgICBpZiAoIW5ld1JlZikKLSAg
ICAgICAgZGVsZXRlKHRoaXMpOwotCi0gICAgcmV0dXJuIG5ld1JlZjsKLX0KLQotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJRE9NRG9jdW1lbnQsICZfX3V1aWRvZihJRE9NRG9jdW1lbnQp
Pj4gSURPTURvY3VtZW50UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJRE9NRWxl
bWVudCwgJl9fdXVpZG9mKElET01FbGVtZW50KT4+IElET01FbGVtZW50UHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJRE9NRXZlbnRUYXJnZXQsICZfX3V1aWRvZihJRE9NRXZlbnRU
YXJnZXQpPj4gSURPTUV2ZW50VGFyZ2V0UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJ
RDxJV2ViRnJhbWUyLCAmX191dWlkb2YoSVdlYkZyYW1lMik+PiBJV2ViRnJhbWUyUHRyOwotCi1I
UkVTVUxUIFdpbkxhdW5jaGVyV2ViSG9zdDo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKF9Jbl9vcHRf
IElXZWJWaWV3KiB3ZWJWaWV3LCBfSW5fb3B0XyBJV2ViRnJhbWUqIGZyYW1lKQotewotICAgIGlm
ICghZnJhbWUgfHwgIXdlYlZpZXcpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICBJ
V2ViRnJhbWUyUHRyIGZyYW1lMjsKLSAgICBpZiAoU1VDQ0VFREVEKGZyYW1lLT5RdWVyeUludGVy
ZmFjZSgmZnJhbWUyLkdldEludGVyZmFjZVB0cigpKSkpIHsKLSAgICAgICAgQk9PTCBtYWluRnJh
bWUgPSBGQUxTRTsKLSAgICAgICAgaWYgKGZyYW1lMiAmJiBTVUNDRUVERUQoZnJhbWUyLT5pc01h
aW5GcmFtZSgmbWFpbkZyYW1lKSkpIHsKLSAgICAgICAgICAgIGlmIChtYWluRnJhbWUpCi0gICAg
ICAgICAgICAgICAgbV9jbGllbnQtPnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEZpbmlzaExvYWQo
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIElET01Eb2N1bWVudFB0ciBkb2M7Ci0gICAgZnJh
bWUtPkRPTURvY3VtZW50KCZkb2MuR2V0SW50ZXJmYWNlUHRyKCkpOwotCi0gICAgSURPTUVsZW1l
bnRQdHIgZWxlbWVudDsKLSAgICBJRE9NRXZlbnRUYXJnZXRQdHIgdGFyZ2V0OwotCi0gICAgaWYg
KG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c2hvd0xhc3RWaXNpdGVkU2l0ZXMoKndlYlZp
ZXcpOwotCi0gICAgLy8gVGhlIGZvbGxvd2luZyBpcyBmb3IgdGhlIHRlc3QgcGFnZToKLSAgICBI
UkVTVUxUIGhyID0gZG9jLT5nZXRFbGVtZW50QnlJZChMIndlYmtpdCBsb2dvIiwgJmVsZW1lbnQu
R2V0SW50ZXJmYWNlUHRyKCkpOwotICAgIGlmICghU1VDQ0VFREVEKGhyKSkKLSAgICAgICAgcmV0
dXJuIGhyOwotCi0gICAgaHIgPSBlbGVtZW50LT5RdWVyeUludGVyZmFjZShJSURfSURPTUV2ZW50
VGFyZ2V0LCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJnRhcmdldC5HZXRJbnRlcmZhY2VQdHIo
KSkpOwotICAgIGlmICghU1VDQ0VFREVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAg
aHIgPSB0YXJnZXQtPmFkZEV2ZW50TGlzdGVuZXIoTCJjbGljayIsIG5ldyBTaW1wbGVFdmVudExp
c3RlbmVyIChMIndlYmtpdCBsb2dvIGNsaWNrIiksIEZBTFNFKTsKLSAgICBpZiAoIVNVQ0NFRURF
RChocikpCi0gICAgICAgIHJldHVybiBocjsKLQotICAgIHJldHVybiBocjsKLX0KLQotSFJFU1VM
VCBXaW5MYXVuY2hlcldlYkhvc3Q6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoX0lu
X29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUqIGZyYW1lKQotewotICAgIGlmICgh
ZnJhbWUpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICBtX2NsaWVudC0+cGFnZUxvYWRU
ZXN0Q2xpZW50KCkuZGlkU3RhcnRQcm92aXNpb25hbExvYWQoKmZyYW1lKTsKLSAgICByZXR1cm4g
U19PSzsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6OmRpZEZhaWxMb2FkV2l0aEVy
cm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdl
YkZyYW1lKikKLXsKLSAgICBtX2NsaWVudC0+cGFnZUxvYWRUZXN0Q2xpZW50KCkuZGlkRmFpbExv
YWQoKTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBXaW5MYXVuY2hlcldlYkhvc3Q6
OmRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiBzZW5kZXIs
IF9Jbl9vcHRfIElXZWJGcmFtZSogZnJhbWUpCi17Ci0gICAgSVdlYkRhdGFTb3VyY2VQdHIgZGF0
YVNvdXJjZTsKLSAgICBIUkVTVUxUIGhyID0gZnJhbWUtPmRhdGFTb3VyY2UoJmRhdGFTb3VyY2Uu
R2V0SW50ZXJmYWNlUHRyKCkpOwotICAgIGlmIChGQUlMRUQoaHIpIHx8ICFkYXRhU291cmNlKQot
ICAgICAgICBociA9IGZyYW1lLT5wcm92aXNpb25hbERhdGFTb3VyY2UoJmRhdGFTb3VyY2UuR2V0
SW50ZXJmYWNlUHRyKCkpOwotICAgIGlmIChGQUlMRUQoaHIpIHx8ICFkYXRhU291cmNlKQotICAg
ICAgICByZXR1cm4gaHI7Ci0KLSAgICBJV2ViTXV0YWJsZVVSTFJlcXVlc3RQdHIgcmVxdWVzdDsK
LSAgICBociA9IGRhdGFTb3VyY2UtPnJlcXVlc3QoJnJlcXVlc3QuR2V0SW50ZXJmYWNlUHRyKCkp
OwotICAgIGlmIChGQUlMRUQoaHIpIHx8ICFyZXF1ZXN0KQotICAgICAgICByZXR1cm4gaHI7Ci0K
LSAgICBfYnN0cl90IGZyYW1lVVJMOwotICAgIGhyID0gcmVxdWVzdC0+bWFpbkRvY3VtZW50VVJM
KGZyYW1lVVJMLkdldEFkZHJlc3MoKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJl
dHVybiBocjsKLQotICAgIGlmIChmcmFtZVVSTC5sZW5ndGgoKSkKLSAgICAgICAgbV9jbGllbnQt
PnBhZ2VMb2FkVGVzdENsaWVudCgpLmRpZEhhbmRsZU9uTG9hZEV2ZW50cygpOwotCi0gICAgcmV0
dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgV2luTGF1bmNoZXJXZWJIb3N0OjpkaWRGaXJzdExheW91
dEluRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUqIGZyYW1lKQot
ewotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICBJV2Vi
RnJhbWUyUHRyIGZyYW1lMjsKLSAgICBpZiAoRkFJTEVEKGZyYW1lLT5RdWVyeUludGVyZmFjZSgm
ZnJhbWUyLkdldEludGVyZmFjZVB0cigpKSkpCi0gICAgICAgIHJldHVybiBTX09LOwotCi0gICAg
Qk9PTCBtYWluRnJhbWU7Ci0gICAgaWYgKGZyYW1lMiAmJiBTVUNDRUVERUQoZnJhbWUyLT5pc01h
aW5GcmFtZSgmbWFpbkZyYW1lKSkpIHsKLSAgICAgICAgaWYgKG1haW5GcmFtZSkKLSAgICAgICAg
ICAgIG1fY2xpZW50LT5wYWdlTG9hZFRlc3RDbGllbnQoKS5kaWRGaXJzdExheW91dEZvck1haW5G
cmFtZSgpOwotICAgIH0KLQotICAgIHJldHVybiBTX09LOwotfQpJbmRleDogVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXJXZWJIb3N0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXJXZWJIb3N0LmgJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyV2ViSG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg0ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTQtMjAxNSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJyZXNvdXJjZS5oIgotI2luY2x1ZGUgPFdl
YktpdC9XZWJLaXQuaD4KLQotY2xhc3MgV2luTGF1bmNoZXI7Ci0KLWNsYXNzIFdpbkxhdW5jaGVy
V2ViSG9zdCA6IHB1YmxpYyBJV2ViRnJhbWVMb2FkRGVsZWdhdGUsIHB1YmxpYyBJV2ViRnJhbWVM
b2FkRGVsZWdhdGVQcml2YXRlIHsKLXB1YmxpYzoKLSAgICBXaW5MYXVuY2hlcldlYkhvc3QoV2lu
TGF1bmNoZXIqIGNsaWVudCwgSFdORCB1cmxCYXIpCi0gICAgICAgIDogbV9jbGllbnQoY2xpZW50
KSwgbV9oVVJMQmFyV25kKHVybEJhcikgeyB9Ci0KLSAgICAvLyBJVW5rbm93bgotICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCBy
aWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7Ci0gICAgdmlydHVhbCBVTE9ORyBT
VERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKLSAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENB
TExUWVBFIFJlbGVhc2UoKTsKLQotICAgIC8vIElXZWJGcmFtZUxvYWREZWxlZ2F0ZQotICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKik7Ci0gICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZv
clByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdl
YkZyYW1lKikgeyByZXR1cm4gU19PSzsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3
KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdlYkZyYW1lKik7Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZENvbW1pdExvYWRGb3JGcmFtZShfSW5fb3B0
XyBJV2ViVmlldyogd2ViVmlldywgX0luX29wdF8gSVdlYkZyYW1lKikKLSAgICB7Ci0gICAgICAg
IGlmICghd2ViVmlldykKLSAgICAgICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICAgICAg
cmV0dXJuIHVwZGF0ZUFkZHJlc3NCYXIoKndlYlZpZXcpOwotICAgIH0KLSAgICAKLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUmVjZWl2ZVRpdGxlKF9Jbl9vcHRfIElX
ZWJWaWV3KiwgX0luXyBCU1RSIHRpdGxlLCBfSW5fb3B0XyBJV2ViRnJhbWUqKSB7IHJldHVybiBT
X09LOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZENoYW5nZUlj
b25zKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKikgeyByZXR1cm4gU19P
SzsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRSZWNlaXZlSWNv
bihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl8gSEJJVE1BUCwgX0luX29wdF8gSVdlYkZyYW1lKikg
eyByZXR1cm4gU19PSzsgfQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBk
aWRGaW5pc2hMb2FkRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJh
bWUqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkRmFpbExvYWRX
aXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBfSW5fb3B0
XyBJV2ViRnJhbWUqKTsKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlk
Q2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9yRnJhbWUoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5f
b3B0XyBJV2ViRnJhbWUqKSB7IHJldHVybiBTX09LOyB9Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTChfSW5fb3B0XyBJ
V2ViVmlldyosIF9Jbl8gQlNUUiB1cmwsIGRvdWJsZSBkZWxheVNlY29uZHMsIERBVEUgZmlyZURh
dGUsIF9Jbl9vcHRfIElXZWJGcmFtZSopIHsgcmV0dXJuIFNfT0s7IH0KLSAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZShf
SW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElXZWJGcmFtZSopIHsgcmV0dXJuIFNfT0s7IH0K
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2lsbENsb3NlRnJhbWUoX0lu
X29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRnJhbWUqKSB7IHJldHVybiBTX09LOyB9Ci0g
ICAgdmlydHVhbCAvKiBbbG9jYWxdICovIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2luZG93
U2NyaXB0T2JqZWN0QXZhaWxhYmxlKElXZWJWaWV3KiwgSlNDb250ZXh0UmVmLCBKU09iamVjdFJl
ZikgIHsgcmV0dXJuIFNfT0s7IH0KLSAgICB2aXJ0dWFsIC8qIFtsb2NhbF0gKi8gSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBkaWRDbGVhcldpbmRvd09iamVjdChJV2ViVmlldyosIEpTQ29udGV4
dFJlZiwgSlNPYmplY3RSZWYsIElXZWJGcmFtZSopIHsgcmV0dXJuIFNfT0s7IH0KLQotICAgIC8v
IElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUoX0luX29wdF8gSVdlYlZp
ZXcqIHNlbmRlciwgX0luX29wdF8gSVdlYkZyYW1lKikgeyByZXR1cm4gU19PSzsgfQotICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkaWRGaXJzdExheW91dEluRnJhbWUoX0lu
X29wdF8gSVdlYlZpZXcqIHNlbmRlciwgX0luX29wdF8gSVdlYkZyYW1lKik7Ci0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkZyYW1lKik7Ci0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dElu
RnJhbWUoX0luX29wdF8gSVdlYlZpZXcqIHNlbmRlciwgX0luX29wdF8gSVdlYkZyYW1lKikgIHsg
cmV0dXJuIFNfT0s7IH0KLQotICAgIHZvaWQgbG9hZFVSTChfYnN0cl90Jik7Ci0KLXByb3RlY3Rl
ZDoKLSAgICBIUkVTVUxUIHVwZGF0ZUFkZHJlc3NCYXIoSVdlYlZpZXcmKTsKLQotcHJpdmF0ZToK
LSAgICBIV05EIG1faFVSTEJhclduZCB7IDAgfTsKLSAgICBIR0RJT0JKIG1fVVJMQmFyRm9udCB7
IDAgfTsKLSAgICBIR0RJT0JKIG1fb2xkRm9udCB7IDAgfTsKLSAgICBVTE9ORyBtX3JlZkNvdW50
IHsgMSB9OwotICAgIFdpbkxhdW5jaGVyKiBtX2NsaWVudCB7IG51bGxwdHIgfTsKLX07CkluZGV4
OiBUb29scy9XaW5MYXVuY2hlci9XaW5NYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5M
YXVuY2hlci9XaW5NYWluLmNwcAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNo
ZXIvV2luTWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjIwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIwMTMtMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEJyZW50IEZ1bGdoYW0uICBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIEFw
cGNlbGVyYXRvciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFsZXggQ2hyaXN0ZW5zZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAic3RkYWZ4LmgiCi0jaW5j
bHVkZSAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oIgotI2luY2x1ZGUgIldpbkxhdW5jaGVyV2Vi
SG9zdC5oIgotI2luY2x1ZGUgIkNvbW1vbi5jcHAiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWZs
b2F0IGRldmljZVNjYWxlRmFjdG9yRm9yV2luZG93KEhXTkQpOwotfQotCi1pbnQgV0lOQVBJIHdX
aW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJbnN0YW5jZSwgX0luX29wdF8gSElOU1RBTkNFIGhQcmV2
SW5zdGFuY2UsIF9Jbl8gTFBXU1RSIGxwc3RyQ21kTGluZSwgX0luXyBpbnQgbkNtZFNob3cpCi17
Ci0jaWZkZWYgX0NSVERCR19NQVBfQUxMT0MKLSAgICBfQ3J0U2V0UmVwb3J0RmlsZShfQ1JUX1dB
Uk4sIF9DUlREQkdfRklMRV9TVERFUlIpOwotICAgIF9DcnRTZXRSZXBvcnRNb2RlKF9DUlRfV0FS
TiwgX0NSVERCR19NT0RFX0ZJTEUpOwotI2VuZGlmCi0KLSAgICBNU0cgbXNnID0gezB9OwotICAg
IEhBQ0NFTCBoQWNjZWxUYWJsZTsKLQotICAgIElOSVRDT01NT05DT05UUk9MU0VYIEluaXRDdHJs
RXg7Ci0KLSAgICBJbml0Q3RybEV4LmR3U2l6ZSA9IHNpemVvZihJTklUQ09NTU9OQ09OVFJPTFNF
WCk7Ci0gICAgSW5pdEN0cmxFeC5kd0lDQyAgPSAweDAwMDA0MDAwOyAvLyBJQ0NfU1RBTkRBUkRf
Q0xBU1NFUzsKLSAgICBJbml0Q29tbW9uQ29udHJvbHNFeCgmSW5pdEN0cmxFeCk7Ci0KLSAgICBi
b29sIHVzZXNMYXllcmVkV2ViVmlldyA9IGZhbHNlOwotICAgIGJvb2wgdXNlRnVsbERlc2t0b3Ag
PSBmYWxzZTsKLSAgICBib29sIHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlOwotICAgIF9ic3RyX3Qg
cmVxdWVzdGVkVVJMOwotCi0gICAgcGFyc2VDb21tYW5kTGluZSh1c2VzTGF5ZXJlZFdlYlZpZXcs
IHVzZUZ1bGxEZXNrdG9wLCBwYWdlTG9hZFRlc3RpbmcsIHJlcXVlc3RlZFVSTCk7Ci0KLSAgICAv
LyBJbml0aWFsaXplIGdsb2JhbCBzdHJpbmdzCi0gICAgTG9hZFN0cmluZyhoSW5zdCwgSURTX0FQ
UF9USVRMRSwgc3pUaXRsZSwgTUFYX0xPQURTVFJJTkcpOwotICAgIExvYWRTdHJpbmcoaEluc3Qs
IElEQ19XSU5MQVVOQ0hFUiwgc3pXaW5kb3dDbGFzcywgTUFYX0xPQURTVFJJTkcpOwotICAgIE15
UmVnaXN0ZXJDbGFzcyhoSW5zdCk7Ci0KLSAgICBpZiAodXNlRnVsbERlc2t0b3ApCi0gICAgICAg
IGNvbXB1dGVGdWxsRGVza3RvcEZyYW1lKCk7Ci0KLSAgICAvLyBJbml0IENPTQotICAgIE9sZUlu
aXRpYWxpemUobnVsbHB0cik7Ci0KLSAgICBmbG9hdCBzY2FsZUZhY3RvciA9IFdlYkNvcmU6OmRl
dmljZVNjYWxlRmFjdG9yRm9yV2luZG93KG51bGxwdHIpOwotCi0gICAgaWYgKHVzZXNMYXllcmVk
V2ViVmlldykgewotICAgICAgICBoVVJMQmFyV25kID0gQ3JlYXRlV2luZG93KEwiRURJVCIsIEwi
VHlwZSBVUkwgSGVyZSIsCi0gICAgICAgICAgICBXU19PVkVSTEFQUEVEV0lORE9XIHwgV1NfVklT
SUJMRSB8IFdTX0JPUkRFUiB8IEVTX0xFRlQgfCBFU19BVVRPVlNDUk9MTCwgCi0gICAgICAgICAg
ICBzY2FsZUZhY3RvciAqIHNfd2luZG93UG9zaXRpb24ueCwgc2NhbGVGYWN0b3IgKiAoc193aW5k
b3dQb3NpdGlvbi55ICsgc193aW5kb3dTaXplLmN5KSwgc2NhbGVGYWN0b3IgKiBzX3dpbmRvd1Np
emUuY3gsIHNjYWxlRmFjdG9yICogVVJMQkFSX0hFSUdIVCwKLSAgICAgICAgICAgIDAsIDAsIGhJ
bnN0LCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICBoTWFpblduZCA9IENyZWF0ZVdpbmRvdyhz
eldpbmRvd0NsYXNzLCBzelRpdGxlLCBXU19PVkVSTEFQUEVEV0lORE9XLAotICAgICAgICAgICAg
Q1dfVVNFREVGQVVMVCwgMCwgQ1dfVVNFREVGQVVMVCwgMCwgMCwgMCwgaEluc3QsIDApOwotCi0g
ICAgICAgIGlmICghaE1haW5XbmQpCi0gICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0KLSAgICAg
ICAgaEJhY2tCdXR0b25XbmQgPSBDcmVhdGVXaW5kb3coTCJCVVRUT04iLCBMIjwiLCBXU19DSElM
RCB8IFdTX1ZJU0lCTEUgIHwgQlNfVEVYVCwgMCwgMCwgMCwgMCwgaE1haW5XbmQsIDAsIGhJbnN0
LCAwKTsKLSAgICAgICAgaEZvcndhcmRCdXR0b25XbmQgPSBDcmVhdGVXaW5kb3coTCJCVVRUT04i
LCBMIj4iLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBCU19URVhULCBzY2FsZUZhY3RvciAqIENP
TlRST0xCVVRUT05fV0lEVEgsIDAsIDAsIDAsIGhNYWluV25kLCAwLCBoSW5zdCwgMCk7Ci0gICAg
ICAgIGhVUkxCYXJXbmQgPSBDcmVhdGVXaW5kb3coTCJFRElUIiwgMCwgV1NfQ0hJTEQgfCBXU19W
SVNJQkxFIHwgV1NfQk9SREVSIHwgRVNfTEVGVCB8IEVTX0FVVE9WU0NST0xMLCBzY2FsZUZhY3Rv
ciAqIENPTlRST0xCVVRUT05fV0lEVEggKiAyLCAwLCAwLCAwLCBoTWFpblduZCwgMCwgaEluc3Qs
IDApOwotCi0gICAgICAgIFNob3dXaW5kb3coaE1haW5XbmQsIG5DbWRTaG93KTsKLSAgICAgICAg
VXBkYXRlV2luZG93KGhNYWluV25kKTsKLSAgICB9Ci0KLSAgICBEZWZFZGl0UHJvYyA9IHJlaW50
ZXJwcmV0X2Nhc3Q8V05EUFJPQz4oR2V0V2luZG93TG9uZ1B0cihoVVJMQmFyV25kLCBHV0xQX1dO
RFBST0MpKTsKLSAgICBEZWZCdXR0b25Qcm9jID0gcmVpbnRlcnByZXRfY2FzdDxXTkRQUk9DPihH
ZXRXaW5kb3dMb25nUHRyKGhCYWNrQnV0dG9uV25kLCBHV0xQX1dORFBST0MpKTsKLSAgICBTZXRX
aW5kb3dMb25nUHRyKGhVUkxCYXJXbmQsIEdXTFBfV05EUFJPQywgcmVpbnRlcnByZXRfY2FzdDxM
T05HX1BUUj4oRWRpdFByb2MpKTsKLSAgICBTZXRXaW5kb3dMb25nUHRyKGhCYWNrQnV0dG9uV25k
LCBHV0xQX1dORFBST0MsIHJlaW50ZXJwcmV0X2Nhc3Q8TE9OR19QVFI+KEJhY2tCdXR0b25Qcm9j
KSk7Ci0gICAgU2V0V2luZG93TG9uZ1B0cihoRm9yd2FyZEJ1dHRvblduZCwgR1dMUF9XTkRQUk9D
LCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihGb3J3YXJkQnV0dG9uUHJvYykpOwotCi0gICAg
U2V0Rm9jdXMoaFVSTEJhclduZCk7Ci0KLSAgICBSRUNUIGNsaWVudFJlY3Q7Ci0gICAgOjpHZXRD
bGllbnRSZWN0KGhNYWluV25kLCAmY2xpZW50UmVjdCk7Ci0KLSAgICBpZiAodXNlc0xheWVyZWRX
ZWJWaWV3KQotICAgICAgICBjbGllbnRSZWN0ID0geyBzX3dpbmRvd1Bvc2l0aW9uLngsIHNfd2lu
ZG93UG9zaXRpb24ueSwgc193aW5kb3dQb3NpdGlvbi54ICsgc193aW5kb3dTaXplLmN4LCBzX3dp
bmRvd1Bvc2l0aW9uLnkgKyBzX3dpbmRvd1NpemUuY3kgfTsKLQotICAgIFdpbkxhdW5jaGVyV2Vi
SG9zdCogd2ViSG9zdCA9IG51bGxwdHI7Ci0KLSAgICBJV2ViRG93bmxvYWREZWxlZ2F0ZVB0ciBk
b3dubG9hZERlbGVnYXRlOwotICAgIGRvd25sb2FkRGVsZWdhdGUuQXR0YWNoKG5ldyBXZWJEb3du
bG9hZERlbGVnYXRlKCkpOwotCi0gICAgZ1dpbkxhdW5jaGVyID0gbmV3IFdpbkxhdW5jaGVyKGhN
YWluV25kLCBoVVJMQmFyV25kLCB1c2VzTGF5ZXJlZFdlYlZpZXcsIHBhZ2VMb2FkVGVzdGluZyk7
Ci0gICAgaWYgKCFnV2luTGF1bmNoZXIpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGlmICgh
Z1dpbkxhdW5jaGVyLT5zZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpKQotICAgICAgICBn
b3RvIGV4aXQ7Ci0KLSAgICBpZiAoIWdXaW5MYXVuY2hlci0+c2V0VG9EZWZhdWx0UHJlZmVyZW5j
ZXMoKSkKLSAgICAgICAgZ290byBleGl0OwotCi0gICAgSFJFU1VMVCBociA9IGdXaW5MYXVuY2hl
ci0+aW5pdCgpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAg
ICBpZiAoIXNldENhY2hlRm9sZGVyKCkpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIHdlYkhv
c3QgPSBuZXcgV2luTGF1bmNoZXJXZWJIb3N0KGdXaW5MYXVuY2hlciwgaFVSTEJhclduZCk7Ci0K
LSAgICBociA9IGdXaW5MYXVuY2hlci0+c2V0RnJhbWVMb2FkRGVsZWdhdGUod2ViSG9zdCk7Ci0g
ICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGhyID0gZ1dpbkxh
dW5jaGVyLT5zZXRGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUod2ViSG9zdCk7Ci0gICAgaWYgKEZB
SUxFRChocikpCi0gICAgICAgIGdvdG8gZXhpdDsKLQotICAgIGhyID0gZ1dpbkxhdW5jaGVyLT5z
ZXRVSURlbGVnYXRlKG5ldyBQcmludFdlYlVJRGVsZWdhdGUoKSk7Ci0gICAgaWYgKEZBSUxFRCAo
aHIpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAgICBociA9IGdXaW5MYXVuY2hlci0+c2V0QWNj
ZXNzaWJpbGl0eURlbGVnYXRlKG5ldyBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUoKSk7Ci0gICAgaWYg
KEZBSUxFRCAoaHIpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAgICBociA9IGdXaW5MYXVuY2hl
ci0+c2V0UmVzb3VyY2VMb2FkRGVsZWdhdGUobmV3IFJlc291cmNlTG9hZERlbGVnYXRlKGdXaW5M
YXVuY2hlcikpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAg
ICBociA9IGdXaW5MYXVuY2hlci0+c2V0RG93bmxvYWREZWxlZ2F0ZShkb3dubG9hZERlbGVnYXRl
KTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgZ290byBleGl0OwotCi0gICAgaHIgPSBn
V2luTGF1bmNoZXItPnByZXBhcmVWaWV3cyhoTWFpblduZCwgY2xpZW50UmVjdCwgcmVxdWVzdGVk
VVJMLkdldEJTVFIoKSwgZ1ZpZXdXaW5kb3cpOwotICAgIGlmIChGQUlMRUQoaHIpIHx8ICFnVmll
d1dpbmRvdykKLSAgICAgICAgZ290byBleGl0OwotCi0gICAgaWYgKGdXaW5MYXVuY2hlci0+dXNl
c0xheWVyZWRXZWJWaWV3KCkpCi0gICAgICAgIHN1YmNsYXNzRm9yTGF5ZXJlZFdpbmRvdygpOwot
Ci0gICAgcmVzaXplU3ViVmlld3MoKTsKLQotICAgIFNob3dXaW5kb3coZ1ZpZXdXaW5kb3csIG5D
bWRTaG93KTsKLSAgICBVcGRhdGVXaW5kb3coZ1ZpZXdXaW5kb3cpOwotCi0gICAgaEFjY2VsVGFi
bGUgPSBMb2FkQWNjZWxlcmF0b3JzKGhJbnN0LCBNQUtFSU5UUkVTT1VSQ0UoSURDX1dJTkxBVU5D
SEVSKSk7Ci0KLSAgICBpZiAocmVxdWVzdGVkVVJMLmxlbmd0aCgpKQotICAgICAgICBsb2FkVVJM
KHJlcXVlc3RlZFVSTC5HZXRCU1RSKCkpOwotCi0jcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0NTA5
KQotCi0gICAgLy8gTWFpbiBtZXNzYWdlIGxvb3A6Ci0gICAgX190cnkgewotICAgICAgICBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViS2l0TWVzc2FnZUxvb3AsICZfX3V1aWRvZihJV2ViS2l0TWVz
c2FnZUxvb3ApPj4gbWVzc2FnZUxvb3A7Ci0KLSAgICAgICAgaHIgPSBXZWJLaXRDcmVhdGVJbnN0
YW5jZShDTFNJRF9XZWJLaXRNZXNzYWdlTG9vcCwgMCwgSUlEX0lXZWJLaXRNZXNzYWdlTG9vcCwg
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZtZXNzYWdlTG9vcC5HZXRJbnRlcmZhY2VQdHIoKSkp
OwotICAgICAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgICAgIGdvdG8gZXhpdDsKLQotICAg
ICAgICBtZXNzYWdlTG9vcC0+cnVuKGhBY2NlbFRhYmxlKTsKLQotICAgIH0gX19leGNlcHQoY3Jl
YXRlQ3Jhc2hSZXBvcnQoR2V0RXhjZXB0aW9uSW5mb3JtYXRpb24oKSksIEVYQ0VQVElPTl9FWEVD
VVRFX0hBTkRMRVIpIHsgfQotCi1leGl0OgotICAgIHNodXREb3duV2ViS2l0KCk7Ci0jaWZkZWYg
X0NSVERCR19NQVBfQUxMT0MKLSAgICBfQ3J0RHVtcE1lbW9yeUxlYWtzKCk7Ci0jZW5kaWYKLQot
ICAgIC8vIFNodXQgZG93biBDT00uCi0gICAgT2xlVW5pbml0aWFsaXplKCk7Ci0KLSAgICBkZWxl
dGUgZ1dpbkxhdW5jaGVyOwotICAgIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1zZy53
UGFyYW0pOwotfQotCi1BVE9NIE15UmVnaXN0ZXJDbGFzcyhISU5TVEFOQ0UgaEluc3RhbmNlKQot
ewotICAgIFdORENMQVNTRVggd2NleDsKLQotICAgIHdjZXguY2JTaXplID0gc2l6ZW9mKFdORENM
QVNTRVgpOwotCi0gICAgd2NleC5zdHlsZSAgICAgICAgICA9IENTX0hSRURSQVcgfCBDU19WUkVE
UkFXOwotICAgIHdjZXgubHBmblduZFByb2MgICAgPSBXbmRQcm9jOwotICAgIHdjZXguY2JDbHNF
eHRyYSAgICAgPSAwOwotICAgIHdjZXguY2JXbmRFeHRyYSAgICAgPSAwOwotICAgIHdjZXguaElu
c3RhbmNlICAgICAgPSBoSW5zdGFuY2U7Ci0gICAgd2NleC5oSWNvbiAgICAgICAgICA9IExvYWRJ
Y29uKGhJbnN0YW5jZSwgTUFLRUlOVFJFU09VUkNFKElESV9XSU5MQVVOQ0hFUikpOwotICAgIHdj
ZXguaEN1cnNvciAgICAgICAgPSBMb2FkQ3Vyc29yKDAsIElEQ19BUlJPVyk7Ci0gICAgd2NleC5o
YnJCYWNrZ3JvdW5kICA9IDA7Ci0gICAgd2NleC5scHN6TWVudU5hbWUgICA9IE1BS0VJTlRSRVNP
VVJDRShJRENfV0lOTEFVTkNIRVIpOwotICAgIHdjZXgubHBzekNsYXNzTmFtZSAgPSBzeldpbmRv
d0NsYXNzOwotICAgIHdjZXguaEljb25TbSAgICAgICAgPSBMb2FkSWNvbih3Y2V4LmhJbnN0YW5j
ZSwgTUFLRUlOVFJFU09VUkNFKElESV9TTUFMTCkpOwotCi0gICAgcmV0dXJuIFJlZ2lzdGVyQ2xh
c3NFeCgmd2NleCk7Ci19CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9yZXNvdXJjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL3Jlc291cmNlLmgJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL3Jlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMjgg
KzAsMCBAQAotLy97e05PX0RFUEVOREVOQ0lFU319Ci0vLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBn
ZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBXaW5MYXVuY2hlci5yYwotLy8KLSNk
ZWZpbmUgSURDX01ZSUNPTiAgICAgICAgICAgICAgICAgICAgICAyCi0jZGVmaW5lIElERF9XSU5M
QVVOQ0hFUl9ESUFMT0cgICAgICAgICAgMTAyCi0jZGVmaW5lIElEU19BUFBfVElUTEUgICAgICAg
ICAgICAgICAgICAgMTAzCi0jZGVmaW5lIElERF9BQk9VVEJPWCAgICAgICAgICAgICAgICAgICAg
MTAzCi0jZGVmaW5lIElETV9BQk9VVCAgICAgICAgICAgICAgICAgICAgICAgMTA0Ci0jZGVmaW5l
IElETV9FWElUICAgICAgICAgICAgICAgICAgICAgICAgMTA1Ci0jZGVmaW5lIElETV9QUklOVCAg
ICAgICAgICAgICAgICAgICAgICAgMTA2Ci0jZGVmaW5lIElESV9XSU5MQVVOQ0hFUiAgICAgICAg
ICAgICAgICAgMTA3Ci0jZGVmaW5lIElESV9TTUFMTCAgICAgICAgICAgICAgICAgICAgICAgMTA4
Ci0jZGVmaW5lIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICAgICAgICAgMTA5Ci0jZGVmaW5lIElE
Ul9NQUlORlJBTUUgICAgICAgICAgICAgICAgICAgMTI4Ci0jZGVmaW5lIElEQ19TVEFUSUMgICAg
ICAgICAgICAgICAgICAgICAgLTEKLQotLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9i
amVjdHMKLS8vIAotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLSNpZm5kZWYgQVBTVFVESU9fUkVB
RE9OTFlfU1lNQk9MUwotI2RlZmluZSBfQVBTX05PX01GQyAgICAgICAgICAgICAgICAgICAgIDEK
LSNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMjkKLSNkZWZpbmUgX0FQ
U19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICAzMjc3MQotI2RlZmluZSBfQVBTX05FWFRfQ09O
VFJPTF9WQUxVRSAgICAgICAgIDEwMDAKLSNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAg
ICAgICAgICAxMTAKLSNlbmRpZgotI2VuZGlmCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9zdGRh
ZnguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL3N0ZGFmeC5jcHAJKHJldmlz
aW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL3N0ZGFmeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLQotLy8gc3RkYWZ4LmNwcCA6IHNvdXJjZSBmaWxlIHRoYXQgaW5jbHVkZXMganVz
dCB0aGUgc3RhbmRhcmQgaW5jbHVkZXMKLS8vIFNwaW5uZXJldC5wY2ggd2lsbCBiZSB0aGUgcHJl
LWNvbXBpbGVkIGhlYWRlcgotLy8gc3RkYWZ4Lm9iaiB3aWxsIGNvbnRhaW4gdGhlIHByZS1jb21w
aWxlZCB0eXBlIGluZm9ybWF0aW9uCi0KLSNpbmNsdWRlICJzdGRhZnguaCIKLQotLy8gVE9ETzog
cmVmZXJlbmNlIGFueSBhZGRpdGlvbmFsIGhlYWRlcnMgeW91IG5lZWQgaW4gU1REQUZYLkgKLS8v
IGFuZCBub3QgaW4gdGhpcyBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9zdGRhZnguaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9zdGRhZnguaAkocmV2aXNpb24gMTg4OTcw
KQorKysgVG9vbHMvV2luTGF1bmNoZXIvc3RkYWZ4LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsODgg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQot
Ly8gc3RkYWZ4LmggOiBpbmNsdWRlIGZpbGUgZm9yIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGZp
bGVzLAotLy8gb3IgcHJvamVjdCBzcGVjaWZpYyBpbmNsdWRlIGZpbGVzIHRoYXQgYXJlIHVzZWQg
ZnJlcXVlbnRseSwgYnV0Ci0vLyBhcmUgY2hhbmdlZCBpbmZyZXF1ZW50bHkKLS8vCi0KLSNwcmFn
bWEgb25jZQotCi0vLyBNb2RpZnkgdGhlIGZvbGxvd2luZyBkZWZpbmVzIGlmIHlvdSBoYXZlIHRv
IHRhcmdldCBhIHBsYXRmb3JtIHByaW9yIHRvIHRoZSBvbmVzIHNwZWNpZmllZCBiZWxvdy4KLS8v
IFJlZmVyIHRvIE1TRE4gZm9yIHRoZSBsYXRlc3QgaW5mbyBvbiBjb3JyZXNwb25kaW5nIHZhbHVl
cyBmb3IgZGlmZmVyZW50IHBsYXRmb3Jtcy4KLSNpZm5kZWYgV0lOVkVSIC8vIEFsbG93IHVzZSBv
ZiBmZWF0dXJlcyBzcGVjaWZpYyB0byBXaW5kb3dzIDcgb3IgbGF0ZXIuCi0jZGVmaW5lIFdJTlZF
UiAweDA2MDEgLy8gQ2hhbmdlIHRoaXMgdG8gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIHRvIHRhcmdl
dCBvdGhlciB2ZXJzaW9ucyBvZiBXaW5kb3dzLgotI2VuZGlmCi0KLSNpZm5kZWYgX1dJTjMyX1dJ
Tk5UIC8vIEFsbG93IHVzZSBvZiBmZWF0dXJlcyBzcGVjaWZpYyB0byBXaW5kb3dzIDcgb3IgbGF0
ZXIuCi0jZGVmaW5lIF9XSU4zMl9XSU5OVCAweDYwMSAvLyBDaGFuZ2UgdGhpcyB0byB0aGUgYXBw
cm9wcmlhdGUgdmFsdWUgdG8gdGFyZ2V0IG90aGVyIHZlcnNpb25zIG9mIFdpbmRvd3MuCi0jZW5k
aWYgICAgICAgICAgICAgICAgICAgICAgICAKLQotI2lmbmRlZiBfV0lOMzJfV0lORE9XUyAvLyBB
bGxvdyB1c2Ugb2YgZmVhdHVyZXMgc3BlY2lmaWMgdG8gV2luZG93cyA3IG9yIGxhdGVyLgotI2Rl
ZmluZSBfV0lOMzJfV0lORE9XUyAweDYwMSAvLyBDaGFuZ2UgdGhpcyB0byB0aGUgYXBwcm9wcmlh
dGUgdmFsdWUgdG8gdGFyZ2V0IFdpbmRvd3MgNyBvciBsYXRlci4KLSNlbmRpZgotCi0jaWZuZGVm
IF9XSU4zMl9JRSAgICAgICAgICAgIC8vIEFsbG93IHVzZSBvZiBmZWF0dXJlcyBzcGVjaWZpYyB0
byBJRSA2LjAgb3IgbGF0ZXIuCi0jZGVmaW5lIF9XSU4zMl9JRSAweDA2MDAgICAgLy8gQ2hhbmdl
IHRoaXMgdG8gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIHRvIHRhcmdldCBvdGhlciB2ZXJzaW9ucyBv
ZiBJRS4KLSNlbmRpZgotCi0jZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gICAgICAgIC8vIEV4
Y2x1ZGUgcmFyZWx5LXVzZWQgc3R1ZmYgZnJvbSBXaW5kb3dzIGhlYWRlcnMKLQotLy8gTmVlZGVk
IGZvciBsaW1pdCBkZWZpbmVzLCBsaWtlIElOVE1BWF9NQVgsIHdoaWNoIGlzIHVzZWQgYnkgdGhl
IHN0ZCBDKysgbGlicmFyeQotI2lmbmRlZiBfX1NURENfTElNSVRfTUFDUk9TCi0jZGVmaW5lIF9f
U1REQ19MSU1JVF9NQUNST1MKLSNlbmRpZgotCi0jaWZuZGVmIE5PTUlOTUFYCi0jZGVmaW5lIE5P
TUlOTUFYCi0jZW5kaWYKLQotI2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPGNvbWlwLmg+
Ci0jaW5jbHVkZSA8Y29tbWN0cmwuaD4KLSNpbmNsdWRlIDxjb21tZGxnLmg+Ci0jaW5jbHVkZSA8
Y29tdXRpbC5oPgotI2luY2x1ZGUgPG1hbGxvYy5oPgotI2luY2x1ZGUgPG1lbW9yeS5oPgotI2lu
Y2x1ZGUgPG9iamJhc2UuaD4KLSNpbmNsdWRlIDxzaGVsbGFwaS5oPgotI2luY2x1ZGUgPHNobHdh
cGkuaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmc+Ci0jaW5jbHVkZSA8
dGNoYXIuaD4KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d2luaW5ldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQot
I2lmIDAKLS8vIFZpc3VhbCBTdHVkaW8gTGVhayBEZXRlY3Rpb24KLS8vIDxodHRwOi8vbXNkbjIu
bWljcm9zb2Z0LmNvbS9lbi1VUy9saWJyYXJ5L2U1ZXdiMWgzLmFzcHg+Ci0jaWYgZGVmaW5lZChf
TVNDX1ZFUikgJiYgZGVmaW5lZChfREVCVUcpCi0jZGVmaW5lIF9DUlREQkdfTUFQX0FMTE9DCi0j
aW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8Y3J0ZGJnLmg+Ci0jZW5kaWYKLSNlbmRpZgpJ
bmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci5p
Y28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlw
ZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogVG9vbHMv
V2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci5yYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnJj
CShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hw
cm9qL1dpbkxhdW5jaGVyLnJjCSh3b3JraW5nIGNvcHkpCkBAIC0xLDc2ICswLDAgQEAKLS8vIE1p
Y3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCByZXNvdXJjZSBzY3JpcHQuDQotLy8NCi0jaW5j
bHVkZSAiV2luTGF1bmNoZXJSZXNvdXJjZS5oIg0KLQ0KLSNkZWZpbmUgQVBTVFVESU9fUkVBRE9O
TFlfU1lNQk9MUw0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBHZW5lcmF0ZWQgZnJv
bSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4NCi0vLw0KLSNkZWZpbmUgQVBTVFVESU9fSElE
REVOX1NZTUJPTFMNCi0jaW5jbHVkZSAid2luZG93cy5oIg0KLSN1bmRlZiBBUFNUVURJT19ISURE
RU5fU1lNQk9MUw0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotI3VuZGVmIEFQU1RVRElPX1JF
QURPTkxZX1NZTUJPTFMNCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vIEVuZ2xpc2ggKFUu
Uy4pIHJlc291cmNlcw0KLQ0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZp
bmVkKEFGWF9UQVJHX0VOVSkNCi0jaWZkZWYgX1dJTjMyDQotTEFOR1VBR0UgTEFOR19FTkdMSVNI
LCBTVUJMQU5HX0VOR0xJU0hfVVMNCi0jcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQ0KLSNlbmRpZiAv
L19XSU4zMg0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBJY29uDQotLy8NCi0N
Ci0vLyBJY29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUgYXBw
bGljYXRpb24gaWNvbg0KLS8vIHJlbWFpbnMgY29uc2lzdGVudCBvbiBhbGwgc3lzdGVtcy4NCi1J
RElfV0lOTEFVTkNIRVIgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAiV2luTGF1bmNo
ZXIuaWNvIg0KLQ0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQotLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8NCi0vLw0KLS8vIFRFWFRJTkNMVURFDQotLy8NCi0NCi0xIFRFWFRJTkNMVURFIA0KLUJFR0lO
DQotICAgICJXaW5MYXVuY2hlclJlc291cmNlLlwwIg0KLUVORA0KLQ0KLTIgVEVYVElOQ0xVREUg
DQotQkVHSU4NCi0gICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIg0KLSAg
ICAiI2luY2x1ZGUgIiJ3aW5kb3dzLmgiIlxyXG4iDQotICAgICIjdW5kZWYgQVBTVFVESU9fSElE
REVOX1NZTUJPTFNcclxuIg0KLSAgICAiXDAiDQotRU5EDQotDQotMyBURVhUSU5DTFVERSANCi1C
RUdJTg0KLSAgICAiXHJcbiINCi0gICAgIlwwIg0KLUVORA0KLQ0KLSNlbmRpZiAgICAvLyBBUFNU
VURJT19JTlZPS0VEDQotDQotI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcw0K
LS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vDQotDQotDQotDQotI2lmbmRlZiBBUFNUVURJT19JTlZPS0VE
DQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhU
SU5DTFVERSAzIHJlc291cmNlLg0KLS8vDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0j
ZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQNCi0NCkluZGV4OiBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hw
cm9qCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAwICswLDAg
QEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBE
ZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9z
Y2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3Jv
dXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0
aW9uIEluY2x1ZGU9IkRlYnVnU3VmZml4fFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRl
YnVnU3VmZml4PC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9y
bT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJEZWJ1Z1N1ZmZpeHx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdT
dWZmaXg8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAg
ICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJEZWJ1Z19XaW5DYWlyb3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Z19X
aW5DYWlybzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24g
SW5jbHVkZT0iRGVidWdfV2luQ2Fpcm98eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVn
X1dpbkNhaXJvPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+
Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24g
SW5jbHVkZT0iRGVidWd8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZp
Z3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVj
dENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVn
fHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAg
IDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0g
ICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlByb2R1Y3Rpb258V2luMzIiPgotICAg
ICAgPENvbmZpZ3VyYXRpb24+UHJvZHVjdGlvbjwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUHJvZHVjdGlvbnx4NjQiPgotICAgICAgPENv
bmZpZ3VyYXRpb24+UHJvZHVjdGlvbjwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54
NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RD
b25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2VfV2luQ2Fpcm98V2luMzIiPgotICAgICAgPENv
bmZpZ3VyYXRpb24+UmVsZWFzZV9XaW5DYWlybzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZV9XaW5DYWlyb3x4NjQiPgotICAg
ICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZV9XaW5DYWlybzwvQ29uZmlndXJhdGlvbj4KLSAgICAg
IDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0g
ICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgotICAgICAg
PENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5X
aW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRp
b24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3Jt
PgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwvSXRlbUdyb3VwPgotICA8UHJvcGVy
dHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns3NjdCMTBGQi03NkMx
LTQ0RDAtODAwNS04NUVEN0Y5QUE1RTR9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFj
ZT5XaW5MYXVuY2hlckxhdW5jaGVyPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMy
UHJvajwvS2V5d29yZD4KLSAgICA8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dp
bmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9y
dCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIg
Lz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25m
aWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJh
Y3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQw
PC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCci
IExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRp
b248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFj
dGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJDb25m
aWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3Vy
YXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAg
IDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0g
ICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAg
ICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVy
dHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25U
eXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVu
aWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3Jt
VG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyIgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29u
ZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8
Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxD
aGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdy
b3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0
JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNh
dGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFy
YWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0g
IDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciIExhYmVsPSJDb25m
aWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3Vy
YXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICAg
IDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAg
IDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAg
PENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNl
dD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1
ZmZpeHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5
cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5p
Y29kZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1U
b29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyIgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29u
ZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5D
cHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgot
ICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRz
Ij4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1p
Y3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRh
UGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlclJlbGVhc2UucHJv
cHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5
U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5D
cHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3RE
aXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxB
cHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlclJlbGVh
c2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzIn
IiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9v
dERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4
aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
JykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IldpbkxhdW5jaGVyUmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4u
XHdpblxETExMYXVuY2hlclxETExMYXVuY2hlcldpbkNhaXJvLnByb3BzIiAvPgotICA8L0ltcG9y
dEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxh
dGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNy
b3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBs
YXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJSZWxlYXNlLnByb3Bz
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5j
aGVyV2luQ2Fpcm8ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2Vy
Um9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249
ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnBy
b3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2pl
Y3Q9IldpbkxhdW5jaGVyUHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAg
PEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3Bz
IiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRm
b3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8
SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyUHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJ
bXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51
c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcucHJvcHMiIC8+Ci0gIDwv
SW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAg
PEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0p
LnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQu
Q3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3Jt
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcyIgLz4KLSAg
PC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIiBMYWJlbD0iUHJvcGVydHlT
aGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNw
cC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERp
cilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFw
cERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcu
cHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlx3aW5cRExMTGF1bmNoZXJcRExM
TGF1bmNoZXJXaW5DYWlyby5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdy
b3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2lu
Q2Fpcm98eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9
IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29u
ZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSku
dXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9y
dCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVj
dD0iLi5cLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVyV2luQ2Fpcm8ucHJvcHMiIC8+Ci0g
IDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIp
XE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBE
YXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckRlYnVnLnBy
b3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2
c3Byb3BzXGRlYnVnc3VmZml4LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0
R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1
ZmZpeHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0i
JChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25k
aXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51
c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0
IFByb2plY3Q9IldpbkxhdW5jaGVyRGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcZGVidWdzdWZmaXgucHJvcHMiIC8+
Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAv
PgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5
LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IldpbkxhdW5jaGVyUmVzb3VyY2UuaCIgLz4KLSAgPC9JdGVt
R3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5c
RExMTGF1bmNoZXJcRExMTGF1bmNoZXJNYWluLmNwcCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJ
dGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSJXaW5MYXVuY2hlci5yYyIg
Lz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2lu
TGF1bmNoZXIuaWNvIiAvPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyUG9zdEJ1aWxk
LmNtZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlclByZUJ1aWxkLmNtZCIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFy
Z2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+CkluZGV4OiBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLnZjeHByb2ouZmlsdGVycwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlci52Y3hwcm9qLmZpbHRlcnMJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3Nj
aGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91
cD4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRl
bnRpZmllcj57NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfTwvVW5pcXVlSWRl
bnRpZmllcj4KLSAgICAgIDxFeHRlbnNpb25zPmNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7
YmF0O2FzbTthc214PC9FeHRlbnNpb25zPgotICAgIDwvRmlsdGVyPgotICAgIDxGaWx0ZXIgSW5j
bHVkZT0iUmVzb3VyY2UgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezY3REE2QUI2
LUY4MDAtNGMwOC04QjdBLTgzQkIxMjFBQUQwMX08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgICA8
RXh0ZW5zaW9ucz5yYztpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBl
ZztqcGU7cmVzeDt0aWZmO3RpZjtwbmc7d2F2PC9FeHRlbnNpb25zPgotICAgIDwvRmlsdGVyPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ildp
bkxhdW5jaGVyUmVzb3VyY2UuaCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx3aW5cRExMTGF1bmNoZXJcRExMTGF1bmNoZXJN
YWluLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xD
b21waWxlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21w
aWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyLnJjIj4KLSAgICAgIDxGaWx0ZXI+UmVzb3VyY2UgRmls
ZXM8L0ZpbHRlcj4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJ
dGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXIuaWNvIj4KLSAgICAgIDxG
aWx0ZXI+UmVzb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L05vbmU+Ci0gICAgPE5vbmUgSW5j
bHVkZT0iV2luTGF1bmNoZXJQb3N0QnVpbGQuY21kIiAvPgotICAgIDxOb25lIEluY2x1ZGU9Ildp
bkxhdW5jaGVyUHJlQnVpbGQuY21kIiAvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyQ0YucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckNGLnByb3BzCShyZXZpc2lv
biAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyQ0YucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAot77u/PD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0i
NC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWls
ZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgLz4KLSAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIC8+Ci0g
IDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBl
bmRlbmNpZXM+Q29yZUZvdW5kYXRpb24kKERlYnVnU3VmZml4KS5saWI7JShBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRl
bURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cCAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZj
eHByb2ovV2luTGF1bmNoZXJDRkxpdGUucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckNGTGl0ZS5wcm9wcwkocmV2aXNp
b24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckNGTGl0ZS5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi3vu788
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJz
aW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9t
c2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xGZWF0
dXJlRGVmaW5lc0NhaXJvLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRf
TGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXFdpbkNhaXJvLnByb3BzIiAvPgotICA8L0ltcG9ydEdy
b3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXAgLz4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPExpbms+Ci0gICAgICA8QWRk
aXRpb25hbERlcGVuZGVuY2llcz5DRkxpdGUubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8
L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0gIDxJdGVtR3JvdXAgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyQ29tbW9uLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDb21tb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkK
KysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJDb21t
b24ucHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzAsMCBAQAot77u/PD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWls
ZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29t
L2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8
TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNobHdhcGkubGliOyUoQWRkaXRp
b25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0
RmlsZT4kKE91dERpcilXaW5MYXVuY2hlciQoRGVidWdTdWZmaXgpLmV4ZTwvT3V0cHV0RmlsZT4K
LSAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkucGRi
PC9Qcm9ncmFtRGF0YWJhc2VGaWxlPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlIC8+Ci0g
ICAgPENsQ29tcGlsZSAvPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckRlYnVnLnByb3BzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJEZWJ1Zy5wcm9wcwko
cmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlckRlYnVnLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAot
77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1
bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAg
TGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xp
YnJhcmllcylcdG9vbHNcdnNwcm9wc1xjb21tb24ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNcZGVidWcucHJvcHMiIC8+Ci0g
ICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNvbW1vbi5wcm9wcyIgLz4KLSAgPC9JbXBv
cnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1
bmNoZXJMaWIucmMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzI2
ICswLDAgQEAKLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCByZXNvdXJjZSBzY3Jp
cHQuDQotLy8NCi0jaW5jbHVkZSAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oIg0KLQ0KLSNkZWZp
bmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8N
Ci0vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4NCi0vLw0KLSNk
ZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFMNCi0jaW5jbHVkZSAid2luZG93cy5oIg0KLSN1
bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MUw0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQot
I3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMNCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Lw0KLS8vIEVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMpIHJlc291cmNlcw0KLQ0KLSNpZiAhZGVmaW5l
ZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkNCi1MQU5HVUFHRSBM
QU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUw0KLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIp
DQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0vLw0KLS8vIEljb24NCi0vLw0KLQ0KLS8vIElj
b24gd2l0aCBsb3dlc3QgSUQgdmFsdWUgcGxhY2VkIGZpcnN0IHRvIGVuc3VyZSBhcHBsaWNhdGlv
biBpY29uDQotLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLg0KLUlESV9XSU5M
QVVOQ0hFUiAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJXaW5MYXVuY2hlci5pY28i
DQotSURJX1NNQUxMICAgICAgICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgInNtYWxs
LmljbyINCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gTWVudQ0KLS8vDQotDQot
SURDX1dJTkxBVU5DSEVSIE1FTlUNCi1CRUdJTg0KLSAgICBQT1BVUCAiJkZpbGUiDQotICAgIEJF
R0lODQotICAgICAgICBNRU5VSVRFTSAiJlByaW50XHRDdHJsLVAiLCAgICAgICAgICAgICAgSURN
X1BSSU5UDQotICAgICAgICBNRU5VSVRFTSAiRSZ4aXQiLCAgICAgICAgICAgICAgICAgICAgICAg
SURNX0VYSVQNCi0gICAgRU5EDQotICAgIFBPUFVQICImVmlldyINCi0gICAgQkVHSU4NCi0gICAg
ICAgIE1FTlVJVEVNICJBY3R1YWwgU2l6ZSIsICAgICAgICAgICAgICAgICBJRE1fQUNUVUFMX1NJ
WkUNCi0gICAgICAgIE1FTlVJVEVNICJab29tIEluXHRDdHJsKysiLCAgICAgICAgICAgICBJRE1f
Wk9PTV9JTg0KLSAgICAgICAgTUVOVUlURU0gIlpvb20gT3V0XHRDdHJsKy0iLCAgICAgICAgICAg
IElETV9aT09NX09VVA0KLSAgICAgICAgTUVOVUlURU0gIkludmVydCBDb2xvcnMiLCAgICAgICAg
ICAgICAgIElETV9JTlZFUlRfQ09MT1JTDQotICAgIEVORA0KLSAgICBQT1BVUCAiJkhpc3Rvcnki
DQotICAgIEJFR0lODQotICAgICAgICBNRU5VSVRFTSAiQmFjayIsICAgICAgICAgICAgICAgICAg
ICAgICAgSURNX0hJU1RPUllfQkFDS1dBUkQNCi0gICAgICAgIE1FTlVJVEVNICJGb3J3YXJkIiwg
ICAgICAgICAgICAgICAgICAgICBJRE1fSElTVE9SWV9GT1JXQVJEDQotICAgICAgICBNRU5VSVRF
TSBTRVBBUkFUT1INCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAwIiwgICAgICAg
ICAgICBJRE1fSElTVE9SWV9MSU5LMA0KLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5
IDEiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTksxDQotICAgICAgICBNRU5VSVRFTSAiVW51
c2VkIEhpc3RvcnkgMiIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzINCi0gICAgICAgIE1F
TlVJVEVNICJVbnVzZWQgSGlzdG9yeSAzIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMw0K
LSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDQiLCAgICAgICAgICAgIElETV9ISVNU
T1JZX0xJTks0DQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNSIsICAgICAgICAg
ICAgSURNX0hJU1RPUllfTElOSzUNCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA2
IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNg0KLSAgICAgICAgTUVOVUlURU0gIlVudXNl
ZCBIaXN0b3J5IDciLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks3DQotICAgICAgICBNRU5V
SVRFTSAiVW51c2VkIEhpc3RvcnkgOCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzgNCi0g
ICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA5IiwgICAgICAgICAgICBJRE1fSElTVE9S
WV9MSU5LOQ0KLSAgICBFTkQNCi0gICAgUE9QVVAgIkQmZXZlbG9wIg0KLSAgICBCRUdJTg0KLSAg
ICAgICAgTUVOVUlURU0gIlNob3cgV2ViIEluc3BlY3RvciIsICAgICAgICAgIElETV9XRUJfSU5T
UEVDVE9SDQotICAgICAgICBQT1BVUCAiVXNlciBBZ2VudCINCi0gICAgICAgIEJFR0lODQotICAg
ICAgICAgICAgTUVOVUlURU0gIkRlZmF1bHQgKEF1dG9tYXRpY2FsbHkgQ2hvc2VuKSIsIElETV9V
QV9ERUZBVUxUDQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICAgICAg
TUVOVUlURU0gIlNhZmFyaSA4LjAiLCAgICAgICAgICAgICAgICAgIElETV9VQV9TQUZBUklfOF8w
DQotICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAgICAgICAgICAgTUVOVUlURU0g
IlNhZmFyaSBpT1MgOCAtIGlQaG9uZSIsICAgICAgIElETV9VQV9TQUZBUklfSU9TXzhfSVBIT05F
DQotICAgICAgICAgICAgTUVOVUlURU0gIlNhZmFyaSBpT1MgOCAtIGlQYWQiLCAgICAgICAgIElE
TV9VQV9TQUZBUklfSU9TXzhfSVBBRA0KLSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0K
LSAgICAgICAgICAgIE1FTlVJVEVNICJJbnRlcm5ldCBFeHBsb3JlciAxMS4wIiwgICAgICBJRE1f
VUFfSUVfMTENCi0gICAgICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAgICAgICBN
RU5VSVRFTSAiR29vZ2xlIENocm9tZSAtIE1hYyIsICAgICAgICAgSURNX1VBX0NIUk9NRV9NQUMN
Ci0gICAgICAgICAgICBNRU5VSVRFTSAiR29vZ2xlIENocm9tZSAtIFdpbmRvd3MiLCAgICAgSURN
X1VBX0NIUk9NRV9XSU4NCi0gICAgICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAg
ICAgICBNRU5VSVRFTSAiRmlyZWZveCAtIE1hYyIsICAgICAgICAgICAgICAgSURNX1VBX0ZJUkVG
T1hfTUFDDQotICAgICAgICAgICAgTUVOVUlURU0gIkZpcmVmb3ggLSBXaW5kb3dzIiwgICAgICAg
ICAgIElETV9VQV9GSVJFRk9YX1dJTg0KLSAgICAgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0K
LSAgICAgICAgICAgIE1FTlVJVEVNICJPdGhlciIsICAgICAgICAgICAgICAgICAgICAgICBJRE1f
VUFfT1RIRVINCi0gICAgICAgIEVORA0KLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQotICAg
ICAgICBNRU5VSVRFTSAiRGlzYWJsZSBJbWFnZXMiLCAgICAgICAgICAgICAgSURNX0RJU0FCTEVf
SU1BR0VTDQotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBTdHlsZXMiLCAgICAgICAgICAgICAg
SURNX0RJU0FCTEVfU1RZTEVTDQotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBKYXZhU2NyaXB0
IiwgICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVA0KLSAgICAgICAgTUVOVUlURU0gIkRp
c2FibGUgTG9jYWwgRmlsZSBSZXN0cmljdGlvbnMiLCBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JF
U1RSSUNUSU9OUw0KLSAgICBFTkQNCi0gICAgUE9QVVAgIiZIZWxwIg0KLSAgICBCRUdJTg0KLSAg
ICAgICAgTUVOVUlURU0gIiZBYm91dCAuLi4iLCAgICAgICAgICAgICAgICAgIElETV9BQk9VVA0K
LSAgICBFTkQNCi0gICAgUE9QVVAgIiZEZWJ1ZyINCi0gICAgQkVHSU4NCi0gICAgICAgIE1FTlVJ
VEVNICJVc2UgQVZGb3VuZGF0aW9uIiwgICAgICAgICAgICBJRE1fQVZGT1VOREFUSU9OLCBDSEVD
S0VEDQotICAgICAgICBNRU5VSVRFTSAiVXNlIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5nIiwgSURN
X0FDQ19DT01QT1NJVElORywgQ0hFQ0tFRA0KLSAgICAgICAgTUVOVUlURU0gIkVuYWJsZSBXZWJL
aXQgRnVsbCBTY3JlZW4iLCAgIElETV9XS19GVUxMU0NSRUVOLCBDSEVDS0VEDQotICAgICAgICBN
RU5VSVRFTSBTRVBBUkFUT1INCi0gICAgICAgIE1FTlVJVEVNICJTaG93IENvbXBvc2l0aW5nIEJv
cmRlcnMiLCAgICBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUw0KLSAgICAgICAgTUVOVUlURU0gU0VQ
QVJBVE9SDQotICAgICAgICBNRU5VSVRFTSAiU2hvdyBDYWNoZXMgV2luZG93IiwgICAgICAgICAg
SURNX0NBQ0hFUw0KLSAgICBFTkQNCi1FTkQNCi0NCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0K
LS8vDQotLy8gQWNjZWxlcmF0b3INCi0vLw0KLQ0KLUlEQ19XSU5MQVVOQ0hFUiBBQ0NFTEVSQVRP
UlMNCi1CRUdJTg0KLSAgICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAg
QVNDSUksICBBTFQsIE5PSU5WRVJUDQotICAgICI/IiwgICAgICAgICAgICBJRE1fQUJPVVQsICAg
ICAgICAgICAgICBBU0NJSSwgIEFMVCwgTk9JTlZFUlQNCi0gICAgVktfQURELCAgICAgICAgIElE
TV9aT09NX0lOLCAgICAgICAgICAgIFZJUlRLRVksIENPTlRST0wsIE5PSU5WRVJUDQotICAgIFZL
X1NVQlRSQUNULCAgICBJRE1fWk9PTV9PVVQsICAgICAgICAgICBWSVJUS0VZLCBDT05UUk9MLCBO
T0lOVkVSVA0KLUVORA0KLQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBEaWFs
b2cNCi0vLw0KLQ0KLUlERF9BQk9VVEJPWCBESUFMT0dFWCAyMiwgMTcsIDIzMCwgNzUNCi1TVFlM
RSBEU19TRVRGT05UIHwgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VDQot
Q0FQVElPTiAiQWJvdXQiDQotRk9OVCA4LCAiU3lzdGVtIiwgMCwgMCwgMHgwDQotQkVHSU4NCi0g
ICAgSUNPTiAgICAgICAgICAgIElESV9XSU5MQVVOQ0hFUixJRENfTVlJQ09OLDE0LDksMjAsMjAN
Ci0gICAgTFRFWFQgICAgICAgICAgICJXaW5MYXVuY2hlciBWZXJzaW9uIDEuMyIsSURDX1NUQVRJ
Qyw0OSwxMCwxMTksOCxTU19OT1BSRUZJWA0KLSAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdo
dCAoQykgMjAxNCIsSURDX1NUQVRJQyw0OSwyMCwxMTksOA0KLSAgICBERUZQVVNIQlVUVE9OICAg
Ik9LIixJRE9LLDE5NSw2LDMwLDExLFdTX0dST1VQDQotRU5EDQotDQotSUREX0NBQ0hFUyBESUFM
T0dFWCAwLCAwLCA0MDEsIDQ1Ng0KLVNUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwg
RFNfRklYRURTWVMgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VDQotQ0FQVElP
TiAiRGlhbG9nIg0KLUZPTlQgOCwgIk1TIFNoZWxsIERsZyIsIDQwMCwgMCwgMHgxDQotQkVHSU4N
Ci0gICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyODcsNDM1LDUwLDE0DQotICAgIFBVU0hC
VVRUT04gICAgICAiQ2FuY2VsIixJRENBTkNFTCwzNDQsNDM1LDUwLDE0DQotICAgIEdST1VQQk9Y
ICAgICAgICAiRmFzdE1hbGxvYyIsSURDX1NUQVRJQywyMDgsMTQsMTg2LDY3DQotICAgIEdST1VQ
Qk9YICAgICAgICAiV2ViQ29yZSBDYWNoZSIsSURDX1NUQVRJQywxNyw4MywzNzYsMTA1DQotICAg
IEdST1VQQk9YICAgICAgICAiSmF2YVNjcmlwdCBIZWFwIixJRENfU1RBVElDLDE4LDE5MywzNzYs
MTY4DQotICAgIEdST1VQQk9YICAgICAgICAiU2l0ZSBJY29uIERhdGFiYXNlIixJRENfU1RBVElD
LDE4LDM2NiwxNDIsNjUNCi0gICAgR1JPVVBCT1ggICAgICAgICJGb250IGFuZCBHbHlwaCBDYWNo
ZXMiLElEQ19TVEFUSUMsMTY4LDM2NiwyMjYsNjYNCi0gICAgR1JPVVBCT1ggICAgICAgICJDRlVS
TENhY2hlIixJRENfU1RBVElDLDcsMTQsMTk3LDY3DQotICAgIFBVU0hCVVRUT04gICAgICAiRW1w
dHkgVVJMQ2FjaGUiLElEQ19FTVBUWV9VUkxfQ0FDSEUsMTMxLDYzLDY5LDE0LFdTX0RJU0FCTEVE
DQotICAgIFBVU0hCVVRUT04gICAgICAiUmV0dXJuIEZyZWUgTWVtb3J5IixJRENfUkVUVVJOX0ZS
RUVfTUVNT1JZLDMwOCw2Myw3NiwxNCxXU19ESVNBQkxFRA0KLSAgICBQVVNIQlVUVE9OICAgICAg
IkVtcHR5IFdlYkNvcmUgQ2FjaGUiLElEQ19FTVBUWV9XRUJDT1JFX0NBQ0hFLDIxLDE3MCw4Mywx
NCxXU19ESVNBQkxFRA0KLSAgICBDT05UUk9MICAgICAgICAgIkRpc2FibGUgV2ViQ29yZSBDYWNo
ZSIsSURDX0NIRUNLMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8IFdT
X1RBQlNUT1AsMTE5LDE3Miw5MywxMA0KLSAgICBQVVNIQlVUVE9OICAgICAgIkdhcmJhZ2UgQ29s
bGVjdCBKYXZhU2NyaXB0IE9iamVjdHMiLElEQ19HQ19KU0MsMjUzLDM0MywxMzUsMTQsV1NfRElT
QUJMRUQNCi0gICAgUlRFWFQgICAgICAgICAgICJSZXNlcnZlZCBWTSIsSURDX1NUQVRJQywyMTIs
MjYsNjcsOQ0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19SRVNFUlZFRF9WTSwyOTAsMjYs
OTQsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIkNvbW1pdHRlZCBWTSIsSURDX1NUQVRJQywyMTEs
MzksNjcsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DT01NSVRURURfVk0sMjkwLDM5
LDk0LDgNCi0gICAgUlRFWFQgICAgICAgICAgICJGcmVlIExpc3QgQnl0ZXMiLElEQ19TVEFUSUMs
MjExLDUyLDY3LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfRlJFRV9MSVNUX0JZVEVT
LDI5MCw1Miw5NCw4DQotICAgIFJURVhUICAgICAgICAgICAiSW1hZ2VzIixJRENfU1RBVElDLDM3
LDEwNiwyNCw4DQotICAgIFJURVhUICAgICAgICAgICAiQ1NTIixJRENfU1RBVElDLDQ3LDExNiwx
NCw4DQotICAgIFJURVhUICAgICAgICAgICAiWFNMIixJRENfU1RBVElDLDQ5LDEyNiwxMiw4DQot
ICAgIFJURVhUICAgICAgICAgICAiSmF2YVNjcmlwdCIsSURDX1NUQVRJQywyNywxMzUsMzQsOA0K
LSAgICBSVEVYVCAgICAgICAgICAgIlRvdGFsIixJRENfU1RBVElDLDQzLDE0NiwxNyw4DQotICAg
IExURVhUICAgICAgICAgICAiT2JqZWN0cyIsSURDX1NUQVRJQywxMTEsOTYsMjYsOA0KLSAgICBM
VEVYVCAgICAgICAgICAgIkJ5dGVzIixJRENfU1RBVElDLDE3NSw5NiwxOSw4DQotICAgIExURVhU
ICAgICAgICAgICAiTGl2ZSIsSURDX1NUQVRJQywyMzIsOTYsMTQsOA0KLSAgICBMVEVYVCAgICAg
ICAgICAgIkRlY29kZWQiLElEQ19TVEFUSUMsMjg0LDk2LDI5LDgNCi0gICAgTFRFWFQgICAgICAg
ICAgICJQdXJnZWFibGUiLElEQ19TVEFUSUMsMzUxLDk2LDMzLDgNCi0gICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfSU1BR0VTX09CSkVDVF9DT1VOVCwxMDAsMTA2LDMyLDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfQ1NTX09CSkVDVF9DT1VOVCwxMDAsMTE2LDMyLDgNCi0gICAgUlRF
WFQgICAgICAgICAgICIwIixJRENfWFNMX09CSkVDVF9DT1VOVCwxMDAsMTI2LDMyLDgNCi0gICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX09CSkVDVF9DT1VOVCwxMDAsMTM1LDMyLDgNCi0g
ICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfT0JKRUNUX0NPVU5ULDEwMCwxNDYsMzIs
OA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfQllURVMsMTYyLDEwNiwzMiw4
DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NTU19CWVRFUywxNjIsMTE2LDMyLDgNCi0g
ICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0JZVEVTLDE2MiwxMjYsMzIsOA0KLSAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfQllURVMsMTYyLDEzNSwzMiw4DQotICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX1RPVEFMX0JZVEVTLDE2MiwxNDYsMzIsOA0KLSAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19JTUFHRVNfTElWRV9DT1VOVCwyMjEsMTA2LDMyLDgNCi0gICAgUlRF
WFQgICAgICAgICAgICIwIixJRENfQ1NTX0xJVkVfQ09VTlQsMjIxLDExNiwzMiw4DQotICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX1hTTF9MSVZFX0NPVU5ULDIyMSwxMjYsMzIsOA0KLSAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfTElWRV9DT1VOVCwyMjEsMTM1LDMyLDgNCi0gICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfTElWRV9DT1VOVCwyMjEsMTQ2LDMyLDgNCi0g
ICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQsMjg0LDEwNiwz
Miw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NTU19ERUNPREVEX0NPVU5ULDI4NCwx
MTYsMzIsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfREVDT0RFRF9DT1VOVCwy
ODQsMTI2LDMyLDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0RFQ09ERURfQ09V
TlQsMjg0LDEzNSwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX0RFQ09E
RUQsMjg0LDE0NiwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19QVVJH
RUFCTEVfQ09VTlQsMzU0LDEwNiwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NT
U19QVVJHRUFCTEVfQ09VTlQsMzU0LDExNiwzMiw4DQotICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1hTTF9QVVJHRUFCTEVfQ09VTlQsMzU0LDEyNiwzMiw4DQotICAgIFJURVhUICAgICAgICAg
ICAiMCIsSURDX0pTQ19QVVJHRUFCTEVfQ09VTlQsMzU0LDEzNSwzMiw4DQotICAgIFJURVhUICAg
ICAgICAgICAiMCIsSURDX1RPVEFMX1BVUkdFQUJMRSwzNTQsMTQ2LDMyLDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICJUb3RhbCBPYmplY3RzIixJRENfU1RBVElDLDYzLDIwNyw0NCw4DQotICAgIFJU
RVhUICAgICAgICAgICAiR2xvYmFsIE9iamVjdHMiLElEQ19TVEFUSUMsNTYsMjE3LDUxLDgNCi0g
ICAgUlRFWFQgICAgICAgICAgICJQcm90ZWN0ZWQgT2JqZWN0cyIsSURDX1NUQVRJQyw0OCwyMjcs
NTksOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RT
LDEyNywyMDcsNTYsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19HTE9CQUxfSlNDX0hF
QVBfT0JKRUNUUywxMjcsMjE3LDU2LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIwIixJRENfUFJP
VEVDVEVEX0pTQ19IRUFQX09CSkVDVFMsMTI3LDIyNyw1Niw4DQotICAgIFJURVhUICAgICAgICAg
ICAiU2l6ZSIsSURDX1NUQVRJQzU2LDIyMywyMDcsMTQsOA0KLSAgICBSVEVYVCAgICAgICAgICAg
IkZyZWUiLElEQ19TVEFUSUM1NywyMjIsMjE3LDE2LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfSlNDX0hFQVBfU0laRSwyNzAsMjA3LDU2LDgNCi0gICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfSlNDX0hFQVBfRlJFRSwyNzAsMjE3LDU2LDgNCi0gICAgUFVTSEJVVFRPTiAgICAgICJQ
dXJnZSBJbmFjdGl2ZSBGb250IERhdGEiLElEQ19CVVRUT041LDI5Myw0MTUsOTUsMTQsV1NfRElT
QUJMRUQNCi0gICAgTFRFWFQgICAgICAgICAgICJUb3RhbCBGb250IERhdGEgT2JqZWN0cyIsSURD
X1NUQVRJQywyMDgsMzc5LDc4LDgNCi0gICAgTFRFWFQgICAgICAgICAgICJJbmFjdGl2ZSBGb250
IERhdGEgT2JqZWN0cyIsSURDX1NUQVRJQywxOTgsMzkwLDg4LDgNCi0gICAgTFRFWFQgICAgICAg
ICAgICJHbHlwaCBQYWdlcyIsSURDX1NUQVRJQywyNDYsNDAyLDQwLDgNCi0gICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfVE9UQUxfRk9OVF9PQkpFQ1RTLDMyOSwzNzksNTYsOA0KLSAgICBSVEVY
VCAgICAgICAgICAgIjAiLElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMsMzI5LDM5MCw1Niw4DQot
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0dMWVBIX1BBR0VTLDMyOSw0MDIsNTYsOA0KLSAg
ICBMVEVYVCAgICAgICAgICAgIlBhZ2UgVVJMIE1hcHBpbmdzIixJRENfU1RBVElDLDMzLDM4MCw2
NCw4DQotICAgIExURVhUICAgICAgICAgICAiUmV0YWluZWQgUGFnZSBVUkxzIixJRENfU1RBVElD
LDMxLDM5MCw2Niw4DQotICAgIExURVhUICAgICAgICAgICAiU2l0ZSBJY29uIFJlY29yZHMiLElE
Q19TVEFUSUMsNDAsNDAwLDU3LDgNCi0gICAgTFRFWFQgICAgICAgICAgICJTaXRlIEljb25zIHdp
dGggRGF0YSIsSURDX1NUQVRJQywzMiw0MTAsNjUsOA0KLSAgICBSVEVYVCAgICAgICAgICAgIjAi
LElEQ19QQUdFX1VSTF9NQVBQSU5HUywxMDEsMzgwLDUyLDgNCi0gICAgUlRFWFQgICAgICAgICAg
ICIwIixJRENfUkVUQUlORURfUEFHRV9VUkxTLDEwMSwzOTAsNTIsOA0KLSAgICBSVEVYVCAgICAg
ICAgICAgIjAiLElEQ19TSVRFX0lDT05fUkVDT1JEUywxMDEsNDAwLDUyLDgNCi0gICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfU0lURV9JQ09OU19XSVRIX0RBVEEsMTAxLDQxMCw1Miw4DQotRU5E
DQotDQotSUREX1VTRVJfQUdFTlQgRElBTE9HRVggMCwgMCwgMzA5LCAxNzYNCi1TVFlMRSBEU19T
RVRGT05UIHwgRFNfTU9EQUxGUkFNRSB8IERTX0ZJWEVEU1lTIHwgV1NfUE9QVVAgfCBXU19DQVBU
SU9OIHwgV1NfU1lTTUVOVQ0KLUNBUFRJT04gIkRpYWxvZyINCi1GT05UIDgsICJNUyBTaGVsbCBE
bGciLCA0MDAsIDAsIDB4MQ0KLUJFR0lODQotICAgIExURVhUICAgICAgICAgICAiVHlwZSBhIGN1
c3RvbSB1c2VyIGFnZW50IHN0cmluZyBmb3IgdGhpcyBwYWdlLiIsSURDX01lc3NhZ2UsNyw3LDI5
NSwxOQ0KLSAgICBFRElUVEVYVCAgICAgICAgSURDX1VTRVJfQUdFTlRfSU5QVVQsNywzNCwyOTUs
MTE3LEVTX0FVVE9IU0NST0xMDQotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk4LDE1
NSw1MCwxNA0KLSAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbCIsSURDQU5DRUwsMjUyLDE1NSw1
MCwxNA0KLUVORA0KLQ0KLQ0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQotLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8NCi0vLw0KLS8vIFRFWFRJTkNMVURFDQotLy8NCi0NCi0xIFRFWFRJTkNMVURFIA0K
LUJFR0lODQotICAgICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmhcMCINCi1FTkQNCi0NCi0yIFRF
WFRJTkNMVURFIA0KLUJFR0lODQotICAgICIjZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xT
XHJcbiINCi0gICAgIiNpbmNsdWRlICIid2luZG93cy5oIiJcclxuIg0KLSAgICAiI3VuZGVmIEFQ
U1RVRElPX0hJRERFTl9TWU1CT0xTXHJcbiINCi0gICAgIlwwIg0KLUVORA0KLQ0KLTMgVEVYVElO
Q0xVREUgDQotQkVHSU4NCi0gICAgIlxyXG4iDQotICAgICJcMCINCi1FTkQNCi0NCi0jZW5kaWYg
ICAgLy8gQVBTVFVESU9fSU5WT0tFRA0KLQ0KLQ0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8N
Ci0vLyBERVNJR05JTkZPDQotLy8NCi0NCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLUdVSURF
TElORVMgREVTSUdOSU5GTw0KLUJFR0lODQotICAgIElERF9BQk9VVEJPWCwgRElBTE9HDQotICAg
IEJFR0lODQotICAgIEVORA0KLQ0KLSAgICBJRERfQ0FDSEVTLCBESUFMT0cNCi0gICAgQkVHSU4N
Ci0gICAgICAgIExFRlRNQVJHSU4sIDcNCi0gICAgICAgIFJJR0hUTUFSR0lOLCAzOTQNCi0gICAg
ICAgIFRPUE1BUkdJTiwgNw0KLSAgICAgICAgQk9UVE9NTUFSR0lOLCA0NDkNCi0gICAgRU5EDQot
DQotICAgIElERF9VU0VSX0FHRU5ULCBESUFMT0cNCi0gICAgQkVHSU4NCi0gICAgICAgIExFRlRN
QVJHSU4sIDcNCi0gICAgICAgIFJJR0hUTUFSR0lOLCAzMDINCi0gICAgICAgIFRPUE1BUkdJTiwg
Nw0KLSAgICAgICAgQk9UVE9NTUFSR0lOLCAxNjkNCi0gICAgRU5EDQotRU5EDQotI2VuZGlmICAg
IC8vIEFQU1RVRElPX0lOVk9LRUQNCi0NCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLS8vDQot
Ly8gU3RyaW5nIFRhYmxlDQotLy8NCi0NCi1TVFJJTkdUQUJMRQ0KLUJFR0lODQotICAgIElEU19B
UFBfVElUTEUgICAgICAgICAgICJXaW5MYXVuY2hlciINCi0gICAgSURDX1dJTkxBVU5DSEVSICAg
ICAgICAgIldJTkxBVU5DSEVSIg0KLUVORA0KLQ0KLSNlbmRpZiAgICAvLyBFbmdsaXNoIChVbml0
ZWQgU3RhdGVzKSByZXNvdXJjZXMNCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLQ0KLQ0KLQ0KLSNp
Zm5kZWYgQVBTVFVESU9fSU5WT0tFRA0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQotLy8NCi0vLyBH
ZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMyByZXNvdXJjZS4NCi0vLw0KLQ0KLQ0KLS8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vDQotI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VEDQot
DQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYi52Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LnZjeHByb2ovV2luTGF1bmNoZXJMaWIudmN4cHJvagkocmV2aXNpb24gMTg4OTcwKQorKysgVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2MyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29s
c1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVs
b3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJh
dGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z1N1ZmZpeHxX
aW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Z1N1ZmZpeDwvQ29uZmlndXJhdGlvbj4K
LSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJh
dGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWdTdWZmaXh8eDY0
Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnU3VmZml4PC9Db25maWd1cmF0aW9uPgotICAg
ICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4K
LSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWdfV2luQ2Fpcm98V2luMzIi
PgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWdfV2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+Ci0g
ICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRp
b24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnX1dpbkNhaXJvfHg2
NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1Z19XaW5DYWlybzwvQ29uZmlndXJhdGlvbj4K
LSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRp
b24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAg
ICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3Jt
PldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9q
ZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRp
b24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4K
LSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJ
bmNsdWRlPSJQcm9kdWN0aW9ufFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlByb2R1Y3Rp
b248L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAg
IDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1
ZGU9IlByb2R1Y3Rpb258eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlByb2R1Y3Rpb248L0Nv
bmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxl
YXNlX1dpbkNhaXJvfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2VfV2luQ2Fp
cm88L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAg
IDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1
ZGU9IlJlbGVhc2VfV2luQ2Fpcm98eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2Vf
V2luQ2Fpcm88L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4K
LSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJ
bmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0Nv
bmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJv
amVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJl
bGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+
Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0
aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgot
ICAgIDxQcm9qZWN0R3VpZD57MTE0RkNBMTEtMjE2Qi00QzhDLTk1N0UtMzBBNzVBRTgwNDQzfTwv
UHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+V2luTGF1bmNoZXI8L1Jvb3ROYW1lc3Bh
Y2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgotICAgIDxXaW5kb3dzVGFyZ2V0
UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9z
b2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29u
ZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25m
aWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxD
b25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAg
PENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNl
dD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0
aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3Rl
clNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9Q
bGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHlu
YW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29k
ZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29s
c2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciIExhYmVsPSJD
b25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0Nv
bmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0
PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0g
ICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4K
LSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1U
b29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJv
cGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlw
ZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5V
bmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9y
bVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29u
ZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25m
aWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5
cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRm
b3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZp
Z3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hh
cmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYx
NDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91
cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5E
eW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Vbmlj
b2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRv
b2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIiBMYWJlbD0i
Q29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9D
b25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNl
dD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0
LkNwcC5wcm9wcyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+
Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4k
KFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilc
TWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERh
dGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUmVsZWFz
ZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+
Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRz
Ij4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQ
bGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1p
Y3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRh
UGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlJlbGVhc2Uu
cHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgot
ICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IlByb3Bl
cnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29m
dC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJv
b3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9j
YWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxp
YlJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGTGl0
ZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXC4uXFdlYktpdExpYnJhcmll
c1x3aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFtZXIzMi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFBy
b2plY3Q9Ii4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFt
ZXJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNl
clJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9u
PSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5w
cm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9q
ZWN0PSJXaW5MYXVuY2hlckxpYlJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSJXaW5MYXVuY2hlckNGTGl0ZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4u
XC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFtZXI2NC5wcm9wcyIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9v
bHNcdnNwcm9wc1xHU3RyZWFtZXJDb21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0g
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnBy
b3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBs
YXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliUHJvZHVjdGlvbi5wcm9wcyIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3Jv
dXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNl
ci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMiIC8+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGLnByb3BzIiAvPgotICA8L0ltcG9y
dEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVz
ZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3Bw
LiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAv
PgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3Jv
dXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQ
cm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJv
cHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxh
dGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IldpbkxhdW5jaGVyQ0YucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0g
IDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNl
ci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAu
JChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+
Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzIiAvPgotICAg
IDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDRkxpdGUucHJvcHMiIC8+Ci0gICAgPEltcG9y
dCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRMaWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0
cmVhbWVyMzIucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxXZWJLaXRM
aWJyYXJpZXNcd2luXHRvb2xzXHZzcHJvcHNcR1N0cmVhbWVyQ29tbW9uLnByb3BzIiAvPgotICA8
L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4k
KFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilc
TWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERh
dGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliRGVidWcu
cHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckNGTGl0ZS5wcm9wcyIg
Lz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9v
bHNcdnNwcm9wc1xHU3RyZWFtZXI2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ii4u
XC4uXC4uXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHNcdnNwcm9wc1xHU3RyZWFtZXJDb21tb24u
cHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyIgTGFiZWw9
IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1p
Y3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQo
VXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJl
bD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJXaW5MYXVu
Y2hlckxpYkRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJD
Ri5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9v
bHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPElt
cG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2pl
Y3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIg
Q29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9y
bSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPElt
cG9ydCBQcm9qZWN0PSJXaW5MYXVuY2hlckxpYkRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQg
UHJvamVjdD0iV2luTGF1bmNoZXJDRi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQo
V2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xkZWJ1Z3N1ZmZpeC5wcm9wcyIgLz4KLSAg
PC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0g
IDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwv
X1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRp
b25Hcm91cD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxO
b25lIEluY2x1ZGU9InNtYWxsLmljbyIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hl
ci5pY28iIC8+Ci0gICAgPE5vbmUgSW5jbHVkZT0iV2luTGF1bmNoZXJMaWJQb3N0QnVpbGQuY21k
IiAvPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliUHJlQnVpbGQuY21kIiAvPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxDb21tb24uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXERP
TURlZmF1bHRJbXBsLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBhZ2VMb2Fk
VGVzdENsaWVudC5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcmludFdlYlVJ
RGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUmVzb3VyY2VMb2Fk
RGVsZWdhdGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3RkYWZ4LmNwcCI+
Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4K
LSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4KLSAg
ICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVh
ZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj5DcmVhdGU8L1ByZWNvbXBp
bGVkSGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPkNyZWF0ZTwvUHJlY29t
cGlsZWRIZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPkNyZWF0ZTwvUHJlY29t
cGlsZWRIZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkNyZWF0ZTwvUHJlY29tcGls
ZWRIZWFkZXI+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXIgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5DcmVhdGU8L1ByZWNvbXBpbGVkSGVh
ZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj5DcmVhdGU8L1ByZWNvbXBp
bGVkSGVhZGVyPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+Q3JlYXRlPC9QcmVj
b21waWxlZEhlYWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+Q3JlYXRlPC9Q
cmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPkNyZWF0ZTwv
UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxXZWJEb3dubG9hZERlbGVnYXRlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXFdpbkxhdW5jaGVyLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdp
bkxhdW5jaGVyV2ViSG9zdC5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxXaW5N
YWluLmNwcCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxBY2Nlc3NpYmlsaXR5RGVsZWdhdGUuaCIgLz4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXERPTURlZmF1bHRJbXBsLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxQYWdlTG9hZFRlc3RDbGllbnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XFByaW50V2ViVUlEZWxlZ2F0ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cUmVz
b3VyY2VMb2FkRGVsZWdhdGUuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN0ZGFm
eC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2ViRG93bmxvYWREZWxlZ2F0ZS5o
IiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXIuaCIgLz4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyUmVwbGFjZS5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cV2luTGF1bmNoZXJXZWJIb3N0LmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiIC8+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iV2luTGF1bmNoZXJM
aWIucmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4
dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpJbmRleDogVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9q
LmZpbHRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYi52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE4ODk3MCkKKysr
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIudmN4
cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwMiArMCwwIEBACi3vu788P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0
LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxk
LzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVz
Ij4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMy
RDc1MkEyRkZ9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y2M7
Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXg8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0
ZXI+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJIZWFkZXIgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlk
ZW50aWZpZXI+ezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn08L1VuaXF1ZUlk
ZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5oO2hwcDtoeHg7aG07aW5sO2luYzt4c2Q8L0V4
dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJSZXNvdXJjZSBG
aWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57NjdEQTZBQjYtRjgwMC00YzA4LThCN0Et
ODNCQjEyMUFBRDAxfTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICAgIDxFeHRlbnNpb25zPnJjO2lj
bztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZTtyZXN4O3RpZmY7
dGlmO3BuZzt3YXY8L0V4dGVuc2lvbnM+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9InNtYWxsLmljbyI+Ci0gICAgICA8Rmls
dGVyPlJlc291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9Ob25lPgotICAgIDxOb25lIEluY2x1
ZGU9IldpbkxhdW5jaGVyLmljbyI+Ci0gICAgICA8RmlsdGVyPlJlc291cmNlIEZpbGVzPC9GaWx0
ZXI+Ci0gICAgPC9Ob25lPgotICAgIDxOb25lIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliUG9zdEJ1
aWxkLmNtZCIgLz4KLSAgICA8Tm9uZSBJbmNsdWRlPSJXaW5MYXVuY2hlckxpYlByZUJ1aWxkLmNt
ZCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxQcmludFdlYlVJRGVsZWdhdGUuY3BwIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZp
bGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxzdGRhZnguY3BwIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlci5jcHAi
PgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jcHAiPgot
ICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyV2ViSG9zdC5jcHAiPgotICAgICAg
PEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXERPTURlZmF1bHRJbXBsLmNwcCI+Ci0gICAgICA8RmlsdGVyPlNv
dXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cV2luTWFpbi5jcHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRl
cj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXENvbW1vbi5j
cHAiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFJlc291cmNlTG9hZERlbGVnYXRlLmNwcCI+
Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUGFnZUxvYWRUZXN0Q2xpZW50LmNwcCI+Ci0gICAg
ICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cV2ViRG93bmxvYWREZWxlZ2F0ZS5jcHAiPgotICAgICAgPEZp
bHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtR3Jv
dXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxET01EZWZhdWx0
SW1wbC5oIj4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxQcmludFdlYlVJRGVsZWdhdGUuaCI+
Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cc3RkYWZ4LmgiPgotICAgICAgPEZpbHRlcj5IZWFk
ZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXFdpbkxhdW5jaGVyLmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRl
cj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IldpbkxhdW5jaGVy
TGliUmVzb3VyY2UuaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cQWNjZXNzaWJpbGl0eURl
bGVnYXRlLmgiPgotICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0Ns
SW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFdpbkxhdW5jaGVyUmVwbGFjZS5o
Ij4KLSAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxXaW5MYXVuY2hlcldlYkhvc3QuaCI+Ci0gICAg
ICA8RmlsdGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cUmVzb3VyY2VMb2FkRGVsZWdhdGUuaCI+Ci0gICAgICA8Rmls
dGVyPkhlYWRlciBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cUGFnZUxvYWRUZXN0Q2xpZW50LmgiPgotICAgICAgPEZpbHRlcj5IZWFk
ZXIgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXFdlYkRvd25sb2FkRGVsZWdhdGUuaCI+Ci0gICAgICA8RmlsdGVyPkhlYWRlciBGaWxl
czwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91
cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9IldpbkxhdW5jaGVyTGliLnJjIj4KLSAg
ICAgIDxGaWx0ZXI+UmVzb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L1Jlc291cmNlQ29tcGls
ZT4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYkNvbW1vbi5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzCShyZXZpc2lvbiAxODg5NzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGli
Q29tbW9uLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAgQEAKLe+7vzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0i
QnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFRh
cmdldE5hbWU+V2luTGF1bmNoZXI8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPiQoUHJvamVjdERpcik7JChQcm9qZWN0RGlyKVwuLjskKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxXZWJLaXQ7JChDb25maWd1cmF0aW9uQnVpbGREaXIp
XEluY2x1ZGVccHJpdmF0ZTskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZTskKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxXZWJDb3JlOyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnM7JChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXEluY2x1ZGVcSmF2YVNjcmlwdENvcmU7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxX
ZWJLaXRcRGVyaXZlZFNvdXJjZXM7JChXZWJLaXRfTGlicmFyaWVzKVxJbmNsdWRlOyQoV2ViS2l0
X0xpYnJhcmllcylcSW5jbHVkZVxwcml2YXRlOyQoV2ViS2l0X0xpYnJhcmllcylcSW5jbHVkZVxX
ZWJDb3JlOyQoV2ViS2l0X0xpYnJhcmllcylcSW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFk
ZXJzOyQoV2ViS2l0X0xpYnJhcmllcylcSW5jbHVkZVxKYXZhU2NyaXB0Q29yZTskKEludERpcilJ
bmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+VXNlPC9QcmVjb21waWxlZEhl
YWRlcj4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGU+U3RkQWZ4Lmg8L1ByZWNvbXBpbGVk
SGVhZGVyRmlsZT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPldpbmluZXQubGliO0RiZ0hlbHAubGliO2NvbWRsZzMyLmxpYjtjb21z
dXBwdy5saWI7Z2RpMzIubGliO2NvbWN0bDMyLmxpYjtzaGx3YXBpLmxpYjt1c2VyMzIubGliO29s
ZTMyLmxpYjtvbGVhdXQzMi5saWI7V2ViS2l0R1VJRCQoRGVidWdTdWZmaXgpLmxpYjtXZWJLaXQk
KERlYnVnU3VmZml4KS5saWI7V1RGJChEZWJ1Z1N1ZmZpeCkubGliOyUoQWRkaXRpb25hbERlcGVu
ZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxp
YkRlYnVnLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LnZjeHByb2ovV2luTGF1bmNoZXJMaWJEZWJ1Zy5wcm9wcwkocmV2aXNpb24gMTg4OTcwKQorKysg
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkRlYnVn
LnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIg
VG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2Rl
dmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hl
ZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNw
cm9wc1xjb21tb24ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJy
YXJpZXMpXHRvb2xzXHZzcHJvcHNcZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSJXaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJv
amVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUG9zdEJ1aWxkLmNtZAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliUG9zdEJ1aWxkLmNtZAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlBvc3RCdWlsZC5jbWQJKHdvcmtpbmcg
Y29weSkKQEAgLTEgKzAsMCBAQAotaWYgZXhpc3QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1
aWxkZmFpbGVkIiBkZWwgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpJbmRl
eDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlBy
ZUJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJlQnVpbGQuY21kCShyZXZpc2lvbiAxODg5NzApCisrKyBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUHJlQnVp
bGQuY21kCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzAsMCBAQAotJVN5c3RlbURyaXZlJVxjeWd3
aW5cYmluXHdoaWNoLmV4ZSBwZXJsCi1pZiBlcnJvcmxldmVsIDEgc2V0IFBBVEg9JVN5c3RlbURy
aXZlJVxjeWd3aW5cYmluOyVQQVRIJQotY21kIC9jCi1pZiBleGlzdCAiJUNPTkZJR1VSQVRJT05C
VUlMRERJUiVcYnVpbGRmYWlsZWQiIHBlcmwgLXdubGUgImlmICgvWFglUFJPSkVDVE5BTUUlWFgv
KSB7IHByaW50IH0gZWxzZSB7IGV4aXQgMSB9IiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVp
bGRmYWlsZWQiCi1pZiBlcnJvcmxldmVsIDEgZXhpdCAxCi1lY2hvIFhYJVBST0pFQ1ROQU1FJVhY
ID4gIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpJbmRleDogVG9vbHMvV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJv
cHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlckxpYlByb2R1Y3Rpb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJQcm9kdWN0aW9u
LnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1s
bnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+
Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJv
amVjdD0iJChXZWJLaXRfTGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4K
LSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xw
cm9kdWN0aW9uLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJMaWJD
b21tb24ucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCAvPgotICA8SXRlbURlZmluaXRpb25H
cm91cCAvPgotICA8SXRlbUdyb3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5M
YXVuY2hlckxpYlJlbGVhc2UucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlbGVhc2UucHJvcHMJKHJldmlzaW9u
IDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1
bmNoZXJMaWJSZWxlYXNlLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAot77u/
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRU
YXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFi
ZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJh
cmllcylcdG9vbHNcdnNwcm9wc1xjb21tb24ucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0
PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xzXHZzcHJvcHNccmVsZWFzZS5wcm9wcyIgLz4KLSAg
ICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzIiAvPgotICA8L0lt
cG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNv
dXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHBy
b2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy9X
aW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMSwxMTkgKzAsMCBAQAotLy8ge3tOT19ERVBFTkRFTkNJRVN9fQot
Ly8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIGluY2x1ZGUgZmlsZS4KLS8vIFVzZWQg
YnkgV2luTGF1bmNoZXJMaWIucmMKLS8vCi0jZGVmaW5lIElEQ19NWUlDT04gICAgICAgICAgICAg
ICAgICAgICAgMgotI2RlZmluZSBJRERfV0lOTEFVTkNIRVJfRElBTE9HICAgICAgICAgIDEwMgot
I2RlZmluZSBJRFNfQVBQX1RJVExFICAgICAgICAgICAgICAgICAgIDEwMwotI2RlZmluZSBJRERf
QUJPVVRCT1ggICAgICAgICAgICAgICAgICAgIDEwMwotI2RlZmluZSBJRE1fQUJPVVQgICAgICAg
ICAgICAgICAgICAgICAgIDEwNAotI2RlZmluZSBJRE1fRVhJVCAgICAgICAgICAgICAgICAgICAg
ICAgIDEwNQotI2RlZmluZSBJRE1fUFJJTlQgICAgICAgICAgICAgICAgICAgICAgIDEwNgotI2Rl
ZmluZSBJRElfV0lOTEFVTkNIRVIgICAgICAgICAgICAgICAgIDEwNwotI2RlZmluZSBJRElfU01B
TEwgICAgICAgICAgICAgICAgICAgICAgIDEwOAotI2RlZmluZSBJRENfV0lOTEFVTkNIRVIgICAg
ICAgICAgICAgICAgIDEwOQotI2RlZmluZSBJRE1fQVZGT1VOREFUSU9OICAgICAgICAgICAgICAg
IDExMAotI2RlZmluZSBJRE1fQUNDX0NPTVBPU0lUSU5HICAgICAgICAgICAgIDExMQotI2RlZmlu
ZSBJRE1fV0tfRlVMTFNDUkVFTiAgICAgICAgICAgICAgIDExMgotI2RlZmluZSBJRE1fQ09NUE9T
SVRJTkdfQk9SREVSUyAgICAgICAgIDExMwotI2RlZmluZSBJRE1fQ0FDSEVTICAgICAgICAgICAg
ICAgICAgICAgIDExNAotI2RlZmluZSBJRE1fV0VCX0lOU1BFQ1RPUiAgICAgICAgICAgICAgIDEy
MAotI2RlZmluZSBJRE1fRElTQUJMRV9JTUFHRVMgICAgICAgICAgICAgIDEyMQotI2RlZmluZSBJ
RE1fRElTQUJMRV9TVFlMRVMgICAgICAgICAgICAgIDEyMgotI2RlZmluZSBJRE1fRElTQUJMRV9K
QVZBU0NSSVBUICAgICAgICAgIDEyMwotI2RlZmluZSBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JF
U1RSSUNUSU9OUyAxMjQKLSNkZWZpbmUgSURNX0lOVkVSVF9DT0xPUlMgICAgICAgICAgICAgICAx
MjUKLSNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKLSNkZWZpbmUg
SUREX0NBQ0hFUyAgICAgICAgICAgICAgICAgICAgICAxMjkKLSNkZWZpbmUgSURNX0hJU1RPUllf
QkFDS1dBUkQgICAgICAgICAgICAxMzAKLSNkZWZpbmUgSUREX1VTRVJfQUdFTlQgICAgICAgICAg
ICAgICAgICAxMzAKLSNkZWZpbmUgSURNX0hJU1RPUllfRk9SV0FSRCAgICAgICAgICAgICAxMzEK
LSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzAgICAgICAgICAgICAgICAxNTAKLSNkZWZpbmUgSURN
X0hJU1RPUllfTElOSzEgICAgICAgICAgICAgICAxNTEKLSNkZWZpbmUgSURNX0hJU1RPUllfTElO
SzIgICAgICAgICAgICAgICAxNTIKLSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzMgICAgICAgICAg
ICAgICAxNTMKLSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzQgICAgICAgICAgICAgICAxNTQKLSNk
ZWZpbmUgSURNX0hJU1RPUllfTElOSzUgICAgICAgICAgICAgICAxNTUKLSNkZWZpbmUgSURNX0hJ
U1RPUllfTElOSzYgICAgICAgICAgICAgICAxNTYKLSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzcg
ICAgICAgICAgICAgICAxNTcKLSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzggICAgICAgICAgICAg
ICAxNTgKLSNkZWZpbmUgSURNX0hJU1RPUllfTElOSzkgICAgICAgICAgICAgICAxNTkKLSNkZWZp
bmUgSURUX1VQREFURV9TVEFUUyAgICAgICAgICAgICAgICAxNjAKLSNkZWZpbmUgSURNX1VBX0RF
RkFVTFQgICAgICAgICAgICAgICAgICAxNjEKLSNkZWZpbmUgSURNX1VBX1NBRkFSSV84XzAgICAg
ICAgICAgICAgICAxNjIKLSNkZWZpbmUgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEhPTkUgICAgICAx
NjMKLSNkZWZpbmUgSURNX1VBX1NBRkFSSV9JT1NfOF9JUEFEICAgICAgICAxNjQKLSNkZWZpbmUg
SURNX1VBX0lFXzExICAgICAgICAgICAgICAgICAgICAxNjUKLSNkZWZpbmUgSURNX1VBX0NIUk9N
RV9NQUMgICAgICAgICAgICAgICAxNjYKLSNkZWZpbmUgSURNX1VBX0NIUk9NRV9XSU4gICAgICAg
ICAgICAgICAxNjcKLSNkZWZpbmUgSURNX1VBX0ZJUkVGT1hfTUFDICAgICAgICAgICAgICAxNjgK
LSNkZWZpbmUgSURNX1VBX0ZJUkVGT1hfV0lOICAgICAgICAgICAgICAxNjkKLSNkZWZpbmUgSURN
X1VBX09USEVSICAgICAgICAgICAgICAgICAgICAxNzAKLSNkZWZpbmUgSURNX0FDVFVBTF9TSVpF
ICAgICAgICAgICAgICAgICAxNzEKLSNkZWZpbmUgSURNX1pPT01fSU4gICAgICAgICAgICAgICAg
ICAgICAxNzIKLSNkZWZpbmUgSURNX1pPT01fT1VUICAgICAgICAgICAgICAgICAgICAxNzMKLSNk
ZWZpbmUgSURDX0VNUFRZX1VSTF9DQUNIRSAgICAgICAgICAgICAxMDAwCi0jZGVmaW5lIElEQ19S
RVRVUk5fRlJFRV9NRU1PUlkgICAgICAgICAgMTAwMQotI2RlZmluZSBJRENfRU1QVFlfV0VCQ09S
RV9DQUNIRSAgICAgICAgIDEwMDIKLSNkZWZpbmUgSURDX0NIRUNLMSAgICAgICAgICAgICAgICAg
ICAgICAxMDAzCi0jZGVmaW5lIElEQ19IRUFQX09CSkVDVFMgICAgICAgICAgICAgICAgMTAwNQot
I2RlZmluZSBJRENfR0NfSlNDICAgICAgICAgICAgICAgICAgICAgIDEwMDYKLSNkZWZpbmUgSURD
X1JFU0VSVkVEX1ZNICAgICAgICAgICAgICAgICAxMDA3Ci0jZGVmaW5lIElEQ19DT01NSVRURURf
Vk0gICAgICAgICAgICAgICAgMTAwOAotI2RlZmluZSBJRENfRlJFRV9MSVNUX0JZVEVTICAgICAg
ICAgICAgIDEwMDkKLSNkZWZpbmUgSURDX0lNQUdFU19PQkpFQ1RfQ09VTlQgICAgICAgICAxMDEx
Ci0jZGVmaW5lIElEQ19DU1NfT0JKRUNUX0NPVU5UICAgICAgICAgICAgMTAxMgotI2RlZmluZSBJ
RENfWFNMX09CSkVDVF9DT1VOVCAgICAgICAgICAgIDEwMTMKLSNkZWZpbmUgSURDX0pTQ19PQkpF
Q1RfQ09VTlQgICAgICAgICAgICAxMDE0Ci0jZGVmaW5lIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQg
ICAgICAgICAgMTAxNQotI2RlZmluZSBJRENfSU1BR0VTX0JZVEVTICAgICAgICAgICAgICAgIDEw
MTYKLSNkZWZpbmUgSURDX0NTU19CWVRFUyAgICAgICAgICAgICAgICAgICAxMDE3Ci0jZGVmaW5l
IElEQ19YU0xfQllURVMgICAgICAgICAgICAgICAgICAgMTAxOAotI2RlZmluZSBJRENfSlNDX0JZ
VEVTICAgICAgICAgICAgICAgICAgIDEwMTkKLSNkZWZpbmUgSURDX1RPVEFMX0JZVEVTICAgICAg
ICAgICAgICAgICAxMDIwCi0jZGVmaW5lIElEQ19JTUFHRVNfTElWRV9DT1VOVCAgICAgICAgICAg
MTAyMQotI2RlZmluZSBJRENfQ1NTX0xJVkVfQ09VTlQgICAgICAgICAgICAgIDEwMjIKLSNkZWZp
bmUgSURDX1hTTF9MSVZFX0NPVU5UICAgICAgICAgICAgICAxMDIzCi0jZGVmaW5lIElEQ19KU0Nf
TElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyNAotI2RlZmluZSBJRENfVE9UQUxfTElWRV9DT1VO
VCAgICAgICAgICAgIDEwMjUKLSNkZWZpbmUgSURDX0lNQUdFU19ERUNPREVEX0NPVU5UICAgICAg
ICAxMDI2Ci0jZGVmaW5lIElEQ19DU1NfREVDT0RFRF9DT1VOVCAgICAgICAgICAgMTAyNwotI2Rl
ZmluZSBJRENfWFNMX0RFQ09ERURfQ09VTlQgICAgICAgICAgIDEwMjgKLSNkZWZpbmUgSURDX0pT
Q19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI5Ci0jZGVmaW5lIElEQ19UT1RBTF9ERUNPREVE
ICAgICAgICAgICAgICAgMTAzMAotI2RlZmluZSBJRENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCAg
ICAgIDEwMzEKLSNkZWZpbmUgSURDX0NTU19QVVJHRUFCTEVfQ09VTlQgICAgICAgICAxMDMyCi0j
ZGVmaW5lIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5UICAgICAgICAgMTAzMwotI2RlZmluZSBJRENf
SlNDX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzQKLSNkZWZpbmUgSURDX1RPVEFMX1BVUkdF
QUJMRSAgICAgICAgICAgICAxMDM1Ci0jZGVmaW5lIElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RT
ICAgICAgMTAzNgotI2RlZmluZSBJRENfR0xPQkFMX0pTQ19IRUFQX09CSkVDVFMgICAgIDEwMzcK
LSNkZWZpbmUgSURDX1BST1RFQ1RFRF9KU0NfSEVBUF9PQkpFQ1RTICAxMDM4Ci0jZGVmaW5lIElE
Q19TVEFUSUM1NiAgICAgICAgICAgICAgICAgICAgMTAzOQotI2RlZmluZSBJRENfU1RBVElDNTcg
ICAgICAgICAgICAgICAgICAgIDEwNDAKLSNkZWZpbmUgSURDX0pTQ19IRUFQX1NJWkUgICAgICAg
ICAgICAgICAxMDQxCi0jZGVmaW5lIElEQ19KU0NfSEVBUF9GUkVFICAgICAgICAgICAgICAgMTA0
MgotI2RlZmluZSBJRENfQlVUVE9ONSAgICAgICAgICAgICAgICAgICAgIDEwNDMKLSNkZWZpbmUg
SURDX1RPVEFMX0ZPTlRfT0JKRUNUUyAgICAgICAgICAxMDQ0Ci0jZGVmaW5lIElEQ19NZXNzYWdl
ICAgICAgICAgICAgICAgICAgICAgMTA0NAotI2RlZmluZSBJRENfSU5BQ1RJVkVfRk9OVF9PQkpF
Q1RTICAgICAgIDEwNDUKLSNkZWZpbmUgSURDX0dMWVBIX1BBR0VTICAgICAgICAgICAgICAgICAx
MDQ2Ci0jZGVmaW5lIElEQ19QQUdFX1VSTF9NQVBQSU5HUyAgICAgICAgICAgMTA0NwotI2RlZmlu
ZSBJRENfUkVUQUlORURfUEFHRV9VUkxTICAgICAgICAgIDEwNDgKLSNkZWZpbmUgSURDX1NJVEVf
SUNPTl9SRUNPUkRTICAgICAgICAgICAxMDQ5Ci0jZGVmaW5lIElEQ19UT1RBTF9GT05UX09CSkVD
VFM1ICAgICAgICAgMTA1MAotI2RlZmluZSBJRENfU0lURV9JQ09OU19XSVRIX0RBVEEgICAgICAg
IDEwNTEKLSNkZWZpbmUgSURDX1VTRVJfQUdFTlRfSU5QVVQgICAgICAgICAgICAxMDUyCi0jZGVm
aW5lIElEQ19TVEFUSUMgICAgICAgICAgICAgICAgICAgICAgLTEKLQotLy8gTmV4dCBkZWZhdWx0
IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMKLS8vIAotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLSNp
Zm5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwotI2RlZmluZSBfQVBTX05PX01GQyAgICAg
ICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAg
ICAxNzQKLSNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICAzMjc3NgotI2Rl
ZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAgIDEwNTMKLSNkZWZpbmUgX0FQU19O
RVhUX1NZTUVEX1ZBTFVFICAgICAgICAgICAxMTAKLSNlbmRpZgotI2VuZGlmCkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUG9zdEJ1aWxkLmNt
ZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dp
bkxhdW5jaGVyUG9zdEJ1aWxkLmNtZAkocmV2aXNpb24gMTg4OTcwKQorKysgVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclBvc3RCdWlsZC5jbWQJKHdvcmtp
bmcgY29weSkKQEAgLTEgKzAsMCBAQAotaWYgZXhpc3QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIl
XGJ1aWxkZmFpbGVkIiBkZWwgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpJ
bmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclBy
ZUJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyUHJlQnVpbGQuY21kCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29s
cy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyUHJlQnVpbGQuY21k
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzAsMCBAQAotJVN5c3RlbURyaXZlJVxjeWd3aW5cYmlu
XHdoaWNoLmV4ZSBwZXJsCi1pZiBlcnJvcmxldmVsIDEgc2V0IFBBVEg9JVN5c3RlbURyaXZlJVxj
eWd3aW5cYmluOyVQQVRIJQotY21kIC9jCi1pZiBleGlzdCAiJUNPTkZJR1VSQVRJT05CVUlMRERJ
UiVcYnVpbGRmYWlsZWQiIHBlcmwgLXdubGUgImlmICgvWFglUFJPSkVDVE5BTUUlWFgvKSB7IHBy
aW50IH0gZWxzZSB7IGV4aXQgMSB9IiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWls
ZWQiCi1pZiBlcnJvcmxldmVsIDEgZXhpdCAxCi1lY2hvIFhYJVBST0pFQ1ROQU1FJVhYID4gIiVD
T05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpJbmRleDogVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclByb2R1Y3Rpb24ucHJvcHMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
clByb2R1Y3Rpb24ucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJQcm9kdWN0aW9uLnByb3BzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91
cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChXZWJLaXRf
TGlicmFyaWVzKVx0b29sc1x2c3Byb3BzXGNvbW1vbi5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFBy
b2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xwcm9kdWN0aW9uLnByb3Bz
IiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iV2luTGF1bmNoZXJDb21tb24ucHJvcHMiIC8+Ci0g
IDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgot
ICA8UHJvcGVydHlHcm91cCAvPgotICA8SXRlbURlZmluaXRpb25Hcm91cCAvPgotICA8SXRlbUdy
b3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlclJlbGVhc2UucHJv
cHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9X
aW5MYXVuY2hlclJlbGVhc2UucHJvcHMJKHJldmlzaW9uIDE4ODk3MCkKKysrIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJSZWxlYXNlLnByb3BzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9u
PSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1
aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8
SW1wb3J0IFByb2plY3Q9IiQoV2ViS2l0X0xpYnJhcmllcylcdG9vbHNcdnNwcm9wc1xjb21tb24u
cHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFdlYktpdF9MaWJyYXJpZXMpXHRvb2xz
XHZzcHJvcHNccmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9IldpbkxhdW5j
aGVyQ29tbW9uLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LnZjeHByb2ovV2luTGF1bmNoZXJSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJSZXNvdXJjZS5oCShyZXZpc2lv
biAxODg5NzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSwyMCArMCwwIEBACi0vL3t7Tk9f
REVQRU5ERU5DSUVTfX0NCi0vLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgaW5jbHVk
ZSBmaWxlLg0KLS8vIFVzZWQgYnkgV2luTGF1bmNoZXJMYXVuY2hlci5yYw0KLS8vDQotI2RlZmlu
ZSBJRERfV0lOTEFVTkNIRVJfRElBTE9HICAgICAgICAgIDEwMg0KLSNkZWZpbmUgSURJX1dJTkxB
VU5DSEVSICAgICAgICAgICAgICAgICAxMDcNCi0jZGVmaW5lIElEUl9NQUlORlJBTUUgICAgICAg
ICAgICAgICAgICAgMTI4DQotI2RlZmluZSBJRENfU1RBVElDICAgICAgICAgICAgICAgICAgICAg
IC0xDQotDQotLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMNCi0vLyANCi0j
aWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLSNpZm5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9M
Uw0KLSNkZWZpbmUgX0FQU19OT19NRkMgICAgICAgICAgICAgICAgICAgICAxDQotI2RlZmluZSBf
QVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEyOQ0KLSNkZWZpbmUgX0FQU19ORVhUX0NP
TU1BTkRfVkFMVUUgICAgICAgICAzMjc3MQ0KLSNkZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFM
VUUgICAgICAgICAxMDAwDQotI2RlZmluZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAg
IDExMA0KLSNlbmRpZg0KLSNlbmRpZg0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLnZjeHByb2ovc21hbGwuaWNvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KSW5kZXg6IFRvb2xzL3dpbi9Bc3NlbWJsZUJ1aWxkTG9ncy9Bc3NlbWJsZUxvZ3MuY21k
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL3dpbi9Bc3NlbWJsZUJ1aWxkTG9ncy9Bc3NlbWJsZUxvZ3Mu
Y21kCShyZXZpc2lvbiAxODg5NzApCisrKyBUb29scy93aW4vQXNzZW1ibGVCdWlsZExvZ3MvQXNz
ZW1ibGVMb2dzLmNtZAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDE0ICsxNTYsMTQgQEAgZWNobyBf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogdHlwZSAiJUNPTkZJR1VSQVRJT05C
VUlMRERJUiVcb2JqJVBsYXRmb3JtQXJjaGl0ZWN0dXJlJVxXZWJJbnNwZWN0b3JVSVxCdWlsZExv
Zy5odG0iID4+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxCdWlsZE91dHB1dC5odG0iCiAKIGVj
aG8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fID4+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxCdWlsZE91dHB1dC5odG0iCi1lY2hvIENP
TVBJTElORyBXaW5MYXVuY2hlckxpYi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+
PiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcQnVpbGRPdXRwdXQuaHRtIgorZWNobyBDT01QSUxJ
TkcgTWluaUJyb3dzZXJMaWIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPj4gIiVD
T05GSUdVUkFUSU9OQlVJTERESVIlXEJ1aWxkT3V0cHV0Lmh0bSIKIGVjaG8gX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fID4+ICIlQ09ORklH
VVJBVElPTkJVSUxERElSJVxCdWlsZE91dHB1dC5odG0iCi10eXBlICIlQ09ORklHVVJBVElPTkJV
SUxERElSJVxvYmolUGxhdGZvcm1BcmNoaXRlY3R1cmUlXFdpbkxhdW5jaGVyTGliXEJ1aWxkTG9n
Lmh0bSIgPj4gIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXEJ1aWxkT3V0cHV0Lmh0bSIKK3R5cGUg
IiVDT05GSUdVUkFUSU9OQlVJTERESVIlXG9iaiVQbGF0Zm9ybUFyY2hpdGVjdHVyZSVcTWluaUJy
b3dzZXJMaWJcQnVpbGRMb2cuaHRtIiA+PiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcQnVpbGRP
dXRwdXQuaHRtIgogCiBlY2hvIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXyA+PiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcQnVpbGRPdXRw
dXQuaHRtIgotZWNobyBDT01QSUxJTkcgV2luTGF1bmNoZXIuLi4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPj4gIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXEJ1aWxkT3V0cHV0Lmh0
bSIKK2VjaG8gQ09NUElMSU5HIE1pbmlCcm93c2VyLi4uICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID4+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxCdWlsZE91dHB1dC5odG0iCiBl
Y2hvIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXyA+PiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcQnVpbGRPdXRwdXQuaHRtIgotdHlwZSAi
JUNPTkZJR1VSQVRJT05CVUlMRERJUiVcb2JqJVBsYXRmb3JtQXJjaGl0ZWN0dXJlJVxXaW5MYXVu
Y2hlclxCdWlsZExvZy5odG0iID4+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxCdWlsZE91dHB1
dC5odG0iCit0eXBlICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxvYmolUGxhdGZvcm1BcmNoaXRl
Y3R1cmUlXE1pbmlCcm93c2VyXEJ1aWxkTG9nLmh0bSIgPj4gIiVDT05GSUdVUkFUSU9OQlVJTERE
SVIlXEJ1aWxkT3V0cHV0Lmh0bSIKIAogZWNobyBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18gPj4gIiVDT05GSUdVUkFUSU9OQlVJTERESVIl
XEJ1aWxkT3V0cHV0Lmh0bSIKIGVjaG8gQ09NUElMSU5HIFRlc3ROZXRzY2FwZVBsdWdpbi4uLiAg
ICAgICAgICAgICAgICAgICAgICAgICAgID4+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxCdWls
ZE91dHB1dC5odG0iCkluZGV4OiBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlC
cm93c2VyLmljbwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBNaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9q
L01pbmlCcm93c2VyLmljbwkocmV2aXNpb24gMTg4OTcwKQkoZnJvbSBXaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyLmljbzoxODg5NzApCisrKyBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyLmljbwkod29ya2luZyBjb3B5KQoKQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSAK
CkFBQUJBQWdBSUNBUUFBQUFBQURvQWdBQWhnQUFBQkFRRUFBQUFBQUFLQUVBQUc0REFBQXdNQUFB
QVFBSUFLZ09BQUNXQkFBQUlDQUEKQUFFQUNBQ29DQUFBUGhNQUFCQVFBQUFCQUFnQWFBVUFBT1li
QUFBd01BQUFBUUFnQUtnbEFBQk9JUUFBSUNBQUFBRUFJQUNvRUFBQQo5a1lBQUJBUUFBQUJBQ0FB
YUFRQUFKNVhBQUFvQUFBQUlBQUFBRUFBQUFBQkFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBCkFBQUFBQUFBQUFBQWdBQUFnQUFBQUlDQUFJQUFBQUNBQUlBQWdJQUFBSUNBZ0FEQXdNQUFB
QUQvQUFEL0FBQUEvLzhBL3dBQUFQOEEKL3dELy93QUEvLy8vQUtxcXFxcXFxcXFxcXFxcXFxcXFx
cW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFkM2QzZDNkM2QzZDNkM2QzZDNkMwpjSGlJaUlpSWlJaUlp
SWlJaUlpSWlIQjRmLy8vLy8vLy8vLy8vLy8vLy9od2VILy8vLy8vLy8vLy8vLy8vLy80Y0hoLy8v
Ly8vLy8vCi8vLy8vLy8vK0hCNGYvLy8vLy8vLy8vLy8vLy8vL2h3ZUgvLy8vLy8vLy8vLy8vLy8v
LzRjSGgvLy8vLy8vLy8vLy8vLy8vLytIQjQKZi8vLy8vLy8vLy8vLy8vLy8vaHdlSC8vLy8vLy8v
Ly8vLy8vLy8vNGNIaC8vLy8vLy8vLy8vLy8vLy8vK0hCNGYvLy8vLy8vLy8vLwovLy8vLy9od2VI
Ly8vLy8vLy8vLy8vLy8vLy80Y0hoLy8vLy8vLy8vLy8vLy8vLy8rSEI0Zi8vLy8vLy8vLy8vLy8v
Ly8vaHdlSC8vCi8vLy8vLy8vLy8vLy8vLzRjSGgvLy8vLy8vLy8vLy8vLy8vLytIQjRmLy8vLy8v
Ly8vLy8vLy8vLy9od2VILy8vLy8vLy8vLy8vLy8KLy8vNGNIaC8vLy8vLy8vLy8vLy8vLy8vK0hC
NGQzZDNkM2QzZDNkM2QzZDNkM2h3ZUlpSWlJaUlpSWlJaUlpSWlJaUljSGhFUkVSRQpSRVJFUkVS
QUFBQUFBSEI0UkVSRVJFUkVSRVJFU0lDSUNJQndlRVJFUkVSRVJFUkVSRWlBaUFpQWNIaEVSRVJF
UkVSRVJFUkVSRVJFClJIQjRpSWlJaUlpSWlJaUlpSWlJaUlod2QzZDNkM2QzZDNkM2QzZDNkM2Qz
Y0txcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXEKcXFxcXFxcXFxcXFxQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFvQUFBQUVBQUFB
Q0FBQUFBQkFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQWdBQUFn
QUFBQUlDQUFJQUFBQUNBQUlBQWdJQUFBSUNBZ0FEQXdNQUFBQUQvQUFEL0FBQUEvLzhBL3dBQQpB
UDhBL3dELy93QUEvLy8vQUtxcXFxcXFxcXFxQUFBQUFBQUFBQUIzZDNkM2QzZDNjSGovLy8vLy8v
OXdlUC8vLy8vLy8zQjQvLy8vCi8vLy9jSGovLy8vLy8vOXdlUC8vLy8vLy8zQjQvLy8vLy8vL2NI
ai8vLy8vLy85d2VIZDNkM2QzZDNCNFJFUkU4UER3Y0hoRVJFUkUKUkVSd2VJaUlpSWlJaUhCM2Qz
ZDNkM2QzZDZxcXFxcXFxcXFxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUF3QUFB
QVlBQUFBQUVBQ0FBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCeGFvc0FlM0tUQUFB
QUFBQ2xVaWNBbzFFbkFLSlFKd0NTU0NNQXAxTWtBS2RUSlFDbFVpWUEKcFZNbUFLUlNKZ0NrVWlj
QXJtaERBS3hYSVFDclZpSUFxbFlpQUtoVkl3Q29WU1FBa21sUUFMRmFIUUN4V2g0QXJsa2ZBSzlZ
SUFDdApXQ0FBdUY0WkFMVmRHZ0MxWFJzQXMxc2NBTE5jSFFDOFlSWUF1bUFZQUxsZ0dBQzRYeGtB
eEdjUUFNUm5FUURBWkJRQXZtTVZBTTFzCkNnRExhdzBBeUdrTkFNbHBEZ0RHYUE4QXhta1BBS1Js
S1FES2pGQUF1V0lBQUxsaUFRQzRZZ0VBMlhRQ0FOaHpBZ0N5WHdJQXExc0MKQUtwYkFnQzVZd01B
MW5JRkFObDJCZ0RVY0FZQXRXSUZBTk54QndEU2J3Z0EwWEFJQU5wNENnRFBiZ2tBdkdnSkFOWjNE
Z0RDYnhNQQp4blFZQU1oNUlnRExmU2NBMzRzc0FNaUNNd0RxbTBVQTFvNUFBTzJrVlFENHZId0Er
YjZCQU5aekFBRFNjUUFBdldZQUFMbGpBQUM0CllnQUF1R01BQU5sMEFRRFpkUUVBMW5RQkFOUnlB
UURDYWdFQXZHVUJBTGxqQVFDNFl3RUFyVjBCQUtwYkFRQ3FYQUVBMlhVQ0FObDIKQWdEWWRBSUEy
SFVDQU5aMEFnQzhaUUlBclYwQ0FLdGNBZ0RaZGdNQTJIVURBTmgyQXdEV2RRTUEwSEVEQU1wdUF3
REtid01BcWx3QwpBTmwyQkFEWmR3UUEySFVFQU5oMkJBRFhkUVFBMlhjRkFOZDJCUURZZHdZQTJY
Y0hBTlYyQndEWGR3Z0ExM2dKQU5sNENnRGFlUXNBCjJub0xBTmw2REFEWWVnd0EybnNPQU5GNUV3
RE1keFlBM1lJYUFNUjBHUURDZEJzQTY1QW5BT3FRS0FEcmtpd0E2NU1zQU95VExRRHIKa3kwQTY1
TXVBTzJWTUFEc2xEQUE3SlV3QU95V01BRHNsakVBN0pjekFOdU1NUURzbHpZQTdaZzNBTzJhT0FE
c21EZ0E3Sms0QU8yYQpPZ0R0bkQwQTdadytBT3ljUFFEdW5VQUE3WjAvQU82ZVFnRHVuMFFBN1o5
RkFPK2lTUUR1b1VrQTdxSkpBT09nVXdEcXFWNEEzdHpICkFQNzg1d0R0Ly84QThQLy9BUFQvL3dE
NC8vOEErZi8vQVByLy93RDcvLzhBL1AvL0FQMy8vd0QrLy84QVJuRGpBR054dFFELy8vOEEKYzNO
ekFIQndjQUJwYVdrQVlXRmhBR0JnWUFCZlgxOEFYVjFkQUZ0Yld3QlpXVmtBV0ZoWUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEK
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFB
QUFBdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3
Ky8KdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3
Ky92NysvdjcrL3Y3Ky92NysvdjcrLwp2NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3
Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvCnY3Ky92NysvdjcrL3Y3
Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Vyt2cjYrdnI2K3ZyNit2cjYrdnI2
K3ZyNisKdnI2K3ZyNit2cjYrdnI2K3ZyNit2cjYrdnI2K3ZyNit2cmEvQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRQpCQVFFQkFRRUJBUUVCQVlGQkFRRUJMNi9EUXNMQXdz
TEN3c0xCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFCkJBUUVCQVFFREw2
L0NhZXJxNnVzcTZ1cnE2aXBxYXlzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lz
cXF1bkNyNi8KQ0t1cnE2eXNyS3lzcTZ1c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lz
ckt5c3JLeXNyS3lzQjc2L0VxeXNyS3lzckt5cwpyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lz
ckt5c3JLeXNyS3lzckt5c3JLeXNFYjYvRUsyc3JLMnNyYXlzckt5c3JLeXNyS3lzCnJLeXNyS3lz
ckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5ckQ3Ni9EcTJ0cmF5c3JLeXNyS3lzckt5c3JLeXNy
S3lzckt5c3JLeXMKckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzR0w2L0ZxNnRyYXl0cmE2dXJhMnNy
S3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5cwpyS3lzckt5c3JLeXRGNzYvRmE2dXJxeXVy
cTZzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3l0CkZMNi9I
YTZ1cnF5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JL
eXVITDYvR3ErdXI2eXMKckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JL
eXNyS3lzckt5dUc3Ni9HYkN2c0t5c3JLeXNyS3lzckt5cwpyS3lzckt5c3JLeXNyS3lzckt5c3JL
eXNyS3lzckt5c3JLeXNyS3l1SWI2L0lMQ3dzS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzCnJL
eXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXdINzYvSHJDd3NheXNyS3lzckt5c3JLeXNyS3lzckt5
c3JLeXNyS3lzckt5c3JLeXMKckt5c3JLeXNyS3lzckt5d0hyNi9IckN3c2F5c3JLeXNyS3lzckt5
c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5cwpyS3l3SHI2L0hyQ3dzYXlzckt5
c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5d0hyNi9IckN3
CnNheXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3l3
SHI2L0hyQ3dzYXlzckt5c3JLeXMKckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lz
ckt5c3JLeXdIcjYvSHJDd3NheXNyS3lzckt5c3JLeXNyS3lzckt5cwpyS3lzckt5c3JLeXNyS3lz
ckt5c3JLeXNyS3lzckt5d0hyNi9IckN3c2F5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNy
S3lzCnJLeXNyS3lzckt5c3JLeXNyS3l3SHI2L0piR3dzS3lzckt5c3JLeXNyS3lzckt5c3JLeXNy
S3lzckt5c3JLeXNyS3lzckt5c3JLeXMKckt5c3JMQ3hKYjYvSkxTMHNheXNyS3lzckt5c3JLeXNy
S3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyTEd4Skw2LwpJclMwdEt5c3RLeXNy
S3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3RMUzBJNzYvSXJTMHRL
eXN0S3lzCnJLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzdExTMEk3
Ni9JclMwdEt5c3RLeXNyS3lzckt5c3JLeXMKckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JL
eXN0TFMwSTc2L0tyUzByS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5cwpyS3lzckt5c3JL
eXNyS3lzckt5c3RMUzBLNzYvS0xTMHRLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5
c3JLeXNyS3lzCnJLeXNyS3lzdExTMEtieS9KN1MwdEt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5
c3JLeXNyS3lzckt5c3JLeXN0S3lzdEt5c3RMUzAKSjdxL0pyUzB0S3kwdExTc3JLeXNyS3lzckt5
c3JLeXNyS3lzckt5c3RMU3NyS3lzckt5c3JLeXNyS3lzckxTMEpyaS9QN1MwdEt5cwpyS3lzckt5
c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyTFMwUDdpL1BMUzB0S3lz
ckt5c3JLeXNyS3lzCnJLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5MHRMUzBQYmkv
T2JTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzAKdExTMHRMUzB0TFMwdExTMHRMUzB0TFMw
dExTME83aS9ONmFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbQpwcWFt
cHFhbXBxYW1wcWFtUWJtL05qTmJORjAxYlcxZE5WeGRiVjF0YlRWY2JXMDFOVFUxTlRVMVhGeGNO
VnhjWERWdFhEVTFYRncxClpXUTZnN3UvWTA5WVdTOVFMbG93TGpBdVVWSXdNQzlhVUZBd01EQXdN
REF3THpCUVVGcFNMa0pKUUM5RVJUQXNBQk9FUTcyL1YydFcKTWpGVVUyRjJYamg3ZjN4L2ZUNXhi
MjluWjJkbloyZG5NV0JmWm1oemJraExnbnRLVEhBQnNyTkhnYmUvYklDa3BhQ2ZvcU9mbUo2aApr
NUdXblp5Ym1wcVptWm1abVptWmw0aVBqSXFMaG9XSGpvbU5rSlNWTFVhU2FyKy92MDUzZm5sMFRV
MU5UVTFOVldKaWNuSnljbko0CmVIaDRlSGg0ZUhKeWFWVk5UVTFOVFUxTlRVMVZkWHAwdjcrL3Y3
Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky8KdjcrL3Y3Ky92NysvdjcrL3Y3
Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92Nysvdjcr
Lwp2NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92Nysvdjcr
L3Y3Ky92NysvdjcrL3Y3Ky92NysvCnY3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92Nysvdjcr
L3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky8KdjcrL3Y3Ky92Nysvdjcr
L3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrL3Y3Ky92NysvdjcrLy8vLy8vLy8vQUFELy8vLy8vLzhB
QVAvLwovLy8vL3dBQS8vLy8vLy8vQUFDQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFBQUFBQUJBQUFB
QUFBQUFBRUFBQUFBQUFBQUFRQUFBQUFBCkFBQUJBQUFBQUFBQUFBRUFBQUFBQUFBQUFRQUFBQUFB
QUFBQkFBQUFBQUFBQUFFQUFBQUFBQUFBQVFBQUFBQUFBQUFCQUFBQUFBQUEKQUFFQUFBQUFBQUFB
QVFBQUFBQUFBQUFCQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFBQUFBQUJBQUFBQUFBQUFBRUFB
QUFBQUFBQQpBUUFBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUFBQUFBQUFRQUFBQUFBQUFBQkFBQUFB
QUFBQUFFQUFBQUFBQUFBQVFBQUFBQUFBQUFCCkFBQUFBQUFBQUFFQUFBQUFBQUFBQVFBQUFBQUFB
QUFCQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFBQUFBQUJBQUFBQUFBQUFBRUEKQUFBQUFBQUFB
UUFBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFnQUFBQUFBSEFBRC8vLy8vLy84QUFQ
Ly8vLy8vL3dBQQovLy8vLy8vL0FBRC8vLy8vLy84QUFQLy8vLy8vL3dBQUtBQUFBQ0FBQUFCQUFB
QUFBUUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUg1eWh3QUFBQUFBV1ZKUEFL
Sk5JZ0NoVFNJQW9FMGlBS1JQSkFDbVV5Z0FwRk1wQUhoSU1BQitURE1BZDBjd0FIZEkKTUFCeVJT
NEFlRWt4QUlsWlFnQmNWRkFBV0ZKUEFLRkxIUUNpVGlFQXBFOGlBS0pPSWdDaFRpSUFvVThrQUho
Sk1BQndSUzRBV2xOUApBTE5vT2dDMGJFRUFzbXBBQU1pVWN3REhsM29Bb0VJQUFKMUFBQUMxYVRj
QXpKWnhBTXFWY2dCWlUwOEFZbDlkQUtKR0FBQ2dSUUFBCm4wTUFBSjlFQUFDZlJRQUFua01BQUx0
dU5RQzNiRFlBbkdZK0FNNlhiZ0RKbDNNQVcxUlBBS2xNQUFDbVNRQUFwa29BQUtSSkFBREcKY3kw
QXczSXVBTUZ3TUFDK2J6RUExNXhxQU1DTFh3RFZtMnNBMHBwc0FOQ1piUUJhVkU4QXVsa0FBS0JM
QUFDSlNRNEF5M2NxQU1sMgpMQURibm1nQTJaMXBBTTlwQUFDeldRQUFxbE1BQU5KN0pBRFFlaVlB
elhnbkFOK2laUURkb1dZQTBtMEFBTkZyQUFEUmJBQUEwVzBBCkFORnVBQURSYndBQTBHNEFBTTlx
QUFEUGJRQUF5MnNBQU5GeEJRRFVmUndBMTM4a0FONkdLZ0RkaVNvQTZKVTNBUENkUHdEMm9rUUEK
MVlzN0FPV1hRQURzb1ZFQThLdGlBT2VwWXdEaW8ySUE0S05pQU05dkFBQytaZ0FBMG5FQ0FOSnlB
d0RaZUFVQTVYOEdBT2lEQ3dEagpnZzBBMm5zTkFObDZEUURaZXcwQTFYb09BTkIxRFFEYmdCTUEz
SUFVQU55QUZnRGNnUllBM0lFWEFOeUNGd0RjZ3hnQTNJSVpBTjJECkdnRGRoQm9BM0lRYUFOMkVH
d0RkaFJ3QTdZNGhBTjJHSHdEdGtDUUEzWVloQU8rU0pnRHRrU2NBOEpRcUFQQ1VLd0R2bFMwQTI0
a3EKQU82V0x3RHVseThBOHBrekFQQ1lNd0QxbmpVQThKbzJBTzZhTlFEeG16Y0E4SnMzQVBDYk9B
RHduRHNBOEowOUFQR2ZQd0RValRjQQo3YWRXQU9LdWNBQ29wSjRBWGwxYkFPUFNxZ0RkMGJRQTJN
KzJBTmpQdEFEWXo3VUExczJ6QU5uUnR3RGEwcmtBMnRPNUFOblN1UURaCjA3Z0EyZE81QU5yVnZR
RGUzTU1BM04vT0FQZi8vd0Q1Ly84QSt2Ly9BUHYvL3dEOC8vOEEvZi8vQVA3Ly93QXVhdjBBLy8v
L0FJQ0EKZ0FCMGRIUUFZR0JnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUM2
dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1
cnE2dXJxNnVycTYKdXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1
cnE2dXJxNnVycTZ1cnE2dXJxM3Q3ZTN0N2UzdDdlMwp0N2UzdDdlM3Q3ZTN0N2UzdDdlM3Q3ZTN0
N3E2RHc0TEN3c0xEQXdNREF3TURBd01EQXdNREF3TURCZ05HUWtKQ2lhM3VoSUhCaE1UCkV4TVdC
UVFEQXdNREF3TURBd01EQXdNREZRVUZGd2dVRUxlNkhMYTJ0cmEydHJDdXNiYTJ0cmEydHJhMnRy
YTJ0cmEydHJhenRqRVIKdDdvZHRyYTB0TFMwdHJhMnRMUzB0TFMwdExTMHRMUzB0TFMwdExhMkh4
RzN1aHUyc3JLeHNMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDdwpzTEN3c3JZZUFyZTZJcmF6c0sreHNi
Q3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3h0aVFDdDdvdXRyU3hzckt4c0xDd3NMQ3dzTEN3CnNM
Q3dzTEN3c0xDd3NMRzJJeVczdWkyMnRLK3ZyN0N3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c2JZ
d0piZTZPcmEycjdDd3NMQ3cKc0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN4dGo4bHQ3bzV0cmF2c0xD
d3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMRzJQaVczdWppMgp0cSt3c0xDd3NMQ3dzTEN3c0xD
d3NMQ3dzTEN3c0xDd3NiWTlKYmU2TjdhMnI3Q3dyNit3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3
CnRqc2F0N3BGdHJhd3I3R3lzckd3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEsyUjBDM3VrUzJ0cSt5
c3JHeHNMQ3dzTEN3c0xDd3NMQ3cKc0xDd3NMQ3Z0clpHUUxlNlRiYTByNit2c0xDd3NMQ3dzTEN3
c0xDd3NMQ3dzTEN3cjYrMnRrOUF0N3BNdHJhdnI2K3dzTEN3c0xDdwpzTEN2cjdDd3NMQ3hzN0cw
cjdhMlRqSzN1a3UydHJDMnRxK3dzTEN3c0xDd3I3YXlyN0N3c0xDeHI3R3ZzYlpvTXJlNlhMYTJz
TEN3CnNMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMTzJ0bWN5dDdwZHRyYTJ0cmEydHJhMnRyYTJ0
cmEydHJhMnRyYTJ0cmEydHJhMlpqSzMKdWx1dHE2aW9wNmVtcDZlbnA2aXFxS2FtcHFpcG9hU2xv
NktnbjZ5YW5yZTZTVE1uS1NzcUt5a3BLU29wS1NncEtpc3JLeXcyU2lFMQpOQ0JEUWtHNXQ3cHFX
VkJSVkZaVVUydHNiRnBVVkZoU1ZGVnBTR05sVjJSaEw3VUFhYmkzdW5XTW01aVhZSlNRbVk2Tmxw
V1Rrb3VICmlZaURpcENGajVGZlBHSnRuYnE2dW5SZWhvQjllbmw4ZVhoK2Y0R0VnbnQ4ZVhaeWNu
ZHpjWEJ2YnB5NnVycTZ1cnE2dXJxNnVycTYKdXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVy
cTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNgp1cnE2dXJxNnVy
cTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJxNnVycTZ1cnE2dXJx
NnVycTZ1cnE2CnVycTYvLy8vLy8vLy8vLy8vLy8vNEFBQUFNQUFBQUNBQUFBQWdBQUFBSUFBQUFD
QUFBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUFJQUEKQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FB
QUFJQUFBQUNBQUFBQWdBQUFBSUFBQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFCd0FBQQpBLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vOG9BQUFBRUFBQUFDQUFBQUFCQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBCkFBQUFBSHhYVWdENjlmTUFqbEV6QUlsUE1RQzZnR0lBYzFBL0FJeFJNZ0NM
VVRJQWxGazVBSVZlUndEWHNwc0FpR0JGQU51NW93Q04KWTBVQWltSkZBTjI1bndENTlmSUFzMjgz
QUpWbVFBQ1NaMFFBajJWRUFPTzhuQURndTUwQTdjT2NBT1crbWdDOFlnc0F2R01MQUx4agpEQUM5
WkEwQXZHTU5BTDFrRGdDOVpCQUF5bk1nQU1oNEtBRE9oejRBbTNwYUFPZS9tQUQ0OWZJQXZHY09B
T0MwaEFDdWxIZ0E1SXdrCkFPYVBKZ0Rwa0NvQTU0OHJBT2FSS3dEbWp5d0E1NUF0QU9hUUxRRG1r
aThBNTVJd0FPT1JOQURsbERZQTRKcEpBT1hjMEFEbjI4a0EKNU56UUFQZjE4Z0RzMnIwQTQ5ck1B
T1hkMEFEazNNOEE0OXJMQU9YZzF3RGszZEFBL3YvOUFQMy8vZ0Q4Ly80QSt2Ly9BUHYvL3dEOAov
LzhBL2YvL0FQNy8vd0QvLy84QWxKU1VBSVNFaEFCL2YzOEFmbjUrQUgxOWZRQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkJRClVGQlFVRkJRVUZCUVVGQlFVRkJRUzAxT1Rr
NU9UazVPVGs1T1QweFBCUWtIQndnSEJ3Y0hCd2NIQkFNR1R3c0NFU1k2RVJFUkVSRVIKRVFJUkNr
OE5Ta2hJUjBkSFIwZEhSMGRJU1FwUEVFcEZSVVZGUlVWRlJVVkZSa01NVHhkS1JVVkZSVVZGUlVW
RlJVWkREMDhXU2tWRgpSVVZGUlVWRlJVVkdSQTVQR1VwRlJrVkZSVVZGUlVWRlJVSVZUeVZLUlVW
RlJVVkZSVVZGUmtaQ0ZFOFlTa3BKU1VsSlNrbEpTVWxLClNoTlBLRUErUFRjM1FUYzNPVDg4T0Rz
a1R5Y2dIaDBkSHg0YUd4d2lJUklCS1U4Mk5UTXdMaTh5TVNzcUxTdzBJelJRVUZCUVVGQlEKVUZC
UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkQvLzdheWdBQ3dzQUFBc0xBQUFMQ3dBQUN3
c0FBQXNMQUFBTEN5QUFBQwp0d0FBdHJNQUFMR3hBQUN3c0FBQXNMQUFBTEN3QUFHd3NQLy9zTEgv
L3dLM0tBQUFBREFBQUFCZ0FBQUFBUUFnQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEK
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWUFBQUFHQUFB
QUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZQUFBQQpHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZ
QUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZCkFBQUFHQUFB
QUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlB
QUFBR0FBQUFCZ0EKQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZQUFBQUdBQUFB
QmdBQUFBWUFBQUFBQUFBQUJnQUFBQ01BQUFBcHdBQQpBS2NBQUFDbkFBQUFwd0FBQUtjQUFBQ25B
QUFBcHdBQUFLY0FBQUNuQUFBQXB3QUFBS2NBQUFDbkFBQUFwd0FBQUtjQUFBQ25BQUFBCnB3QUFB
S2NBQUFDbkFBQUFwd0FBQUtjQUFBQ25BQUFBcHdBQUFLY0FBQUNuQUFBQXB3QUFBS2NBQUFDbkFB
QUFwd0FBQUtjQUFBQ24KQUFBQXB3QUFBS2NBQUFDbkFBQUFwd0FBQUtjQUFBQ25BQUFBcHdBQUFL
Y0FBQUNuQUFBQXB3QUFBS2NBQUFDbkFBQUFwd0FBQUtjQQpBQUNQQUFBQUdLTlJKLytqVVNmL28x
RW4vNk5SSi8ralVTZi9vMUVuLzZOUkovK2pVU2YvbzFFbi82TlJKLytqVVNmL28xRW4vNk5SCkov
K2pVU2YvbzFFbi82TlJKLytqVVNmL28xRW4vNk5SSi8ralVTZi9vMUVuLzZOUkovK2pVU2YvbzFF
bi82TlJKLytqVVNmL28xRW4KLzZOUkovK2pVU2YvbzFFbi82TlJKLytqVVNmL28xRW4vNk5SSi8r
alVTZi9vMUVuLzZOUkovK2pVU2YvbzFFbi82TlJKLytTU0NQLwpvbEFuLzZOUkovK2pVU2YvbzFF
bi82TlJKLzhBQUFDbkFBQUFHS0pSSnQya1VpYi9wRkltLzZWU0ovK2tVaWIvcEZJbS82UlNKditr
ClVpYi9wRkltLzZOUkovK2pVU2YvbzFFbi82TlJKLytqVVNmL28xRW4vNk5SSi8ralVTZi9vMUVu
LzZOUkovK2pVU2YvbzFFbi82TlIKSi8ralVTZi9vMUVuLzZOUkovK2pVU2YvbzFFbi82TlJKLytq
VVNmL28xRW4vNk5SSi8ralVTZi9vMUVuLzZOUkovK2pVU2YvbzFFbgovNk5SSi8ralVTZi9vMUVu
LzZOUkovK2pVU2YvbzFFbi82TlJKLytqVVNmL28xRW4vNlJTSi84QUFBQ25BQUFBR0tWU0p2Lysv
T2YvCitQLy8vL2ovLy8vNC8vLy8rZi8vLy9qLy8vLzQvLy8vK1AvLy8vai8vLy90Ly8vLzhQLy8v
L0QvLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLwovLy81Ly8vLytmLy8v
L24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL1QvLy8vNC8v
Ly8vdnpuCi82VlRKdjhBQUFDbkFBQUFHS2RUSmYvNC8vLy8rUC8vLy9qLy8vLzUvLy8vK2YvLy8v
bi8vLy81Ly8vLytmLy8vL2ovLy8vNC8vLy8KK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNQovLy8vK2YvLy8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vCi8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vNmRUSlA4QUFBQ25BQUFBR0to
VkpQLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8KLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLworZi8vLy9u
Ly8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ci8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24v
Ly8vNS8vLy8rZi8vLzZoVkkvOEFBQUNuQUFBQUdLcFcKSXYvNi8vLy8rZi8vLy9uLy8vLzYvLy8v
K2YvLy8vci8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLwovL24v
Ly8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vCitmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8v
Ly81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytQLy8vNnRXSXY4QUFBQ25B
QUFBR0t4WElmLzYvLy8vK3YvLy8vci8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLwov
Ly81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vCi8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8v
LzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8KK2YvLy8vbi8vLy81Ly8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vLzYxWUlQOEFBQUNuQUFBQUdLNVpILy83Ly8vLyt2Ly8vL3IvLy8v
NQovLy8vK3YvLy8vci8vLy83Ly8vLysvLy8vL3IvLy8vNi8vLy8rZi8vLy9uLy8vLzUvLy8vK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vCi8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8KLy9uLy8vLzUvLy8vK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK3YvLy82OVlJUDhB
QUFDbgpBQUFBR0xGYUh2LzcvLy8vKy8vLy8vdi8vLy81Ly8vLysvLy8vL3YvLy8vNy8vLy8rZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ci8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8KLy8vNS8vLy8rZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLwovL24vLy8vNS8vLy8rdi8vLzdGYUhmOEFBQUNuQUFBQUdMTmNIZi83Ly8vLysvLy8v
L3YvLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vCitmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytmLy8v
L24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLwovLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vKy8vLy83
TmJIUDhBQUFDbkFBQUFHTFZkR3YvOC8vLy8rLy8vCi8vei8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8KK2YvLy8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNQovLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9u
Ly8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLysvLy8vN1ZkCkcvOEFBQUNuQUFBQUdMaGVHZi85Ly8v
Ly9QLy8vLzMvLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8KLy9u
Ly8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ly8vLworZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24v
Ly8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ci8vLy8rZi8vLy9uLy8vLzUvLy8v
Ky8vLy83aGZHZjhBQUFDbkFBQUFHTGxnR1AvOS8vLy8vZi8vLy8zLy8vLzUvLy8vK2YvLy8vbi8K
Ly8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vK2YvLwovL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8v
Ly81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vCitmLy8vL24vLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLy9mLy8vN3BnR1A4QUFBQ25BQUFBR0x4aEZ2
LzkKLy8vLy9mLy8vLzcvLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vLy9uLwovLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8v
LzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vCi8vbi8vLy81Ly8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8KL2YvLy83eGhGdjhBQUFDbkFBQUFHTHhoRnYvOS8vLy8vZi8vLy83Ly8vLzUvLy8vK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vLy8vNQovLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vCi8vLzUvLy8vK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8KLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLy9mLy8vN3hoRnY4QUFBQ25BQUFB
R0x4aEZ2LzkvLy8vL2YvLy8vNy8vLy81Ly8vLworZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ci8vLy8rZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8KLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8v
L24vLy8vNS8vLy8vZi8vLzd4aEZ2OEFBQUNuQUFBQQpHTHhoRnYvOS8vLy8vZi8vLy83Ly8vLzUv
Ly8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vCitmLy8v
L24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUKLy8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLwovLy81Ly8vLy9mLy8vN3hoRnY4QUFB
Q25BQUFBR0x4aEZ2LzkvLy8vL2YvLy8vNy8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vCi8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNS8vLy8KK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9u
Ly8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNQovLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNS8vLy8vZi8vLzd4aEZ2OEFBQUNuQUFBQUdMeGhGdi85Ly8vLy9mLy8vLzcv
Ci8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ly8vLytmLy8KLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24v
Ly8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLworZi8vLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vL2YvLy83eGhG
djhBCkFBQ25BQUFBR0x4aEZ2LzkvLy8vL2YvLy8vNy8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8KLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8v
Ly81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLwovL24vLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8v
LzUvLy8vCitmLy8vL24vLy8vNS8vLy8vZi8vLzd4aEZ2OEFBQUNuQUFBQUdMNWpGZi8rLy8vLy9m
Ly8vLzMvLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8v
LzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLwovLy81Ly8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8rZi8vCi8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzkvLy8vL3Yv
Ly83NWpGZjhBQUFDbkFBQUFHTUJrRlAvLy8vLy8KLy8vLy8vNy8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNQovLy8vK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8vL24vCi8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy8rLy8vLy92Ly8KLzhCa0ZQOEFBQUNuQUFBQUdNUm5FUC8v
Ly8vLy8vLy8vLy8vLy8vNS8vLy8rZi8vLy8vLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLworZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8vLy81Ci8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8v
L24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8KLy8vNS8vLy8rZi8vLy8vLy8vLy8v
Ly8vLy8vLy84Um5FZjhBQUFDbkFBQUFHTVJuRVAvLy8vLy8vLy8vLy8vLy8vLzUvLy8vK2YvLwov
Ly8vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vCitmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vLy8vLy8vLy8vLy8vLy8vOFJuRWY4QUFBQ25BQUFBR01S
bgpFUC8vLy8vLy8vLy8vLy8vLy8vNS8vLy8rZi8vLy8vLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNS8vLy8rZi8vCi8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9u
Ly8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8KK2YvLy8vbi8vLy81Ly8v
LytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vLy8v
Ly8vLwovLy8vLy8vLy84Um5FZjhBQUFDbkFBQUFHY1pvRC8vLy8vLy8vLy8vLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ly8vLytmLy8vL24vCi8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24v
Ly8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8KLy9uLy8vLzUvLy8v
K2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8v
Ly81Ly8vLworZi8vLy9uLy8vLzUvLy8vK2YvLy8vLy8vLy8vLy8vLy8vLy8vOFpwRC84REF3T3BB
QUFBSGNocERmLy8vLy8vLy8vLy8vLy8vLy81Ci8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8v
Ly81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8KLy8vNS8vLy8r
Zi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8v
LzUvLy8vK2YvLwovL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytm
Ly8vLy8vLy8vLy8vLy8vLy8vLzhscER2OE1EQXlzCkFBQUFJY3RyRGYvLy8vLy8vLy8vLy8vLy8v
LzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUKLy8vLytm
Ly8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8v
NS8vLy8rZi8vLy9uLwovLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2Yv
Ly8vLy8vLy81Ly8vLytmLy8vLy8vLy8vNS8vLy8rZi8vCi8vLy8vLy8vLy8vLy8vLy8vOHRyRGY4
VkZSV3VBQUFBSXMxc0N2Ly8vLy8vLy8vLy8vLy8vLy81Ly8vLy8vLy8vLy8vLy8vLy8vLy8KK2Yv
Ly8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8vL24vLy8vNQovLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vLy8vLy8vLy8vLy8rZi8v
Ly9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vCi8vLzUvLy8vK2YvLy8vbi8vLy81
Ly8vLytmLy8vL24vLy8vLy8vLy8vLy8vLzgxc0N2OFhGeGV1QUFBQUlzOXVDZi8vLy8vLy8vLy8K
Ly8vLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8vLy81Ly8vLworZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8v
L24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ci8vLy8rZi8vLy9uLy8vLzUv
Ly8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLy8vLy8vLy8vLy84
OXUKQ2Y4WEZ4ZXVBQUFBSXRKdkNQLy8vLy8vLy8vLy8vLy8vLy81Ly8vLytmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vK2YvLwovL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vK2YvLy8v
bi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9uLy8vLzUvLy8vCitmLy8vL24vLy8vNS8v
Ly8rZi8vLy9uLy8vLzUvLy8vK2YvLy8vbi8vLy81Ly8vLytmLy8vL24vLy8vNS8vLy8rZi8vLy9u
Ly8vLzUKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzlGd0NQOFhGeGV1QUFBQUl0UndCdi8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy85TnhCLzhYRnhldUFBQUFJZFp5QmYvZQozTWYvM3R6SC85N2N4Ly9lM01mLzN0ekgvOTdj
eC8vZTNNZi8zdHpILzk3Y3gvL2UzTWYvM3R6SC85N2N4Ly9lM01mLzN0ekgvOTdjCngvL2UzTWYv
M3R6SC85N2N4Ly9lM01mLzN0ekgvOTdjeC8vZTNNZi8zdHpILzk3Y3gvL2UzTWYvM3R6SC85N2N4
Ly9lM01mLzN0ekgKLzk3Y3gvL2UzTWYvM3R6SC85N2N4Ly9lM01mLzN0ekgvOTdjeC8vZTNNZi8z
dHpILzk3Y3gvL2UzTWYvM3R6SC85N2N4Ly9lM01mLwozdHpILzlaM0R2OFZGUld0QUFBQUhibGpB
Lyt5WHdML3JWMEIvNnRiQXYrcVhBSC9xbHNDLzZwY0F2K3FYQUwvcWx3Qi82cGJBditxCld3SC9x
bHdCLzZwY0F2K3FYQUgvcWx3Qy82cGNBditxV3dML3Fsc0IvNnBjQXYrcVhBTC9xbHNDLzZwYkF2
K3FXd0wvcWxzQy82cGIKQXYrcVd3TC9xbHNDLzZwYkFmK3FXd0gvcWxzQi82cGJBditxV3dIL3Fs
c0IvNnBiQWYrcVd3TC9xbHdDLzZwYkFmK3FXd0wvcWxzQwovNnBiQWYrcVd3SC9xbHNDLzZ0Y0F2
K3RYUUwvdFdJRi84UjBHZjhNREF5cUFBQUFHYnhsQXYrOVpnRC92R1VCLzdsakFmKzVZZ0gvCnVX
TUEvN2xpQVArNFl3SC91R0lCLzdsaUFQKzRZZ0gvdVdJQS83aGlBUCs0WXdEL3VHSUIvN2hpQWYr
NVlnSC91R01CLzdsakFQKzUKWXdEL3VHSUIvN2hpQWYrNFlnSC91R0lCLzdoaUFmKzRZZ0gvdUdJ
Qi83bGlBZis0WWdIL3VXTUEvN2xqQVArNFl3SC91R01BLzdsaQpBUC9DYnhQLzFvNUEvN3hvQ2Yr
NVlnSC95SGtpLzh0OUovKzRZZ0gvcEdVcC8zRnFpLytTYVZEL3duUWIvOFowR1A4REF3T29BQUFB
CkdNSnFBZi9LYmdQLzFISUIvOWh6QXYvWmRBTC8yWFVCLzlsMEFmL1lkUUwvMlhjSC85bDFBdi9a
ZGdiLzJua0wvOXA3RHYvYWVndi8KMm5zTy85bDZEUC9hZUFyLzJIWUUvOWwzQlAvWmR3VC8ySFVE
LzloMUEvL1lkUVAvMkhVRC85aDFBLy9ZZFFQLzJIVUQvOWwwQXYvWQpkQUwvMlhZQy85bDJBLy9Z
ZGdQLzJYY0YvOWwyQlAvcW0wWC8rTHg4LzkyQ0d2L2FlUXYvN2FSVi8vbStnZi9ZZFFUL2UzS1Qv
MFp3CjQvOWpjYlgveUlJei84eDNGdjhBQUFDV0FBQUFHTXB2QS8vUmVSUC80NkJULytxcFh2L3Ru
MFgvN3A5RS8rNmhTZi91b2tuLzdwOUUKLysyYU92L3Vua0wvNzZKSi8reVhOdi9zbHpQLzdKZzQv
KzJkUC8vdW5VRC83Snc5LysyY1B2L3RuRDcvN1p3OS8rMmNQZi90bkQzLwo3Wnc5LysyY1BmL3Ru
RDMvN1p3OS8reVpPUC9ya3l6LzdKWXcvKzJWTVAvcmt5My82NU11LytxUUtQL3JrQ2YvNjVJcy8r
eVZNUC9zCmt5My83SlF3Lyt5V01mL3RtRGYvN1pvNC84cU1VUC9maXl6LzI0d3gvOUJ4QS84QUFB
QktBQUFBQjkxM0FESFNjUUQvMVhZSC85aDYKRFAvWGVBbi8xM1lGLzlaekFQL1djd0QvMW5NQS85
WnpBUC9XY3dELzFuTUEvOVowQWYvV2RBTC8xblFDLzlkMUJQL1hkUVQvMTNVRQovOWQxQlAvWGRR
VC8xM2NJLzlkM0NQL1hkd2ovMTNjSS85ZDNDUC9YZHdqLzEzY0kvOWQzQ1AvWGRRVC8xM1VFLzla
MUEvL1dkQUgvCjFuTUEvOVp6QVAvV2N3RC8xbk1BLzlaekFQL1djd0QvMW5NQS85WnpBUC9XY3dE
LzFuUUIvOWgzQnYvWmVBci8xM1lGLzdKZ0FGY0EKQUFBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vCi8vLy8vd0FBLy8vLy8vLy9BQUQvLy8vLy8vOEFB
SUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBCi8vLy8vLy8vQUFELy8vLy8vLzhBQVAv
Ly8vLy8vd0FBLy8vLy8vLy9BQUQvLy8vLy8vOEFBQ2dBQUFBZ0FBQUFRQUFBQUFFQUlBQUEKQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEK
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBMEFBQUFUQUFBQUV3QUFB
Qk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFB
QUEKRXdBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFC
Z0FBQUFZQUFBQUdBQUFBQmdBQUFBWQpBQUFBRGdBQUFBRUFBQUFOQUFBQVhnQUFBSU1BQUFDSkFB
QUFpQUFBQUlnQUFBQ0lBQUFBaUFBQUFJZ0FBQUNJQUFBQWlBQUFBSWdBCkFBQ0lBQUFBaUFBQUFJ
Z0FBQUNOQUFBQW9nQUFBS2NBQUFDbkFBQUFwd0FBQUtjQUFBQ25BQUFBcHdBQUFLY0FBQUNuQUFB
QXB3QUEKQUtjQUFBQ25BQUFBcHdBQUFKMEFBQUJwQUFBQUZwVkhJSlNKUGhucWhUb1c4SU01RlBD
RE9CVHdnemdVOElNNEZQQ0RPUlR3Z3pvVQo4SU02RlBDRE9oVHdnem9VOElNNkZQQ0RPaFR3Z3pv
VThJTTZGUENET2hUeGd6b1U4WU02RlBHRE9oVHhnem9VOFlNNkZQR0RPaFR4Cmd6b1U4WU02RlBH
RE9oVHhnem9VOFlNNkZQR0RPaFR4YVRJVzVRa0VBcU1BQUFBc29Vc2QvNlpUS1Ara1R5VC9vazRo
LzZKT0lmK2kKVGlIL29rNGgvNkZPSXYrZ1RTTC9vVTBpLzZKTkl2K2lUU0wvb2swaS82Sk5Jditp
VFNML29rMGkvNkpOSXYraVRTTC9vazBpLzZKTgpJditpVFNML29rMGkvNkpOSXYraVRTTC9vazRp
LzZCTkl2K2dUU0wvb1U4ay82UlRLZitrVHlML0hRNEd0Z0FBQURHMGJFSC8vLy8vCi8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8rdi8vLy9mLy8vLzcvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy85Ly8vLy8vLy8vOG1YYy84agpEd1czQUFBQUxiSnFRUC8vLy8vLy8vLy8v
LzcvLy8vKy8vLy8vdi8vLy83Ly8vLy8vLy8vLy8vLy8vLy8vLy8rLy8vLy92Ly8vLzcvCi8vLysv
Ly8vL3YvLy8vNy8vLy8rLy8vLy92Ly8vLzcvLy8vKy8vLy8vdi8vLy83Ly8vLysvLy8vL3YvLy8v
Ny8vLy8rLy8vLy92Ly8KLy8vLy8vLy8vLy8veDVkNi94c0tBYlFBQUFBcnMyZzYvLy8vLy8vOC8v
Ly8vUC8vLy92Ly8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLwordi8vLy9yLy8vLzYvLy8vK3YvLy8v
ci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ci8v
Ly8rdi8vLy9yLy8vLzYvLy8vL1AvLy8vLy8vLy9JbEhQL0dRa0F0QUFBQUN1MWFUZi8vLy8vLy8z
Ly8vLzYvLy8vK2YvLy8vdi8KLy8vNy8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8v
Lyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLwovL3IvLy8vNi8vLy8rdi8vLy9y
Ly8vLzYvLy8vK3YvLy8vci8vLy83Ly8vLy8vLy8vOHFWY3Y4YUNnQzBBQUFBSzdkc052Ly8vLy8v
Ci92Ly8vL3YvLy8vOC8vLy8vUC8vLy92Ly8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3Iv
Ly8vNi8vLy8rdi8vLy9yLy8vLzYKLy8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8v
K3YvLy8vci8vLy82Ly8vLyt2Ly8vL3YvLy8vLy8vLy96Slp4L3hzSwpBTFFBQUFBcnUyNDEvLy8v
Ly8vKy8vLy8rZi8vLy9uLy8vLzUvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8r
di8vCi8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8v
Ly82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8KKy8vLy8vLy8vLy9PbDI3L0d3b0F0QUFBQUN1K2J6SC8v
Ly8vLy8vLy8vLzUvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNgovLy8vK3YvLy8vci8v
Ly82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2
Ly8vL3IvCi8vLzYvLy8vK3YvLy8vci8vLy83Ly8vLy8vLy8vOUNaYmY4YkN3QzBBQUFBSzhGd01Q
Ly8vLy8vLy8vLy8vbi8vLy82Ly8vLyt2Ly8KLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2
Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLwordi8vLy9yLy8v
LzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3YvLy8vLy8vLy8wcHBzL3h3TEFMUUFBQUFxdzNJ
dS8vLy8vLy8vCi8vLy8rZi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8v
Ni8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8KLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3Yv
Ly8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rLy8vLy8vLy8vL1ZtMnYvSEF3QQpzd0FBQUNQ
RGNpNy8vLy8vLy8vLy8vLzUvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8v
Ly9yLy8vLzYvLy8vCit2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82
Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzcKLy8vLy8vLy8vOVdiYS84UEJnQ3VBQUFB
SXNaekxmLy8vLy8vLy8vLy8vbi8vLy82Ly8vLyt2Ly8vL24vLy8vNS8vLy8rdi8vLy9yLwovLy82
Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8v
L3IvLy8vNi8vLy8rdi8vCi8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vLy8vLy8xNXhxL3hBR0FLNEFB
QUFpeVhZcy8vLy8vLy8vLy8vLyt2Ly8vL24vLy8vNy8vLy8KL1AvLy8vei8vLy83Ly8vLyt2Ly8v
L3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNgov
Ly8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8vUC8vLy8vLy8vL1puV24vRUFjQXJn
QUFBQ0xMZHlyLy8vLy8vLy8vCi8vLzUvLy8vL1AvLy8vei8vLy83Ly8vLysvLy8vL3IvLy8vNi8v
Ly8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8KLy9yLy8vLzYvLy8vK3YvLy8v
ci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9uLy8vLy8vLy8vLy8vLy85dWVhUDhRQndD
dQpBQUFBSXMxNEovLy8vLy8vL3YvLy8vbi8vLy81Ly8vLytmLy8vL3IvLy8vNi8vLy8rdi8vLy9y
Ly8vLzYvLy8vK3YvLy8vci8vLy82Ci8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8v
Lyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzUvLy8vK2YvLy8vLy8KLy8vLy8vLy8zYUZtL3hB
SEFLNEFBQUFpMEhvbS8vLy8vLy8vLy8vLytmLy8vL24vLy8vNS8vLy8rdi8vLy9yLy8vLzYvLy8v
K3YvLwovL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vbi8vLy81Ly8vLyt2Ly8vL3Iv
Ly8vNi8vLy8rdi8vLy92Ly8vLzkvLy8vCisvLy8vLzcvLy8vNS8vLy8vLy8vLy8vLy8vL2ZvbVgv
RVFjQXJnQUFBQ0xTZXlULy8vLy8vLy8vLy8vNi8vLy8vLy8vLy8vLy8vLzUKLy8vLyt2Ly8vL3Iv
Ly8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vbi8vLy81Ly8vLy8vLy8vL3ovLy8vNS8vLy8r
di8vLy9yLwovLy82Ly8vLyt2Ly8vL3YvLy8vNS8vLy8rLy8vLy9uLy8vLzcvLy8vLy8vLy8rQ2pZ
djhSQndDdUFBQUFJdGQvSlAvLy8vLy8vLy8vCi8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8r
di8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8KK3YvLy8vci8v
Ly82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vL2YvLy8vLy8vLy8vLy8vLzRx
TmkveEVIQUs0QQpBQUFpM29ZcS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8vLy8v
L25xV1AvRVFjQXJnQUFBQ0xVZlJ6LzNOL08vOXJWdmYvWjBybi8yZEs1LzlyVHVmL2EwN24vMnRL
NS85clR1Zi9hMDduLwoydE81LzlyVHVmL1owcm4vMmRPNS85blN1Zi9aMHJuLzJ0SzUvOXJTdWYv
YTBybi8yZEs1LzluVHVQL1l6N2IvMXMyei85blJ0Ly9ZCno3WC8yTSswLzkzUnRQL2owcXIvM3R6
RC85U05OLzhXRkJLdUFBQUFJck5aQVArcFRBRC9va1lBLzU5REFQK2ZSUUQvbjBRQS81OUYKQVAr
ZlF3RC9uME1BLzU5REFQK2ZSQUQvbjBNQS81OURBUCtnUlFEL24wTUEvNTlEQVArZlJBRC9uMFVB
LzU5RkFQK2ZSUUQvbmtNQQovNlJKQVArcVV3RC9uVUFBLzZaS0FQK21TUUQvb0VJQS80bEpEditn
U3dEL3Vsa0EveFlXRnE0QUFBQWt2bVlBLzh0ckFQL1NiUUQvCjBXc0EvOUZ1QVAvUWJnRC8wVzRB
LzlGdEFQL1NjUUwvMG5JRC85SnlBLy9SY1FYLzBXNEEvOUZ1QVAvUGJRRC96MjBBLzlGc0FQL1IK
YmdELzBXOEEvODl2QVAvUGFRRC81WmRBLy9Dcll2L1BhZ0QvN0tGUi8vYWlSUCtjWmo3L0xtcjkv
MzV5aC8vUGJ3RC9IeDhmcFFBQQpBQi9OYmdEeTI0a3EvKzJuVnYvd25UMy84Snc3Ly9DZFAvL3ht
emYvOEpnei8vR2ZQLy91bHkvLzdwWXYvL0NiT1Avd216Zi83cG8xCi8vQ2FOdi93bWpiLzc1VXQv
KytTSnYvd2xDci83WkVuLysyT0lmL3dsQ3YvOEpnei8rMlFKUC95bVRQLzlaNDEvK2lWTi8vQWkx
Ly8KMVlzNy85bDRCZjhZRGdGb0FBQUFEZHAwQUdMVmVBdjkzSVFmLzl5QUZ2N2JmUTcrMjNzTi90
dDZDLzdiZWdyKzIzd00vdHQ2Q2Y3YgplUXIrM0h3Ty90eDlEdjdjZlEvKzNIOFQvdHQvRS9MYmZo
RHkybnNMOHRwOERQTGFlZ255MlhrRzh0ZHpBUExYY3dEeTJua0g4dGQwCkFQTFlkQUR5NFhzQTh1
ZDlBUFRrZkFINnpHMEFrQUFBQUEwQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vLy8vK0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCkFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFILy8vLy8vLy8vLy8vLy8vOG9BQUFBRUFBQUFDQUFBQUFCQUNBQUFB
QUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQVNBQUFBRVFBQUFC
RUFBQUFSQUFBQUVRQUFBQkVBQUFBUkFBQUFFUUFBQUJFQQpBQUFSQUFBQUVRQUFBQkVBQUFBU0FB
QUFDZ0FBQUJBQUFBQnJBQUFBZ0FBQUFJRUFBQUNCQUFBQWdRQUFBSUVBQUFDQkFBQUFnUUFBCkFJ
RUFBQUNCQUFBQWdRQUFBSUVBQUFDQ0FBQUFld0FBQUUrZlR5YTRpRVlqNVlORElleURReUhzZ2tN
aDdJTkRJZXlEUXlIc2cwTWgKN0lORElleURReUhzZzBNaDdJTkRJZXgvUVNEc2hrVWs3bElvRTg4
QUFBQncxckNaK3ZyMTgvLzU5ZkwvK1BYeS8vZjE4di81OWZMLworZlh5Ly9uMTh2LzU5ZkwvK2ZY
eS8vbjE4di81OWZMLyt2WHovL24xOHY5eVJTdmRBQUFBY05tMW52SC8vLy8vL2YvLy8vMy8vLy84
Ci8vLy8vUC8vLy96Ly8vLzgvLy8vL1AvLy8vei8vLy84Ly8vLy9QLy8vLzMvLy8vKy8vLy9jVVFw
MndBQUFIRGJ0Wm54Ly8vLy8vci8KLy8vNi8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82
Ly8vLyt2Ly8vL3IvLy8vNy8vLy8vZi8rLzNSR0o5c0FBQUJ3M3JlWAo4Zi8vLy8vNi8vLy8rdi8v
Ly9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rLy8vLy8zLy92OTNT
Q2ZiCkFBQUFjT0c0bHZILy8vLy8rdi8vLy9yLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8v
L3IvLy8vNi8vLy8rdi8vLy92Ly8vLzgKLy83L2Vra20yd0FBQUhEa3VwVHgvLy8vLy9yLy8vLzcv
Ly8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8vLy8rdi8vLy9yLwovLy82Ly8vLy92Lzkv
MzFNSmRzQUFBQnc1cnVTOGYvLy8vLzYvLy8vK3YvLy8vci8vLy82Ly8vLyt2Ly8vL3IvLy8vNi8v
Ly8rdi8vCi8vci8vLy83Ly8vLysvLy8vLzcvL2YrQVRpWGJBQUFBY096QWx2SC8vLy8vLy8vLy8v
Ny8vLy8rLy8vLy92Ly8vLzcvLy8vLy8vLy8KL3YvLy8vNy8vLy8rLy8vLy92Ly8vLy8vLy8vLy8v
Ly9nMDBoMndBQUFIRGVzSDN4NWVEWC8rVGN6Ly9sM2RELzVkelEvK1hjMFAvawozZEQvNWR6US8r
WGMwUC9rM05ELzQ5ckwvK1BhelAvbjI4bi83TnE5LzRwalB0b0FBQUJ3dW1NSCtMMWtFUCs4WXcz
L3ZXUU4vNzFrCkRmKzlaQTcvdkdNTi83eGlDLys4WXd2L3ZHTU0vOGg0S1AvS2N5RC9zMjgzLzN4
WFV2K2FlbGZOQUFBQVV0WjVEY0RramlyeDVZa2UKNitXSEcrdmtpQm5yNUlZYTYrU0pIZXZraHh2
cjVJVVU2K0tDRWV2bGhobnI1NGNZNitHSUpPekxmekh2djIwTGNBQUFBQWtBQUFBQQpBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQUFBQUFBQUlBQU92OEFBUC8v
QUFELy93QUEvLzhBQVAvL0FBRC8vd0FBLy84QUFQLy9BQUQvL3dBQS8vOEFBUC8vQUFELwovd0FB
Ly84QUFQLy8vLy8vLy8vLy8vOD0KCg==
</data>
<flag name="review"
          id="285173"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>