<?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>233782</bug_id>
          
          <creation_ts>2021-12-02 13:16:03 -0800</creation_ts>
          <short_desc>[libpas] Update to 96f9f4c28dc119695311c7c6bd81ed1f3f4e260c (allow more specialization of partial versus exclusive allocation)</short_desc>
          <delta_ts>2021-12-03 09:10:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>bmalloc</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1819848</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2021-12-02 13:16:03 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819854</commentid>
    <comment_count>1</comment_count>
      <attachid>445769</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2021-12-02 13:29:45 -0800</bug_when>
    <thetext>Created attachment 445769
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820011</commentid>
    <comment_count>2</comment_count>
      <attachid>445769</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-12-02 20:35:23 -0800</bug_when>
    <thetext>Comment on attachment 445769
the patch

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

r=me
Can you add new files to bmalloc/CMakeLists.txt too?

&gt; Source/bmalloc/ChangeLog:14
&gt; +        of the same megapages, so a megapage lookup could not tell you if you were explicit or shared.

explicit =&gt; exclusive?

&gt; Source/bmalloc/ChangeLog:17
&gt; +        explicit and shared, and spreads it across all page management logic. So:

Ditto.

&gt; Source/bmalloc/ChangeLog:20
&gt; +        -&gt; Page allocation knows the page&apos;s role, so it can use different megapages for explicit or shared. This
&gt; +           enables explicit and shared to have different deallocation fast paths.

Ditto.

&gt; Source/bmalloc/ChangeLog:22
&gt; +        -&gt; Page_kind is now different depending on whether the page is explicit or shared.

Ditto.

&gt; Source/bmalloc/libpas/src/libpas/pas_local_allocator.c:62
&gt; +        PAS_ASSERT(pas_is_aligned(allocator-&gt;object_size, pas_local_allocator_alignment(allocator)));

Should we move this to the subsequent `pas_segregated_size_directory_is_bitfit(directory)`&apos;s else branch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820157</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2021-12-03 09:04:27 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #2)
&gt; Comment on attachment 445769 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445769&amp;action=review
&gt; 
&gt; r=me
&gt; Can you add new files to bmalloc/CMakeLists.txt too?

Fixed!

&gt; 
&gt; &gt; Source/bmalloc/ChangeLog:14
&gt; &gt; +        of the same megapages, so a megapage lookup could not tell you if you were explicit or shared.
&gt; 
&gt; explicit =&gt; exclusive?

Fixed all these

&gt; 
&gt; &gt; Source/bmalloc/ChangeLog:17
&gt; &gt; +        explicit and shared, and spreads it across all page management logic. So:
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/bmalloc/ChangeLog:20
&gt; &gt; +        -&gt; Page allocation knows the page&apos;s role, so it can use different megapages for explicit or shared. This
&gt; &gt; +           enables explicit and shared to have different deallocation fast paths.
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/bmalloc/ChangeLog:22
&gt; &gt; +        -&gt; Page_kind is now different depending on whether the page is explicit or shared.
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/bmalloc/libpas/src/libpas/pas_local_allocator.c:62
&gt; &gt; +        PAS_ASSERT(pas_is_aligned(allocator-&gt;object_size, pas_local_allocator_alignment(allocator)));
&gt; 
&gt; Should we move this to the subsequent
&gt; `pas_segregated_size_directory_is_bitfit(directory)`&apos;s else branch?

I considered it, but this assertion is about alignment and object_size, which we just set right above the if+ASSERT.  So, the value of having it closer to where the logic is for setting object_size/alignment outweighs sharing the same if/else block, in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820159</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2021-12-03 09:09:25 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/286493/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820161</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-03 09:10:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/86020703&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445769</attachid>
            <date>2021-12-02 13:29:45 -0800</date>
            <delta_ts>2021-12-02 20:35:23 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>321572</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4NjQ0NikKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzNiBAQAorMjAyMS0xMi0wMiAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAgIFtsaWJwYXNdIFVwZGF0ZSB0byA5
NmY5ZjRjMjhkYzExOTY5NTMxMWM3YzZiZDgxZWQxZjNmNGUyNjBjIChhbGxvdyBtb3JlIHNwZWNp
YWxpemF0aW9uIG9mIHBhcnRpYWwgdmVyc3VzIGV4Y2x1c2l2ZSBhbGxvY2F0aW9uKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNzgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGlicGFzJ3MgbWFpbiBv
cHRpbWl6YXRpb24gZm9yIGxvdHMgb2YgaXNvaGVhcHMgaXMgcGFydGlhbCB2aWV3cyBvZiBzaGFy
ZWQgcGFnZXM6IGEgc2luZ2xlIHBhZ2UgbWF5IGdldAorICAgICAgICBjaG9wcGVkIHVwIHNvIHRo
YXQgZGlmZmVyZW50IGhlYXBzIGdldCBkaWZmZXJlbnQgcmFuZ2VzIG9mIHRoZSBwYWdlLiBUaGlz
IHdvcmtzIG91dCwgaW4gYSBub3QtdG9vLWdyb3NzCisgICAgICAgIHdheSwgYnkgcmV1c2luZyB0
aGUgc2VncmVnYXRlZCBoZWFwIHBhZ2UgbWFuYWdlbWVudCBsb2dpYy4KKworICAgICAgICBCdXQg
cHJldmlvdXNseSwgcGFnZXMgdXNlZCBleGNsdXNpdmVseSB2ZXJzdXMgcGFnZXMgdGhhdCB3ZXJl
IHNoYXJlZCBsb29rZWQgbGFyZ2VseSB0aGUgc2FtZTsgdGhlIG9ubHkKKyAgICAgICAgd2F5IHRv
IHRlbGwgdGhlbSBhcGFydCBpcyB0aGF0IHRoZXkgaGFkIGEgZGlmZmVyZW50IG93bmVyLiBOb3Rh
Ymx5LCB0aG9zZSBwYWdlcyB3b3VsZCBnZXQgYWxsb2NhdGVkIG91dAorICAgICAgICBvZiB0aGUg
c2FtZSBtZWdhcGFnZXMsIHNvIGEgbWVnYXBhZ2UgbG9va3VwIGNvdWxkIG5vdCB0ZWxsIHlvdSBp
ZiB5b3Ugd2VyZSBleHBsaWNpdCBvciBzaGFyZWQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW50
cm9kdWNlcyB0aGUgY29uY2VwdCBvZiBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUsIHdoaWNoIGlz
IHRoaXMgZGlzdGluY3Rpb24gYmV0d2VlbgorICAgICAgICBleHBsaWNpdCBhbmQgc2hhcmVkLCBh
bmQgc3ByZWFkcyBpdCBhY3Jvc3MgYWxsIHBhZ2UgbWFuYWdlbWVudCBsb2dpYy4gU286CisKKyAg
ICAgICAgLT4gUGFnZSBhbGxvY2F0aW9uIGtub3dzIHRoZSBwYWdlJ3Mgcm9sZSwgc28gaXQgY2Fu
IHVzZSBkaWZmZXJlbnQgbWVnYXBhZ2VzIGZvciBleHBsaWNpdCBvciBzaGFyZWQuIFRoaXMKKyAg
ICAgICAgICAgZW5hYmxlcyBleHBsaWNpdCBhbmQgc2hhcmVkIHRvIGhhdmUgZGlmZmVyZW50IGRl
YWxsb2NhdGlvbiBmYXN0IHBhdGhzLgorCisgICAgICAgIC0+IFBhZ2Vfa2luZCBpcyBub3cgZGlm
ZmVyZW50IGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBwYWdlIGlzIGV4cGxpY2l0IG9yIHNoYXJl
ZC4KKworICAgICAgICAtPiBNYW55IG9mIHRoZSBlbnRyeXBvaW50cyBpbnRvIHNlZ3JlZ2F0ZWRf
cGFnZSB0aGF0IGFyZSByZXF1aXJlZCB0byBrbm93IHBhZ2VfY29uZmlnIGFyZSBub3cgYWxzbwor
ICAgICAgICAgICByZXF1aXJlZCB0byBrbm93IHBhZ2Vfcm9sZS4gVGhpcyBtYWtlcyBzZW5zZSwg
YmVjYXVzZSB0aGUgY29tYmluYXRpb24gb2YgbWVnYXBhZ2VzIGFuZCBwYWdlX2tpbmRzCisgICAg
ICAgICAgIGtub3dpbmcgYWJvdXQgcm9sZXMgbWVhbnMgdGhhdCBhbnlvbmUgd2hvIGVuZHMgdXAg
Y2FsbGluZyBzZWdyZWdhdGVkX3BhZ2UgQVBJIHdpbGwgbm93IHR5cGljYWxseQorICAgICAgICAg
ICBrbm93IHRoZSByb2xlLgorCisgICAgICAgIC0+IEl0J3Mgc3RpbGwgcG9zc2libGUgdG8gZHlu
YW1pY2FsbHkgZGVkdWNlIHRoZSByb2xlIHVzaW5nIHRoZSBwYWdlJ3Mgb3duZXIsIGJ1dCBoYXJk
bHkgYW55IGNvZGUgZG9lcworICAgICAgICAgICB0aGF0LgorCisgICAgICAgIFRoaXMgaXMgbGV2
ZXJhZ2VkIGluIHRoaXMgcGF0Y2ggdG8gaW50cm9kdWNlIHNvbWUgdGlueSBzcGFjZS1zYXZpbmcg
b3B0aW1pemF0aW9ucyB0byBpc29oZWFwczoKKworICAgICAgICAtPiBQYXJ0aWFsIGRlYWxsb2Nh
dGlvbiBubyBsb25nZXIgdXNlcyB0aGUgZGVhbGxvY2F0aW9uIGxvZy4KKworICAgICAgICAtPiBQ
YXJ0aWFsIGRlYWxsb2NhdGlvbiBubyBsb25nZXIgdXNlcyB0aGUgZW1wdHlfd29yZF9lbGlnaWJp
bGl0eV9vcHRpbWl6YXRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgYSBzdGVwcGluZyBz
dG9uZSBmb3IgaW50cm9kdWNpbmcgbW9yZSBkaWZmZXJlbnQga2luZHMgb2Ygcm9sZXMgaW4gdGhl
IGZ1dHVyZS4KKworICAgICAgICAqIGJtYWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBsaWJwYXMvbGlicGFzLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogbGlicGFzL3NyYy9saWJwYXMvYm1hbGxvY19oZWFwX2NvbmZpZy5oOgorICAgICAgICAq
IGxpYnBhcy9zcmMvbGlicGFzL2hvdGJpdF9oZWFwX2NvbmZpZy5oOgorICAgICAgICAqIGxpYnBh
cy9zcmMvbGlicGFzL2lzb19oZWFwX2NvbmZpZy5oOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGli
cGFzL2lzb190ZXN0X2hlYXBfY29uZmlnLmg6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMv
aml0X2hlYXBfY29uZmlnLmM6CisgICAgICAgIChqaXRfaGVhcF9jb25maWdfZHVtcF9zaGFyZWRf
cGFnZV9kaXJlY3RvcnlfYXJnKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9qaXRfaGVh
cF9jb25maWcuaDoKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9taW5hbGlnbjMyX2hlYXBf
Y29uZmlnLmg6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFnZXNpemU2NGtfaGVhcF9j
b25maWcuaDoKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfYmFzaWNfaGVhcF9wYWdl
X2NhY2hlcy5oOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfYWxsb2Nh
dG9yLmM6CisgICAgICAgIChwYXNfYml0Zml0X2FsbG9jYXRvcl9jb21taXRfdmlldyk6CisgICAg
ICAgIChwYXNfYml0Zml0X2FsbG9jYXRvcl9maW5pc2hfZmFpbGluZyk6CisgICAgICAgICogbGli
cGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9hbGxvY2F0b3IuaDoKKyAgICAgICAgKiBsaWJwYXMv
c3JjL2xpYnBhcy9wYXNfYml0Zml0X2FsbG9jYXRvcl9pbmxpbmVzLmg6CisgICAgICAgIChwYXNf
Yml0Zml0X2FsbG9jYXRvcl90cnlfYWxsb2NhdGUpOgorICAgICAgICAocGFzX2JpdGZpdF9hbGxv
Y2F0b3JfcmVzZXQpOiBEZWxldGVkLgorICAgICAgICAocGFzX2JpdGZpdF9hbGxvY2F0b3JfYXNz
ZXJ0X3Jlc2V0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0
Zml0X2hlYXAuYzoKKyAgICAgICAgKHBhc19iaXRmaXRfaGVhcF9jb25zdHJ1Y3RfYW5kX2luc2Vy
dF9zaXplX2NsYXNzKToKKyAgICAgICAgKHBhc19iaXRmaXRfaGVhcF9lbnN1cmVfc2l6ZV9jbGFz
cyk6IERlbGV0ZWQuCisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9oZWFw
Lmg6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmM6CisgICAg
ICAgIChwYXNfYml0Zml0X3BhZ2VfY29uc3RydWN0KToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xp
YnBhcy9wYXNfYml0Zml0X3BhZ2VfY29uZmlnLmg6CisgICAgICAgICogbGlicGFzL3NyYy9saWJw
YXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19pbmxpbmVzLmg6CisgICAgICAgICogbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmM6CisgICAgICAgIChwYXNfYml0
Zml0X3BhZ2VfY29uZmlnX2tpbmRfZ2V0X3N0cmluZyk6CisgICAgICAgICogbGlicGFzL3NyYy9s
aWJwYXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmg6CisgICAgICAgIChwYXNfYml0Zml0
X3BhZ2VfY29uZmlnX2tpbmRfZ2V0X3N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogbGlicGFz
L3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2lubGluZXMuaDoKKyAgICAgICAgKHBhc19iaXRm
aXRfcGFnZV9hbGxvY2F0ZSk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZp
dF9zaXplX2NsYXNzLmM6CisgICAgICAgIChwYXNfYml0Zml0X3NpemVfY2xhc3NfY3JlYXRlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3NpemVfY2xh
c3MuaDoKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfY3JlYXRlX2Jhc2ljX2hlYXBf
cGFnZV9jYWNoZXNfd2l0aF9yZXNlcnZlZF9tZW1vcnkuYzoKKyAgICAgICAgKHBhc19jcmVhdGVf
YmFzaWNfaGVhcF9wYWdlX2NhY2hlc193aXRoX3Jlc2VydmVkX21lbW9yeSk6CisgICAgICAgICog
bGlicGFzL3NyYy9saWJwYXMvcGFzX2RlYWxsb2NhdGUuYzoKKyAgICAgICAgKGRlYWxsb2NhdGVf
c2VncmVnYXRlZCk6CisgICAgICAgIChwYXNfdHJ5X2RlYWxsb2NhdGVfc2xvd19ub19jYWNoZSk6
CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2RlYWxsb2NhdGUuaDoKKyAgICAgICAg
KHBhc19kZWFsbG9jYXRlX2tub3duX3NlZ3JlZ2F0ZWQpOgorICAgICAgICAocGFzX3RyeV9kZWFs
bG9jYXRlX25vdF9zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZCk6CisgICAgICAgIChwYXNfdHJ5
X2RlYWxsb2NhdGVfaW1wbCk6CisgICAgICAgIChwYXNfZGVhbGxvY2F0ZV9rbm93bl9zZWdyZWdh
dGVkX2ltcGwpOiBEZWxldGVkLgorICAgICAgICAocGFzX3RyeV9kZWFsbG9jYXRlX25vdF9zbWFs
bCk6IERlbGV0ZWQuCisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2VudW1lcmF0ZV9z
ZWdyZWdhdGVkX2hlYXBzLmM6CisgICAgICAgIChwYXNfZW51bWVyYXRlX3NlZ3JlZ2F0ZWRfaGVh
cHMpOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19mYXN0X21lZ2FwYWdlX2tpbmQu
aDoKKyAgICAgICAgKHBhc19mYXN0X21lZ2FwYWdlX2tpbmRfZ2V0X3N0cmluZyk6CisgICAgICAg
ICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuYzoKKyAgICAgICAg
KHBhc19mYXN0X21lZ2FwYWdlX3RhYmxlX3NldF9ieV9pbmRleCk6CisgICAgICAgICogbGlicGFz
L3NyYy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuaDoKKyAgICAgICAgKHBhc19mYXN0
X21lZ2FwYWdlX3RhYmxlX2dldF9ieV9pbmRleCk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJw
YXMvcGFzX2dldF9hbGxvY2F0aW9uX3NpemUuaDoKKyAgICAgICAgKHBhc19nZXRfYWxsb2NhdGlv
bl9zaXplKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X2hlYXAuaDoKKyAg
ICAgICAgKHBhc19nZXRfaGVhcCk6CisgICAgICAgIChwYXNfZ2V0X2hlYXBfa25vd25fc2VncmVn
YXRlZCk6IERlbGV0ZWQuCisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2dldF9vYmpl
Y3Rfa2luZC5oOgorICAgICAgICAocGFzX2dldF9vYmplY3Rfa2luZCk6CisgICAgICAgICogbGli
cGFzL3NyYy9saWJwYXMvcGFzX2dldF9wYWdlX2Jhc2UuaDoKKyAgICAgICAgKHBhc19nZXRfcGFn
ZV9iYXNlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X3BhZ2VfYmFzZV9h
bmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oOiBBZGRlZC4KKyAgICAg
ICAgKHBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21l
Z2FwYWdlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfaGFzX29iamVjdC5oOgor
ICAgICAgICAocGFzX2hhc19vYmplY3QpOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bh
c19oZWFwX2NvbmZpZy5oOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2Nv
bmZpZ19pbmxpbmVzLmg6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfY29u
ZmlnX2tpbmQuYzoKKyAgICAgICAgKHBhc19oZWFwX2NvbmZpZ19raW5kX2dldF9zdHJpbmcpOgor
ICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ19raW5kLmg6CisgICAg
ICAgIChwYXNfaGVhcF9jb25maWdfa2luZF9nZXRfc3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuaDoKKyAgICAgICAgKiBs
aWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHNfaW5saW5lcy5oOgorICAgICAg
ICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19pbnRlcm5hbF9jb25maWcuaDoKKyAgICAgICAgKiBs
aWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9jYWxfYWxsb2NhdG9yLmM6CisgICAgICAgIChwYXNfbG9j
YWxfYWxsb2NhdG9yX2NvbnN0cnVjdCk6CisgICAgICAgIChwYXNfbG9jYWxfYWxsb2NhdG9yX3Jl
ZmlsbF93aXRoX2JpdGZpdCk6IERlbGV0ZWQuCisgICAgICAgIChwYXNfbG9jYWxfYWxsb2NhdG9y
X2ZpbmlzaF9yZWZpbGxfd2l0aF9iaXRmaXQpOiBEZWxldGVkLgorICAgICAgICAqIGxpYnBhcy9z
cmMvbGlicGFzL3Bhc19sb2NhbF9hbGxvY2F0b3JfaW5saW5lcy5oOgorICAgICAgICAocGFzX2xv
Y2FsX2FsbG9jYXRvcl9zY2FuX2JpdHNfdG9fc2V0X3VwX2ZyZWVfYml0cyk6CisgICAgICAgIChw
YXNfbG9jYWxfYWxsb2NhdG9yX3NldF91cF9mcmVlX2JpdHMpOgorICAgICAgICAocGFzX2xvY2Fs
X2FsbG9jYXRvcl9zZXRfdXBfcHJpbW9yZGlhbF9idW1wKToKKyAgICAgICAgKHBhc19sb2NhbF9h
bGxvY2F0b3Jfc3RhcnRfYWxsb2NhdGluZ19pbl9wcmltb3JkaWFsX3BhcnRpYWxfdmlldyk6Cisg
ICAgICAgIChwYXNfbG9jYWxfYWxsb2NhdG9yX2JsZXNzX3ByaW1vcmRpYWxfcGFydGlhbF92aWV3
X2JlZm9yZV9zdG9wcGluZyk6CisgICAgICAgIChwYXNfbG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxv
Y2F0ZV9pbl9wcmltb3JkaWFsX3BhcnRpYWxfdmlldyk6CisgICAgICAgIChwYXNfbG9jYWxfYWxs
b2NhdG9yX3JlZmlsbF93aXRoX2tub3duX2NvbmZpZyk6CisgICAgICAgIChwYXNfbG9jYWxfYWxs
b2NhdG9yX3JldHVybl9tZW1vcnlfdG9fcGFnZV9zZXRfYml0X2NhbGxiYWNrKToKKyAgICAgICAg
KHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19wYWdlX2Zvcl9yb2xlKToKKyAg
ICAgICAgKHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19wYWdlKToKKyAgICAg
ICAgKHBhc19sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRlX3NtYWxsX3NlZ3JlZ2F0ZWRfc2xv
d19pbXBsKToKKyAgICAgICAgKHBhc19sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRlX291dF9v
Zl9saW5lX2Nhc2VzKToKKyAgICAgICAgKHBhc19sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRl
X3Nsb3dfaW1wbCk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX29iamVjdF9raW5k
Lmg6CisgICAgICAgIChwYXNfb2JqZWN0X2tpbmRfZm9yX3BhZ2Vfa2luZCk6CisgICAgICAgICog
bGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5oOiBBZGRlZC4KKyAgICAg
ICAgKHBhc19wYWdlX2Jhc2VfYW5kX2tpbmRfY3JlYXRlKToKKyAgICAgICAgKHBhc19wYWdlX2Jh
c2VfYW5kX2tpbmRfY3JlYXRlX2VtcHR5KToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9w
YXNfcGFnZV9iYXNlX2NvbmZpZy5jOiBBZGRlZC4KKyAgICAgICAgKHBhc19wYWdlX2Jhc2VfY29u
ZmlnX2dldF9raW5kX3N0cmluZyk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3Bh
Z2VfYmFzZV9jb25maWcuaDoKKyAgICAgICAgKHBhc19wYWdlX2Jhc2VfY29uZmlnX2lzX3NlZ3Jl
Z2F0ZWQpOgorICAgICAgICAocGFzX3BhZ2VfYmFzZV9jb25maWdfaXNfYml0Zml0KToKKyAgICAg
ICAgKHBhc19wYWdlX2Jhc2VfY29uZmlnX2dldF9jb25maWdfa2luZCk6IERlbGV0ZWQuCisgICAg
ICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2Vfa2luZC5oOgorICAgICAgICAocGFzX3Bh
Z2Vfa2luZF9nZXRfc3RyaW5nKToKKyAgICAgICAgKHBhc19wYWdlX2tpbmRfZ2V0X2NvbmZpZ19r
aW5kKToKKyAgICAgICAgKHBhc19wYWdlX2tpbmRfZ2V0X3NlZ3JlZ2F0ZWRfdmFyaWFudCk6Cisg
ICAgICAgIChwYXNfcGFnZV9raW5kX2dldF9zZWdyZWdhdGVkX3JvbGUpOgorICAgICAgICAocGFz
X3BhZ2Vfa2luZF9mb3Jfc2VncmVnYXRlZF92YXJpYW50X2FuZF9yb2xlKToKKyAgICAgICAgKHBh
c19wYWdlX2tpbmRfZm9yX2JpdGZpdF92YXJpYW50KToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xp
YnBhcy9wYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlLmg6IEFkZGVkLgor
ICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZV9kb2VzX2xv
Z2dpbmcpOgorICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9k
ZV9pc19zaXplX2F3YXJlKToKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9s
b2dnaW5nX21vZGVfaXNfY2hlY2tlZCk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFz
X3NlZ3JlZ2F0ZWRfaGVhcC5jOgorICAgICAgICAobWF4X29iamVjdF9zaXplX2Zvcl9wYWdlX2Nv
bmZpZyk6CisgICAgICAgIChwYXNfc2VncmVnYXRlZF9oZWFwX2Vuc3VyZV9zaXplX2RpcmVjdG9y
eV9mb3Jfc2l6ZSk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRf
cGFnZS5jOgorICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25zdHJ1Y3QpOgorICAgICAg
ICAocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9hbmRfY29uZmlnX2Zvcl9hZGRyZXNzX2FuZF9oZWFwX2Nv
bmZpZyk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWcuaDoKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2VuYWJsZV9lbXB0
eV93b3JkX2VsaWdpYmlsaXR5X29wdGltaXphdGlvbl9mb3Jfcm9sZSk6CisgICAgICAgIChwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19sb2dnaW5nX21vZGVfZm9yX3JvbGUpOgorICAgICAgICAq
IGxpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lubGluZXMuaDoK
KyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kLmM6CisgICAgICAgIChwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2dldF9zdHJp
bmcpOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQuZGVmOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVk
X3BhZ2VfY29uZmlnX2tpbmQuaDoKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmln
X2tpbmRfZ2V0X3N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMv
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5jOiBBZGRlZC4KKyAgICAg
ICAgKHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGVfZ2V0X3N0cmluZyk6
CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdf
a2luZF9hbmRfcm9sZS5oOiBBZGRlZC4KKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmRfYW5kX3JvbGVfY3JlYXRlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9w
YXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ191dGlscy5oOgorICAgICAgICAocGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25maWdfdmVyaWZ5X2RlYWxsb2MpOiBEZWxldGVkLgorICAgICAgICAqIGxpYnBh
cy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfaW5saW5lcy5oOgorICAgICAgICAocGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9kZWFsbG9jYXRlX3dpdGhfcGFnZSk6CisgICAgICAgIChwYXNfc2Vn
cmVnYXRlZF9wYWdlX2RlYWxsb2NhdGUpOgorICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9n
ZXRfZGlyZWN0b3J5X2Zvcl9hZGRyZXNzX2luX3BhZ2UpOgorICAgICAgICAocGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9nZXRfZGlyZWN0b3J5X2Zvcl9hZGRyZXNzX2FuZF9wYWdlX2NvbmZpZyk6CisgICAg
ICAgIChwYXNfc2VncmVnYXRlZF9wYWdlX2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRkcmVzc19pbl9w
YWdlKToKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3BhZ2VfZ2V0X29iamVjdF9zaXplX2Zvcl9h
ZGRyZXNzX2FuZF9wYWdlX2NvbmZpZyk6CisgICAgICAgIChwYXNfc2VncmVnYXRlZF9wYWdlX2xv
Z19vcl9kZWFsbG9jYXRlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVn
YXRlZF9wYWdlX3JvbGUuaDogQWRkZWQuCisgICAgICAgIChwYXNfc2VncmVnYXRlZF9wYWdlX3Jv
bGVfZ2V0X3N0cmluZyk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0
ZWRfc2hhcmVkX3ZpZXcuYzoKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3NoYXJlZF92aWV3X2Nv
bW1pdF9wYWdlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9z
aXplX2RpcmVjdG9yeS5jOgorICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3Rvcnlf
Y3JlYXRlKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9zaXpl
X2RpcmVjdG9yeS5oOgorICAgICAgICAocGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfaXNf
Yml0Zml0KToKKyAgICAgICAgKHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2dldF9iaXRm
aXRfc2l6ZV9jbGFzcyk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0
ZWRfdmlldy5jOgorICAgICAgICAoc2hvdWxkX2JlX2VsaWdpYmxlKToKKyAgICAgICAgKiBsaWJw
YXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF92aWV3Lmg6CisgICAgICAgIChwYXNfc2VncmVn
YXRlZF92aWV3X2dldF9wYWdlX3JvbGVfZm9yX293bmVyKToKKyAgICAgICAgKHBhc19zZWdyZWdh
dGVkX3ZpZXdfZ2V0X3BhZ2Vfcm9sZV9mb3JfYWxsb2NhdG9yKToKKyAgICAgICAgKiBsaWJwYXMv
c3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF92aWV3X2FsbG9jYXRvcl9pbmxpbmVzLmg6CisgICAg
ICAgIChwYXNfc2VncmVnYXRlZF92aWV3X3dpbGxfc3RhcnRfYWxsb2NhdGluZyk6CisgICAgICAg
ICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfdmlld19raW5kLmg6CisgICAgICAg
IChwYXNfc2VncmVnYXRlZF92aWV3X2tpbmRfZ2V0X3JvbGVfZm9yX293bmVyKToKKyAgICAgICAg
KHBhc19zZWdyZWdhdGVkX3ZpZXdfa2luZF9nZXRfcm9sZV9mb3JfYWxsb2NhdG9yKToKKyAgICAg
ICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmM6CisgICAgICAg
IChwcm9jZXNzX2RlYWxsb2NhdGlvbl9sb2dfd2l0aF9jb25maWcpOgorICAgICAgICAoZmx1c2hf
ZGVhbGxvY2F0aW9uX2xvZyk6CisgICAgICAgIChwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2FwcGVu
ZF9kZWFsbG9jYXRpb25fc2xvdyk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJwYXMvcGFzX3Ro
cmVhZF9sb2NhbF9jYWNoZS5oOgorICAgICAgICAocGFzX3RocmVhZF9sb2NhbF9jYWNoZV9lbmNv
ZGVfb2JqZWN0KToKKyAgICAgICAgKHBhc190aHJlYWRfbG9jYWxfY2FjaGVfYXBwZW5kX2RlYWxs
b2NhdGlvbik6CisgICAgICAgIChwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2FwcGVuZF9kZWFsbG9j
YXRpb25fd2l0aF9zaXplKToKKyAgICAgICAgKiBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfdHJ5X3Jl
YWxsb2NhdGUuaDoKKyAgICAgICAgKHBhc190cnlfcmVhbGxvY2F0ZV90YWJsZV9zZWdyZWdhdGVk
X2Nhc2UpOgorICAgICAgICAocGFzX3RyeV9yZWFsbG9jYXRlKToKKyAgICAgICAgKiBsaWJwYXMv
c3JjL2xpYnBhcy9wYXNfdHJ5X3Nocmluay5oOgorICAgICAgICAocGFzX3RyeV9zaHJpbmspOgor
ICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc191dGlsaXR5X2hlYXAuYzoKKyAgICAgICAg
KHBhc191dGlsaXR5X2hlYXBfZGVhbGxvY2F0ZSk6CisgICAgICAgICogbGlicGFzL3NyYy9saWJw
YXMvcGFzX3V0aWxpdHlfaGVhcF9jb25maWcuYzoKKyAgICAgICAgKHBhc191dGlsaXR5X2hlYXBf
YWxsb2NhdGVfcGFnZSk6CisgICAgICAgIChwYXNfdXRpbGl0eV9oZWFwX3NoYXJlZF9wYWdlX2Rp
cmVjdG9yeV9zZWxlY3Rvcik6CisgICAgICAgIChwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZ19mb3Jf
ZWFjaF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkpOgorICAgICAgICAocGFzX3V0aWxpdHlfaGVhcF9j
b25maWdfZHVtcF9zaGFyZWRfcGFnZV9kaXJlY3RvcnlfYXJnKToKKyAgICAgICAgKiBsaWJwYXMv
c3JjL2xpYnBhcy9wYXNfdXRpbGl0eV9oZWFwX2NvbmZpZy5oOgorICAgICAgICAocGFzX3V0aWxp
dHlfaGVhcF9zaGFyZWRfcGFnZV9kaXJlY3Rvcnlfc2VsZWN0b3IpOiBEZWxldGVkLgorICAgICAg
ICAqIGxpYnBhcy9zcmMvbGlicGFzL3Bhc191dGlscy5oOgorICAgICAgICAocGFzX2Fzc2VydGlv
bl9mYWlsZWRfbm9yZXR1cm5fc2lsZW5jZXIpOgorICAgICAgICAqIGxpYnBhcy9zcmMvbGlicGFz
L3RoaW5neV9oZWFwX2NvbmZpZy5oOgorICAgICAgICAqIGxpYnBhcy9zcmMvdGVzdC9UaGluZ3lB
bmRVdGlsaXR5SGVhcEFsbG9jYXRpb25UZXN0cy5jcHA6CisgICAgICAgIChzdGQ6OmFkZE1hcmdl
Qml0Zml0VGVzdHMpOgorCiAyMDIxLTEyLTAyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbbGlicGFzXSBEZWZpbmUgYW5kIHVzZSBQQVNfUklTQ1YKSW5k
ZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjE2LDYgKzYxNiwxMyBAQAogCQky
QzQ4MTM0NDI3NDA2QTNFMDA2Q0FCNTUgLyogcGFzX2V4cGVuZGFibGVfbWVtb3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzQ4MTMzRTI3NDA2QTNF
MDA2Q0FCNTUgLyogcGFzX2V4cGVuZGFibGVfbWVtb3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkM0ODEzNDUyNzQwNkEzRTAwNkNBQjU1IC8q
IHBhc19sYXJnZV9leHBlbmRhYmxlX21lbW9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkM0ODEzM0YyNzQwNkEzRTAwNkNBQjU1IC8qIHBhc19sYXJn
ZV9leHBlbmRhYmxlX21lbW9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTJDOTFFNTUyMjcxQ0U0N0EwMEQ2N0ZGOSAvKiBwYXNfc2l6ZV9sb29r
dXBfbW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkM5MUU1NTEyNzFDRTQ3QTAwRDY3RkY5IC8qIHBhc19zaXplX2xvb2t1cF9tb2RlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkNFMkFFMkQyNzU5
NkRFQjAwRDAyQkJDIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNFMkFFMjYyNzU5NkRFQTAwRDAyQkJD
IC8qIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTJDRTJBRTJFMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNf
cGFnZV9iYXNlX2FuZF9raW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQ0UyQUUyNzI3NTk2REVBMDBEMDJCQkMgLyogcGFzX3BhZ2VfYmFzZV9hbmRf
a2luZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTJDRTJBRTJGMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNfcGFnZV9iYXNlX2NvbmZpZy5jIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNFMkFFMjgyNzU5NkRF
QTAwRDAyQkJDIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmMgKi87IH07CisJCTJDRTJBRTMwMjc1
OTZERUIwMEQwMkJCQyAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0UyQUUy
OTI3NTk2REVBMDBEMDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRf
cm9sZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTJDRTJBRTMxMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kX2FuZF9yb2xlLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyQ0UyQUUyQTI3NTk2REVBMDBEMDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25m
aWdfa2luZF9hbmRfcm9sZS5jICovOyB9OworCQkyQ0UyQUUzMjI3NTk2REVCMDBEMDJCQkMgLyog
cGFzX2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBh
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDRTJB
RTJCMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21h
bGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTJDRTJBRTMzMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNfc2Vn
cmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0UyQUUyQzI3NTk2REVCMDBEMDJCQkMgLyogcGFz
X3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0MjZFMjgwMUM4MzhFRTAwMDhFQjA0
MiAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0MjZFMjdFMUM4MzhFRTAwMDhFQjA0MiAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKIAkJ
NDQyNkUyODExQzgzOEVFMDAwOEVCMDQyIC8qIExvZ2dpbmcuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MjZFMjdGMUM4MzhFRTAwMDhFQjA0MiAvKiBM
b2dnaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNTJGNDcyNDkyMTBCQTMwMjAwQjczMEJCIC8qIE1lbW9yeVN0YXR1c1NQSS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTJGNDcyNDgyMTBCQTJGNTAw
QjczMEJCIC8qIE1lbW9yeVN0YXR1c1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0xMjY1LDYgKzEyNzIsMTMgQEAKIAkJMkM0ODEzM0UyNzQw
NkEzRTAwNkNBQjU1IC8qIHBhc19leHBlbmRhYmxlX21lbW9yeS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBwYXNfZXhwZW5kYWJsZV9tZW1vcnkuaDsgcGF0aCA9IGxpYnBhcy9z
cmMvbGlicGFzL3Bhc19leHBlbmRhYmxlX21lbW9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyQzQ4MTMzRjI3NDA2QTNFMDA2Q0FCNTUgLyogcGFzX2xhcmdlX2V4cGVuZGFibGVf
bWVtb3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IHBhc19sYXJnZV9leHBl
bmRhYmxlX21lbW9yeS5oOyBwYXRoID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX2xhcmdlX2V4cGVu
ZGFibGVfbWVtb3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJDOTFFNTUxMjcx
Q0U0N0EwMEQ2N0ZGOSAvKiBwYXNfc2l6ZV9sb29rdXBfbW9kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBwYXNfc2l6ZV9sb29rdXBfbW9kZS5oOyBwYXRoID0gbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3NpemVfbG9va3VwX21vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMkNFMkFFMjYyNzU5NkRFQTAwRDAyQkJDIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9s
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBwYXNfc2VncmVnYXRlZF9wYWdl
X3JvbGUuaDsgcGF0aCA9IGxpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2Vfcm9s
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQ0UyQUUyNzI3NTk2REVBMDBEMDJC
QkMgLyogcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBwYXNfcGFnZV9iYXNlX2FuZF9raW5kLmg7IHBhdGggPSBsaWJwYXMvc3JjL2xpYnBh
cy9wYXNfcGFnZV9iYXNlX2FuZF9raW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJDRTJBRTI4Mjc1OTZERUEwMEQwMkJCQyAvKiBwYXNfcGFnZV9iYXNlX2NvbmZpZy5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBwYXNfcGFnZV9iYXNlX2NvbmZpZy5jOyBwYXRo
ID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9jb25maWcuYzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkNFMkFFMjkyNzU5NkRFQTAwRDAyQkJDIC8qIHBhc19zZWdyZWdh
dGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5oOyBwYXRo
ID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRf
cm9sZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQ0UyQUUyQTI3NTk2REVBMDBE
MDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kX2FuZF9yb2xlLmM7IHBhdGggPSBsaWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9w
YWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJDRTJBRTJCMjc1OTZERUIwMEQwMkJCQyAvKiBwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9m
b3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5f
ZmFzdF9tZWdhcGFnZS5oOyBwYXRoID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX2dldF9wYWdlX2Jh
c2VfYW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBhZ2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkNFMkFFMkMyNzU5NkRFQjAwRDAyQkJDIC8qIHBhc19zZWdy
ZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZS5oOyBw
YXRoID0gbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dp
bmdfbW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI2RTI3RTFDODM4RUUw
MDA4RUIwNDIgLyogTG9nZ2luZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBMb2dnaW5nLmNwcDsgcGF0aCA9IGJtYWxsb2MvTG9nZ2luZy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ0MjZFMjdGMUM4MzhFRTAwMDhFQjA0MiAvKiBMb2dnaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExvZ2dpbmcuaDsgcGF0aCA9IGJtYWxs
b2MvTG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MkY0NzI0ODIxMEJB
MkY1MDBCNzMwQkIgLyogTWVtb3J5U3RhdHVzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IE1lbW9yeVN0YXR1c1NQSS5oOyBwYXRoID0gYm1hbGxvYy9kYXJ3aW4vTWVtb3J5
U3RhdHVzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzg3LDQ1ICsxNDAx
LDQ1IEBACiAJCTBGQzQwOTBFMjQ1MTQ5MkUwMDg3NkRBMCAvKiBsaWJwYXMgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTBGOEE4MTI3MjVGODNFMjUwMDc5
MEI0QSAvKiBibWFsbG9jX2hlYXAuYyAqLywKLQkJCQkwRjhBODEyNTI1RjgzRTI0MDA3OTBCNEEg
LyogYm1hbGxvY19oZWFwLmggKi8sCiAJCQkJMEY4QTgxMUQyNUY4M0UyNDAwNzkwQjRBIC8qIGJt
YWxsb2NfaGVhcF9jb25maWcuYyAqLywKIAkJCQkwRjhBODEyOTI1RjgzRTI1MDA3OTBCNEEgLyog
Ym1hbGxvY19oZWFwX2NvbmZpZy5oICovLAogCQkJCTBGOEE4MTFCMjVGODNFMjMwMDc5MEI0QSAv
KiBibWFsbG9jX2hlYXBfaW5saW5lcy5oICovLAogCQkJCTBGOEE4MTFGMjVGODNFMjQwMDc5MEI0
QSAvKiBibWFsbG9jX2hlYXBfaW5uYXJkcy5oICovLAogCQkJCTBGOEE4MTIzMjVGODNFMjQwMDc5
MEI0QSAvKiBibWFsbG9jX2hlYXBfcmVmLmggKi8sCisJCQkJMEY4QTgxMjcyNUY4M0UyNTAwNzkw
QjRBIC8qIGJtYWxsb2NfaGVhcC5jICovLAorCQkJCTBGOEE4MTI1MjVGODNFMjQwMDc5MEI0QSAv
KiBibWFsbG9jX2hlYXAuaCAqLywKIAkJCQkyQzExRTg5MzI3MjhERTI3MDAyMTYyRDAgLyogYm1h
bGxvY190eXBlLmMgKi8sCiAJCQkJMkMxMUU4OTIyNzI4REUyNzAwMjE2MkQwIC8qIGJtYWxsb2Nf
dHlwZS5oICovLAotCQkJCTBGOEE4MTIwMjVGODNFMjQwMDc5MEI0QSAvKiBob3RiaXRfaGVhcC5j
ICovLAotCQkJCTBGOEE4MTI2MjVGODNFMjQwMDc5MEI0QSAvKiBob3RiaXRfaGVhcC5oICovLAog
CQkJCTBGOEE4MTFFMjVGODNFMjQwMDc5MEI0QSAvKiBob3RiaXRfaGVhcF9jb25maWcuYyAqLywK
IAkJCQkwRjhBODEyMTI1RjgzRTI0MDA3OTBCNEEgLyogaG90Yml0X2hlYXBfY29uZmlnLmggKi8s
CiAJCQkJMEY4QTgxMUMyNUY4M0UyNDAwNzkwQjRBIC8qIGhvdGJpdF9oZWFwX2lubGluZXMuaCAq
LywKIAkJCQkwRjhBODEyMjI1RjgzRTI0MDA3OTBCNEEgLyogaG90Yml0X2hlYXBfaW5uYXJkcy5o
ICovLAotCQkJCTBGQzQwOTIxMjQ1MTQ5NDIwMDg3NkRBMCAvKiBpc29faGVhcC5jICovLAotCQkJ
CTBGQzQwOTI5MjQ1MTQ5NDMwMDg3NkRBMCAvKiBpc29faGVhcC5oICovLAorCQkJCTBGOEE4MTIw
MjVGODNFMjQwMDc5MEI0QSAvKiBob3RiaXRfaGVhcC5jICovLAorCQkJCTBGOEE4MTI2MjVGODNF
MjQwMDc5MEI0QSAvKiBob3RiaXRfaGVhcC5oICovLAogCQkJCTBGQzQwOTJGMjQ1MTQ5NDMwMDg3
NkRBMCAvKiBpc29faGVhcF9jb25maWcuYyAqLywKIAkJCQkwRkM0MDkyNTI0NTE0OTQzMDA4NzZE
QTAgLyogaXNvX2hlYXBfY29uZmlnLmggKi8sCiAJCQkJMEY1RkU3QjYyNUI2MUVDMTAwMTg1OUZD
IC8qIGlzb19oZWFwX2lubGluZXMuaCAqLywKIAkJCQkwRjUxNkVFODI0NTYxQUU4MDA0RTJCOEQg
LyogaXNvX2hlYXBfaW5uYXJkcy5oICovLAogCQkJCTBGNTI5REUwMjQ1NTQ2M0YwMDM4NUE4QyAv
KiBpc29faGVhcF9yZWYuaCAqLywKLQkJCQkwRkM0MDkwRjI0NTE0OTQyMDA4NzZEQTAgLyogaXNv
X3Rlc3RfaGVhcC5jICovLAotCQkJCTBGQzQwOTEwMjQ1MTQ5NDIwMDg3NkRBMCAvKiBpc29fdGVz
dF9oZWFwLmggKi8sCisJCQkJMEZDNDA5MjEyNDUxNDk0MjAwODc2REEwIC8qIGlzb19oZWFwLmMg
Ki8sCisJCQkJMEZDNDA5MjkyNDUxNDk0MzAwODc2REEwIC8qIGlzb19oZWFwLmggKi8sCiAJCQkJ
MEZDNDA5MzcyNDUxNDk0NDAwODc2REEwIC8qIGlzb190ZXN0X2hlYXBfY29uZmlnLmMgKi8sCiAJ
CQkJMEZDNDA5MjMyNDUxNDk0MjAwODc2REEwIC8qIGlzb190ZXN0X2hlYXBfY29uZmlnLmggKi8s
Ci0JCQkJMEY1MTkzRUMyNjZDNDJBQzAwNDgzQTJDIC8qIGppdF9oZWFwLmMgKi8sCi0JCQkJMEY1
MTkzRTkyNjZDNDJBQzAwNDgzQTJDIC8qIGppdF9oZWFwLmggKi8sCisJCQkJMEZDNDA5MEYyNDUx
NDk0MjAwODc2REEwIC8qIGlzb190ZXN0X2hlYXAuYyAqLywKKwkJCQkwRkM0MDkxMDI0NTE0OTQy
MDA4NzZEQTAgLyogaXNvX3Rlc3RfaGVhcC5oICovLAorCQkJCTBGNTE5M0VBMjY2QzQyQUMwMDQ4
M0EyQyAvKiBqaXRfaGVhcF9jb25maWdfcm9vdF9kYXRhLmggKi8sCiAJCQkJMEY1MTkzRUIyNjZD
NDJBQzAwNDgzQTJDIC8qIGppdF9oZWFwX2NvbmZpZy5jICovLAogCQkJCTBGNTE5M0U4MjY2QzQy
QUMwMDQ4M0EyQyAvKiBqaXRfaGVhcF9jb25maWcuaCAqLywKLQkJCQkwRjUxOTNFQTI2NkM0MkFD
MDA0ODNBMkMgLyogaml0X2hlYXBfY29uZmlnX3Jvb3RfZGF0YS5oICovLAotCQkJCTBGMThGODNE
MjVDMzQ2NzcwMDcyMUMyQSAvKiBtaW5hbGlnbjMyX2hlYXAuYyAqLywKLQkJCQkwRjE4Rjg0MTI1
QzM0Njc3MDA3MjFDMkEgLyogbWluYWxpZ24zMl9oZWFwLmggKi8sCisJCQkJMEY1MTkzRUMyNjZD
NDJBQzAwNDgzQTJDIC8qIGppdF9oZWFwLmMgKi8sCisJCQkJMEY1MTkzRTkyNjZDNDJBQzAwNDgz
QTJDIC8qIGppdF9oZWFwLmggKi8sCiAJCQkJMEYxOEY4NDQyNUMzNDY3NzAwNzIxQzJBIC8qIG1p
bmFsaWduMzJfaGVhcF9jb25maWcuYyAqLywKIAkJCQkwRjE4Rjg0MjI1QzM0Njc3MDA3MjFDMkEg
LyogbWluYWxpZ24zMl9oZWFwX2NvbmZpZy5oICovLAotCQkJCTBGMThGODNFMjVDMzQ2NzcwMDcy
MUMyQSAvKiBwYWdlc2l6ZTY0a19oZWFwLmMgKi8sCi0JCQkJMEYxOEY4NDMyNUMzNDY3NzAwNzIx
QzJBIC8qIHBhZ2VzaXplNjRrX2hlYXAuaCAqLywKKwkJCQkwRjE4RjgzRDI1QzM0Njc3MDA3MjFD
MkEgLyogbWluYWxpZ24zMl9oZWFwLmMgKi8sCisJCQkJMEYxOEY4NDEyNUMzNDY3NzAwNzIxQzJB
IC8qIG1pbmFsaWduMzJfaGVhcC5oICovLAogCQkJCTBGMThGODQwMjVDMzQ2NzcwMDcyMUMyQSAv
KiBwYWdlc2l6ZTY0a19oZWFwX2NvbmZpZy5jICovLAogCQkJCTBGMThGODNGMjVDMzQ2NzcwMDcy
MUMyQSAvKiBwYWdlc2l6ZTY0a19oZWFwX2NvbmZpZy5oICovLAorCQkJCTBGMThGODNFMjVDMzQ2
NzcwMDcyMUMyQSAvKiBwYWdlc2l6ZTY0a19oZWFwLmMgKi8sCisJCQkJMEYxOEY4NDMyNUMzNDY3
NzAwNzIxQzJBIC8qIHBhZ2VzaXplNjRrX2hlYXAuaCAqLywKIAkJCQkwRkM0MDkyQTI0NTE0OTQz
MDA4NzZEQTAgLyogcGFzX2FsaWduZWRfYWxsb2NhdGlvbl9yZXN1bHQuaCAqLywKIAkJCQkwRkM0
MDkyQjI0NTE0OTQzMDA4NzZEQTAgLyogcGFzX2FsaWduZWRfYWxsb2NhdG9yLmggKi8sCiAJCQkJ
MEZDNDA5MkQyNDUxNDk0MzAwODc2REEwIC8qIHBhc19hbGlnbm1lbnQuYyAqLywKQEAgLTE0NDMs
MTEgKzE0NTcsMTEgQEAKIAkJCQkwRkM0MDlBQTI0NTE0OTYyMDA4NzZEQTAgLyogcGFzX2FsbG9j
YXRvcl9jb3VudHMuaCAqLywKIAkJCQkwRjc1NDk4MDI0ODY5NzNDMDAyQTRDN0QgLyogcGFzX2Fs
bG9jYXRvcl9pbmRleC5oICovLAogCQkJCTBGQzQwOThEMjQ1MTQ5NjAwMDg3NkRBMCAvKiBwYXNf
YWxsb2NhdG9yX3NjYXZlbmdlX2FjdGlvbi5oICovLAotCQkJCTBGQzQwOTg0MjQ1MTQ5NUYwMDg3
NkRBMCAvKiBwYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmMgKi8sCi0JCQkJMEZDNDA5QTIyNDUxNDk2
MTAwODc2REEwIC8qIHBhc19iYXNlbGluZV9hbGxvY2F0b3IuaCAqLywKIAkJCQkwRkM0MDk4MjI0
NTE0OTVGMDA4NzZEQTAgLyogcGFzX2Jhc2VsaW5lX2FsbG9jYXRvcl9yZXN1bHQuaCAqLywKIAkJ
CQkwRkM0MDk5NzI0NTE0OTYxMDA4NzZEQTAgLyogcGFzX2Jhc2VsaW5lX2FsbG9jYXRvcl90YWJs
ZS5jICovLAogCQkJCTBGQzQwOTdCMjQ1MTQ5NUYwMDg3NkRBMCAvKiBwYXNfYmFzZWxpbmVfYWxs
b2NhdG9yX3RhYmxlLmggKi8sCisJCQkJMEZDNDA5ODQyNDUxNDk1RjAwODc2REEwIC8qIHBhc19i
YXNlbGluZV9hbGxvY2F0b3IuYyAqLywKKwkJCQkwRkM0MDlBMjI0NTE0OTYxMDA4NzZEQTAgLyog
cGFzX2Jhc2VsaW5lX2FsbG9jYXRvci5oICovLAogCQkJCTBGNTE5M0VEMjY2QzQyQUQwMDQ4M0Ey
QyAvKiBwYXNfYmFzaWNfaGVhcF9jb25maWdfZW51bWVyYXRvcl9kYXRhLmMgKi8sCiAJCQkJMEY4
N0ZGQ0UyNUFGODk3QzAwMEUxQUJGIC8qIHBhc19iYXNpY19oZWFwX2NvbmZpZ19lbnVtZXJhdG9y
X2RhdGEuaCAqLywKIAkJCQkwRjg3RkZBQjI1QUY4OTdBMDAwRTFBQkYgLyogcGFzX2Jhc2ljX2hl
YXBfY29uZmlnX3Jvb3RfZGF0YS5oICovLApAQCAtMTQ1NiwzMiArMTQ3MCwzMiBAQAogCQkJCTBG
ODdGRkNDMjVBRjg5N0MwMDBFMUFCRiAvKiBwYXNfYmlhc2luZ19kaXJlY3Rvcnlfa2luZC5oICov
LAogCQkJCTBGQzQwOUI1MjQ1MTQ5NjMwMDg3NkRBMCAvKiBwYXNfYml0ZmllbGRfdmVjdG9yLmgg
Ki8sCiAJCQkJMEY4N0ZGRDYyNUFGODk3QzAwMEUxQUJGIC8qIHBhc19iaXRmaXRfYWxsb2NhdGlv
bl9yZXN1bHQuaCAqLywKKwkJCQkwRjg3RkZCQjI1QUY4OTdCMDAwRTFBQkYgLyogcGFzX2JpdGZp
dF9hbGxvY2F0b3JfaW5saW5lcy5oICovLAogCQkJCTBGODdGRkNEMjVBRjg5N0MwMDBFMUFCRiAv
KiBwYXNfYml0Zml0X2FsbG9jYXRvci5jICovLAogCQkJCTBGODdGRkFFMjVBRjg5N0EwMDBFMUFC
RiAvKiBwYXNfYml0Zml0X2FsbG9jYXRvci5oICovLAotCQkJCTBGODdGRkJCMjVBRjg5N0IwMDBF
MUFCRiAvKiBwYXNfYml0Zml0X2FsbG9jYXRvcl9pbmxpbmVzLmggKi8sCisJCQkJMEY4N0ZGQjky
NUFGODk3QjAwMEUxQUJGIC8qIHBhc19iaXRmaXRfZGlyZWN0b3J5X2lubGluZXMuaCAqLywKIAkJ
CQkwRjg3RkZDQjI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9kaXJlY3RvcnkuYyAqLywK
IAkJCQkwRjg3RkZDMjI1QUY4OTdCMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9kaXJlY3RvcnkuaCAq
LywKLQkJCQkwRjg3RkZCOTI1QUY4OTdCMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9kaXJlY3Rvcnlf
aW5saW5lcy5oICovLAogCQkJCTBGODdGRkJEMjVBRjg5N0IwMDBFMUFCRiAvKiBwYXNfYml0Zml0
X2hlYXAuYyAqLywKIAkJCQkwRjg3RkZDNzI1QUY4OTdCMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9o
ZWFwLmggKi8sCiAJCQkJMEY4N0ZGQzQyNUFGODk3QjAwMEUxQUJGIC8qIHBhc19iaXRmaXRfbWF4
X2ZyZWUuaCAqLywKLQkJCQkwRjg3RkZEMTI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9w
YWdlLmMgKi8sCi0JCQkJMEY4N0ZGQzUyNUFGODk3QjAwMEUxQUJGIC8qIHBhc19iaXRmaXRfcGFn
ZS5oICovLAotCQkJCTBGODdGRkI1MjVBRjg5N0EwMDBFMUFCRiAvKiBwYXNfYml0Zml0X3BhZ2Vf
Y29uZmlnLmggKi8sCiAJCQkJMEY4N0ZGRDMyNUFGODk3QzAwMEUxQUJGIC8qIHBhc19iaXRmaXRf
cGFnZV9jb25maWdfaW5saW5lcy5oICovLAogCQkJCTBGODdGRkFEMjVBRjg5N0EwMDBFMUFCRiAv
KiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQuYyAqLywKIAkJCQkwRjg3RkZCMjI1QUY4OTdB
MDAwRTFBQkYgLyogcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmRlZiAqLywKIAkJCQkwRjg3
RkZDMTI1QUY4OTdCMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmggKi8s
Ci0JCQkJMEY4N0ZGQjcyNUFGODk3QjAwMEUxQUJGIC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWdf
dXRpbHMuaCAqLywKIAkJCQkwRjg3RkZDOTI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9w
YWdlX2NvbmZpZ191dGlsc19pbmxpbmVzLmggKi8sCisJCQkJMEY4N0ZGQjcyNUFGODk3QjAwMEUx
QUJGIC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWdfdXRpbHMuaCAqLywKIAkJCQkwRjg3RkZBNDI1
QUY4OTc5MDAwRTFBQkYgLyogcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ192YXJpYW50LmggKi8sCisJ
CQkJMEY4N0ZGQjUyNUFGODk3QTAwMEUxQUJGIC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWcuaCAq
LywKIAkJCQkwRjg3RkZBMTI1QUY4OTc5MDAwRTFBQkYgLyogcGFzX2JpdGZpdF9wYWdlX2lubGlu
ZXMuaCAqLywKKwkJCQkwRjg3RkZEMTI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9wYWdl
LmMgKi8sCisJCQkJMEY4N0ZGQzUyNUFGODk3QjAwMEUxQUJGIC8qIHBhc19iaXRmaXRfcGFnZS5o
ICovLAogCQkJCTBGODdGRkFDMjVBRjg5N0EwMDBFMUFCRiAvKiBwYXNfYml0Zml0X3NpemVfY2xh
c3MuYyAqLywKIAkJCQkwRjg3RkZCNDI1QUY4OTdBMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9zaXpl
X2NsYXNzLmggKi8sCi0JCQkJMEY4N0ZGQzgyNUFGODk3QzAwMEUxQUJGIC8qIHBhc19iaXRmaXRf
dmlldy5jICovLAotCQkJCTBGODdGRkE1MjVBRjg5NzkwMDBFMUFCRiAvKiBwYXNfYml0Zml0X3Zp
ZXcuaCAqLywKIAkJCQkwRjg3RkZEMjI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF92aWV3
X2FuZF9pbmRleC5oICovLAogCQkJCTBGODdGRkQ1MjVBRjg5N0MwMDBFMUFCRiAvKiBwYXNfYml0
Zml0X3ZpZXdfaW5saW5lcy5oICovLAorCQkJCTBGODdGRkM4MjVBRjg5N0MwMDBFMUFCRiAvKiBw
YXNfYml0Zml0X3ZpZXcuYyAqLywKKwkJCQkwRjg3RkZBNTI1QUY4OTc5MDAwRTFBQkYgLyogcGFz
X2JpdGZpdF92aWV3LmggKi8sCiAJCQkJMEZDNDA5QTkyNDUxNDk2MjAwODc2REEwIC8qIHBhc19i
aXR2ZWN0b3IuaCAqLywKIAkJCQkwRkM0MDlCQjI0NTE0OTYzMDA4NzZEQTAgLyogcGFzX2Jvb3Rz
dHJhcF9mcmVlX2hlYXAuYyAqLywKIAkJCQkwRkM0MDlBNzI0NTE0OTYyMDA4NzZEQTAgLyogcGFz
X2Jvb3RzdHJhcF9mcmVlX2hlYXAuaCAqLywKQEAgLTE1NDEsMjMgKzE1NTUsMjMgQEAKIAkJCQkw
RkM0MDk5QTI0NTE0OTYxMDA4NzZEQTAgLyogcGFzX2NvbXBhY3RfdW5zaWduZWRfcHRyLmggKi8s
CiAJCQkJMEZDNDA5NzkyNDUxNDk1RjAwODc2REEwIC8qIHBhc19jb21wdXRlX3N1bW1hcnlfb2Jq
ZWN0X2NhbGxiYWNrcy5jICovLAogCQkJCTBGQzQwOUIzMjQ1MTQ5NjIwMDg3NkRBMCAvKiBwYXNf
Y29tcHV0ZV9zdW1tYXJ5X29iamVjdF9jYWxsYmFja3MuaCAqLywKLQkJCQkwRkM0MDlCODI0NTE0
OTYzMDA4NzZEQTAgLyogcGFzX2NvbmZpZy5oICovLAogCQkJCTBGQzQwOUE4MjQ1MTQ5NjIwMDg3
NkRBMCAvKiBwYXNfY29uZmlnX3ByZWZpeC5oICovLAorCQkJCTBGQzQwOUI4MjQ1MTQ5NjMwMDg3
NkRBMCAvKiBwYXNfY29uZmlnLmggKi8sCiAJCQkJMEZDNDA5QTUyNDUxNDk2MjAwODc2REEwIC8q
IHBhc19jcmVhdGVfYmFzaWNfaGVhcF9wYWdlX2NhY2hlc193aXRoX3Jlc2VydmVkX21lbW9yeS5j
ICovLAogCQkJCTBGQzQwOTZGMjQ1MTQ5NUUwMDg3NkRBMCAvKiBwYXNfY3JlYXRlX2Jhc2ljX2hl
YXBfcGFnZV9jYWNoZXNfd2l0aF9yZXNlcnZlZF9tZW1vcnkuaCAqLywKIAkJCQkwRkM0MDk5ODI0
NTE0OTYxMDA4NzZEQTAgLyogcGFzX2RlYWxsb2NhdGUuYyAqLywKIAkJCQkwRkM0MDk5QjI0NTE0
OTYxMDA4NzZEQTAgLyogcGFzX2RlYWxsb2NhdGUuaCAqLywKIAkJCQkwRjVGRTdEQTI1QjYyMTBE
MDAxODU5RkMgLyogcGFzX2RlYWxsb2NhdGlvbl9tb2RlLmggKi8sCi0JCQkJMEZDNDA5QTMyNDUx
NDk2MTAwODc2REEwIC8qIHBhc19kZWFsbG9jYXRvci5oICovLAogCQkJCTBGQzQwOTg1MjQ1MTQ5
NjAwMDg3NkRBMCAvKiBwYXNfZGVhbGxvY2F0b3Jfc2NhdmVuZ2VfYWN0aW9uLmggKi8sCisJCQkJ
MEZDNDA5QTMyNDUxNDk2MTAwODc2REEwIC8qIHBhc19kZWFsbG9jYXRvci5oICovLAogCQkJCTBG
MzczRTUzMjY1OUVBNzAwMDM0QkE5NiAvKiBwYXNfZGVidWdfaGVhcC5oICovLAogCQkJCTBGQkM2
MkM0MjY1RjE4MEMwMDVBNTcyMCAvKiBwYXNfZGVidWdfc3BlY3RydW0uYyAqLywKIAkJCQkwRkJD
NjJDNTI2NUYxODBDMDA1QTU3MjAgLyogcGFzX2RlYnVnX3NwZWN0cnVtLmggKi8sCiAJCQkJMEZD
NDA5QjkyNDUxNDk2MzAwODc2REEwIC8qIHBhc19kZWZlcnJlZF9kZWNvbW1pdF9sb2cuYyAqLywK
IAkJCQkwRkM0MDlBMDI0NTE0OTYxMDA4NzZEQTAgLyogcGFzX2RlZmVycmVkX2RlY29tbWl0X2xv
Zy5oICovLAorCQkJCTBGOEU4MzJCMjQ5MkVBRjMwMDQ2RDdGOCAvKiBwYXNfZGVzaWduYXRlZF9p
bnRyaW5zaWNfaGVhcF9pbmxpbmVzLmggKi8sCiAJCQkJMEY4RTgzMjYyNDkyRUFGMzAwNDZEN0Y4
IC8qIHBhc19kZXNpZ25hdGVkX2ludHJpbnNpY19oZWFwLmMgKi8sCiAJCQkJMEY4RTgzMjQyNDky
RUFGMzAwNDZEN0Y4IC8qIHBhc19kZXNpZ25hdGVkX2ludHJpbnNpY19oZWFwLmggKi8sCi0JCQkJ
MEY4RTgzMkIyNDkyRUFGMzAwNDZEN0Y4IC8qIHBhc19kZXNpZ25hdGVkX2ludHJpbnNpY19oZWFw
X2lubGluZXMuaCAqLywKIAkJCQkwRkM0MDk4QTI0NTE0OTYwMDA4NzZEQTAgLyogcGFzX2R5bGRf
c3RhdGUuYyAqLywKIAkJCQkwRkM0MDk5RDI0NTE0OTYxMDA4NzZEQTAgLyogcGFzX2R5bGRfc3Rh
dGUuaCAqLywKIAkJCQkwRkM0MDk4MDI0NTE0OTVGMDA4NzZEQTAgLyogcGFzX2R5bmFtaWNfcHJp
bWl0aXZlX2hlYXBfbWFwLmMgKi8sCkBAIC0xNTgwLDExICsxNTk0LDExIEBACiAJCQkJMEY4NzAw
MTIyNUFGODlDNzAwMEUxQUJGIC8qIHBhc19lbnVtZXJhdGVfc2VncmVnYXRlZF9oZWFwcy5oICov
LAogCQkJCTBGODcwMDFEMjVBRjg5QzgwMDBFMUFCRiAvKiBwYXNfZW51bWVyYXRlX3VuYWNjb3Vu
dGVkX3BhZ2VzX2FzX21ldGEuYyAqLywKIAkJCQkwRjg3MDAxRTI1QUY4OUM4MDAwRTFBQkYgLyog
cGFzX2VudW1lcmF0ZV91bmFjY291bnRlZF9wYWdlc19hc19tZXRhLmggKi8sCi0JCQkJMEY4NzAw
MTQyNUFGODlDNzAwMEUxQUJGIC8qIHBhc19lbnVtZXJhdG9yLmMgKi8sCi0JCQkJMEY4NzAwMjcy
NUFGODlDOTAwMEUxQUJGIC8qIHBhc19lbnVtZXJhdG9yLmggKi8sCiAJCQkJMEY4NzAwMjgyNUFG
ODlDOTAwMEUxQUJGIC8qIHBhc19lbnVtZXJhdG9yX2ludGVybmFsLmggKi8sCiAJCQkJMEY4NzAw
MjAyNUFGODlDODAwMEUxQUJGIC8qIHBhc19lbnVtZXJhdG9yX3JlZ2lvbi5jICovLAogCQkJCTBG
ODcwMDIxMjVBRjg5QzgwMDBFMUFCRiAvKiBwYXNfZW51bWVyYXRvcl9yZWdpb24uaCAqLywKKwkJ
CQkwRjg3MDAxNDI1QUY4OUM3MDAwRTFBQkYgLyogcGFzX2VudW1lcmF0b3IuYyAqLywKKwkJCQkw
Rjg3MDAyNzI1QUY4OUM5MDAwRTFBQkYgLyogcGFzX2VudW1lcmF0b3IuaCAqLywKIAkJCQkwRkM0
MDlBRjI0NTE0OTYyMDA4NzZEQTAgLyogcGFzX2Vwb2NoLmMgKi8sCiAJCQkJMEZDNDA5QjEyNDUx
NDk2MjAwODc2REEwIC8qIHBhc19lcG9jaC5oICovLAogCQkJCTBGQzQwOUIwMjQ1MTQ5NjIwMDg3
NkRBMCAvKiBwYXNfZXhjbHVzaXZlX3ZpZXdfdGVtcGxhdGVfbWVtb190YWJsZS5jICovLApAQCAt
MTYwMCw4ICsxNjE0LDggQEAKIAkJCQkwRjg3MDAyMzI1QUY4OUM4MDAwRTFBQkYgLyogcGFzX2Zh
c3RfbWVnYXBhZ2Vfa2luZC5oICovLAogCQkJCTBGODcwMDIyMjVBRjg5QzgwMDBFMUFCRiAvKiBw
YXNfZmFzdF9tZWdhcGFnZV90YWJsZS5jICovLAogCQkJCTBGODcwMDI0MjVBRjg5QzgwMDBFMUFC
RiAvKiBwYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oICovLAotCQkJCTBGODcwMDE2MjVBRjg5Qzcw
MDBFMUFCRiAvKiBwYXNfZmFzdF9wYXRoX2FsbG9jYXRpb25fcmVzdWx0LmggKi8sCiAJCQkJMEY4
NzAwMTEyNUFGODlDNzAwMEUxQUJGIC8qIHBhc19mYXN0X3BhdGhfYWxsb2NhdGlvbl9yZXN1bHRf
a2luZC5oICovLAorCQkJCTBGODcwMDE2MjVBRjg5QzcwMDBFMUFCRiAvKiBwYXNfZmFzdF9wYXRo
X2FsbG9jYXRpb25fcmVzdWx0LmggKi8sCiAJCQkJMEZCNTcwNkMyNjdEMDU1OTAwODBGQThCIC8q
IHBhc19mYXN0X3Rscy5oICovLAogCQkJCTBGQzQwQUM5MjQ1MTQ5OTAwMDg3NkRBMCAvKiBwYXNf
ZmRfc3RyZWFtLmMgKi8sCiAJCQkJMEZDNDBBQ0EyNDUxNDk5MTAwODc2REEwIC8qIHBhc19mZF9z
dHJlYW0uaCAqLywKQEAgLTE2MTIsMjYgKzE2MjYsMjUgQEAKIAkJCQkwRjg3MDAxRjI1QUY4OUM4
MDAwRTFBQkYgLyogcGFzX2ZyZWVfZ3JhbnVsZXMuaCAqLywKIAkJCQkwRkM0MEFBODI0NTE0OThF
MDA4NzZEQTAgLyogcGFzX2ZyZWVfbW9kZS5oICovLAogCQkJCTBGQzQwQTM0MjQ1MTQ5ODYwMDg3
NkRBMCAvKiBwYXNfZnJlZV9yYW5nZV9raW5kLmggKi8sCi0JCQkJMEZDNDBBQ0IyNDUxNDk5MTAw
ODc2REEwIC8qIHBhc19mdWxsX2FsbG9jX2JpdHMuaCAqLywKIAkJCQkwRkM0MEE0NTI0NTE0OTg3
MDA4NzZEQTAgLyogcGFzX2Z1bGxfYWxsb2NfYml0c19pbmxpbmVzLmggKi8sCisJCQkJMEZDNDBB
Q0IyNDUxNDk5MTAwODc2REEwIC8qIHBhc19mdWxsX2FsbG9jX2JpdHMuaCAqLywKIAkJCQkwRkM0
MEEzQTI0NTE0OTg2MDA4NzZEQTAgLyogcGFzX2dlbmVyaWNfbGFyZ2VfZnJlZV9oZWFwLmggKi8s
CiAJCQkJMEZDNDBBOTYyNDUxNDk4RDAwODc2REEwIC8qIHBhc19nZXRfYWxsb2NhdGlvbl9zaXpl
LmggKi8sCiAJCQkJMEZDNDBBRTEyNDUxNDk5MjAwODc2REEwIC8qIHBhc19nZXRfaGVhcC5oICov
LAogCQkJCTBGODcwMDE5MjVBRjg5QzcwMDBFMUFCRiAvKiBwYXNfZ2V0X29iamVjdF9raW5kLmgg
Ki8sCisJCQkJMkNFMkFFMkIyNzU5NkRFQjAwRDAyQkJDIC8qIHBhc19nZXRfcGFnZV9iYXNlX2Fu
ZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlLmggKi8sCiAJCQkJMEY4NzAw
MUMyNUFGODlDODAwMEUxQUJGIC8qIHBhc19nZXRfcGFnZV9iYXNlLmggKi8sCiAJCQkJMEZDNDBB
NzIyNDUxNDk4QTAwODc2REEwIC8qIHBhc19oYXNfb2JqZWN0LmggKi8sCiAJCQkJMEZDNDBBNDgy
NDUxNDk4NzAwODc2REEwIC8qIHBhc19oYXNodGFibGUuaCAqLywKLQkJCQkwRkM0MEFDQzI0NTE0
OTkxMDA4NzZEQTAgLyogcGFzX2hlYXAuYyAqLywKLQkJCQkwRkM0MEE1RjI0NTE0OTg5MDA4NzZE
QTAgLyogcGFzX2hlYXAuaCAqLywKLQkJCQkwRjFCRkQ0NTI2NjQ1QUM3MDBDRUMyOEQgLyogcGFz
X2hlYXBfY29uZmlnLmMgKi8sCi0JCQkJMEZDNDBBQUEyNDUxNDk4RTAwODc2REEwIC8qIHBhc19o
ZWFwX2NvbmZpZy5oICovLAogCQkJCTBGOEU3ODREMjQ3ODczOTQwMEUxMjRBNiAvKiBwYXNfaGVh
cF9jb25maWdfaW5saW5lcy5oICovLAogCQkJCTBGQzQwQTY5MjQ1MTQ5OEEwMDg3NkRBMCAvKiBw
YXNfaGVhcF9jb25maWdfa2luZC5jICovLAogCQkJCTBGQzQwQThEMjQ1MTQ5OEMwMDg3NkRBMCAv
KiBwYXNfaGVhcF9jb25maWdfa2luZC5kZWYgKi8sCiAJCQkJMEZDNDBBNTgyNDUxNDk4OTAwODc2
REEwIC8qIHBhc19oZWFwX2NvbmZpZ19raW5kLmggKi8sCisJCQkJMEZDNDBBNDIyNDUxNDk4NzAw
ODc2REEwIC8qIHBhc19oZWFwX2NvbmZpZ191dGlsc19pbmxpbmVzLmggKi8sCiAJCQkJMEZDNDBB
NUUyNDUxNDk4OTAwODc2REEwIC8qIHBhc19oZWFwX2NvbmZpZ191dGlscy5jICovLAogCQkJCTBG
QzQwQURCMjQ1MTQ5OTIwMDg3NkRBMCAvKiBwYXNfaGVhcF9jb25maWdfdXRpbHMuaCAqLywKLQkJ
CQkwRkM0MEE0MjI0NTE0OTg3MDA4NzZEQTAgLyogcGFzX2hlYXBfY29uZmlnX3V0aWxzX2lubGlu
ZXMuaCAqLywKKwkJCQkwRjFCRkQ0NTI2NjQ1QUM3MDBDRUMyOEQgLyogcGFzX2hlYXBfY29uZmln
LmMgKi8sCisJCQkJMEZDNDBBQUEyNDUxNDk4RTAwODc2REEwIC8qIHBhc19oZWFwX2NvbmZpZy5o
ICovLAogCQkJCTBGQzQwQTc3MjQ1MTQ5OEIwMDg3NkRBMCAvKiBwYXNfaGVhcF9mb3JfY29uZmln
LmMgKi8sCiAJCQkJMEZDNDBBOUEyNDUxNDk4RDAwODc2REEwIC8qIHBhc19oZWFwX2Zvcl9jb25m
aWcuaCAqLywKIAkJCQkwRkM0MEFEOTI0NTE0OTkyMDA4NzZEQTAgLyogcGFzX2hlYXBfaW5saW5l
cy5oICovLApAQCAtMTYzOSwxNyArMTY1MiwxOSBAQAogCQkJCTBGQzQwQUU0MjQ1MTQ5OTIwMDg3
NkRBMCAvKiBwYXNfaGVhcF9sb2NrLmMgKi8sCiAJCQkJMEZDNDBBN0IyNDUxNDk4QjAwODc2REEw
IC8qIHBhc19oZWFwX2xvY2suaCAqLywKIAkJCQkwRkM0MEFCQTI0NTE0OThGMDA4NzZEQTAgLyog
cGFzX2hlYXBfcGFnZV9wcm92aWRlci5oICovLAotCQkJCTBGQzQwQTRGMjQ1MTQ5ODgwMDg3NkRB
MCAvKiBwYXNfaGVhcF9yZWYuYyAqLywKLQkJCQkwRkM0MEE2NjI0NTE0OTg5MDA4NzZEQTAgLyog
cGFzX2hlYXBfcmVmLmggKi8sCiAJCQkJMEZDNDBBQjUyNDUxNDk4RjAwODc2REEwIC8qIHBhc19o
ZWFwX3JlZl9raW5kLmggKi8sCiAJCQkJMEZDNDBBOEUyNDUxNDk4QzAwODc2REEwIC8qIHBhc19o
ZWFwX3JlZl9wcmVmaXguaCAqLywKKwkJCQkwRkM0MEE0RjI0NTE0OTg4MDA4NzZEQTAgLyogcGFz
X2hlYXBfcmVmLmMgKi8sCisJCQkJMEZDNDBBNjYyNDUxNDk4OTAwODc2REEwIC8qIHBhc19oZWFw
X3JlZi5oICovLAogCQkJCTBGN0M5MkQ5MjZFNTdGNzUwMDZBRjAxMiAvKiBwYXNfaGVhcF9ydW50
aW1lX2NvbmZpZy5jICovLAogCQkJCTBGQzQwQUU5MjQ1MTQ5OTMwMDg3NkRBMCAvKiBwYXNfaGVh
cF9ydW50aW1lX2NvbmZpZy5oICovLAogCQkJCTBGQzQwQUYyMjQ1MTQ5OTMwMDg3NkRBMCAvKiBw
YXNfaGVhcF9zdW1tYXJ5LmMgKi8sCiAJCQkJMEZDNDBBRDYyNDUxNDk5MTAwODc2REEwIC8qIHBh
c19oZWFwX3N1bW1hcnkuaCAqLywKKwkJCQkwRkM0MEE0RTI0NTE0OTg4MDA4NzZEQTAgLyogcGFz
X2hlYXBfdGFibGVfc3RhdGUuaCAqLywKIAkJCQkwRkM0MEFDNjI0NTE0OTkwMDA4NzZEQTAgLyog
cGFzX2hlYXBfdGFibGUuYyAqLywKIAkJCQkwRkM0MEEyRTI0NTE0OTg2MDA4NzZEQTAgLyogcGFz
X2hlYXBfdGFibGUuaCAqLywKLQkJCQkwRkM0MEE0RTI0NTE0OTg4MDA4NzZEQTAgLyogcGFzX2hl
YXBfdGFibGVfc3RhdGUuaCAqLywKKwkJCQkwRkM0MEFDQzI0NTE0OTkxMDA4NzZEQTAgLyogcGFz
X2hlYXAuYyAqLywKKwkJCQkwRkM0MEE1RjI0NTE0OTg5MDA4NzZEQTAgLyogcGFzX2hlYXAuaCAq
LywKIAkJCQkwRkM0MEE2NDI0NTE0OTg5MDA4NzZEQTAgLyogcGFzX2ltbW9ydGFsX2hlYXAuYyAq
LywKIAkJCQkwRkM0MEE5RjI0NTE0OThEMDA4NzZEQTAgLyogcGFzX2ltbW9ydGFsX2hlYXAuaCAq
LywKIAkJCQkwRkM0MEE5NDI0NTE0OThEMDA4NzZEQTAgLyogcGFzX2ltbXV0YWJsZV92ZWN0b3Iu
aCAqLywKQEAgLTE2NTcsNyArMTY3Miw2IEBACiAJCQkJMEZDNDBBNTEyNDUxNDk4ODAwODc2REEw
IC8qIHBhc19pbnRyaW5zaWNfaGVhcF9zdXBwb3J0LmggKi8sCiAJCQkJMkM0ODEzM0IyNzQwNkEz
RTAwNkNBQjU1IC8qIHBhc19sYXJnZV9leHBlbmRhYmxlX21lbW9yeS5jICovLAogCQkJCTJDNDgx
MzNGMjc0MDZBM0UwMDZDQUI1NSAvKiBwYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuaCAqLywK
LQkJCQkwRkM0MEE5QzI0NTE0OThEMDA4NzZEQTAgLyogcGFzX2xhcmdlX2ZyZWUuaCAqLywKIAkJ
CQkwRkM0MEE1NDI0NTE0OTg4MDA4NzZEQTAgLyogcGFzX2xhcmdlX2ZyZWVfaGVhcF9jb25maWcu
aCAqLywKIAkJCQkwRkFCRERDRjI0OEFCMDg0MDBBODQwQjMgLyogcGFzX2xhcmdlX2ZyZWVfaGVh
cF9kZWNsYXJhdGlvbnMuZGVmICovLAogCQkJCTBGQzQwQUNEMjQ1MTQ5OTEwMDg3NkRBMCAvKiBw
YXNfbGFyZ2VfZnJlZV9oZWFwX2RlZmVycmVkX2NvbW1pdF9sb2cuYyAqLywKQEAgLTE2NjcsMjIg
KzE2ODEsMjEgQEAKIAkJCQkwRkFCRERDRTI0OEFCMDg0MDBBODQwQjMgLyogcGFzX2xhcmdlX2Zy
ZWVfaGVhcF9oZWxwZXJzLmggKi8sCiAJCQkJMEZDNDBBNzQyNDUxNDk4QTAwODc2REEwIC8qIHBh
c19sYXJnZV9mcmVlX2lubGluZXMuaCAqLywKIAkJCQkwRkM0MEEyMzI0NTE0OTg1MDA4NzZEQTAg
LyogcGFzX2xhcmdlX2ZyZWVfdmlzaXRvci5oICovLAotCQkJCTBGQzQwQTkzMjQ1MTQ5OEQwMDg3
NkRBMCAvKiBwYXNfbGFyZ2VfaGVhcC5jICovLAotCQkJCTBGQzQwQTdBMjQ1MTQ5OEIwMDg3NkRB
MCAvKiBwYXNfbGFyZ2VfaGVhcC5oICovLAorCQkJCTBGQzQwQTlDMjQ1MTQ5OEQwMDg3NkRBMCAv
KiBwYXNfbGFyZ2VfZnJlZS5oICovLAogCQkJCTBGQzQwQTgzMjQ1MTQ5OEIwMDg3NkRBMCAvKiBw
YXNfbGFyZ2VfaGVhcF9waHlzaWNhbF9wYWdlX3NoYXJpbmdfY2FjaGUuYyAqLywKIAkJCQkwRkM0
MEFCMDI0NTE0OThGMDA4NzZEQTAgLyogcGFzX2xhcmdlX2hlYXBfcGh5c2ljYWxfcGFnZV9zaGFy
aW5nX2NhY2hlLmggKi8sCisJCQkJMEZDNDBBOTMyNDUxNDk4RDAwODc2REEwIC8qIHBhc19sYXJn
ZV9oZWFwLmMgKi8sCisJCQkJMEZDNDBBN0EyNDUxNDk4QjAwODc2REEwIC8qIHBhc19sYXJnZV9o
ZWFwLmggKi8sCisJCQkJMEZDNDBBRDQyNDUxNDk5MTAwODc2REEwIC8qIHBhc19sYXJnZV9tYXBf
ZW50cnkuaCAqLywKIAkJCQkwRkM0MEFGNDI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX2xhcmdlX21h
cC5jICovLAogCQkJCTBGQzQwQTM2MjQ1MTQ5ODYwMDg3NkRBMCAvKiBwYXNfbGFyZ2VfbWFwLmgg
Ki8sCi0JCQkJMEZDNDBBRDQyNDUxNDk5MTAwODc2REEwIC8qIHBhc19sYXJnZV9tYXBfZW50cnku
aCAqLywKKwkJCQkwRkM0MEFCRDI0NTE0OTkwMDA4NzZEQTAgLyogcGFzX2xhcmdlX3NoYXJpbmdf
cG9vbF9lcG9jaF91cGRhdGVfbW9kZS5oICovLAogCQkJCTBGQzQwQTRCMjQ1MTQ5ODgwMDg3NkRB
MCAvKiBwYXNfbGFyZ2Vfc2hhcmluZ19wb29sLmMgKi8sCiAJCQkJMEZDNDBBMUQyNDUxNDk4NDAw
ODc2REEwIC8qIHBhc19sYXJnZV9zaGFyaW5nX3Bvb2wuaCAqLywKLQkJCQkwRkM0MEFCRDI0NTE0
OTkwMDA4NzZEQTAgLyogcGFzX2xhcmdlX3NoYXJpbmdfcG9vbF9lcG9jaF91cGRhdGVfbW9kZS5o
ICovLAogCQkJCTBGQzQwQUEzMjQ1MTQ5OEUwMDg3NkRBMCAvKiBwYXNfbGFyZ2VfdXRpbGl0eV9m
cmVlX2hlYXAuYyAqLywKIAkJCQkwRkM0MEFGMTI0NTE0OTkzMDA4NzZEQTAgLyogcGFzX2xhcmdl
X3V0aWxpdHlfZnJlZV9oZWFwLmggKi8sCiAJCQkJMEY4QTgxMjQyNUY4M0UyNDAwNzkwQjRBIC8q
IHBhc19saW5lX3dvcmRfY29uZmlnLmggKi8sCiAJCQkJMEZDNDBBN0QyNDUxNDk4QjAwODc2REEw
IC8qIHBhc19saXN0X2RpcmVjdGlvbi5oICovLAotCQkJCTBGQzQwQTI4MjQ1MTQ5ODUwMDg3NkRB
MCAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yLmMgKi8sCi0JCQkJMEZDNDBBNEEyNDUxNDk4ODAwODc2
REEwIC8qIHBhc19sb2NhbF9hbGxvY2F0b3IuaCAqLywKIAkJCQkwRkM0MEE0QzI0NTE0OTg4MDA4
NzZEQTAgLyogcGFzX2xvY2FsX2FsbG9jYXRvcl9jb25maWdfa2luZC5oICovLAogCQkJCTBGQzQw
QTk4MjQ1MTQ5OEQwMDg3NkRBMCAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yX2lubGluZXMuaCAqLywK
IAkJCQkwRjdDOTJFMDI2RTU3Rjc1MDA2QUYwMTIgLyogcGFzX2xvY2FsX2FsbG9jYXRvcl9raW5k
LmggKi8sCkBAIC0xNjkwLDE0ICsxNzAzLDE2IEBACiAJCQkJMEZDNDBBNTAyNDUxNDk4ODAwODc2
REEwIC8qIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVzdWx0LmggKi8sCiAJCQkJMEY3QzkyREEyNkU1
N0Y3NTAwNkFGMDEyIC8qIHBhc19sb2NhbF9hbGxvY2F0b3Jfc2NhdmVuZ2VyX2RhdGEuYyAqLywK
IAkJCQkwRjdDOTJENDI2RTU3Rjc0MDA2QUYwMTIgLyogcGFzX2xvY2FsX2FsbG9jYXRvcl9zY2F2
ZW5nZXJfZGF0YS5oICovLAotCQkJCTBGN0M5MkQ2MjZFNTdGNzUwMDZBRjAxMiAvKiBwYXNfbG9j
YWxfdmlld19jYWNoZS5jICovLAotCQkJCTBGN0M5MkRFMjZFNTdGNzUwMDZBRjAxMiAvKiBwYXNf
bG9jYWxfdmlld19jYWNoZS5oICovLAorCQkJCTBGQzQwQTI4MjQ1MTQ5ODUwMDg3NkRBMCAvKiBw
YXNfbG9jYWxfYWxsb2NhdG9yLmMgKi8sCisJCQkJMEZDNDBBNEEyNDUxNDk4ODAwODc2REEwIC8q
IHBhc19sb2NhbF9hbGxvY2F0b3IuaCAqLywKIAkJCQkwRjdDOTJFMTI2RTU3Rjc1MDA2QUYwMTIg
LyogcGFzX2xvY2FsX3ZpZXdfY2FjaGVfbm9kZS5jICovLAogCQkJCTBGN0M5MkRDMjZFNTdGNzUw
MDZBRjAxMiAvKiBwYXNfbG9jYWxfdmlld19jYWNoZV9ub2RlLmggKi8sCi0JCQkJMEZDNDBCRDky
NDUyNDNBNDAwODc2REEwIC8qIHBhc19sb2NrLmMgKi8sCi0JCQkJMEZDNDBBOEIyNDUxNDk4QzAw
ODc2REEwIC8qIHBhc19sb2NrLmggKi8sCisJCQkJMEY3QzkyRDYyNkU1N0Y3NTAwNkFGMDEyIC8q
IHBhc19sb2NhbF92aWV3X2NhY2hlLmMgKi8sCisJCQkJMEY3QzkyREUyNkU1N0Y3NTAwNkFGMDEy
IC8qIHBhc19sb2NhbF92aWV3X2NhY2hlLmggKi8sCiAJCQkJMEZDNDBBNTYyNDUxNDk4ODAwODc2
REEwIC8qIHBhc19sb2NrX2ZyZWVfcmVhZF9wdHJfcHRyX2hhc2h0YWJsZS5jICovLAogCQkJCTBG
QzQwQUE0MjQ1MTQ5OEUwMDg3NkRBMCAvKiBwYXNfbG9ja19mcmVlX3JlYWRfcHRyX3B0cl9oYXNo
dGFibGUuaCAqLywKKwkJCQkwRkM0MEJEOTI0NTI0M0E0MDA4NzZEQTAgLyogcGFzX2xvY2suYyAq
LywKKwkJCQkwRkM0MEE4QjI0NTE0OThDMDA4NzZEQTAgLyogcGFzX2xvY2suaCAqLywKIAkJCQkw
RkM0MEFENzI0NTE0OTkxMDA4NzZEQTAgLyogcGFzX2xvZy5jICovLAogCQkJCTBGQzQwQUMxMjQ1
MTQ5OTAwMDg3NkRBMCAvKiBwYXNfbG9nLmggKi8sCiAJCQkJMEY4NzAwNEIyNUFGOEExOTAwMEUx
QUJGIC8qIHBhc19tZWRpdW1fbWVnYXBhZ2VfY2FjaGUuYyAqLywKQEAgLTE3MDksMTMgKzE3MjQs
MTUgQEAKIAkJCQkwRkM0MEE3MTI0NTE0OThBMDA4NzZEQTAgLyogcGFzX21vbm90b25pY190aW1l
LmggKi8sCiAJCQkJMEZDNDBBRDIyNDUxNDk5MTAwODc2REEwIC8qIHBhc19tdXRhdGlvbl9jb3Vu
dC5oICovLAogCQkJCTBGODcwMDRFMjVBRjhBMTkwMDBFMUFCRiAvKiBwYXNfb2JqZWN0X2tpbmQu
aCAqLywKLQkJCQkwRjg3MDA1MjI1QUY4QTFBMDAwRTFBQkYgLyogcGFzX3BhZ2VfYmFzZS5jICov
LAotCQkJCTBGODcwMDVEMjVBRjhBMUEwMDBFMUFCRiAvKiBwYXNfcGFnZV9iYXNlLmggKi8sCi0J
CQkJMEY4NzAwNjAyNUFGOEExQjAwMEUxQUJGIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmggKi8s
CisJCQkJMkNFMkFFMjcyNzU5NkRFQTAwRDAyQkJDIC8qIHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQu
aCAqLywKIAkJCQkwRjg3MDA1RTI1QUY4QTFCMDAwRTFBQkYgLyogcGFzX3BhZ2VfYmFzZV9jb25m
aWdfaW5saW5lcy5oICovLAotCQkJCTBGODcwMDREMjVBRjhBMTkwMDBFMUFCRiAvKiBwYXNfcGFn
ZV9iYXNlX2NvbmZpZ191dGlscy5oICovLAogCQkJCTBGODcwMDU2MjVBRjhBMUEwMDBFMUFCRiAv
KiBwYXNfcGFnZV9iYXNlX2NvbmZpZ191dGlsc19pbmxpbmVzLmggKi8sCisJCQkJMEY4NzAwNEQy
NUFGOEExOTAwMEUxQUJGIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnX3V0aWxzLmggKi8sCisJCQkJ
MkNFMkFFMjgyNzU5NkRFQTAwRDAyQkJDIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmMgKi8sCisJ
CQkJMEY4NzAwNjAyNUFGOEExQjAwMEUxQUJGIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmggKi8s
CiAJCQkJMEY4NzAwNTAyNUFGOEExQTAwMEUxQUJGIC8qIHBhc19wYWdlX2Jhc2VfaW5saW5lcy5o
ICovLAorCQkJCTBGODcwMDUyMjVBRjhBMUEwMDBFMUFCRiAvKiBwYXNfcGFnZV9iYXNlLmMgKi8s
CisJCQkJMEY4NzAwNUQyNUFGOEExQTAwMEUxQUJGIC8qIHBhc19wYWdlX2Jhc2UuaCAqLywKIAkJ
CQkwRjg3MDA0QTI1QUY4QTE5MDAwRTFBQkYgLyogcGFzX3BhZ2VfY29uZmlnX2tpbmQuaCAqLywK
IAkJCQkwRjg3MDA2MjI1QUY4QTFCMDAwRTFBQkYgLyogcGFzX3BhZ2VfZ3JhbnVsZV91c2VfY291
bnQuaCAqLywKIAkJCQkwRjg3MDA0OTI1QUY4QTE5MDAwRTFBQkYgLyogcGFzX3BhZ2VfaGVhZGVy
X3BsYWNlbWVudF9tb2RlLmggKi8sCkBAIC0xNzI1LDEzICsxNzQyLDEzIEBACiAJCQkJMEZDNDBB
ODkyNDUxNDk4QzAwODc2REEwIC8qIHBhc19wYWdlX21hbGxvYy5jICovLAogCQkJCTBGQzQwQUY1
MjQ1MTQ5OTQwMDg3NkRBMCAvKiBwYXNfcGFnZV9tYWxsb2MuaCAqLywKIAkJCQkwRjg3MDA1QjI1
QUY4QTFBMDAwRTFBQkYgLyogcGFzX3BhZ2Vfc2hhcmluZ19tb2RlLmggKi8sCisJCQkJMEZDNDBB
QTAyNDUxNDk4RTAwODc2REEwIC8qIHBhc19wYWdlX3NoYXJpbmdfcGFydGljaXBhbnRfa2luZC5o
ICovLAogCQkJCTBGQzQwQTMzMjQ1MTQ5ODYwMDg3NkRBMCAvKiBwYXNfcGFnZV9zaGFyaW5nX3Bh
cnRpY2lwYW50LmMgKi8sCiAJCQkJMEZDNDBBNEQyNDUxNDk4ODAwODc2REEwIC8qIHBhc19wYWdl
X3NoYXJpbmdfcGFydGljaXBhbnQuaCAqLywKLQkJCQkwRkM0MEFBMDI0NTE0OThFMDA4NzZEQTAg
LyogcGFzX3BhZ2Vfc2hhcmluZ19wYXJ0aWNpcGFudF9raW5kLmggKi8sCi0JCQkJMEZDNDBBQUYy
NDUxNDk4RjAwODc2REEwIC8qIHBhc19wYWdlX3NoYXJpbmdfcG9vbC5jICovLAotCQkJCTBGQzQw
QUE5MjQ1MTQ5OEUwMDg3NkRBMCAvKiBwYXNfcGFnZV9zaGFyaW5nX3Bvb2wuaCAqLywKIAkJCQkw
RjdDOTJEMjI2RTU3Rjc0MDA2QUYwMTIgLyogcGFzX3BhZ2Vfc2hhcmluZ19wb29sX3NjYXZlbmdl
X3Jlc3VsdC5oICovLAogCQkJCTBGQzQwQTczMjQ1MTQ5OEEwMDg3NkRBMCAvKiBwYXNfcGFnZV9z
aGFyaW5nX3Bvb2xfdGFrZV9yZXN1bHQuaCAqLywKKwkJCQkwRkM0MEFBRjI0NTE0OThGMDA4NzZE
QTAgLyogcGFzX3BhZ2Vfc2hhcmluZ19wb29sLmMgKi8sCisJCQkJMEZDNDBBQTkyNDUxNDk4RTAw
ODc2REEwIC8qIHBhc19wYWdlX3NoYXJpbmdfcG9vbC5oICovLAogCQkJCTBGODcwMDRDMjVBRjhB
MTkwMDBFMUFCRiAvKiBwYXNfcGF5bG9hZF9yZXNlcnZhdGlvbl9wYWdlX2xpc3QuYyAqLywKIAkJ
CQkwRjg3MDA1QzI1QUY4QTFBMDAwRTFBQkYgLyogcGFzX3BheWxvYWRfcmVzZXJ2YXRpb25fcGFn
ZV9saXN0LmggKi8sCiAJCQkJMEZDNDBBMzcyNDUxNDk4NjAwODc2REEwIC8qIHBhc19waHlzaWNh
bF9tZW1vcnlfc3luY2hyb25pemF0aW9uX3N0eWxlLmggKi8sCkBAIC0xNzUwLDExICsxNzY3LDEx
IEBACiAJCQkJMEZDNDBBNDAyNDUxNDk4NzAwODc2REEwIC8qIHBhc19yYWNlX3Rlc3RfaG9va3Mu
aCAqLywKIAkJCQkwRkM0MEExRjI0NTE0OTg1MDA4NzZEQTAgLyogcGFzX3JhbmRvbS5jICovLAog
CQkJCTBGQzQwQTg0MjQ1MTQ5OEMwMDg3NkRBMCAvKiBwYXNfcmFuZG9tLmggKi8sCi0JCQkJMEZD
NDBBMjcyNDUxNDk4NTAwODc2REEwIC8qIHBhc19yYW5nZS5oICovLAotCQkJCTBGQzQwQTc1MjQ1
MTQ5OEIwMDg3NkRBMCAvKiBwYXNfcmFuZ2UxNi5oICovLAogCQkJCTBGODcwMDU0MjVBRjhBMUEw
MDBFMUFCRiAvKiBwYXNfcmFuZ2VfYmVnaW5fbWluX2hlYXAuaCAqLywKIAkJCQkwRkM0MEFEODI0
NTE0OTkyMDA4NzZEQTAgLyogcGFzX3JhbmdlX2xvY2tlZF9tb2RlLmggKi8sCiAJCQkJMEZDNDBB
QkMyNDUxNDk5MDAwODc2REEwIC8qIHBhc19yYW5nZV9taW5faGVhcC5oICovLAorCQkJCTBGQzQw
QTI3MjQ1MTQ5ODUwMDg3NkRBMCAvKiBwYXNfcmFuZ2UuaCAqLywKKwkJCQkwRkM0MEE3NTI0NTE0
OThCMDA4NzZEQTAgLyogcGFzX3JhbmdlMTYuaCAqLywKIAkJCQkwRkM0MEE0NDI0NTE0OTg3MDA4
NzZEQTAgLyogcGFzX3JlYWxsb2NhdGVfZnJlZV9tb2RlLmggKi8sCiAJCQkJMEZDNDBBODYyNDUx
NDk4QzAwODc2REEwIC8qIHBhc19yZWFsbG9jYXRlX2hlYXBfdGVsZXBvcnRfcnVsZS5oICovLAog
CQkJCTBGQzQwQUJGMjQ1MTQ5OTAwMDg3NkRBMCAvKiBwYXNfcmVkX2JsYWNrX3RyZWUuYyAqLywK
QEAgLTE3NjgsNTUgKzE3ODUsNTkgQEAKIAkJCQkwRkM0MEE2RDI0NTE0OThBMDA4NzZEQTAgLyog
cGFzX3NjYXZlbmdlci5jICovLAogCQkJCTBGQzQwQTU3MjQ1MTQ5ODgwMDg3NkRBMCAvKiBwYXNf
c2NhdmVuZ2VyLmggKi8sCiAJCQkJMEZDNDBBNzAyNDUxNDk4QTAwODc2REEwIC8qIHBhc19zZWdt
ZW50ZWRfdmVjdG9yLmggKi8sCisJCQkJMkNFMkFFMkMyNzU5NkRFQjAwRDAyQkJDIC8qIHBhc19z
ZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUuaCAqLywKIAkJCQkwRjdDOTJENTI2
RTU3Rjc0MDA2QUYwMTIgLyogcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX21vZGUuaCAqLywK
LQkJCQkwRkM0MEEyNDI0NTE0OTg1MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5
LmMgKi8sCi0JCQkJMEZDNDBBNkYyNDUxNDk4QTAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX2Rp
cmVjdG9yeS5oICovLAogCQkJCTBGQzQwQTkwMjQ1MTQ5OEMwMDg3NkRBMCAvKiBwYXNfc2VncmVn
YXRlZF9kaXJlY3RvcnlfYml0X3JlZmVyZW5jZS5oICovLAogCQkJCTBGODcwMDU4MjVBRjhBMUEw
MDBFMUFCRiAvKiBwYXNfc2VncmVnYXRlZF9kaXJlY3RvcnlfZmlyc3RfZWxpZ2libGVfa2luZC5o
ICovLAogCQkJCTBGQzQwQTgwMjQ1MTQ5OEIwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9kaXJl
Y3RvcnlfaW5saW5lcy5oICovLAogCQkJCTBGQzQwQUVFMjQ1MTQ5OTMwMDg3NkRBMCAvKiBwYXNf
c2VncmVnYXRlZF9kaXJlY3Rvcnlfa2luZC5oICovLAorCQkJCTBGQzQwQTI0MjQ1MTQ5ODUwMDg3
NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9kaXJlY3RvcnkuYyAqLywKKwkJCQkwRkM0MEE2RjI0NTE0
OThBMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5LmggKi8sCisJCQkJMEYxOEY4
M0MyNUMzNDY3NzAwNzIxQzJBIC8qIHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3X2lubGlu
ZXMuaCAqLywKIAkJCQkwRkM0MEFFNjI0NTE0OTkzMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRf
ZXhjbHVzaXZlX3ZpZXcuYyAqLywKIAkJCQkwRkM0MEE2QjI0NTE0OThBMDA4NzZEQTAgLyogcGFz
X3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXcuaCAqLywKLQkJCQkwRjE4RjgzQzI1QzM0Njc3MDA3
MjFDMkEgLyogcGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXdfaW5saW5lcy5oICovLAotCQkJ
CTBGQzQwQURDMjQ1MTQ5OTIwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9oZWFwLmMgKi8sCi0J
CQkJMEZDNDBBMkYyNDUxNDk4NjAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX2hlYXAuaCAqLywK
IAkJCQkwRkM0MEEyMDI0NTE0OTg1MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfaGVhcF9pbmxp
bmVzLmggKi8sCiAJCQkJMEZDNDBBN0YyNDUxNDk4QjAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVk
X2hlYXBfbG9va3VwX2tpbmQuaCAqLywKLQkJCQkwRkM0MEFERjI0NTE0OTkyMDA4NzZEQTAgLyog
cGFzX3NlZ3JlZ2F0ZWRfcGFnZS5jICovLAotCQkJCTBGQzQwQTM4MjQ1MTQ5ODYwMDg3NkRBMCAv
KiBwYXNfc2VncmVnYXRlZF9wYWdlLmggKi8sCisJCQkJMEZDNDBBREMyNDUxNDk5MjAwODc2REEw
IC8qIHBhc19zZWdyZWdhdGVkX2hlYXAuYyAqLywKKwkJCQkwRkM0MEEyRjI0NTE0OTg2MDA4NzZE
QTAgLyogcGFzX3NlZ3JlZ2F0ZWRfaGVhcC5oICovLAogCQkJCTBGNUZFN0QxMjVCNjIxMEMwMDE4
NTlGQyAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2FuZF9jb25maWcuaCAqLywKLQkJCQkwRkM0MEE0
MTI0NTE0OTg3MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcuYyAqLywKLQkJ
CQkwRkM0MEFEMTI0NTE0OTkxMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcu
aCAqLywKIAkJCQkwRkM0MEFEQTI0NTE0OTkyMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9jb25maWdfaW5saW5lcy5oICovLAorCQkJCTJDRTJBRTJBMjc1OTZERUEwMEQwMkJCQyAvKiBw
YXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmMgKi8sCisJCQkJMkNFMkFF
MjkyNzU5NkRFQTAwRDAyQkJDIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5k
X3JvbGUuaCAqLywKIAkJCQkwRkM0MEFFNTI0NTE0OTkzMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25maWdfa2luZC5jICovLAogCQkJCTBGQzQwQTc2MjQ1MTQ5OEIwMDg3NkRBMCAv
KiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kLmRlZiAqLywKIAkJCQkwRkM0MEE1QTI0
NTE0OTg5MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZC5oICovLAot
CQkJCTBGQzQwQTk3MjQ1MTQ5OEQwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZp
Z191dGlscy5oICovLAogCQkJCTBGQzQwQTU1MjQ1MTQ5ODgwMDg3NkRBMCAvKiBwYXNfc2VncmVn
YXRlZF9wYWdlX2NvbmZpZ191dGlsc19pbmxpbmVzLmggKi8sCisJCQkJMEZDNDBBOTcyNDUxNDk4
RDAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3V0aWxzLmggKi8sCiAJCQkJ
MEY1RkU3QzkyNUI2MjEwQjAwMTg1OUZDIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3Zh
cmlhbnQuaCAqLywKKwkJCQkwRkM0MEE0MTI0NTE0OTg3MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25maWcuYyAqLywKKwkJCQkwRkM0MEFEMTI0NTE0OTkxMDA4NzZEQTAgLyogcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcuaCAqLywKIAkJCQkwRkM0MEFBQzI0NTE0OThFMDA4NzZE
QTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9lbXB0aW5lc3Nfa2luZC5oICovLAogCQkJCTBGQzQw
QUREMjQ1MTQ5OTIwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2lubGluZXMuaCAqLywK
KwkJCQkyQ0UyQUUyNjI3NTk2REVBMDBEMDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xl
LmggKi8sCisJCQkJMEZDNDBBREYyNDUxNDk5MjAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3Bh
Z2UuYyAqLywKKwkJCQkwRkM0MEEzODI0NTE0OTg2MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRf
cGFnZS5oICovLAorCQkJCTBGQzQwQURFMjQ1MTQ5OTIwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRl
ZF9wYXJ0aWFsX3ZpZXdfaW5saW5lcy5oICovLAogCQkJCTBGQzQwQTNDMjQ1MTQ5ODcwMDg3NkRB
MCAvKiBwYXNfc2VncmVnYXRlZF9wYXJ0aWFsX3ZpZXcuYyAqLywKIAkJCQkwRkM0MEEyMTI0NTE0
OTg1MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFydGlhbF92aWV3LmggKi8sCi0JCQkJMEZD
NDBBREUyNDUxNDk5MjAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmlld19pbmxp
bmVzLmggKi8sCisJCQkJMEZDNDBBRjcyNDUxNDk5NDAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVk
X3NoYXJlZF9oYW5kbGVfaW5saW5lcy5oICovLAogCQkJCTBGQzQwQUYzMjQ1MTQ5OTQwMDg3NkRB
MCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfaGFuZGxlLmMgKi8sCiAJCQkJMEZDNDBBNkEyNDUx
NDk4QTAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3NoYXJlZF9oYW5kbGUuaCAqLywKLQkJCQkw
RkM0MEFGNzI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRsZV9p
bmxpbmVzLmggKi8sCiAJCQkJMEZDNDBBNTMyNDUxNDk4ODAwODc2REEwIC8qIHBhc19zZWdyZWdh
dGVkX3NoYXJlZF9wYWdlX2RpcmVjdG9yeS5jICovLAogCQkJCTBGQzQwQUJCMjQ1MTQ5OEYwMDg3
NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkuaCAqLywKKwkJCQkw
RkM0MEE4ODI0NTE0OThDMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXdfaW5s
aW5lcy5oICovLAogCQkJCTBGQzQwQTQ5MjQ1MTQ5ODcwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRl
ZF9zaGFyZWRfdmlldy5jICovLAogCQkJCTBGQzQwQTMyMjQ1MTQ5ODYwMDg3NkRBMCAvKiBwYXNf
c2VncmVnYXRlZF9zaGFyZWRfdmlldy5oICovLAotCQkJCTBGQzQwQTg4MjQ1MTQ5OEMwMDg3NkRB
MCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfdmlld19pbmxpbmVzLmggKi8sCi0JCQkJMEZDNDBB
QUIyNDUxNDk4RTAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmMgKi8s
Ci0JCQkJMEZDNDBBRjYyNDUxNDk5NDAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3NpemVfZGly
ZWN0b3J5LmggKi8sCiAJCQkJMEY3QzkyREQyNkU1N0Y3NTAwNkFGMDEyIC8qIHBhc19zZWdyZWdh
dGVkX3NpemVfZGlyZWN0b3J5X2NyZWF0aW9uX21vZGUuaCAqLywKIAkJCQkwRkM0MEEyMjI0NTE0
OTg1MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfaW5saW5lcy5oICov
LAotCQkJCTBGQzQwQTZFMjQ1MTQ5OEEwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF92aWV3LmMg
Ki8sCi0JCQkJMEZDNDBBRUYyNDUxNDk5MzAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVkX3ZpZXcu
aCAqLywKKwkJCQkwRkM0MEFBQjI0NTE0OThFMDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfc2l6
ZV9kaXJlY3RvcnkuYyAqLywKKwkJCQkwRkM0MEFGNjI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX3Nl
Z3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkuaCAqLywKIAkJCQkwRjE4Rjg1NzI1QzM0N0YzMDA3MjFD
MkEgLyogcGFzX3NlZ3JlZ2F0ZWRfdmlld19hbGxvY2F0b3JfaW5saW5lcy5oICovLAogCQkJCTBG
QzQwQTg1MjQ1MTQ5OEMwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF92aWV3X2tpbmQuaCAqLywK
LQkJCQkwRjVGRTdEQjI1QjYyMTBEMDAxODU5RkMgLyogcGFzX3NoYXJlZF9oYW5kbGVfb3JfcGFn
ZV9ib3VuZGFyeS5oICovLAorCQkJCTBGQzQwQTZFMjQ1MTQ5OEEwMDg3NkRBMCAvKiBwYXNfc2Vn
cmVnYXRlZF92aWV3LmMgKi8sCisJCQkJMEZDNDBBRUYyNDUxNDk5MzAwODc2REEwIC8qIHBhc19z
ZWdyZWdhdGVkX3ZpZXcuaCAqLywKIAkJCQkwRjVGRTdDRjI1QjYyMTBDMDAxODU5RkMgLyogcGFz
X3NoYXJlZF9oYW5kbGVfb3JfcGFnZV9ib3VuZGFyeV9pbmxpbmVzLmggKi8sCisJCQkJMEY1RkU3
REIyNUI2MjEwRDAwMTg1OUZDIC8qIHBhc19zaGFyZWRfaGFuZGxlX29yX3BhZ2VfYm91bmRhcnku
aCAqLywKIAkJCQkwRkNDRDE0MjI2NTYwMTg2MDAxNzFBMUYgLyogcGFzX3NoYXJlZF9wYWdlX2Rp
cmVjdG9yeV9ieV9zaXplLmMgKi8sCiAJCQkJMEZDQ0QxNDMyNjU2MDE4NjAwMTcxQTFGIC8qIHBh
c19zaGFyZWRfcGFnZV9kaXJlY3RvcnlfYnlfc2l6ZS5oICovLAogCQkJCTBGQzQwQTQ2MjQ1MTQ5
ODcwMDg3NkRBMCAvKiBwYXNfc2ltcGxlX2ZyZWVfaGVhcF9kZWNsYXJhdGlvbnMuZGVmICovLApA
QCAtMTgyOCw4ICsxODQ5LDggQEAKIAkJCQkyQzExRTg5NDI3MjhERTI3MDAyMTYyRDAgLyogcGFz
X3NpbXBsZV90eXBlLmMgKi8sCiAJCQkJMEZDNDBBMjYyNDUxNDk4NTAwODc2REEwIC8qIHBhc19z
aW1wbGVfdHlwZS5oICovLAogCQkJCTJDOTFFNTUxMjcxQ0U0N0EwMEQ2N0ZGOSAvKiBwYXNfc2l6
ZV9sb29rdXBfbW9kZS5oICovLAotCQkJCTBGQzQwQTkyMjQ1MTQ5OEQwMDg3NkRBMCAvKiBwYXNf
c2xvd19wYXRoX21vZGUuaCAqLywKIAkJCQkwRkM0MEE2MTI0NTE0OTg5MDA4NzZEQTAgLyogcGFz
X3Nsb3dfcGF0aF9tb2RlX3ByZWZpeC5oICovLAorCQkJCTBGQzQwQTkyMjQ1MTQ5OEQwMDg3NkRB
MCAvKiBwYXNfc2xvd19wYXRoX21vZGUuaCAqLywKIAkJCQkwRkM0MEFENTI0NTE0OTkxMDA4NzZE
QTAgLyogcGFzX3NtYWxsX2xhcmdlX21hcF9lbnRyeS5oICovLAogCQkJCTBGQzQwQUVCMjQ1MTQ5
OTMwMDg3NkRBMCAvKiBwYXNfc25wcmludGYuaCAqLywKIAkJCQkwRkM0MEExRTI0NTE0OTg0MDA4
NzZEQTAgLyogcGFzX3N0YXR1c19yZXBvcnRlci5jICovLApAQCAtMTgzOCw0NCArMTg1OSw0NCBA
QAogCQkJCTBGQzQwQUI5MjQ1MTQ5OEYwMDg3NkRBMCAvKiBwYXNfc3RyZWFtLmggKi8sCiAJCQkJ
MEZDNDBBOTUyNDUxNDk4RDAwODc2REEwIC8qIHBhc19zdHJpbmdfc3RyZWFtLmMgKi8sCiAJCQkJ
MEZDNDBBM0YyNDUxNDk4NzAwODc2REEwIC8qIHBhc19zdHJpbmdfc3RyZWFtLmggKi8sCi0JCQkJ
MEZDNDBBN0MyNDUxNDk4QjAwODc2REEwIC8qIHBhc190aHJlYWRfbG9jYWxfY2FjaGUuYyAqLywK
LQkJCQkwRkM0MEFDNzI0NTE0OTkwMDA4NzZEQTAgLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZS5o
ICovLAotCQkJCTBGQzQwQTYyMjQ1MTQ5ODkwMDg3NkRBMCAvKiBwYXNfdGhyZWFkX2xvY2FsX2Nh
Y2hlX2xheW91dC5jICovLAotCQkJCTBGQzQwQTgyMjQ1MTQ5OEIwMDg3NkRBMCAvKiBwYXNfdGhy
ZWFkX2xvY2FsX2NhY2hlX2xheW91dC5oICovLAorCQkJCTBGN0M5MkQ4MjZFNTdGNzUwMDZBRjAx
MiAvKiBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dF9ub2RlX2tpbmQuaCAqLywKIAkJCQkw
RjhFODMyNzI0OTJFQUYzMDA0NkQ3RjggLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXRf
bm9kZS5jICovLAogCQkJCTBGOEU4MzI4MjQ5MkVBRjMwMDQ2RDdGOCAvKiBwYXNfdGhyZWFkX2xv
Y2FsX2NhY2hlX2xheW91dF9ub2RlLmggKi8sCi0JCQkJMEY3QzkyRDgyNkU1N0Y3NTAwNkFGMDEy
IC8qIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfbGF5b3V0X25vZGVfa2luZC5oICovLAorCQkJCTBG
QzQwQTYyMjQ1MTQ5ODkwMDg3NkRBMCAvKiBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dC5j
ICovLAorCQkJCTBGQzQwQTgyMjQ1MTQ5OEIwMDg3NkRBMCAvKiBwYXNfdGhyZWFkX2xvY2FsX2Nh
Y2hlX2xheW91dC5oICovLAogCQkJCTBGQzQwQUEyMjQ1MTQ5OEUwMDg3NkRBMCAvKiBwYXNfdGhy
ZWFkX2xvY2FsX2NhY2hlX25vZGUuYyAqLywKIAkJCQkwRkM0MEFBNzI0NTE0OThFMDA4NzZEQTAg
LyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9ub2RlLmggKi8sCisJCQkJMEZDNDBBN0MyNDUxNDk4
QjAwODc2REEwIC8qIHBhc190aHJlYWRfbG9jYWxfY2FjaGUuYyAqLywKKwkJCQkwRkM0MEFDNzI0
NTE0OTkwMDA4NzZEQTAgLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZS5oICovLAogCQkJCTBGQzQw
QTc4MjQ1MTQ5OEIwMDg3NkRBMCAvKiBwYXNfdGlueV9sYXJnZV9tYXBfZW50cnkuaCAqLywKIAkJ
CQkwRkM0MEFDNTI0NTE0OTkwMDA4NzZEQTAgLyogcGFzX3RyZWVfZGlyZWN0aW9uLmggKi8sCiAJ
CQkJMEY4QTgwMUMyNUNGOTM4QTAwNzkwQjRBIC8qIHBhc190cmlfc3RhdGUuaCAqLywKLQkJCQkw
RkM0MEE2NTI0NTE0OTg5MDA4NzZEQTAgLyogcGFzX3RyeV9hbGxvY2F0ZS5oICovLAogCQkJCTBG
QzQwQTUyMjQ1MTQ5ODgwMDg3NkRBMCAvKiBwYXNfdHJ5X2FsbG9jYXRlX2FycmF5LmggKi8sCiAJ
CQkJMEZDNDBBMzkyNDUxNDk4NjAwODc2REEwIC8qIHBhc190cnlfYWxsb2NhdGVfY29tbW9uLmgg
Ki8sCiAJCQkJMEY3NTJEOTEyNzA2NkZDQjAwQURGNzREIC8qIHBhc190cnlfYWxsb2NhdGVfaW50
cmluc2ljLmggKi8sCiAJCQkJMEZDNDBBMkIyNDUxNDk4NTAwODc2REEwIC8qIHBhc190cnlfYWxs
b2NhdGVfcHJpbWl0aXZlLmggKi8sCisJCQkJMEZDNDBBNjUyNDUxNDk4OTAwODc2REEwIC8qIHBh
c190cnlfYWxsb2NhdGUuaCAqLywKIAkJCQkwRkM0MEEzMDI0NTE0OTg2MDA4NzZEQTAgLyogcGFz
X3RyeV9yZWFsbG9jYXRlLmggKi8sCiAJCQkJMEY1MTkzRjQyNjZDNDJCRjAwNDgzQTJDIC8qIHBh
c190cnlfc2hyaW5rLmggKi8sCi0JCQkJMEZDNDBBMzEyNDUxNDk4NjAwODc2REEwIC8qIHBhc191
dGlsaXR5X2hlYXAuYyAqLywKLQkJCQkwRkM0MEFEMDI0NTE0OTkxMDA4NzZEQTAgLyogcGFzX3V0
aWxpdHlfaGVhcC5oICovLAogCQkJCTBGQzQwQTJDMjQ1MTQ5ODUwMDg3NkRBMCAvKiBwYXNfdXRp
bGl0eV9oZWFwX2NvbmZpZy5jICovLAogCQkJCTBGQzQwQTlEMjQ1MTQ5OEQwMDg3NkRBMCAvKiBw
YXNfdXRpbGl0eV9oZWFwX2NvbmZpZy5oICovLAogCQkJCTBGQzQwQTFDMjQ1MTQ5ODQwMDg3NkRB
MCAvKiBwYXNfdXRpbGl0eV9oZWFwX3N1cHBvcnQuaCAqLywKKwkJCQkwRkM0MEEzMTI0NTE0OTg2
MDA4NzZEQTAgLyogcGFzX3V0aWxpdHlfaGVhcC5jICovLAorCQkJCTBGQzQwQUQwMjQ1MTQ5OTEw
MDg3NkRBMCAvKiBwYXNfdXRpbGl0eV9oZWFwLmggKi8sCisJCQkJMEZDNDBBNUMyNDUxNDk4OTAw
ODc2REEwIC8qIHBhc191dGlsc19wcmVmaXguaCAqLywKIAkJCQkwRkM0MEFFNzI0NTE0OTkzMDA4
NzZEQTAgLyogcGFzX3V0aWxzLmMgKi8sCiAJCQkJMEZDNDBBRDMyNDUxNDk5MTAwODc2REEwIC8q
IHBhc191dGlscy5oICovLAotCQkJCTBGQzQwQTVDMjQ1MTQ5ODkwMDg3NkRBMCAvKiBwYXNfdXRp
bHNfcHJlZml4LmggKi8sCiAJCQkJMEY4NzAwODcyNUFGOTQ2MjAwMEUxQUJGIC8qIHBhc192ZXJz
aW9uZWRfZmllbGQuYyAqLywKIAkJCQkwRkM0MEEyRDI0NTE0OTg2MDA4NzZEQTAgLyogcGFzX3Zl
cnNpb25lZF9maWVsZC5oICovLAorCQkJCTBGQzQwQUUwMjQ1MTQ5OTIwMDg3NkRBMCAvKiBwYXNf
dmlydHVhbF9yYW5nZV9taW5faGVhcC5oICovLAogCQkJCTBGQzQwQUJFMjQ1MTQ5OTAwMDg3NkRB
MCAvKiBwYXNfdmlydHVhbF9yYW5nZS5jICovLAogCQkJCTBGQzQwQUVEMjQ1MTQ5OTMwMDg3NkRB
MCAvKiBwYXNfdmlydHVhbF9yYW5nZS5oICovLAotCQkJCTBGQzQwQUUwMjQ1MTQ5OTIwMDg3NkRB
MCAvKiBwYXNfdmlydHVhbF9yYW5nZV9taW5faGVhcC5oICovLAogCQkJCTBGQzQwQUVBMjQ1MTQ5
OTMwMDg3NkRBMCAvKiBwYXNfemVyb19tb2RlLmggKi8sCi0JCQkJMEY4NzAwQ0UyNUIwQ0IwMzAw
MEUxQUJGIC8qIHRoaW5neV9oZWFwLmMgKi8sCi0JCQkJMEY4NzAwQ0EyNUIwQ0IwMjAwMEUxQUJG
IC8qIHRoaW5neV9oZWFwLmggKi8sCiAJCQkJMEY4NzAwQ0QyNUIwQ0IwMjAwMEUxQUJGIC8qIHRo
aW5neV9oZWFwX2NvbmZpZy5jICovLAogCQkJCTBGODcwMENDMjVCMENCMDIwMDBFMUFCRiAvKiB0
aGluZ3lfaGVhcF9jb25maWcuaCAqLywKIAkJCQkwRjg3MDBDQjI1QjBDQjAyMDAwRTFBQkYgLyog
dGhpbmd5X2hlYXBfcHJlZml4LmggKi8sCisJCQkJMEY4NzAwQ0UyNUIwQ0IwMzAwMEUxQUJGIC8q
IHRoaW5neV9oZWFwLmMgKi8sCisJCQkJMEY4NzAwQ0EyNUIwQ0IwMjAwMEUxQUJGIC8qIHRoaW5n
eV9oZWFwLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGxpYnBhczsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0yMTkwLDYgKzIyMTEsNyBAQAogCQkJCTBGQzQwOUZDMjQ1MTQ5NjQwMDg3
NkRBMCAvKiBwYXNfYmFzaWNfaGVhcF9wYWdlX2NhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZDNDA5RDQyNDUxNDk2NDAwODc2REEwIC8qIHBhc19iYXNpY19oZWFwX3J1bnRpbWVfY29uZmln
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg3MDAwMjI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2Jp
YXNpbmdfZGlyZWN0b3J5X2tpbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJDRTJBRTMyMjc1OTZE
RUIwMEQwMkJCQyAvKiBwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJf
aW5fZmFzdF9tZWdhcGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDBBMEIyNDUxNDk2NDAw
ODc2REEwIC8qIHBhc19iaXRmaWVsZF92ZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODcw
MDBDMjVBRjg5N0QwMDBFMUFCRiAvKiBwYXNfYml0Zml0X2FsbG9jYXRpb25fcmVzdWx0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjg3RkZFNTI1QUY4OTdDMDAwRTFBQkYgLyogcGFzX2JpdGZpdF9h
bGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjI0NCw2ICsyMjY2LDcgQEAKIAkJCQkwRkM0
MDlFNzI0NTE0OTY0MDA4NzZEQTAgLyogcGFzX2NvbXBhY3RfY2FydGVzaWFuX3RyZWVfbm9kZV9w
dHIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJDNDgxMzQzMjc0MDZBM0UwMDZDQUI1NSAvKiBwYXNf
Y29tcGFjdF9leHBlbmRhYmxlX21lbW9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDBBMDIy
NDUxNDk2NDAwODc2REEwIC8qIHBhc19jb21wYWN0X2hlYXBfcHRyLmggaW4gSGVhZGVycyAqLywK
KwkJCQkyQ0UyQUUyRTI3NTk2REVCMDBEMDJCQkMgLyogcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDA5RDIyNDUxNDk2NDAwODc2REEwIC8qIHBhc19jb21w
YWN0X2hlYXBfcmVzZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQUJEREQ3MjQ4QUIw
OTIwMEE4NDBCMyAvKiBwYXNfY29tcGFjdF9sYXJnZV91dGlsaXR5X2ZyZWVfaGVhcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1RkU3RUQyNUI2MjEwRDAwMTg1OUZDIC8qIHBhc19jb21wYWN0X3Bh
Z2VfZ3JhbnVsZV91c2VfY291bnRfcHRyLmggaW4gSGVhZGVycyAqLywKQEAgLTIzMzMsNiArMjM1
Niw3IEBACiAJCQkJMEZDNDBCQjEyNDUxNDk5NDAwODc2REEwIC8qIHBhc19oZWFwX3N1bW1hcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzQwQjBEMjQ1MTQ5OTQwMDg3NkRBMCAvKiBwYXNfaGVh
cF90YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDBCMkMyNDUxNDk5NDAwODc2REEwIC8q
IHBhc19oZWFwX3RhYmxlX3N0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQ0UyQUUzMDI3NTk2
REVCMDBEMDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDBCN0EyNDUxNDk5NDAwODc2REEwIC8qIHBhc19pbW1v
cnRhbF9oZWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM0MEI2RjI0NTE0OTk0MDA4NzZEQTAg
LyogcGFzX2ltbXV0YWJsZV92ZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTE2RUU1MjQ1
NjE4NEYwMDRFMkI4RCAvKiBwYXNfaW50ZXJuYWxfY29uZmlnLmggaW4gSGVhZGVycyAqLywKQEAg
LTI0NDYsNiArMjQ3MCw3IEBACiAJCQkJMEZDNDBCMTEyNDUxNDk5NDAwODc2REEwIC8qIHBhc19z
ZWdyZWdhdGVkX3NoYXJlZF92aWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM0MEI2NDI0NTE0
OTk0MDA4NzZEQTAgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXdfaW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZDNDBCRDEyNDUxNDk5NDAwODc2REEwIC8qIHBhc19zZWdyZWdhdGVk
X3NpemVfZGlyZWN0b3J5LmggaW4gSGVhZGVycyAqLywKKwkJCQkyQ0UyQUUzMzI3NTk2REVCMDBE
MDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY3QzkyRUQyNkU1N0Y3NTAwNkFGMDEyIC8qIHBhc19zZWdyZWdhdGVk
X3NpemVfZGlyZWN0b3J5X2NyZWF0aW9uX21vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzQw
QjAxMjQ1MTQ5OTQwMDg3NkRBMCAvKiBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV9pbmxp
bmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM0MEJDQTI0NTE0OTk0MDA4NzZEQTAgLyogcGFz
X3NlZ3JlZ2F0ZWRfdmlldy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDgyLDYgKzI1MDcsNyBAQAog
CQkJCTBGQzQwQjBBMjQ1MTQ5OTQwMDg3NkRBMCAvKiBwYXNfdHJ5X2FsbG9jYXRlX3ByaW1pdGl2
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNDBCMEYyNDUxNDk5NDAwODc2REEwIC8qIHBhc190
cnlfcmVhbGxvY2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1MTkzRjUyNjZDNDJCRjAwNDgz
QTJDIC8qIHBhc190cnlfc2hyaW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQ0UyQUUyRDI3NTk2
REVCMDBEMDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRkM0MEJBQjI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX3V0aWxpdHlfaGVhcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZDNDBCNzgyNDUxNDk5NDAwODc2REEwIC8qIHBhc191dGlsaXR5X2hl
YXBfY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM0MEFGQjI0NTE0OTk0MDA4NzZEQTAg
LyogcGFzX3V0aWxpdHlfaGVhcF9zdXBwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTI2MjcsNiAr
MjY1Myw3IEBACiAJCQkJMEZDQTFENjkyNDU0RTY0NTAwQTc5QTI2IC8qIElzb0hlYXAuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEY3RUI4M0IxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0hlYXBJbXBs
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0ExRDZBMjQ1NEU2NDUwMEE3OUEyNiAvKiBJc29N
YWxsb2NGYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQ0UyQUUzMTI3NTk2REVCMDBE
MDJCQkMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5jIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEY1NTQ5RUYxRkI1NDcwNDAwN0ZGNzVBIC8qIElzb1BhZ2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTNGQkI1QTEyMjVFQURCMDAwREI2RkJEIC8qIElzb1NoYXJlZEhl
YXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTNGMjQ0MDQyMjVEMkM3NjAwQTBFMEMzIC8qIElz
b1NoYXJlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNzE4LDYgKzI3NDUsNyBAQAogCQkJ
CTBGN0M5MkU2MjZFNTdGNzUwMDZBRjAxMiAvKiBwYXNfbG9jYWxfdmlld19jYWNoZS5jIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEY3QzkyRjEyNkU1N0Y3NTAwNkFGMDEyIC8qIHBhc19sb2NhbF92aWV3
X2NhY2hlX25vZGUuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGQzQwQkRBMjQ1MjQzQTQwMDg3NkRB
MCAvKiBwYXNfbG9jay5jIGluIFNvdXJjZXMgKi8sCisJCQkJMkNFMkFFMkYyNzU5NkRFQjAwRDAy
QkJDIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkM0MEIz
NDI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX2xvY2tfZnJlZV9yZWFkX3B0cl9wdHJfaGFzaHRhYmxl
LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkM0MEJCMjI0NTE0OTk0MDA4NzZEQTAgLyogcGFzX2xv
Zy5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY4NzAwNjgyNUFGOEExQjAwMEUxQUJGIC8qIHBhc19t
ZWRpdW1fbWVnYXBhZ2VfY2FjaGUuYyBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL2JtYWxs
b2MvbGlicGFzL2xpYnBhcy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9saWJwYXMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL2xpYnBhcy54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01NTEsNiArNTUxLDEzIEBACiAJ
CTJDMTFFODhFMjcyOEE3ODMwMDIxNjJEMCAvKiBibWFsbG9jX3R5cGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDMTFFODhDMjcyOEE3ODMwMDIxNjJE
MCAvKiBibWFsbG9jX3R5cGUuaCAqLzsgfTsKIAkJMkMxMUU4OEYyNzI4QTc4MzAwMjE2MkQwIC8q
IHBhc19zaW1wbGVfdHlwZS5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkMxMUU4OEQyNzI4QTc4MzAwMjE2MkQwIC8qIHBhc19zaW1wbGVfdHlwZS5jICov
OyB9OwogCQkyQzExRTg5MTI3MjhBODkzMDAyMTYyRDAgLyogYm1hbGxvY190eXBlLmMgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzExRTg5MDI3MjhBODkz
MDAyMTYyRDAgLyogYm1hbGxvY190eXBlLmMgKi87IH07CisJCTJDMzQwMDAwMjc1ODE1RDAwMDU1
NjVDQiAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmMgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzM0RkZGRjI3NTgxNUQw
MDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5jICov
OyB9OworCQkyQzM0MDAwMjI3NTgxNjg3MDA1NTY1Q0IgLyogcGFzX3BhZ2VfYmFzZV9jb25maWcu
YyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDMzQwMDAx
Mjc1ODE2ODcwMDU1NjVDQiAvKiBwYXNfcGFnZV9iYXNlX2NvbmZpZy5jICovOyB9OworCQkyQzM0
RkZGQTI3NTcxRDJGMDA1NTY1Q0IgLyogcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkMzNEZGRjUyNzU3MUQyRjAw
NTU2NUNCIC8qIHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQuaCAqLzsgfTsKKwkJMkMzNEZGRkIyNzU3
MUQyRjAwNTU2NUNCIC8qIHBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhl
cl9pbl9mYXN0X21lZ2FwYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQzM0RkZGNjI3NTcxRDJGMDA1NTY1Q0IgLyogcGFzX2dldF9wYWdlX2Jhc2Vf
YW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBhZ2UuaCAqLzsgfTsKKwkJMkMz
NEZGRkMyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dn
aW5nX21vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJDMzRGRkY3Mjc1NzFEMkYwMDU1NjVDQiAvKiBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25f
bG9nZ2luZ19tb2RlLmggKi87IH07CisJCTJDMzRGRkZEMjc1NzFEMkYwMDU1NjVDQiAvKiBwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzM0RkZGODI3NTcxRDJGMDA1NTY1Q0IgLyog
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5oICovOyB9OworCQkyQzM0
RkZGRTI3NTcxRDJGMDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzM0RkZGOTI3NTcxRDJG
MDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlLmggKi87IH07CiAJCTJDM0QwRkM3
MjcyQjkyNDEwMDVDNUEwMiAvKiBIZWFwUmVmQWxsb2NhdG9ySW5kZXhUZXN0cy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzNEMEZDNjI3MkI5MjQx
MDA1QzVBMDIgLyogSGVhcFJlZkFsbG9jYXRvckluZGV4VGVzdHMuY3BwICovOyB9OwogCQkyQzQ4
MTMyNjI3M0YzNDFBMDA2Q0FCNTUgLyogcGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5LmMgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQzQ4MTMyMDI3M0Yz
NDFBMDA2Q0FCNTUgLyogcGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5LmMgKi87IH07CiAJCTJD
NDgxMzI3MjczRjM0MUEwMDZDQUI1NSAvKiBwYXNfY29tcGFjdF9leHBlbmRhYmxlX21lbW9yeS5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkM0ODEzMjEy
NzNGMzQxQTAwNkNBQjU1IC8qIHBhc19jb21wYWN0X2V4cGVuZGFibGVfbWVtb3J5LmMgKi87IH07
CkBAIC0xMjI4LDYgKzEyMzUsMTMgQEAKIAkJMkMxMUU4OEMyNzI4QTc4MzAwMjE2MkQwIC8qIGJt
YWxsb2NfdHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBibWFsbG9jX3R5
cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkMxMUU4OEQyNzI4QTc4MzAwMjE2
MkQwIC8qIHBhc19zaW1wbGVfdHlwZS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGgg
PSBwYXNfc2ltcGxlX3R5cGUuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkMxMUU4
OTAyNzI4QTg5MzAwMjE2MkQwIC8qIGJtYWxsb2NfdHlwZS5jICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmM7IHBhdGggPSBibWFsbG9jX3R5cGUuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkMzNDAwMDEyNzU4MTY4NzAwNTU2NUNCIC8qIHBhc19wYWdlX2Jhc2VfY29uZmlnLmMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHBhc19wYWdlX2Jhc2VfY29uZmlnLmM7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJDMzRGRkY1Mjc1NzFEMkYwMDU1NjVDQiAvKiBw
YXNfcGFnZV9iYXNlX2FuZF9raW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkMzNEZGRjYyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zv
cl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IHBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9m
YXN0X21lZ2FwYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJDMzRGRkY3Mjc1
NzFEMkYwMDU1NjVDQiAvKiBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHBhc19zZWdyZWdhdGVkX2RlYWxs
b2NhdGlvbl9sb2dnaW5nX21vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkMz
NEZGRjgyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRf
YW5kX3JvbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyQzM0RkZGOTI3NTcxRDJGMDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHBhc19zZWdyZWdhdGVkX3BhZ2Vf
cm9sZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQzM0RkZGRjI3NTgxNUQwMDA1
NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kX2FuZF9yb2xlLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJDM0QwRkM2Mjcy
QjkyNDEwMDVDNUEwMiAvKiBIZWFwUmVmQWxsb2NhdG9ySW5kZXhUZXN0cy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIZWFwUmVmQWxsb2NhdG9ySW5kZXhUZXN0cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJDNDgxMzIwMjczRjM0MUEwMDZDQUI1
NSAvKiBwYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnkuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBwYXRoID0gcGFzX2xhcmdlX2V4cGVuZGFibGVfbWVtb3J5LmM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJDNDgxMzIxMjczRjM0MUEwMDZDQUI1NSAvKiBwYXNfY29tcGFjdF9l
eHBlbmRhYmxlX21lbW9yeS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBwYXNf
Y29tcGFjdF9leHBlbmRhYmxlX21lbW9yeS5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM2NSw0NSArMTM3OSw0NSBAQAogCQkwRkM2ODFFNzIxMEZFNzUxMDAzQzZBMTMgLyogbGli
cGFzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkwRjhB
ODA1RjI1RUVDQzFDMDA3OTBCNEEgLyogYm1hbGxvY19oZWFwLmMgKi8sCi0JCQkJMEY4QTgwNjAy
NUVFQ0MxQzAwNzkwQjRBIC8qIGJtYWxsb2NfaGVhcC5oICovLAogCQkJCTBGOEE4MDYxMjVFRUND
MUMwMDc5MEI0QSAvKiBibWFsbG9jX2hlYXBfY29uZmlnLmMgKi8sCiAJCQkJMEY4QTgwNjIyNUVF
Q0MxQzAwNzkwQjRBIC8qIGJtYWxsb2NfaGVhcF9jb25maWcuaCAqLywKIAkJCQkwRjhBODA1RTI1
RUVDQzFDMDA3OTBCNEEgLyogYm1hbGxvY19oZWFwX2lubGluZXMuaCAqLywKIAkJCQkwRjhBODA2
NDI1RUVDQzFEMDA3OTBCNEEgLyogYm1hbGxvY19oZWFwX2lubmFyZHMuaCAqLywKIAkJCQkwRjhB
ODA2MzI1RUVDQzFEMDA3OTBCNEEgLyogYm1hbGxvY19oZWFwX3JlZi5oICovLAorCQkJCTBGOEE4
MDVGMjVFRUNDMUMwMDc5MEI0QSAvKiBibWFsbG9jX2hlYXAuYyAqLywKKwkJCQkwRjhBODA2MDI1
RUVDQzFDMDA3OTBCNEEgLyogYm1hbGxvY19oZWFwLmggKi8sCiAJCQkJMkMxMUU4OTAyNzI4QTg5
MzAwMjE2MkQwIC8qIGJtYWxsb2NfdHlwZS5jICovLAogCQkJCTJDMTFFODhDMjcyOEE3ODMwMDIx
NjJEMCAvKiBibWFsbG9jX3R5cGUuaCAqLywKLQkJCQkwRjhBODBGRTI1RjZBNzk1MDA3OTBCNEEg
LyogaG90Yml0X2hlYXAuYyAqLywKLQkJCQkwRjhBODBGRjI1RjZBNzk1MDA3OTBCNEEgLyogaG90
Yml0X2hlYXAuaCAqLywKIAkJCQkwRjhBODBGQjI1RjZBNzk1MDA3OTBCNEEgLyogaG90Yml0X2hl
YXBfY29uZmlnLmMgKi8sCiAJCQkJMEY4QTgwRkQyNUY2QTc5NTAwNzkwQjRBIC8qIGhvdGJpdF9o
ZWFwX2NvbmZpZy5oICovLAogCQkJCTBGOEE4MTAwMjVGNkE3OTUwMDc5MEI0QSAvKiBob3RiaXRf
aGVhcF9pbmxpbmVzLmggKi8sCiAJCQkJMEY4QTgwRkMyNUY2QTc5NTAwNzkwQjRBIC8qIGhvdGJp
dF9oZWFwX2lubmFyZHMuaCAqLywKLQkJCQkwRkU3RUU3NDIyOUYwMTBGMDA0RjQxNjYgLyogaXNv
X2hlYXAuYyAqLywKLQkJCQkwRkU3RUU3NTIyOUYwMTBGMDA0RjQxNjYgLyogaXNvX2hlYXAuaCAq
LywKKwkJCQkwRjhBODBGRTI1RjZBNzk1MDA3OTBCNEEgLyogaG90Yml0X2hlYXAuYyAqLywKKwkJ
CQkwRjhBODBGRjI1RjZBNzk1MDA3OTBCNEEgLyogaG90Yml0X2hlYXAuaCAqLywKIAkJCQkwRkU3
RUU1NTIyOTc0MzM1MDA0RjQxNjYgLyogaXNvX2hlYXBfY29uZmlnLmMgKi8sCiAJCQkJMEZFN0VF
NTQyMjk3NDMzNTAwNEY0MTY2IC8qIGlzb19oZWFwX2NvbmZpZy5oICovLAogCQkJCTBGNUZFN0Ez
MjVCNjE0RjIwMDE4NTlGQyAvKiBpc29faGVhcF9pbmxpbmVzLmggKi8sCiAJCQkJMEY1MTZFRTYy
NDU2MUE2MDAwNEUyQjhEIC8qIGlzb19oZWFwX2lubmFyZHMuaCAqLywKIAkJCQkwRjUyOURERTI0
NTU0NjBDMDAzODVBOEMgLyogaXNvX2hlYXBfcmVmLmggKi8sCi0JCQkJMEY1RTVDRTkyM0JFRjM1
RjAwQUEwQjZGIC8qIGlzb190ZXN0X2hlYXAuYyAqLywKLQkJCQkwRjVFNUNFQTIzQkVGMzYwMDBB
QTBCNkYgLyogaXNvX3Rlc3RfaGVhcC5oICovLAorCQkJCTBGRTdFRTc0MjI5RjAxMEYwMDRGNDE2
NiAvKiBpc29faGVhcC5jICovLAorCQkJCTBGRTdFRTc1MjI5RjAxMEYwMDRGNDE2NiAvKiBpc29f
aGVhcC5oICovLAogCQkJCTBGNUU1Q0U4MjNCRUYzNUYwMEFBMEI2RiAvKiBpc29fdGVzdF9oZWFw
X2NvbmZpZy5jICovLAogCQkJCTBGNUU1Q0VCMjNCRUYzNjAwMEFBMEI2RiAvKiBpc29fdGVzdF9o
ZWFwX2NvbmZpZy5oICovLAotCQkJCTBGNTlBMzlEMjY2ODQ3MEUwMEEzODY1NyAvKiBqaXRfaGVh
cC5jICovLAotCQkJCTBGNTlBMzhGMjY2N0YwMEUwMEEzODY1NyAvKiBqaXRfaGVhcC5oICovLAor
CQkJCTBGNUU1Q0U5MjNCRUYzNUYwMEFBMEI2RiAvKiBpc29fdGVzdF9oZWFwLmMgKi8sCisJCQkJ
MEY1RTVDRUEyM0JFRjM2MDAwQUEwQjZGIC8qIGlzb190ZXN0X2hlYXAuaCAqLywKKwkJCQkwRjU5
QTM5NzI2NjgzMTc0MDBBMzg2NTcgLyogaml0X2hlYXBfY29uZmlnX3Jvb3RfZGF0YS5oICovLAog
CQkJCTBGNTlBMzk5MjY2ODQ0QTMwMEEzODY1NyAvKiBqaXRfaGVhcF9jb25maWcuYyAqLywKIAkJ
CQkwRjU5QTM5MDI2NjdGMDBFMDBBMzg2NTcgLyogaml0X2hlYXBfY29uZmlnLmggKi8sCi0JCQkJ
MEY1OUEzOTcyNjY4MzE3NDAwQTM4NjU3IC8qIGppdF9oZWFwX2NvbmZpZ19yb290X2RhdGEuaCAq
LywKLQkJCQkwRkJENjdENjI1QkQzNjNBMDBBNDkwRDIgLyogbWluYWxpZ24zMl9oZWFwLmMgKi8s
Ci0JCQkJMEZCRDY3RDgyNUJEMzYzQTAwQTQ5MEQyIC8qIG1pbmFsaWduMzJfaGVhcC5oICovLAor
CQkJCTBGNTlBMzlEMjY2ODQ3MEUwMEEzODY1NyAvKiBqaXRfaGVhcC5jICovLAorCQkJCTBGNTlB
MzhGMjY2N0YwMEUwMEEzODY1NyAvKiBqaXRfaGVhcC5oICovLAogCQkJCTBGQkQ2N0Q3MjVCRDM2
M0EwMEE0OTBEMiAvKiBtaW5hbGlnbjMyX2hlYXBfY29uZmlnLmMgKi8sCiAJCQkJMEZCRDY3RDky
NUJEMzYzQTAwQTQ5MEQyIC8qIG1pbmFsaWduMzJfaGVhcF9jb25maWcuaCAqLywKLQkJCQkwRkJE
NjdFRjI1QkUwNzg3MDBBNDkwRDIgLyogcGFnZXNpemU2NGtfaGVhcC5jICovLAotCQkJCTBGQkQ2
N0VEMjVCRTA3ODcwMEE0OTBEMiAvKiBwYWdlc2l6ZTY0a19oZWFwLmggKi8sCisJCQkJMEZCRDY3
RDYyNUJEMzYzQTAwQTQ5MEQyIC8qIG1pbmFsaWduMzJfaGVhcC5jICovLAorCQkJCTBGQkQ2N0Q4
MjVCRDM2M0EwMEE0OTBEMiAvKiBtaW5hbGlnbjMyX2hlYXAuaCAqLywKIAkJCQkwRkJENjdFQzI1
QkUwNzg3MDBBNDkwRDIgLyogcGFnZXNpemU2NGtfaGVhcF9jb25maWcuYyAqLywKIAkJCQkwRkJE
NjdFRTI1QkUwNzg3MDBBNDkwRDIgLyogcGFnZXNpemU2NGtfaGVhcF9jb25maWcuaCAqLywKKwkJ
CQkwRkJENjdFRjI1QkUwNzg3MDBBNDkwRDIgLyogcGFnZXNpemU2NGtfaGVhcC5jICovLAorCQkJ
CTBGQkQ2N0VEMjVCRTA3ODcwMEE0OTBEMiAvKiBwYWdlc2l6ZTY0a19oZWFwLmggKi8sCiAJCQkJ
MEZDNjgxRjYyMTFDRDVERjAwM0M2QTEzIC8qIHBhc19hbGlnbmVkX2FsbG9jYXRpb25fcmVzdWx0
LmggKi8sCiAJCQkJMEZDNjgxRjMyMTFDRDVERjAwM0M2QTEzIC8qIHBhc19hbGlnbmVkX2FsbG9j
YXRvci5oICovLAogCQkJCTBGREVBNDE2MjI4QjY0MzIwMDg1RTM0MCAvKiBwYXNfYWxpZ25tZW50
LmMgKi8sCkBAIC0xNDIxLDExICsxNDM1LDExIEBACiAJCQkJMEZEQkIwN0EyMkJCRkY4MzAwNkJB
NUZDIC8qIHBhc19hbGxvY2F0b3JfY291bnRzLmggKi8sCiAJCQkJMEYyMTUwRUEyNDg0QkIyQTAw
MEQ2MzRCIC8qIHBhc19hbGxvY2F0b3JfaW5kZXguaCAqLywKIAkJCQkwRjZCNDdGQzIzMzE1QUU0
MDAyQTVFMEMgLyogcGFzX2FsbG9jYXRvcl9zY2F2ZW5nZV9hY3Rpb24uaCAqLywKLQkJCQkwRkQ0
OEIyODIzQTlBQkIzMDAyNkM0NkQgLyogcGFzX2Jhc2VsaW5lX2FsbG9jYXRvci5jICovLAotCQkJ
CTBGRDQ4QjAwMjNBOUFCQjAwMDI2QzQ2RCAvKiBwYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmggKi8s
CiAJCQkJMEZENDhCMDUyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19iYXNlbGluZV9hbGxvY2F0b3Jf
cmVzdWx0LmggKi8sCiAJCQkJMEZENDhCMDQyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19iYXNlbGlu
ZV9hbGxvY2F0b3JfdGFibGUuYyAqLywKIAkJCQkwRkQ0OEIxRjIzQTlBQkIyMDAyNkM0NkQgLyog
cGFzX2Jhc2VsaW5lX2FsbG9jYXRvcl90YWJsZS5oICovLAorCQkJCTBGRDQ4QjI4MjNBOUFCQjMw
MDI2QzQ2RCAvKiBwYXNfYmFzZWxpbmVfYWxsb2NhdG9yLmMgKi8sCisJCQkJMEZENDhCMDAyM0E5
QUJCMDAwMjZDNDZEIC8qIHBhc19iYXNlbGluZV9hbGxvY2F0b3IuaCAqLywKIAkJCQkwRjU5QTM5
QTI2Njg0NEEzMDBBMzg2NTcgLyogcGFzX2Jhc2ljX2hlYXBfY29uZmlnX2VudW1lcmF0b3JfZGF0
YS5jICovLAogCQkJCTBGNEY2MTYzMjU5QkZCODUwMDhCNEE4MiAvKiBwYXNfYmFzaWNfaGVhcF9j
b25maWdfZW51bWVyYXRvcl9kYXRhLmggKi8sCiAJCQkJMEY0RjYxNkMyNTlCRkY5MTAwOEI0QTgy
IC8qIHBhc19iYXNpY19oZWFwX2NvbmZpZ19yb290X2RhdGEuaCAqLywKQEAgLTE0MzQsMzIgKzE0
NDgsMzIgQEAKIAkJCQkwRjlBMUNBOTI1NTk5NjEyMDBDOEQxMUIgLyogcGFzX2JpYXNpbmdfZGly
ZWN0b3J5X2tpbmQuaCAqLywKIAkJCQkwRkRFQTQxOTIyOEI2NDMyMDA4NUUzNDAgLyogcGFzX2Jp
dGZpZWxkX3ZlY3Rvci5oICovLAogCQkJCTBGOUExQ0JCMjU1OTk2MTQwMEM4RDExQiAvKiBwYXNf
Yml0Zml0X2FsbG9jYXRpb25fcmVzdWx0LmggKi8sCisJCQkJMEY5QTFDRDIyNTU5OTYxNTAwQzhE
MTFCIC8qIHBhc19iaXRmaXRfYWxsb2NhdG9yX2lubGluZXMuaCAqLywKIAkJCQkwRjlBMUNDNDI1
NTk5NjE0MDBDOEQxMUIgLyogcGFzX2JpdGZpdF9hbGxvY2F0b3IuYyAqLywKIAkJCQkwRjlBMUNC
QzI1NTk5NjE0MDBDOEQxMUIgLyogcGFzX2JpdGZpdF9hbGxvY2F0b3IuaCAqLywKLQkJCQkwRjlB
MUNEMjI1NTk5NjE1MDBDOEQxMUIgLyogcGFzX2JpdGZpdF9hbGxvY2F0b3JfaW5saW5lcy5oICov
LAorCQkJCTBGOUExQ0M4MjU1OTk2MTUwMEM4RDExQiAvKiBwYXNfYml0Zml0X2RpcmVjdG9yeV9p
bmxpbmVzLmggKi8sCiAJCQkJMEY5QTFDQzEyNTU5OTYxNDAwQzhEMTFCIC8qIHBhc19iaXRmaXRf
ZGlyZWN0b3J5LmMgKi8sCiAJCQkJMEY5QTFDQjYyNTU5OTYxMzAwQzhEMTFCIC8qIHBhc19iaXRm
aXRfZGlyZWN0b3J5LmggKi8sCi0JCQkJMEY5QTFDQzgyNTU5OTYxNTAwQzhEMTFCIC8qIHBhc19i
aXRmaXRfZGlyZWN0b3J5X2lubGluZXMuaCAqLywKIAkJCQkwRjlBMUNEMTI1NTk5NjE1MDBDOEQx
MUIgLyogcGFzX2JpdGZpdF9oZWFwLmMgKi8sCiAJCQkJMEY5QTFDQ0QyNTU5OTYxNTAwQzhEMTFC
IC8qIHBhc19iaXRmaXRfaGVhcC5oICovLAogCQkJCTBGOUExQzlCMjU1OTk2MTEwMEM4RDExQiAv
KiBwYXNfYml0Zml0X21heF9mcmVlLmggKi8sCi0JCQkJMEY5QTFDQzUyNTU5OTYxNDAwQzhEMTFC
IC8qIHBhc19iaXRmaXRfcGFnZS5jICovLAotCQkJCTBGOUExQ0I3MjU1OTk2MTMwMEM4RDExQiAv
KiBwYXNfYml0Zml0X3BhZ2UuaCAqLywKLQkJCQkwRjlBMUNERDI1NTk5NjE2MDBDOEQxMUIgLyog
cGFzX2JpdGZpdF9wYWdlX2NvbmZpZy5oICovLAogCQkJCTBGNTcwOTE3MjU2QUIyMTEwMDAzN0JC
MyAvKiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2lubGluZXMuaCAqLywKIAkJCQkwRjlBMUNDOTI1
NTk5NjE1MDBDOEQxMUIgLyogcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmMgKi8sCiAJCQkJ
MEY5QTFDQ0MyNTU5OTYxNTAwQzhEMTFCIC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWdfa2luZC5k
ZWYgKi8sCiAJCQkJMEY5QTFDQUUyNTU5OTYxMzAwQzhEMTFCIC8qIHBhc19iaXRmaXRfcGFnZV9j
b25maWdfa2luZC5oICovLAotCQkJCTBGOUExQzlBMjU1OTk2MTEwMEM4RDExQiAvKiBwYXNfYml0
Zml0X3BhZ2VfY29uZmlnX3V0aWxzLmggKi8sCiAJCQkJMEY1NzA5MTkyNTZBQjQxNzAwMDM3QkIz
IC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWdfdXRpbHNfaW5saW5lcy5oICovLAorCQkJCTBGOUEx
QzlBMjU1OTk2MTEwMEM4RDExQiAvKiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX3V0aWxzLmggKi8s
CiAJCQkJMEY5QTFDQ0IyNTU5OTYxNTAwQzhEMTFCIC8qIHBhc19iaXRmaXRfcGFnZV9jb25maWdf
dmFyaWFudC5oICovLAorCQkJCTBGOUExQ0REMjU1OTk2MTYwMEM4RDExQiAvKiBwYXNfYml0Zml0
X3BhZ2VfY29uZmlnLmggKi8sCiAJCQkJMEY5QTFDQjUyNTU5OTYxMzAwQzhEMTFCIC8qIHBhc19i
aXRmaXRfcGFnZV9pbmxpbmVzLmggKi8sCisJCQkJMEY5QTFDQzUyNTU5OTYxNDAwQzhEMTFCIC8q
IHBhc19iaXRmaXRfcGFnZS5jICovLAorCQkJCTBGOUExQ0I3MjU1OTk2MTMwMEM4RDExQiAvKiBw
YXNfYml0Zml0X3BhZ2UuaCAqLywKIAkJCQkwRjlBMUNFMDI1NTk5NjE3MDBDOEQxMUIgLyogcGFz
X2JpdGZpdF9zaXplX2NsYXNzLmMgKi8sCiAJCQkJMEY5QTFDRDYyNTU5OTYxNjAwQzhEMTFCIC8q
IHBhc19iaXRmaXRfc2l6ZV9jbGFzcy5oICovLAotCQkJCTBGOUExQ0EyMjU1OTk2MTIwMEM4RDEx
QiAvKiBwYXNfYml0Zml0X3ZpZXcuYyAqLywKLQkJCQkwRjlBMUNBMTI1NTk5NjEyMDBDOEQxMUIg
LyogcGFzX2JpdGZpdF92aWV3LmggKi8sCiAJCQkJMEY5QTFENDQyNTVEQkU2MTAwQzhEMTFCIC8q
IHBhc19iaXRmaXRfdmlld19hbmRfaW5kZXguaCAqLywKIAkJCQkwRjlBMUQ0MDI1NUFGMjc5MDBD
OEQxMUIgLyogcGFzX2JpdGZpdF92aWV3X2lubGluZXMuaCAqLywKKwkJCQkwRjlBMUNBMjI1NTk5
NjEyMDBDOEQxMUIgLyogcGFzX2JpdGZpdF92aWV3LmMgKi8sCisJCQkJMEY5QTFDQTEyNTU5OTYx
MjAwQzhEMTFCIC8qIHBhc19iaXRmaXRfdmlldy5oICovLAogCQkJCTBGQzY4MUIzMjEwNkNENzkw
MDNDNkExMyAvKiBwYXNfYml0dmVjdG9yLmggKi8sCiAJCQkJMEZDNjgyM0QyMTI5RUQ1MDAwM0M2
QTEzIC8qIHBhc19ib290c3RyYXBfZnJlZV9oZWFwLmMgKi8sCiAJCQkJMEZDNjgyM0YyMTI5RUQ1
MTAwM0M2QTEzIC8qIHBhc19ib290c3RyYXBfZnJlZV9oZWFwLmggKi8sCkBAIC0xNTE5LDIzICsx
NTMzLDIzIEBACiAJCQkJMEY2RDU2NEYyM0NCRDE5QjAwRjQwREJCIC8qIHBhc19jb21wYWN0X3Vu
c2lnbmVkX3B0ci5oICovLAogCQkJCTBGQzRFQzM1MjM0QTkxRTMwMEI3MTBBMyAvKiBwYXNfY29t
cHV0ZV9zdW1tYXJ5X29iamVjdF9jYWxsYmFja3MuYyAqLywKIAkJCQkwRkM0RUMzMDIzNEE5MUUy
MDBCNzEwQTMgLyogcGFzX2NvbXB1dGVfc3VtbWFyeV9vYmplY3RfY2FsbGJhY2tzLmggKi8sCi0J
CQkJMEZDNjgxQTIyMTAzOTE3QjAwM0M2QTEzIC8qIHBhc19jb25maWcuaCAqLywKIAkJCQkwRjg1
RUZENTIyRTJCRUM3MDAzQTM2MkIgLyogcGFzX2NvbmZpZ19wcmVmaXguaCAqLywKKwkJCQkwRkM2
ODFBMjIxMDM5MTdCMDAzQzZBMTMgLyogcGFzX2NvbmZpZy5oICovLAogCQkJCTBGMzI5QTI2MjNG
MUQ2MzUwMEExMzNDNCAvKiBwYXNfY3JlYXRlX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXNfd2l0aF9y
ZXNlcnZlZF9tZW1vcnkuYyAqLywKIAkJCQkwRjMyOUEyNTIzRjFENjM1MDBBMTMzQzQgLyogcGFz
X2NyZWF0ZV9iYXNpY19oZWFwX3BhZ2VfY2FjaGVzX3dpdGhfcmVzZXJ2ZWRfbWVtb3J5LmggKi8s
CiAJCQkJMEZFN0VFNUYyMjlFMTRGQTAwNEY0MTY2IC8qIHBhc19kZWFsbG9jYXRlLmMgKi8sCiAJ
CQkJMEZFN0VFNUUyMjlFMTRGQTAwNEY0MTY2IC8qIHBhc19kZWFsbG9jYXRlLmggKi8sCiAJCQkJ
MEZGRkQ1MTQyNTZCMEZCQzAwMUVCOTRDIC8qIHBhc19kZWFsbG9jYXRpb25fbW9kZS5oICovLAot
CQkJCTBGQzY4MjRDMjEyQTVCRkUwMDNDNkExMyAvKiBwYXNfZGVhbGxvY2F0b3IuaCAqLywKIAkJ
CQkwRjZCNDdGQjIzMzE1QUU0MDAyQTVFMEMgLyogcGFzX2RlYWxsb2NhdG9yX3NjYXZlbmdlX2Fj
dGlvbi5oICovLAorCQkJCTBGQzY4MjRDMjEyQTVCRkUwMDNDNkExMyAvKiBwYXNfZGVhbGxvY2F0
b3IuaCAqLywKIAkJCQkwRjM3M0U1MTI2NTlFQTVFMDAzNEJBOTYgLyogcGFzX2RlYnVnX2hlYXAu
aCAqLywKIAkJCQkwRkJDNjJDMDI2NUYxMkEzMDA1QTU3MjAgLyogcGFzX2RlYnVnX3NwZWN0cnVt
LmMgKi8sCiAJCQkJMEZCQzYyQzEyNjVGMTJBMzAwNUE1NzIwIC8qIHBhc19kZWJ1Z19zcGVjdHJ1
bS5oICovLAogCQkJCTBGNzgwODk4MjJGQTZGMDgwMEYzNzQ1MSAvKiBwYXNfZGVmZXJyZWRfZGVj
b21taXRfbG9nLmMgKi8sCiAJCQkJMEY3ODA4OTkyMkZBNkYwODAwRjM3NDUxIC8qIHBhc19kZWZl
cnJlZF9kZWNvbW1pdF9sb2cuaCAqLywKKwkJCQkwRjVCODNCRTI0OTE4OTlFMDBGNDEwNTIgLyog
cGFzX2Rlc2lnbmF0ZWRfaW50cmluc2ljX2hlYXBfaW5saW5lcy5oICovLAogCQkJCTBGNUI4M0JC
MjQ5MTg4OEEwMEY0MTA1MiAvKiBwYXNfZGVzaWduYXRlZF9pbnRyaW5zaWNfaGVhcC5jICovLAog
CQkJCTBGNUI4M0JBMjQ5MTg4ODkwMEY0MTA1MiAvKiBwYXNfZGVzaWduYXRlZF9pbnRyaW5zaWNf
aGVhcC5oICovLAotCQkJCTBGNUI4M0JFMjQ5MTg5OUUwMEY0MTA1MiAvKiBwYXNfZGVzaWduYXRl
ZF9pbnRyaW5zaWNfaGVhcF9pbmxpbmVzLmggKi8sCiAJCQkJMEY5RTk0NjQyMzQ2NjBEMzAwOUZB
RkREIC8qIHBhc19keWxkX3N0YXRlLmMgKi8sCiAJCQkJMEY5RTk0NjUyMzQ2NjBEMzAwOUZBRkRE
IC8qIHBhc19keWxkX3N0YXRlLmggKi8sCiAJCQkJMEZFQTQ1QzEyMzZDRTg5RDAwQjVBMzc1IC8q
IHBhc19keW5hbWljX3ByaW1pdGl2ZV9oZWFwX21hcC5jICovLApAQCAtMTU1OCwxMSArMTU3Miwx
MSBAQAogCQkJCTBGNEY2MTJCMjU5OTA4NzcwMDhCNEE4MiAvKiBwYXNfZW51bWVyYXRlX3NlZ3Jl
Z2F0ZWRfaGVhcHMuaCAqLywKIAkJCQkwRjRGNjFBNTI1QTNEMEJCMDA4QjRBODIgLyogcGFzX2Vu
dW1lcmF0ZV91bmFjY291bnRlZF9wYWdlc19hc19tZXRhLmMgKi8sCiAJCQkJMEY0RjYxQTkyNUEz
RDBCQjAwOEI0QTgyIC8qIHBhc19lbnVtZXJhdGVfdW5hY2NvdW50ZWRfcGFnZXNfYXNfbWV0YS5o
ICovLAotCQkJCTBGNEY2MTA0MjU5N0FGODcwMDhCNEE4MiAvKiBwYXNfZW51bWVyYXRvci5jICov
LAotCQkJCTBGNEY2MTAzMjU5N0FGODcwMDhCNEE4MiAvKiBwYXNfZW51bWVyYXRvci5oICovLAog
CQkJCTBGNEY2MTgwMjU5RTczNEYwMDhCNEE4MiAvKiBwYXNfZW51bWVyYXRvcl9pbnRlcm5hbC5o
ICovLAogCQkJCTBGNEY2MTE5MjU5ODM4QjEwMDhCNEE4MiAvKiBwYXNfZW51bWVyYXRvcl9yZWdp
b24uYyAqLywKIAkJCQkwRjRGNjExQTI1OTgzOEIxMDA4QjRBODIgLyogcGFzX2VudW1lcmF0b3Jf
cmVnaW9uLmggKi8sCisJCQkJMEY0RjYxMDQyNTk3QUY4NzAwOEI0QTgyIC8qIHBhc19lbnVtZXJh
dG9yLmMgKi8sCisJCQkJMEY0RjYxMDMyNTk3QUY4NzAwOEI0QTgyIC8qIHBhc19lbnVtZXJhdG9y
LmggKi8sCiAJCQkJMEYxOTMyNEYyMkVEMDRBNjAwRkJBNzEzIC8qIHBhc19lcG9jaC5jICovLAog
CQkJCTBGMTkzMjREMjJFRDA0QTUwMEZCQTcxMyAvKiBwYXNfZXBvY2guaCAqLywKIAkJCQkwRkQ0
OEFGOTIzQTlBQkFGMDAyNkM0NkQgLyogcGFzX2V4Y2x1c2l2ZV92aWV3X3RlbXBsYXRlX21lbW9f
dGFibGUuYyAqLywKQEAgLTE1NzgsOCArMTU5Miw4IEBACiAJCQkJMEY5QTFDQ0EyNTU5OTYxNTAw
QzhEMTFCIC8qIHBhc19mYXN0X21lZ2FwYWdlX2tpbmQuaCAqLywKIAkJCQkwRjlBMUQ0NzI1NUUy
ODQyMDBDOEQxMUIgLyogcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuYyAqLywKIAkJCQkwRjlBMUND
RTI1NTk5NjE1MDBDOEQxMUIgLyogcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGUuaCAqLywKLQkJCQkw
RjlBMUNCMjI1NTk5NjEzMDBDOEQxMUIgLyogcGFzX2Zhc3RfcGF0aF9hbGxvY2F0aW9uX3Jlc3Vs
dC5oICovLAogCQkJCTBGOUExQzk5MjU1OTk2MTEwMEM4RDExQiAvKiBwYXNfZmFzdF9wYXRoX2Fs
bG9jYXRpb25fcmVzdWx0X2tpbmQuaCAqLywKKwkJCQkwRjlBMUNCMjI1NTk5NjEzMDBDOEQxMUIg
LyogcGFzX2Zhc3RfcGF0aF9hbGxvY2F0aW9uX3Jlc3VsdC5oICovLAogCQkJCTBGQjU3MDZBMjY3
RDAzQ0QwMDgwRkE4QiAvKiBwYXNfZmFzdF90bHMuaCAqLywKIAkJCQkwRkM0RUMyRjIzNEE5MUUy
MDBCNzEwQTMgLyogcGFzX2ZkX3N0cmVhbS5jICovLAogCQkJCTBGQzRFQzM2MjM0QTkxRTMwMEI3
MTBBMyAvKiBwYXNfZmRfc3RyZWFtLmggKi8sCkBAIC0xNTkwLDI2ICsxNjA0LDI1IEBACiAJCQkJ
MEY5QTFDRTEyNTU5OTYxNzAwQzhEMTFCIC8qIHBhc19mcmVlX2dyYW51bGVzLmggKi8sCiAJCQkJ
MEYxOTMyNTEyMkVEMDRBNjAwRkJBNzEzIC8qIHBhc19mcmVlX21vZGUuaCAqLywKIAkJCQkwRkQ0
OEIxMzIzQTlBQkIxMDAyNkM0NkQgLyogcGFzX2ZyZWVfcmFuZ2Vfa2luZC5oICovLAotCQkJCTBG
RDQ4QjFEMjNBOUFCQjIwMDI2QzQ2RCAvKiBwYXNfZnVsbF9hbGxvY19iaXRzLmggKi8sCiAJCQkJ
MEZENDhBRkYyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19mdWxsX2FsbG9jX2JpdHNfaW5saW5lcy5o
ICovLAorCQkJCTBGRDQ4QjFEMjNBOUFCQjIwMDI2QzQ2RCAvKiBwYXNfZnVsbF9hbGxvY19iaXRz
LmggKi8sCiAJCQkJMEZGMDhGMzcyMkE1QjNFMjAwMzg2NTc1IC8qIHBhc19nZW5lcmljX2xhcmdl
X2ZyZWVfaGVhcC5oICovLAogCQkJCTBGRTdFRTU4MjI5RTE0RjkwMDRGNDE2NiAvKiBwYXNfZ2V0
X2FsbG9jYXRpb25fc2l6ZS5oICovLAogCQkJCTBGRTdFRTVDMjI5RTE0RjkwMDRGNDE2NiAvKiBw
YXNfZ2V0X2hlYXAuaCAqLywKIAkJCQkwRjlBMUQ0QjI1NUYyQ0Q3MDBDOEQxMUIgLyogcGFzX2dl
dF9vYmplY3Rfa2luZC5oICovLAorCQkJCTJDMzRGRkY2Mjc1NzFEMkYwMDU1NjVDQiAvKiBwYXNf
Z2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5o
ICovLAogCQkJCTBGOUExRDRFMjU2MzA1QjQwMEM4RDExQiAvKiBwYXNfZ2V0X3BhZ2VfYmFzZS5o
ICovLAogCQkJCTBGMTUxOEZDMjM0NDFFMzIwMDgzMkI1QyAvKiBwYXNfaGFzX29iamVjdC5oICov
LAogCQkJCTBGQzY4MjBBMjEyMUY2RTgwMDNDNkExMyAvKiBwYXNfaGFzaHRhYmxlLmggKi8sCi0J
CQkJMEZDNjgxQzgyMTBGN0M5RjAwM0M2QTEzIC8qIHBhc19oZWFwLmMgKi8sCi0JCQkJMEZDNjgx
QzAyMTBGN0M5RTAwM0M2QTEzIC8qIHBhc19oZWFwLmggKi8sCi0JCQkJMEYxQkZENDMyNjY0NTdG
MTAwQ0VDMjhEIC8qIHBhc19oZWFwX2NvbmZpZy5jICovLAotCQkJCTBGQzY4MjQ3MjEyQTEwNTQw
MDNDNkExMyAvKiBwYXNfaGVhcF9jb25maWcuaCAqLywKIAkJCQkwRjA0QzIwQjI0NjBEQjZFMDAx
RDMxRjAgLyogcGFzX2hlYXBfY29uZmlnX2lubGluZXMuaCAqLywKIAkJCQkwRjZENTY1NDIzQ0JE
MTlDMDBGNDBEQkIgLyogcGFzX2hlYXBfY29uZmlnX2tpbmQuYyAqLywKIAkJCQkwRjZENTY1MjIz
Q0JEMTlDMDBGNDBEQkIgLyogcGFzX2hlYXBfY29uZmlnX2tpbmQuZGVmICovLAogCQkJCTBGNkQ1
NjVEMjNDQkQxOUQwMEY0MERCQiAvKiBwYXNfaGVhcF9jb25maWdfa2luZC5oICovLAorCQkJCTBG
MDgzRjU5MjJDMjk3OUIwMEYzQ0RCMyAvKiBwYXNfaGVhcF9jb25maWdfdXRpbHNfaW5saW5lcy5o
ICovLAogCQkJCTBGQzY4MjQ5MjEyQTE2MEIwMDNDNkExMyAvKiBwYXNfaGVhcF9jb25maWdfdXRp
bHMuYyAqLywKIAkJCQkwRjA5MjI2RDIyQjJEOTA5MDA3RDVEM0EgLyogcGFzX2hlYXBfY29uZmln
X3V0aWxzLmggKi8sCi0JCQkJMEYwODNGNTkyMkMyOTc5QjAwRjNDREIzIC8qIHBhc19oZWFwX2Nv
bmZpZ191dGlsc19pbmxpbmVzLmggKi8sCisJCQkJMEYxQkZENDMyNjY0NTdGMTAwQ0VDMjhEIC8q
IHBhc19oZWFwX2NvbmZpZy5jICovLAorCQkJCTBGQzY4MjQ3MjEyQTEwNTQwMDNDNkExMyAvKiBw
YXNfaGVhcF9jb25maWcuaCAqLywKIAkJCQkwRkMyRkQzNjIzNzYxNTEzMDA1M0RENDEgLyogcGFz
X2hlYXBfZm9yX2NvbmZpZy5jICovLAogCQkJCTBGQzJGRDM1MjM3NjE1MTIwMDUzREQ0MSAvKiBw
YXNfaGVhcF9mb3JfY29uZmlnLmggKi8sCiAJCQkJMEZENDhCNjgyM0I2QUVENTAwMjZDNDZEIC8q
IHBhc19oZWFwX2lubGluZXMuaCAqLywKQEAgLTE2MTcsMTcgKzE2MzAsMTkgQEAKIAkJCQkwRkM2
ODE5RTIxMDM5MTdCMDAzQzZBMTMgLyogcGFzX2hlYXBfbG9jay5jICovLAogCQkJCTBGQzY4MTlG
MjEwMzkxN0IwMDNDNkExMyAvKiBwYXNfaGVhcF9sb2NrLmggKi8sCiAJCQkJMEY2REI4OEIyMzVF
NTRBNjAwNjlDQURCIC8qIHBhc19oZWFwX3BhZ2VfcHJvdmlkZXIuaCAqLywKLQkJCQkwRkM2ODFD
NjIxMEY3QzlGMDAzQzZBMTMgLyogcGFzX2hlYXBfcmVmLmMgKi8sCi0JCQkJMEZDNjgxQzcyMTBG
N0M5RjAwM0M2QTEzIC8qIHBhc19oZWFwX3JlZi5oICovLAogCQkJCTBGODc5MkIyMjM4QTFEMEMw
MEFFRTdGMSAvKiBwYXNfaGVhcF9yZWZfa2luZC5oICovLAogCQkJCTBGNDdENDBBMjE0MERCMDUw
MDhDNDFGMCAvKiBwYXNfaGVhcF9yZWZfcHJlZml4LmggKi8sCisJCQkJMEZDNjgxQzYyMTBGN0M5
RjAwM0M2QTEzIC8qIHBhc19oZWFwX3JlZi5jICovLAorCQkJCTBGQzY4MUM3MjEwRjdDOUYwMDND
NkExMyAvKiBwYXNfaGVhcF9yZWYuaCAqLywKIAkJCQkwRjE0ODcwRTI2OUI3NTE4MDA2ODg3QTkg
LyogcGFzX2hlYXBfcnVudGltZV9jb25maWcuYyAqLywKIAkJCQkwRjMyOUExRjIzRjExMzJBMDBB
MTMzQzQgLyogcGFzX2hlYXBfcnVudGltZV9jb25maWcuaCAqLywKIAkJCQkwRkM0RUMzMTIzNEE5
MUUyMDBCNzEwQTMgLyogcGFzX2hlYXBfc3VtbWFyeS5jICovLAogCQkJCTBGRUI2NjY0MjMxQjJB
NTcwMDlDMDAxQiAvKiBwYXNfaGVhcF9zdW1tYXJ5LmggKi8sCisJCQkJMEY2RDU0ODEyM0M1ODFD
MTAwRjQwREJCIC8qIHBhc19oZWFwX3RhYmxlX3N0YXRlLmggKi8sCiAJCQkJMEY2RDU0NzQyM0M1
NzNFMDAwRjQwREJCIC8qIHBhc19oZWFwX3RhYmxlLmMgKi8sCiAJCQkJMEY2RDU0NzYyM0M1NzNF
MDAwRjQwREJCIC8qIHBhc19oZWFwX3RhYmxlLmggKi8sCi0JCQkJMEY2RDU0ODEyM0M1ODFDMTAw
RjQwREJCIC8qIHBhc19oZWFwX3RhYmxlX3N0YXRlLmggKi8sCisJCQkJMEZDNjgxQzgyMTBGN0M5
RjAwM0M2QTEzIC8qIHBhc19oZWFwLmMgKi8sCisJCQkJMEZDNjgxQzAyMTBGN0M5RTAwM0M2QTEz
IC8qIHBhc19oZWFwLmggKi8sCiAJCQkJMEZENDhBRkUyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19p
bW1vcnRhbF9oZWFwLmMgKi8sCiAJCQkJMEZENDhCMDkyM0E5QUJCMTAwMjZDNDZEIC8qIHBhc19p
bW1vcnRhbF9oZWFwLmggKi8sCiAJCQkJMEZENDhBRkMyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19p
bW11dGFibGVfdmVjdG9yLmggKi8sCkBAIC0xNjM1LDcgKzE2NTAsNiBAQAogCQkJCTBGRjA4RjQ5
MjJBODQ0NkIwMDM4NjU3NSAvKiBwYXNfaW50cmluc2ljX2hlYXBfc3VwcG9ydC5oICovLAogCQkJ
CTJDNDgxMzIwMjczRjM0MUEwMDZDQUI1NSAvKiBwYXNfbGFyZ2VfZXhwZW5kYWJsZV9tZW1vcnku
YyAqLywKIAkJCQkyQzQ4MTMyNDI3M0YzNDFBMDA2Q0FCNTUgLyogcGFzX2xhcmdlX2V4cGVuZGFi
bGVfbWVtb3J5LmggKi8sCi0JCQkJMEZDNjgxQTgyMTAzQ0FDOTAwM0M2QTEzIC8qIHBhc19sYXJn
ZV9mcmVlLmggKi8sCiAJCQkJMEZDNjgyNDYyMTJBMEYxRjAwM0M2QTEzIC8qIHBhc19sYXJnZV9m
cmVlX2hlYXBfY29uZmlnLmggKi8sCiAJCQkJMEY2NkQ1M0YyNDg3NjBBNzAwRkM3MzQ3IC8qIHBh
c19sYXJnZV9mcmVlX2hlYXBfZGVjbGFyYXRpb25zLmRlZiAqLywKIAkJCQkwRjc4MDg4OTIyRkE1
MzQxMDBGMzc0NTEgLyogcGFzX2xhcmdlX2ZyZWVfaGVhcF9kZWZlcnJlZF9jb21taXRfbG9nLmMg
Ki8sCkBAIC0xNjQ1LDIyICsxNjU5LDIxIEBACiAJCQkJMEY2NkQ1M0UyNDg3NjBBNzAwRkM3MzQ3
IC8qIHBhc19sYXJnZV9mcmVlX2hlYXBfaGVscGVycy5oICovLAogCQkJCTBGRjAwRDM3MjM3NzZE
NjQwMEMyMEFDMCAvKiBwYXNfbGFyZ2VfZnJlZV9pbmxpbmVzLmggKi8sCiAJCQkJMEZGMDhGM0Yy
MkE1RjY1NTAwMzg2NTc1IC8qIHBhc19sYXJnZV9mcmVlX3Zpc2l0b3IuaCAqLywKLQkJCQkwRkM2
ODFBQzIxMDRGRUFEMDAzQzZBMTMgLyogcGFzX2xhcmdlX2hlYXAuYyAqLywKLQkJCQkwRkM2ODFB
NzIxMDNCMEU2MDAzQzZBMTMgLyogcGFzX2xhcmdlX2hlYXAuaCAqLywKKwkJCQkwRkM2ODFBODIx
MDNDQUM5MDAzQzZBMTMgLyogcGFzX2xhcmdlX2ZyZWUuaCAqLywKIAkJCQkwRjE5MzI2NjIyRjNC
M0YyMDBGQkE3MTMgLyogcGFzX2xhcmdlX2hlYXBfcGh5c2ljYWxfcGFnZV9zaGFyaW5nX2NhY2hl
LmMgKi8sCiAJCQkJMEYxOTMyNjcyMkYzQjNGMzAwRkJBNzEzIC8qIHBhc19sYXJnZV9oZWFwX3Bo
eXNpY2FsX3BhZ2Vfc2hhcmluZ19jYWNoZS5oICovLAorCQkJCTBGQzY4MUFDMjEwNEZFQUQwMDND
NkExMyAvKiBwYXNfbGFyZ2VfaGVhcC5jICovLAorCQkJCTBGQzY4MUE3MjEwM0IwRTYwMDNDNkEx
MyAvKiBwYXNfbGFyZ2VfaGVhcC5oICovLAorCQkJCTBGRjA4RjQ3MjJBNzYzRjEwMDM4NjU3NSAv
KiBwYXNfbGFyZ2VfbWFwX2VudHJ5LmggKi8sCiAJCQkJMEZDNjgxQTAyMTAzOTE3QjAwM0M2QTEz
IC8qIHBhc19sYXJnZV9tYXAuYyAqLywKIAkJCQkwRkM2ODFBMTIxMDM5MTdCMDAzQzZBMTMgLyog
cGFzX2xhcmdlX21hcC5oICovLAotCQkJCTBGRjA4RjQ3MjJBNzYzRjEwMDM4NjU3NSAvKiBwYXNf
bGFyZ2VfbWFwX2VudHJ5LmggKi8sCisJCQkJMEZDODQ3OTQyMzJENjk0OTAwQjM4NkI2IC8qIHBh
c19sYXJnZV9zaGFyaW5nX3Bvb2xfZXBvY2hfdXBkYXRlX21vZGUuaCAqLywKIAkJCQkwRkNGQTQ5
OTIzODM1MkVDMDBDQ0Q3MjYgLyogcGFzX2xhcmdlX3NoYXJpbmdfcG9vbC5jICovLAogCQkJCTBG
Q0ZBNDk4MjM4MzUyRUIwMENDRDcyNiAvKiBwYXNfbGFyZ2Vfc2hhcmluZ19wb29sLmggKi8sCi0J
CQkJMEZDODQ3OTQyMzJENjk0OTAwQjM4NkI2IC8qIHBhc19sYXJnZV9zaGFyaW5nX3Bvb2xfZXBv
Y2hfdXBkYXRlX21vZGUuaCAqLywKIAkJCQkwRjZENTQ3NTIzQzU3M0UwMDBGNDBEQkIgLyogcGFz
X2xhcmdlX3V0aWxpdHlfZnJlZV9oZWFwLmMgKi8sCiAJCQkJMEY2RDU0NzIyM0M1NzNFMDAwRjQw
REJCIC8qIHBhc19sYXJnZV91dGlsaXR5X2ZyZWVfaGVhcC5oICovLAogCQkJCTBGOEE4MDI3MjVF
QzU4ODgwMDc5MEI0QSAvKiBwYXNfbGluZV93b3JkX2NvbmZpZy5oICovLAogCQkJCTBGMzFBNjQz
MjNFMzUwOUUwMDJDMENBMyAvKiBwYXNfbGlzdF9kaXJlY3Rpb24uaCAqLywKLQkJCQkwRkRCQjA3
MTIyQjg3NUE2MDA2QkE1RkMgLyogcGFzX2xvY2FsX2FsbG9jYXRvci5jICovLAotCQkJCTBGREJC
MDcyMjJCODc1QTYwMDZCQTVGQyAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yLmggKi8sCiAJCQkJMEZE
NDhCMDIyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmQu
aCAqLywKIAkJCQkwRkRCQjA3NjIyQjg3N0ZBMDA2QkE1RkMgLyogcGFzX2xvY2FsX2FsbG9jYXRv
cl9pbmxpbmVzLmggKi8sCiAJCQkJMEY0NUQ1QTYyNkFCNzMxNDAwQzM1RDkzIC8qIHBhc19sb2Nh
bF9hbGxvY2F0b3Jfa2luZC5oICovLApAQCAtMTY2OCwxNCArMTY4MSwxNiBAQAogCQkJCTBGQzY4
MUJGMjEwRjdDOUUwMDNDNkExMyAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yX3Jlc3VsdC5oICovLAog
CQkJCTBGNDVENUE3MjZBQjczMTQwMEMzNUQ5MyAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yX3NjYXZl
bmdlcl9kYXRhLmMgKi8sCiAJCQkJMEY0NUQ1QTgyNkFCNzMxNDAwQzM1RDkzIC8qIHBhc19sb2Nh
bF9hbGxvY2F0b3Jfc2NhdmVuZ2VyX2RhdGEuaCAqLywKLQkJCQkwRjE0ODcxQjI2OUY1RkNBMDA2
ODg3QTkgLyogcGFzX2xvY2FsX3ZpZXdfY2FjaGUuYyAqLywKLQkJCQkwRjE0ODcwQzI2OUI3NTE4
MDA2ODg3QTkgLyogcGFzX2xvY2FsX3ZpZXdfY2FjaGUuaCAqLywKKwkJCQkwRkRCQjA3MTIyQjg3
NUE2MDA2QkE1RkMgLyogcGFzX2xvY2FsX2FsbG9jYXRvci5jICovLAorCQkJCTBGREJCMDcyMjJC
ODc1QTYwMDZCQTVGQyAvKiBwYXNfbG9jYWxfYWxsb2NhdG9yLmggKi8sCiAJCQkJMEYxNDg3MUQy
NjlGNUZDQTAwNjg4N0E5IC8qIHBhc19sb2NhbF92aWV3X2NhY2hlX25vZGUuYyAqLywKIAkJCQkw
RjE0ODcxQTI2OUY1RkNBMDA2ODg3QTkgLyogcGFzX2xvY2FsX3ZpZXdfY2FjaGVfbm9kZS5oICov
LAotCQkJCTBGMDRDMjBEMjQ2MERCNkUwMDFEMzFGMCAvKiBwYXNfbG9jay5jICovLAotCQkJCTBG
QzY4MjVEMjEyQ0E3NkQwMDNDNkExMyAvKiBwYXNfbG9jay5oICovLAorCQkJCTBGMTQ4NzFCMjY5
RjVGQ0EwMDY4ODdBOSAvKiBwYXNfbG9jYWxfdmlld19jYWNoZS5jICovLAorCQkJCTBGMTQ4NzBD
MjY5Qjc1MTgwMDY4ODdBOSAvKiBwYXNfbG9jYWxfdmlld19jYWNoZS5oICovLAogCQkJCTBGRUE0
NUJBMjM2Q0Q1QUMwMEI1QTM3NSAvKiBwYXNfbG9ja19mcmVlX3JlYWRfcHRyX3B0cl9oYXNodGFi
bGUuYyAqLywKIAkJCQkwRkVBNDVCQjIzNkNENUFDMDBCNUEzNzUgLyogcGFzX2xvY2tfZnJlZV9y
ZWFkX3B0cl9wdHJfaGFzaHRhYmxlLmggKi8sCisJCQkJMEYwNEMyMEQyNDYwREI2RTAwMUQzMUYw
IC8qIHBhc19sb2NrLmMgKi8sCisJCQkJMEZDNjgyNUQyMTJDQTc2RDAwM0M2QTEzIC8qIHBhc19s
b2NrLmggKi8sCiAJCQkJMEY5RTk0NTYyMzQ1MjI2MjAwOUZBRkREIC8qIHBhc19sb2cuYyAqLywK
IAkJCQkwRjlFOTQ1NzIzNDUyMjYyMDA5RkFGREQgLyogcGFzX2xvZy5oICovLAogCQkJCTBGMDM3
QUYxMjVBRUE5MTkwMDc5QjU4MiAvKiBwYXNfbWVkaXVtX21lZ2FwYWdlX2NhY2hlLmMgKi8sCkBA
IC0xNjg3LDEzICsxNzAyLDE1IEBACiAJCQkJMEZENDhBRkQyM0E5QUJCMDAwMjZDNDZEIC8qIHBh
c19tb25vdG9uaWNfdGltZS5oICovLAogCQkJCTBGMDkyMjY5MjJCMDdDMjEwMDdENUQzQSAvKiBw
YXNfbXV0YXRpb25fY291bnQuaCAqLywKIAkJCQkwRjlBMUQ0QTI1NUYyQ0Q3MDBDOEQxMUIgLyog
cGFzX29iamVjdF9raW5kLmggKi8sCi0JCQkJMEY5QTFDQkEyNTU5OTYxNDAwQzhEMTFCIC8qIHBh
c19wYWdlX2Jhc2UuYyAqLywKLQkJCQkwRjlBMUNCOTI1NTk5NjEzMDBDOEQxMUIgLyogcGFzX3Bh
Z2VfYmFzZS5oICovLAotCQkJCTBGOUExQ0MwMjU1OTk2MTQwMEM4RDExQiAvKiBwYXNfcGFnZV9i
YXNlX2NvbmZpZy5oICovLAorCQkJCTJDMzRGRkY1Mjc1NzFEMkYwMDU1NjVDQiAvKiBwYXNfcGFn
ZV9iYXNlX2FuZF9raW5kLmggKi8sCiAJCQkJMEY5QTFENDIyNTVBRjczMjAwQzhEMTFCIC8qIHBh
c19wYWdlX2Jhc2VfY29uZmlnX2lubGluZXMuaCAqLywKLQkJCQkwRjlBMUNENDI1NTk5NjE2MDBD
OEQxMUIgLyogcGFzX3BhZ2VfYmFzZV9jb25maWdfdXRpbHMuaCAqLywKIAkJCQkwRjlBMUNBQjI1
NTk5NjEyMDBDOEQxMUIgLyogcGFzX3BhZ2VfYmFzZV9jb25maWdfdXRpbHNfaW5saW5lcy5oICov
LAorCQkJCTBGOUExQ0Q0MjU1OTk2MTYwMEM4RDExQiAvKiBwYXNfcGFnZV9iYXNlX2NvbmZpZ191
dGlscy5oICovLAorCQkJCTJDMzQwMDAxMjc1ODE2ODcwMDU1NjVDQiAvKiBwYXNfcGFnZV9iYXNl
X2NvbmZpZy5jICovLAorCQkJCTBGOUExQ0MwMjU1OTk2MTQwMEM4RDExQiAvKiBwYXNfcGFnZV9i
YXNlX2NvbmZpZy5oICovLAogCQkJCTBGOUExQ0FDMjU1OTk2MTIwMEM4RDExQiAvKiBwYXNfcGFn
ZV9iYXNlX2lubGluZXMuaCAqLywKKwkJCQkwRjlBMUNCQTI1NTk5NjE0MDBDOEQxMUIgLyogcGFz
X3BhZ2VfYmFzZS5jICovLAorCQkJCTBGOUExQ0I5MjU1OTk2MTMwMEM4RDExQiAvKiBwYXNfcGFn
ZV9iYXNlLmggKi8sCiAJCQkJMEY5QTFDQzYyNTU5OTYxNDAwQzhEMTFCIC8qIHBhc19wYWdlX2Nv
bmZpZ19raW5kLmggKi8sCiAJCQkJMEY5QTFDREEyNTU5OTYxNjAwQzhEMTFCIC8qIHBhc19wYWdl
X2dyYW51bGVfdXNlX2NvdW50LmggKi8sCiAJCQkJMEY5QTFDRDUyNTU5OTYxNjAwQzhEMTFCIC8q
IHBhc19wYWdlX2hlYWRlcl9wbGFjZW1lbnRfbW9kZS5oICovLApAQCAtMTcwMywxMyArMTcyMCwx
MyBAQAogCQkJCTBGQzY4MThDMjEwMjdCNDcwMDNDNkExMyAvKiBwYXNfcGFnZV9tYWxsb2MuYyAq
LywKIAkJCQkwRkM2ODE4OTIxMDI3QjQ2MDAzQzZBMTMgLyogcGFzX3BhZ2VfbWFsbG9jLmggKi8s
CiAJCQkJMEY5QTFDRDkyNTU5OTYxNjAwQzhEMTFCIC8qIHBhc19wYWdlX3NoYXJpbmdfbW9kZS5o
ICovLAorCQkJCTBGMTkzMjVCMjJGMTE5M0QwMEZCQTcxMyAvKiBwYXNfcGFnZV9zaGFyaW5nX3Bh
cnRpY2lwYW50X2tpbmQuaCAqLywKIAkJCQkwRjE5MzI1RDIyRjExOTNEMDBGQkE3MTMgLyogcGFz
X3BhZ2Vfc2hhcmluZ19wYXJ0aWNpcGFudC5jICovLAogCQkJCTBGMTkzMjVFMjJGMTE5M0QwMEZC
QTcxMyAvKiBwYXNfcGFnZV9zaGFyaW5nX3BhcnRpY2lwYW50LmggKi8sCi0JCQkJMEYxOTMyNUIy
MkYxMTkzRDAwRkJBNzEzIC8qIHBhc19wYWdlX3NoYXJpbmdfcGFydGljaXBhbnRfa2luZC5oICov
LAotCQkJCTBGRDIyQ0ZFMjJDQzAxRDMwMEIyMTg0MSAvKiBwYXNfcGFnZV9zaGFyaW5nX3Bvb2wu
YyAqLywKLQkJCQkwRkQyMkNGRDIyQ0MwMUQzMDBCMjE4NDEgLyogcGFzX3BhZ2Vfc2hhcmluZ19w
b29sLmggKi8sCiAJCQkJMEZDQkQwMzMyNkFERjkyNTAwRDI2RDY4IC8qIHBhc19wYWdlX3NoYXJp
bmdfcG9vbF9zY2F2ZW5nZV9yZXN1bHQuaCAqLywKIAkJCQkwRkYyNDhGODIyRkM5RURCMDA3NzIw
MkUgLyogcGFzX3BhZ2Vfc2hhcmluZ19wb29sX3Rha2VfcmVzdWx0LmggKi8sCisJCQkJMEZEMjJD
RkUyMkNDMDFEMzAwQjIxODQxIC8qIHBhc19wYWdlX3NoYXJpbmdfcG9vbC5jICovLAorCQkJCTBG
RDIyQ0ZEMjJDQzAxRDMwMEIyMTg0MSAvKiBwYXNfcGFnZV9zaGFyaW5nX3Bvb2wuaCAqLywKIAkJ
CQkwRjRGNjFDOTI1QTRDRDNCMDA4QjRBODIgLyogcGFzX3BheWxvYWRfcmVzZXJ2YXRpb25fcGFn
ZV9saXN0LmMgKi8sCiAJCQkJMEY0RjYxQzgyNUE0Q0QzQjAwOEI0QTgyIC8qIHBhc19wYXlsb2Fk
X3Jlc2VydmF0aW9uX3BhZ2VfbGlzdC5oICovLAogCQkJCTBGNkQ1NDczMjNDNTczRTAwMEY0MERC
QiAvKiBwYXNfcGh5c2ljYWxfbWVtb3J5X3N5bmNocm9uaXphdGlvbl9zdHlsZS5oICovLApAQCAt
MTcyNywxMSArMTc0NCwxMSBAQAogCQkJCTBGNUU0ODM1MjNENjk2MEYwMDQ2REE1QyAvKiBwYXNf
cmFjZV90ZXN0X2hvb2tzLmggKi8sCiAJCQkJMEZENDhBRjUyM0E5QUJBRjAwMjZDNDZEIC8qIHBh
c19yYW5kb20uYyAqLywKIAkJCQkwRkQ0OEIwRjIzQTlBQkIxMDAyNkM0NkQgLyogcGFzX3JhbmRv
bS5oICovLAotCQkJCTBGMTkzMjUyMjJFRDA0QTYwMEZCQTcxMyAvKiBwYXNfcmFuZ2UuaCAqLywK
LQkJCQkwRjZENTYzOTIzQzc5RDM3MDBGNDBEQkIgLyogcGFzX3JhbmdlMTYuaCAqLywKIAkJCQkw
RjRGNjFBRDI1QTNEMEJCMDA4QjRBODIgLyogcGFzX3JhbmdlX2JlZ2luX21pbl9oZWFwLmggKi8s
CiAJCQkJMEZENDhBRjEyM0E5QUJBRjAwMjZDNDZEIC8qIHBhc19yYW5nZV9sb2NrZWRfbW9kZS5o
ICovLAogCQkJCTBGNzgwODhBMjJGQTUzNDEwMEYzNzQ1MSAvKiBwYXNfcmFuZ2VfbWluX2hlYXAu
aCAqLywKKwkJCQkwRjE5MzI1MjIyRUQwNEE2MDBGQkE3MTMgLyogcGFzX3JhbmdlLmggKi8sCisJ
CQkJMEY2RDU2MzkyM0M3OUQzNzAwRjQwREJCIC8qIHBhc19yYW5nZTE2LmggKi8sCiAJCQkJMEZF
N0VFN0UyMkExQTU4MDAwNEY0MTY2IC8qIHBhc19yZWFsbG9jYXRlX2ZyZWVfbW9kZS5oICovLAog
CQkJCTBGRTdFRTdDMjJBMUEzMUMwMDRGNDE2NiAvKiBwYXNfcmVhbGxvY2F0ZV9oZWFwX3RlbGVw
b3J0X3J1bGUuaCAqLywKIAkJCQkwRkYwOEYzMjIyQTU4RjEyMDAzODY1NzUgLyogcGFzX3JlZF9i
bGFja190cmVlLmMgKi8sCkBAIC0xNzQ1LDU1ICsxNzYyLDU5IEBACiAJCQkJMEYxOTMyNkIyMkY3
M0U4NDAwRkJBNzEzIC8qIHBhc19zY2F2ZW5nZXIuYyAqLywKIAkJCQkwRjE5MzI2QTIyRjczRTg0
MDBGQkE3MTMgLyogcGFzX3NjYXZlbmdlci5oICovLAogCQkJCTBGNjgxMjcxMjJCRDRCRjQwMDM2
QTAyQiAvKiBwYXNfc2VnbWVudGVkX3ZlY3Rvci5oICovLAorCQkJCTJDMzRGRkY3Mjc1NzFEMkYw
MDU1NjVDQiAvKiBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlLmggKi8s
CiAJCQkJMEYxNDg3MEEyNjlCNzUxNzAwNjg4N0E5IC8qIHBhc19zZWdyZWdhdGVkX2RlYWxsb2Nh
dGlvbl9tb2RlLmggKi8sCi0JCQkJMEZENDhCMUUyM0E5QUJCMjAwMjZDNDZEIC8qIHBhc19zZWdy
ZWdhdGVkX2RpcmVjdG9yeS5jICovLAotCQkJCTBGRDQ4QjFCMjNBOUFCQjIwMDI2QzQ2RCAvKiBw
YXNfc2VncmVnYXRlZF9kaXJlY3RvcnkuaCAqLywKIAkJCQkwRkQ0OEIwQzIzQTlBQkIxMDAyNkM0
NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5X2JpdF9yZWZlcmVuY2UuaCAqLywKIAkJCQkw
RjUwOEQ1MjI1OEVDRkQzMDAxNTFFRDggLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5X2ZpcnN0
X2VsaWdpYmxlX2tpbmQuaCAqLywKIAkJCQkwRkQ0OEFGODIzQTlBQkFGMDAyNkM0NkQgLyogcGFz
X3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5X2lubGluZXMuaCAqLywKIAkJCQkwRkQ0OEIyMjIzQTlBQkIz
MDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5X2tpbmQuaCAqLywKKwkJCQkwRkQ0
OEIxRTIzQTlBQkIyMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfZGlyZWN0b3J5LmMgKi8sCisJ
CQkJMEZENDhCMUIyM0E5QUJCMjAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX2RpcmVjdG9yeS5o
ICovLAorCQkJCTBGRTY3MkI2MjVDMjFENTMwMDZGNjBBMiAvKiBwYXNfc2VncmVnYXRlZF9leGNs
dXNpdmVfdmlld19pbmxpbmVzLmggKi8sCiAJCQkJMEZENDhCMTgyM0E5QUJCMjAwMjZDNDZEIC8q
IHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3LmMgKi8sCiAJCQkJMEZENDhCMDYyM0E5QUJC
MDAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3LmggKi8sCi0JCQkJMEZF
NjcyQjYyNUMyMUQ1MzAwNkY2MEEyIC8qIHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3X2lu
bGluZXMuaCAqLywKLQkJCQkwRkM2ODFDMTIxMEY3QzlFMDAzQzZBMTMgLyogcGFzX3NlZ3JlZ2F0
ZWRfaGVhcC5jICovLAotCQkJCTBGQzY4MUM1MjEwRjdDOUYwMDNDNkExMyAvKiBwYXNfc2VncmVn
YXRlZF9oZWFwLmggKi8sCiAJCQkJMEZENDhBRjAyM0E5QUJBRjAwMjZDNDZEIC8qIHBhc19zZWdy
ZWdhdGVkX2hlYXBfaW5saW5lcy5oICovLAogCQkJCTBGREVBNTg3MjI4RjdENEYwMDg1RTM0MCAv
KiBwYXNfc2VncmVnYXRlZF9oZWFwX2xvb2t1cF9raW5kLmggKi8sCi0JCQkJMEZDNjgxQjQyMTA2
Q0Q3OTAwM0M2QTEzIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2UuYyAqLywKLQkJCQkwRkM2ODFBRjIx
MDY1QTAwMDAzQzZBMTMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZS5oICovLAorCQkJCTBGQzY4MUMx
MjEwRjdDOUUwMDNDNkExMyAvKiBwYXNfc2VncmVnYXRlZF9oZWFwLmMgKi8sCisJCQkJMEZDNjgx
QzUyMTBGN0M5RjAwM0M2QTEzIC8qIHBhc19zZWdyZWdhdGVkX2hlYXAuaCAqLywKIAkJCQkwRjlB
MUQzRTI1NUE1MEQ2MDBDOEQxMUIgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9hbmRfY29uZmlnLmgg
Ki8sCi0JCQkJMEY5N0U2MkYyMkE5QUFDMTAwQzM1NUY4IC8qIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnLmMgKi8sCi0JCQkJMEY5N0U2MkQyMkE5QTg1RjAwQzM1NUY4IC8qIHBhc19zZWdyZWdh
dGVkX3BhZ2VfY29uZmlnLmggKi8sCiAJCQkJMEZEQkIwNzgyMkI5ODA1NDAwNkJBNUZDIC8qIHBh
c19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lubGluZXMuaCAqLywKKwkJCQkyQzM0RkZGRjI3NTgx
NUQwMDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5j
ICovLAorCQkJCTJDMzRGRkY4Mjc1NzFEMkYwMDU1NjVDQiAvKiBwYXNfc2VncmVnYXRlZF9wYWdl
X2NvbmZpZ19raW5kX2FuZF9yb2xlLmggKi8sCiAJCQkJMEZENDhCMjMyM0E5QUJCMzAwMjZDNDZE
IC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQuYyAqLywKIAkJCQkwRkY4RDYyNjIy
QzA0QTZEMDBFQzcyRkUgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZC5kZWYgKi8s
CiAJCQkJMEZERUE0MEEyMjhCNjQzMTAwODVFMzQwIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQuaCAqLywKLQkJCQkwRjA5MjI2QjIyQjJEODhFMDA3RDVEM0EgLyogcGFzX3NlZ3Jl
Z2F0ZWRfcGFnZV9jb25maWdfdXRpbHMuaCAqLywKIAkJCQkwRjA4M0Y1ODIyQzI5NzlCMDBGM0NE
QjMgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfdXRpbHNfaW5saW5lcy5oICovLAorCQkJ
CTBGMDkyMjZCMjJCMkQ4OEUwMDdENUQzQSAvKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ191
dGlscy5oICovLAogCQkJCTBGOUExQzlGMjU1OTk2MTEwMEM4RDExQiAvKiBwYXNfc2VncmVnYXRl
ZF9wYWdlX2NvbmZpZ192YXJpYW50LmggKi8sCisJCQkJMEY5N0U2MkYyMkE5QUFDMTAwQzM1NUY4
IC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnLmMgKi8sCisJCQkJMEY5N0U2MkQyMkE5QTg1
RjAwQzM1NUY4IC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnLmggKi8sCiAJCQkJMEZDNEVD
NzgyMzUxNzA3QjAwQjcxMEEzIC8qIHBhc19zZWdyZWdhdGVkX3BhZ2VfZW1wdGluZXNzX2tpbmQu
aCAqLywKIAkJCQkwRkY4RDYyODIyQzE2NkY1MDBFQzcyRkUgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9pbmxpbmVzLmggKi8sCisJCQkJMkMzNEZGRjkyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19zZWdy
ZWdhdGVkX3BhZ2Vfcm9sZS5oICovLAorCQkJCTBGQzY4MUI0MjEwNkNENzkwMDNDNkExMyAvKiBw
YXNfc2VncmVnYXRlZF9wYWdlLmMgKi8sCisJCQkJMEZDNjgxQUYyMTA2NUEwMDAwM0M2QTEzIC8q
IHBhc19zZWdyZWdhdGVkX3BhZ2UuaCAqLywKKwkJCQkwRkQ0OEIyQTIzQTlBQkIzMDAyNkM0NkQg
LyogcGFzX3NlZ3JlZ2F0ZWRfcGFydGlhbF92aWV3X2lubGluZXMuaCAqLywKIAkJCQkwRkQ0OEIx
MTIzQTlBQkIxMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFydGlhbF92aWV3LmMgKi8sCiAJ
CQkJMEZENDhBRkEyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmll
dy5oICovLAotCQkJCTBGRDQ4QjJBMjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF9w
YXJ0aWFsX3ZpZXdfaW5saW5lcy5oICovLAorCQkJCTBGRDQ4QjAxMjNBOUFCQjAwMDI2QzQ2RCAv
KiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfaGFuZGxlX2lubGluZXMuaCAqLywKIAkJCQkwRkQ0OEIw
RDIzQTlBQkIxMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRsZS5jICovLAog
CQkJCTBGRDQ4QjFBMjNBOUFCQjIwMDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfaGFu
ZGxlLmggKi8sCi0JCQkJMEZENDhCMDEyM0E5QUJCMDAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVk
X3NoYXJlZF9oYW5kbGVfaW5saW5lcy5oICovLAogCQkJCTBGRDQ4QUYzMjNBOUFCQUYwMDI2QzQ2
RCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkuYyAqLywKIAkJCQkwRkQ0
OEIxQzIzQTlBQkIyMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3BhZ2VfZGlyZWN0
b3J5LmggKi8sCisJCQkJMEY1RTVDRjEyM0JGQkZCODAwQUEwQjZGIC8qIHBhc19zZWdyZWdhdGVk
X3NoYXJlZF92aWV3X2lubGluZXMuaCAqLywKIAkJCQkwRkQ0OEIxNzIzQTlBQkIyMDAyNkM0NkQg
LyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXcuYyAqLywKIAkJCQkwRkQ0OEIyNTIzQTlBQkIz
MDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXcuaCAqLywKLQkJCQkwRjVFNUNG
MTIzQkZCRkI4MDBBQTBCNkYgLyogcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXdfaW5saW5lcy5o
ICovLAotCQkJCTBGRDQ4QjIxMjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF9zaXpl
X2RpcmVjdG9yeS5jICovLAotCQkJCTBGRDQ4QjI5MjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfc2Vn
cmVnYXRlZF9zaXplX2RpcmVjdG9yeS5oICovLAogCQkJCTBGMTQ4NzFDMjY5RjVGQ0EwMDY4ODdB
OSAvKiBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV9jcmVhdGlvbl9tb2RlLmggKi8sCiAJ
CQkJMEZENDhCMTkyM0E5QUJCMjAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0
b3J5X2lubGluZXMuaCAqLywKLQkJCQkwRkQ0OEFGQjIzQTlBQkIwMDAyNkM0NkQgLyogcGFzX3Nl
Z3JlZ2F0ZWRfdmlldy5jICovLAotCQkJCTBGRDQ4QjBFMjNBOUFCQjEwMDI2QzQ2RCAvKiBwYXNf
c2VncmVnYXRlZF92aWV3LmggKi8sCisJCQkJMEZENDhCMjEyM0E5QUJCMzAwMjZDNDZEIC8qIHBh
c19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmMgKi8sCisJCQkJMEZENDhCMjkyM0E5QUJCMzAw
MjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmggKi8sCiAJCQkJMEZFNjcy
QzYyNUMyMUY2NzAwNkY2MEEyIC8qIHBhc19zZWdyZWdhdGVkX3ZpZXdfYWxsb2NhdG9yX2lubGlu
ZXMuaCAqLywKIAkJCQkwRkQ0OEIxNDIzQTlBQkIyMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRf
dmlld19raW5kLmggKi8sCi0JCQkJMEY5QTFDOUQyNTU5OTYxMTAwQzhEMTFCIC8qIHBhc19zaGFy
ZWRfaGFuZGxlX29yX3BhZ2VfYm91bmRhcnkuaCAqLywKKwkJCQkwRkQ0OEFGQjIzQTlBQkIwMDAy
NkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfdmlldy5jICovLAorCQkJCTBGRDQ4QjBFMjNBOUFCQjEw
MDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF92aWV3LmggKi8sCiAJCQkJMEY5QTFDREIyNTU5OTYx
NjAwQzhEMTFCIC8qIHBhc19zaGFyZWRfaGFuZGxlX29yX3BhZ2VfYm91bmRhcnlfaW5saW5lcy5o
ICovLAorCQkJCTBGOUExQzlEMjU1OTk2MTEwMEM4RDExQiAvKiBwYXNfc2hhcmVkX2hhbmRsZV9v
cl9wYWdlX2JvdW5kYXJ5LmggKi8sCiAJCQkJMEYxOEU2M0QyNjI4QkZCNjAwRjY5MDNEIC8qIHBh
c19zaGFyZWRfcGFnZV9kaXJlY3RvcnlfYnlfc2l6ZS5jICovLAogCQkJCTBGMThFNjNDMjYyOEJG
QjYwMEY2OTAzRCAvKiBwYXNfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X2J5X3NpemUuaCAqLywKIAkJ
CQkwRjZENTYzRTIzQ0FBMUI5MDBGNDBEQkIgLyogcGFzX3NpbXBsZV9mcmVlX2hlYXBfZGVjbGFy
YXRpb25zLmRlZiAqLywKQEAgLTE4MDUsOCArMTgyNiw4IEBACiAJCQkJMkMxMUU4OEQyNzI4QTc4
MzAwMjE2MkQwIC8qIHBhc19zaW1wbGVfdHlwZS5jICovLAogCQkJCTBGREVBNTc2MjI4RTIzNDQw
MDg1RTM0MCAvKiBwYXNfc2ltcGxlX3R5cGUuaCAqLywKIAkJCQkyQzkxRTU0RjI3MThEQTlBMDBE
NjdGRjkgLyogcGFzX3NpemVfbG9va3VwX21vZGUuaCAqLywKLQkJCQkwRkM2NDE4NDIxMzBERkI2
MDA0MENFNUUgLyogcGFzX3Nsb3dfcGF0aF9tb2RlLmggKi8sCiAJCQkJMEY0N0Q0MEUyMTQwREIw
NTAwOEM0MUYwIC8qIHBhc19zbG93X3BhdGhfbW9kZV9wcmVmaXguaCAqLywKKwkJCQkwRkM2NDE4
NDIxMzBERkI2MDA0MENFNUUgLyogcGFzX3Nsb3dfcGF0aF9tb2RlLmggKi8sCiAJCQkJMEY2RDU0
NzgyM0M1NzNFMTAwRjQwREJCIC8qIHBhc19zbWFsbF9sYXJnZV9tYXBfZW50cnkuaCAqLywKIAkJ
CQkwRkM2ODIxNzIxMjUzNjI3MDAzQzZBMTMgLyogcGFzX3NucHJpbnRmLmggKi8sCiAJCQkJMEZD
NEVDMzIyMzRBOTFFMjAwQjcxMEEzIC8qIHBhc19zdGF0dXNfcmVwb3J0ZXIuYyAqLywKQEAgLTE4
MTUsNDQgKzE4MzYsNDQgQEAKIAkJCQkwRkM2ODIxOTIxMjUzNjI3MDAzQzZBMTMgLyogcGFzX3N0
cmVhbS5oICovLAogCQkJCTBGQzRFQzJFMjM0QTkxRTIwMEI3MTBBMyAvKiBwYXNfc3RyaW5nX3N0
cmVhbS5jICovLAogCQkJCTBGQzRFQzMzMjM0QTkxRTIwMEI3MTBBMyAvKiBwYXNfc3RyaW5nX3N0
cmVhbS5oICovLAotCQkJCTBGQzY4MUM5MjEwRjdDOUYwMDNDNkExMyAvKiBwYXNfdGhyZWFkX2xv
Y2FsX2NhY2hlLmMgKi8sCi0JCQkJMEZDNjgxQzQyMTBGN0M5RTAwM0M2QTEzIC8qIHBhc190aHJl
YWRfbG9jYWxfY2FjaGUuaCAqLywKLQkJCQkwRkM2ODFDMjIxMEY3QzlFMDAzQzZBMTMgLyogcGFz
X3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXQuYyAqLywKLQkJCQkwRkM2ODFDQTIxMEY3QzlGMDAz
QzZBMTMgLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXQuaCAqLywKKwkJCQkwRjE0ODcx
RTI2OUY1RkNBMDA2ODg3QTkgLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXRfbm9kZV9r
aW5kLmggKi8sCiAJCQkJMEZBNUU0NTEyNDkyRDVCOTAwQ0U5NjJBIC8qIHBhc190aHJlYWRfbG9j
YWxfY2FjaGVfbGF5b3V0X25vZGUuYyAqLywKIAkJCQkwRkE1RTQ1MzI0OTJENUI5MDBDRTk2MkEg
LyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXRfbm9kZS5oICovLAotCQkJCTBGMTQ4NzFF
MjY5RjVGQ0EwMDY4ODdBOSAvKiBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dF9ub2RlX2tp
bmQuaCAqLywKKwkJCQkwRkM2ODFDMjIxMEY3QzlFMDAzQzZBMTMgLyogcGFzX3RocmVhZF9sb2Nh
bF9jYWNoZV9sYXlvdXQuYyAqLywKKwkJCQkwRkM2ODFDQTIxMEY3QzlGMDAzQzZBMTMgLyogcGFz
X3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXQuaCAqLywKIAkJCQkwRjdGNTFCQzIzMTU5RUMwMDA3
NTUyQUUgLyogcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9ub2RlLmMgKi8sCiAJCQkJMEY3RjUxQkQy
MzE1OUVDMDAwNzU1MkFFIC8qIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfbm9kZS5oICovLAorCQkJ
CTBGQzY4MUM5MjEwRjdDOUYwMDNDNkExMyAvKiBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmMgKi8s
CisJCQkJMEZDNjgxQzQyMTBGN0M5RTAwM0M2QTEzIC8qIHBhc190aHJlYWRfbG9jYWxfY2FjaGUu
aCAqLywKIAkJCQkwRjZENTQ3MTIzQzU3M0UwMDBGNDBEQkIgLyogcGFzX3RpbnlfbGFyZ2VfbWFw
X2VudHJ5LmggKi8sCiAJCQkJMEYzMUE2NjkyM0U4RTU5NDAwMkMwQ0EzIC8qIHBhc190cmVlX2Rp
cmVjdGlvbi5oICovLAogCQkJCTBGOEE4MDBDMjVDRjY0QzkwMDc5MEI0QSAvKiBwYXNfdHJpX3N0
YXRlLmggKi8sCi0JCQkJMEZFN0VFNUIyMjlFMTRGOTAwNEY0MTY2IC8qIHBhc190cnlfYWxsb2Nh
dGUuaCAqLywKIAkJCQkwRkU3RUU1QTIyOUUxNEY5MDA0RjQxNjYgLyogcGFzX3RyeV9hbGxvY2F0
ZV9hcnJheS5oICovLAogCQkJCTBGRDQ4QjAzMjNBOUFCQjAwMDI2QzQ2RCAvKiBwYXNfdHJ5X2Fs
bG9jYXRlX2NvbW1vbi5oICovLAogCQkJCTJDODVEQzQwMjcxMjhGMEYwMDM2NzkwNSAvKiBwYXNf
dHJ5X2FsbG9jYXRlX2ludHJpbnNpYy5oICovLAogCQkJCTBGRTdFRTVEMjI5RTE0RkEwMDRGNDE2
NiAvKiBwYXNfdHJ5X2FsbG9jYXRlX3ByaW1pdGl2ZS5oICovLAorCQkJCTBGRTdFRTVCMjI5RTE0
RjkwMDRGNDE2NiAvKiBwYXNfdHJ5X2FsbG9jYXRlLmggKi8sCiAJCQkJMEZFN0VFNzgyMkEwNDhC
QTAwNEY0MTY2IC8qIHBhc190cnlfcmVhbGxvY2F0ZS5oICovLAogCQkJCTBGNTlBMzkyMjY2N0Yw
MEUwMEEzODY1NyAvKiBwYXNfdHJ5X3Nocmluay5oICovLAotCQkJCTBGQzY4MjNFMjEyOUVENTEw
MDNDNkExMyAvKiBwYXNfdXRpbGl0eV9oZWFwLmMgKi8sCi0JCQkJMEZDNjgyNDEyMTI5RUQ1MTAw
M0M2QTEzIC8qIHBhc191dGlsaXR5X2hlYXAuaCAqLywKIAkJCQkwRkRFQTQyMzIyOEI2NDMzMDA4
NUUzNDAgLyogcGFzX3V0aWxpdHlfaGVhcF9jb25maWcuYyAqLywKIAkJCQkwRkRFQTQxQjIyOEI2
NDMyMDA4NUUzNDAgLyogcGFzX3V0aWxpdHlfaGVhcF9jb25maWcuaCAqLywKIAkJCQkwRkQ0OEFG
MjIzQTlBQkFGMDAyNkM0NkQgLyogcGFzX3V0aWxpdHlfaGVhcF9zdXBwb3J0LmggKi8sCisJCQkJ
MEZDNjgyM0UyMTI5RUQ1MTAwM0M2QTEzIC8qIHBhc191dGlsaXR5X2hlYXAuYyAqLywKKwkJCQkw
RkM2ODI0MTIxMjlFRDUxMDAzQzZBMTMgLyogcGFzX3V0aWxpdHlfaGVhcC5oICovLAorCQkJCTBG
QzY0MTk2MjE0MENBREMwMDQwQ0U1RSAvKiBwYXNfdXRpbHNfcHJlZml4LmggKi8sCiAJCQkJMEZD
NjgxOEYyMTAyN0M0NDAwM0M2QTEzIC8qIHBhc191dGlscy5jICovLAogCQkJCTBGQzY4MTg4MjEw
MjdCNDYwMDNDNkExMyAvKiBwYXNfdXRpbHMuaCAqLywKLQkJCQkwRkM2NDE5NjIxNDBDQURDMDA0
MENFNUUgLyogcGFzX3V0aWxzX3ByZWZpeC5oICovLAogCQkJCTBGOUExQ0IxMjU1OTk2MTMwMEM4
RDExQiAvKiBwYXNfdmVyc2lvbmVkX2ZpZWxkLmMgKi8sCiAJCQkJMEY2ODEyNkYyMkJENDE5RTAw
MzZBMDJCIC8qIHBhc192ZXJzaW9uZWRfZmllbGQuaCAqLywKKwkJCQkwRjc4MDg4ODIyRkE1MzQx
MDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2VfbWluX2hlYXAuaCAqLywKIAkJCQkwRjc4MDg4
MzIyRkEyMkQyMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2UuYyAqLywKIAkJCQkwRjc4MDg4
MjIyRkEyMkQxMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2UuaCAqLywKLQkJCQkwRjc4MDg4
ODIyRkE1MzQxMDBGMzc0NTEgLyogcGFzX3ZpcnR1YWxfcmFuZ2VfbWluX2hlYXAuaCAqLywKIAkJ
CQkwRkRFQTQ2RDIyOEI2NTQzMDA4NUUzNDAgLyogcGFzX3plcm9fbW9kZS5oICovLAotCQkJCTBG
ODcwMEEyMjVCMEE4QzIwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5jICovLAotCQkJCTBGODcwMEEz
MjVCMEE4QzIwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5oICovLAogCQkJCTBGODcwMEE0MjVCMEE4
QzIwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcF9jb25maWcuYyAqLywKIAkJCQkwRjg3MDBBNTI1QjBB
OEMyMDAwRTFBQkYgLyogdGhpbmd5X2hlYXBfY29uZmlnLmggKi8sCiAJCQkJMEY4NzAwQTEyNUIw
QThDMjAwMEUxQUJGIC8qIHRoaW5neV9oZWFwX3ByZWZpeC5oICovLAorCQkJCTBGODcwMEEyMjVC
MEE4QzIwMDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5jICovLAorCQkJCTBGODcwMEEzMjVCMEE4QzIw
MDBFMUFCRiAvKiB0aGluZ3lfaGVhcC5oICovLAogCQkJKTsKIAkJCXBhdGggPSBsaWJwYXM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk4Niw2ICsyMDA3LDcgQEAKIAkJCQkwRkQ0
OEI0MDIzQTlBQkIzMDAyNkM0NkQgLyogcGFzX2Jhc2VsaW5lX2FsbG9jYXRvcl9yZXN1bHQuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRDQ4QjVBMjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfYmFzZWxp
bmVfYWxsb2NhdG9yX3RhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjRGNjE2NDI1OUJGQjg1
MDA4QjRBODIgLyogcGFzX2Jhc2ljX2hlYXBfY29uZmlnX2VudW1lcmF0b3JfZGF0YS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMkMzNEZGRkMyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19zZWdyZWdhdGVk
X2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNEY2MTZE
MjU5QkZGOTEwMDhCNEE4MiAvKiBwYXNfYmFzaWNfaGVhcF9jb25maWdfcm9vdF9kYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjMyOUEyMjIzRjExMzJCMDBBMTMzQzQgLyogcGFzX2Jhc2ljX2hl
YXBfcGFnZV9jYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzI5QTIxMjNGMTEzMkEwMEEx
MzNDNCAvKiBwYXNfYmFzaWNfaGVhcF9ydW50aW1lX2NvbmZpZy5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yMDMxLDYgKzIwNTMsNyBAQAogCQkJCTBGNjZENTQ5MjQ4NzYwQTgwMEZDNzM0NyAvKiBwYXNf
Y29tcGFjdF9hdG9taWNfc2VncmVnYXRlZF9leGNsdXNpdmVfdmlld19wdHIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNkQ1NjcxMjNDQkQxOUQwMEY0MERCQiAvKiBwYXNfY29tcGFjdF9hdG9taWNf
c2VncmVnYXRlZF9oZWFwX3BhZ2Vfc2hhcmluZ19wb29sc19wdHIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGNkQ1NjZCMjNDQkQxOUQwMEY0MERCQiAvKiBwYXNfY29tcGFjdF9hdG9taWNfc2VncmVn
YXRlZF9wYXJ0aWFsX3ZpZXdfcHRyLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQzM0RkZGQTI3NTcx
RDJGMDA1NTY1Q0IgLyogcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEYxNDg3MTEyNjlCNzUxODAwNjg4N0E5IC8qIHBhc19jb21wYWN0X2F0b21pY19zZWdyZWdh
dGVkX3NpemVfZGlyZWN0b3J5X3B0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2RDU2NzIyM0NC
RDE5RDAwRjQwREJCIC8qIHBhc19jb21wYWN0X2F0b21pY19zZWdyZWdhdGVkX3ZpZXcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGQTVFNDVBMjQ5MkQ1QkEwMENFOTYyQSAvKiBwYXNfY29tcGFjdF9h
dG9taWNfdGhyZWFkX2xvY2FsX2NhY2hlX2xheW91dF9ub2RlLmggaW4gSGVhZGVycyAqLywKQEAg
LTIyMDUsNiArMjIyOCw3IEBACiAJCQkJMEY0RjYxQjcyNUEzRDBCQjAwOEI0QTgyIC8qIHBhc19y
YW5nZV9iZWdpbl9taW5faGVhcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZENDhCMkMyM0E5QUJC
MzAwMjZDNDZEIC8qIHBhc19yYW5nZV9sb2NrZWRfbW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY3ODA4OTAyMkZBNTM0MTAwRjM3NDUxIC8qIHBhc19yYW5nZV9taW5faGVhcC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMkMzNEZGRkIyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19nZXRfcGFnZV9iYXNl
X2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwRkU3RUU3RjIyQTFBNTgwMDA0RjQxNjYgLyogcGFzX3JlYWxsb2NhdGVfZnJlZV9t
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU3RUU3RDIyQTFBMzFDMDA0RjQxNjYgLyogcGFz
X3JlYWxsb2NhdGVfaGVhcF90ZWxlcG9ydF9ydWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkYw
OEYzMzIyQTU4RjEyMDAzODY1NzUgLyogcGFzX3JlZF9ibGFja190cmVlLmggaW4gSGVhZGVycyAq
LywKQEAgLTIyMjEsNiArMjI0NSw3IEBACiAJCQkJMEZENDhCNUQyM0E5QUJCMzAwMjZDNDZEIC8q
IHBhc19zZWdyZWdhdGVkX2RpcmVjdG9yeV9raW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQ0
OEI0MTIzQTlBQkIzMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXcuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRTY3MkI3MjVDMjFENTMwMDZGNjBBMiAvKiBwYXNfc2VncmVn
YXRlZF9leGNsdXNpdmVfdmlld19pbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQzM0RkZG
RDI3NTcxRDJGMDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRf
cm9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFN0VFMkYyMjk2MDE0MjAwNEY0MTY2IC8qIHBh
c19zZWdyZWdhdGVkX2hlYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRDQ4QjJCMjNBOUFCQjMw
MDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF9oZWFwX2lubGluZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGRTdFRTJFMjI5NjAxNDIwMDRGNDE2NiAvKiBwYXNfc2VncmVnYXRlZF9oZWFwX2xvb2t1
cF9raW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTIyNDcsNiArMjI3Miw3IEBACiAJCQkJMEZENDhC
NTQyM0E5QUJCMzAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2lubGlu
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRDQ4QjQ5MjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNf
c2VncmVnYXRlZF92aWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU2NzJDNzI1QzIxRjY3MDA2
RjYwQTIgLyogcGFzX3NlZ3JlZ2F0ZWRfdmlld19hbGxvY2F0b3JfaW5saW5lcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMkMzNEZGRkUyNzU3MUQyRjAwNTU2NUNCIC8qIHBhc19zZWdyZWdhdGVkX3Bh
Z2Vfcm9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZENDhCNEYyM0E5QUJCMzAwMjZDNDZEIC8q
IHBhc19zZWdyZWdhdGVkX3ZpZXdfa2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5QTFDRTky
NTU5OTYxNzAwQzhEMTFCIC8qIHBhc19zaGFyZWRfaGFuZGxlX29yX3BhZ2VfYm91bmRhcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGOUExRDI2MjU1OTk2MTcwMEM4RDExQiAvKiBwYXNfc2hhcmVk
X2hhbmRsZV9vcl9wYWdlX2JvdW5kYXJ5X2lubGluZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjYy
NCw2ICsyNjUwLDcgQEAKIAkJCQkwRkVBNDVDMzIzNkNFODlEMDBCNUEzNzUgLyogcGFzX2R5bmFt
aWNfcHJpbWl0aXZlX2hlYXBfbWFwLmMgaW4gU291cmNlcyAqLywKIAkJCQkwRjMyOUEzMDIzRjFE
NjM2MDBBMTMzQzQgLyogcGFzX2Vuc3VyZV9oZWFwX2ZvcmNlZF9pbnRvX3Jlc2VydmVkX21lbW9y
eS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYzMjlBMkYyM0YxRDYzNjAwQTEzM0M0IC8qIHBhc19l
bnN1cmVfaGVhcF93aXRoX3BhZ2VfY2FjaGVzLmMgaW4gU291cmNlcyAqLywKKwkJCQkyQzM0MDAw
MDI3NTgxNUQwMDA1NTY1Q0IgLyogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRf
cm9sZS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0RjYxQjYyNUEzRDBCQjAwOEI0QTgyIC8qIHBh
c19lbnVtZXJhYmxlX3BhZ2VfbWFsbG9jLmMgaW4gU291cmNlcyAqLywKIAkJCQkwRjRGNjFCNDI1
QTNEMEJCMDA4QjRBODIgLyogcGFzX2VudW1lcmFibGVfcmFuZ2VfbGlzdC5jIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY0RjYxNzcyNTlEMTA2NTAwOEI0QTgyIC8qIHBhc19lbnVtZXJhdGVfYml0Zml0
X2hlYXBzLmMgaW4gU291cmNlcyAqLywKQEAgLTI2OTYsNiArMjcyMyw3IEBACiAJCQkJMEZENDhC
NEMyM0E5QUJCMzAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmlldy5jIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEZENDhCNDgyM0E5QUJCMzAwMjZDNDZEIC8qIHBhc19zZWdyZWdhdGVk
X3NoYXJlZF9oYW5kbGUuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRDQ4QjJFMjNBOUFCQjMwMDI2
QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkuYyBpbiBTb3VyY2Vz
ICovLAorCQkJCTJDMzQwMDAyMjc1ODE2ODcwMDU1NjVDQiAvKiBwYXNfcGFnZV9iYXNlX2NvbmZp
Zy5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZENDhCNTIyM0E5QUJCMzAwMjZDNDZEIC8qIHBhc19z
ZWdyZWdhdGVkX3NoYXJlZF92aWV3LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ0OEI1QzIzQTlB
QkIzMDAyNkM0NkQgLyogcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRDQ4QjM2MjNBOUFCQjMwMDI2QzQ2RCAvKiBwYXNfc2VncmVnYXRlZF92aWV3
LmMgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L2JtYWxsb2NfaGVhcF9jb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9ibWFsbG9jX2hlYXBfY29uZmlnLmgJKHJldmlzaW9uIDI4NjQzOCkKKysr
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL2JtYWxsb2NfaGVhcF9jb25maWcuaAko
d29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsMTAgQEAgUEFTX0FQSSB2b2lkIGJtYWxsb2NfaGVh
cF9jb25maWdfYWN0aXZhdAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3NoYXJpbmdfc2hpZnQgPSBQ
QVNfU01BTExfU0hBUklOR19TSElGVCwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfc2l6
ZSA9IFBBU19TTUFMTF9QQUdFX0RFRkFVTFRfU0laRSwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVk
X3dhc3RlYWdlX2hhbmRpY2FwID0gUEFTX1NNQUxMX1BBR0VfSEFORElDQVAsIFwKLSAgICAuc21h
bGxfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24g
PSB0cnVlLCBcCisgICAgLnNtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2xvZ2dpbmdfbW9kZSA9
IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX29ibGl2aW91c19sb2dnaW5nX21vZGUs
IFwKKyAgICAuc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlID0gcGFzX3NlZ3Jl
Z2F0ZWRfZGVhbGxvY2F0aW9uX25vX2xvZ2dpbmdfbW9kZSwgXAorICAgIC5zbWFsbF9leGNsdXNp
dmVfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24g
PSB0cnVlLCBcCisgICAgLnNtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3Jk
X2VsaWdpYmlsaXR5X29wdGltaXphdGlvbiA9IGZhbHNlLCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0
ZWRfdXNlX3JldmVyc2VkX2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAogICAgIC5lbmFibGVf
dmlld19jYWNoZSA9IHRydWUsIFwKICAgICAudXNlX3NtYWxsX2JpdGZpdCA9IHRydWUsIFwKQEAg
LTYzLDYgKzY2LDggQEAgUEFTX0FQSSB2b2lkIGJtYWxsb2NfaGVhcF9jb25maWdfYWN0aXZhdAog
ICAgIC5tZWRpdW1fc2VncmVnYXRlZF9taW5fYWxpZ25fc2hpZnQgPSBQQVNfTUlOX01FRElVTV9B
TElHTl9TSElGVCwgXAogICAgIC5tZWRpdW1fc2VncmVnYXRlZF9zaGFyaW5nX3NoaWZ0ID0gUEFT
X01FRElVTV9TSEFSSU5HX1NISUZULCBcCiAgICAgLm1lZGl1bV9zZWdyZWdhdGVkX3dhc3RlYWdl
X2hhbmRpY2FwID0gUEFTX01FRElVTV9QQUdFX0hBTkRJQ0FQLCBcCisgICAgLm1lZGl1bV9leGNs
dXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRp
b25fc2l6ZV9hd2FyZV9sb2dnaW5nX21vZGUsIFwKKyAgICAubWVkaXVtX3NoYXJlZF9zZWdyZWdh
dGVkX2xvZ2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9ub19sb2dnaW5n
X21vZGUsIFwKICAgICAudXNlX21lZGl1bV9iaXRmaXQgPSB0cnVlLCBcCiAgICAgLm1lZGl1bV9i
aXRmaXRfbWluX2FsaWduX3NoaWZ0ID0gUEFTX01JTl9NRURJVU1fQUxJR05fU0hJRlQsIFwKICAg
ICAudXNlX21hcmdlX2JpdGZpdCA9IHRydWUsIFwKQEAgLTcxLDExICs3Niw3IEBAIFBBU19BUEkg
dm9pZCBibWFsbG9jX2hlYXBfY29uZmlnX2FjdGl2YXQKIAogUEFTX0FQSSBleHRlcm4gcGFzX2hl
YXBfY29uZmlnIGJtYWxsb2NfaGVhcF9jb25maWc7CiAKLVBBU19CQVNJQ19IRUFQX0NPTkZJR19E
RUNMQVJBVElPTlMoCi0gICAgYm1hbGxvYywgQk1BTExPQywKLSAgICAuc21hbGxfc2l6ZV9hd2Fy
ZV9sb2dnaW5nID0gUEFTX1NNQUxMX1NJWkVfQVdBUkVfTE9HR0lORywKLSAgICAubWVkaXVtX3Np
emVfYXdhcmVfbG9nZ2luZyA9IFBBU19NRURJVU1fU0laRV9BV0FSRV9MT0dHSU5HLAotICAgIC52
ZXJpZnlfYmVmb3JlX2xvZ2dpbmcgPSBmYWxzZSk7CitQQVNfQkFTSUNfSEVBUF9DT05GSUdfREVD
TEFSQVRJT05TKGJtYWxsb2MsIEJNQUxMT0MpOwogCiBQQVNfRU5EX0VYVEVSTl9DOwogCkluZGV4
OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9ob3RiaXRfaGVhcF9jb25maWcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9ob3RiaXRfaGVh
cF9jb25maWcuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvaG90Yml0X2hlYXBfY29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0
LDEwIEBAIFBBU19BUEkgdm9pZCBob3RiaXRfaGVhcF9jb25maWdfYWN0aXZhdGUKICAgICAuc21h
bGxfc2VncmVnYXRlZF9zaGFyaW5nX3NoaWZ0ID0gUEFTX1NNQUxMX1NIQVJJTkdfU0hJRlQsIFwK
ICAgICAuc21hbGxfc2VncmVnYXRlZF9wYWdlX3NpemUgPSBQQVNfU01BTExfUEFHRV9ERUZBVUxU
X1NJWkUsIFwKICAgICAuc21hbGxfc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNhcCA9IFBBU19T
TUFMTF9QQUdFX0hBTkRJQ0FQLCBcCi0gICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5
X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gdHJ1ZSwgXAorICAgIC5zbWFsbF9leGNs
dXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRp
b25fc2l6ZV9vYmxpdmlvdXNfbG9nZ2luZ19tb2RlLCBcCisgICAgLnNtYWxsX3NoYXJlZF9zZWdy
ZWdhdGVkX2xvZ2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX29i
bGl2aW91c19sb2dnaW5nX21vZGUsIFwKKyAgICAuc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRf
ZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gdHJ1ZSwgXAorICAg
IC5zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9v
cHRpbWl6YXRpb24gPSB0cnVlLCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfdXNlX3JldmVyc2Vk
X2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAogICAgIC5lbmFibGVfdmlld19jYWNoZSA9IHRy
dWUsIFwKICAgICAudXNlX3NtYWxsX2JpdGZpdCA9IHRydWUsIFwKQEAgLTY2LDYgKzY5LDggQEAg
UEFTX0FQSSB2b2lkIGhvdGJpdF9oZWFwX2NvbmZpZ19hY3RpdmF0ZQogICAgIC5tZWRpdW1fc2Vn
cmVnYXRlZF9taW5fYWxpZ25fc2hpZnQgPSBQQVNfTUlOX01FRElVTV9BTElHTl9TSElGVCwgXAog
ICAgIC5tZWRpdW1fc2VncmVnYXRlZF9zaGFyaW5nX3NoaWZ0ID0gUEFTX01FRElVTV9TSEFSSU5H
X1NISUZULCBcCiAgICAgLm1lZGl1bV9zZWdyZWdhdGVkX3dhc3RlYWdlX2hhbmRpY2FwID0gUEFT
X01FRElVTV9QQUdFX0hBTkRJQ0FQLCBcCisgICAgLm1lZGl1bV9leGNsdXNpdmVfc2VncmVnYXRl
ZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fc2l6ZV9hd2FyZV9s
b2dnaW5nX21vZGUsIFwKKyAgICAubWVkaXVtX3NoYXJlZF9zZWdyZWdhdGVkX2xvZ2dpbmdfbW9k
ZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX2F3YXJlX2xvZ2dpbmdfbW9kZSwg
XAogICAgIC51c2VfbWVkaXVtX2JpdGZpdCA9IHRydWUsIFwKICAgICAubWVkaXVtX2JpdGZpdF9t
aW5fYWxpZ25fc2hpZnQgPSBQQVNfTUlOX01FRElVTV9BTElHTl9TSElGVCwgXAogICAgIC51c2Vf
bWFyZ2VfYml0Zml0ID0gdHJ1ZSwgXApAQCAtNzQsMTEgKzc5LDcgQEAgUEFTX0FQSSB2b2lkIGhv
dGJpdF9oZWFwX2NvbmZpZ19hY3RpdmF0ZQogCiBQQVNfQVBJIGV4dGVybiBwYXNfaGVhcF9jb25m
aWcgaG90Yml0X2hlYXBfY29uZmlnOwogCi1QQVNfQkFTSUNfSEVBUF9DT05GSUdfREVDTEFSQVRJ
T05TKAotICAgIGhvdGJpdCwgSE9UQklULAotICAgIC5zbWFsbF9zaXplX2F3YXJlX2xvZ2dpbmcg
PSBQQVNfU01BTExfU0laRV9BV0FSRV9MT0dHSU5HLAotICAgIC5tZWRpdW1fc2l6ZV9hd2FyZV9s
b2dnaW5nID0gUEFTX01FRElVTV9TSVpFX0FXQVJFX0xPR0dJTkcsCi0gICAgLnZlcmlmeV9iZWZv
cmVfbG9nZ2luZyA9IGZhbHNlKTsKK1BBU19CQVNJQ19IRUFQX0NPTkZJR19ERUNMQVJBVElPTlMo
aG90Yml0LCBIT1RCSVQpOwogCiBQQVNfRU5EX0VYVEVSTl9DOwogCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9saWJwYXMvc3JjL2xpYnBhcy9pc29faGVhcF9jb25maWcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9pc29faGVhcF9jb25maWcuaAkocmV2aXNp
b24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaXNvX2hlYXBf
Y29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDEwIEBAIFBBU19CRUdJTl9FWFRF
Uk5fQzsKICAgICAuc21hbGxfc2VncmVnYXRlZF9zaGFyaW5nX3NoaWZ0ID0gUEFTX1NNQUxMX1NI
QVJJTkdfU0hJRlQsIFwKICAgICAuc21hbGxfc2VncmVnYXRlZF9wYWdlX3NpemUgPSBQQVNfU01B
TExfUEFHRV9ERUZBVUxUX1NJWkUsIFwKICAgICAuc21hbGxfc2VncmVnYXRlZF93YXN0ZWFnZV9o
YW5kaWNhcCA9IFBBU19TTUFMTF9QQUdFX0hBTkRJQ0FQLCBcCi0gICAgLnNtYWxsX3NlZ3JlZ2F0
ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gZmFsc2UsIFwK
KyAgICAuc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlID0gcGFzX3NlZ3Jl
Z2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfb2JsaXZpb3VzX2xvZ2dpbmdfbW9kZSwgXAorICAgIC5z
bWFsbF9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLCBcCisgICAgLnNtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdh
dGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmlsaXR5X29wdGltaXphdGlvbiA9IGZhbHNlLCBc
CisgICAgLnNtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmls
aXR5X29wdGltaXphdGlvbiA9IGZhbHNlLCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfdXNlX3Jl
dmVyc2VkX2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAogICAgIC5lbmFibGVfdmlld19jYWNo
ZSA9IGZhbHNlLCBcCiAgICAgLnVzZV9zbWFsbF9iaXRmaXQgPSB0cnVlLCBcCkBAIC02NCw2ICs2
Nyw4IEBAIFBBU19CRUdJTl9FWFRFUk5fQzsKICAgICAubWVkaXVtX3NlZ3JlZ2F0ZWRfbWluX2Fs
aWduX3NoaWZ0ID0gUEFTX01JTl9NRURJVU1fQUxJR05fU0hJRlQsIFwKICAgICAubWVkaXVtX3Nl
Z3JlZ2F0ZWRfc2hhcmluZ19zaGlmdCA9IFBBU19NRURJVU1fU0hBUklOR19TSElGVCwgXAogICAg
IC5tZWRpdW1fc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNhcCA9IFBBU19NRURJVU1fUEFHRV9I
QU5ESUNBUCwgXAorICAgIC5tZWRpdW1fZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2Rl
ID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfYXdhcmVfbG9nZ2luZ19tb2RlLCBc
CisgICAgLm1lZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVn
YXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLCBcCiAgICAgLnVzZV9tZWRpdW1fYml0
Zml0ID0gdHJ1ZSwgXAogICAgIC5tZWRpdW1fYml0Zml0X21pbl9hbGlnbl9zaGlmdCA9IFBBU19N
SU5fTUVESVVNX0FMSUdOX1NISUZULCBcCiAgICAgLnVzZV9tYXJnZV9iaXRmaXQgPSB0cnVlLCBc
CkBAIC03MiwxMSArNzcsNyBAQCBQQVNfQkVHSU5fRVhURVJOX0M7CiAKIFBBU19BUEkgZXh0ZXJu
IHBhc19oZWFwX2NvbmZpZyBpc29faGVhcF9jb25maWc7CiAKLVBBU19CQVNJQ19IRUFQX0NPTkZJ
R19ERUNMQVJBVElPTlMoCi0gICAgaXNvLCBJU08sCi0gICAgLnNtYWxsX3NpemVfYXdhcmVfbG9n
Z2luZyA9IFBBU19TTUFMTF9TSVpFX0FXQVJFX0xPR0dJTkcsCi0gICAgLm1lZGl1bV9zaXplX2F3
YXJlX2xvZ2dpbmcgPSBQQVNfTUVESVVNX1NJWkVfQVdBUkVfTE9HR0lORywKLSAgICAudmVyaWZ5
X2JlZm9yZV9sb2dnaW5nID0gZmFsc2UpOworUEFTX0JBU0lDX0hFQVBfQ09ORklHX0RFQ0xBUkFU
SU9OUyhpc28sIElTTyk7CiAKIFBBU19FTkRfRVhURVJOX0M7CiAKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL2lzb190ZXN0X2hlYXBfY29uZmlnLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvaXNvX3Rlc3RfaGVhcF9jb25maWcu
aAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
aXNvX3Rlc3RfaGVhcF9jb25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsMTAgQEAg
UEFTX0JFR0lOX0VYVEVSTl9DOwogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3NoYXJpbmdfc2hpZnQg
PSBQQVNfU01BTExfU0hBUklOR19TSElGVCwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vf
c2l6ZSA9IFBBU19TTUFMTF9QQUdFX0RFRkFVTFRfU0laRSwgXAogICAgIC5zbWFsbF9zZWdyZWdh
dGVkX3dhc3RlYWdlX2hhbmRpY2FwID0gUEFTX1NNQUxMX1BBR0VfSEFORElDQVAsIFwKLSAgICAu
c21hbGxfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRp
b24gPSBmYWxzZSwgXAorICAgIC5zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21v
ZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fc2l6ZV9vYmxpdmlvdXNfbG9nZ2luZ19t
b2RlLCBcCisgICAgLnNtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX2xvZ2dpbmdfbW9kZSA9IHBhc19z
ZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9ub19sb2dnaW5nX21vZGUsIFwKKyAgICAuc21hbGxfZXhj
bHVzaXZlX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0
aW9uID0gZmFsc2UsIFwKKyAgICAuc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5
X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gZmFsc2UsIFwKICAgICAuc21hbGxfc2Vn
cmVnYXRlZF91c2VfcmV2ZXJzZWRfY3VycmVudF93b3JkID0gZmFsc2UsIFwKICAgICAuZW5hYmxl
X3ZpZXdfY2FjaGUgPSBmYWxzZSwgXAogICAgIC51c2Vfc21hbGxfYml0Zml0ID0gdHJ1ZSwgXApA
QCAtNjQsNiArNjcsOCBAQCBQQVNfQkVHSU5fRVhURVJOX0M7CiAgICAgLm1lZGl1bV9zZWdyZWdh
dGVkX21pbl9hbGlnbl9zaGlmdCA9IFBBU19NSU5fTUVESVVNX0FMSUdOX1NISUZULCBcCiAgICAg
Lm1lZGl1bV9zZWdyZWdhdGVkX3NoYXJpbmdfc2hpZnQgPSBQQVNfTUVESVVNX1NIQVJJTkdfU0hJ
RlQsIFwKICAgICAubWVkaXVtX3NlZ3JlZ2F0ZWRfd2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfTUVE
SVVNX1BBR0VfSEFORElDQVAsIFwKKyAgICAubWVkaXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2xv
Z2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX2F3YXJlX2xvZ2dp
bmdfbW9kZSwgXAorICAgIC5tZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlID0g
cGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX25vX2xvZ2dpbmdfbW9kZSwgXAogICAgIC51c2Vf
bWVkaXVtX2JpdGZpdCA9IHRydWUsIFwKICAgICAubWVkaXVtX2JpdGZpdF9taW5fYWxpZ25fc2hp
ZnQgPSBQQVNfTUlOX01FRElVTV9BTElHTl9TSElGVCwgXAogICAgIC51c2VfbWFyZ2VfYml0Zml0
ID0gdHJ1ZSwgXApAQCAtNzIsMTEgKzc3LDcgQEAgUEFTX0JFR0lOX0VYVEVSTl9DOwogCiBQQVNf
QVBJIGV4dGVybiBwYXNfaGVhcF9jb25maWcgaXNvX3Rlc3RfaGVhcF9jb25maWc7CiAKLVBBU19C
QVNJQ19IRUFQX0NPTkZJR19ERUNMQVJBVElPTlMoCi0gICAgaXNvX3Rlc3QsIElTT19URVNULAot
ICAgIC5zbWFsbF9zaXplX2F3YXJlX2xvZ2dpbmcgPSBQQVNfU01BTExfU0laRV9BV0FSRV9MT0dH
SU5HLAotICAgIC5tZWRpdW1fc2l6ZV9hd2FyZV9sb2dnaW5nID0gUEFTX01FRElVTV9TSVpFX0FX
QVJFX0xPR0dJTkcsCi0gICAgLnZlcmlmeV9iZWZvcmVfbG9nZ2luZyA9IGZhbHNlKTsKK1BBU19C
QVNJQ19IRUFQX0NPTkZJR19ERUNMQVJBVElPTlMoaXNvX3Rlc3QsIElTT19URVNUKTsKIAogUEFT
X0VORF9FWFRFUk5fQzsKIApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
aml0X2hlYXBfY29uZmlnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvaml0X2hlYXBfY29uZmlnLmMJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL2ppdF9oZWFwX2NvbmZpZy5jCSh3b3JraW5nIGNvcHkp
CkBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBqaXRfaGVhcF9jb25maWdfZm9yX2VhY2hfc2hhcmVk
X3BhZwogICAgIHJldHVybiB0cnVlOwogfQogCi1QQVNfTk9fUkVUVVJOIHZvaWQgaml0X2hlYXBf
Y29uZmlnX2R1bXBfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X2FyZygKK3ZvaWQgaml0X2hlYXBfY29u
ZmlnX2R1bXBfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X2FyZygKICAgICBwYXNfc3RyZWFtKiBzdHJl
YW0sIHBhc19zZWdyZWdhdGVkX3NoYXJlZF9wYWdlX2RpcmVjdG9yeSogZGlyZWN0b3J5KQogewog
ICAgIFBBU19VTlVTRURfUEFSQU0oc3RyZWFtKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL2ppdF9oZWFwX2NvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL2ppdF9oZWFwX2NvbmZpZy5oCShyZXZpc2lvbiAyODY0Mzgp
CisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9qaXRfaGVhcF9jb25maWcuaAko
d29ya2luZyBjb3B5KQpAQCAtMTEwLDcgKzExMCw3IEBAIFBBU19BUEkgYm9vbCBqaXRfaGVhcF9j
b25maWdfZm9yX2VhY2hfc2gKICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3No
YXJlZF9wYWdlX2RpcmVjdG9yeSogZGlyZWN0b3J5LAogICAgICAgICAgICAgICAgICAgICAgdm9p
ZCogYXJnKSwKICAgICB2b2lkKiBhcmcpOwotUEFTX0FQSSBQQVNfTk9fUkVUVVJOIHZvaWQgaml0
X2hlYXBfY29uZmlnX2R1bXBfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X2FyZygKK1BBU19BUEkgdm9p
ZCBqaXRfaGVhcF9jb25maWdfZHVtcF9zaGFyZWRfcGFnZV9kaXJlY3RvcnlfYXJnKAogICAgIHBh
c19zdHJlYW0qIHN0cmVhbSwgcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5KiBk
aXJlY3RvcnkpOwogCiBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05fREVDTEFSQVRJT05T
KGppdF9oZWFwX2NvbmZpZyk7CkBAIC0xMjAsNyArMTIwLDcgQEAgUEFTX0hFQVBfQ09ORklHX1NQ
RUNJQUxJWkFUSU9OX0RFQ0xBUkFUSQogICAgICAgICAgICAgLmlzX2VuYWJsZWQgPSB0cnVlLCBc
CiAgICAgICAgICAgICAuaGVhcF9jb25maWdfcHRyID0gJmppdF9oZWFwX2NvbmZpZywgXAogICAg
ICAgICAgICAgLnBhZ2VfY29uZmlnX3B0ciA9ICZqaXRfaGVhcF9jb25maWcudmFyaWFudF9sb3dl
cmNhc2UgIyMgX2JpdGZpdF9jb25maWcuYmFzZSwgXAotICAgICAgICAgICAgLnBhZ2Vfa2luZCA9
IHBhc18gIyMgdmFyaWFudF9sb3dlcmNhc2UgIyMgX2JpdGZpdF9wYWdlX2tpbmQsIFwKKyAgICAg
ICAgICAgIC5wYWdlX2NvbmZpZ19raW5kID0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfYml0Zml0LCBc
CiAgICAgICAgICAgICAubWluX2FsaWduX3NoaWZ0ID0gSklUXyAjIyB2YXJpYW50X3VwcGVyY2Fz
ZSAjIyBfTUlOX0FMSUdOX1NISUZULCBcCiAgICAgICAgICAgICAucGFnZV9zaXplID0gSklUXyAj
IyB2YXJpYW50X3VwcGVyY2FzZSAjIyBfUEFHRV9TSVpFLCBcCiAgICAgICAgICAgICAuZ3JhbnVs
ZV9zaXplID0gSklUXyAjIyB2YXJpYW50X3VwcGVyY2FzZSAjIyBfR1JBTlVMRV9TSVpFLCBcCkBA
IC0xMzUsMTIgKzEzNSwxMiBAQCBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05fREVDTEFS
QVRJCiAgICAgICAgICAgICAucGFnZV9oZWFkZXJfZm9yX2JvdW5kYXJ5X3JlbW90ZSA9IGppdF9w
YWdlX2hlYWRlcl9mb3JfYm91bmRhcnlfcmVtb3RlLCBcCiAgICAgICAgICAgICAucGFnZV9vYmpl
Y3RfcGF5bG9hZF9vZmZzZXQgPSAwLCBcCiAgICAgICAgICAgICAucGFnZV9vYmplY3RfcGF5bG9h
ZF9zaXplID0gSklUXyAjIyB2YXJpYW50X3VwcGVyY2FzZSAjIyBfUEFHRV9TSVpFLCBcCi0gICAg
ICAgICAgICAucGFnZV9hbGxvY2F0b3IgPSBqaXRfICMjIHZhcmlhbnRfbG93ZXJjYXNlICMjIF9i
aXRmaXRfYWxsb2NhdGVfcGFnZSwgXAogICAgICAgICAgICAgLmNyZWF0ZV9wYWdlX2hlYWRlciA9
IGppdF8gIyMgdmFyaWFudF9sb3dlcmNhc2UgIyMgX2JpdGZpdF9jcmVhdGVfcGFnZV9oZWFkZXIs
IFwKICAgICAgICAgICAgIC5kZXN0cm95X3BhZ2VfaGVhZGVyID0gaml0XyAjIyB2YXJpYW50X2xv
d2VyY2FzZSAjIyBfYml0Zml0X2Rlc3Ryb3lfcGFnZV9oZWFkZXIgXAogICAgICAgICB9LCBcCiAg
ICAgICAgIC52YXJpYW50ID0gcGFzXyAjIyB2YXJpYW50X2xvd2VyY2FzZSAjIyBfYml0Zml0X3Bh
Z2VfY29uZmlnX3ZhcmlhbnQsIFwKICAgICAgICAgLmtpbmQgPSBwYXNfYml0Zml0X3BhZ2VfY29u
ZmlnX2tpbmRfaml0XyAjIyB2YXJpYW50X2xvd2VyY2FzZSAjIyBfYml0Zml0LCBcCisgICAgICAg
IC5wYWdlX2FsbG9jYXRvciA9IGppdF8gIyMgdmFyaWFudF9sb3dlcmNhc2UgIyMgX2JpdGZpdF9h
bGxvY2F0ZV9wYWdlLCBcCiAgICAgICAgIFBBU19CSVRGSVRfUEFHRV9DT05GSUdfU1BFQ0lBTEla
QVRJT05TKGppdF8gIyMgdmFyaWFudF9sb3dlcmNhc2UgIyMgX2JpdGZpdF9wYWdlX2NvbmZpZykg
XAogICAgIH0KIApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvbWluYWxp
Z24zMl9oZWFwX2NvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9z
cmMvbGlicGFzL21pbmFsaWduMzJfaGVhcF9jb25maWcuaAkocmV2aXNpb24gMjg2NDM4KQorKysg
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvbWluYWxpZ24zMl9oZWFwX2NvbmZpZy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCwxMCBAQCBQQVNfQVBJIHZvaWQgbWluYWxpZ24z
Ml9oZWFwX2NvbmZpZ19hY3RpCiAgICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfc2hhcmluZ19zaGlmdCA9
IFBBU19TTUFMTF9TSEFSSU5HX1NISUZULCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfcGFnZV9z
aXplID0gUEFTX1NNQUxMX1BBR0VfREVGQVVMVF9TSVpFLCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0
ZWRfd2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfU01BTExfUEFHRV9IQU5ESUNBUCwgXAotICAgIC5z
bWFsbF9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmlsaXR5X29wdGltaXphdGlv
biA9IHRydWUsIFwKKyAgICAuc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2Rl
ID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfb2JsaXZpb3VzX2xvZ2dpbmdfbW9k
ZSwgXAorICAgIC5zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2Vn
cmVnYXRlZF9kZWFsbG9jYXRpb25fc2l6ZV9vYmxpdmlvdXNfbG9nZ2luZ19tb2RlLCBcCisgICAg
LnNtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmlsaXR5
X29wdGltaXphdGlvbiA9IHRydWUsIFwKKyAgICAuc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfZW5h
YmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gdHJ1ZSwgXAogICAgIC5z
bWFsbF9zZWdyZWdhdGVkX3VzZV9yZXZlcnNlZF9jdXJyZW50X3dvcmQgPSB0cnVlLCBcCiAgICAg
LmVuYWJsZV92aWV3X2NhY2hlID0gdHJ1ZSwgXAogICAgIC51c2Vfc21hbGxfYml0Zml0ID0gdHJ1
ZSwgXApAQCAtNjYsNiArNjksOCBAQCBQQVNfQVBJIHZvaWQgbWluYWxpZ24zMl9oZWFwX2NvbmZp
Z19hY3RpCiAgICAgLm1lZGl1bV9zZWdyZWdhdGVkX21pbl9hbGlnbl9zaGlmdCA9IFBBU19NSU5f
TUVESVVNX0FMSUdOX1NISUZULCBcCiAgICAgLm1lZGl1bV9zZWdyZWdhdGVkX3NoYXJpbmdfc2hp
ZnQgPSBQQVNfTUVESVVNX1NIQVJJTkdfU0hJRlQsIFwKICAgICAubWVkaXVtX3NlZ3JlZ2F0ZWRf
d2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfTUVESVVNX1BBR0VfSEFORElDQVAsIFwKKyAgICAubWVk
aXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2xvZ2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2Rl
YWxsb2NhdGlvbl9zaXplX2F3YXJlX2xvZ2dpbmdfbW9kZSwgXAorICAgIC5tZWRpdW1fc2hhcmVk
X3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3Np
emVfYXdhcmVfbG9nZ2luZ19tb2RlLCBcCiAgICAgLnVzZV9tZWRpdW1fYml0Zml0ID0gdHJ1ZSwg
XAogICAgIC5tZWRpdW1fYml0Zml0X21pbl9hbGlnbl9zaGlmdCA9IFBBU19NSU5fTUVESVVNX0FM
SUdOX1NISUZULCBcCiAgICAgLnVzZV9tYXJnZV9iaXRmaXQgPSB0cnVlLCBcCkBAIC03NCwxMSAr
NzksNyBAQCBQQVNfQVBJIHZvaWQgbWluYWxpZ24zMl9oZWFwX2NvbmZpZ19hY3RpCiAKIFBBU19B
UEkgZXh0ZXJuIHBhc19oZWFwX2NvbmZpZyBtaW5hbGlnbjMyX2hlYXBfY29uZmlnOwogCi1QQVNf
QkFTSUNfSEVBUF9DT05GSUdfREVDTEFSQVRJT05TKAotICAgIG1pbmFsaWduMzIsIE1JTkFMSUdO
MzIsCi0gICAgLnNtYWxsX3NpemVfYXdhcmVfbG9nZ2luZyA9IFBBU19TTUFMTF9TSVpFX0FXQVJF
X0xPR0dJTkcsCi0gICAgLm1lZGl1bV9zaXplX2F3YXJlX2xvZ2dpbmcgPSBQQVNfTUVESVVNX1NJ
WkVfQVdBUkVfTE9HR0lORywKLSAgICAudmVyaWZ5X2JlZm9yZV9sb2dnaW5nID0gZmFsc2UpOwor
UEFTX0JBU0lDX0hFQVBfQ09ORklHX0RFQ0xBUkFUSU9OUyhtaW5hbGlnbjMyLCBNSU5BTElHTjMy
KTsKIAogUEFTX0VORF9FWFRFUk5fQzsKIApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFnZXNpemU2NGtfaGVhcF9jb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYWdlc2l6ZTY0a19oZWFwX2NvbmZpZy5oCShyZXZp
c2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYWdlc2l6
ZTY0a19oZWFwX2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1NywxMCBAQCBQQVNf
QVBJIHZvaWQgcGFnZXNpemU2NGtfaGVhcF9jb25maWdfYWN0CiAgICAgLnNtYWxsX3NlZ3JlZ2F0
ZWRfc2hhcmluZ19zaGlmdCA9IFBBU19TTUFMTF9TSEFSSU5HX1NISUZULCBcCiAgICAgLnNtYWxs
X3NlZ3JlZ2F0ZWRfcGFnZV9zaXplID0gUEFHRVNJWkU2NEtfU01BTExfUEFHRV9TSVpFLCBcCiAg
ICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfd2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfU01BTExfUEFHRV9I
QU5ESUNBUCwgXAotICAgIC5zbWFsbF9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdp
YmlsaXR5X29wdGltaXphdGlvbiA9IGZhbHNlLCBcCisgICAgLnNtYWxsX2V4Y2x1c2l2ZV9zZWdy
ZWdhdGVkX2xvZ2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX29i
bGl2aW91c19sb2dnaW5nX21vZGUsIFwKKyAgICAuc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9n
Z2luZ19tb2RlID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfb2JsaXZpb3VzX2xv
Z2dpbmdfbW9kZSwgXAorICAgIC5zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9lbmFibGVfZW1w
dHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24gPSBmYWxzZSwgXAorICAgIC5zbWFsbF9z
aGFyZWRfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRp
b24gPSBmYWxzZSwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3VzZV9yZXZlcnNlZF9jdXJyZW50
X3dvcmQgPSAhUEFTX0FSTTY0LCBcCiAgICAgLmVuYWJsZV92aWV3X2NhY2hlID0gZmFsc2UsIFwK
ICAgICAudXNlX3NtYWxsX2JpdGZpdCA9IHRydWUsIFwKQEAgLTY5LDE3ICs3MiwxNSBAQCBQQVNf
QVBJIHZvaWQgcGFnZXNpemU2NGtfaGVhcF9jb25maWdfYWN0CiAgICAgLm1lZGl1bV9zZWdyZWdh
dGVkX21pbl9hbGlnbl9zaGlmdCA9IFBBU19NSU5fTUVESVVNX0FMSUdOX1NISUZULCBcCiAgICAg
Lm1lZGl1bV9zZWdyZWdhdGVkX3NoYXJpbmdfc2hpZnQgPSBQQVNfTUVESVVNX1NIQVJJTkdfU0hJ
RlQsIFwKICAgICAubWVkaXVtX3NlZ3JlZ2F0ZWRfd2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfTUVE
SVVNX1BBR0VfSEFORElDQVAsIFwKKyAgICAubWVkaXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2xv
Z2dpbmdfbW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX2F3YXJlX2xvZ2dp
bmdfbW9kZSwgXAorICAgIC5tZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlID0g
cGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfYXdhcmVfbG9nZ2luZ19tb2RlLCBcCiAg
ICAgLnVzZV9tZWRpdW1fYml0Zml0ID0gdHJ1ZSwgXAogICAgIC5tZWRpdW1fYml0Zml0X21pbl9h
bGlnbl9zaGlmdCA9IFBBU19NSU5fTUVESVVNX0FMSUdOX1NISUZULCBcCiAgICAgLnVzZV9tYXJn
ZV9iaXRmaXQgPSBmYWxzZSkKIAogUEFTX0FQSSBleHRlcm4gcGFzX2hlYXBfY29uZmlnIHBhZ2Vz
aXplNjRrX2hlYXBfY29uZmlnOwogCi1QQVNfQkFTSUNfSEVBUF9DT05GSUdfREVDTEFSQVRJT05T
KAotICAgIHBhZ2VzaXplNjRrLCBQQUdFU0laRTY0SywKLSAgICAuc21hbGxfc2l6ZV9hd2FyZV9s
b2dnaW5nID0gUEFTX1NNQUxMX1NJWkVfQVdBUkVfTE9HR0lORywKLSAgICAubWVkaXVtX3NpemVf
YXdhcmVfbG9nZ2luZyA9IFBBU19NRURJVU1fU0laRV9BV0FSRV9MT0dHSU5HLAotICAgIC52ZXJp
ZnlfYmVmb3JlX2xvZ2dpbmcgPSBmYWxzZSk7CitQQVNfQkFTSUNfSEVBUF9DT05GSUdfREVDTEFS
QVRJT05TKHBhZ2VzaXplNjRrLCBQQUdFU0laRTY0Syk7CiAKIFBBU19FTkRfRVhURVJOX0M7CiAK
SW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iYXNpY19oZWFwX3Bh
Z2VfY2FjaGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXMuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291
cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMzgsOSArMzgsOSBAQCB0eXBlZGVmIHN0cnVjdCBwYXNfYmFz
aWNfaGVhcF9wYWdlX2NhY2hlCiAKIHN0cnVjdCBwYXNfYmFzaWNfaGVhcF9wYWdlX2NhY2hlcyB7
CiAgICAgcGFzX2xhcmdlX2hlYXBfcGh5c2ljYWxfcGFnZV9zaGFyaW5nX2NhY2hlIGxhcmdlX2hl
YXBfY2FjaGU7Ci0gICAgcGFzX21lZ2FwYWdlX2NhY2hlIHNtYWxsX3NlZ3JlZ2F0ZWRfbWVnYXBh
Z2VfY2FjaGU7CisgICAgcGFzX21lZ2FwYWdlX2NhY2hlIHNtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdh
dGVkX21lZ2FwYWdlX2NhY2hlOwogICAgIHBhc19zaGFyZWRfcGFnZV9kaXJlY3RvcnlfYnlfc2l6
ZSBzbWFsbF9zaGFyZWRfcGFnZV9kaXJlY3RvcmllczsKLSAgICBwYXNfbWVnYXBhZ2VfY2FjaGUg
c21hbGxfYml0Zml0X21lZ2FwYWdlX2NhY2hlOworICAgIHBhc19tZWdhcGFnZV9jYWNoZSBzbWFs
bF9vdGhlcl9tZWdhcGFnZV9jYWNoZTsKICAgICBwYXNfbWVnYXBhZ2VfY2FjaGUgbWVkaXVtX21l
Z2FwYWdlX2NhY2hlOyAvKiBUaGUgcHVycG9zZSBvZiB0aGlzIGlzIG5vdCBmb3IgdGhlIGZhc3Qg
bWVnYXBhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0YWJsZSwgYnV0IHRvIG1ha2Ugc3VyZSB0aGF0IG1lZGl1bSBwYWdlcyBhcmUgbm90CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGVkIG9u
ZS1hdC1hLXRpbWUgZnJvbSBib290c3RyYXAsIHNpbmNlIHRoYXQKQEAgLTUyLDEwICs1MiwxMCBA
QCBzdHJ1Y3QgcGFzX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXMgewogI2RlZmluZSBQQVNfQkFTSUNf
SEVBUF9QQUdFX0NBQ0hFU19JTklUSUFMSVpFUihzbWFsbF9sb2dfc2hpZnQsIG1lZGl1bV9sb2df
c2hpZnQpIFwKICAgICAoKHBhc19iYXNpY19oZWFwX3BhZ2VfY2FjaGVzKXsgXAogICAgICAgICAu
bGFyZ2VfaGVhcF9jYWNoZSA9IFBBU19MQVJHRV9GUkVFX0hFQVBfUEhZU0lDQUxfUEFHRV9TSEFS
SU5HX0NBQ0hFX0lOSVRJQUxJWkVSLCBcCi0gICAgICAgIC5zbWFsbF9zZWdyZWdhdGVkX21lZ2Fw
YWdlX2NhY2hlID0gUEFTX01FR0FQQUdFX0NBQ0hFX0lOSVRJQUxJWkVSLCBcCisgICAgICAgIC5z
bWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9tZWdhcGFnZV9jYWNoZSA9IFBBU19NRUdBUEFHRV9D
QUNIRV9JTklUSUFMSVpFUiwgXAogICAgICAgICAuc21hbGxfc2hhcmVkX3BhZ2VfZGlyZWN0b3Jp
ZXMgPSBQQVNfU0hBUkVEX1BBR0VfRElSRUNUT1JZX0JZX1NJWkVfSU5JVElBTElaRVIoIFwKICAg
ICAgICAgICAgIChzbWFsbF9sb2dfc2hpZnQpLCBwYXNfc2hhcmVfcGFnZXMpLCBcCi0gICAgICAg
IC5zbWFsbF9iaXRmaXRfbWVnYXBhZ2VfY2FjaGUgPSBQQVNfTUVHQVBBR0VfQ0FDSEVfSU5JVElB
TElaRVIsIFwKKyAgICAgICAgLnNtYWxsX290aGVyX21lZ2FwYWdlX2NhY2hlID0gUEFTX01FR0FQ
QUdFX0NBQ0hFX0lOSVRJQUxJWkVSLCBcCiAgICAgICAgIC5tZWRpdW1fbWVnYXBhZ2VfY2FjaGUg
PSBQQVNfTUVHQVBBR0VfQ0FDSEVfSU5JVElBTElaRVIsIFwKICAgICAgICAgLm1lZGl1bV9zaGFy
ZWRfcGFnZV9kaXJlY3RvcmllcyA9IFBBU19TSEFSRURfUEFHRV9ESVJFQ1RPUllfQllfU0laRV9J
TklUSUFMSVpFUiggXAogICAgICAgICAgICAgKG1lZGl1bV9sb2dfc2hpZnQpLCBwYXNfc2hhcmVf
cGFnZXMpIFwKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRm
aXRfYWxsb2NhdG9yLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9s
aWJwYXMvcGFzX2JpdGZpdF9hbGxvY2F0b3IuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9hbGxvY2F0b3IuYwkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsMTUgKzM3LDE2IEBACiAjaW5jbHVkZSAicGFzX3BoeXNpY2FsX21lbW9y
eV90cmFuc2FjdGlvbi5oIgogCiBib29sIHBhc19iaXRmaXRfYWxsb2NhdG9yX2NvbW1pdF92aWV3
KHBhc19iaXRmaXRfdmlldyogdmlldywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvciogbG9jYWwsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhc19iaXRmaXRfcGFnZV9jb25maWcqIGNvbmZpZywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2xvY2tfaG9sZF9tb2RlIGNvbW1pdF9s
b2NrX2hvbGRfbW9kZSkKIHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7
CiAgICAgCiAgICAgcGFzX2JpdGZpdF9kaXJlY3RvcnkqIGRpcmVjdG9yeTsKKyAgICBwYXNfc2Vn
cmVnYXRlZF9oZWFwKiBoZWFwOwogCiAgICAgZGlyZWN0b3J5ID0gcGFzX2NvbXBhY3RfYml0Zml0
X2RpcmVjdG9yeV9wdHJfbG9hZCgmdmlldy0+ZGlyZWN0b3J5KTsKKyAgICBoZWFwID0gZGlyZWN0
b3J5LT5oZWFwOwogCiAgICAgLyogV2UncmUgYWxtb3N0IGNlcnRhaW5seSBnb25uYSBjb21taXQg
YSBwYWdlLCBzbyBsZXQncyBqdXN0IGdldCB0aGlzIG91dCBvZiB0aGUgd2F5LiBXZSBuZWVkIHRv
CiAgICAgICAgcmVsZWFzZSB0aGUgb3duZXJzaGlwIGxvY2sgdG8gZG8gdGhpcy4gQnV0LCB3ZSBj
YW4ndCBkbyBpdCBhdCBhbGwgaWYgd2UgYWxyZWFkeSBob2xkIHRoZSBjb21taXQKQEAgLTExOCw4
ICsxMTksNyBAQCBib29sIHBhc19iaXRmaXRfYWxsb2NhdG9yX2NvbW1pdF92aWV3KHBhCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmlldywgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5k
X2dldF9zdHJpbmcoY29uZmlnLT5raW5kKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIHZpZXctPnBhZ2VfYm91bmRhcnkgPSBjb25maWctPmJh
c2UucGFnZV9hbGxvY2F0b3IoCi0gICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Zp
ZXdfZ2V0X3NpemVfZGlyZWN0b3J5KGxvY2FsLT52aWV3KS0+aGVhcCwgJnRyYW5zYWN0aW9uKTsK
KyAgICAgICAgICAgICAgICB2aWV3LT5wYWdlX2JvdW5kYXJ5ID0gY29uZmlnLT5wYWdlX2FsbG9j
YXRvcihoZWFwLCAmdHJhbnNhY3Rpb24pOwogICAgICAgICAgICAgICAgIGRpZF9zdWNjZWVkID0g
ISF2aWV3LT5wYWdlX2JvdW5kYXJ5OwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
IGlmICh2ZXJib3NlKQpAQCAtMjMxLDkgKzIzMSw5IEBAIHBhc19iaXRmaXRfdmlldyogcGFzX2Jp
dGZpdF9hbGxvY2F0b3JfZmkKICAgICAgICAgdW5zaWduZWQgaW5kZXg7CiAgICAgICAgIHBhc19i
aXRmaXRfc2l6ZV9jbGFzcyogY3VycmVudF9zaXplX2NsYXNzOwogICAgICAgICBwYXNfdmVyc2lv
bmVkX2ZpZWxkIGZpcnN0X2ZyZWVfdmFsdWU7Ci0gICAgICAgIAotICAgICAgICBwYXNfYml0Zml0
X2FsbG9jYXRvcl9yZXNldChhbGxvY2F0b3IpOwogCisgICAgICAgIGFsbG9jYXRvci0+dmlldyA9
IE5VTEw7CisgICAgICAgIAogICAgICAgICBQQVNfQVNTRVJUKHZpZXctPnBhZ2VfYm91bmRhcnkp
OwogICAgICAgICBwYXNfYml0Zml0X3BhZ2VfZm9yX2JvdW5kYXJ5KHZpZXctPnBhZ2VfYm91bmRh
cnksICpjb25maWcpLT5kaWRfbm90ZV9tYXhfZnJlZSA9IGZhbHNlOwogICAgICAgICAKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfYWxsb2NhdG9yLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZp
dF9hbGxvY2F0b3IuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX2JpdGZpdF9hbGxvY2F0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDQs
NyArNDQsNiBAQCB0eXBlZGVmIHN0cnVjdCBwYXNfYml0Zml0X3ZpZXcgcGFzX2JpdGZpCiBzdHJ1
Y3QgcGFzX2JpdGZpdF9hbGxvY2F0b3IgewogICAgIHBhc19iaXRmaXRfc2l6ZV9jbGFzcyogc2l6
ZV9jbGFzczsKICAgICBwYXNfYml0Zml0X3ZpZXcqIHZpZXc7Ci0gICAgdW5zaWduZWQgY291bnRk
b3duOwogfTsKIAogUEFTX0VORF9FWFRFUk5fQzsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfYWxsb2NhdG9yX2lubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X2FsbG9jYXRvcl9p
bmxpbmVzLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc19iaXRmaXRfYWxsb2NhdG9yX2lubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSwy
MiArMzksNyBAQAogCiBQQVNfQkVHSU5fRVhURVJOX0M7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBw
YXNfYml0Zml0X2FsbG9jYXRvcl9yZXNldChwYXNfYml0Zml0X2FsbG9jYXRvciogYWxsb2NhdG9y
KQotewotICAgIGFsbG9jYXRvci0+c2l6ZV9jbGFzcyA9IE5VTEw7Ci0gICAgYWxsb2NhdG9yLT5z
aXplX2NsYXNzID0gTlVMTDsKLSAgICBhbGxvY2F0b3ItPnZpZXcgPSBOVUxMOwotfQotCi1zdGF0
aWMgaW5saW5lIHZvaWQgcGFzX2JpdGZpdF9hbGxvY2F0b3JfYXNzZXJ0X3Jlc2V0KHBhc19iaXRm
aXRfYWxsb2NhdG9yKiBhbGxvY2F0b3IpCi17Ci0gICAgUEFTX1RFU1RJTkdfQVNTRVJUKCFhbGxv
Y2F0b3ItPnNpemVfY2xhc3MpOwotICAgIFBBU19URVNUSU5HX0FTU0VSVCghYWxsb2NhdG9yLT5z
aXplX2NsYXNzKTsKLSAgICBQQVNfVEVTVElOR19BU1NFUlQoIWFsbG9jYXRvci0+dmlldyk7Ci19
Ci0KIFBBU19BUEkgYm9vbCBwYXNfYml0Zml0X2FsbG9jYXRvcl9jb21taXRfdmlldyhwYXNfYml0
Zml0X3ZpZXcqIHZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvciogbG9jYWwsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZyogY29uZmlnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19sb2NrX2hv
bGRfbW9kZSBjb21taXRfbG9ja19ob2xkX21vZGUpOwogCkBAIC02OCw3ICs1Myw2IEBAIHBhc19i
aXRmaXRfYWxsb2NhdG9yX2ZpbmlzaF9mYWlsaW5nKHBhc18KIAogc3RhdGljIFBBU19BTFdBWVNf
SU5MSU5FIHBhc19mYXN0X3BhdGhfYWxsb2NhdGlvbl9yZXN1bHQKIHBhc19iaXRmaXRfYWxsb2Nh
dG9yX3RyeV9hbGxvY2F0ZShwYXNfYml0Zml0X2FsbG9jYXRvciogYWxsb2NhdG9yLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19sb2NhbF9hbGxvY2F0b3IqIGxvY2FsLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhbGlnbm1lbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZyBjb25maWcpCkBAIC05
NSw3ICs3OSwxNCBAQCBwYXNfYml0Zml0X2FsbG9jYXRvcl90cnlfYWxsb2NhdGUocGFzX2JpCiAg
ICAgICAgIHBhc19iaXRmaXRfcGFnZSogcGFnZTsKICAgICAgICAgc2l6ZV90IGJ5dGVzX2NvbW1p
dHRlZDsKICAgICAgICAgCi0gICAgICAgIFBBU19URVNUSU5HX0FTU0VSVCh2aWV3KTsKKyAgICAg
ICAgaWYgKFBBU19VTkxJS0VMWSghdmlldykpIHsKKyAgICAgICAgICAgIFBBU19URVNUSU5HX0FT
U0VSVCghYWxsb2NhdG9yLT52aWV3KTsKKyAgICAgICAgICAgIHZpZXcgPSBwYXNfYml0Zml0X3Np
emVfY2xhc3NfZ2V0X2ZpcnN0X2ZyZWVfdmlldygKKyAgICAgICAgICAgICAgICBhbGxvY2F0b3It
PnNpemVfY2xhc3MsIChwYXNfYml0Zml0X3BhZ2VfY29uZmlnKiljb25maWcuYmFzZS5wYWdlX2Nv
bmZpZ19wdHIpOworICAgICAgICAgICAgaWYgKCF2aWV3KQorICAgICAgICAgICAgICAgIHJldHVy
biBwYXNfZmFzdF9wYXRoX2FsbG9jYXRpb25fcmVzdWx0X2NyZWF0ZV9vdXRfb2ZfbWVtb3J5KCk7
CisgICAgICAgICAgICBhbGxvY2F0b3ItPnZpZXcgPSB2aWV3OworICAgICAgICB9CiAKICAgICAg
ICAgYnl0ZXNfY29tbWl0dGVkID0gMDsKICAgICAgICAgYml0Zml0X3Jlc3VsdCA9IHBhc19iaXRm
aXRfYWxsb2NhdGlvbl9yZXN1bHRfY3JlYXRlX2VtcHR5KCk7CkBAIC0xMjMsNyArMTE0LDcgQEAg
cGFzX2JpdGZpdF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRlKHBhc19iaQogICAgICAgICAgICAgaWYg
KFBBU19VTkxJS0VMWSghdmlldy0+aXNfb3duZWQpKSB7CiAgICAgICAgICAgICAgICAgLyogTm90
ZSB0aGF0IHRoaXMgd291bGQgaGF2ZSBmbGFzaGVkIHRoZSBvd25lcnNoaXAgbG9jayBwb3NzaWJs
eS4gKi8KICAgICAgICAgICAgICAgICBpZiAoIXBhc19iaXRmaXRfYWxsb2NhdG9yX2NvbW1pdF92
aWV3KAotICAgICAgICAgICAgICAgICAgICAgICAgdmlldywgbG9jYWwsIChwYXNfYml0Zml0X3Bh
Z2VfY29uZmlnKiljb25maWcuYmFzZS5wYWdlX2NvbmZpZ19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICB2aWV3LCAocGFzX2JpdGZpdF9wYWdlX2NvbmZpZyopY29uZmlnLmJhc2UucGFnZV9j
b25maWdfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0X2xvY2tfaG9sZF9tb2Rl
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc19sb2coImJpdGZpdCBpcyBvdXQgb2YgbWVtb3J5XG4iKTsKQEAgLTE1OSwyNSAr
MTUwLDE5IEBAIHBhc19iaXRmaXRfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZShwYXNfYmkKICAgICAg
ICAgUEFTX0FTU0VSVCghYml0Zml0X3Jlc3VsdC5wYWdlc190b19jb21taXRfb25fcmVsb29wKTsK
IAogICAgICAgICBpZiAoIWJpdGZpdF9yZXN1bHQuZGlkX3N1Y2NlZWQpIHsKLSAgICAgICAgICAg
IHBhc19iaXRmaXRfdmlldyogbmV4dF92aWV3OwotCiAgICAgICAgICAgICBQQVNfQVNTRVJUKCFi
eXRlc19jb21taXR0ZWQpOwogCiAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAg
ICAgICBwYXNfbG9nKCJiaXRmaXQgcGFnZSBhbGxvY2F0aW9uIGRpZCBub3Qgc3VjY2VlZC5cbiIp
OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBuZXh0X3ZpZXcgPSBwYXNfYml0Zml0X2FsbG9j
YXRvcl9maW5pc2hfZmFpbGluZygKKyAgICAgICAgICAgIHZpZXcgPSBwYXNfYml0Zml0X2FsbG9j
YXRvcl9maW5pc2hfZmFpbGluZygKICAgICAgICAgICAgICAgICBhbGxvY2F0b3IsIHZpZXcsIHNp
emUsIGFsaWdubWVudCwgYml0Zml0X3Jlc3VsdC51Lmxhcmdlc3RfYXZhaWxhYmxlLAogICAgICAg
ICAgICAgICAgIChwYXNfYml0Zml0X3BhZ2VfY29uZmlnKiljb25maWcuYmFzZS5wYWdlX2NvbmZp
Z19wdHIpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAobmV4dF92aWV3KSB7CisgICAg
ICAgICAgICBpZiAodmlldykKICAgICAgICAgICAgICAgICBQQVNfVEVTVElOR19BU1NFUlQoYWxp
Z25tZW50ID4gcGFzX3BhZ2VfYmFzZV9jb25maWdfbWluX2FsaWduKGNvbmZpZy5iYXNlKSk7Ci0K
LSAgICAgICAgICAgICAgICB2aWV3ID0gbmV4dF92aWV3OwotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gcGFz
X2Zhc3RfcGF0aF9hbGxvY2F0aW9uX3Jlc3VsdF9jcmVhdGVfbmVlZF9zbG93KCk7CisgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgcGFzX2xvY2tfdW5s
b2NrKCZ2aWV3LT5vd25lcnNoaXBfbG9jayk7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfYml0Zml0X2hlYXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X2hlYXAuYwkocmV2aXNpb24gMjg2NDM4KQor
KysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9oZWFwLmMJKHdv
cmtpbmcgY29weSkKQEAgLTEyMiw2NSArMTIyLDQxIEBAIHBhc19iaXRmaXRfdmFyaWFudF9zZWxl
Y3Rpb24gcGFzX2JpdGZpdF8KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1wYXNfYml0Zml0X3Np
emVfY2xhc3MqCi1wYXNfYml0Zml0X2hlYXBfZW5zdXJlX3NpemVfY2xhc3MocGFzX2JpdGZpdF9o
ZWFwKiBoZWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNf
c2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXNfaGVhcF9jb25maWcqIGNvbmZpZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2xvY2tfaG9sZF9tb2RlIGhlYXBf
bG9ja19ob2xkX21vZGUpCit2b2lkIHBhc19iaXRmaXRfaGVhcF9jb25zdHJ1Y3RfYW5kX2luc2Vy
dF9zaXplX2NsYXNzKHBhc19iaXRmaXRfaGVhcCogaGVhcCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF9zaXplX2NsYXNzKiBz
aXplX2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBvYmplY3Rfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2hlYXBfY29uZmlnKiBjb25maWcpCiB7CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogICAgIAotICAgIHBhc19iaXRm
aXRfc2l6ZV9jbGFzcyogcmVzdWx0OwogICAgIHBhc19iaXRmaXRfdmFyaWFudF9zZWxlY3Rpb24g
YmVzdDsKKyAgICBwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3NpemVfY2xhc3NfcHRyKiBpbnNl
cnRpb25fcG9pbnQ7CisgICAgcGFzX2JpdGZpdF9kaXJlY3RvcnkqIGJpdGZpdF9kaXJlY3Rvcnk7
CisgICAgcGFzX2JpdGZpdF9zaXplX2NsYXNzKiBvdGhlcl9zaXplX2NsYXNzOwogCiAgICAgaWYg
KHZlcmJvc2UpIHsKLSAgICAgICAgcGFzX2xvZygiQ29uc2lkZXJpbmcgY3JlYXRpbmcgc2l6ZSBj
bGFzcyBmb3IgYml0Zml0IGhlYXAgJXAsIHNlZ3JlZ2F0ZWQgc2l6ZSBkaXJlY3RvcnkgJXAgIgot
ICAgICAgICAgICAgICAgICIoZGlyZWN0b3J5IHNpemUgPSAldSkuXG4iLAotICAgICAgICAgICAg
ICAgIGhlYXAsIGRpcmVjdG9yeSwgZGlyZWN0b3J5LT5vYmplY3Rfc2l6ZSk7CisgICAgICAgIHBh
c19sb2coIkNvbnNpZGVyaW5nIGNyZWF0aW5nIHNpemUgY2xhc3MgZm9yIGJpdGZpdCBoZWFwICVw
IGF0ICVwIHdpdGggc2l6ZSA9ICV1LlxuIiwKKyAgICAgICAgICAgICAgICBoZWFwLCBzaXplX2Ns
YXNzLCBvYmplY3Rfc2l6ZSk7CiAgICAgfQogCi0gICAgYmVzdCA9IHBhc19iaXRmaXRfaGVhcF9z
ZWxlY3RfdmFyaWFudChkaXJlY3RvcnktPm9iamVjdF9zaXplLCBjb25maWcpOworICAgIGJlc3Qg
PSBwYXNfYml0Zml0X2hlYXBfc2VsZWN0X3ZhcmlhbnQob2JqZWN0X3NpemUsIGNvbmZpZyk7CiAK
LSAgICBwYXNfaGVhcF9sb2NrX2xvY2tfY29uZGl0aW9uYWxseShoZWFwX2xvY2tfaG9sZF9tb2Rl
KTsKICAgICBwYXNfaGVhcF9sb2NrX2Fzc2VydF9oZWxkKCk7CiAgICAgaWYgKHZlcmJvc2UpIHsK
LSAgICAgICAgcGFzX2xvZygiVHJ5aW5nIHRvIGNyZWF0ZSBzaXplIGNsYXNzIGZvciBiaXRmaXQg
aGVhcCAlcCwgc2VncmVnYXRlZCBzaXplIGRpcmVjdG9yeSAlcCAiCi0gICAgICAgICAgICAgICAg
IihkaXJlY3Rvcnkgc2l6ZSA9ICV1LCBiZXN0IG9iamVjdCBzaXplID0gJXUpLlxuIiwKLSAgICAg
ICAgICAgICAgICBoZWFwLCBkaXJlY3RvcnksIGRpcmVjdG9yeS0+b2JqZWN0X3NpemUsIGJlc3Qu
b2JqZWN0X3NpemUpOworICAgICAgICBwYXNfbG9nKCJUcnlpbmcgdG8gY3JlYXRlIHNpemUgY2xh
c3MgZm9yIGJpdGZpdCBoZWFwICVwIGF0ICVwICIKKyAgICAgICAgICAgICAgICAiKHJlcXVlc3Rl
ZCBzaXplID0gJXUsIGJlc3Qgb2JqZWN0IHNpemUgPSAldSkuXG4iLAorICAgICAgICAgICAgICAg
IGhlYXAsIHNpemVfY2xhc3MsIG9iamVjdF9zaXplLCBiZXN0Lm9iamVjdF9zaXplKTsKICAgICB9
Ci0gICAgcmVzdWx0ID0gcGFzX2NvbXBhY3RfYXRvbWljX2JpdGZpdF9zaXplX2NsYXNzX3B0cl9s
b2FkKCZkaXJlY3RvcnktPmJpdGZpdF9zaXplX2NsYXNzKTsKLSAgICBpZiAoIXJlc3VsdCkgewot
ICAgICAgICBwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3NpemVfY2xhc3NfcHRyKiBpbnNlcnRp
b25fcG9pbnQ7Ci0gICAgICAgIHBhc19iaXRmaXRfZGlyZWN0b3J5KiBiaXRmaXRfZGlyZWN0b3J5
OwotICAgICAgICBwYXNfYml0Zml0X3NpemVfY2xhc3MqIHNpemVfY2xhc3M7Ci0KLSAgICAgICAg
aWYgKHZlcmJvc2UpCi0gICAgICAgICAgICBwYXNfbG9nKCJJdCBkb2Vzbid0IGhhdmUgb25lIGFs
cmVhZHkuXG4iKTsKLQotICAgICAgICBiaXRmaXRfZGlyZWN0b3J5ID0gcGFzX2JpdGZpdF9oZWFw
X2dldF9kaXJlY3RvcnkoaGVhcCwgYmVzdC52YXJpYW50KTsKLQotICAgICAgICBpbnNlcnRpb25f
cG9pbnQgPSBwYXNfYml0Zml0X3NpemVfY2xhc3NfZmluZF9pbnNlcnRpb25fcG9pbnQoCi0gICAg
ICAgICAgICBiaXRmaXRfZGlyZWN0b3J5LCBiZXN0Lm9iamVjdF9zaXplKTsKLSAgICAgICAgaWYg
KGluc2VydGlvbl9wb2ludCkKLSAgICAgICAgICAgIHNpemVfY2xhc3MgPSBwYXNfY29tcGFjdF9h
dG9taWNfYml0Zml0X3NpemVfY2xhc3NfcHRyX2xvYWQoaW5zZXJ0aW9uX3BvaW50KTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc2l6ZV9jbGFzcyA9IE5VTEw7Ci0KLSAgICAgICAgaWYgKHNp
emVfY2xhc3MgJiYgc2l6ZV9jbGFzcy0+c2l6ZSA9PSBiZXN0Lm9iamVjdF9zaXplKSB7Ci0gICAg
ICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICBwYXNfbG9nKCJBY3R1YWxseSBp
dCBkb2VzIVxuIik7Ci0gICAgICAgICAgICByZXN1bHQgPSAocGFzX2JpdGZpdF9zaXplX2NsYXNz
KilzaXplX2NsYXNzOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzdWx0ID0gcGFz
X2JpdGZpdF9zaXplX2NsYXNzX2NyZWF0ZSgKLSAgICAgICAgICAgICAgICBiZXN0Lm9iamVjdF9z
aXplLCBiaXRmaXRfZGlyZWN0b3J5LCBpbnNlcnRpb25fcG9pbnQpOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3NpemVfY2xhc3NfcHRyX3N0
b3JlKAotICAgICAgICAgICAgJmRpcmVjdG9yeS0+Yml0Zml0X3NpemVfY2xhc3MsIHJlc3VsdCk7
Ci0gICAgfQotICAgIHBhc19oZWFwX2xvY2tfdW5sb2NrX2NvbmRpdGlvbmFsbHkoaGVhcF9sb2Nr
X2hvbGRfbW9kZSk7CisgICAgCisgICAgYml0Zml0X2RpcmVjdG9yeSA9IHBhc19iaXRmaXRfaGVh
cF9nZXRfZGlyZWN0b3J5KGhlYXAsIGJlc3QudmFyaWFudCk7CisgICAgCisgICAgaW5zZXJ0aW9u
X3BvaW50ID0gcGFzX2JpdGZpdF9zaXplX2NsYXNzX2ZpbmRfaW5zZXJ0aW9uX3BvaW50KGJpdGZp
dF9kaXJlY3RvcnksIGJlc3Qub2JqZWN0X3NpemUpOworICAgIFBBU19BU1NFUlQoaW5zZXJ0aW9u
X3BvaW50KTsKKyAgICBvdGhlcl9zaXplX2NsYXNzID0gcGFzX2NvbXBhY3RfYXRvbWljX2JpdGZp
dF9zaXplX2NsYXNzX3B0cl9sb2FkKGluc2VydGlvbl9wb2ludCk7CiAKLSAgICByZXR1cm4gcmVz
dWx0OworICAgIFBBU19BU1NFUlQoIW90aGVyX3NpemVfY2xhc3MgfHwgb3RoZXJfc2l6ZV9jbGFz
cy0+c2l6ZSA8IGJlc3Qub2JqZWN0X3NpemUpOworCisgICAgcGFzX2JpdGZpdF9zaXplX2NsYXNz
X2NvbnN0cnVjdChzaXplX2NsYXNzLCBiZXN0Lm9iamVjdF9zaXplLCBiaXRmaXRfZGlyZWN0b3J5
LCBpbnNlcnRpb25fcG9pbnQpOwogfQogCiBwYXNfaGVhcF9zdW1tYXJ5IHBhc19iaXRmaXRfaGVh
cF9jb21wdXRlX3N1bW1hcnkocGFzX2JpdGZpdF9oZWFwKiBoZWFwKQpJbmRleDogU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9oZWFwLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9oZWFwLmgJKHJldmlz
aW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRm
aXRfaGVhcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MywxMSArNjMsMTAgQEAgdHlwZWRlZiBzdHJ1
Y3QgewogUEFTX0FQSSBwYXNfYml0Zml0X3ZhcmlhbnRfc2VsZWN0aW9uCiBwYXNfYml0Zml0X2hl
YXBfc2VsZWN0X3ZhcmlhbnQoc2l6ZV90IG9iamVjdF9zaXplLCBwYXNfaGVhcF9jb25maWcqIGNv
bmZpZyk7CiAKLVBBU19BUEkgcGFzX2JpdGZpdF9zaXplX2NsYXNzKgotcGFzX2JpdGZpdF9oZWFw
X2Vuc3VyZV9zaXplX2NsYXNzKHBhc19iaXRmaXRfaGVhcCogaGVhcCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3Rvcnkq
IGRpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X2hlYXBfY29uZmlnKiBjb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc19sb2NrX2hvbGRfbW9kZSBoZWFwX2xvY2tfaG9sZF9tb2RlKTsKK1BBU19BUEkg
dm9pZCBwYXNfYml0Zml0X2hlYXBfY29uc3RydWN0X2FuZF9pbnNlcnRfc2l6ZV9jbGFzcyhwYXNf
Yml0Zml0X2hlYXAqIGhlYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF9zaXplX2NsYXNzKiBzaXplX2NsYXNz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIG9iamVjdF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19oZWFwX2NvbmZpZyogY29uZmln
KTsKIAogUEFTX0FQSSBwYXNfaGVhcF9zdW1tYXJ5IHBhc19iaXRmaXRfaGVhcF9jb21wdXRlX3N1
bW1hcnkocGFzX2JpdGZpdF9oZWFwKiBoZWFwKTsKIApJbmRleDogU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlLmMJKHJldmlzaW9uIDI4NjQz
OCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZS5j
CSh3b3JraW5nIGNvcHkpCkBAIC00NCw4ICs0NCw3IEBAIHZvaWQgcGFzX2JpdGZpdF9wYWdlX2Nv
bnN0cnVjdChwYXNfYml0ZmkKIAogICAgIGNvbmZpZyA9ICpjb25maWdfcHRyOwogICAgIAotICAg
IFBBU19BU1NFUlQocGFzX3BhZ2Vfa2luZF9nZXRfY29uZmlnX2tpbmQoY29uZmlnLmJhc2UucGFn
ZV9raW5kKQotICAgICAgICAgICAgICAgPT0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfYml0Zml0KTsK
KyAgICBQQVNfQVNTRVJUKGNvbmZpZy5iYXNlLnBhZ2VfY29uZmlnX2tpbmQgPT0gcGFzX3BhZ2Vf
Y29uZmlnX2tpbmRfYml0Zml0KTsKIAogICAgIHBhc19sb2NrX2Fzc2VydF9oZWxkKCZ2aWV3LT5v
d25lcnNoaXBfbG9jayk7CiAKQEAgLTU0LDcgKzUzLDcgQEAgdm9pZCBwYXNfYml0Zml0X3BhZ2Vf
Y29uc3RydWN0KHBhc19iaXRmaQogICAgICAgICAgICAgICAgIHBhZ2UsIHZpZXcsIHBhc19iaXRm
aXRfcGFnZV9jb25maWdfa2luZF9nZXRfc3RyaW5nKGNvbmZpZy5raW5kKSk7CiAgICAgfQogCi0g
ICAgcGFzX3BhZ2VfYmFzZV9jb25zdHJ1Y3QoJnBhZ2UtPmJhc2UsIGNvbmZpZy5iYXNlLnBhZ2Vf
a2luZCk7CisgICAgcGFzX3BhZ2VfYmFzZV9jb25zdHJ1Y3QoJnBhZ2UtPmJhc2UsIHBhc19wYWdl
X2tpbmRfZm9yX2JpdGZpdF92YXJpYW50KGNvbmZpZy52YXJpYW50KSk7CiAKICAgICBwYWdlLT51
c2VfZXBvY2ggPSBQQVNfRVBPQ0hfSU5WQUxJRDsKIApJbmRleDogU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9jb25maWcuaAko
cmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFz
X2JpdGZpdF9wYWdlX2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNiArNDEsMTUgQEAg
c3RydWN0IHBhc19iaXRmaXRfYWxsb2NhdG9yOwogc3RydWN0IHBhc19iaXRmaXRfcGFnZTsKIHN0
cnVjdCBwYXNfYml0Zml0X3BhZ2VfY29uZmlnOwogc3RydWN0IHBhc19oZWFwX3J1bnRpbWVfY29u
ZmlnOwotc3RydWN0IHBhc19sb2NhbF9hbGxvY2F0b3I7CiB0eXBlZGVmIHN0cnVjdCBwYXNfYml0
Zml0X2FsbG9jYXRvciBwYXNfYml0Zml0X2FsbG9jYXRvcjsKIHR5cGVkZWYgc3RydWN0IHBhc19i
aXRmaXRfcGFnZSBwYXNfYml0Zml0X3BhZ2U7CiB0eXBlZGVmIHN0cnVjdCBwYXNfYml0Zml0X3Bh
Z2VfY29uZmlnIHBhc19iaXRmaXRfcGFnZV9jb25maWc7CiB0eXBlZGVmIHN0cnVjdCBwYXNfaGVh
cF9ydW50aW1lX2NvbmZpZyBwYXNfaGVhcF9ydW50aW1lX2NvbmZpZzsKLXR5cGVkZWYgc3RydWN0
IHBhc19sb2NhbF9hbGxvY2F0b3IgcGFzX2xvY2FsX2FsbG9jYXRvcjsKIAordHlwZWRlZiB2b2lk
KiAoKnBhc19iaXRmaXRfcGFnZV9jb25maWdfcGFnZV9hbGxvY2F0b3IpKAorICAgIHBhc19zZWdy
ZWdhdGVkX2hlYXAqLCBwYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5zYWN0aW9uKiB0cmFuc2FjdGlv
bik7CiB0eXBlZGVmIHBhc19mYXN0X3BhdGhfYWxsb2NhdGlvbl9yZXN1bHQgKCpwYXNfYml0Zml0
X3BhZ2VfY29uZmlnX3NwZWNpYWxpemVkX2FsbG9jYXRvcl90cnlfYWxsb2NhdGUpKAogICAgIHBh
c19iaXRmaXRfYWxsb2NhdG9yKiBhbGxvY2F0b3IsCi0gICAgcGFzX2xvY2FsX2FsbG9jYXRvciog
bG9jYWwsCiAgICAgc2l6ZV90IHNpemUsCiAgICAgc2l6ZV90IGFsaWdubWVudCk7CiB0eXBlZGVm
IHZvaWQgKCpwYXNfYml0Zml0X3BhZ2VfY29uZmlnX3NwZWNpYWxpemVkX3BhZ2VfZGVhbGxvY2F0
ZV93aXRoX3BhZ2UpKApAQCAtNzAsNiArNjksOSBAQCBzdHJ1Y3QgcGFzX2JpdGZpdF9wYWdlX2Nv
bmZpZyB7CiAgICAgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ192YXJpYW50IHZhcmlhbnQ7CiAgICAg
cGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kIGtpbmQ7CiAKKyAgICAvKiBUaGlzIGlzIHRoZSBh
bGxvY2F0b3IgdXNlZCB0byBjcmVhdGUgcGFnZXMuICovCisgICAgcGFzX2JpdGZpdF9wYWdlX2Nv
bmZpZ19wYWdlX2FsbG9jYXRvciBwYWdlX2FsbG9jYXRvcjsKKwogICAgIHBhc19iaXRmaXRfcGFn
ZV9jb25maWdfc3BlY2lhbGl6ZWRfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZSBzcGVjaWFsaXplZF9h
bGxvY2F0b3JfdHJ5X2FsbG9jYXRlOwogICAgIHBhc19iaXRmaXRfcGFnZV9jb25maWdfc3BlY2lh
bGl6ZWRfcGFnZV9kZWFsbG9jYXRlX3dpdGhfcGFnZSBzcGVjaWFsaXplZF9wYWdlX2RlYWxsb2Nh
dGVfd2l0aF9wYWdlOwogICAgIHBhc19iaXRmaXRfcGFnZV9jb25maWdfc3BlY2lhbGl6ZWRfcGFn
ZV9nZXRfYWxsb2NhdGlvbl9zaXplX3dpdGhfcGFnZSBzcGVjaWFsaXplZF9wYWdlX2dldF9hbGxv
Y2F0aW9uX3NpemVfd2l0aF9wYWdlOwpAQCAtMTE0LDcgKzExNiw2IEBAIFBBU19BUEkgZXh0ZXJu
IGJvb2wgcGFzX21hcmdlX2JpdGZpdF9wYWcKICAgICBQQVNfQVBJIHBhc19mYXN0X3BhdGhfYWxs
b2NhdGlvbl9yZXN1bHQgXAogICAgIGxvd2VyX2Nhc2VfcGFnZV9jb25maWdfbmFtZSAjIyBfc3Bl
Y2lhbGl6ZWRfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZSggXAogICAgICAgICBwYXNfYml0Zml0X2Fs
bG9jYXRvciogYWxsb2NhdG9yLCBcCi0gICAgICAgIHBhc19sb2NhbF9hbGxvY2F0b3IqIGxvY2Fs
LCBcCiAgICAgICAgIHNpemVfdCBzaXplLCBcCiAgICAgICAgIHNpemVfdCBhbGlnbm1lbnQpOyBc
CiAgICAgUEFTX0FQSSB2b2lkIGxvd2VyX2Nhc2VfcGFnZV9jb25maWdfbmFtZSAjIyBfc3BlY2lh
bGl6ZWRfcGFnZV9kZWFsbG9jYXRlX3dpdGhfcGFnZSggXApJbmRleDogU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19pbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdl
X2NvbmZpZ19pbmxpbmVzLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9jb25maWdfaW5saW5lcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiwxMiArMzYsMTEgQEAgUEFTX0JFR0lOX0VYVEVSTl9DOwogICAgIHBhc19m
YXN0X3BhdGhfYWxsb2NhdGlvbl9yZXN1bHQgXAogICAgIGxvd2VyX2Nhc2VfcGFnZV9jb25maWdf
bmFtZSAjIyBfc3BlY2lhbGl6ZWRfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZSggXAogICAgICAgICBw
YXNfYml0Zml0X2FsbG9jYXRvciogYWxsb2NhdG9yLCBcCi0gICAgICAgIHBhc19sb2NhbF9hbGxv
Y2F0b3IqIGxvY2FsLCBcCiAgICAgICAgIHNpemVfdCBzaXplLCBcCiAgICAgICAgIHNpemVfdCBh
bGlnbm1lbnQpIFwKICAgICB7IFwKICAgICAgICAgcmV0dXJuIHBhc19iaXRmaXRfYWxsb2NhdG9y
X3RyeV9hbGxvY2F0ZSggXAotICAgICAgICAgICAgYWxsb2NhdG9yLCBsb2NhbCwgc2l6ZSwgYWxp
Z25tZW50LCAocGFnZV9jb25maWdfdmFsdWUpKTsgXAorICAgICAgICAgICAgYWxsb2NhdG9yLCBz
aXplLCBhbGlnbm1lbnQsIChwYWdlX2NvbmZpZ192YWx1ZSkpOyBcCiAgICAgfSBcCiAgICAgXAog
ICAgIHZvaWQgbG93ZXJfY2FzZV9wYWdlX2NvbmZpZ19uYW1lICMjIF9zcGVjaWFsaXplZF9wYWdl
X2RlYWxsb2NhdGVfd2l0aF9wYWdlKCBcCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQuYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQu
YwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmMJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDE5IEBAIGJvb2wgcGFzX3NtYWxsX2JpdGZpdF9wYWdlX2NvbmZpZ192YXJpYW4KIGJvb2wgcGFz
X21lZGl1bV9iaXRmaXRfcGFnZV9jb25maWdfdmFyaWFudF9pc19lbmFibGVkX292ZXJyaWRlID0g
UEFTX1VTRV9NRURJVU1fQklURklUX09WRVJSSURFOwogYm9vbCBwYXNfbWFyZ2VfYml0Zml0X3Bh
Z2VfY29uZmlnX3ZhcmlhbnRfaXNfZW5hYmxlZF9vdmVycmlkZSA9IFBBU19VU0VfTUFSR0VfQklU
RklUX09WRVJSSURFOwogCitjb25zdCBjaGFyKiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmRf
Z2V0X3N0cmluZyhwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQga2luZCkKK3sKKyAgICBzd2l0
Y2ggKGtpbmQpIHsKKyNkZWZpbmUgUEFTX0RFRklORV9CSVRGSVRfUEFHRV9DT05GSUdfS0lORChu
YW1lLCB2YWx1ZSkgXAorICAgIGNhc2UgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kXyAjIyBu
YW1lOiBcCisgICAgICAgIHJldHVybiAjbmFtZTsKKyNpbmNsdWRlICJwYXNfYml0Zml0X3BhZ2Vf
Y29uZmlnX2tpbmQuZGVmIgorI3VuZGVmIFBBU19ERUZJTkVfQklURklUX1BBR0VfQ09ORklHX0tJ
TkQKKyAgICB9CisgICAgUEFTX0FTU0VSVCghIkludmFsaWQga2luZCIpOworICAgIHJldHVybiBO
VUxMOworfQorCiBib29sIHBhc19iaXRmaXRfcGFnZV9jb25maWdfa2luZF9mb3JfZWFjaCgKICAg
ICBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmRfY2FsbGJhY2sgY2FsbGJhY2ssCiAgICAgdm9p
ZCAqYXJnKQpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZp
dF9wYWdlX2NvbmZpZ19raW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kLmgJKHJldmlzaW9uIDI4NjQz
OCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9j
b25maWdfa2luZC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxOSArNDIsNyBAQCBlbnVtIHBhc19i
aXRmaXRfcGFnZV9jb25maWdfa2luZCB7CiAKIHR5cGVkZWYgZW51bSBwYXNfYml0Zml0X3BhZ2Vf
Y29uZmlnX2tpbmQgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kOwogCi1zdGF0aWMgaW5saW5l
IGNvbnN0IGNoYXIqCi1wYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmRfZ2V0X3N0cmluZyhwYXNf
Yml0Zml0X3BhZ2VfY29uZmlnX2tpbmQga2luZCkKLXsKLSAgICBzd2l0Y2ggKGtpbmQpIHsKLSNk
ZWZpbmUgUEFTX0RFRklORV9CSVRGSVRfUEFHRV9DT05GSUdfS0lORChuYW1lLCB2YWx1ZSkgXAot
ICAgIGNhc2UgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kXyAjIyBuYW1lOiBcCi0gICAgICAg
IHJldHVybiAjbmFtZTsKLSNpbmNsdWRlICJwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQuZGVm
IgotI3VuZGVmIFBBU19ERUZJTkVfQklURklUX1BBR0VfQ09ORklHX0tJTkQKLSAgICB9Ci0gICAg
UEFTX0FTU0VSVCghIkludmFsaWQga2luZCIpOwotICAgIHJldHVybiBOVUxMOwotfQorUEFTX0FQ
SSBjb25zdCBjaGFyKiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmRfZ2V0X3N0cmluZyhwYXNf
Yml0Zml0X3BhZ2VfY29uZmlnX2tpbmQga2luZCk7CiAKIHR5cGVkZWYgYm9vbCAoKnBhc19iaXRm
aXRfcGFnZV9jb25maWdfa2luZF9jYWxsYmFjaykocGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5k
IGtpbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXNfYml0Zml0X3BhZ2VfY29uZmlnKiBjb25maWcsCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3BhZ2VfaW5saW5lcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfcGFnZV9p
bmxpbmVzLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMv
bGlicGFzL3Bhc19iaXRmaXRfcGFnZV9pbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Miw3
ICsyNzIsOCBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX2JpdGZpdF9hbGxvCiAgICAg
UEFTX1RFU1RJTkdfQVNTRVJUKHBhc19pc19hbGlnbmVkKHNpemUsIHBhc19wYWdlX2Jhc2VfY29u
ZmlnX21pbl9hbGlnbihwYWdlX2NvbmZpZy5iYXNlKSkpOwogCiAgICAgcGFzX2xvY2tfdGVzdGlu
Z19hc3NlcnRfaGVsZCgmb3duZXItPm93bmVyc2hpcF9sb2NrKTsKLSAgICBQQVNfVEVTVElOR19B
U1NFUlQocGFzX3BhZ2VfYmFzZV9nZXRfa2luZCgmcGFnZS0+YmFzZSkgPT0gcGFnZV9jb25maWcu
YmFzZS5wYWdlX2tpbmQpOworICAgIFBBU19URVNUSU5HX0FTU0VSVChwYXNfcGFnZV9iYXNlX2dl
dF9raW5kKCZwYWdlLT5iYXNlKQorICAgICAgICAgICAgICAgICAgICAgICA9PSBwYXNfcGFnZV9r
aW5kX2Zvcl9iaXRmaXRfdmFyaWFudChwYWdlX2NvbmZpZy52YXJpYW50KSk7CiAgICAgUEFTX1RF
U1RJTkdfQVNTRVJUKHBhc19jb21wYWN0X2F0b21pY19iaXRmaXRfdmlld19wdHJfbG9hZF9ub25f
bnVsbCgmcGFnZS0+b3duZXIpID09IG93bmVyKTsKIAogICAgIHBhc19iaXRmaXRfcGFnZV90ZXN0
aW5nX3ZlcmlmeShwYWdlKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19iaXRmaXRfc2l6ZV9jbGFzcy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19iaXRmaXRfc2l6ZV9jbGFzcy5jCShyZXZpc2lvbiAyODY0Mzgp
CisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3NpemVfY2xh
c3MuYwkod29ya2luZyBjb3B5KQpAQCAtNzUsMjQgKzc1LDYgQEAgdm9pZCBwYXNfYml0Zml0X3Np
emVfY2xhc3NfY29uc3RydWN0KHBhcwogICAgIHBhc19jb21wYWN0X2F0b21pY19iaXRmaXRfc2l6
ZV9jbGFzc19wdHJfc3RvcmUoaW5zZXJ0aW9uX3BvaW50LCBzaXplX2NsYXNzKTsKIH0KIAotcGFz
X2JpdGZpdF9zaXplX2NsYXNzKiBwYXNfYml0Zml0X3NpemVfY2xhc3NfY3JlYXRlKAotICAgIHVu
c2lnbmVkIHNpemUsCi0gICAgcGFzX2JpdGZpdF9kaXJlY3RvcnkqIGRpcmVjdG9yeSwKLSAgICBw
YXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3NpemVfY2xhc3NfcHRyKiBpbnNlcnRpb25fcG9pbnQp
Ci17Ci0gICAgcGFzX2JpdGZpdF9zaXplX2NsYXNzKiByZXN1bHQ7Ci0KLSAgICByZXN1bHQgPSBw
YXNfaW1tb3J0YWxfaGVhcF9hbGxvY2F0ZV93aXRoX2FsaWdubWVudCgKLSAgICAgICAgc2l6ZW9m
KHBhc19iaXRmaXRfc2l6ZV9jbGFzcyksCi0gICAgICAgIGFsaWdub2YocGFzX2JpdGZpdF9zaXpl
X2NsYXNzKSwKLSAgICAgICAgInBhc19iaXRmaXRfc2l6ZV9jbGFzcyIsCi0gICAgICAgIHBhc19v
YmplY3RfYWxsb2NhdGlvbik7Ci0KLSAgICBwYXNfYml0Zml0X3NpemVfY2xhc3NfY29uc3RydWN0
KHJlc3VsdCwgc2l6ZSwgZGlyZWN0b3J5LCBpbnNlcnRpb25fcG9pbnQpOwotCi0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQogcGFzX2JpdGZpdF92aWV3KgogcGFzX2JpdGZpdF9zaXplX2NsYXNzX2dl
dF9maXJzdF9mcmVlX3ZpZXcocGFzX2JpdGZpdF9zaXplX2NsYXNzKiBzaXplX2NsYXNzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2JpdGZpdF9wYWdlX2Nv
bmZpZyogcGFnZV9jb25maWcpCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfYml0Zml0X3NpemVfY2xhc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfYml0Zml0X3NpemVfY2xhc3MuaAkocmV2aXNpb24gMjg2NDM4
KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2JpdGZpdF9zaXplX2Ns
YXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDExICs1OSw2IEBAIFBBU19BUEkgdm9pZCBwYXNf
Yml0Zml0X3NpemVfY2xhc3NfY29uc3QKICAgICBwYXNfYml0Zml0X2RpcmVjdG9yeSogZGlyZWN0
b3J5LAogICAgIHBhc19jb21wYWN0X2F0b21pY19iaXRmaXRfc2l6ZV9jbGFzc19wdHIqIGluc2Vy
dGlvbl9wb2ludCk7CiAKLVBBU19BUEkgcGFzX2JpdGZpdF9zaXplX2NsYXNzKiBwYXNfYml0Zml0
X3NpemVfY2xhc3NfY3JlYXRlKAotICAgIHVuc2lnbmVkIHNpemUsCi0gICAgcGFzX2JpdGZpdF9k
aXJlY3RvcnkqIGRpcmVjdG9yeSwKLSAgICBwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3NpemVf
Y2xhc3NfcHRyKiBpbnNlcnRpb25fcG9pbnQpOwotCiBQQVNfQVBJIHBhc19iaXRmaXRfdmlldyoK
IHBhc19iaXRmaXRfc2l6ZV9jbGFzc19nZXRfZmlyc3RfZnJlZV92aWV3KHBhc19iaXRmaXRfc2l6
ZV9jbGFzcyogc2l6ZV9jbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc19iaXRmaXRfcGFnZV9jb25maWcqIHBhZ2VfY29uZmlnKTsKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19jcmVhdGVfYmFzaWNfaGVhcF9wYWdlX2Nh
Y2hlc193aXRoX3Jlc2VydmVkX21lbW9yeS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19jcmVhdGVfYmFzaWNfaGVhcF9wYWdlX2NhY2hlc193aXRo
X3Jlc2VydmVkX21lbW9yeS5jCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfY3JlYXRlX2Jhc2ljX2hlYXBfcGFnZV9jYWNoZXNfd2l0aF9y
ZXNlcnZlZF9tZW1vcnkuYwkod29ya2luZyBjb3B5KQpAQCAtODcsMTIgKzg3LDEyIEBAIHBhc19i
YXNpY19oZWFwX3BhZ2VfY2FjaGVzKiBwYXNfY3JlYXRlX2IKICAgICAgICAgcHJvdmlkZXIpOwog
ICAgIAogICAgIHBhc19tZWdhcGFnZV9jYWNoZV9jb25zdHJ1Y3QoCi0gICAgICAgICZjYWNoZXMt
PnNtYWxsX3NlZ3JlZ2F0ZWRfbWVnYXBhZ2VfY2FjaGUsCisgICAgICAgICZjYWNoZXMtPnNtYWxs
X2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX21lZ2FwYWdlX2NhY2hlLAogICAgICAgICBhbGxvY2F0ZV9m
cm9tX2xhcmdlLAogICAgICAgICBOVUxMKTsKIAogICAgIHBhc19tZWdhcGFnZV9jYWNoZV9jb25z
dHJ1Y3QoCi0gICAgICAgICZjYWNoZXMtPnNtYWxsX2JpdGZpdF9tZWdhcGFnZV9jYWNoZSwKKyAg
ICAgICAgJmNhY2hlcy0+c21hbGxfb3RoZXJfbWVnYXBhZ2VfY2FjaGUsCiAgICAgICAgIGFsbG9j
YXRlX2Zyb21fbGFyZ2UsCiAgICAgICAgIE5VTEwpOwogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfZGVhbGxvY2F0ZS5jCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19kZWFsbG9jYXRlLmMJKHJldmlzaW9uIDI4NjQz
OCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19kZWFsbG9jYXRlLmMJ
KHdvcmtpbmcgY29weSkKQEAgLTc5LDEyICs3OSwxMyBAQCBib29sIHBhc190cnlfZGVhbGxvY2F0
ZV9zbG93KHVpbnRwdHJfdCBiCiB9CiAKIHN0YXRpYyB2b2lkIGRlYWxsb2NhdGVfc2VncmVnYXRl
ZCh1aW50cHRyX3QgYmVnaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcqIHBhZ2VfY29uZmlnKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnKiBwYWdlX2NvbmZpZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3Jv
bGUgcm9sZSkKIHsKICAgICBwYXNfbG9jayogaGVsZF9sb2NrOwogICAgIGhlbGRfbG9jayA9IE5V
TEw7CiAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9kZWFsbG9jYXRlKAotICAgICAgICBiZWdpbiwg
JmhlbGRfbG9jaywgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2RpcmVjdF9tb2RlLCBOVUxM
LCAqcGFnZV9jb25maWcpOworICAgICAgICBiZWdpbiwgJmhlbGRfbG9jaywgcGFzX3NlZ3JlZ2F0
ZWRfZGVhbGxvY2F0aW9uX2RpcmVjdF9tb2RlLCBOVUxMLCAqcGFnZV9jb25maWcsIHJvbGUpOwog
ICAgIHBhc19sb2NrX3N3aXRjaCgmaGVsZF9sb2NrLCBOVUxMKTsKIH0KIApAQCAtMTE4LDE0ICsx
MTksMjcgQEAgYm9vbCBwYXNfdHJ5X2RlYWxsb2NhdGVfc2xvd19ub19jYWNoZSh2bwogICAgIGJl
Z2luID0gKHVpbnRwdHJfdClwdHI7CiAgICAgICAgIAogICAgIHN3aXRjaCAoY29uZmlnX3B0ci0+
ZmFzdF9tZWdhcGFnZV9raW5kX2Z1bmMoYmVnaW4pKSB7Ci0gICAgY2FzZSBwYXNfc21hbGxfc2Vn
cmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQ6IHsKLSAgICAgICAgZGVhbGxvY2F0ZV9zZWdyZWdh
dGVkKGJlZ2luLCAmY29uZmlnX3B0ci0+c21hbGxfc2VncmVnYXRlZF9jb25maWcpOworICAgIGNh
c2UgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vfa2luZDogewor
ICAgICAgICBkZWFsbG9jYXRlX3NlZ3JlZ2F0ZWQoYmVnaW4sICZjb25maWdfcHRyLT5zbWFsbF9z
ZWdyZWdhdGVkX2NvbmZpZywgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9m
YXN0X21lZ2FwYWdlX2tpbmQ6IHsKLSAgICAgICAgcGFzX2JpdGZpdF9wYWdlX2RlYWxsb2NhdGUo
YmVnaW4sIGNvbmZpZ19wdHItPnNtYWxsX2JpdGZpdF9jb25maWcpOwotICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBjYXNlIHBhc19zbWFsbF9vdGhlcl9mYXN0X21lZ2FwYWdlX2tpbmQ6IHsKKyAg
ICAgICAgcGFzX3BhZ2VfYmFzZV9hbmRfa2luZCBwYWdlX2FuZF9raW5kOworICAgICAgICBwYWdl
X2FuZF9raW5kID0gcGFzX2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2lu
X2Zhc3RfbWVnYXBhZ2UoYmVnaW4sICpjb25maWdfcHRyKTsKKyAgICAgICAgc3dpdGNoIChwYWdl
X2FuZF9raW5kLnBhZ2Vfa2luZCkgeworICAgICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2Vn
cmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICBkZWFsbG9jYXRlX3NlZ3JlZ2F0ZWQoYmVn
aW4sICZjb25maWdfcHRyLT5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9zaGFyZWRfcm9sZSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgY2Fz
ZSBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIGNvbmZpZ19wdHItPnNt
YWxsX2JpdGZpdF9jb25maWcuc3BlY2lhbGl6ZWRfcGFnZV9kZWFsbG9jYXRlX3dpdGhfcGFnZSgK
KyAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9iaXRmaXQocGFnZV9hbmRfa2luZC5w
YWdlX2Jhc2UpLAorICAgICAgICAgICAgICAgIGJlZ2luKTsKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUEFTX0FTU0VSVCghIlNob3VsZCBu
b3QgYmUgcmVhY2hlZCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAg
ICAgfQogCiAgICAgY2FzZSBwYXNfbm90X2FfZmFzdF9tZWdhcGFnZV9raW5kOiB7CkBAIC0xMzQs
MTYgKzE0OCwyOSBAQCBib29sIHBhc190cnlfZGVhbGxvY2F0ZV9zbG93X25vX2NhY2hlKHZvCiAg
ICAgICAgIHBhZ2VfYmFzZSA9IGNvbmZpZ19wdHItPnBhZ2VfaGVhZGVyX2Z1bmMoYmVnaW4pOwog
ICAgICAgICBpZiAocGFnZV9iYXNlKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKHBhc19wYWdlX2Jh
c2VfZ2V0X2tpbmQocGFnZV9iYXNlKSkgewotICAgICAgICAgICAgY2FzZSBwYXNfc21hbGxfc2Vn
cmVnYXRlZF9wYWdlX2tpbmQ6Ci0gICAgICAgICAgICAgICAgZGVhbGxvY2F0ZV9zZWdyZWdhdGVk
KGJlZ2luLCAmY29uZmlnX3B0ci0+c21hbGxfc2VncmVnYXRlZF9jb25maWcpOworICAgICAgICAg
ICAgY2FzZSBwYXNfc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAg
ICAgICAgIFBBU19BU1NFUlQoIWNvbmZpZ19wdHItPnNtYWxsX3NlZ3JlZ2F0ZWRfaXNfaW5fbWVn
YXBhZ2UpOworICAgICAgICAgICAgICAgIGRlYWxsb2NhdGVfc2VncmVnYXRlZChiZWdpbiwgJmNv
bmZpZ19wdHItPnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgcGFzX3NtYWxsX2V4Y2x1
c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgICAgICBQQVNfQVNTRVJUKCFj
b25maWdfcHRyLT5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21lZ2FwYWdlKTsKKyAgICAgICAgICAg
ICAgICBkZWFsbG9jYXRlX3NlZ3JlZ2F0ZWQoYmVnaW4sICZjb25maWdfcHRyLT5zbWFsbF9zZWdy
ZWdhdGVkX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfcGFnZV9raW5kOgorICAg
ICAgICAgICAgICAgIFBBU19BU1NFUlQoIWNvbmZpZ19wdHItPnNtYWxsX2JpdGZpdF9pc19pbl9t
ZWdhcGFnZSk7CiAgICAgICAgICAgICAgICAgY29uZmlnX3B0ci0+c21hbGxfYml0Zml0X2NvbmZp
Zy5zcGVjaWFsaXplZF9wYWdlX2RlYWxsb2NhdGVfd2l0aF9wYWdlKAogICAgICAgICAgICAgICAg
ICAgICBwYXNfcGFnZV9iYXNlX2dldF9iaXRmaXQocGFnZV9iYXNlKSwKICAgICAgICAgICAgICAg
ICAgICAgYmVnaW4pOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
Y2FzZSBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgotICAgICAgICAgICAgICAgIGRl
YWxsb2NhdGVfc2VncmVnYXRlZChiZWdpbiwgJmNvbmZpZ19wdHItPm1lZGl1bV9zZWdyZWdhdGVk
X2NvbmZpZyk7CisgICAgICAgICAgICBjYXNlIHBhc19tZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRf
cGFnZV9raW5kOgorICAgICAgICAgICAgICAgIGRlYWxsb2NhdGVfc2VncmVnYXRlZChiZWdpbiwg
JmNvbmZpZ19wdHItPm1lZGl1bV9zZWdyZWdhdGVkX2NvbmZpZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBjYXNlIHBhc19tZWRpdW1f
ZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAgICAgICAgIGRlYWxsb2Nh
dGVfc2VncmVnYXRlZChiZWdpbiwgJmNvbmZpZ19wdHItPm1lZGl1bV9zZWdyZWdhdGVkX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9leGNsdXNpdmVfcm9sZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgICAgICBjYXNlIHBhc19tZWRpdW1fYml0Zml0X3BhZ2Vfa2luZDoKICAgICAgICAgICAgICAg
ICBjb25maWdfcHRyLT5tZWRpdW1fYml0Zml0X2NvbmZpZy5zcGVjaWFsaXplZF9wYWdlX2RlYWxs
b2NhdGVfd2l0aF9wYWdlKApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2RlYWxsb2NhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfZGVhbGxvY2F0ZS5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1h
bGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZGVhbGxvY2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSwxMSArMjksMTIgQEAKICNpbmNsdWRlICJwYXNfYml0Zml0X3BhZ2VfaW5saW5lcy5oIgog
I2luY2x1ZGUgInBhc19kZWFsbG9jYXRpb25fbW9kZS5oIgogI2luY2x1ZGUgInBhc19kZWJ1Z19o
ZWFwLmgiCisjaW5jbHVkZSAicGFzX2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxsX290
aGVyX2luX2Zhc3RfbWVnYXBhZ2UuaCIKICNpbmNsdWRlICJwYXNfaGVhcF9jb25maWcuaCIKICNp
bmNsdWRlICJwYXNfaGVhcF9sb2NrLmgiCiAjaW5jbHVkZSAicGFzX2hlYXBfcmVmLmgiCiAjaW5j
bHVkZSAicGFzX2xhcmdlX2hlYXAuaCIKLSNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlLmgi
CisjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfcGFnZV9pbmxpbmVzLmgiCiAjaW5jbHVkZSAicGFz
X3RocmVhZF9sb2NhbF9jYWNoZS5oIgogI2luY2x1ZGUgInBhc191dGlscy5oIgogCkBAIC00Mywy
MSArNDQsMTQgQEAgUEFTX0FQSSBib29sIHBhc190cnlfZGVhbGxvY2F0ZV9zbG93KHVpbgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19oZWFwX2NvbmZpZyogY29uZmln
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19kZWFsbG9jYXRpb25f
bW9kZSBkZWFsbG9jYXRpb25fbW9kZSk7CiAKLXN0YXRpYyBQQVNfQUxXQVlTX0lOTElORSB2b2lk
Ci1wYXNfZGVhbGxvY2F0ZV9rbm93bl9zZWdyZWdhdGVkX2ltcGwocGFzX3RocmVhZF9sb2NhbF9j
YWNoZSogdGhyZWFkX2xvY2FsX2NhY2hlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnRwdHJfdCBiZWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBwYWdlX2NvbmZpZykKLXsKLSAgICBwYWdl
X2NvbmZpZy5kZWFsbG9jX2Z1bmModGhyZWFkX2xvY2FsX2NhY2hlLCBiZWdpbik7Ci19Ci0KIFBB
U19BUEkgYm9vbCBwYXNfdHJ5X2RlYWxsb2NhdGVfc2xvd19ub19jYWNoZSh2b2lkKiBwdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2hlYXBfY29u
ZmlnKiBjb25maWdfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc19kZWFsbG9jYXRpb25fbW9kZSBkZWFsbG9jYXRpb25fbW9kZSk7CiAKIHN0YXRp
YyBQQVNfQUxXQVlTX0lOTElORSB2b2lkCiBwYXNfZGVhbGxvY2F0ZV9rbm93bl9zZWdyZWdhdGVk
KHZvaWQqIHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25maWcgcGFnZV9jb25maWcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29uZmlnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcm9sZSkKIHsKICAg
ICBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlKiB0aHJlYWRfbG9jYWxfY2FjaGU7CiAKQEAgLTY3LDcg
KzYxLDcgQEAgcGFzX2RlYWxsb2NhdGVfa25vd25fc2VncmVnYXRlZCh2b2lkKiBwdAogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIAotICAgIHBhc19kZWFsbG9jYXRlX2tub3duX3NlZ3JlZ2F0
ZWRfaW1wbCh0aHJlYWRfbG9jYWxfY2FjaGUsICh1aW50cHRyX3QpcHRyLCBwYWdlX2NvbmZpZyk7
CisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9sb2dfb3JfZGVhbGxvY2F0ZSgodWludHB0cl90KXB0
ciwgdGhyZWFkX2xvY2FsX2NhY2hlLCBwYWdlX2NvbmZpZywgcm9sZSk7CiB9CiAKIFBBU19BUEkg
Ym9vbCBwYXNfdHJ5X2RlYWxsb2NhdGVfa25vd25fbGFyZ2Uodm9pZCogcHRyLApAQCAtNzcsMTQg
KzcxLDM0IEBAIFBBU19BUEkgYm9vbCBwYXNfdHJ5X2RlYWxsb2NhdGVfa25vd25fbGEKIFBBU19B
UEkgdm9pZCBwYXNfZGVhbGxvY2F0ZV9rbm93bl9sYXJnZSh2b2lkKiBwdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2hlYXBfY29uZmlnKiBjb25maWcpOwog
Ci1zdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgYm9vbCBwYXNfdHJ5X2RlYWxsb2NhdGVfbm90X3Nt
YWxsKAorc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIGJvb2wgcGFzX3RyeV9kZWFsbG9jYXRlX25v
dF9zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZCgKICAgICBwYXNfdGhyZWFkX2xvY2FsX2NhY2hl
KiB0aHJlYWRfbG9jYWxfY2FjaGUsCiAgICAgdWludHB0cl90IGJlZ2luLAogICAgIHBhc19oZWFw
X2NvbmZpZyBjb25maWcsCi0gICAgcGFzX2RlYWxsb2NhdGlvbl9tb2RlIGRlYWxsb2NhdGlvbl9t
b2RlKQorICAgIHBhc19kZWFsbG9jYXRpb25fbW9kZSBkZWFsbG9jYXRpb25fbW9kZSwKKyAgICBw
YXNfZmFzdF9tZWdhcGFnZV9raW5kIG1lZ2FwYWdlX2tpbmQpCiB7CiAgICAgcGFzX3BhZ2VfYmFz
ZSogcGFnZV9iYXNlOwogCisgICAgaWYgKFBBU19MSUtFTFkobWVnYXBhZ2Vfa2luZCA9PSBwYXNf
c21hbGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kKSkgeworICAgICAgICBwYXNfcGFnZV9iYXNl
X2FuZF9raW5kIHBhZ2VfYW5kX2tpbmQ7CisgICAgICAgIHBhZ2VfYW5kX2tpbmQgPSBwYXNfZ2V0
X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZShiZWdp
biwgY29uZmlnKTsKKyAgICAgICAgc3dpdGNoIChwYWdlX2FuZF9raW5kLnBhZ2Vfa2luZCkgewor
ICAgICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAg
ICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2xvZ19vcl9kZWFsbG9jYXRlKAorICAgICAgICAg
ICAgICAgIGJlZ2luLCB0aHJlYWRfbG9jYWxfY2FjaGUsIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVk
X2NvbmZpZywgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZSk7CisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgY2FzZSBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2luZDoKKyAg
ICAgICAgICAgIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnLnNwZWNpYWxpemVkX3BhZ2VfZGVh
bGxvY2F0ZV93aXRoX3BhZ2UoCisgICAgICAgICAgICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRfYml0
Zml0KHBhZ2VfYW5kX2tpbmQucGFnZV9iYXNlKSwKKyAgICAgICAgICAgICAgICBiZWdpbik7Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFBB
U19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChwYXNfZGVidWdfaGVhcF9pc19lbmFi
bGVkKGNvbmZpZy5raW5kKSkgewogICAgICAgICBwYXNfZGVidWdfaGVhcF9mcmVlKCh2b2lkKili
ZWdpbik7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtOTMsMTAgKzEwNywxNSBAQCBzdGF0aWMg
UEFTX0FMV0FZU19JTkxJTkUgYm9vbCBwYXNfdHJ5X2RlCiAgICAgcGFnZV9iYXNlID0gY29uZmln
LnBhZ2VfaGVhZGVyX2Z1bmMoYmVnaW4pOwogICAgIGlmIChwYWdlX2Jhc2UpIHsKICAgICAgICAg
c3dpdGNoIChwYXNfcGFnZV9iYXNlX2dldF9raW5kKHBhZ2VfYmFzZSkpIHsKLSAgICAgICAgY2Fz
ZSBwYXNfc21hbGxfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgIGNhc2UgcGFzX3NtYWxs
X3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIFBBU19BU1NFUlQoIWNv
bmZpZy5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21lZ2FwYWdlKTsKKyAgICAgICAgICAgIHBhc19z
ZWdyZWdhdGVkX3BhZ2VfbG9nX29yX2RlYWxsb2NhdGUoCisgICAgICAgICAgICAgICAgYmVnaW4s
IHRocmVhZF9sb2NhbF9jYWNoZSwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLCBwYXNf
c2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CiAg
ICAgICAgICAgICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxfc2VncmVnYXRlZF9pc19pbl9tZWdh
cGFnZSk7Ci0gICAgICAgICAgICBwYXNfZGVhbGxvY2F0ZV9rbm93bl9zZWdyZWdhdGVkX2ltcGwo
Ci0gICAgICAgICAgICAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLCBiZWdpbiwgY29uZmlnLnNtYWxs
X3NlZ3JlZ2F0ZWRfY29uZmlnKTsKKyAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfbG9n
X29yX2RlYWxsb2NhdGUoCisgICAgICAgICAgICAgICAgYmVnaW4sIHRocmVhZF9sb2NhbF9jYWNo
ZSwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLCBwYXNfc2VncmVnYXRlZF9wYWdlX2V4
Y2x1c2l2ZV9yb2xlKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIHBh
c19zbWFsbF9iaXRmaXRfcGFnZV9raW5kOgogICAgICAgICAgICAgUEFTX0FTU0VSVCghY29uZmln
LnNtYWxsX2JpdGZpdF9pc19pbl9tZWdhcGFnZSk7CkBAIC0xMDQsOSArMTIzLDEzIEBAIHN0YXRp
YyBQQVNfQUxXQVlTX0lOTElORSBib29sIHBhc190cnlfZGUKICAgICAgICAgICAgICAgICBwYXNf
cGFnZV9iYXNlX2dldF9iaXRmaXQocGFnZV9iYXNlKSwKICAgICAgICAgICAgICAgICBiZWdpbik7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBwYXNfbWVkaXVtX3NlZ3Jl
Z2F0ZWRfcGFnZV9raW5kOgotICAgICAgICAgICAgcGFzX2RlYWxsb2NhdGVfa25vd25fc2VncmVn
YXRlZF9pbXBsKAotICAgICAgICAgICAgICAgIHRocmVhZF9sb2NhbF9jYWNoZSwgYmVnaW4sIGNv
bmZpZy5tZWRpdW1fc2VncmVnYXRlZF9jb25maWcpOworICAgICAgICBjYXNlIHBhc19tZWRpdW1f
c2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9sb2dfb3JfZGVhbGxvY2F0ZSgKKyAgICAgICAgICAgICAgICBiZWdpbiwgdGhyZWFkX2xv
Y2FsX2NhY2hlLCBjb25maWcubWVkaXVtX3NlZ3JlZ2F0ZWRfY29uZmlnLCBwYXNfc2VncmVnYXRl
ZF9wYWdlX3NoYXJlZF9yb2xlKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBj
YXNlIHBhc19tZWRpdW1fZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAg
ICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9sb2dfb3JfZGVhbGxvY2F0ZSgKKyAgICAgICAgICAgICAg
ICBiZWdpbiwgdGhyZWFkX2xvY2FsX2NhY2hlLCBjb25maWcubWVkaXVtX3NlZ3JlZ2F0ZWRfY29u
ZmlnLCBwYXNfc2VncmVnYXRlZF9wYWdlX2V4Y2x1c2l2ZV9yb2xlKTsKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgICAgICBjYXNlIHBhc19tZWRpdW1fYml0Zml0X3BhZ2Vfa2luZDoKICAg
ICAgICAgICAgIGNvbmZpZy5tZWRpdW1fYml0Zml0X2NvbmZpZy5zcGVjaWFsaXplZF9wYWdlX2Rl
YWxsb2NhdGVfd2l0aF9wYWdlKApAQCAtMTM3LDE4ICsxNjAsMTQgQEAgc3RhdGljIFBBU19BTFdB
WVNfSU5MSU5FIGJvb2wgcGFzX3RyeV9kZQogICAgIGJlZ2luID0gKHVpbnRwdHJfdClwdHI7CiAg
ICAgCiAgICAgbWVnYXBhZ2Vfa2luZCA9IGNvbmZpZy5mYXN0X21lZ2FwYWdlX2tpbmRfZnVuYyhi
ZWdpbik7Ci0gICAgaWYgKFBBU19MSUtFTFkobWVnYXBhZ2Vfa2luZCA9PSBwYXNfc21hbGxfc2Vn
cmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQpKSB7Ci0gICAgICAgIHBhc19kZWFsbG9jYXRlX2tu
b3duX3NlZ3JlZ2F0ZWRfaW1wbCgKLSAgICAgICAgICAgIHRocmVhZF9sb2NhbF9jYWNoZSwgYmVn
aW4sIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZyk7Ci0gICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLSAgICBwYXNfY29tcGlsZXJfZmVuY2UoKTsKLSAgICBpZiAoUEFTX0xJS0VMWSht
ZWdhcGFnZV9raW5kID09IHBhc19zbWFsbF9iaXRmaXRfZmFzdF9tZWdhcGFnZV9raW5kKSkgewot
ICAgICAgICBwYXNfYml0Zml0X3BhZ2VfZGVhbGxvY2F0ZShiZWdpbiwgY29uZmlnLnNtYWxsX2Jp
dGZpdF9jb25maWcpOworICAgIGlmIChQQVNfTElLRUxZKG1lZ2FwYWdlX2tpbmQgPT0gcGFzX3Nt
YWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vfa2luZCkpIHsKKyAgICAgICAg
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9sb2dfb3JfZGVhbGxvY2F0ZSgKKyAgICAgICAgICAgIGJlZ2lu
LCB0aHJlYWRfbG9jYWxfY2FjaGUsIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KIAotICAgIHJldHVybiBjb25maWcuc3BlY2lhbGl6ZWRfdHJ5X2RlYWxsb2NhdGVfbm90
X3NtYWxsKHRocmVhZF9sb2NhbF9jYWNoZSwgYmVnaW4sIGRlYWxsb2NhdGlvbl9tb2RlKTsKKyAg
ICByZXR1cm4gY29uZmlnLnNwZWNpYWxpemVkX3RyeV9kZWFsbG9jYXRlX25vdF9zbWFsbF9leGNs
dXNpdmVfc2VncmVnYXRlZCgKKyAgICAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLCBiZWdpbiwgZGVh
bGxvY2F0aW9uX21vZGUsIG1lZ2FwYWdlX2tpbmQpOwogfQogCiAvKiBUaGlzIHJldHVybnMgdHJ1
ZSBpZiB0aGUgb2JqZWN0IHdhcyBzdWNjZXNzZnVsbHkgZGVhbGxvY2F0ZWQuCkluZGV4OiBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZW51bWVyYXRlX3NlZ3JlZ2F0ZWRfaGVh
cHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
ZW51bWVyYXRlX3NlZ3JlZ2F0ZWRfaGVhcHMuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2VudW1lcmF0ZV9zZWdyZWdhdGVkX2hlYXBz
LmMJKHdvcmtpbmcgY29weSkKQEAgLTY2OSw3ICs2NjksOCBAQCBib29sIHBhc19lbnVtZXJhdGVf
c2VncmVnYXRlZF9oZWFwcyhwYXNfCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAg
ICAgZm9yIChpbmRleCA9IFBBU19ERUFMTE9DQVRJT05fTE9HX1NJWkU7IGluZGV4LS07KSB7Ci0g
ICAgICAgICAgICB1aW50cHRyX3Qgb2JqZWN0ID0gdGxjLT5kZWFsbG9jYXRpb25fbG9nW2luZGV4
XSA+PiBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX05VTV9CSVRTOworICAgICAgICAg
ICAgdWludHB0cl90IG9iamVjdCA9CisgICAgICAgICAgICAgICAgdGxjLT5kZWFsbG9jYXRpb25f
bG9nW2luZGV4XSA+PiBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX0FORF9ST0xFX05V
TV9CSVRTOwogICAgICAgICAgICAgaWYgKG9iamVjdCkgewogICAgICAgICAgICAgICAgIHBhc19w
dHJfaGFzaF9zZXRfc2V0KAogICAgICAgICAgICAgICAgICAgICAmY29udGV4dC5vYmplY3RzX2lu
X2RlYWxsb2NhdGlvbl9sb2csICh2b2lkKilvYmplY3QsCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfZmFzdF9tZWdhcGFnZV9raW5kLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZC5o
CShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfZmFzdF9tZWdhcGFnZV9raW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChjKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoYykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsOCArMzIsOCBAQCBQQVNf
QkVHSU5fRVhURVJOX0M7CiAKIGVudW0gcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZCB7CiAgICAgcGFz
X25vdF9hX2Zhc3RfbWVnYXBhZ2Vfa2luZCwKLSAgICBwYXNfc21hbGxfc2VncmVnYXRlZF9mYXN0
X21lZ2FwYWdlX2tpbmQsCi0gICAgcGFzX3NtYWxsX2JpdGZpdF9mYXN0X21lZ2FwYWdlX2tpbmQs
CisgICAgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vfa2luZCwK
KyAgICBwYXNfc21hbGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kLAogfTsKIAogdHlwZWRlZiBl
bnVtIHBhc19mYXN0X21lZ2FwYWdlX2tpbmQgcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZDsKQEAgLTQz
LDEwICs0MywxMCBAQCBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHBhc19mYXN0X21lZ2FwCiAg
ICAgc3dpdGNoIChraW5kKSB7CiAgICAgY2FzZSBwYXNfbm90X2FfZmFzdF9tZWdhcGFnZV9raW5k
OgogICAgICAgICByZXR1cm4gIm5vdF9hX2Zhc3RfbWVnYXBhZ2UiOwotICAgIGNhc2UgcGFzX3Nt
YWxsX3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOgotICAgICAgICByZXR1cm4gInNtYWxs
X3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZSI7Ci0gICAgY2FzZSBwYXNfc21hbGxfYml0Zml0X2Zh
c3RfbWVnYXBhZ2Vfa2luZDoKLSAgICAgICAgcmV0dXJuICJzbWFsbF9iaXRmaXRfZmFzdF9tZWdh
cGFnZSI7CisgICAgY2FzZSBwYXNfc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfZmFzdF9tZWdh
cGFnZV9raW5kOgorICAgICAgICByZXR1cm4gInNtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zh
c3RfbWVnYXBhZ2UiOworICAgIGNhc2UgcGFzX3NtYWxsX290aGVyX2Zhc3RfbWVnYXBhZ2Vfa2lu
ZDoKKyAgICAgICAgcmV0dXJuICJzbWFsbF9vdGhlcl9mYXN0X21lZ2FwYWdlIjsKICAgICB9CiAg
ICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOwogICAgIHJldHVybiBOVUxM
OwpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBh
Z2VfdGFibGUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5jCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5jCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgcGFzX2Zhc3RfbWVnYXBhZ2VfdGFibGVf
c2V0X2J5X2luZGUKICAgICBwYXNfaGVhcF9sb2NrX2xvY2tfY29uZGl0aW9uYWxseShoZWFwX2xv
Y2tfaG9sZF9tb2RlKTsKIAogICAgIGlmIChpbmRleCA8IFBBU19OVU1fRkFTVF9GQVNUX01FR0FQ
QUdFX0JJVFMKLSAgICAgICAgJiYgdmFsdWUgPT0gcGFzX3NtYWxsX3NlZ3JlZ2F0ZWRfZmFzdF9t
ZWdhcGFnZV9raW5kKSB7CisgICAgICAgICYmIHZhbHVlID09IHBhc19zbWFsbF9leGNsdXNpdmVf
c2VncmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQpIHsKICAgICAgICAgcGFzX2JpdHZlY3Rvcl9z
ZXQodGFibGUtPmZhc3RfYml0cywgaW5kZXgsIHRydWUpOwogICAgICAgICByZXR1cm47CiAgICAg
fQpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2Zhc3RfbWVnYXBh
Z2VfdGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZmFzdF9tZWdhcGFnZV90YWJsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDcgQEAgc3RhdGljIGlubGluZSBwYXNfZmFzdF9tZWdh
cGFnZV9raW5kIHBhcwogICAgIAogICAgIGlmIChQQVNfTElLRUxZKGluZGV4IDwgUEFTX05VTV9G
QVNUX0ZBU1RfTUVHQVBBR0VfQklUUykKICAgICAgICAgJiYgUEFTX0xJS0VMWShwYXNfYml0dmVj
dG9yX2dldCh0YWJsZS0+ZmFzdF9iaXRzLCBpbmRleCkpKQotICAgICAgICByZXR1cm4gcGFzX3Nt
YWxsX3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOworICAgICAgICByZXR1cm4gcGFzX3Nt
YWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vfa2luZDsKICAgICAKICAgICBm
b3IgKHRhYmxlX2luZGV4ID0gMDsgdGFibGVfaW5kZXggPCBQQVNfTlVNX0ZBU1RfTUVHQVBBR0Vf
VEFCTEVTOyArK3RhYmxlX2luZGV4KSB7CiAgICAgICAgIGluc3RhbmNlID0gdGFibGUtPmluc3Rh
bmNlc1t0YWJsZV9pbmRleF07CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfZ2V0X2FsbG9jYXRpb25fc2l6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfYWxsb2NhdGlvbl9zaXplLmgJKHJldmlzaW9uIDI4
NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfYWxsb2Nh
dGlvbl9zaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUEFT
X0dFVF9BTExPQ0FUSU9OX1NJWkVfSAogI2RlZmluZSBQQVNfR0VUX0FMTE9DQVRJT05fU0laRV9I
CiAKKyNpbmNsdWRlICJwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJf
aW5fZmFzdF9tZWdhcGFnZS5oIgogI2luY2x1ZGUgInBhc19oZWFwX2NvbmZpZy5oIgogI2luY2x1
ZGUgInBhc19oZWFwX2xvY2suaCIKICNpbmNsdWRlICJwYXNfbGFyZ2VfbWFwLmgiCkBAIC00Mywx
MSArNDQsMjggQEAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHNpemVfdCBwYXNfZ2V0XwogICAg
IGJlZ2luID0gKHVpbnRwdHJfdClwdHI7CiAKICAgICBzd2l0Y2ggKGNvbmZpZy5mYXN0X21lZ2Fw
YWdlX2tpbmRfZnVuYyhiZWdpbikpIHsKLSAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX2Zh
c3RfbWVnYXBhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRl
ZF9mYXN0X21lZ2FwYWdlX2tpbmQ6CiAgICAgICAgIHJldHVybiBwYXNfc2VncmVnYXRlZF9wYWdl
X2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWcoCi0gICAgICAgICAg
ICBiZWdpbiwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnKTsKLSAgICBjYXNlIHBhc19z
bWFsbF9iaXRmaXRfZmFzdF9tZWdhcGFnZV9raW5kOgotICAgICAgICByZXR1cm4gcGFzX2JpdGZp
dF9wYWdlX2dldF9hbGxvY2F0aW9uX3NpemUoYmVnaW4sIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29u
ZmlnKTsKKyAgICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcs
IHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGUpOworICAgIGNhc2UgcGFzX3NtYWxs
X290aGVyX2Zhc3RfbWVnYXBhZ2Vfa2luZDogeworICAgICAgICBwYXNfcGFnZV9iYXNlX2FuZF9r
aW5kIHBhZ2VfYW5kX2tpbmQ7CisgICAgICAgIHBhZ2VfYW5kX2tpbmQgPSBwYXNfZ2V0X3BhZ2Vf
YmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZShiZWdpbiwgY29u
ZmlnKTsKKyAgICAgICAgc3dpdGNoIChwYWdlX2FuZF9raW5kLnBhZ2Vfa2luZCkgeworICAgICAg
ICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAg
ICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9nZXRfb2JqZWN0X3NpemVfZm9yX2FkZHJlc3Nf
aW5fcGFnZSgKKyAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9zZWdyZWdhdGVkKHBh
Z2VfYW5kX2tpbmQucGFnZV9iYXNlKSwKKyAgICAgICAgICAgICAgICBiZWdpbiwKKyAgICAgICAg
ICAgICAgICBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcsCisgICAgICAgICAgICAgICAg
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZSk7CisgICAgICAgIGNhc2UgcGFzX3NtYWxs
X2JpdGZpdF9wYWdlX2tpbmQ6CisgICAgICAgICAgICByZXR1cm4gY29uZmlnLnNtYWxsX2JpdGZp
dF9jb25maWcuc3BlY2lhbGl6ZWRfcGFnZV9nZXRfYWxsb2NhdGlvbl9zaXplX3dpdGhfcGFnZSgK
KyAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9iaXRmaXQocGFnZV9hbmRfa2luZC5w
YWdlX2Jhc2UpLAorICAgICAgICAgICAgICAgIGJlZ2luKTsKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQogICAgIGNhc2UgcGFzX25vdF9hX2Zhc3Rf
bWVnYXBhZ2Vfa2luZDogewogICAgICAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CiAgICAg
ICAgIHBhc19sYXJnZV9tYXBfZW50cnkgZW50cnk7CkBAIC01NiwyMiArNzQsMzcgQEAgc3RhdGlj
IFBBU19BTFdBWVNfSU5MSU5FIHNpemVfdCBwYXNfZ2V0XwogICAgICAgICBwYWdlX2Jhc2UgPSBj
b25maWcucGFnZV9oZWFkZXJfZnVuYyhiZWdpbik7CiAgICAgICAgIGlmIChwYWdlX2Jhc2UpIHsK
ICAgICAgICAgICAgIHN3aXRjaCAocGFzX3BhZ2VfYmFzZV9nZXRfa2luZChwYWdlX2Jhc2UpKSB7
Ci0gICAgICAgICAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAg
ICAgICAgIGNhc2UgcGFzX3NtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKICAgICAg
ICAgICAgICAgICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxfc2VncmVnYXRlZF9pc19pbl9tZWdh
cGFnZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBhc19zZWdyZWdhdGVkX3BhZ2VfZ2V0X29i
amVjdF9zaXplX2Zvcl9hZGRyZXNzX2luX3BhZ2UoCiAgICAgICAgICAgICAgICAgICAgIHBhc19w
YWdlX2Jhc2VfZ2V0X3NlZ3JlZ2F0ZWQocGFnZV9iYXNlKSwKICAgICAgICAgICAgICAgICAgICAg
YmVnaW4sCi0gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZp
Zyk7CisgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywK
KyAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZSk7Cisg
ICAgICAgICAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6
CisgICAgICAgICAgICAgICAgUEFTX0FTU0VSVCghY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfaXNf
aW5fbWVnYXBhZ2UpOworICAgICAgICAgICAgICAgIHJldHVybiBwYXNfc2VncmVnYXRlZF9wYWdl
X2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRkcmVzc19pbl9wYWdlKAorICAgICAgICAgICAgICAgICAg
ICBwYXNfcGFnZV9iYXNlX2dldF9zZWdyZWdhdGVkKHBhZ2VfYmFzZSksCisgICAgICAgICAgICAg
ICAgICAgIGJlZ2luLAorICAgICAgICAgICAgICAgICAgICBjb25maWcuc21hbGxfc2VncmVnYXRl
ZF9jb25maWcsCisgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVz
aXZlX3JvbGUpOwogICAgICAgICAgICAgY2FzZSBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2luZDoK
ICAgICAgICAgICAgICAgICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxfYml0Zml0X2lzX2luX21l
Z2FwYWdlKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnNtYWxsX2JpdGZpdF9jb25m
aWcuc3BlY2lhbGl6ZWRfcGFnZV9nZXRfYWxsb2NhdGlvbl9zaXplX3dpdGhfcGFnZSgKICAgICAg
ICAgICAgICAgICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRfYml0Zml0KHBhZ2VfYmFzZSksCiAgICAg
ICAgICAgICAgICAgICAgIGJlZ2luKTsKLSAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9zZWdy
ZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9zaGFyZWRfc2Vn
cmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhc19zZWdyZWdhdGVk
X3BhZ2VfZ2V0X29iamVjdF9zaXplX2Zvcl9hZGRyZXNzX2luX3BhZ2UoCisgICAgICAgICAgICAg
ICAgICAgIHBhc19wYWdlX2Jhc2VfZ2V0X3NlZ3JlZ2F0ZWQocGFnZV9iYXNlKSwKKyAgICAgICAg
ICAgICAgICAgICAgYmVnaW4sCisgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZWRpdW1fc2Vn
cmVnYXRlZF9jb25maWcsCisgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
c2hhcmVkX3JvbGUpOworICAgICAgICAgICAgY2FzZSBwYXNfbWVkaXVtX2V4Y2x1c2l2ZV9zZWdy
ZWdhdGVkX3BhZ2Vfa2luZDoKICAgICAgICAgICAgICAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9nZXRfb2JqZWN0X3NpemVfZm9yX2FkZHJlc3NfaW5fcGFnZSgKICAgICAgICAgICAgICAg
ICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRfc2VncmVnYXRlZChwYWdlX2Jhc2UpLAogICAgICAgICAg
ICAgICAgICAgICBiZWdpbiwKLSAgICAgICAgICAgICAgICAgICAgY29uZmlnLm1lZGl1bV9zZWdy
ZWdhdGVkX2NvbmZpZyk7CisgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZWRpdW1fc2VncmVn
YXRlZF9jb25maWcsCisgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhj
bHVzaXZlX3JvbGUpOwogICAgICAgICAgICAgY2FzZSBwYXNfbWVkaXVtX2JpdGZpdF9wYWdlX2tp
bmQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5tZWRpdW1fYml0Zml0X2NvbmZpZy5z
cGVjaWFsaXplZF9wYWdlX2dldF9hbGxvY2F0aW9uX3NpemVfd2l0aF9wYWdlKAogICAgICAgICAg
ICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9iaXRmaXQocGFnZV9iYXNlKSwKSW5kZXg6IFNv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfaGVhcC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfaGVhcC5oCShyZXZp
c2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0
X2hlYXAuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBQQVNfR0VU
X0hFQVBfSAogCiAjaW5jbHVkZSAicGFzX2JpdGZpdF9kaXJlY3RvcnkuaCIKKyNpbmNsdWRlICJw
YXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFn
ZS5oIgogI2luY2x1ZGUgInBhc19oZWFwLmgiCiAjaW5jbHVkZSAicGFzX2hlYXBfY29uZmlnLmgi
CiAjaW5jbHVkZSAicGFzX2xhcmdlX21hcC5oIgpAQCAtMzUsNTkgKzM2LDY5IEBACiAKIFBBU19C
RUdJTl9FWFRFUk5fQzsKIAotc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHBhc19oZWFwKgotcGFz
X2dldF9oZWFwX2tub3duX3NlZ3JlZ2F0ZWQodWludHB0cl90IGJlZ2luLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgcGFnZV9jb25maWcp
Ci17Ci0gICAgcmV0dXJuIHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoCi0gICAgICAgIHBh
c19zZWdyZWdhdGVkX3BhZ2VfZ2V0X2RpcmVjdG9yeV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25m
aWcoCi0gICAgICAgICAgICBiZWdpbiwgcGFnZV9jb25maWcpLT5oZWFwKTsKLX0KLQogc3RhdGlj
IFBBU19BTFdBWVNfSU5MSU5FIHBhc19oZWFwKiBwYXNfZ2V0X2hlYXAodm9pZCogcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX2hlYXBfY29u
ZmlnIGNvbmZpZykKIHsKICAgICB1aW50cHRyX3QgYmVnaW47CisgICAgcGFzX3BhZ2VfYmFzZSog
cGFnZV9iYXNlOwogICAgIAogICAgIGJlZ2luID0gKHVpbnRwdHJfdClwdHI7CiAgICAgCiAgICAg
c3dpdGNoIChjb25maWcuZmFzdF9tZWdhcGFnZV9raW5kX2Z1bmMoYmVnaW4pKSB7Ci0gICAgY2Fz
ZSBwYXNfc21hbGxfc2VncmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQ6CisgICAgY2FzZSBwYXNf
c21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOgogICAgICAgICBy
ZXR1cm4gcGFzX2hlYXBfZm9yX3NlZ3JlZ2F0ZWRfaGVhcCgKICAgICAgICAgICAgIHBhc19zZWdy
ZWdhdGVkX3BhZ2VfZ2V0X2RpcmVjdG9yeV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWcoCi0g
ICAgICAgICAgICAgICAgYmVnaW4sIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZyktPmhl
YXApOwotICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9mYXN0X21lZ2FwYWdlX2tpbmQ6Ci0gICAg
ICAgIHJldHVybiBwYXNfaGVhcF9mb3Jfc2VncmVnYXRlZF9oZWFwKAotICAgICAgICAgICAgcGFz
X2NvbXBhY3RfYml0Zml0X2RpcmVjdG9yeV9wdHJfbG9hZF9ub25fbnVsbCgKLSAgICAgICAgICAg
ICAgICAmcGFzX2NvbXBhY3RfYXRvbWljX2JpdGZpdF92aWV3X3B0cl9sb2FkX25vbl9udWxsKAot
ICAgICAgICAgICAgICAgICAgICAmcGFzX2JpdGZpdF9wYWdlX2Zvcl9hZGRyZXNzX2FuZF9wYWdl
X2NvbmZpZygKLSAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfYml0
Zml0X2NvbmZpZyktPm93bmVyKS0+ZGlyZWN0b3J5KS0+aGVhcCk7CisgICAgICAgICAgICAgICAg
YmVnaW4sIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywgcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9leGNsdXNpdmVfcm9sZSktPmhlYXApOworICAgIGNhc2UgcGFzX3NtYWxsX290aGVyX2Zhc3Rf
bWVnYXBhZ2Vfa2luZDogeworICAgICAgICBwYXNfcGFnZV9iYXNlX2FuZF9raW5kIHBhZ2VfYW5k
X2tpbmQ7CisgICAgICAgIHBhZ2VfYW5kX2tpbmQgPSBwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2lu
ZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZShiZWdpbiwgY29uZmlnKTsKKyAgICAg
ICAgc3dpdGNoIChwYWdlX2FuZF9raW5kLnBhZ2Vfa2luZCkgeworICAgICAgICBjYXNlIHBhc19z
bWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICByZXR1cm4gcGFz
X2hlYXBfZm9yX3NlZ3JlZ2F0ZWRfaGVhcCgKKyAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRl
ZF9wYWdlX2dldF9kaXJlY3RvcnlfZm9yX2FkZHJlc3NfaW5fcGFnZSgKKyAgICAgICAgICAgICAg
ICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRfc2VncmVnYXRlZChwYWdlX2FuZF9raW5kLnBhZ2VfYmFz
ZSksCisgICAgICAgICAgICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9j
b25maWcsIHBhc19zZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGUpLT5oZWFwKTsKKyAgICAgICAg
Y2FzZSBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIHBhZ2VfYmFzZSA9
IHBhZ2VfYW5kX2tpbmQucGFnZV9iYXNlOworICAgICAgICAgICAgZ290byBiaXRmaXRfY2FzZV93
aXRoX3BhZ2VfYmFzZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFBBU19BU1NFUlQo
ISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAg
ICAgICB9CisgICAgfQogICAgIGNhc2UgcGFzX25vdF9hX2Zhc3RfbWVnYXBhZ2Vfa2luZDogewot
ICAgICAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CiAgICAgICAgIHBhc19sYXJnZV9tYXBf
ZW50cnkgZW50cnk7CiAgICAgICAgIHBhc19oZWFwKiByZXN1bHQ7CiAKICAgICAgICAgcGFnZV9i
YXNlID0gY29uZmlnLnBhZ2VfaGVhZGVyX2Z1bmMoYmVnaW4pOwogICAgICAgICBpZiAocGFnZV9i
YXNlKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKHBhc19wYWdlX2Jhc2VfZ2V0X2tpbmQocGFnZV9i
YXNlKSkgewotICAgICAgICAgICAgY2FzZSBwYXNfc21hbGxfc2VncmVnYXRlZF9wYWdlX2tpbmQ6
CisgICAgICAgICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6
CiAgICAgICAgICAgICAgICAgUEFTX0FTU0VSVCghY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfaXNf
aW5fbWVnYXBhZ2UpOwogICAgICAgICAgICAgICAgIHJldHVybiBwYXNfaGVhcF9mb3Jfc2VncmVn
YXRlZF9oZWFwKAogICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2dldF9k
aXJlY3RvcnlfZm9yX2FkZHJlc3NfaW5fcGFnZSgKICAgICAgICAgICAgICAgICAgICAgICAgIHBh
c19wYWdlX2Jhc2VfZ2V0X3NlZ3JlZ2F0ZWQocGFnZV9iYXNlKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcpLT5oZWFwKTsKLSAg
ICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcsIHBh
c19zZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGUpLT5oZWFwKTsKKyAgICAgICAgICAgIGNhc2Ug
cGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgICAg
ICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxfc2VncmVnYXRlZF9pc19pbl9tZWdhcGFnZSk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoCiAgICAg
ICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfZ2V0X2RpcmVjdG9yeV9mb3JfYWRk
cmVzc19pbl9wYWdlKAogICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRf
c2VncmVnYXRlZChwYWdlX2Jhc2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIGNv
bmZpZy5tZWRpdW1fc2VncmVnYXRlZF9jb25maWcpLT5oZWFwKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcsIHBhc19zZWdyZWdh
dGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGUpLT5oZWFwKTsKKyAgICAgICAgICAgIGNhc2UgcGFzX21l
ZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICAgICAgcmV0dXJu
IHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoCisgICAgICAgICAgICAgICAgICAgIHBhc19z
ZWdyZWdhdGVkX3BhZ2VfZ2V0X2RpcmVjdG9yeV9mb3JfYWRkcmVzc19pbl9wYWdlKAorICAgICAg
ICAgICAgICAgICAgICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRfc2VncmVnYXRlZChwYWdlX2Jhc2Up
LAorICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIGNvbmZpZy5tZWRpdW1fc2VncmVnYXRl
ZF9jb25maWcsIHBhc19zZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGUpLT5oZWFwKTsKKyAgICAg
ICAgICAgIGNhc2UgcGFzX21lZGl1bV9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoCisgICAg
ICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfZ2V0X2RpcmVjdG9yeV9mb3JfYWRk
cmVzc19pbl9wYWdlKAorICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3BhZ2VfYmFzZV9nZXRf
c2VncmVnYXRlZChwYWdlX2Jhc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIGNv
bmZpZy5tZWRpdW1fc2VncmVnYXRlZF9jb25maWcsIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVz
aXZlX3JvbGUpLT5oZWFwKTsKICAgICAgICAgICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9wYWdl
X2tpbmQ6CiAgICAgICAgICAgICBjYXNlIHBhc19tZWRpdW1fYml0Zml0X3BhZ2Vfa2luZDoKICAg
ICAgICAgICAgIGNhc2UgcGFzX21hcmdlX2JpdGZpdF9wYWdlX2tpbmQ6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoCi0gICAgICAgICAgICAgICAg
ICAgIHBhc19jb21wYWN0X2JpdGZpdF9kaXJlY3RvcnlfcHRyX2xvYWRfbm9uX251bGwoCi0gICAg
ICAgICAgICAgICAgICAgICAgICAmcGFzX2NvbXBhY3RfYXRvbWljX2JpdGZpdF92aWV3X3B0cl9s
b2FkX25vbl9udWxsKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwYXNfcGFnZV9iYXNl
X2dldF9iaXRmaXQocGFnZV9iYXNlKS0+b3duZXIpLT5kaXJlY3RvcnkpLT5oZWFwKTsKKyAgICAg
ICAgICAgICAgICBnb3RvIGJpdGZpdF9jYXNlX3dpdGhfcGFnZV9iYXNlOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgUEFTX0FTU0VSVCghIkJhZCBwYWdlIGtpbmQiKTsKICAgICAgICAgICAg
IHJldHVybiBOVUxMOwpAQCAtMTEwLDYgKzEyMSwxMiBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJ
TkUgcGFzX2hlYXAqIHBhc19nCiAgICAgCiAgICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUg
cmVhY2hlZCIpOwogICAgIHJldHVybiBOVUxMOworCitiaXRmaXRfY2FzZV93aXRoX3BhZ2VfYmFz
ZToKKyAgICByZXR1cm4gcGFzX2hlYXBfZm9yX3NlZ3JlZ2F0ZWRfaGVhcCgKKyAgICAgICAgcGFz
X2NvbXBhY3RfYml0Zml0X2RpcmVjdG9yeV9wdHJfbG9hZF9ub25fbnVsbCgKKyAgICAgICAgICAg
ICZwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3ZpZXdfcHRyX2xvYWRfbm9uX251bGwoCisgICAg
ICAgICAgICAgICAgJnBhc19wYWdlX2Jhc2VfZ2V0X2JpdGZpdChwYWdlX2Jhc2UpLT5vd25lcikt
PmRpcmVjdG9yeSktPmhlYXApOwogfQogCiBQQVNfRU5EX0VYVEVSTl9DOwpJbmRleDogU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2dldF9vYmplY3Rfa2luZC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfb2JqZWN0X2tp
bmQuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX2dldF9vYmplY3Rfa2luZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoYykgMjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsNyBA
QAogI2lmbmRlZiBQQVNfR0VUX09CSkVDVF9LSU5EX0gKICNkZWZpbmUgUEFTX0dFVF9PQkpFQ1Rf
S0lORF9ICiAKKyNpbmNsdWRlICJwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxf
b3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oIgogI2luY2x1ZGUgInBhc19oZWFwX2NvbmZpZy5oIgog
I2luY2x1ZGUgInBhc19vYmplY3Rfa2luZC5oIgogI2luY2x1ZGUgInBhc19wYWdlX2Jhc2UuaCIK
QEAgLTM3LDM0ICszOCwyNCBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX29iamVjdF9r
aW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFzX2hlYXBfY29uZmlnIGNvbmZpZykKIHsKICAgICB1aW50cHRyX3QgYmVnaW47
CisgICAgcGFzX3BhZ2Vfa2luZCBwYWdlX2tpbmQ7CiAgICAgCiAgICAgYmVnaW4gPSAodWludHB0
cl90KXB0cjsKICAgICAKICAgICBzd2l0Y2ggKGNvbmZpZy5mYXN0X21lZ2FwYWdlX2tpbmRfZnVu
YyhiZWdpbikpIHsKLSAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vf
a2luZDoKKyAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9mYXN0X21lZ2Fw
YWdlX2tpbmQ6CiAgICAgICAgIHJldHVybiBwYXNfc21hbGxfc2VncmVnYXRlZF9vYmplY3Rfa2lu
ZDsKLSAgICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfZmFzdF9tZWdhcGFnZV9raW5kOgotICAgICAg
ICByZXR1cm4gcGFzX3NtYWxsX2JpdGZpdF9vYmplY3Rfa2luZDsKKyAgICBjYXNlIHBhc19zbWFs
bF9vdGhlcl9mYXN0X21lZ2FwYWdlX2tpbmQ6CisgICAgICAgIHBhZ2Vfa2luZCA9IHBhc19nZXRf
cGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlKGJlZ2lu
LCBjb25maWcpLnBhZ2Vfa2luZDsKKyAgICAgICAgZ290byB1c2VfcGFnZV9raW5kOwogICAgIGNh
c2UgcGFzX25vdF9hX2Zhc3RfbWVnYXBhZ2Vfa2luZDogewogICAgICAgICBwYXNfbGFyZ2VfbWFw
X2VudHJ5IGVudHJ5OwogICAgICAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CiAKICAgICAg
ICAgcGFnZV9iYXNlID0gY29uZmlnLnBhZ2VfaGVhZGVyX2Z1bmMoYmVnaW4pOwogICAgICAgICBp
ZiAocGFnZV9iYXNlKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKHBhZ2VfYmFzZS0+cGFnZV9raW5k
KSB7Ci0gICAgICAgICAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKLSAg
ICAgICAgICAgICAgICByZXR1cm4gcGFzX3NtYWxsX3NlZ3JlZ2F0ZWRfb2JqZWN0X2tpbmQ7Ci0g
ICAgICAgICAgICBjYXNlIHBhc19tZWRpdW1fc2VncmVnYXRlZF9wYWdlX2tpbmQ6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHBhc19tZWRpdW1fc2VncmVnYXRlZF9vYmplY3Rfa2luZDsKLSAgICAg
ICAgICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9wYWdlX2tpbmQ6Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIHBhc19zbWFsbF9iaXRmaXRfb2JqZWN0X2tpbmQ7Ci0gICAgICAgICAgICBjYXNlIHBh
c19tZWRpdW1fYml0Zml0X3BhZ2Vfa2luZDoKLSAgICAgICAgICAgICAgICByZXR1cm4gcGFzX21l
ZGl1bV9iaXRmaXRfb2JqZWN0X2tpbmQ7Ci0gICAgICAgICAgICBjYXNlIHBhc19tYXJnZV9iaXRm
aXRfcGFnZV9raW5kOgotICAgICAgICAgICAgICAgIHJldHVybiBwYXNfbWFyZ2VfYml0Zml0X29i
amVjdF9raW5kOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUEFTX0FTU0VSVCghIlNob3Vs
ZCBub3QgYmUgcmVhY2hlZCIpOwotICAgICAgICAgICAgcmV0dXJuIHBhc19ub3RfYW5fb2JqZWN0
X2tpbmQ7CisgICAgICAgICAgICBwYWdlX2tpbmQgPSBwYXNfcGFnZV9iYXNlX2dldF9raW5kKHBh
Z2VfYmFzZSk7CisgICAgICAgICAgICBnb3RvIHVzZV9wYWdlX2tpbmQ7CiAgICAgICAgIH0KICAg
ICAgICAgCiAgICAgICAgIHBhc19oZWFwX2xvY2tfbG9jaygpOwpAQCAtODAsNiArNzEsOSBAQCBz
dGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX29iamVjdF9raW5kCiAgICAgCiAgICAgUEFTX0FT
U0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOwogICAgIHJldHVybiBwYXNfbm90X2FuX29i
amVjdF9raW5kOworCit1c2VfcGFnZV9raW5kOgorICAgIHJldHVybiBwYXNfb2JqZWN0X2tpbmRf
Zm9yX3BhZ2Vfa2luZChwYWdlX2tpbmQpOwogfQogCiBQQVNfRU5EX0VYVEVSTl9DOwpJbmRleDog
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2dldF9wYWdlX2Jhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X3BhZ2Vf
YmFzZS5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfZ2V0X3BhZ2VfYmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoYykgMjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsNyBA
QAogI2lmbmRlZiBQQVNfR0VUX1BBR0VfQkFTRV9ICiAjZGVmaW5lIFBBU19HRVRfUEFHRV9CQVNF
X0gKIAorI2luY2x1ZGUgInBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhl
cl9pbl9mYXN0X21lZ2FwYWdlLmgiCiAjaW5jbHVkZSAicGFzX2hlYXBfY29uZmlnLmgiCiAjaW5j
bHVkZSAicGFzX3BhZ2VfYmFzZS5oIgogI2luY2x1ZGUgInBhc19sYXJnZV9tYXAuaCIKQEAgLTQw
LDEwICs0MSwxMCBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX3BhZ2VfYmFzZSogCiAg
ICAgYmVnaW4gPSAodWludHB0cl90KXB0cjsKICAgICAKICAgICBzd2l0Y2ggKGNvbmZpZy5mYXN0
X21lZ2FwYWdlX2tpbmRfZnVuYyhiZWdpbikpIHsKLSAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdh
dGVkX2Zhc3RfbWVnYXBhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2Vn
cmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQ6CiAgICAgICAgIHJldHVybiBwYXNfcGFnZV9iYXNl
X2Zvcl9hZGRyZXNzX2FuZF9wYWdlX2NvbmZpZyhiZWdpbiwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0
ZWRfY29uZmlnLmJhc2UpOwotICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9mYXN0X21lZ2FwYWdl
X2tpbmQ6Ci0gICAgICAgIHJldHVybiBwYXNfcGFnZV9iYXNlX2Zvcl9hZGRyZXNzX2FuZF9wYWdl
X2NvbmZpZyhiZWdpbiwgY29uZmlnLnNtYWxsX2JpdGZpdF9jb25maWcuYmFzZSk7CisgICAgY2Fz
ZSBwYXNfc21hbGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kOgorICAgICAgICByZXR1cm4gcGFz
X2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBhZ2Uo
YmVnaW4sIGNvbmZpZykucGFnZV9iYXNlOwogICAgIGNhc2UgcGFzX25vdF9hX2Zhc3RfbWVnYXBh
Z2Vfa2luZDogewogICAgICAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CiAKSW5kZXg6IFNv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5k
X2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9y
X3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBhZ2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
Ym1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfZ2V0X3BhZ2VfYmFzZV9hbmRfa2luZF9mb3Jf
c21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBQQVNfR0VUX1BBR0VfQkFTRV9BTkRfS0lORF9GT1JfU01BTExfT1RIRVJfSU5fRkFTVF9N
RUdBUEFHRV9ICisjZGVmaW5lIFBBU19HRVRfUEFHRV9CQVNFX0FORF9LSU5EX0ZPUl9TTUFMTF9P
VEhFUl9JTl9GQVNUX01FR0FQQUdFX0gKKworI2luY2x1ZGUgInBhc19oZWFwX2NvbmZpZy5oIgor
I2luY2x1ZGUgInBhc19wYWdlX2Jhc2VfYW5kX2tpbmQuaCIKKworUEFTX0JFR0lOX0VYVEVSTl9D
OworCitzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgcGFzX3BhZ2VfYmFzZV9hbmRfa2luZAorcGFz
X2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxsX290aGVyX2luX2Zhc3RfbWVnYXBhZ2Uo
dWludHB0cl90IGJlZ2luLCBwYXNfaGVhcF9jb25maWcgY29uZmlnKQoreworICAgIGlmIChjb25m
aWcuc21hbGxfYml0Zml0X2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQKKyAgICAgICAgJiYgY29uZmln
LnNtYWxsX2JpdGZpdF9pc19pbl9tZWdhcGFnZSkgeworICAgICAgICBwYXNfcGFnZV9iYXNlKiBw
YWdlX2Jhc2U7CisgICAgICAgIHBhZ2VfYmFzZSA9IHBhc19wYWdlX2Jhc2VfZm9yX2FkZHJlc3Nf
YW5kX3BhZ2VfY29uZmlnKGJlZ2luLCBjb25maWcuc21hbGxfYml0Zml0X2NvbmZpZy5iYXNlKTsK
KyAgICAgICAgaWYgKGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZy5iYXNlLmlzX2VuYWJs
ZWQKKyAgICAgICAgICAgICYmIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21lZ2FwYWdl
KSB7CisgICAgICAgICAgICBQQVNfQVNTRVJUKGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnLmJh
c2UucGFnZV9zaXplCisgICAgICAgICAgICAgICAgICAgICAgID09IGNvbmZpZy5zbWFsbF9zZWdy
ZWdhdGVkX2NvbmZpZy5iYXNlLnBhZ2Vfc2l6ZSk7CisgICAgICAgICAgICBQQVNfQVNTRVJUKAor
ICAgICAgICAgICAgICAgIHBhc19wYWdlX2Jhc2VfZm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmln
KGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcuYmFzZSkKKyAgICAgICAgICAg
ICAgICA9PSBwYWdlX2Jhc2UpOworICAgICAgICAgICAgcmV0dXJuIHBhc19wYWdlX2Jhc2VfYW5k
X2tpbmRfY3JlYXRlKHBhZ2VfYmFzZSwgcGFzX3BhZ2VfYmFzZV9nZXRfa2luZChwYWdlX2Jhc2Up
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcGFzX3BhZ2VfYmFzZV9hbmRfa2luZF9jcmVh
dGUocGFnZV9iYXNlLCBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2luZCk7CisgICAgfQorCisgICAg
LyogV2Ugc2hvdWxkbid0IGdldCBoZXJlIHVubGVzcyB3ZSB0aGluayB0aGF0IGVpdGhlciBzbWFs
bCBiaXRmaXQgb3Igc21hbGwgc2VncmVnYXRlZCBpcyBpbiBtZWdhcGFnZS4KKyAgICAgICBTbywg
aWYgc21hbGwgYml0Zml0IGlzbid0LCB0aGVuIHNtYWxsIHNlZ3JlZ2F0ZWQgbXVzdCBiZS4gKi8K
KyAgICBQQVNfQVNTRVJUKGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZy5iYXNlLmlzX2Vu
YWJsZWQKKyAgICAgICAgICAgICAgICYmIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21l
Z2FwYWdlKTsKKyAgICAKKyAgICByZXR1cm4gcGFzX3BhZ2VfYmFzZV9hbmRfa2luZF9jcmVhdGUo
CisgICAgICAgIHBhc19wYWdlX2Jhc2VfZm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmlnKGJlZ2lu
LCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcuYmFzZSksCisgICAgICAgIHBhc19zbWFs
bF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQpOworfQorCitQQVNfRU5EX0VYVEVSTl9DOwor
CisjZW5kaWYgLyogUEFTX0dFVF9QQUdFX0JBU0VfQU5EX0tJTkRfRk9SX1NNQUxMX09USEVSX0lO
X0ZBU1RfTUVHQVBBR0VfSCAqLworCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfaGFzX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc19oYXNfb2JqZWN0LmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oYXNfb2JqZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChjKSAyMDE5LTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE5LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zOSw4ICszOSw4IEBAIHN0YXRpYyBQQVNfQUxXQVlTX0lOTElORSBib29sIHBhc19o
YXNfb2IKICAgICBiZWdpbiA9ICh1aW50cHRyX3QpcHRyOwogICAgIAogICAgIHN3aXRjaCAoY29u
ZmlnLmZhc3RfbWVnYXBhZ2Vfa2luZF9mdW5jKGJlZ2luKSkgewotICAgIGNhc2UgcGFzX3NtYWxs
X3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOgotICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZp
dF9mYXN0X21lZ2FwYWdlX2tpbmQ6CisgICAgY2FzZSBwYXNfc21hbGxfZXhjbHVzaXZlX3NlZ3Jl
Z2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOgorICAgIGNhc2UgcGFzX3NtYWxsX290aGVyX2Zhc3Rf
bWVnYXBhZ2Vfa2luZDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBwYXNfbm90X2Ff
ZmFzdF9tZWdhcGFnZV9raW5kOiB7CiAgICAgICAgIHBhc19sYXJnZV9tYXBfZW50cnkgZW50cnk7
CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWcu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVh
cF9jb25maWcuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX2hlYXBfY29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiwxMCArMTEy
LDExIEBAIHR5cGVkZWYgcGFzX2FsbG9jYXRpb25fcmVzdWx0ICgqcGFzX2hlYXAKICAgICBwYXNf
aGVhcF9ydW50aW1lX2NvbmZpZyogcnVudGltZV9jb25maWcsCiAgICAgcGFzX2FsbG9jYXRvcl9j
b3VudHMqIGFsbG9jYXRvcl9jb3VudHMsCiAgICAgcGFzX3NpemVfbG9va3VwX21vZGUgc2l6ZV9s
b29rdXBfbW9kZSk7Ci10eXBlZGVmIGJvb2wgKCpwYXNfaGVhcF9jb25maWdfc3BlY2lhbGl6ZWRf
dHJ5X2RlYWxsb2NhdGVfbm90X3NtYWxsKSgKK3R5cGVkZWYgYm9vbCAoKnBhc19oZWFwX2NvbmZp
Z19zcGVjaWFsaXplZF90cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0
ZWQpKAogICAgIHBhc190aHJlYWRfbG9jYWxfY2FjaGUqIHRocmVhZF9sb2NhbF9jYWNoZSwKICAg
ICB1aW50cHRyX3QgYmVnaW4sCi0gICAgcGFzX2RlYWxsb2NhdGlvbl9tb2RlIGRlYWxsb2NhdGlv
bl9tb2RlKTsKKyAgICBwYXNfZGVhbGxvY2F0aW9uX21vZGUgZGVhbGxvY2F0aW9uX21vZGUsCisg
ICAgcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZCBtZWdhcGFnZV9raW5kKTsKIAogc3RydWN0IHBhc19o
ZWFwX2NvbmZpZyB7CiAgICAgLyogVGhpcyBhbHdheXMgc2VsZi1wb2ludHMuIEl0J3MgdXNlZnVs
IGZvciBnb2luZyBmcm9tIGEgY29uZmlnIHRvIGEgY29uZmlnX3B0ci4gKi8KQEAgLTE5MCw3ICsx
OTEsNyBAQCBzdHJ1Y3QgcGFzX2hlYXBfY29uZmlnIHsKICAgICBwYXNfaGVhcF9jb25maWdfc3Bl
Y2lhbGl6ZWRfbG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZV9pbmxpbmVfY2FzZXMgc3BlY2lh
bGl6ZWRfbG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZV9pbmxpbmVfY2FzZXM7CiAgICAgcGFz
X2hlYXBfY29uZmlnX3NwZWNpYWxpemVkX2xvY2FsX2FsbG9jYXRvcl90cnlfYWxsb2NhdGVfc2xv
dyBzcGVjaWFsaXplZF9sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRlX3Nsb3c7CiAgICAgcGFz
X2hlYXBfY29uZmlnX3NwZWNpYWxpemVkX3RyeV9hbGxvY2F0ZV9jb21tb25faW1wbF9zbG93IHNw
ZWNpYWxpemVkX3RyeV9hbGxvY2F0ZV9jb21tb25faW1wbF9zbG93OwotICAgIHBhc19oZWFwX2Nv
bmZpZ19zcGVjaWFsaXplZF90cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGwgc3BlY2lhbGl6ZWRfdHJ5
X2RlYWxsb2NhdGVfbm90X3NtYWxsOworICAgIHBhc19oZWFwX2NvbmZpZ19zcGVjaWFsaXplZF90
cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWQgc3BlY2lhbGl6ZWRf
dHJ5X2RlYWxsb2NhdGVfbm90X3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkOwogfTsKIAogI2Rl
ZmluZSBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05TKGxvd2VyX2Nhc2VfaGVhcF9jb25m
aWdfbmFtZSkgXApAQCAtMjA0LDggKzIwNSw4IEBAIHN0cnVjdCBwYXNfaGVhcF9jb25maWcgewog
ICAgICAgICBsb3dlcl9jYXNlX2hlYXBfY29uZmlnX25hbWUgIyMgX3NwZWNpYWxpemVkX2xvY2Fs
X2FsbG9jYXRvcl90cnlfYWxsb2NhdGVfc2xvdywgXAogICAgIC5zcGVjaWFsaXplZF90cnlfYWxs
b2NhdGVfY29tbW9uX2ltcGxfc2xvdyA9IFwKICAgICAgICAgbG93ZXJfY2FzZV9oZWFwX2NvbmZp
Z19uYW1lICMjIF9zcGVjaWFsaXplZF90cnlfYWxsb2NhdGVfY29tbW9uX2ltcGxfc2xvdywgXAot
ICAgIC5zcGVjaWFsaXplZF90cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGwgPSBcCi0gICAgICAgIGxv
d2VyX2Nhc2VfaGVhcF9jb25maWdfbmFtZSAjIyBfc3BlY2lhbGl6ZWRfdHJ5X2RlYWxsb2NhdGVf
bm90X3NtYWxsCisgICAgLnNwZWNpYWxpemVkX3RyeV9kZWFsbG9jYXRlX25vdF9zbWFsbF9leGNs
dXNpdmVfc2VncmVnYXRlZCA9IFwKKyAgICAgICAgbG93ZXJfY2FzZV9oZWFwX2NvbmZpZ19uYW1l
ICMjIF9zcGVjaWFsaXplZF90cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGxfZXhjbHVzaXZlX3NlZ3Jl
Z2F0ZWQKIAogI2RlZmluZSBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05fREVDTEFSQVRJ
T05TKGxvd2VyX2Nhc2VfaGVhcF9jb25maWdfbmFtZSkgXAogICAgIFBBU19BUEkgcGFzX2FsbG9j
YXRpb25fcmVzdWx0IFwKQEAgLTIzNCwxMCArMjM1LDExIEBAIHN0cnVjdCBwYXNfaGVhcF9jb25m
aWcgewogICAgICAgICBwYXNfaGVhcF9ydW50aW1lX2NvbmZpZyogcnVudGltZV9jb25maWcsIFwK
ICAgICAgICAgcGFzX2FsbG9jYXRvcl9jb3VudHMqIGFsbG9jYXRvcl9jb3VudHMsIFwKICAgICAg
ICAgcGFzX3NpemVfbG9va3VwX21vZGUgc2l6ZV9sb29rdXBfbW9kZSk7IFwKLSAgICBQQVNfQVBJ
IGJvb2wgbG93ZXJfY2FzZV9oZWFwX2NvbmZpZ19uYW1lICMjIF9zcGVjaWFsaXplZF90cnlfZGVh
bGxvY2F0ZV9ub3Rfc21hbGwoIFwKKyAgICBQQVNfQVBJIGJvb2wgbG93ZXJfY2FzZV9oZWFwX2Nv
bmZpZ19uYW1lICMjIF9zcGVjaWFsaXplZF90cnlfZGVhbGxvY2F0ZV9ub3Rfc21hbGxfZXhjbHVz
aXZlX3NlZ3JlZ2F0ZWQoIFwKICAgICAgICAgcGFzX3RocmVhZF9sb2NhbF9jYWNoZSogdGhyZWFk
X2xvY2FsX2NhY2hlLCBcCiAgICAgICAgIHVpbnRwdHJfdCBiZWdpbiwgXAotICAgICAgICBwYXNf
ZGVhbGxvY2F0aW9uX21vZGUgZGVhbGxvY2F0aW9uX21vZGUpCisgICAgICAgIHBhc19kZWFsbG9j
YXRpb25fbW9kZSBkZWFsbG9jYXRpb25fbW9kZSwgXAorICAgICAgICBwYXNfZmFzdF9tZWdhcGFn
ZV9raW5kIG1lZ2FwYWdlX2tpbmQpCiAKIHN0YXRpYyBQQVNfQUxXQVlTX0lOTElORSBwYXNfc2Vn
cmVnYXRlZF9wYWdlX2NvbmZpZyoKIHBhc19oZWFwX2NvbmZpZ19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX3B0cl9mb3JfdmFyaWFudCgKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19oZWFwX2NvbmZpZ19pbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfY29uZmlnX2lubGluZXMuaAkocmV2aXNpb24g
Mjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfY29u
ZmlnX2lubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtODUsMTMgKzg1LDE0IEBAIFBBU19CRUdJ
Tl9FWFRFUk5fQzsKICAgICAgICAgICAgIHJ1bnRpbWVfY29uZmlnLCBhbGxvY2F0b3JfY291bnRz
LCBzaXplX2xvb2t1cF9tb2RlKTsgXAogICAgIH0gXAogICAgIFwKLSAgICBib29sIGxvd2VyX2Nh
c2VfaGVhcF9jb25maWdfbmFtZSAjIyBfc3BlY2lhbGl6ZWRfdHJ5X2RlYWxsb2NhdGVfbm90X3Nt
YWxsKCBcCisgICAgYm9vbCBsb3dlcl9jYXNlX2hlYXBfY29uZmlnX25hbWUgIyMgX3NwZWNpYWxp
emVkX3RyeV9kZWFsbG9jYXRlX25vdF9zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZCggXAogICAg
ICAgICBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlKiB0aHJlYWRfbG9jYWxfY2FjaGUsIFwKICAgICAg
ICAgdWludHB0cl90IGJlZ2luLCBcCi0gICAgICAgIHBhc19kZWFsbG9jYXRpb25fbW9kZSBkZWFs
bG9jYXRpb25fbW9kZSkgXAorICAgICAgICBwYXNfZGVhbGxvY2F0aW9uX21vZGUgZGVhbGxvY2F0
aW9uX21vZGUsIFwKKyAgICAgICAgcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZCBtZWdhcGFnZV9raW5k
KSBcCiAgICAgeyBcCi0gICAgICAgIHJldHVybiBwYXNfdHJ5X2RlYWxsb2NhdGVfbm90X3NtYWxs
KCBcCi0gICAgICAgICAgICB0aHJlYWRfbG9jYWxfY2FjaGUsIGJlZ2luLCAoaGVhcF9jb25maWdf
dmFsdWUpLCBkZWFsbG9jYXRpb25fbW9kZSk7IFwKKyAgICAgICAgcmV0dXJuIHBhc190cnlfZGVh
bGxvY2F0ZV9ub3Rfc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWQoIFwKKyAgICAgICAgICAgIHRo
cmVhZF9sb2NhbF9jYWNoZSwgYmVnaW4sIChoZWFwX2NvbmZpZ192YWx1ZSksIGRlYWxsb2NhdGlv
bl9tb2RlLCBtZWdhcGFnZV9raW5kKTsgXAogICAgIH0gXAogICAgIFwKICAgICBzdHJ1Y3QgcGFz
X2R1bW15CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9j
b25maWdfa2luZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19oZWFwX2NvbmZpZ19raW5kLmMJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ19raW5kLmMJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDYgKzMyLDE5IEBACiAjaW5jbHVkZSAicGFzX2FsbF9oZWFwX2NvbmZpZ3Mu
aCIKICNpbmNsdWRlICJwYXNfaGVhcF9sb2NrLmgiCiAKK2NvbnN0IGNoYXIqIHBhc19oZWFwX2Nv
bmZpZ19raW5kX2dldF9zdHJpbmcocGFzX2hlYXBfY29uZmlnX2tpbmQga2luZCkKK3sKKyAgICBz
d2l0Y2ggKGtpbmQpIHsKKyNkZWZpbmUgUEFTX0RFRklORV9IRUFQX0NPTkZJR19LSU5EKG5hbWUs
IHZhbHVlKSBcCisgICAgY2FzZSBwYXNfaGVhcF9jb25maWdfa2luZF8gIyMgbmFtZTogXAorICAg
ICAgICByZXR1cm4gI25hbWU7CisjaW5jbHVkZSAicGFzX2hlYXBfY29uZmlnX2tpbmQuZGVmIgor
I3VuZGVmIFBBU19ERUZJTkVfSEVBUF9DT05GSUdfS0lORAorICAgIH0KKyAgICBQQVNfQVNTRVJU
KCEiSW52YWxpZCBraW5kIik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKIFBBU19CRUdJTl9FWFRF
Uk5fQzsKIAogYm9vbCBwYXNfaGVhcF9jb25maWdfa2luZF9mb3JfZWFjaCgKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ19raW5kLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2hlYXBfY29uZmln
X2tpbmQuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9s
aWJwYXMvcGFzX2hlYXBfY29uZmlnX2tpbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTkgKzUw
LDcgQEAgZW51bSB7IHBhc19oZWFwX2NvbmZpZ19raW5kX251bV9raW5kcyA9CiAjdW5kZWYgUEFT
X0RFRklORV9IRUFQX0NPTkZJR19LSU5ECiB9OwogCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIq
Ci1wYXNfaGVhcF9jb25maWdfa2luZF9nZXRfc3RyaW5nKHBhc19oZWFwX2NvbmZpZ19raW5kIGtp
bmQpCi17Ci0gICAgc3dpdGNoIChraW5kKSB7Ci0jZGVmaW5lIFBBU19ERUZJTkVfSEVBUF9DT05G
SUdfS0lORChuYW1lLCB2YWx1ZSkgXAotICAgIGNhc2UgcGFzX2hlYXBfY29uZmlnX2tpbmRfICMj
IG5hbWU6IFwKLSAgICAgICAgcmV0dXJuICNuYW1lOwotI2luY2x1ZGUgInBhc19oZWFwX2NvbmZp
Z19raW5kLmRlZiIKLSN1bmRlZiBQQVNfREVGSU5FX0hFQVBfQ09ORklHX0tJTkQKLSAgICB9Ci0g
ICAgUEFTX0FTU0VSVCghIkludmFsaWQga2luZCIpOwotICAgIHJldHVybiBOVUxMOwotfQorUEFT
X0FQSSBjb25zdCBjaGFyKiBwYXNfaGVhcF9jb25maWdfa2luZF9nZXRfc3RyaW5nKHBhc19oZWFw
X2NvbmZpZ19raW5kIGtpbmQpOwogCiB0eXBlZGVmIGJvb2wgKCpwYXNfaGVhcF9jb25maWdfa2lu
ZF9jYWxsYmFjaykocGFzX2hlYXBfY29uZmlnX2tpbmQga2luZCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfaGVhcF9jb25maWcqIGNvbmZpZywKSW5k
ZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGls
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19o
ZWFwX2NvbmZpZ191dGlscy5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9s
aWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHMuaAkod29ya2luZyBjb3B5KQpA
QCAtNzAsNyArNzAsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgIHVpbnQ4X3Qgc21hbGxfc2Vn
cmVnYXRlZF9zaGFyaW5nX3NoaWZ0OwogICAgIHNpemVfdCBzbWFsbF9zZWdyZWdhdGVkX3BhZ2Vf
c2l6ZTsKICAgICBkb3VibGUgc21hbGxfc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNhcDsKLSAg
ICBib29sIHNtYWxsX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0
aW1pemF0aW9uOworICAgIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUg
c21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlOworICAgIHBhc19zZWdyZWdh
dGVkX2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUgc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9n
Z2luZ19tb2RlOworICAgIGJvb2wgc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfZW5hYmxlX2Vt
cHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uOworICAgIGJvb2wgc21hbGxfc2hhcmVk
X3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uOwog
ICAgIGJvb2wgc21hbGxfc2VncmVnYXRlZF91c2VfcmV2ZXJzZWRfY3VycmVudF93b3JkOwogICAg
IGJvb2wgZW5hYmxlX3ZpZXdfY2FjaGU7CiAgICAgYm9vbCB1c2Vfc21hbGxfYml0Zml0OwpAQCAt
ODIsNiArODUsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgdWludDhfdCBtZWRpdW1fc2VncmVn
YXRlZF9taW5fYWxpZ25fc2hpZnQ7CiAgICAgdWludDhfdCBtZWRpdW1fc2VncmVnYXRlZF9zaGFy
aW5nX3NoaWZ0OwogICAgIGRvdWJsZSBtZWRpdW1fc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNh
cDsKKyAgICBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlIG1lZGl1bV9l
eGNsdXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21vZGU7CisgICAgcGFzX3NlZ3JlZ2F0ZWRfZGVh
bGxvY2F0aW9uX2xvZ2dpbmdfbW9kZSBtZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfbG9nZ2luZ19t
b2RlOwogICAgIGJvb2wgdXNlX21lZGl1bV9iaXRmaXQ7CiAgICAgdWludDhfdCBtZWRpdW1fYml0
Zml0X21pbl9hbGlnbl9zaGlmdDsKICAgICBib29sIHVzZV9tYXJnZV9iaXRmaXQ7CkBAIC05NSw3
ICsxMDAsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAgICAuaXNfZW5hYmxlZCA9IHRy
dWUsIFwKICAgICAgICAgICAgIC5oZWFwX2NvbmZpZ19wdHIgPSAmbmFtZSAjIyBfaGVhcF9jb25m
aWcsIFwKICAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19wdHIgPSAmbmFtZSAjIyBfaGVhcF9jb25m
aWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcuYmFzZSwgXAotICAgICAgICAgICAgLnBhZ2Vfa2lu
ZCA9IHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfa2luZCwgXAorICAgICAgICAgICAgLnBhZ2Vf
Y29uZmlnX2tpbmQgPSBwYXNfcGFnZV9jb25maWdfa2luZF9zZWdyZWdhdGVkLCBcCiAgICAgICAg
ICAgICAubWluX2FsaWduX3NoaWZ0ID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hl
YXBfY29uZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS5zbWFsbF9zZWdyZWdhdGVkX21pbl9h
bGlnbl9zaGlmdCwgXAogICAgICAgICAgICAgLnBhZ2Vfc2l6ZSA9IFwKQEAgLTEyMSw3ICsxMjYs
NiBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9j
b25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLnNtYWxsX3NlZ3JlZ2F0ZWRfbWluX2FsaWdu
X3NoaWZ0LCBcCiAgICAgICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1l
bnRzKXtfX1ZBX0FSR1NfX30pLnNtYWxsX3NlZ3JlZ2F0ZWRfcGFnZV9zaXplLCBcCiAgICAgICAg
ICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30p
LnNtYWxsX3NlZ3JlZ2F0ZWRfcGFnZV9zaXplKSwgXAotICAgICAgICAgICAgLnBhZ2VfYWxsb2Nh
dG9yID0gbmFtZSAjIyBfaGVhcF9jb25maWdfYWxsb2NhdGVfc21hbGxfc2VncmVnYXRlZF9wYWdl
LCBcCiAgICAgICAgICAgICAuY3JlYXRlX3BhZ2VfaGVhZGVyID0gbmFtZSAjIyBfc21hbGxfc2Vn
cmVnYXRlZF9jcmVhdGVfcGFnZV9oZWFkZXIsIFwKICAgICAgICAgICAgIC5kZXN0cm95X3BhZ2Vf
aGVhZGVyID0gbmFtZSAjIyBfc21hbGxfc2VncmVnYXRlZF9kZXN0cm95X3BhZ2VfaGVhZGVyIFwK
ICAgICAgICAgfSwgXApAQCAtMTM0LDE0ICsxMzgsMjAgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgICAubnVtX2FsbG9jX2JpdHMgPSBQQVNfQkFTSUNfU0VHUkVHQVRFRF9OVU1fQUxMT0NfQklU
UyggXAogICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZB
X0FSR1NfX30pLnNtYWxsX3NlZ3JlZ2F0ZWRfbWluX2FsaWduX3NoaWZ0LCBcCiAgICAgICAgICAg
ICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkuc21hbGxf
c2VncmVnYXRlZF9wYWdlX3NpemUpLCBcCi0gICAgICAgIC5kZWFsbG9jX2Z1bmMgPSBuYW1lICMj
IF9zbWFsbF9zZWdyZWdhdGVkX2RlYWxsb2NfZnVuYywgXAorICAgICAgICAuc2hhcmVkX2xvZ2dp
bmdfbW9kZSA9IFwKKyAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2FyZ3VtZW50
cyl7X19WQV9BUkdTX199KS5zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUsIFwK
KyAgICAgICAgLmV4Y2x1c2l2ZV9sb2dnaW5nX21vZGUgPSBcCisgICAgICAgICAgICAoKHBhc19i
YXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkuc21hbGxfZXhjbHVzaXZl
X3NlZ3JlZ2F0ZWRfbG9nZ2luZ19tb2RlLCBcCiAgICAgICAgIC51c2VfcmV2ZXJzZWRfY3VycmVu
dF93b3JkID0gXAogICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRz
KXtfX1ZBX0FSR1NfX30pLnNtYWxsX3NlZ3JlZ2F0ZWRfdXNlX3JldmVyc2VkX2N1cnJlbnRfd29y
ZCwgXAogICAgICAgICAuY2hlY2tfZGVhbGxvY2F0aW9uID0gKChwYXNfYmFzaWNfaGVhcF9jb25m
aWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLmNoZWNrX2RlYWxsb2NhdGlvbiwgXAotICAgICAg
ICAuZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gXAotICAgICAg
ICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLnNt
YWxsX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9u
LCBcCisgICAgICAgIC5lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb25f
Zm9yX3NoYXJlZCA9IFwKKyAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2FyZ3Vt
ZW50cyl7X19WQV9BUkdTX199KS5zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9lbmFibGVfZW1wdHlf
d29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24sIFwKKyAgICAgICAgLmVuYWJsZV9lbXB0eV93
b3JkX2VsaWdpYmlsaXR5X29wdGltaXphdGlvbl9mb3JfZXhjbHVzaXZlID0gXAorICAgICAgICAg
ICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLnNtYWxs
X2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmlsaXR5X29wdGlt
aXphdGlvbiwgXAogICAgICAgICAuZW5hYmxlX3ZpZXdfY2FjaGUgPSBcCiAgICAgICAgICAgICAo
KHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkuZW5hYmxlX3Zp
ZXdfY2FjaGUsIFwKKyAgICAgICAgLnBhZ2VfYWxsb2NhdG9yID0gbmFtZSAjIyBfaGVhcF9jb25m
aWdfYWxsb2NhdGVfc21hbGxfc2VncmVnYXRlZF9wYWdlLCBcCiAgICAgICAgIC5zaGFyZWRfcGFn
ZV9kaXJlY3Rvcnlfc2VsZWN0b3IgPSBcCiAgICAgICAgICAgICBuYW1lICMjIF9zbWFsbF9zZWdy
ZWdhdGVkX3BhZ2VfY29uZmlnX3NlbGVjdF9zaGFyZWRfcGFnZV9kaXJlY3RvcnksIFwKICAgICAg
ICAgUEFTX1NFR1JFR0FURURfUEFHRV9DT05GSUdfU1BFQ0lBTElaQVRJT05TKG5hbWUgIyMgX3Nt
YWxsX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcpIFwKQEAgLTE1Miw3ICsxNjIsNyBAQCB0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1l
bnRzKXtfX1ZBX0FSR1NfX30pLnVzZV9tZWRpdW1fc2VncmVnYXRlZCwgXAogICAgICAgICAgICAg
LmhlYXBfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZywgXAogICAgICAgICAgICAg
LnBhZ2VfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZy5tZWRpdW1fc2VncmVnYXRl
ZF9jb25maWcuYmFzZSwgXAotICAgICAgICAgICAgLnBhZ2Vfa2luZCA9IHBhc19tZWRpdW1fc2Vn
cmVnYXRlZF9wYWdlX2tpbmQsIFwKKyAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19raW5kID0gcGFz
X3BhZ2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZCwgXAogICAgICAgICAgICAgLm1pbl9hbGlnbl9z
aGlmdCA9IFwKICAgICAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVu
dHMpe19fVkFfQVJHU19ffSkubWVkaXVtX3NlZ3JlZ2F0ZWRfbWluX2FsaWduX3NoaWZ0LCBcCiAg
ICAgICAgICAgICAucGFnZV9zaXplID0gXApAQCAtMTcyLDcgKzE4Miw2IEBAIHR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICAgICAgIC5wYWdlX29iamVjdF9wYXlsb2FkX29mZnNldCA9IDAsIFwKICAg
ICAgICAgICAgIC5wYWdlX29iamVjdF9wYXlsb2FkX3NpemUgPSBcCiAgICAgICAgICAgICAgICAg
KChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLm1lZGl1bV9w
YWdlX3NpemUsIFwKLSAgICAgICAgICAgIC5wYWdlX2FsbG9jYXRvciA9IG5hbWUgIyMgX2hlYXBf
Y29uZmlnX2FsbG9jYXRlX21lZGl1bV9zZWdyZWdhdGVkX3BhZ2UsIFwKICAgICAgICAgICAgIC5j
cmVhdGVfcGFnZV9oZWFkZXIgPSBuYW1lICMjIF9tZWRpdW1fc2VncmVnYXRlZF9jcmVhdGVfcGFn
ZV9oZWFkZXIsIFwKICAgICAgICAgICAgIC5kZXN0cm95X3BhZ2VfaGVhZGVyID0gbmFtZSAjIyBf
bWVkaXVtX3NlZ3JlZ2F0ZWRfZGVzdHJveV9wYWdlX2hlYWRlciBcCiAgICAgICAgIH0sIFwKQEAg
LTE4NSwxMiArMTk0LDE3IEBAIHR5cGVkZWYgc3RydWN0IHsKICAgICAgICAgLm51bV9hbGxvY19i
aXRzID0gUEFTX0JBU0lDX1NFR1JFR0FURURfTlVNX0FMTE9DX0JJVFMoIFwKICAgICAgICAgICAg
ICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS5tZWRpdW1f
c2VncmVnYXRlZF9taW5fYWxpZ25fc2hpZnQsIFwKICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hl
YXBfY29uZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS5tZWRpdW1fcGFnZV9zaXplKSwgXAot
ICAgICAgICAuZGVhbGxvY19mdW5jID0gbmFtZSAjIyBfbWVkaXVtX3NlZ3JlZ2F0ZWRfZGVhbGxv
Y19mdW5jLCBcCisgICAgICAgIC5zaGFyZWRfbG9nZ2luZ19tb2RlID0gXAorICAgICAgICAgICAg
KChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLm1lZGl1bV9z
aGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUsIFwKKyAgICAgICAgLmV4Y2x1c2l2ZV9sb2dn
aW5nX21vZGUgPSBcCisgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVu
dHMpe19fVkFfQVJHU19ffSkubWVkaXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2xvZ2dpbmdfbW9k
ZSwgXAogICAgICAgICAudXNlX3JldmVyc2VkX2N1cnJlbnRfd29yZCA9IGZhbHNlLCBcCiAgICAg
ICAgIC5jaGVja19kZWFsbG9jYXRpb24gPSAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVu
dHMpe19fVkFfQVJHU19ffSkuY2hlY2tfZGVhbGxvY2F0aW9uLCBcCi0gICAgICAgIC5lbmFibGVf
ZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24gPSBmYWxzZSwgXAorICAgICAgICAu
ZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uX2Zvcl9zaGFyZWQgPSBm
YWxzZSwgXAorICAgICAgICAuZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0
aW9uX2Zvcl9leGNsdXNpdmUgPSBmYWxzZSwgXAogICAgICAgICAuZW5hYmxlX3ZpZXdfY2FjaGUg
PSBcCiAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFf
QVJHU19ffSkuZW5hYmxlX3ZpZXdfY2FjaGUsIFwKKyAgICAgICAgLnBhZ2VfYWxsb2NhdG9yID0g
bmFtZSAjIyBfaGVhcF9jb25maWdfYWxsb2NhdGVfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZSwgXAog
ICAgICAgICAuc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X3NlbGVjdG9yID0gXAogICAgICAgICAgICAg
bmFtZSAjIyBfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfc2VsZWN0X3NoYXJlZF9wYWdl
X2RpcmVjdG9yeSwgXAogICAgICAgICBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19TUEVDSUFM
SVpBVElPTlMobmFtZSAjIyBfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcpIFwKQEAgLTIw
MSw3ICsyMTUsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAgICAgICAgKChwYXNfYmFz
aWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pLnVzZV9zbWFsbF9iaXRmaXQs
IFwKICAgICAgICAgICAgIC5oZWFwX2NvbmZpZ19wdHIgPSAmbmFtZSAjIyBfaGVhcF9jb25maWcs
IFwKICAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19wdHIgPSAmbmFtZSAjIyBfaGVhcF9jb25maWcu
c21hbGxfYml0Zml0X2NvbmZpZy5iYXNlLCBcCi0gICAgICAgICAgICAucGFnZV9raW5kID0gcGFz
X3NtYWxsX2JpdGZpdF9wYWdlX2tpbmQsIFwKKyAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19raW5k
ID0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfYml0Zml0LCBcCiAgICAgICAgICAgICAubWluX2FsaWdu
X3NoaWZ0ID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2FyZ3Vt
ZW50cyl7X19WQV9BUkdTX199KS5zbWFsbF9iaXRmaXRfbWluX2FsaWduX3NoaWZ0LCBcCiAgICAg
ICAgICAgICAucGFnZV9zaXplID0gXApAQCAtMjMyLDEyICsyNDYsMTIgQEAgdHlwZWRlZiBzdHJ1
Y3QgewogICAgICAgICAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVu
dHMpe19fVkFfQVJHU19ffSkuc21hbGxfYml0Zml0X3BhZ2Vfc2l6ZSwgXAogICAgICAgICAgICAg
ICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19ffSku
c21hbGxfYml0Zml0X3BhZ2Vfc2l6ZSwgXAogICAgICAgICAgICAgICAgICAgICAoKHBhc19iYXNp
Y19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkuc21hbGxfYml0Zml0X21pbl9h
bGlnbl9zaGlmdCksIFwKLSAgICAgICAgICAgIC5wYWdlX2FsbG9jYXRvciA9IG5hbWUgIyMgX2hl
YXBfY29uZmlnX2FsbG9jYXRlX3NtYWxsX2JpdGZpdF9wYWdlLCBcCiAgICAgICAgICAgICAuY3Jl
YXRlX3BhZ2VfaGVhZGVyID0gbmFtZSAjIyBfc21hbGxfYml0Zml0X2NyZWF0ZV9wYWdlX2hlYWRl
ciwgXAogICAgICAgICAgICAgLmRlc3Ryb3lfcGFnZV9oZWFkZXIgPSBuYW1lICMjIF9zbWFsbF9i
aXRmaXRfZGVzdHJveV9wYWdlX2hlYWRlciBcCiAgICAgICAgIH0sIFwKICAgICAgICAgLnZhcmlh
bnQgPSBwYXNfc21hbGxfYml0Zml0X3BhZ2VfY29uZmlnX3ZhcmlhbnQsIFwKICAgICAgICAgLmtp
bmQgPSBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmRfICMjIG5hbWUgIyMgX3NtYWxsX2JpdGZp
dCwgXAorICAgICAgICAucGFnZV9hbGxvY2F0b3IgPSBuYW1lICMjIF9oZWFwX2NvbmZpZ19hbGxv
Y2F0ZV9zbWFsbF9iaXRmaXRfcGFnZSwgXAogICAgICAgICBQQVNfQklURklUX1BBR0VfQ09ORklH
X1NQRUNJQUxJWkFUSU9OUyhuYW1lICMjIF9zbWFsbF9iaXRmaXRfcGFnZV9jb25maWcpIFwKICAg
ICB9LCBcCiAgICAgLm1lZGl1bV9iaXRmaXRfY29uZmlnID0geyBcCkBAIC0yNDYsNyArMjYwLDcg
QEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29u
ZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS51c2VfbWVkaXVtX2JpdGZpdCwgXAogICAgICAg
ICAgICAgLmhlYXBfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZywgXAogICAgICAg
ICAgICAgLnBhZ2VfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZy5tZWRpdW1fYml0
Zml0X2NvbmZpZy5iYXNlLCBcCi0gICAgICAgICAgICAucGFnZV9raW5kID0gcGFzX21lZGl1bV9i
aXRmaXRfcGFnZV9raW5kLCBcCisgICAgICAgICAgICAucGFnZV9jb25maWdfa2luZCA9IHBhc19w
YWdlX2NvbmZpZ19raW5kX2JpdGZpdCwgXAogICAgICAgICAgICAgLm1pbl9hbGlnbl9zaGlmdCA9
IFwKICAgICAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19hcmd1bWVudHMpe19f
VkFfQVJHU19ffSkubWVkaXVtX2JpdGZpdF9taW5fYWxpZ25fc2hpZnQsIFwKICAgICAgICAgICAg
IC5wYWdlX3NpemUgPSBcCkBAIC0yNjYsMTIgKzI4MCwxMiBAQCB0eXBlZGVmIHN0cnVjdCB7CiAg
ICAgICAgICAgICAucGFnZV9vYmplY3RfcGF5bG9hZF9vZmZzZXQgPSAwLCBcCiAgICAgICAgICAg
ICAucGFnZV9vYmplY3RfcGF5bG9hZF9zaXplID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jh
c2ljX2hlYXBfY29uZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS5tZWRpdW1fcGFnZV9zaXpl
LCBcCi0gICAgICAgICAgICAucGFnZV9hbGxvY2F0b3IgPSBuYW1lICMjIF9oZWFwX2NvbmZpZ19h
bGxvY2F0ZV9tZWRpdW1fYml0Zml0X3BhZ2UsIFwKICAgICAgICAgICAgIC5jcmVhdGVfcGFnZV9o
ZWFkZXIgPSBuYW1lICMjIF9tZWRpdW1fYml0Zml0X2NyZWF0ZV9wYWdlX2hlYWRlciwgXAogICAg
ICAgICAgICAgLmRlc3Ryb3lfcGFnZV9oZWFkZXIgPSBuYW1lICMjIF9tZWRpdW1fYml0Zml0X2Rl
c3Ryb3lfcGFnZV9oZWFkZXIgXAogICAgICAgICB9LCBcCiAgICAgICAgIC52YXJpYW50ID0gcGFz
X21lZGl1bV9iaXRmaXRfcGFnZV9jb25maWdfdmFyaWFudCwgXAogICAgICAgICAua2luZCA9IHBh
c19iaXRmaXRfcGFnZV9jb25maWdfa2luZF8gIyMgbmFtZSAjIyBfbWVkaXVtX2JpdGZpdCwgXAor
ICAgICAgICAucGFnZV9hbGxvY2F0b3IgPSBuYW1lICMjIF9oZWFwX2NvbmZpZ19hbGxvY2F0ZV9t
ZWRpdW1fYml0Zml0X3BhZ2UsIFwKICAgICAgICAgUEFTX0JJVEZJVF9QQUdFX0NPTkZJR19TUEVD
SUFMSVpBVElPTlMobmFtZSAjIyBfbWVkaXVtX2JpdGZpdF9wYWdlX2NvbmZpZykgXAogICAgIH0s
IFwKICAgICAubWFyZ2VfYml0Zml0X2NvbmZpZyA9IHsgXApAQCAtMjgwLDcgKzI5NCw3IEBAIHR5
cGVkZWYgc3RydWN0IHsKICAgICAgICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19h
cmd1bWVudHMpe19fVkFfQVJHU19ffSkudXNlX21hcmdlX2JpdGZpdCwgXAogICAgICAgICAgICAg
LmhlYXBfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZywgXAogICAgICAgICAgICAg
LnBhZ2VfY29uZmlnX3B0ciA9ICZuYW1lICMjIF9oZWFwX2NvbmZpZy5tYXJnZV9iaXRmaXRfY29u
ZmlnLmJhc2UsIFwKLSAgICAgICAgICAgIC5wYWdlX2tpbmQgPSBwYXNfbWFyZ2VfYml0Zml0X3Bh
Z2Vfa2luZCwgXAorICAgICAgICAgICAgLnBhZ2VfY29uZmlnX2tpbmQgPSBwYXNfcGFnZV9jb25m
aWdfa2luZF9iaXRmaXQsIFwKICAgICAgICAgICAgIC5taW5fYWxpZ25fc2hpZnQgPSBcCiAgICAg
ICAgICAgICAgICAgKChwYXNfYmFzaWNfaGVhcF9jb25maWdfYXJndW1lbnRzKXtfX1ZBX0FSR1Nf
X30pLm1hcmdlX2JpdGZpdF9taW5fYWxpZ25fc2hpZnQsIFwKICAgICAgICAgICAgIC5wYWdlX3Np
emUgPSBcCkBAIC0zMDAsMTIgKzMxNCwxMiBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgICAg
ICAucGFnZV9vYmplY3RfcGF5bG9hZF9vZmZzZXQgPSAwLCBcCiAgICAgICAgICAgICAucGFnZV9v
YmplY3RfcGF5bG9hZF9zaXplID0gXAogICAgICAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBf
Y29uZmlnX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KS5tYXJnZV9iaXRmaXRfcGFnZV9zaXplLCBc
Ci0gICAgICAgICAgICAucGFnZV9hbGxvY2F0b3IgPSBuYW1lICMjIF9oZWFwX2NvbmZpZ19hbGxv
Y2F0ZV9tYXJnZV9iaXRmaXRfcGFnZSwgXAogICAgICAgICAgICAgLmNyZWF0ZV9wYWdlX2hlYWRl
ciA9IG5hbWUgIyMgX21hcmdlX2JpdGZpdF9jcmVhdGVfcGFnZV9oZWFkZXIsIFwKICAgICAgICAg
ICAgIC5kZXN0cm95X3BhZ2VfaGVhZGVyID0gbmFtZSAjIyBfbWFyZ2VfYml0Zml0X2Rlc3Ryb3lf
cGFnZV9oZWFkZXIgXAogICAgICAgICB9LCBcCiAgICAgICAgIC52YXJpYW50ID0gcGFzX21hcmdl
X2JpdGZpdF9wYWdlX2NvbmZpZ192YXJpYW50LCBcCiAgICAgICAgIC5raW5kID0gcGFzX2JpdGZp
dF9wYWdlX2NvbmZpZ19raW5kXyAjIyBuYW1lICMjIF9tYXJnZV9iaXRmaXQsIFwKKyAgICAgICAg
LnBhZ2VfYWxsb2NhdG9yID0gbmFtZSAjIyBfaGVhcF9jb25maWdfYWxsb2NhdGVfbWFyZ2VfYml0
Zml0X3BhZ2UsIFwKICAgICAgICAgUEFTX0JJVEZJVF9QQUdFX0NPTkZJR19TUEVDSUFMSVpBVElP
TlMobmFtZSAjIyBfbWFyZ2VfYml0Zml0X3BhZ2VfY29uZmlnKSBcCiAgICAgfSwgXAogICAgIC5z
bWFsbF9sb29rdXBfc2l6ZV91cHBlcl9ib3VuZCA9IFBBU19TTUFMTF9MT09LVVBfU0laRV9VUFBF
Ul9CT1VORCwgXApAQCAtMzM3LDEzICszNTEsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
IFBBU19IRUFQX0NPTkZJR19TUEVDSUFMSVpBVElPTlMobmFtZSAjIyBfaGVhcF9jb25maWcpIFwK
ICAgICB9KQogCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgYm9vbCBzbWFsbF9zaXplX2F3YXJlX2xv
Z2dpbmc7Ci0gICAgYm9vbCBtZWRpdW1fc2l6ZV9hd2FyZV9sb2dnaW5nOwotICAgIGJvb2wgdmVy
aWZ5X2JlZm9yZV9sb2dnaW5nOwotfSBwYXNfYmFzaWNfaGVhcF9jb25maWdfZGVjbGFyYXRpb25z
X2FyZ3VtZW50czsKLQotI2RlZmluZSBQQVNfQkFTSUNfSEVBUF9DT05GSUdfU0VHUkVHQVRFRF9I
RUFQX0RFQ0xBUkFUSU9OUyhuYW1lLCB1cGNhc2VfbmFtZSwgLi4uKSBcCisjZGVmaW5lIFBBU19C
QVNJQ19IRUFQX0NPTkZJR19TRUdSRUdBVEVEX0hFQVBfREVDTEFSQVRJT05TKG5hbWUsIHVwY2Fz
ZV9uYW1lKSBcCiAgICAgUEFTX0JBU0lDX1NFR1JFR0FURURfUEFHRV9DT05GSUdfRk9SV0FSRF9E
RUNMQVJBVElPTlMobmFtZSAjIyBfc21hbGxfc2VncmVnYXRlZCk7IFwKICAgICBQQVNfQkFTSUNf
U0VHUkVHQVRFRF9QQUdFX0NPTkZJR19GT1JXQVJEX0RFQ0xBUkFUSU9OUyhuYW1lICMjIF9tZWRp
dW1fc2VncmVnYXRlZCk7IFwKICAgICBQQVNfQkFTSUNfQklURklUX1BBR0VfQ09ORklHX0ZPUldB
UkRfREVDTEFSQVRJT05TKG5hbWUgIyMgX3NtYWxsX2JpdGZpdCk7IFwKQEAgLTM2MSwxMSArMzY5
LDEzIEBAIHR5cGVkZWYgc3RydWN0IHsKICAgICBQQVNfQVBJIGV4dGVybiBwYXNfYmFzaWNfaGVh
cF9jb25maWdfcm9vdF9kYXRhIG5hbWUgIyMgX3Jvb3RfZGF0YTsgXAogICAgIFwKICAgICBQQVNf
QVBJIHZvaWQqIG5hbWUgIyMgX2hlYXBfY29uZmlnX2FsbG9jYXRlX3NtYWxsX3NlZ3JlZ2F0ZWRf
cGFnZSggXAotICAgICAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBoZWFwLCBwYXNfcGh5c2ljYWxf
bWVtb3J5X3RyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbik7IFwKKyAgICAgICAgcGFzX3NlZ3JlZ2F0
ZWRfaGVhcCogaGVhcCwgcGFzX3BoeXNpY2FsX21lbW9yeV90cmFuc2FjdGlvbiogdHJhbnNhY3Rp
b24sIFwKKyAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlIHJvbGUpOyBcCiAgICAgUEFT
X0FQSSB2b2lkKiBuYW1lICMjIF9oZWFwX2NvbmZpZ19hbGxvY2F0ZV9zbWFsbF9iaXRmaXRfcGFn
ZSggXAogICAgICAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBoZWFwLCBwYXNfcGh5c2ljYWxfbWVt
b3J5X3RyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbik7IFwKICAgICBQQVNfQVBJIHZvaWQqIG5hbWUg
IyMgX2hlYXBfY29uZmlnX2FsbG9jYXRlX21lZGl1bV9zZWdyZWdhdGVkX3BhZ2UoIFwKLSAgICAg
ICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCogaGVhcCwgcGFzX3BoeXNpY2FsX21lbW9yeV90cmFuc2Fj
dGlvbiogdHJhbnNhY3Rpb24pOyBcCisgICAgICAgIHBhc19zZWdyZWdhdGVkX2hlYXAqIGhlYXAs
IHBhc19waHlzaWNhbF9tZW1vcnlfdHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBcCisgICAgICAg
IHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKTsgXAogICAgIFBBU19BUEkgdm9pZCogbmFt
ZSAjIyBfaGVhcF9jb25maWdfYWxsb2NhdGVfbWVkaXVtX2JpdGZpdF9wYWdlKCBcCiAgICAgICAg
IHBhc19zZWdyZWdhdGVkX2hlYXAqIGhlYXAsIHBhc19waHlzaWNhbF9tZW1vcnlfdHJhbnNhY3Rp
b24qIHRyYW5zYWN0aW9uKTsgXAogICAgIFBBU19BUEkgdm9pZCogbmFtZSAjIyBfaGVhcF9jb25m
aWdfYWxsb2NhdGVfbWFyZ2VfYml0Zml0X3BhZ2UoIFwKQEAgLTQxOCwxOCArNDI4LDEwIEBAIHR5
cGVkZWYgc3RydWN0IHsKICAgICBQQVNfQkFTSUNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19ERUNM
QVJBVElPTlMoIFwKICAgICAgICAgbmFtZSAjIyBfc21hbGxfc2VncmVnYXRlZCwgKHVwY2FzZV9u
YW1lICMjIF9IRUFQX0NPTkZJRykuc21hbGxfc2VncmVnYXRlZF9jb25maWcsIFwKICAgICAgICAg
LmhlYWRlcl9wbGFjZW1lbnRfbW9kZSA9IHBhc19wYWdlX2hlYWRlcl9hdF9oZWFkX29mX3BhZ2Us
IFwKLSAgICAgICAgLnNpemVfYXdhcmVfbG9nZ2luZyA9IFwKLSAgICAgICAgICAgICgocGFzX2Jh
c2ljX2hlYXBfY29uZmlnX2RlY2xhcmF0aW9uc19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkuc21h
bGxfc2l6ZV9hd2FyZV9sb2dnaW5nLCBcCi0gICAgICAgIC52ZXJpZnlfYmVmb3JlX2xvZ2dpbmcg
PSBcCi0gICAgICAgICAgICAoKHBhc19iYXNpY19oZWFwX2NvbmZpZ19kZWNsYXJhdGlvbnNfYXJn
dW1lbnRzKXtfX1ZBX0FSR1NfX30pLnZlcmlmeV9iZWZvcmVfbG9nZ2luZywgXAogICAgICAgICAu
aGVhZGVyX3RhYmxlID0gTlVMTCk7IFwKICAgICBQQVNfQkFTSUNfU0VHUkVHQVRFRF9QQUdFX0NP
TkZJR19ERUNMQVJBVElPTlMoIFwKICAgICAgICAgbmFtZSAjIyBfbWVkaXVtX3NlZ3JlZ2F0ZWQs
ICh1cGNhc2VfbmFtZSAjIyBfSEVBUF9DT05GSUcpLm1lZGl1bV9zZWdyZWdhdGVkX2NvbmZpZywg
XAogICAgICAgICAuaGVhZGVyX3BsYWNlbWVudF9tb2RlID0gcGFzX3BhZ2VfaGVhZGVyX2luX3Rh
YmxlLCBcCi0gICAgICAgIC5zaXplX2F3YXJlX2xvZ2dpbmcgPSBcCi0gICAgICAgICAgICAoKHBh
c19iYXNpY19oZWFwX2NvbmZpZ19kZWNsYXJhdGlvbnNfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30p
Lm1lZGl1bV9zaXplX2F3YXJlX2xvZ2dpbmcsIFwKLSAgICAgICAgLnZlcmlmeV9iZWZvcmVfbG9n
Z2luZyA9IFwKLSAgICAgICAgICAgICgocGFzX2Jhc2ljX2hlYXBfY29uZmlnX2RlY2xhcmF0aW9u
c19hcmd1bWVudHMpe19fVkFfQVJHU19ffSkudmVyaWZ5X2JlZm9yZV9sb2dnaW5nLCBcCiAgICAg
ICAgIC5oZWFkZXJfdGFibGUgPSAmbmFtZSAjIyBfbWVkaXVtX3BhZ2VfaGVhZGVyX3RhYmxlKTsg
XAogICAgIFwKICAgICBQQVNfQkFTSUNfQklURklUX1BBR0VfQ09ORklHX0RFQ0xBUkFUSU9OUygg
XApAQCAtNDQ3LDE0ICs0NDksMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgIFwKICAgICBzdHJ1
Y3QgcGFzX2R1bW15CiAKLSNkZWZpbmUgUEFTX0JBU0lDX0hFQVBfQ09ORklHX0RFQ0xBUkFUSU9O
UyhuYW1lLCB1cGNhc2VfbmFtZSwgLi4uKSBcCisjZGVmaW5lIFBBU19CQVNJQ19IRUFQX0NPTkZJ
R19ERUNMQVJBVElPTlMobmFtZSwgdXBjYXNlX25hbWUpIFwKICAgICBQQVNfQVBJIHBhc19hbGln
bmVkX2FsbG9jYXRpb25fcmVzdWx0IG5hbWUgIyMgX2FsaWduZWRfYWxsb2NhdG9yKCBcCiAgICAg
ICAgIHNpemVfdCBzaXplLCBcCiAgICAgICAgIHBhc19hbGlnbm1lbnQgYWxpZ25tZW50LCBcCiAg
ICAgICAgIHBhc19sYXJnZV9oZWFwKiBsYXJnZV9oZWFwLCBcCiAgICAgICAgIHBhc19oZWFwX2Nv
bmZpZyogY29uZmlnKTsgXAogICAgIFBBU19IRUFQX0NPTkZJR19TUEVDSUFMSVpBVElPTl9ERUNM
QVJBVElPTlMobmFtZSAjIyBfaGVhcF9jb25maWcpOyBcCi0gICAgUEFTX0JBU0lDX0hFQVBfQ09O
RklHX1NFR1JFR0FURURfSEVBUF9ERUNMQVJBVElPTlMobmFtZSwgdXBjYXNlX25hbWUsIF9fVkFf
QVJHU19fKQorICAgIFBBU19CQVNJQ19IRUFQX0NPTkZJR19TRUdSRUdBVEVEX0hFQVBfREVDTEFS
QVRJT05TKG5hbWUsIHVwY2FzZV9uYW1lKQogCiBQQVNfRU5EX0VYVEVSTl9DOwogCkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfaGVhcF9jb25maWdfdXRpbHNfaW5s
aW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19oZWFwX2NvbmZpZ191dGlsc19pbmxpbmVzLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19oZWFwX2NvbmZpZ191dGlsc19pbmxpbmVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MiwxMiArMTQyLDE1IEBAIHR5cGVkZWYgc3RydWN0IHsK
ICAgICB9OyBcCiAgICAgXAogICAgIHZvaWQqIG5hbWUgIyMgX2hlYXBfY29uZmlnX2FsbG9jYXRl
X3NtYWxsX3NlZ3JlZ2F0ZWRfcGFnZSggXAotICAgICAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBo
ZWFwLCBwYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbikgXAorICAg
ICAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBoZWFwLCBwYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5z
YWN0aW9uKiB0cmFuc2FjdGlvbiwgXAorICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUg
cm9sZSkgXAogICAgIHsgXAogICAgICAgICBwYXNfYmFzaWNfaGVhcF9jb25maWdfZGVmaW5pdGlv
bnNfYXJndW1lbnRzIGFyZ3VtZW50cyA9IHtfX1ZBX0FSR1NfX307IFwKICAgICAgICAgXAogICAg
ICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBwYWdlX2NvbmZpZzsgXAogICAgICAgICBw
YXNfYmFzaWNfaGVhcF9wYWdlX2NhY2hlcyogcGFnZV9jYWNoZXM7IFwKKyAgICAgICAgcGFzX21l
Z2FwYWdlX2NhY2hlKiBtZWdhcGFnZV9jYWNoZTsgXAorICAgICAgICBwYXNfZmFzdF9tZWdhcGFn
ZV9raW5kIG1lZ2FwYWdlX2tpbmQ7IFwKICAgICAgICAgdm9pZCogYWxsb2NhdGlvbjsgXAogICAg
ICAgICBcCiAgICAgICAgIHBhZ2VfY29uZmlnID0gdXBjYXNlX25hbWUgIyMgX0hFQVBfQ09ORklH
LnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnOyBcCkBAIC0xNTYsMTEgKzE1OSwyMiBAQCB0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgIFwKICAgICAgICAgcGFnZV9jYWNoZXMgPSAoKHBhc19iYXNpY19o
ZWFwX3J1bnRpbWVfY29uZmlnKiloZWFwLT5ydW50aW1lX2NvbmZpZyktPnBhZ2VfY2FjaGVzOyBc
CiAgICAgICAgIFwKKyAgICAgICAgc3dpdGNoIChyb2xlKSB7IFwKKyAgICAgICAgY2FzZSBwYXNf
c2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOiBcCisgICAgICAgICAgICBtZWdhcGFnZV9jYWNo
ZSA9ICZwYWdlX2NhY2hlcy0+c21hbGxfb3RoZXJfbWVnYXBhZ2VfY2FjaGU7IFwKKyAgICAgICAg
ICAgIG1lZ2FwYWdlX2tpbmQgPSBwYXNfc21hbGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kOyBc
CisgICAgICAgICAgICBicmVhazsgXAorICAgICAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
ZXhjbHVzaXZlX3JvbGU6IFwKKyAgICAgICAgICAgIG1lZ2FwYWdlX2NhY2hlID0gJnBhZ2VfY2Fj
aGVzLT5zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9tZWdhcGFnZV9jYWNoZTsgXAorICAgICAg
ICAgICAgbWVnYXBhZ2Vfa2luZCA9IHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9mYXN0
X21lZ2FwYWdlX2tpbmQ7IFwKKyAgICAgICAgICAgIGJyZWFrOyBcCisgICAgICAgIH0gXAorICAg
ICAgICBcCiAgICAgICAgIGFsbG9jYXRpb24gPSBwYXNfZmFzdF9tZWdhcGFnZV9jYWNoZV90cnlf
YWxsb2NhdGUoIFwKLSAgICAgICAgICAgICZwYWdlX2NhY2hlcy0+c21hbGxfc2VncmVnYXRlZF9t
ZWdhcGFnZV9jYWNoZSwgXAorICAgICAgICAgICAgbWVnYXBhZ2VfY2FjaGUsIFwKICAgICAgICAg
ICAgICZuYW1lICMjIF9tZWdhcGFnZV90YWJsZSwgXAogICAgICAgICAgICAgcGFnZV9jb25maWcu
YmFzZS5wYWdlX2NvbmZpZ19wdHIsIFwKLSAgICAgICAgICAgIHBhc19zbWFsbF9zZWdyZWdhdGVk
X2Zhc3RfbWVnYXBhZ2Vfa2luZCwgXAorICAgICAgICAgICAgbWVnYXBhZ2Vfa2luZCwgXAogICAg
ICAgICAgICAgYXJndW1lbnRzLmFsbG9jYXRlX3BhZ2Vfc2hvdWxkX3plcm8sIFwKICAgICAgICAg
ICAgIHBhc19oZWFwX2Zvcl9zZWdyZWdhdGVkX2hlYXAoaGVhcCksIFwKICAgICAgICAgICAgIHRy
YW5zYWN0aW9uKTsgXApAQCAtMTg0LDEwICsxOTgsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgICBwYWdlX2NhY2hlcyA9ICgocGFzX2Jhc2ljX2hlYXBfcnVudGltZV9jb25maWcqKWhlYXAt
PnJ1bnRpbWVfY29uZmlnKS0+cGFnZV9jYWNoZXM7IFwKICAgICAgICAgXAogICAgICAgICBhbGxv
Y2F0aW9uID0gcGFzX2Zhc3RfbWVnYXBhZ2VfY2FjaGVfdHJ5X2FsbG9jYXRlKCBcCi0gICAgICAg
ICAgICAmcGFnZV9jYWNoZXMtPnNtYWxsX2JpdGZpdF9tZWdhcGFnZV9jYWNoZSwgXAorICAgICAg
ICAgICAgJnBhZ2VfY2FjaGVzLT5zbWFsbF9vdGhlcl9tZWdhcGFnZV9jYWNoZSwgXAogICAgICAg
ICAgICAgJm5hbWUgIyMgX21lZ2FwYWdlX3RhYmxlLCBcCiAgICAgICAgICAgICBwYWdlX2NvbmZp
Zy5iYXNlLnBhZ2VfY29uZmlnX3B0ciwgXAotICAgICAgICAgICAgcGFzX3NtYWxsX2JpdGZpdF9m
YXN0X21lZ2FwYWdlX2tpbmQsIFwKKyAgICAgICAgICAgIHBhc19zbWFsbF9vdGhlcl9mYXN0X21l
Z2FwYWdlX2tpbmQsIFwKICAgICAgICAgICAgIGFyZ3VtZW50cy5hbGxvY2F0ZV9wYWdlX3Nob3Vs
ZF96ZXJvLCBcCiAgICAgICAgICAgICBwYXNfaGVhcF9mb3Jfc2VncmVnYXRlZF9oZWFwKGhlYXAp
LCBcCiAgICAgICAgICAgICB0cmFuc2FjdGlvbik7IFwKQEAgLTE5Niw3ICsyMTAsOCBAQCB0eXBl
ZGVmIHN0cnVjdCB7CiAgICAgfSBcCiAgICAgXAogICAgIHZvaWQqIG5hbWUgIyMgX2hlYXBfY29u
ZmlnX2FsbG9jYXRlX21lZGl1bV9zZWdyZWdhdGVkX3BhZ2UoIFwKLSAgICAgICAgcGFzX3NlZ3Jl
Z2F0ZWRfaGVhcCogaGVhcCwgcGFzX3BoeXNpY2FsX21lbW9yeV90cmFuc2FjdGlvbiogdHJhbnNh
Y3Rpb24pIFwKKyAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCogaGVhcCwgcGFzX3BoeXNpY2Fs
X21lbW9yeV90cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFwKKyAgICAgICAgcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9yb2xlIHJvbGUpIFwKICAgICB7IFwKICAgICAgICAgcGFzX2Jhc2ljX2hlYXBfY29u
ZmlnX2RlZmluaXRpb25zX2FyZ3VtZW50cyBhcmd1bWVudHMgPSB7X19WQV9BUkdTX199OyBcCiAg
ICAgICAgIFwKQEAgLTIwNCw2ICsyMTksOCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgIHBh
c19iYXNpY19oZWFwX3BhZ2VfY2FjaGVzKiBwYWdlX2NhY2hlczsgXAogICAgICAgICB2b2lkKiBh
bGxvY2F0aW9uOyBcCiAgICAgICAgIFwKKyAgICAgICAgUEFTX1VOVVNFRF9QQVJBTShyb2xlKTsg
XAorICAgICAgICBcCiAgICAgICAgIHBhZ2VfY29uZmlnID0gdXBjYXNlX25hbWUgIyMgX0hFQVBf
Q09ORklHLm1lZGl1bV9zZWdyZWdhdGVkX2NvbmZpZzsgXAogICAgICAgICBcCiAgICAgICAgIFBB
U19BU1NFUlQocGFnZV9jb25maWcuYmFzZS5pc19lbmFibGVkKTsgXApJbmRleDogU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX2ludGVybmFsX2NvbmZpZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19pbnRlcm5hbF9jb25maWcu
aAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2ludGVybmFsX2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw5ICs4Nyw2IEBACiAK
ICNkZWZpbmUgUEFTX01FRElVTV9TSEFSSU5HX1NISUZUICAgICAgICAgMwogCi0jZGVmaW5lIFBB
U19TTUFMTF9TSVpFX0FXQVJFX0xPR0dJTkcgICAgIGZhbHNlCi0jZGVmaW5lIFBBU19NRURJVU1f
U0laRV9BV0FSRV9MT0dHSU5HICAgIHRydWUKLQogI2RlZmluZSBQQVNfTUlOX09CSkVDVFNfUEVS
X1BBR0UgICAgICAgICA2CiAKIC8qIEV4cHJlc3NlcyB0aGUgcHJvYmFiaWxpdHkgdXNpbmcgaW50
ZWdlcnMgaW4gdGhlIHJhbmdlIDAuLlVJTlRfTUFYIChpbmNsdXNpdmUpICovCkBAIC0xNTAsNiAr
MTQ3LDggQEAKICNkZWZpbmUgUEFTX1NNQUxMX1NIQVJFRF9QQUdFX0xPR19TSElGVCAgICAgMAog
I2RlZmluZSBQQVNfTUVESVVNX1NIQVJFRF9QQUdFX0xPR19TSElGVCAgICAxCiAKKy8qIE11c3Qg
YmUgemVybzsgdXRpbGl0eSBkb2Vzbid0IHN1cHBvcnQgcGFydGlhbHMgcmlnaHQgbm93ICh0aG91
Z2ggaXQgY291bGQgaWYgd2UgaGFja2VkIGRlYWxsb2NhdGlvbiBhbmQKKyAgIGFkZGVkIGEgc2hh
cmVkIHBhZ2UgZGlyZWN0b3J5KS4gKi8KICNkZWZpbmUgUEFTX1VUSUxJVFlfQk9VTkRfRk9SX1BB
UlRJQUxfVklFV1MgICAgICAgICAgICAgICAgICAgICAwCiAjZGVmaW5lIFBBU19VVElMSVRZX0JP
VU5EX0ZPUl9CQVNFTElORV9BTExPQ0FUT1JTICAgICAgICAgICAgICAgMAogI2RlZmluZSBQQVNf
VVRJTElUWV9CT1VORF9GT1JfTk9fVklFV19DQUNIRSAgICAgICAgICAgICAgICAgICAgIFVJTlRf
TUFYCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9jYWxfYWxs
b2NhdG9yLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX2xvY2FsX2FsbG9jYXRvci5jCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxv
Yy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9jYWxfYWxsb2NhdG9yLmMJKHdvcmtpbmcgY29weSkK
QEAgLTU3LDE1ICs1NywzMSBAQCB2b2lkIHBhc19sb2NhbF9hbGxvY2F0b3JfY29uc3RydWN0KHBh
c19sCiAgICAgYWxsb2NhdG9yLT5vYmplY3Rfc2l6ZSA9IGRpcmVjdG9yeS0+b2JqZWN0X3NpemU7
CiAgICAgUEFTX0FTU0VSVChhbGxvY2F0b3ItPm9iamVjdF9zaXplKTsKICAgICBhbGxvY2F0b3It
PmFsaWdubWVudF9zaGlmdCA9IGRpcmVjdG9yeS0+YWxpZ25tZW50X3NoaWZ0OwotICAgIFBBU19B
U1NFUlQocGFzX2lzX2FsaWduZWQoYWxsb2NhdG9yLT5vYmplY3Rfc2l6ZSwgcGFzX2xvY2FsX2Fs
bG9jYXRvcl9hbGlnbm1lbnQoYWxsb2NhdG9yKSkpOworCisgICAgaWYgKCFwYXNfc2VncmVnYXRl
ZF9zaXplX2RpcmVjdG9yeV9pc19iaXRmaXQoZGlyZWN0b3J5KSkKKyAgICAgICAgUEFTX0FTU0VS
VChwYXNfaXNfYWxpZ25lZChhbGxvY2F0b3ItPm9iamVjdF9zaXplLCBwYXNfbG9jYWxfYWxsb2Nh
dG9yX2FsaWdubWVudChhbGxvY2F0b3IpKSk7CiAgICAgCiAgICAgYWxsb2NhdG9yLT5wYWdlX2lz
aCA9IDA7CiAgICAgYWxsb2NhdG9yLT5jdXJyZW50X29mZnNldCA9IDA7CiAgICAgYWxsb2NhdG9y
LT5lbmRfb2Zmc2V0ID0gMDsKICAgICAKICAgICBhbGxvY2F0b3ItPnZpZXcgPSBwYXNfc2VncmVn
YXRlZF9zaXplX2RpcmVjdG9yeV9hc192aWV3KGRpcmVjdG9yeSk7Ci0gICAgYWxsb2NhdG9yLT5j
b25maWdfa2luZCA9IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfY3JlYXRlX25vcm1h
bCgKLSAgICAgICAgZGlyZWN0b3J5LT5iYXNlLnBhZ2VfY29uZmlnX2tpbmQpOworCisgICAgaWYg
KHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2lzX2JpdGZpdChkaXJlY3RvcnkpKSB7Cisg
ICAgICAgIHBhc19iaXRmaXRfc2l6ZV9jbGFzcyogc2l6ZV9jbGFzczsKKyAgICAgICAgcGFzX2Jp
dGZpdF9hbGxvY2F0b3IqIGJpdGZpdF9hbGxvY2F0b3I7CisKKyAgICAgICAgc2l6ZV9jbGFzcyA9
IHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2dldF9iaXRmaXRfc2l6ZV9jbGFzcyhkaXJl
Y3RvcnkpOworICAgICAgICAKKyAgICAgICAgYWxsb2NhdG9yLT5jb25maWdfa2luZCA9IHBhc19s
b2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfY3JlYXRlX2JpdGZpdCgKKyAgICAgICAgICAgIHBh
c19jb21wYWN0X2JpdGZpdF9kaXJlY3RvcnlfcHRyX2xvYWRfbm9uX251bGwoJnNpemVfY2xhc3Mt
PmRpcmVjdG9yeSktPmNvbmZpZ19raW5kKTsKKworICAgICAgICBiaXRmaXRfYWxsb2NhdG9yID0g
cGFzX2xvY2FsX2FsbG9jYXRvcl9nZXRfYml0Zml0KGFsbG9jYXRvcik7CisgICAgICAgIGJpdGZp
dF9hbGxvY2F0b3ItPnNpemVfY2xhc3MgPSBzaXplX2NsYXNzOworICAgICAgICBiaXRmaXRfYWxs
b2NhdG9yLT52aWV3ID0gTlVMTDsKKyAgICB9IGVsc2UKKyAgICAgICAgYWxsb2NhdG9yLT5jb25m
aWdfa2luZCA9IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfY3JlYXRlX25vcm1hbChk
aXJlY3RvcnktPmJhc2UucGFnZV9jb25maWdfa2luZCk7CisgICAgCiAgICAgaWYgKHZlcmJvc2Up
IHsKICAgICAgICAgcGFzX2xvZygiYWxsb2NhdG9yICVwIGhhcyBraW5kICVzLCBlbmRzIGF0ICVw
XG4iLAogICAgICAgICAgICAgICAgIGFsbG9jYXRvciwgcGFzX2xvY2FsX2FsbG9jYXRvcl9jb25m
aWdfa2luZF9nZXRfc3RyaW5nKGFsbG9jYXRvci0+Y29uZmlnX2tpbmQpLApAQCAtMTI0LDU3ICsx
NDAsNiBAQCB2b2lkIHBhc19sb2NhbF9hbGxvY2F0b3JfbW92ZShwYXNfbG9jYWxfCiAgICAgcGFz
X2xvY2tfdW5sb2NrKCZzaGFyZWRfdmlldy0+b3duZXJzaGlwX2xvY2spOwogfQogCi1ib29sIHBh
c19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX3dpdGhfYml0Zml0KAotICAgIHBhc19sb2NhbF9hbGxv
Y2F0b3IqIGFsbG9jYXRvciwKLSAgICBwYXNfYWxsb2NhdG9yX2NvdW50cyogY291bnRzKQotewot
ICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIGZha2VfbnVsbF9jb25maWc7Ci0gICAgYm9v
bCBza2lwX2JpdGZpdDsKLQotICAgIGZha2VfbnVsbF9jb25maWcuYmFzZS5pc19lbmFibGVkID0g
ZmFsc2U7Ci0gICAgZmFrZV9udWxsX2NvbmZpZy5raW5kID0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfa2luZF9udWxsOwotICAgIHNraXBfYml0Zml0ID0gZmFsc2U7Ci0KLSAgICByZXR1cm4g
cGFzX2xvY2FsX2FsbG9jYXRvcl9yZWZpbGxfd2l0aF9rbm93bl9jb25maWcoCi0gICAgICAgIGFs
bG9jYXRvciwgY291bnRzLCBmYWtlX251bGxfY29uZmlnLCBza2lwX2JpdGZpdCk7Ci19Ci0KLXZv
aWQgcGFzX2xvY2FsX2FsbG9jYXRvcl9maW5pc2hfcmVmaWxsX3dpdGhfYml0Zml0KAotICAgIHBh
c19sb2NhbF9hbGxvY2F0b3IqIGFsbG9jYXRvciwKLSAgICBwYXNfc2VncmVnYXRlZF9zaXplX2Rp
cmVjdG9yeSogc2l6ZV9kaXJlY3RvcnkpCi17Ci0gICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9z
ZSA9IGZhbHNlOwotICAgIAotICAgIHBhc19iaXRmaXRfYWxsb2NhdG9yKiBiaXRmaXQ7Ci0gICAg
cGFzX2JpdGZpdF9zaXplX2NsYXNzKiBzaXplX2NsYXNzOwotICAgIHBhc19iaXRmaXRfdmlldyog
Yml0Zml0X3ZpZXc7Ci0gICAgcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kIGJpdGZpdF9raW5k
OwotICAgIHBhc19iaXRmaXRfcGFnZV9jb25maWcqIGJpdGZpdF9jb25maWc7Ci0KLSAgICBpZiAo
dmVyYm9zZSkgewotICAgICAgICBwYXNfbG9nKCJsb2NhbCBhbGxvY2F0b3IgJXAgZm9yIHNpemUg
ZGlyZWN0b3J5ICVwIGRvaW5nIGJpdGZpdCBhbGxvY2F0aW9uLlxuIiwKLSAgICAgICAgICAgICAg
ICBhbGxvY2F0b3IsIHNpemVfZGlyZWN0b3J5KTsKLSAgICB9Ci0gICAgCi0gICAgc2l6ZV9jbGFz
cyA9IHBhc19jb21wYWN0X2F0b21pY19iaXRmaXRfc2l6ZV9jbGFzc19wdHJfbG9hZF9ub25fbnVs
bCgKLSAgICAgICAgJnNpemVfZGlyZWN0b3J5LT5iaXRmaXRfc2l6ZV9jbGFzcyk7Ci0gICAgCi0g
ICAgYml0Zml0X2tpbmQgPSBwYXNfY29tcGFjdF9iaXRmaXRfZGlyZWN0b3J5X3B0cl9sb2FkX25v
bl9udWxsKCZzaXplX2NsYXNzLT5kaXJlY3RvcnkpLT5jb25maWdfa2luZDsKLSAgICAKLSAgICBh
bGxvY2F0b3ItPmNvbmZpZ19raW5kID0gcGFzX2xvY2FsX2FsbG9jYXRvcl9jb25maWdfa2luZF9j
cmVhdGVfYml0Zml0KGJpdGZpdF9raW5kKTsKLSAgICAKLSAgICBiaXRmaXQgPSBwYXNfbG9jYWxf
YWxsb2NhdG9yX2dldF9iaXRmaXQoYWxsb2NhdG9yKTsKLSAgICAKLSAgICBiaXRmaXRfY29uZmln
ID0gcGFzX2JpdGZpdF9wYWdlX2NvbmZpZ19raW5kX2dldF9jb25maWcoYml0Zml0X2tpbmQpOwot
ICAgIAotICAgIGJpdGZpdF92aWV3ID0gcGFzX2JpdGZpdF9zaXplX2NsYXNzX2dldF9maXJzdF9m
cmVlX3ZpZXcoc2l6ZV9jbGFzcywgYml0Zml0X2NvbmZpZyk7Ci0gICAgCi0gICAgUEFTX0FTU0VS
VChiaXRmaXRfdmlldyk7Ci0gICAgCi0gICAgYml0Zml0LT5zaXplX2NsYXNzID0gc2l6ZV9jbGFz
czsKLSAgICBiaXRmaXQtPnZpZXcgPSBiaXRmaXRfdmlldzsKLX0KLQogc3RhdGljIGJvb2wgc3Rv
cF9pbXBsKAogICAgIHBhc19sb2NhbF9hbGxvY2F0b3IqIGFsbG9jYXRvciwKICAgICBwYXNfbG9j
a19sb2NrX21vZGUgcGFnZV9sb2NrX21vZGUsCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMv
c3JjL2xpYnBhcy9wYXNfbG9jYWxfYWxsb2NhdG9yX2lubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfbG9jYWxfYWxsb2NhdG9yX2lubGlu
ZXMuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX2xvY2FsX2FsbG9jYXRvcl9pbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2
ICsxNDUsOSBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZCBwYXNfbG9jYWxfCiAgICAg
UEFTX0FTU0VSVChwYWdlX2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQpOwogICAgIFBBU19VTlVTRURf
UEFSQU0oZGlyZWN0b3J5KTsKIAorICAgIGlmIChwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19p
c191dGlsaXR5KHBhZ2VfY29uZmlnKSkKKyAgICAgICAgUEFTX0FTU0VSVCh2aWV3X2tpbmQgPT0g
cGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXdfa2luZCk7CisgICAgCiAgICAgb2JqZWN0X3Np
emUgPSBhbGxvY2F0b3ItPm9iamVjdF9zaXplOwogICAgIGFsbG9jX2JpdHMgPSBwYWdlLT5hbGxv
Y19iaXRzOwogICAgIApAQCAtMzQ0LDYgKzM0Nyw4IEBAIHBhc19sb2NhbF9hbGxvY2F0b3Jfc2V0
X3VwX2ZyZWVfYml0cyhwYXMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFBBU19BU1NF
UlQoIXBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lzX3V0aWxpdHkocGFnZV9jb25maWcpKTsK
KwogICAgIHBhcnRpYWxfdmlld19hc192aWV3ID0gcGFzX3NlZ3JlZ2F0ZWRfcGFydGlhbF92aWV3
X2FzX3ZpZXcoKHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmlldyopdmlldyk7CiAgICAgCiAgICAg
ZnVsbF9hbGxvY19iaXRzID0gcGFzX2Z1bGxfYWxsb2NfYml0c19jcmVhdGVfZm9yX3BhcnRpYWwo
cGFydGlhbF92aWV3X2FzX3ZpZXcpOwpAQCAtNDc0LDYgKzQ3OSw4IEBAIHBhc19sb2NhbF9hbGxv
Y2F0b3Jfc2V0X3VwX3ByaW1vcmRpYWxfYnUKICAgICBQQVNfVU5VU0VEX1BBUkFNKGhlbGRfbG9j
ayk7CiAgICAgUEFTX0FTU0VSVChwYWdlX2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQpOwogCisgICAg
UEFTX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfaXNfdXRpbGl0eShwYWdlX2Nv
bmZpZykpOworCiAgICAgcGFnZV9ib3VuZGFyeSA9IGFsbG9jYXRvci0+cGFnZV9pc2g7CiAgICAg
b2JqZWN0X3NpemUgPSBhbGxvY2F0b3ItPm9iamVjdF9zaXplOwogICAgIGJlZ2luX29mZnNldCA9
IGJ1bXBfcmVzdWx0Lm9sZF9idW1wOwpAQCAtNTczLDYgKzU4MCw4IEBAIHBhc19sb2NhbF9hbGxv
Y2F0b3Jfc3RhcnRfYWxsb2NhdGluZ19pbl8KICAgICBQQVNfQVNTRVJUKHBhZ2VfY29uZmlnLmJh
c2UuaXNfZW5hYmxlZCk7CiAgICAgUEFTX0FTU0VSVCghcGFzX2NvbXBhY3Rfc2VncmVnYXRlZF9z
aGFyZWRfdmlld19wdHJfbG9hZCgmdmlldy0+c2hhcmVkX3ZpZXcpKTsKIAorICAgIFBBU19BU1NF
UlQoIXBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lzX3V0aWxpdHkocGFnZV9jb25maWcpKTsK
KwogICAgIHNpemUgPSBhbGxvY2F0b3ItPm9iamVjdF9zaXplOwogICAgIGFsaWdubWVudCA9ICh1
bnNpZ25lZClwYXNfbG9jYWxfYWxsb2NhdG9yX2FsaWdubWVudChhbGxvY2F0b3IpOwogICAgIApA
QCAtNzA0LDYgKzcxMyw4IEBAIHBhc19sb2NhbF9hbGxvY2F0b3JfYmxlc3NfcHJpbW9yZGlhbF9w
YXIKICAgICBQQVNfQVNTRVJUKHBhZ2VfY29uZmlnLmJhc2UuaXNfZW5hYmxlZCk7CiAgICAgUEFT
X0FTU0VSVChwYXNfbG9jYWxfYWxsb2NhdG9yX2NvbmZpZ19raW5kX2lzX3ByaW1vcmRpYWxfcGFy
dGlhbChhbGxvY2F0b3ItPmNvbmZpZ19raW5kKSk7CiAgICAgCisgICAgUEFTX0FTU0VSVCghcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfaXNfdXRpbGl0eShwYWdlX2NvbmZpZykpOworCiAgICAg
aGFzX2ZpcnN0X25vbl96ZXJvX3dvcmRfaW5kZXggPSBmYWxzZTsKICAgICBiaXRzID0gKHVuc2ln
bmVkKilhbGxvY2F0b3ItPmJpdHM7CiAKQEAgLTczNSw3ICs3NDYsNyBAQCBwYXNfbG9jYWxfYWxs
b2NhdG9yX2JsZXNzX3ByaW1vcmRpYWxfcGFyCiAgICAgICAgICAgIHNpbXBsaWZpZXMgdGhlIGxv
Z2ljIGluIHBhc19zZWdyZWdhdGVkX3ZpZXdfc2hvdWxkX2JlX2VsaWdpYmxlKCkuIEl0IHdvdWxk
IG9ubHkgYmUgYSB0aW55CiAgICAgICAgICAgIGJlaGF2aW9yYWwgY2hhbmdlIC0gc2xpZ2h0bHkg
YmV0dGVyIGZvciBzcGFjZSwgc2xpZ2h0bHkgd29yc2UgZm9yIHRpbWUgLSB0byBnZXQgcmlkIG9m
CiAgICAgICAgICAgIHRoaXMgc3BlY2lhbCBjYXNlLCBpbiB3aGljaCBjYXNlIHdlJ2QgaGF2ZSB0
byBlZGl0IHNob3VsZF9iZV9lbGlnaWJsZSgpLiAqLwotICAgICAgICBpZiAocGFnZV9jb25maWcu
ZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uKQorICAgICAgICBpZiAo
cGFnZV9jb25maWcuZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uX2Zv
cl9zaGFyZWQpCiAgICAgICAgICAgICBzaG91bGRfYmVfZWxpZ2libGUgPSAhIShmdWxsX2FsbG9j
X3dvcmQgJiYgIXBhZ2UtPmFsbG9jX2JpdHNbd29yZF9pbmRleF0pOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBzaG91bGRfYmVfZWxpZ2libGUgPSAhIShmdWxsX2FsbG9jX3dvcmQgJiB+cGFn
ZS0+YWxsb2NfYml0c1t3b3JkX2luZGV4XSk7CkBAIC04MTIsNiArODIzLDggQEAgcGFzX2xvY2Fs
X2FsbG9jYXRvcl90cnlfYWxsb2NhdGVfaW5fcHJpbQogCiAgICAgUEFTX0FTU0VSVChwYWdlX2Nv
bmZpZy5iYXNlLmlzX2VuYWJsZWQpOwogCisgICAgUEFTX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWdfaXNfdXRpbGl0eShwYWdlX2NvbmZpZykpOworCiAgICAgcGFnZSA9IHBhc19z
ZWdyZWdhdGVkX3BhZ2VfZm9yX2JvdW5kYXJ5KCh2b2lkKilhbGxvY2F0b3ItPnBhZ2VfaXNoLCBw
YWdlX2NvbmZpZyk7CiAgICAgcGFydGlhbF92aWV3ID0gcGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRf
cGFydGlhbChhbGxvY2F0b3ItPnZpZXcpOwogICAgIHNoYXJlZF92aWV3ID0gcGFzX2NvbXBhY3Rf
c2VncmVnYXRlZF9zaGFyZWRfdmlld19wdHJfbG9hZF9ub25fbnVsbCgmcGFydGlhbF92aWV3LT5z
aGFyZWRfdmlldyk7CkBAIC04NDksMjAgKzg2MiwxMSBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3Ry
eV9hbGxvY2F0ZV9pbl9wcmltCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUEFTX0FQSSBib29s
IHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX3dpdGhfYml0Zml0KAotICAgIHBhc19sb2NhbF9h
bGxvY2F0b3IqIGFsbG9jYXRvciwKLSAgICBwYXNfYWxsb2NhdG9yX2NvdW50cyogY291bnRzKTsK
LQotUEFTX0FQSSB2b2lkIHBhc19sb2NhbF9hbGxvY2F0b3JfZmluaXNoX3JlZmlsbF93aXRoX2Jp
dGZpdCgKLSAgICBwYXNfbG9jYWxfYWxsb2NhdG9yKiBhbGxvY2F0b3IsCi0gICAgcGFzX3NlZ3Jl
Z2F0ZWRfc2l6ZV9kaXJlY3RvcnkqIHNpemVfZGlyZWN0b3J5KTsKLQogc3RhdGljIFBBU19BTFdB
WVNfSU5MSU5FIGJvb2wKIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX3dpdGhfa25vd25fY29u
ZmlnKAogICAgIHBhc19sb2NhbF9hbGxvY2F0b3IqIGFsbG9jYXRvciwKICAgICBwYXNfYWxsb2Nh
dG9yX2NvdW50cyogY291bnRzLAotICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2Vf
Y29uZmlnLAotICAgIGJvb2wgc2tpcF9iaXRmaXQpCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWcgcGFnZV9jb25maWcpCiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZh
bHNlOwogICAgIApAQCAtODc0LDIyICs4NzgsMTUgQEAgcGFzX2xvY2FsX2FsbG9jYXRvcl9yZWZp
bGxfd2l0aF9rbm93bl9jbwogICAgIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBzaXpl
X2RpcmVjdG9yeTsKICAgICBwYXNfc2VncmVnYXRlZF9kaXJlY3RvcnkqIGRpcmVjdG9yeTsKICAg
ICBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX25vZGUqIGNhY2hlX25vZGU7Ci0gICAgYm9vbCBkaWRf
aW5pdGlhbGl6ZV9iaXRmaXQ7CiAgICAgcGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXcqIGV4
Y2x1c2l2ZTsKICAgICBwYXNfc2VncmVnYXRlZF9wYXJ0aWFsX3ZpZXcqIHBhcnRpYWw7CiAgICAg
cGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXcqIHNoYXJlZDsKLSAgICBib29sIGVuYWJsZV9zZWdy
ZWdhdGVkOwogICAgIHBhc190aHJlYWRfbG9jYWxfY2FjaGUqIGNhY2hlOworICAgIGJvb2wgZGlk
X2dldF92aWV3OwogCi0gICAgUEFTX1VOVVNFRF9QQVJBTShjb3VudHMpOwotCi0gICAgZW5hYmxl
X3NlZ3JlZ2F0ZWQgPSBwYWdlX2NvbmZpZy5raW5kICE9IHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmRfbnVsbDsKLQotICAgIFBBU19BU1NFUlQocGFnZV9jb25maWcuYmFzZS5pc19lbmFi
bGVkIHx8ICFlbmFibGVfc2VncmVnYXRlZCk7CisgICAgUEFTX0FTU0VSVChwYWdlX2NvbmZpZy5r
aW5kICE9IHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfbnVsbCk7CisgICAgUEFTX0FT
U0VSVChwYWdlX2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQpOwogCi0gICAgaWYgKHNraXBfYml0Zml0
KQotICAgICAgICBQQVNfQVNTRVJUKGVuYWJsZV9zZWdyZWdhdGVkKTsKLSAgICAKICAgICBzaXpl
X2RpcmVjdG9yeSA9IHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3NpemVfZGlyZWN0b3J5KGFsbG9j
YXRvci0+dmlldyk7CiAKICAgICBwYXNfc2VncmVnYXRlZF9oZWFwX3RvdWNoX2xvb2t1cF90YWJs
ZXMoc2l6ZV9kaXJlY3RvcnktPmhlYXAsIHBhc19leHBlbmRhYmxlX21lbW9yeV90b3VjaF90b19u
b3RlX3VzZSk7CkBAIC05MDMsMTcgKzkwMCw4IEBAIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxs
X3dpdGhfa25vd25fY28KICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZp
Z19raW5kX2dldF9zdHJpbmcoZGlyZWN0b3J5LT5wYWdlX2NvbmZpZ19raW5kKSk7CiAgICAgfQog
Ci0gICAgaWYgKGVuYWJsZV9zZWdyZWdhdGVkKQotICAgICAgICBQQVNfQVNTRVJUKCFwYXNfbG9j
YWxfYWxsb2NhdG9yX2hhc19iaXRmaXQoYWxsb2NhdG9yKSk7CisgICAgUEFTX1RFU1RJTkdfQVNT
RVJUKCFwYXNfbG9jYWxfYWxsb2NhdG9yX2hhc19iaXRmaXQoYWxsb2NhdG9yKSk7CiAgICAgCi0g
ICAgaWYgKCFza2lwX2JpdGZpdCAmJiBwYXNfbG9jYWxfYWxsb2NhdG9yX2hhc19iaXRmaXQoYWxs
b2NhdG9yKSkgewotICAgICAgICBwYXNfYml0Zml0X2FsbG9jYXRvciogYml0Zml0OwotICAgICAg
ICAKLSAgICAgICAgYml0Zml0ID0gcGFzX2xvY2FsX2FsbG9jYXRvcl9nZXRfYml0Zml0KGFsbG9j
YXRvcik7Ci0KLSAgICAgICAgcGFzX2JpdGZpdF9hbGxvY2F0b3JfYXNzZXJ0X3Jlc2V0KGJpdGZp
dCk7Ci0gICAgfQotCiAgICAgaWYgKCFhbGxvY2F0b3ItPnNjYXZlbmdlcl9kYXRhLmRpcnR5ICYm
IHZlcmJvc2UpCiAgICAgICAgIHBhc19sb2coIlVzaW5nIGFsbG9jYXRvciAlcFxuIiwgYWxsb2Nh
dG9yKTsKICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX3NjYXZlbmdlcl9kYXRhX2RpZF91c2VfZm9y
X2FsbG9jYXRpb24oJmFsbG9jYXRvci0+c2NhdmVuZ2VyX2RhdGEpOwpAQCAtOTI5LDExICs5MTcs
MTIgQEAgcGFzX2xvY2FsX2FsbG9jYXRvcl9yZWZpbGxfd2l0aF9rbm93bl9jbwogICAgIG9sZF92
aWV3ID0gTlVMTDsKICAgICBvbGRfcGFnZSA9IE5VTEw7CiAKLSAgICBpZiAoZW5hYmxlX3NlZ3Jl
Z2F0ZWQgJiYgYWxsb2NhdG9yLT5wYWdlX2lzaCkgeworICAgIGlmIChhbGxvY2F0b3ItPnBhZ2Vf
aXNoKSB7CiAgICAgICAgIG9sZF9wYWdlID0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9mb3JfYm91bmRh
cnkoCiAgICAgICAgICAgICAodm9pZCopcGFzX2xvY2FsX2FsbG9jYXRvcl9wYWdlX2JvdW5kYXJ5
KGFsbG9jYXRvciwgcGFnZV9jb25maWcpLCBwYWdlX2NvbmZpZyk7CiAgICAgICAgIG9sZF92aWV3
ID0gb2xkX3BhZ2UtPm93bmVyOwogICAgICAgICBpZiAoIXBhc19zZWdyZWdhdGVkX3ZpZXdfaXNf
c29tZV9leGNsdXNpdmUob2xkX3ZpZXcpKSB7CisgICAgICAgICAgICBQQVNfQVNTRVJUKCFwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19pc191dGlsaXR5KHBhZ2VfY29uZmlnKSk7CiAgICAgICAg
ICAgICBQQVNfQVNTRVJUKHBhc19zZWdyZWdhdGVkX3ZpZXdfaXNfc2hhcmVkX2hhbmRsZShvbGRf
dmlldykpOwogICAgICAgICAgICAgb2xkX3ZpZXcgPSBhbGxvY2F0b3ItPnZpZXc7CiAgICAgICAg
ICAgICBQQVNfQVNTRVJUKHBhc19zZWdyZWdhdGVkX3ZpZXdfaXNfcGFydGlhbChvbGRfdmlldykp
OwpAQCAtOTUyLDcgKzk0MSw5IEBAIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX3dpdGhfa25v
d25fY28KICNpZiBQQVNfRU5BQkxFX1RFU1RJTkcKICAgICBpZiAoY291bnRzKQogICAgICAgICBj
b3VudHMtPnNsb3dfcmVmaWxscysrOwotI2VuZGlmIC8qIFBBU19FTkFCTEVfVEVTVElORyAqLwor
I2Vsc2UgLyogUEFTX0VOQUJMRV9URVNUSU5HIC0+IHNvICFQQVNfRU5BQkxFX1RFU1RJTkcgKi8K
KyAgICBQQVNfVU5VU0VEX1BBUkFNKGNvdW50cyk7CisjZW5kaWYgLyogUEFTX0VOQUJMRV9URVNU
SU5HIC0+IHNvIGVuZCBvZiAhUEFTX0VOQUJMRV9URVNUSU5HICovCiAKICAgICBjYWNoZSA9IE5V
TEw7CiAgICAgY2FjaGVfbm9kZSA9IE5VTEw7CkBAIC05ODAsOCArOTcxLDYgQEAgcGFzX2xvY2Fs
X2FsbG9jYXRvcl9yZWZpbGxfd2l0aF9rbm93bl9jbwogICAgICAgICB9CiAgICAgfQogCi0gICAg
ZGlkX2luaXRpYWxpemVfYml0Zml0ID0gZmFsc2U7Ci0KICAgICBpZiAodmVyYm9zZSkKICAgICAg
ICAgcGFzX2xvZygiYWxsb2NhdGluZyBpbiBzaXplX2RpcmVjdG9yeSA9ICVwXG4iLCBzaXplX2Rp
cmVjdG9yeSk7CiAKQEAgLTk5MCw4ICs5NzksNiBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3JlZmls
bF93aXRoX2tub3duX2NvCiAgICAgaWYgKG9sZF92aWV3KSB7CiAgICAgICAgIHBhc19zZWdyZWdh
dGVkX3ZpZXdfa2luZCBraW5kOwogCi0gICAgICAgIFBBU19BU1NFUlQoZW5hYmxlX3NlZ3JlZ2F0
ZWQpOwotCiAgICAgICAgIGtpbmQgPSBwYXNfc2VncmVnYXRlZF92aWV3X2dldF9raW5kKG9sZF92
aWV3KTsKIAogICAgICAgICBzd2l0Y2ggKGtpbmQpIHsKQEAgLTEwMTEsNiArOTk4LDcgQEAgcGFz
X2xvY2FsX2FsbG9jYXRvcl9yZWZpbGxfd2l0aF9rbm93bl9jbwogICAgICAgICB9CiAKICAgICAg
ICAgY2FzZSBwYXNfc2VncmVnYXRlZF9wYXJ0aWFsX3ZpZXdfa2luZDogeworICAgICAgICAgICAg
UEFTX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfaXNfdXRpbGl0eShwYWdlX2Nv
bmZpZykpOwogICAgICAgICAgICAgcGFydGlhbCA9IChwYXNfc2VncmVnYXRlZF9wYXJ0aWFsX3Zp
ZXcqKXBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3B0cihvbGRfdmlldyk7CiAgICAgICAgICAgICBp
ZiAocGFydGlhbC0+ZWxpZ2liaWxpdHlfaGFzX2JlZW5fbm90ZWQpIHsKICAgICAgICAgICAgICAg
ICBuZXdfdmlldyA9IG9sZF92aWV3OwpAQCAtMTAzNCw4MSArMTAyMiw3MiBAQCBwYXNfbG9jYWxf
YWxsb2NhdG9yX3JlZmlsbF93aXRoX2tub3duX2NvCiAgICAgbmV3X3ZpZXcgPSBOVUxMOwogICAg
IG5ld19wYWdlID0gTlVMTDsKICAgICAKLSAgICBpZiAoZW5hYmxlX3NlZ3JlZ2F0ZWQpIHsKLSAg
ICAgICAgYm9vbCBkaWRfZ2V0X3ZpZXc7Ci0KLSAgICAgICAgZGlkX2dldF92aWV3ID0gZmFsc2U7
Ci0KLSAgICAgICAgaWYgKHBhZ2VfY29uZmlnLmVuYWJsZV92aWV3X2NhY2hlICYmIGNhY2hlKSB7
Ci0gICAgICAgICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX3Jlc3VsdCB2aWV3X2NhY2hlX3Jlc3Vs
dDsKLQotICAgICAgICAgICAgUEFTX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdf
aXNfdXRpbGl0eShwYWdlX2NvbmZpZykpOwotCi0gICAgICAgICAgICB2aWV3X2NhY2hlX3Jlc3Vs
dCA9Ci0gICAgICAgICAgICAgICAgcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9nZXRfbG9jYWxfYWxs
b2NhdG9yX2Zvcl9wb3NzaWJseV91bmluaXRpYWxpemVkX2J1dF9ub3RfdW5zZWxlY3RlZF9pbmRl
eCgKLSAgICAgICAgICAgICAgICAgICAgY2FjaGUsIHNpemVfZGlyZWN0b3J5LT52aWV3X2NhY2hl
X2luZGV4LCBwYXNfbG9ja19pc19ub3RfaGVsZCk7Ci0gICAgICAgICAgICBjYWNoZSA9IE5VTEw7
IC8qIFRoZSBjYWNoZSBjb3VsZCBoYXZlIGJlZW4gcmVzaXplZCwgc28gd2UgZG9uJ3Qgd2FudCB0
byB1c2UgdGhpcyBwb2ludGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueW1vcmUu
ICovCi0gICAgICAgICAgICBpZiAodmlld19jYWNoZV9yZXN1bHQuZGlkX3N1Y2NlZWQpIHsKLSAg
ICAgICAgICAgICAgICBwYXNfbG9jYWxfdmlld19jYWNoZSogdmlld19jYWNoZTsKKyAgICBkaWRf
Z2V0X3ZpZXcgPSBmYWxzZTsKKyAgICAKKyAgICBpZiAocGFnZV9jb25maWcuZW5hYmxlX3ZpZXdf
Y2FjaGUgJiYgY2FjaGUpIHsKKyAgICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvcl9yZXN1bHQgdmll
d19jYWNoZV9yZXN1bHQ7CisgICAgICAgIAorICAgICAgICBQQVNfQVNTRVJUKCFwYXNfc2VncmVn
YXRlZF9wYWdlX2NvbmZpZ19pc191dGlsaXR5KHBhZ2VfY29uZmlnKSk7CisgICAgICAgIAorICAg
ICAgICB2aWV3X2NhY2hlX3Jlc3VsdCA9CisgICAgICAgICAgICBwYXNfdGhyZWFkX2xvY2FsX2Nh
Y2hlX2dldF9sb2NhbF9hbGxvY2F0b3JfZm9yX3Bvc3NpYmx5X3VuaW5pdGlhbGl6ZWRfYnV0X25v
dF91bnNlbGVjdGVkX2luZGV4KAorICAgICAgICAgICAgICAgIGNhY2hlLCBzaXplX2RpcmVjdG9y
eS0+dmlld19jYWNoZV9pbmRleCwgcGFzX2xvY2tfaXNfbm90X2hlbGQpOworICAgICAgICBjYWNo
ZSA9IE5VTEw7IC8qIFRoZSBjYWNoZSBjb3VsZCBoYXZlIGJlZW4gcmVzaXplZCwgc28gd2UgZG9u
J3Qgd2FudCB0byB1c2UgdGhpcyBwb2ludGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgYW55
bW9yZS4gKi8KKyAgICAgICAgaWYgKHZpZXdfY2FjaGVfcmVzdWx0LmRpZF9zdWNjZWVkKSB7Cisg
ICAgICAgICAgICBwYXNfbG9jYWxfdmlld19jYWNoZSogdmlld19jYWNoZTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgdmlld19jYWNoZSA9IChwYXNfbG9jYWxfdmlld19jYWNoZSopdmlld19j
YWNoZV9yZXN1bHQuYWxsb2NhdG9yOworICAgICAgICAgICAgCisgICAgICAgICAgICBQQVNfVEVT
VElOR19BU1NFUlQoIXZpZXdfY2FjaGUtPnNjYXZlbmdlcl9kYXRhLmlzX2luX3VzZSk7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHZpZXdfY2FjaGUtPnNjYXZlbmdlcl9kYXRhLmlzX2luX3Vz
ZSA9IHRydWU7CisgICAgICAgICAgICBwYXNfY29tcGlsZXJfZmVuY2UoKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvcl9zY2F2ZW5nZXJfZGF0YV9kaWRfdXNl
X2Zvcl9hbGxvY2F0aW9uKCZ2aWV3X2NhY2hlLT5zY2F2ZW5nZXJfZGF0YSk7CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIGlmICghcGFzX2xvY2FsX3ZpZXdfY2FjaGVfaXNfZW1wdHkodmlld19j
YWNoZSkpIHsKKyAgICAgICAgICAgICAgICBuZXdfdmlldyA9IHBhc19zZWdyZWdhdGVkX2V4Y2x1
c2l2ZV92aWV3X2FzX3ZpZXcocGFzX2xvY2FsX3ZpZXdfY2FjaGVfcG9wKHZpZXdfY2FjaGUpKTsK
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2aWV3X2NhY2hlID0gKHBhc19sb2Nh
bF92aWV3X2NhY2hlKil2aWV3X2NhY2hlX3Jlc3VsdC5hbGxvY2F0b3I7Ci0KLSAgICAgICAgICAg
ICAgICBQQVNfVEVTVElOR19BU1NFUlQoIXZpZXdfY2FjaGUtPnNjYXZlbmdlcl9kYXRhLmlzX2lu
X3VzZSk7CisgICAgICAgICAgICAgICAgUEFTX1RFU1RJTkdfQVNTRVJUKHBhc19zZWdyZWdhdGVk
X3ZpZXdfaXNfc29tZV9leGNsdXNpdmUobmV3X3ZpZXcpKTsKKyAgICAgICAgICAgICAgICBQQVNf
VEVTVElOR19BU1NFUlQocGFzX3NlZ3JlZ2F0ZWRfdmlld19pc19vd25lZChuZXdfdmlldykpOwor
ICAgICAgICAgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfdmlld19p
c19lbGlnaWJsZShuZXdfdmlldykpOworICAgICAgICAgICAgICAgIFBBU19URVNUSU5HX0FTU0VS
VChwYXNfc2VncmVnYXRlZF92aWV3X2dldF9wYWdlKG5ld192aWV3KS0+aXNfaW5fdXNlX2Zvcl9h
bGxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2aWV3X2NhY2hl
LT5zY2F2ZW5nZXJfZGF0YS5pc19pbl91c2UgPSB0cnVlOwotICAgICAgICAgICAgICAgIHBhc19j
b21waWxlcl9mZW5jZSgpOwotCi0gICAgICAgICAgICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvcl9z
Y2F2ZW5nZXJfZGF0YV9kaWRfdXNlX2Zvcl9hbGxvY2F0aW9uKCZ2aWV3X2NhY2hlLT5zY2F2ZW5n
ZXJfZGF0YSk7CisgICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAg
ICAgIHBhc19sb2coIiVwLCBhPSVwLCB2Yz0lcDogR290IGZyb20gY2FjaGUgKCV1KS5cbiIsIGNh
Y2hlX25vZGUsIGFsbG9jYXRvciwgdmlld19jYWNoZSwgYWxsb2NhdG9yLT5vYmplY3Rfc2l6ZSk7
CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKCFwYXNfbG9jYWxfdmlld19j
YWNoZV9pc19lbXB0eSh2aWV3X2NhY2hlKSkgewotICAgICAgICAgICAgICAgICAgICBuZXdfdmll
dyA9IHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3X2FzX3ZpZXcocGFzX2xvY2FsX3ZpZXdf
Y2FjaGVfcG9wKHZpZXdfY2FjaGUpKTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVChwYXNfc2VncmVnYXRlZF92aWV3X2lzX3NvbWVf
ZXhjbHVzaXZlKG5ld192aWV3KSk7Ci0gICAgICAgICAgICAgICAgICAgIFBBU19URVNUSU5HX0FT
U0VSVChwYXNfc2VncmVnYXRlZF92aWV3X2lzX293bmVkKG5ld192aWV3KSk7Ci0gICAgICAgICAg
ICAgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfdmlld19pc19lbGln
aWJsZShuZXdfdmlldykpOwotICAgICAgICAgICAgICAgICAgICBQQVNfVEVTVElOR19BU1NFUlQo
cGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRfcGFnZShuZXdfdmlldyktPmlzX2luX3VzZV9mb3JfYWxs
b2NhdGlvbik7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc19sb2coIiVwLCBhPSVwLCB2Yz0l
cDogR290IGZyb20gY2FjaGUgKCV1KS5cbiIsIGNhY2hlX25vZGUsIGFsbG9jYXRvciwgdmlld19j
YWNoZSwgYWxsb2NhdG9yLT5vYmplY3Rfc2l6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgICAgICBkaWRfZ2V0X3ZpZXcgPSB0cnVlOwotICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgIHBhc19jb21waWxlcl9mZW5jZSgpOwotICAgICAgICAgICAgICAg
IHZpZXdfY2FjaGUtPnNjYXZlbmdlcl9kYXRhLmlzX2luX3VzZSA9IGZhbHNlOworICAgICAgICAg
ICAgICAgIGRpZF9nZXRfdmlldyA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KLQot
ICAgICAgICBpZiAoIWRpZF9nZXRfdmlldykgewotICAgICAgICAgICAgbmV3X3ZpZXcgPSBwYXNf
c2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV90YWtlX2ZpcnN0X2VsaWdpYmxlKHNpemVfZGlyZWN0
b3J5KTsKLSAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgIHBhc19sb2co
IkdvdCBhIG5ldyB2aWV3ICVwXG4iLCBuZXdfdmlldyk7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIFBBU19URVNUSU5HX0FTU0VSVCghcGFzX3NlZ3JlZ2F0ZWRfdmlld19pc19lbGlnaWJsZShu
ZXdfdmlldykpOwotICAgICAgICAgICAgaWYgKHBhc19zZWdyZWdhdGVkX3ZpZXdfaXNfc29tZV9l
eGNsdXNpdmUobmV3X3ZpZXcpKSB7Ci0gICAgICAgICAgICAgICAgUEFTX1RFU1RJTkdfQVNTRVJU
KAotICAgICAgICAgICAgICAgICAgICAhcGFzX3NlZ3JlZ2F0ZWRfdmlld19pc19vd25lZChuZXdf
dmlldykKLSAgICAgICAgICAgICAgICAgICAgfHwgIXBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3Bh
Z2UobmV3X3ZpZXcpLT5pc19pbl91c2VfZm9yX2FsbG9jYXRpb24pOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBpZiAobmV3X3ZpZXcpIHsKLSAgICAgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKLSAgICAgICAgICAgICAgICAgICAgcGFzX2xvZygiJXAsICVwOiBHb3QgZnJvbSBkaXJlY3Rv
cnkgKCV1KS5cbiIsIGNhY2hlX25vZGUsIGFsbG9jYXRvciwgYWxsb2NhdG9yLT5vYmplY3Rfc2l6
ZSk7Ci0gICAgICAgICAgICAgICAgbmV3X3ZpZXcgPSBwYXNfc2VncmVnYXRlZF92aWV3X3dpbGxf
c3RhcnRfYWxsb2NhdGluZyhuZXdfdmlldywgcGFnZV9jb25maWcpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaWYgKHZlcmJvc2UpIHsKLSAgICAgICAgICAgICAgICBwYXNfbG9nKCJBbmQg
YWZ0ZXIgd2lsbF9zdGFydCBnb3QgYSBuZXcgdmlldyAlcCwgcGFnZSA9ICVwLCBib3VuZGFyeSA9
ICVwXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgbmV3X3ZpZXcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBwYXNfc2VncmVnYXRlZF92aWV3X2dldF9wYWdlKG5ld192aWV3KSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3BhZ2VfYm91bmRhcnko
bmV3X3ZpZXcpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHBhc19jb21waWxlcl9mZW5j
ZSgpOworICAgICAgICAgICAgdmlld19jYWNoZS0+c2NhdmVuZ2VyX2RhdGEuaXNfaW5fdXNlID0g
ZmFsc2U7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBwYXNfbG9jYWxfYWxsb2Nh
dG9yX2ZpbmlzaF9yZWZpbGxfd2l0aF9iaXRmaXQoYWxsb2NhdG9yLCBzaXplX2RpcmVjdG9yeSk7
CisgICAgfQorICAgIAorICAgIGlmICghZGlkX2dldF92aWV3KSB7CisgICAgICAgIG5ld192aWV3
ID0gcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfdGFrZV9maXJzdF9lbGlnaWJsZShzaXpl
X2RpcmVjdG9yeSk7CiAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgcGFzX2xvZygi
aW5pdGlhbGl6ZWQgYml0Zml0IVxuIik7Ci0gICAgICAgIGRpZF9pbml0aWFsaXplX2JpdGZpdCA9
IHRydWU7CisgICAgICAgICAgICBwYXNfbG9nKCJHb3QgYSBuZXcgdmlldyAlcFxuIiwgbmV3X3Zp
ZXcpOworICAgICAgICAKKyAgICAgICAgUEFTX1RFU1RJTkdfQVNTRVJUKCFwYXNfc2VncmVnYXRl
ZF92aWV3X2lzX2VsaWdpYmxlKG5ld192aWV3KSk7CisgICAgICAgIGlmIChwYXNfc2VncmVnYXRl
ZF92aWV3X2lzX3NvbWVfZXhjbHVzaXZlKG5ld192aWV3KSkgeworICAgICAgICAgICAgUEFTX1RF
U1RJTkdfQVNTRVJUKAorICAgICAgICAgICAgICAgICFwYXNfc2VncmVnYXRlZF92aWV3X2lzX293
bmVkKG5ld192aWV3KQorICAgICAgICAgICAgICAgIHx8ICFwYXNfc2VncmVnYXRlZF92aWV3X2dl
dF9wYWdlKG5ld192aWV3KS0+aXNfaW5fdXNlX2Zvcl9hbGxvY2F0aW9uKTsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgaWYgKG5ld192aWV3KSB7CisgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgICAgICBwYXNfbG9nKCIlcCwgJXA6IEdvdCBmcm9tIGRpcmVjdG9yeSAo
JXUpLlxuIiwgY2FjaGVfbm9kZSwgYWxsb2NhdG9yLCBhbGxvY2F0b3ItPm9iamVjdF9zaXplKTsK
KyAgICAgICAgICAgIG5ld192aWV3ID0gcGFzX3NlZ3JlZ2F0ZWRfdmlld193aWxsX3N0YXJ0X2Fs
bG9jYXRpbmcobmV3X3ZpZXcsIHBhZ2VfY29uZmlnKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
dmVyYm9zZSkgeworICAgICAgICAgICAgcGFzX2xvZygiQW5kIGFmdGVyIHdpbGxfc3RhcnQgZ290
IGEgbmV3IHZpZXcgJXAsIHBhZ2UgPSAlcCwgYm91bmRhcnkgPSAlcFxuIiwKKyAgICAgICAgICAg
ICAgICAgICAgbmV3X3ZpZXcsCisgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Zp
ZXdfZ2V0X3BhZ2UobmV3X3ZpZXcpLAorICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRl
ZF92aWV3X2dldF9wYWdlX2JvdW5kYXJ5KG5ld192aWV3KSk7CisgICAgICAgIH0KICAgICB9CiAK
ICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIG5lZWQgdG8gZ2V0IHRoZSBwYWdlLiBXZSBjYW4ndCBk
byB0aGF0IGZvciBwcmltb3JkaWFsIHBhcnRpYWwgdmlld3MsCkBAIC0xMTE3LDcgKzEwOTYsNiBA
QCBwYXNfbG9jYWxfYWxsb2NhdG9yX3JlZmlsbF93aXRoX2tub3duX2NvCiAgICAgaWYgKG9sZF92
aWV3KSB7CiAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAgcGFzX2xvZygiR2V0dGlu
ZyByaWQgb2YgcGFnZSAlcFxuIiwgb2xkX3BhZ2UpOwotICAgICAgICBQQVNfQVNTRVJUKGVuYWJs
ZV9zZWdyZWdhdGVkKTsKICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zd2l0Y2hfbG9jayhv
bGRfcGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaGVsZF9s
b2NrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfY29uZmln
KTsKQEAgLTExMjgsMTMgKzExMDYsOSBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3JlZmlsbF93aXRo
X2tub3duX2NvCiAgICAgCiAgICAgaWYgKCFuZXdfdmlldykgewogICAgICAgICBwYXNfbG9ja19z
d2l0Y2goJmhlbGRfbG9jaywgTlVMTCk7Ci0gICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAg
ICAgcGFzX2xvZygiTm8gbmV3IHBhZ2UgYnV0IGRpZF9pbml0aWFsaXplX2JpdGZpdCA9ICVkLlxu
IiwgZGlkX2luaXRpYWxpemVfYml0Zml0KTsKLSAgICAgICAgcmV0dXJuIGRpZF9pbml0aWFsaXpl
X2JpdGZpdDsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIFBBU19BU1NFUlQo
ZW5hYmxlX3NlZ3JlZ2F0ZWQpOwotCiAgICAgaWYgKHBhc19zZWdyZWdhdGVkX3ZpZXdfaXNfc29t
ZV9leGNsdXNpdmUobmV3X3ZpZXcpKSB7CiAgICAgICAgIGV4Y2x1c2l2ZSA9IHBhc19zZWdyZWdh
dGVkX3ZpZXdfZ2V0X2V4Y2x1c2l2ZShuZXdfdmlldyk7CiAgICAgICAgIG5ld19wYWdlID0gcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9mb3JfYm91bmRhcnkoZXhjbHVzaXZlLT5wYWdlX2JvdW5kYXJ5LCBw
YWdlX2NvbmZpZyk7CkBAIC0xMTQ4LDYgKzExMjIsNyBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3Jl
ZmlsbF93aXRoX2tub3duX2NvCiAgICAgfQogCiAgICAgUEFTX1RFU1RJTkdfQVNTRVJUKHBhc19z
ZWdyZWdhdGVkX3ZpZXdfaXNfcGFydGlhbChuZXdfdmlldykpOworICAgIFBBU19BU1NFUlQoIXBh
c19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lzX3V0aWxpdHkocGFnZV9jb25maWcpKTsKIAogICAg
IHBhcnRpYWwgPSBwYXNfc2VncmVnYXRlZF92aWV3X2dldF9wYXJ0aWFsKG5ld192aWV3KTsKICAg
ICBzaGFyZWQgPSBwYXNfY29tcGFjdF9zZWdyZWdhdGVkX3NoYXJlZF92aWV3X3B0cl9sb2FkKCZw
YXJ0aWFsLT5zaGFyZWRfdmlldyk7CkBAIC0xMjAyLDYgKzExNzcsNyBAQCB0eXBlZGVmIHN0cnVj
dCB7CiAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgcGFnZV9jb25maWc7CiAgICAgdWlu
dHB0cl90IHBhZ2VfYm91bmRhcnk7CiAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZSogcGFnZTsKKyAg
ICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcm9sZTsKIH0gcGFzX2xvY2FsX2FsbG9jYXRvcl9y
ZXR1cm5fbWVtb3J5X3RvX3BhZ2Vfc2V0X2JpdF9kYXRhOwogCiBzdGF0aWMgUEFTX0FMV0FZU19J
TkxJTkUgdW5zaWduZWQKQEAgLTEyMjgsMTggKzEyMDQsMjAgQEAgcGFzX2xvY2FsX2FsbG9jYXRv
cl9yZXR1cm5fbWVtb3J5X3RvX3BhZwogICAgICAgICAodW5zaWduZWQpaW5kZXguaW5kZXgsIGRh
dGEtPnBhZ2VfY29uZmlnLmJhc2UpOwogCiAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9kZWFsbG9j
YXRlX3dpdGhfcGFnZSgKLSAgICAgICAgZGF0YS0+cGFnZSwgb2JqZWN0LCBwYXNfc2VncmVnYXRl
ZF9kZWFsbG9jYXRpb25fZGlyZWN0X21vZGUsIE5VTEwsIGRhdGEtPnBhZ2VfY29uZmlnKTsKKyAg
ICAgICAgZGF0YS0+cGFnZSwgb2JqZWN0LCBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fZGly
ZWN0X21vZGUsIE5VTEwsIGRhdGEtPnBhZ2VfY29uZmlnLCBkYXRhLT5yb2xlKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQogCiBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZAotcGFzX2xvY2Fs
X2FsbG9jYXRvcl9yZXR1cm5fbWVtb3J5X3RvX3BhZ2UocGFzX2xvY2FsX2FsbG9jYXRvciogYWxs
b2NhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3Nl
Z3JlZ2F0ZWRfdmlldyB2aWV3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZSogcGFnZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBkaXJlY3Rv
cnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfbG9ja19o
b2xkX21vZGUgaGVhcF9sb2NrX2hvbGRfbW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29uZmlnKQor
cGFzX2xvY2FsX2FsbG9jYXRvcl9yZXR1cm5fbWVtb3J5X3RvX3BhZ2VfZm9yX3JvbGUoCisgICAg
cGFzX2xvY2FsX2FsbG9jYXRvciogYWxsb2NhdG9yLAorICAgIHBhc19zZWdyZWdhdGVkX3ZpZXcg
dmlldywKKyAgICBwYXNfc2VncmVnYXRlZF9wYWdlKiBwYWdlLAorICAgIHBhc19zZWdyZWdhdGVk
X3NpemVfZGlyZWN0b3J5KiBkaXJlY3RvcnksCisgICAgcGFzX2xvY2tfaG9sZF9tb2RlIGhlYXBf
bG9ja19ob2xkX21vZGUsCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgcGFnZV9jb25m
aWcsCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlIHJvbGUpCiB7CiAgICAgc3RhdGljIGNv
bnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogICAgIApAQCAtMTI2Miw2ICsxMjQwLDcgQEAgcGFz
X2xvY2FsX2FsbG9jYXRvcl9yZXR1cm5fbWVtb3J5X3RvX3BhZwogICAgIH0KIAogICAgIGlmIChw
YXNfbG9jYWxfYWxsb2NhdG9yX2NvbmZpZ19raW5kX2lzX3ByaW1vcmRpYWxfcGFydGlhbChhbGxv
Y2F0b3ItPmNvbmZpZ19raW5kKSkgeworICAgICAgICBQQVNfQVNTRVJUKCFwYXNfc2VncmVnYXRl
ZF9wYWdlX2NvbmZpZ19pc191dGlsaXR5KHBhZ2VfY29uZmlnKSk7CiAgICAgICAgIGlmICh2ZXJi
b3NlKQogICAgICAgICAgICAgcGFzX2xvZygiQmxlc3NpbmcgcHJpbW9yZGlhbC5cbiIpOwogICAg
ICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX2JsZXNzX3ByaW1vcmRpYWxfcGFydGlhbF92aWV3X2Jl
Zm9yZV9zdG9wcGluZygKQEAgLTEyNzYsNyArMTI1NSw3IEBAIHBhc19sb2NhbF9hbGxvY2F0b3Jf
cmV0dXJuX21lbW9yeV90b19wYWcKICAgICAgICAgCiAgICAgICAgIGZvciAob2JqZWN0ID0gYmVn
aW47IG9iamVjdCA8IGVuZDsgb2JqZWN0ICs9IG9iamVjdF9zaXplKSB7CiAgICAgICAgICAgICBw
YXNfc2VncmVnYXRlZF9wYWdlX2RlYWxsb2NhdGVfd2l0aF9wYWdlKAotICAgICAgICAgICAgICAg
IHBhZ2UsIG9iamVjdCwgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2RpcmVjdF9tb2RlLCBO
VUxMLCBwYWdlX2NvbmZpZyk7CisgICAgICAgICAgICAgICAgcGFnZSwgb2JqZWN0LCBwYXNfc2Vn
cmVnYXRlZF9kZWFsbG9jYXRpb25fZGlyZWN0X21vZGUsIE5VTEwsIHBhZ2VfY29uZmlnLCByb2xl
KTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAgLTEzMDUsNiArMTI4NCw3IEBAIHBhc19sb2Nh
bF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19wYWcKICAgICBkYXRhLnBhZ2VfY29uZmlnID0g
cGFnZV9jb25maWc7CiAgICAgZGF0YS5wYWdlX2JvdW5kYXJ5ID0gcGFzX2xvY2FsX2FsbG9jYXRv
cl9wYWdlX2JvdW5kYXJ5KGFsbG9jYXRvciwgcGFnZV9jb25maWcpOwogICAgIGRhdGEucGFnZSA9
IHBhZ2U7CisgICAgZGF0YS5yb2xlID0gcm9sZTsKICAgICBwYXNfYml0dmVjdG9yX2Zvcl9lYWNo
X3NldF9iaXQoCiAgICAgICAgIHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19w
YWdlX2JpdHNfc291cmNlLAogICAgICAgICBmdWxsX2FsbG9jX2JpdHMud29yZF9pbmRleF9iZWdp
biwgZnVsbF9hbGxvY19iaXRzLndvcmRfaW5kZXhfZW5kLApAQCAtMTMxMiw2ICsxMjkyLDI5IEBA
IHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19wYWcKICAgICAgICAgJmRhdGEp
OwogfQogCitzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9pZAorcGFzX2xvY2FsX2FsbG9jYXRv
cl9yZXR1cm5fbWVtb3J5X3RvX3BhZ2UocGFzX2xvY2FsX2FsbG9jYXRvciogYWxsb2NhdG9yLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRf
dmlldyB2aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZSogcGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBkaXJlY3RvcnksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfbG9ja19ob2xkX21vZGUg
aGVhcF9sb2NrX2hvbGRfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29uZmlnKQoreworICAgIHN3
aXRjaCAocGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRfcGFnZV9yb2xlX2Zvcl9hbGxvY2F0b3Iodmll
dykpIHsKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGU6CisgICAgICAg
IHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9yeV90b19wYWdlX2Zvcl9yb2xlKAorICAg
ICAgICAgICAgYWxsb2NhdG9yLCB2aWV3LCBwYWdlLCBkaXJlY3RvcnksIGhlYXBfbG9ja19ob2xk
X21vZGUsIHBhZ2VfY29uZmlnLAorICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFy
ZWRfcm9sZSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
ZXhjbHVzaXZlX3JvbGU6CisgICAgICAgIHBhc19sb2NhbF9hbGxvY2F0b3JfcmV0dXJuX21lbW9y
eV90b19wYWdlX2Zvcl9yb2xlKAorICAgICAgICAgICAgYWxsb2NhdG9yLCB2aWV3LCBwYWdlLCBk
aXJlY3RvcnksIGhlYXBfbG9ja19ob2xkX21vZGUsIHBhZ2VfY29uZmlnLAorICAgICAgICAgICAg
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworfQorCiAvKiBU
aGlzIHJldHVybnMgZWl0aGVyOgogICAgCiAgICAtIEEgc3VjY2Vzcy4gVGhlbiB5b3UncmUgZG9u
ZSEKQEAgLTE1MDEsNyArMTUwNCw2IEBAIHBhc19sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRl
X3NtYWxsX3MKICAgICAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIHBhc19hbGxvY2F0aW9uX3Jl
c3VsdCByZXN1bHQ7Ci0gICAgICAgIGJvb2wgc2tpcF9iaXRmaXQ7CiAgICAgICAgIGJvb2wgcmVm
aWxsX3Jlc3VsdDsKIAogICAgICAgICBQQVNfQVNTRVJUKGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVk
X2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQpOwpAQCAtMTUxMSw5ICsxNTEzLDggQEAgcGFzX2xvY2Fs
X2FsbG9jYXRvcl90cnlfYWxsb2NhdGVfc21hbGxfcwogICAgICAgICAvKiBJdCdzIGEgKmJpdCog
Z3Jvc3MgdGhhdCB3ZSdyZSBpbmxpbmluZyB0aGlzIGhlcmUuIEJ1dCwgc29tZSBwcm9maWxpbmcg
aW1wbGllZCB0aGF0IG5vdAogICAgICAgICAgICBpbmxpbmluZyB0aGlzIG1hZGUgaXQgdHdpY2Ug
YXMgZXhwZW5zaXZlLiBJdCdzIGp1c3Qgb25lIG9mIHRob3NlIHRoaW5nczogaWYgY29kZSBzaXpl
IGlzIGV2ZXIKICAgICAgICAgICAgYW4gaXNzdWUsIHRoZW4gd2Ugc2hvdWxkIHBvbmRlciB0dXJu
aW5nIHRoaXMgYmFjayBpbnRvIGFuIG91dGxpbmUgY2FsbC4gKi8KLSAgICAgICAgc2tpcF9iaXRm
aXQgPSB0cnVlOwogICAgICAgICByZWZpbGxfcmVzdWx0ID0gcGFzX2xvY2FsX2FsbG9jYXRvcl9y
ZWZpbGxfd2l0aF9rbm93bl9jb25maWcoCi0gICAgICAgICAgICBhbGxvY2F0b3IsIGNvdW50cywg
Y29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLCBza2lwX2JpdGZpdCk7CisgICAgICAgICAg
ICBhbGxvY2F0b3IsIGNvdW50cywgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnKTsKIAog
ICAgICAgICBpZiAoIXJlZmlsbF9yZXN1bHQpCiAgICAgICAgICAgICByZXR1cm4gcGFzX2FsbG9j
YXRpb25fcmVzdWx0X2NyZWF0ZV9mYWlsdXJlKCk7CkBAIC0xNTYyLDggKzE1NjMsNyBAQCBwYXNf
bG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZV9vdXRfb2ZfCiAgICAgICAgIG91cl9raW5kID09
IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfY3JlYXRlX2JpdGZpdCgKICAgICAgICAg
ICAgIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnLmtpbmQpKSB7CiAgICAgICAgIHJldHVybiBj
b25maWcuc21hbGxfYml0Zml0X2NvbmZpZy5zcGVjaWFsaXplZF9hbGxvY2F0b3JfdHJ5X2FsbG9j
YXRlKAotICAgICAgICAgICAgcGFzX2xvY2FsX2FsbG9jYXRvcl9nZXRfYml0Zml0KGFsbG9jYXRv
ciksIGFsbG9jYXRvciwKLSAgICAgICAgICAgIHNpemUsIGFsaWdubWVudCk7CisgICAgICAgICAg
ICBwYXNfbG9jYWxfYWxsb2NhdG9yX2dldF9iaXRmaXQoYWxsb2NhdG9yKSwgc2l6ZSwgYWxpZ25t
ZW50KTsKICAgICB9CiAgICAgCiAgICAgaWYgKGNvbmZpZy5tZWRpdW1fc2VncmVnYXRlZF9jb25m
aWcuYmFzZS5pc19lbmFibGVkICYmCkBAIC0xNTc4LDggKzE1NzgsNyBAQCBwYXNfbG9jYWxfYWxs
b2NhdG9yX3RyeV9hbGxvY2F0ZV9vdXRfb2ZfCiAgICAgICAgIG91cl9raW5kID09IHBhc19sb2Nh
bF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfY3JlYXRlX2JpdGZpdCgKICAgICAgICAgICAgIGNvbmZp
Zy5tZWRpdW1fYml0Zml0X2NvbmZpZy5raW5kKSkgewogICAgICAgICByZXR1cm4gY29uZmlnLm1l
ZGl1bV9iaXRmaXRfY29uZmlnLnNwZWNpYWxpemVkX2FsbG9jYXRvcl90cnlfYWxsb2NhdGUoCi0g
ICAgICAgICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX2dldF9iaXRmaXQoYWxsb2NhdG9yKSwgYWxs
b2NhdG9yLAotICAgICAgICAgICAgc2l6ZSwgYWxpZ25tZW50KTsKKyAgICAgICAgICAgIHBhc19s
b2NhbF9hbGxvY2F0b3JfZ2V0X2JpdGZpdChhbGxvY2F0b3IpLCBzaXplLCBhbGlnbm1lbnQpOwog
ICAgIH0KICAgICAKICAgICBpZiAoY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLmJhc2Uu
aXNfZW5hYmxlZCAmJgpAQCAtMTYwNCw3ICsxNjAzLDcgQEAgcGFzX2xvY2FsX2FsbG9jYXRvcl90
cnlfYWxsb2NhdGVfb3V0X29mXwogICAgICAgICBvdXJfa2luZCA9PSBwYXNfbG9jYWxfYWxsb2Nh
dG9yX2NvbmZpZ19raW5kX2NyZWF0ZV9iaXRmaXQoCiAgICAgICAgICAgICBjb25maWcubWFyZ2Vf
Yml0Zml0X2NvbmZpZy5raW5kKSkgewogICAgICAgICByZXR1cm4gY29uZmlnLm1hcmdlX2JpdGZp
dF9jb25maWcuc3BlY2lhbGl6ZWRfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZSgKLSAgICAgICAgICAg
IHBhc19sb2NhbF9hbGxvY2F0b3JfZ2V0X2JpdGZpdChhbGxvY2F0b3IpLCBhbGxvY2F0b3IsIHNp
emUsIGFsaWdubWVudCk7CisgICAgICAgICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX2dldF9iaXRm
aXQoYWxsb2NhdG9yKSwgc2l6ZSwgYWxpZ25tZW50KTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJu
IHBhc19mYXN0X3BhdGhfYWxsb2NhdGlvbl9yZXN1bHRfY3JlYXRlX25lZWRfc2xvdygpOwpAQCAt
MTY0MSwxNyArMTY0MCwxNyBAQCBwYXNfbG9jYWxfYWxsb2NhdG9yX3RyeV9hbGxvY2F0ZV9zbG93
X2ltCiAgICAgICAgICAgICAgICAgICAgIHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRf
Z2V0X3N0cmluZyhhbGxvY2F0b3ItPmNvbmZpZ19raW5kKSk7CiAgICAgICAgIH0KIAotICAgICAg
ICBQQVNfQVNTRVJUKGFsbG9jYXRvci0+Y29uZmlnX2tpbmQgIT0gcGFzX2xvY2FsX2FsbG9jYXRv
cl9jb25maWdfa2luZF91bnNlbGVjdGVkKTsKLSAgICAgICAgUEFTX0FTU0VSVChhbGxvY2F0b3It
PmNvbmZpZ19raW5kICE9IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfbnVsbCk7Ci0g
ICAgCi0gICAgICAgIC8qIFRoZSBjb25maWcga2luZCBtYXkgYmUgYml0Zml0LCBidXQgcmVmaWxs
aW5nIGlzIHNwZWNpYWxpemVkIG9uIHNlZ3JlZ2F0ZWQgcGFnZSBjb25maWcuICovCi0gICAgICAg
IHBhZ2VfY29uZmlnID0gcGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRfcGFnZV9jb25maWcoYWxsb2Nh
dG9yLT52aWV3KTsKLSAgICAgICAgaWYgKHBhZ2VfY29uZmlnKQotICAgICAgICAgICAgcGFnZV9j
b25maWctPnNwZWNpYWxpemVkX2xvY2FsX2FsbG9jYXRvcl9yZWZpbGwoYWxsb2NhdG9yLCBjb3Vu
dHMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yX3JlZmls
bF93aXRoX2JpdGZpdChhbGxvY2F0b3IsIGNvdW50cyk7CisgICAgICAgIFBBU19URVNUSU5HX0FT
U0VSVChhbGxvY2F0b3ItPmNvbmZpZ19raW5kICE9IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmln
X2tpbmRfdW5zZWxlY3RlZCk7CisgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVChhbGxvY2F0b3It
PmNvbmZpZ19raW5kICE9IHBhc19sb2NhbF9hbGxvY2F0b3JfY29uZmlnX2tpbmRfbnVsbCk7Cisg
ICAgICAgIFBBU19URVNUSU5HX0FTU0VSVCghcGFzX2xvY2FsX2FsbG9jYXRvcl9oYXNfYml0Zml0
KGFsbG9jYXRvcikpOworCisgICAgICAgIHBhZ2VfY29uZmlnID0gcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9jb25maWdfa2luZF9nZXRfY29uZmlnKAorICAgICAgICAgICAgcGFzX2xvY2FsX2FsbG9jYXRv
cl9jb25maWdfa2luZF9nZXRfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kKGFsbG9jYXRvci0+
Y29uZmlnX2tpbmQpKTsKKyAgICAgICAgcGFnZV9jb25maWctPnNwZWNpYWxpemVkX2xvY2FsX2Fs
bG9jYXRvcl9yZWZpbGwoYWxsb2NhdG9yLCBjb3VudHMpOworCisgICAgICAgIFBBU19URVNUSU5H
X0FTU0VSVCghcGFzX2xvY2FsX2FsbG9jYXRvcl9oYXNfYml0Zml0KGFsbG9jYXRvcikpOwogCi0g
ICAgICAgIGlmICghYWxsb2NhdG9yLT5wYWdlX2lzaCAmJiAhcGFzX2xvY2FsX2FsbG9jYXRvcl9o
YXNfYml0Zml0KGFsbG9jYXRvcikpCisgICAgICAgIGlmICghYWxsb2NhdG9yLT5wYWdlX2lzaCkK
ICAgICAgICAgICAgIHJldHVybiBwYXNfYWxsb2NhdGlvbl9yZXN1bHRfY3JlYXRlX2ZhaWx1cmUo
KTsKIAogICAgICAgICByZXN1bHQgPSBjb25maWcuc3BlY2lhbGl6ZWRfbG9jYWxfYWxsb2NhdG9y
X3RyeV9hbGxvY2F0ZV9pbmxpbmVfY2FzZXMoYWxsb2NhdG9yKTsKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19vYmplY3Rfa2luZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19vYmplY3Rfa2luZC5oCShyZXZpc2lv
biAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfb2JqZWN0
X2tpbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KGMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChj
KSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw3ICsyNyw3IEBACiAjZGVmaW5lIFBBU19PQkpFQ1Rf
S0lORF9ICiAKICNpbmNsdWRlICJwYXNfYml0Zml0X3BhZ2VfY29uZmlnX3ZhcmlhbnQuaCIKLSNp
bmNsdWRlICJwYXNfcGFnZV9jb25maWdfa2luZC5oIgorI2luY2x1ZGUgInBhc19wYWdlX2tpbmQu
aCIKICNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ192YXJpYW50LmgiCiAKIFBB
U19CRUdJTl9FWFRFUk5fQzsKQEAgLTk0LDYgKzk0LDI2IEBAIHBhc19vYmplY3Rfa2luZF9mb3Jf
Yml0Zml0X3ZhcmlhbnQocGFzX2IKICAgICByZXR1cm4gcGFzX25vdF9hbl9vYmplY3Rfa2luZDsK
IH0KIAorc3RhdGljIGlubGluZSBwYXNfb2JqZWN0X2tpbmQgcGFzX29iamVjdF9raW5kX2Zvcl9w
YWdlX2tpbmQocGFzX3BhZ2Vfa2luZCBwYWdlX2tpbmQpCit7CisgICAgc3dpdGNoIChwYWdlX2tp
bmQpIHsKKyAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6
CisgICAgY2FzZSBwYXNfc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAg
ICByZXR1cm4gcGFzX3NtYWxsX3NlZ3JlZ2F0ZWRfb2JqZWN0X2tpbmQ7CisgICAgY2FzZSBwYXNf
bWVkaXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19tZWRp
dW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICByZXR1cm4gcGFzX21lZGl1
bV9zZWdyZWdhdGVkX29iamVjdF9raW5kOworICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9wYWdl
X2tpbmQ6CisgICAgICAgIHJldHVybiBwYXNfc21hbGxfYml0Zml0X29iamVjdF9raW5kOworICAg
IGNhc2UgcGFzX21lZGl1bV9iaXRmaXRfcGFnZV9raW5kOgorICAgICAgICByZXR1cm4gcGFzX21l
ZGl1bV9iaXRmaXRfb2JqZWN0X2tpbmQ7CisgICAgY2FzZSBwYXNfbWFyZ2VfYml0Zml0X3BhZ2Vf
a2luZDoKKyAgICAgICAgcmV0dXJuIHBhc19tYXJnZV9iaXRmaXRfb2JqZWN0X2tpbmQ7CisgICAg
fQorICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICByZXR1cm4g
cGFzX25vdF9hbl9vYmplY3Rfa2luZDsKK30KKwogUEFTX0VORF9FWFRFUk5fQzsKIAogI2VuZGlm
IC8qIFBBU19PQkpFQ1RfS0lORF9IICovCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3Jj
L2xpYnBhcy9wYXNfcGFnZV9iYXNlX2FuZF9raW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9hbmRfa2luZC5oCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2Vf
YW5kX2tpbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJp
Z2h0IChjKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUEFTX1BBR0VfQkFTRV9B
TkRfS0lORF9ICisjZGVmaW5lIFBBU19QQUdFX0JBU0VfQU5EX0tJTkRfSAorCisjaW5jbHVkZSAi
cGFzX3BhZ2VfYmFzZS5oIgorCitQQVNfQkVHSU5fRVhURVJOX0M7CisKK3N0cnVjdCBwYXNfcGFn
ZV9iYXNlOworc3RydWN0IHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQ7Cit0eXBlZGVmIHN0cnVjdCBw
YXNfcGFnZV9iYXNlIHBhc19wYWdlX2Jhc2U7Cit0eXBlZGVmIHN0cnVjdCBwYXNfcGFnZV9iYXNl
X2FuZF9raW5kIHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQ7CisKK3N0cnVjdCBwYXNfcGFnZV9iYXNl
X2FuZF9raW5kIHsKKyAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CisgICAgcGFzX3BhZ2Vf
a2luZCBwYWdlX2tpbmQ7Cit9OworCitzdGF0aWMgaW5saW5lIHBhc19wYWdlX2Jhc2VfYW5kX2tp
bmQgcGFzX3BhZ2VfYmFzZV9hbmRfa2luZF9jcmVhdGUocGFzX3BhZ2VfYmFzZSogcGFnZV9iYXNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhc19wYWdlX2tpbmQgcGFnZV9raW5kKQoreworICAgIHBhc19wYWdlX2Jh
c2VfYW5kX2tpbmQgcmVzdWx0OworICAgIFBBU19URVNUSU5HX0FTU0VSVChwYWdlX2Jhc2UpOwor
ICAgIFBBU19URVNUSU5HX0FTU0VSVChwYXNfcGFnZV9iYXNlX2dldF9raW5kKHBhZ2VfYmFzZSkg
PT0gcGFnZV9raW5kKTsKKyAgICByZXN1bHQucGFnZV9iYXNlID0gcGFnZV9iYXNlOworICAgIHJl
c3VsdC5wYWdlX2tpbmQgPSBwYWdlX2tpbmQ7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3Rh
dGljIGlubGluZSBwYXNfcGFnZV9iYXNlX2FuZF9raW5kIHBhc19wYWdlX2Jhc2VfYW5kX2tpbmRf
Y3JlYXRlX2VtcHR5KHZvaWQpCit7CisgICAgcGFzX3BhZ2VfYmFzZV9hbmRfa2luZCByZXN1bHQ7
CisgICAgcGFzX3plcm9fbWVtb3J5KCZyZXN1bHQsIHNpemVvZihyZXN1bHQpKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitQQVNfRU5EX0VYVEVSTl9DOworCisjZW5kaWYgLyogUEFTX1BBR0Vf
QkFTRV9BTkRfS0lORF9IICovCisKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19wYWdlX2Jhc2VfY29uZmlnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2VfYmFzZV9jb25maWcuYwkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfcGFnZV9iYXNlX2NvbmZpZy5j
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgInBhc19jb25maWcuaCIKKworI2lmIExJ
QlBBU19FTkFCTEVECisKKyNpbmNsdWRlICJwYXNfcGFnZV9iYXNlX2NvbmZpZy5oIgorCisjaW5j
bHVkZSAicGFzX2JpdGZpdF9wYWdlX2NvbmZpZy5oIgorI2luY2x1ZGUgInBhc19zZWdyZWdhdGVk
X3BhZ2VfY29uZmlnLmgiCisKK1BBU19CRUdJTl9FWFRFUk5fQzsKKworY29uc3QgY2hhciogcGFz
X3BhZ2VfYmFzZV9jb25maWdfZ2V0X2tpbmRfc3RyaW5nKHBhc19wYWdlX2Jhc2VfY29uZmlnKiBj
b25maWcpCit7CisgICAgc3dpdGNoIChjb25maWctPnBhZ2VfY29uZmlnX2tpbmQpIHsKKyAgICBj
YXNlIHBhc19wYWdlX2NvbmZpZ19raW5kX3NlZ3JlZ2F0ZWQ6CisgICAgICAgIHJldHVybiBwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2dldF9zdHJpbmcocGFzX3BhZ2VfYmFzZV9jb25m
aWdfZ2V0X3NlZ3JlZ2F0ZWQoY29uZmlnKS0+a2luZCk7CisgICAgY2FzZSBwYXNfcGFnZV9jb25m
aWdfa2luZF9iaXRmaXQ6CisgICAgICAgIHJldHVybiBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tp
bmRfZ2V0X3N0cmluZyhwYXNfcGFnZV9iYXNlX2NvbmZpZ19nZXRfYml0Zml0KGNvbmZpZyktPmtp
bmQpOworICAgIH0KKyAgICBQQVNfQVNTRVJUKCEiU2hvdWxkIG5vdCBiZSByZWFjaGVkIik7Cisg
ICAgcmV0dXJuIE5VTEw7Cit9CisKK1BBU19FTkRfRVhURVJOX0M7CisKKyNlbmRpZiAvKiBMSUJQ
QVNfRU5BQkxFRCAqLworCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9w
YXNfcGFnZV9iYXNlX2NvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfY29uZmlnLmgJKHJldmlzaW9uIDI4NjQzOCkKKysr
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2Jhc2VfY29uZmlnLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChjKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAyMC0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjcsOCArMjcsOCBAQAogI2RlZmluZSBQQVNfUEFHRV9CQVNFX0NPTkZJ
R19ICiAKICNpbmNsdWRlICJwYXNfbG9jay5oIgorI2luY2x1ZGUgInBhc19wYWdlX2NvbmZpZ19r
aW5kLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2VfZ3JhbnVsZV91c2VfY291bnQuaCIKLSNpbmNsdWRl
ICJwYXNfcGFnZV9raW5kLmgiCiAjaW5jbHVkZSAicGFzX3V0aWxzLmgiCiAKIFBBU19CRUdJTl9F
WFRFUk5fQzsKQEAgLTU0LDggKzU0LDYgQEAgdHlwZWRlZiBwYXNfcGFnZV9iYXNlKiAoKnBhc19w
YWdlX2Jhc2VfYwogdHlwZWRlZiB2b2lkKiAoKnBhc19wYWdlX2Jhc2VfY29uZmlnX2JvdW5kYXJ5
X2Zvcl9wYWdlX2hlYWRlcikocGFzX3BhZ2VfYmFzZSogcGFnZSk7CiB0eXBlZGVmIHBhc19wYWdl
X2Jhc2UqICgqcGFzX3BhZ2VfYmFzZV9jb25maWdfcGFnZV9oZWFkZXJfZm9yX2JvdW5kYXJ5X3Jl
bW90ZSkoCiAgICAgcGFzX2VudW1lcmF0b3IqIGVudW1lcmF0b3IsIHZvaWQqIGJvdW5kYXJ5KTsK
LXR5cGVkZWYgdm9pZCogKCpwYXNfcGFnZV9iYXNlX2NvbmZpZ19wYWdlX2FsbG9jYXRvcikoCi0g
ICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCosIHBhc19waHlzaWNhbF9tZW1vcnlfdHJhbnNhY3Rpb24q
IHRyYW5zYWN0aW9uKTsKIHR5cGVkZWYgcGFzX3BhZ2VfYmFzZSogKCpwYXNfcGFnZV9iYXNlX2Nv
bmZpZ19jcmVhdGVfcGFnZV9oZWFkZXIpKAogICAgIHZvaWQqIGJvdW5kYXJ5LCBwYXNfbG9ja19o
b2xkX21vZGUgaGVhcF9sb2NrX2hvbGRfbW9kZSk7CiB0eXBlZGVmIHZvaWQgKCpwYXNfcGFnZV9i
YXNlX2NvbmZpZ19kZXN0cm95X3BhZ2VfaGVhZGVyKSgKQEAgLTczLDcgKzcxLDcgQEAgc3RydWN0
IHBhc19wYWdlX2Jhc2VfY29uZmlnIHsKIAogICAgIC8qIFdoYXQgcGFnZV9raW5kIHRvIHB1dCBp
biBwYWdlcyBhbGxvY2F0ZWQgYnkgdGhpcyBjb25maWcuIFRoaXMgaGFwcGVucyB0byB0ZWxsIGlm
IHRoZSBjb25maWcKICAgICAgICBpcyBhIHNlZ3JlZ2F0ZWQgb3IgYSBiaXRmaXQgY29uZmlnLiAq
LwotICAgIHBhc19wYWdlX2tpbmQgcGFnZV9raW5kOworICAgIHBhc19wYWdlX2NvbmZpZ19raW5k
IHBhZ2VfY29uZmlnX2tpbmQ7CiAKICAgICAvKiBTbWFsbGVzdCBzbWFsbCBvYmplY3Qgc2l6ZSBh
bmQgdGhlIG1pbmltdW0gYWxpZ25tZW50LiAqLwogICAgIHVpbnQ4X3QgbWluX2FsaWduX3NoaWZ0
OwpAQCAtMTA2LDkgKzEwNCw2IEBAIHN0cnVjdCBwYXNfcGFnZV9iYXNlX2NvbmZpZyB7CiAgICAg
LyogSG93IG1hbnkgYnl0ZXMgYXJlIHByb3Zpc2lvbmVkIGZvciBvYmplY3RzIHBhc3QgdGhhdCBv
ZmZzZXQ/ICovCiAgICAgc2l6ZV90IHBhZ2Vfb2JqZWN0X3BheWxvYWRfc2l6ZTsKIAotICAgIC8q
IFRoaXMgaXMgdGhlIGFsbG9jYXRvciB1c2VkIHRvIGNyZWF0ZSBwYWdlcy4gKi8KLSAgICBwYXNf
cGFnZV9iYXNlX2NvbmZpZ19wYWdlX2FsbG9jYXRvciBwYWdlX2FsbG9jYXRvcjsKLQogICAgIC8q
IFNvbWUgY29uZmlndXJhdGlvbnMgbmVlZCB0byBiZSBhYmxlIHRvIGFsbG9jYXRlL2ZyZWUgdGhl
IHBhZ2UgaGVhZGVyLiBUaGUgYWxsb2NhdGlvbiB3b3VsZAogICAgICAgIGhhcHBlbiBhZnRlciBw
YWdlIGFsbG9jYXRpb24gb3IgY29tbWl0LCBhbmQgdGhlIGRlYWxsb2NhdGlvbiB3b3VsZCBoYXBw
ZW4gcmlnaHQgYmVmb3JlIG9yCiAgICAgICAgcmlnaHQgYWZ0ZXIgcGFnZSBkZWNvbW1pdC4gKi8K
QEAgLTEzNiwyMCArMTMxLDE0IEBAIHBhc19wYWdlX2Jhc2VfY29uZmlnX251bV9ncmFudWxlX2J5
dGVzKHAKICAgICByZXR1cm4gUEFTX1BBR0VfQkFTRV9DT05GSUdfTlVNX0dSQU5VTEVfQllURVMo
Y29uZmlnLnBhZ2Vfc2l6ZSAvIGNvbmZpZy5ncmFudWxlX3NpemUpOwogfQogCi1zdGF0aWMgUEFT
X0FMV0FZU19JTkxJTkUgcGFzX3BhZ2VfY29uZmlnX2tpbmQKLXBhc19wYWdlX2Jhc2VfY29uZmln
X2dldF9jb25maWdfa2luZChwYXNfcGFnZV9iYXNlX2NvbmZpZyBjb25maWcpCi17Ci0gICAgcmV0
dXJuIHBhc19wYWdlX2tpbmRfZ2V0X2NvbmZpZ19raW5kKGNvbmZpZy5wYWdlX2tpbmQpOwotfQot
CiBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgYm9vbCBwYXNfcGFnZV9iYXNlX2NvbmZpZ19pc19z
ZWdyZWdhdGVkKHBhc19wYWdlX2Jhc2VfY29uZmlnIGNvbmZpZykKIHsKLSAgICByZXR1cm4gcGFz
X3BhZ2VfYmFzZV9jb25maWdfZ2V0X2NvbmZpZ19raW5kKGNvbmZpZykgPT0gcGFzX3BhZ2VfY29u
ZmlnX2tpbmRfc2VncmVnYXRlZDsKKyAgICByZXR1cm4gY29uZmlnLnBhZ2VfY29uZmlnX2tpbmQg
PT0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZDsKIH0KIAogc3RhdGljIFBBU19BTFdB
WVNfSU5MSU5FIGJvb2wgcGFzX3BhZ2VfYmFzZV9jb25maWdfaXNfYml0Zml0KHBhc19wYWdlX2Jh
c2VfY29uZmlnIGNvbmZpZykKIHsKLSAgICByZXR1cm4gcGFzX3BhZ2VfYmFzZV9jb25maWdfZ2V0
X2NvbmZpZ19raW5kKGNvbmZpZykgPT0gcGFzX3BhZ2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZDsK
KyAgICByZXR1cm4gY29uZmlnLnBhZ2VfY29uZmlnX2tpbmQgPT0gcGFzX3BhZ2VfY29uZmlnX2tp
bmRfc2VncmVnYXRlZDsKIH0KIAogc3RhdGljIGlubGluZSBwYXNfc2VncmVnYXRlZF9wYWdlX2Nv
bmZpZyoKQEAgLTE2Niw2ICsxNTUsOCBAQCBwYXNfcGFnZV9iYXNlX2NvbmZpZ19nZXRfYml0Zml0
KHBhc19wYWdlCiAgICAgcmV0dXJuIChwYXNfYml0Zml0X3BhZ2VfY29uZmlnKiljb25maWc7CiB9
CiAKK1BBU19BUEkgY29uc3QgY2hhciogcGFzX3BhZ2VfYmFzZV9jb25maWdfZ2V0X2tpbmRfc3Ry
aW5nKHBhc19wYWdlX2Jhc2VfY29uZmlnKiBjb25maWcpOworCiBQQVNfRU5EX0VYVEVSTl9DOwog
CiAjZW5kaWYgLyogUEFTX1BBR0VfQkFTRV9DT05GSUdfSCAqLwpJbmRleDogU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2Vfa2luZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19wYWdlX2tpbmQuaAkocmV2aXNpb24gMjg2
NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3BhZ2Vfa2luZC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyArMjksMTYgQEAKICNpbmNsdWRlICJwYXNfYml0Zml0
X3BhZ2VfY29uZmlnX3ZhcmlhbnQuaCIKICNpbmNsdWRlICJwYXNfcGFnZV9jb25maWdfa2luZC5o
IgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3ZhcmlhbnQuaCIKKyNpbmNs
dWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUuaCIKIAogUEFTX0JFR0lOX0VYVEVSTl9DOwog
CiBlbnVtIHBhc19wYWdlX2tpbmQgewotICAgIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfa2lu
ZCA9IDEsIC8qIFdlIGRvbid0IHdhbnQgemVyby1pbml0aWFsaXplZCBtZW1vcnkgdG8gbG9vayBs
aWtlIGl0IGhhcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEg
a2luZC4gKi8KLSAgICBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kLAorICAgIHBhc19z
bWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQgPSAxLCAvKiBXZSBkb24ndCB3YW50IHpl
cm8taW5pdGlhbGl6ZWQgbWVtb3J5IHRvIGxvb2sgbGlrZSBpdCBoYXMKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEga2luZC4gKi8KKyAgICBwYXNf
c21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kLAorICAgIHBhc19tZWRpdW1fc2hh
cmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kLAorICAgIHBhc19tZWRpdW1fZXhjbHVzaXZlX3NlZ3Jl
Z2F0ZWRfcGFnZV9raW5kLAogICAgIHBhc19zbWFsbF9iaXRmaXRfcGFnZV9raW5kLAogICAgIHBh
c19tZWRpdW1fYml0Zml0X3BhZ2Vfa2luZCwKICAgICBwYXNfbWFyZ2VfYml0Zml0X3BhZ2Vfa2lu
ZApAQCAtNDYsMTAgKzQ5LDE0IEBAIHR5cGVkZWYgZW51bSBwYXNfcGFnZV9raW5kIHBhc19wYWdl
X2tpbmQKIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogcGFzX3BhZ2Vfa2luZF9nZXRfc3RyaW5n
KHBhc19wYWdlX2tpbmQgcGFnZV9raW5kKQogewogICAgIHN3aXRjaCAocGFnZV9raW5kKSB7Ci0g
ICAgY2FzZSBwYXNfc21hbGxfc2VncmVnYXRlZF9wYWdlX2tpbmQ6Ci0gICAgICAgIHJldHVybiAi
c21hbGxfc2VncmVnYXRlZCI7Ci0gICAgY2FzZSBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9r
aW5kOgotICAgICAgICByZXR1cm4gIm1lZGl1bV9zZWdyZWdhdGVkIjsKKyAgICBjYXNlIHBhc19z
bWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgIHJldHVybiAic21hbGxf
c2hhcmVkX3NlZ3JlZ2F0ZWQiOworICAgIGNhc2UgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdh
dGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgcmV0dXJuICJzbWFsbF9leGNsdXNpdmVfc2VncmVnYXRl
ZCI7CisgICAgY2FzZSBwYXNfbWVkaXVtX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAg
ICAgICAgcmV0dXJuICJtZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWQiOworICAgIGNhc2UgcGFzX21l
ZGl1bV9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgIHJldHVybiAibWVk
aXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkIjsKICAgICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfcGFn
ZV9raW5kOgogICAgICAgICByZXR1cm4gInNtYWxsX2JpdGZpdCI7CiAgICAgY2FzZSBwYXNfbWVk
aXVtX2JpdGZpdF9wYWdlX2tpbmQ6CkBAIC02NCw4ICs3MSwxMCBAQCBzdGF0aWMgaW5saW5lIGNv
bnN0IGNoYXIqIHBhc19wYWdlX2tpbmRfCiBzdGF0aWMgaW5saW5lIHBhc19wYWdlX2NvbmZpZ19r
aW5kIHBhc19wYWdlX2tpbmRfZ2V0X2NvbmZpZ19raW5kKHBhc19wYWdlX2tpbmQgcGFnZV9raW5k
KQogewogICAgIHN3aXRjaCAocGFnZV9raW5kKSB7Ci0gICAgY2FzZSBwYXNfc21hbGxfc2VncmVn
YXRlZF9wYWdlX2tpbmQ6Ci0gICAgY2FzZSBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9raW5k
OgorICAgIGNhc2UgcGFzX3NtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICBj
YXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgY2FzZSBw
YXNfbWVkaXVtX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19tZWRp
dW1fZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgogICAgICAgICByZXR1cm4gcGFzX3Bh
Z2VfY29uZmlnX2tpbmRfc2VncmVnYXRlZDsKICAgICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfcGFn
ZV9raW5kOgogICAgIGNhc2UgcGFzX21lZGl1bV9iaXRmaXRfcGFnZV9raW5kOgpAQCAtODAsOSAr
ODksMTEgQEAgc3RhdGljIGlubGluZSBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZwogcGFzX3Bh
Z2Vfa2luZF9nZXRfc2VncmVnYXRlZF92YXJpYW50KHBhc19wYWdlX2tpbmQgcGFnZV9raW5kKQog
ewogICAgIHN3aXRjaCAocGFnZV9raW5kKSB7Ci0gICAgY2FzZSBwYXNfc21hbGxfc2VncmVnYXRl
ZF9wYWdlX2tpbmQ6CisgICAgY2FzZSBwYXNfc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9r
aW5kOgorICAgIGNhc2UgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoK
ICAgICAgICAgcmV0dXJuIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3ZhcmlhbnQ7
Ci0gICAgY2FzZSBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgIGNhc2UgcGFz
X21lZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgY2FzZSBwYXNfbWVkaXVt
X2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKICAgICAgICAgcmV0dXJuIHBhc19tZWRp
dW1fc2VncmVnYXRlZF9wYWdlX2NvbmZpZ192YXJpYW50OwogICAgIGRlZmF1bHQ6CiAgICAgICAg
IFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKQEAgLTkwLDYgKzEwMSwyMiBA
QCBwYXNfcGFnZV9raW5kX2dldF9zZWdyZWdhdGVkX3ZhcmlhbnQocGFzCiAgICAgfQogfQogCitz
dGF0aWMgaW5saW5lIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZQorcGFzX3BhZ2Vfa2luZF9nZXRf
c2VncmVnYXRlZF9yb2xlKHBhc19wYWdlX2tpbmQgcGFnZV9raW5kKQoreworICAgIHN3aXRjaCAo
cGFnZV9raW5kKSB7CisgICAgY2FzZSBwYXNfc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9r
aW5kOgorICAgIGNhc2UgcGFzX21lZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6Cisg
ICAgICAgIHJldHVybiBwYXNfc2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOworICAgIGNhc2Ug
cGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19t
ZWRpdW1fZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICByZXR1cm4gcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZTsKKyAgICBkZWZhdWx0OgorICAgICAgICBQ
QVNfQVNTRVJUKCEiU2hvdWxkIG5vdCBiZSByZWFjaGVkIik7CisgICAgICAgIHJldHVybiBwYXNf
c2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOworICAgIH0KK30KKwogc3RhdGljIGlubGluZSBw
YXNfYml0Zml0X3BhZ2VfY29uZmlnX3ZhcmlhbnQKIHBhc19wYWdlX2tpbmRfZ2V0X2JpdGZpdF92
YXJpYW50KHBhc19wYWdlX2tpbmQgcGFnZV9raW5kKQogewpAQCAtMTA2LDYgKzEzMyw0OCBAQCBw
YXNfcGFnZV9raW5kX2dldF9iaXRmaXRfdmFyaWFudChwYXNfcGFnCiAgICAgfQogfQogCitzdGF0
aWMgaW5saW5lIHBhc19wYWdlX2tpbmQgcGFzX3BhZ2Vfa2luZF9mb3Jfc2VncmVnYXRlZF92YXJp
YW50X2FuZF9yb2xlKAorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3ZhcmlhbnQgdmFy
aWFudCwKKyAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcm9sZSkKK3sKKyAgICBzd2l0Y2gg
KHZhcmlhbnQpIHsKKyAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3Zh
cmlhbnQ6CisgICAgICAgIHN3aXRjaCAocm9sZSkgeworICAgICAgICBjYXNlIHBhc19zZWdyZWdh
dGVkX3BhZ2Vfc2hhcmVkX3JvbGU6CisgICAgICAgICAgICByZXR1cm4gcGFzX3NtYWxsX3NoYXJl
ZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDsKKyAgICAgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9wYWdl
X2V4Y2x1c2l2ZV9yb2xlOgorICAgICAgICAgICAgcmV0dXJuIHBhc19zbWFsbF9leGNsdXNpdmVf
c2VncmVnYXRlZF9wYWdlX2tpbmQ7CisgICAgICAgIH0KKyAgICAgICAgUEFTX0FTU0VSVCghIlNo
b3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgICAgICByZXR1cm4gcGFzX3NtYWxsX3NoYXJlZF9z
ZWdyZWdhdGVkX3BhZ2Vfa2luZDsKKyAgICBjYXNlIHBhc19tZWRpdW1fc2VncmVnYXRlZF9wYWdl
X2NvbmZpZ192YXJpYW50OgorICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKKyAgICAgICAgY2FzZSBw
YXNfc2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOgorICAgICAgICAgICAgcmV0dXJuIHBhc19t
ZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOworICAgICAgICBjYXNlIHBhc19zZWdy
ZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU6CisgICAgICAgICAgICByZXR1cm4gcGFzX21lZGl1
bV9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ7CisgICAgICAgIH0KKyAgICAgICAgUEFT
X0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgICAgICByZXR1cm4gcGFzX3Nt
YWxsX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDsKKyAgICB9CisgICAgUEFTX0FTU0VSVCgh
IlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgIHJldHVybiBwYXNfc21hbGxfc2hhcmVkX3Nl
Z3JlZ2F0ZWRfcGFnZV9raW5kOworfQorCitzdGF0aWMgaW5saW5lIHBhc19wYWdlX2tpbmQgcGFz
X3BhZ2Vfa2luZF9mb3JfYml0Zml0X3ZhcmlhbnQocGFzX2JpdGZpdF9wYWdlX2NvbmZpZ192YXJp
YW50IHZhcmlhbnQpCit7CisgICAgc3dpdGNoICh2YXJpYW50KSB7CisgICAgY2FzZSBwYXNfc21h
bGxfYml0Zml0X3BhZ2VfY29uZmlnX3ZhcmlhbnQ6CisgICAgICAgIHJldHVybiBwYXNfc21hbGxf
Yml0Zml0X3BhZ2Vfa2luZDsKKyAgICBjYXNlIHBhc19tZWRpdW1fYml0Zml0X3BhZ2VfY29uZmln
X3ZhcmlhbnQ6CisgICAgICAgIHJldHVybiBwYXNfbWVkaXVtX2JpdGZpdF9wYWdlX2tpbmQ7Cisg
ICAgY2FzZSBwYXNfbWFyZ2VfYml0Zml0X3BhZ2VfY29uZmlnX3ZhcmlhbnQ6CisgICAgICAgIHJl
dHVybiBwYXNfbWFyZ2VfYml0Zml0X3BhZ2Vfa2luZDsKKyAgICB9CisgICAgUEFTX0FTU0VSVCgh
IlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgIHJldHVybiBwYXNfc21hbGxfc2hhcmVkX3Nl
Z3JlZ2F0ZWRfcGFnZV9raW5kOworfQorCiBQQVNfRU5EX0VYVEVSTl9DOwogCiAjZW5kaWYgLyog
UEFTX1BBR0VfS0lORF9IICovCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxv
Y2F0aW9uX2xvZ2dpbmdfbW9kZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9ibWFsbG9jL2xp
YnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dnaW5nX21vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUEFTX1NFR1JFR0FURURfREVBTExPQ0FU
SU9OX0xPR0dJTkdfTU9ERV9ICisjZGVmaW5lIFBBU19TRUdSRUdBVEVEX0RFQUxMT0NBVElPTl9M
T0dHSU5HX01PREVfSAorCisjaW5jbHVkZSAicGFzX3V0aWxzLmgiCisKK1BBU19CRUdJTl9FWFRF
Uk5fQzsKKworZW51bSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlIHsK
KyAgICBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLAorICAgIHBh
c19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX29ibGl2aW91c19sb2dnaW5nX21vZGUsCisg
ICAgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfYXdhcmVfbG9nZ2luZ19tb2RlLAor
ICAgIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9jaGVja2VkX3NpemVfb2JsaXZpb3VzX2xv
Z2dpbmdfbW9kZSwKKyAgICBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fY2hlY2tlZF9zaXpl
X2F3YXJlX2xvZ2dpbmdfbW9kZQorfTsKKwordHlwZWRlZiBlbnVtIHBhc19zZWdyZWdhdGVkX2Rl
YWxsb2NhdGlvbl9sb2dnaW5nX21vZGUgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dp
bmdfbW9kZTsKKworc3RhdGljIGlubGluZSBib29sIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlv
bl9sb2dnaW5nX21vZGVfZG9lc19sb2dnaW5nKAorICAgIHBhc19zZWdyZWdhdGVkX2RlYWxsb2Nh
dGlvbl9sb2dnaW5nX21vZGUgbG9nZ2luZ19tb2RlKQoreworICAgIHN3aXRjaCAobG9nZ2luZ19t
b2RlKSB7CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19t
b2RlOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fc2l6ZV9vYmxpdmlvdXNfbG9nZ2luZ19tb2RlOgorICAgIGNhc2UgcGFzX3NlZ3Jl
Z2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfYXdhcmVfbG9nZ2luZ19tb2RlOgorICAgIGNhc2UgcGFz
X3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2NoZWNrZWRfc2l6ZV9vYmxpdmlvdXNfbG9nZ2luZ19t
b2RlOgorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2NoZWNrZWRfc2l6ZV9h
d2FyZV9sb2dnaW5nX21vZGU6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBQQVNf
QVNTRVJUKCEiU2hvdWxkIG5vdCBiZSByZWFjaGVkIik7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitzdGF0aWMgaW5saW5lIGJvb2wgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdf
bW9kZV9pc19zaXplX2F3YXJlKAorICAgIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dn
aW5nX21vZGUgbG9nZ2luZ19tb2RlKQoreworICAgIHN3aXRjaCAobG9nZ2luZ19tb2RlKSB7Cisg
ICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlOgorICAg
ICAgICBQQVNfQVNTRVJUKCEiU2hvdWxkIG5vdCBiZSByZWFjaGVkIik7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX29ibGl2
aW91c19sb2dnaW5nX21vZGU6CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25f
Y2hlY2tlZF9zaXplX29ibGl2aW91c19sb2dnaW5nX21vZGU6CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9zaXplX2F3YXJlX2xvZ2dp
bmdfbW9kZToKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9jaGVja2VkX3Np
emVfYXdhcmVfbG9nZ2luZ19tb2RlOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
UEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgIHJldHVybiBmYWxzZTsK
K30KKworc3RhdGljIGlubGluZSBib29sIHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dn
aW5nX21vZGVfaXNfY2hlY2tlZCgKKyAgICBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9n
Z2luZ19tb2RlIGxvZ2dpbmdfbW9kZSkKK3sKKyAgICBzd2l0Y2ggKGxvZ2dpbmdfbW9kZSkgewor
ICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX25vX2xvZ2dpbmdfbW9kZToKKyAg
ICAgICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fc2l6ZV9vYmxp
dmlvdXNfbG9nZ2luZ19tb2RlOgorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9u
X3NpemVfYXdhcmVfbG9nZ2luZ19tb2RlOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2Fz
ZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fY2hlY2tlZF9zaXplX29ibGl2aW91c19sb2dn
aW5nX21vZGU6CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fY2hlY2tlZF9z
aXplX2F3YXJlX2xvZ2dpbmdfbW9kZToKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK1BBU19FTkRfRVhURVJOX0M7CisKKyNlbmRpZiAvKiBQQVNfU0VHUkVHQVRFRF9ERUFM
TE9DQVRJT05fTE9HR0lOR19NT0RFX0ggKi8KKwpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfaGVhcC5jCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX2hlYXAuYwkocmV2aXNpb24g
Mjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0
ZWRfaGVhcC5jCSh3b3JraW5nIGNvcHkpCkBAIC04MSw4ICs4MSwxMCBAQCBzdGF0aWMgc2l6ZV90
IG1heF9vYmplY3Rfc2l6ZV9mb3JfcGFnZV9jCiAgICAgCiAgICAgc2l6ZV90IHJlc3VsdDsKIAot
ICAgIGlmICh2ZXJib3NlKQotICAgICAgICBwYXNfbG9nKCJtYXhfb2JqZWN0X3NpemUgZm9yICVw
ICglcyk6ICV6dVxuIiwgJnBhcmVudF9oZWFwLT5zZWdyZWdhdGVkX2hlYXAsIHBhc19wYWdlX2tp
bmRfZ2V0X3N0cmluZyhwYWdlX2NvbmZpZy0+cGFnZV9raW5kKSwgcGFnZV9jb25maWctPm1heF9v
YmplY3Rfc2l6ZSk7CisgICAgaWYgKHZlcmJvc2UpIHsKKyAgICAgICAgcGFzX2xvZygibWF4X29i
amVjdF9zaXplIGZvciAlcCAoJXMpOiAlenVcbiIsICZwYXJlbnRfaGVhcC0+c2VncmVnYXRlZF9o
ZWFwLAorICAgICAgICAgICAgICAgIHBhc19wYWdlX2Jhc2VfY29uZmlnX2dldF9raW5kX3N0cmlu
ZyhwYWdlX2NvbmZpZyksIHBhZ2VfY29uZmlnLT5tYXhfb2JqZWN0X3NpemUpOworICAgIH0KICAg
ICAKICAgICByZXN1bHQgPSBwYXNfcm91bmRfZG93bl90b19wb3dlcl9vZl8yKAogICAgICAgICBw
YWdlX2NvbmZpZy0+bWF4X29iamVjdF9zaXplLApAQCAtMTI0MSw2ICsxMjQzLDggQEAgcGFzX3Nl
Z3JlZ2F0ZWRfaGVhcF9lbnN1cmVfc2l6ZV9kaXJlY3RvcgogICAgICAgICAgICAgICAgIGhlYXAs
IHBhc19oZWFwX2NvbmZpZ19raW5kX2dldF9zdHJpbmcoY29uZmlnLT5raW5kKSwgc2l6ZSwgYWxp
Z25tZW50KTsKICAgICB9CiAKKyAgICBQQVNfQVNTRVJUKHBhc19pc19hbGlnbmVkKHNpemUsIGFs
aWdubWVudCkpOworCiAgICAgaWYgKFBBU19FTkFCTEVfVEVTVElORykgewogICAgICAgICBjaGVj
a19wYXJ0X29mX2FsbF9oZWFwc19kYXRhIGRhdGE7CiAgICAgICAgIGRhdGEuaGVhcCA9IGhlYXA7
CkBAIC0xMzI3LDggKzEzMzEsOSBAQCBwYXNfc2VncmVnYXRlZF9oZWFwX2Vuc3VyZV9zaXplX2Rp
cmVjdG9yCiAgICAgcmVzdWx0ID0gcGFzX3NlZ3JlZ2F0ZWRfaGVhcF9zaXplX2RpcmVjdG9yeV9m
b3JfaW5kZXgoaGVhcCwgaW5kZXgsIGNhY2hlZF9pbmRleCwgY29uZmlnKTsKIAogICAgIFBBU19B
U1NFUlQoCi0gICAgICAgICFyZXN1bHQgfHwKLSAgICAgICAgcGFzX2lzX2FsaWduZWQocmVzdWx0
LT5vYmplY3Rfc2l6ZSwgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfYWxpZ25tZW50KHJl
c3VsdCkpKTsKKyAgICAgICAgIXJlc3VsdAorICAgICAgICB8fCBwYXNfaXNfYWxpZ25lZChyZXN1
bHQtPm9iamVjdF9zaXplLCBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV9hbGlnbm1lbnQo
cmVzdWx0KSkKKyAgICAgICAgfHwgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfaXNfYml0
Zml0KHJlc3VsdCkpOwogCiAgICAgaXNfdXRpbGl0eSA9IHBhc19oZWFwX2NvbmZpZ19pc191dGls
aXR5KGNvbmZpZyk7CiAKQEAgLTEzNDUsNiArMTM1MCwxNSBAQCBwYXNfc2VncmVnYXRlZF9oZWFw
X2Vuc3VyZV9zaXplX2RpcmVjdG9yCiAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAg
cGFzX2xvZygiRm91bmQgcmVzdWx0ID0gJXAsIGJ1dCB3ZSBuZWVkIHRvIGV2aWN0IGl0IHN0YXJ0
aW5nIGF0IGluZGV4ID0gJXp1XG4iLCByZXN1bHQsIGluZGV4KTsKIAorICAgICAgICAvKiBCaXRm
aXQgc2l6ZSBkaXJlY3RvcmllcyBjbGFpbSBzdXBlciBoaWdoIGFsaWdubWVudCwgc28gdGhleSBz
aG91bGQgbmV2ZXIgZ2V0IHJlcGxhY2VkLiBUaGlzIGlzIGEKKyAgICAgICAgICAgaGFyZCByZXF1
aXJlbWVudCwgc2luY2U6CisKKyAgICAgICAgICAgLSBwYXNfYml0Zml0X3NpemVfY2xhc3MgaXMg
YWxsb2NhdGVkIGFzIHBhcnQgb2YgdGhlIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5Lgor
ICAgICAgICAgICAtIFdlIGNhbm5vdCBhZGQgZHVwbGljYXRlIGJpdGZpdF9zaXplX2NsYXNzZXMs
IHNvIGlmIHdlIGV2ZXIgdHJpZWQgdG8gcmVwbGFjZSBhCisgICAgICAgICAgICAgc2VncmVnYXRl
ZF9zaXplX2RpcmVjdG9yeSB3aXRoIGFub3RoZXIgb25lIG9mIHRoZSBzYW1lIHNpemUsIGFuZCB0
aGV5IGJvdGggaGFkIGJpdGZpdF9zaXplX2NsYXNzZXMsCisgICAgICAgICAgICAgdGhlbiB3ZSdk
IGJlIGluIHRyb3VibGUuICovCisgICAgICAgIFBBU19BU1NFUlQoIXBhc19zZWdyZWdhdGVkX3Np
emVfZGlyZWN0b3J5X2lzX2JpdGZpdChyZXN1bHQpKTsKKyAgICAgICAgCiAgICAgICAgIFBBU19B
U1NFUlQocmVzdWx0LT5vYmplY3Rfc2l6ZSA+PSBvYmplY3Rfc2l6ZSk7CiAgICAgICAgIFBBU19B
U1NFUlQocmVzdWx0LT5vYmplY3Rfc2l6ZSA+PSBwYXNfc2VncmVnYXRlZF9oZWFwX3NpemVfZm9y
X2luZGV4KGluZGV4LCAqY29uZmlnKSk7CiAgICAgICAgIFBBU19BU1NFUlQocGFzX3NlZ3JlZ2F0
ZWRfaGVhcF9pbmRleF9mb3Jfc2l6ZShyZXN1bHQtPm9iamVjdF9zaXplLCAqY29uZmlnKSA+PSBp
bmRleCk7CkBAIC0xMzU4LDcgKzEzNzIsNyBAQCBwYXNfc2VncmVnYXRlZF9oZWFwX2Vuc3VyZV9z
aXplX2RpcmVjdG9yCiAgICAgICAgICAgICBQQVNfQVNTRVJUKHBhc19zZWdyZWdhdGVkX3NpemVf
ZGlyZWN0b3J5X21pbl9pbmRleChyZXN1bHQpICE9IFVJTlRfTUFYKTsKICAgICAgICAgICAgIHBh
c19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X3NldF9taW5faW5kZXgocmVzdWx0LCAodW5zaWdu
ZWQpKGluZGV4ICsgMSkpOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIC8qIE5lZWQg
dG8gY2xlYXIgb3V0IHRoaXMgc2l6ZSBjbGFzcyBmcm9tIHRoaXMgc2l6ZSBhbmQgc21hbGxlciBz
aXplcy4KICAgICAgICAgICAgVGhpcyBsb29wIHN0YXJ0cyBhdCBpbmRleCAobm90IGluZGV4ICsg
MSBkZXNwaXRlIHdoYXQgdGhlIGluaXRpYWwKICAgICAgICAgICAgY29uZGl0aW9uIHNlZW1zIHRv
IGRvKSBhbmQgdHJhdmVscyBkb3duLiAqLwpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2UuYwkocmV2aXNpb24gMjg2
NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRf
cGFnZS5jCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAicGFzX2Vw
b2NoLmgiCiAjaW5jbHVkZSAicGFzX2ZyZWVfZ3JhbnVsZXMuaCIKICNpbmNsdWRlICJwYXNfZnVs
bF9hbGxvY19iaXRzX2lubGluZXMuaCIKKyNpbmNsdWRlICJwYXNfZ2V0X3BhZ2VfYmFzZV9hbmRf
a2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZS5oIgogI2luY2x1ZGUgInBhc19o
ZWFwX2xvY2suaCIKICNpbmNsdWRlICJwYXNfbG9nLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2VfbWFs
bG9jLmgiCkBAIC0xOTQsMTQgKzE5NSwxNyBAQCB2b2lkIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
c3RydWN0KHBhc19zCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogICAg
IAogICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29uZmlnOworICAgIHBhc19z
ZWdyZWdhdGVkX3BhZ2Vfcm9sZSByb2xlOwogCiAgICAgcGFnZV9jb25maWcgPSAqcGFnZV9jb25m
aWdfcHRyOwogCi0gICAgUEFTX0FTU0VSVChwYXNfcGFnZV9raW5kX2dldF9jb25maWdfa2luZChw
YWdlX2NvbmZpZy5iYXNlLnBhZ2Vfa2luZCkKLSAgICAgICAgICAgICAgID09IHBhc19wYWdlX2Nv
bmZpZ19raW5kX3NlZ3JlZ2F0ZWQpOworICAgIFBBU19BU1NFUlQocGFnZV9jb25maWcuYmFzZS5w
YWdlX2NvbmZpZ19raW5kID09IHBhc19wYWdlX2NvbmZpZ19raW5kX3NlZ3JlZ2F0ZWQpOworCisg
ICAgcm9sZSA9IHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3BhZ2Vfcm9sZV9mb3Jfb3duZXIob3du
ZXIpOwogCiAgICAgLyogVGhpcyBpcyBlc3NlbnRpYWwgZm9yIG1lZGl1bSBkZWFsbG9jYXRpb24u
ICovCi0gICAgcGFzX3BhZ2VfYmFzZV9jb25zdHJ1Y3QoJnBhZ2UtPmJhc2UsIHBhZ2VfY29uZmln
LmJhc2UucGFnZV9raW5kKTsKKyAgICBwYXNfcGFnZV9iYXNlX2NvbnN0cnVjdCgKKyAgICAgICAg
JnBhZ2UtPmJhc2UsIHBhc19wYWdlX2tpbmRfZm9yX3NlZ3JlZ2F0ZWRfdmFyaWFudF9hbmRfcm9s
ZShwYWdlX2NvbmZpZy52YXJpYW50LCByb2xlKSk7CiAKICAgICBwYWdlLT51c2VfZXBvY2ggPSBQ
QVNfRVBPQ0hfSU5WQUxJRDsKIApAQCAtMjIzLDcgKzIyNyw4IEBAIHZvaWQgcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9jb25zdHJ1Y3QocGFzX3MKICAgICAKICAgICBwYWdlLT52aWV3X2NhY2hlX2luZGV4
ID0gKHBhc19hbGxvY2F0b3JfaW5kZXgpVUlOVF9NQVg7CiAKLSAgICBpZiAocGFzX3NlZ3JlZ2F0
ZWRfdmlld19pc19zb21lX2V4Y2x1c2l2ZShvd25lcikpIHsKKyAgICBzd2l0Y2ggKHJvbGUpIHsK
KyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU6ewogICAgICAgICBw
YXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5OwogICAgICAgICBwYXNfc2Vn
cmVnYXRlZF9zaXplX2RpcmVjdG9yeV9kYXRhKiBkYXRhOwogCkBAIC0yNDEsOCArMjQ2LDEzIEBA
IHZvaWQgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25zdHJ1Y3QocGFzX3MKICAgICAgICAgICAgIHBh
Z2UtPnZpZXdfY2FjaGVfaW5kZXggPSBkaXJlY3RvcnktPnZpZXdfY2FjaGVfaW5kZXg7CiAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgUEFTX0FTU0VSVChkaXJlY3RvcnktPnZpZXdfY2FjaGVf
aW5kZXggPT0gKHBhc19hbGxvY2F0b3JfaW5kZXgpVUlOVF9NQVgpOwotICAgIH0gZWxzZQorICAg
ICAgICBicmVhazsKKyAgICB9CisgICAgICAgIAorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9zaGFyZWRfcm9sZToKICAgICAgICAgcGFnZS0+b2JqZWN0X3NpemUgPSAwOworICAgICAgICBi
cmVhazsKKyAgICB9CiAKICAgICBwYWdlLT5pc19pbl91c2VfZm9yX2FsbG9jYXRpb24gPSBmYWxz
ZTsKICAgICBwYWdlLT5pc19jb21taXR0aW5nX2Z1bGx5ID0gZmFsc2U7CkBAIC03NTUsMjMgKzc2
NSwzOCBAQCBwYXNfc2VncmVnYXRlZF9wYWdlX2FuZF9jb25maWdfZm9yX2FkZHJlCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19o
ZWFwX2NvbmZpZyogY29uZmlnKQogewogICAgIHN3aXRjaCAoY29uZmlnLT5mYXN0X21lZ2FwYWdl
X2tpbmRfZnVuYyhiZWdpbikpIHsKLSAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX2Zhc3Rf
bWVnYXBhZ2Vfa2luZDoKKyAgICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9m
YXN0X21lZ2FwYWdlX2tpbmQ6CiAgICAgICAgIHJldHVybiBwYXNfc2VncmVnYXRlZF9wYWdlX2Fu
ZF9jb25maWdfY3JlYXRlKAogICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9mb3JfYWRk
cmVzc19hbmRfcGFnZV9jb25maWcoCiAgICAgICAgICAgICAgICAgYmVnaW4sIGNvbmZpZy0+c21h
bGxfc2VncmVnYXRlZF9jb25maWcpLAogICAgICAgICAgICAgJmNvbmZpZy0+c21hbGxfc2VncmVn
YXRlZF9jb25maWcpOwotICAgIGNhc2UgcGFzX3NtYWxsX2JpdGZpdF9mYXN0X21lZ2FwYWdlX2tp
bmQ6Ci0gICAgICAgIHJldHVybiBwYXNfc2VncmVnYXRlZF9wYWdlX2FuZF9jb25maWdfY3JlYXRl
X2VtcHR5KCk7CisgICAgY2FzZSBwYXNfc21hbGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kOiB7
CisgICAgICAgIHBhc19wYWdlX2Jhc2VfYW5kX2tpbmQgcGFnZV9hbmRfa2luZDsKKyAgICAgICAg
cGFnZV9hbmRfa2luZCA9IHBhc19nZXRfcGFnZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhl
cl9pbl9mYXN0X21lZ2FwYWdlKGJlZ2luLCAqY29uZmlnKTsKKyAgICAgICAgc3dpdGNoIChwYWdl
X2FuZF9raW5kLnBhZ2Vfa2luZCkgeworICAgICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2Vn
cmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9hbmRfY29uZmlnX2NyZWF0ZSgKKyAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9z
ZWdyZWdhdGVkKHBhZ2VfYW5kX2tpbmQucGFnZV9iYXNlKSwKKyAgICAgICAgICAgICAgICAmY29u
ZmlnLT5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZyk7CisgICAgICAgIGNhc2UgcGFzX3NtYWxsX2Jp
dGZpdF9wYWdlX2tpbmQ6CisgICAgICAgICAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9h
bmRfY29uZmlnX2NyZWF0ZV9lbXB0eSgpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
UEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOworICAgICAgICAgICAgcmV0dXJu
IHBhc19zZWdyZWdhdGVkX3BhZ2VfYW5kX2NvbmZpZ19jcmVhdGVfZW1wdHkoKTsKKyAgICAgICAg
fQorICAgIH0KICAgICBjYXNlIHBhc19ub3RfYV9mYXN0X21lZ2FwYWdlX2tpbmQ6IHsKICAgICAg
ICAgcGFzX3BhZ2VfYmFzZSogcGFnZV9iYXNlOwogICAgICAgICBwYWdlX2Jhc2UgPSBjb25maWct
PnBhZ2VfaGVhZGVyX2Z1bmMoYmVnaW4pOwogICAgICAgICBpZiAocGFnZV9iYXNlKSB7CiAgICAg
ICAgICAgICBzd2l0Y2ggKHBhc19wYWdlX2Jhc2VfZ2V0X2tpbmQocGFnZV9iYXNlKSkgewotICAg
ICAgICAgICAgY2FzZSBwYXNfc21hbGxfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAg
ICBjYXNlIHBhc19zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAg
ICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHBhc19zZWdyZWdhdGVkX3BhZ2VfYW5kX2NvbmZpZ19jcmVhdGUoCiAg
ICAgICAgICAgICAgICAgICAgIHBhc19wYWdlX2Jhc2VfZ2V0X3NlZ3JlZ2F0ZWQocGFnZV9iYXNl
KSwKICAgICAgICAgICAgICAgICAgICAgJmNvbmZpZy0+c21hbGxfc2VncmVnYXRlZF9jb25maWcp
OwotICAgICAgICAgICAgY2FzZSBwYXNfbWVkaXVtX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAg
ICAgICAgICAgY2FzZSBwYXNfbWVkaXVtX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoK
KyAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBhc19zZWdyZWdhdGVkX3BhZ2VfYW5kX2NvbmZpZ19j
cmVhdGUoCiAgICAgICAgICAgICAgICAgICAgIHBhc19wYWdlX2Jhc2VfZ2V0X3NlZ3JlZ2F0ZWQo
cGFnZV9iYXNlKSwKICAgICAgICAgICAgICAgICAgICAgJmNvbmZpZy0+bWVkaXVtX3NlZ3JlZ2F0
ZWRfY29uZmlnKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19z
ZWdyZWdhdGVkX3BhZ2VfY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcuaAkocmV2aXNpb24gMjg2
NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsOSBAQAogI2luY2x1ZGUg
InBhc19wYWdlX2Jhc2VfY29uZmlnLmgiCiAjaW5jbHVkZSAicGFzX3BhZ2VfZ3JhbnVsZV91c2Vf
Y291bnQuaCIKICNpbmNsdWRlICJwYXNfcGFnZV9zaGFyaW5nX21vZGUuaCIKKyNpbmNsdWRlICJw
YXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlLmgiCiAjaW5jbHVkZSAicGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfdmFyaWFudC5oIgorI2luY2x1ZGUgInBhc19zZWdyZWdh
dGVkX3BhZ2Vfcm9sZS5oIgogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3ZpZXcuaCIKICNpbmNs
dWRlICJwYXNfdXRpbHMuaCIKIApAQCAtNzQsNiArNzYsOCBAQCB0eXBlZGVmIHN0cnVjdCBwYXNf
c2VncmVnYXRlZF9wYXJ0aWFsX3ZpCiB0eXBlZGVmIHN0cnVjdCBwYXNfc2VncmVnYXRlZF9zaGFy
ZWRfcGFnZV9kaXJlY3RvcnkgcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5Owog
dHlwZWRlZiBzdHJ1Y3QgcGFzX3RocmVhZF9sb2NhbF9jYWNoZSBwYXNfdGhyZWFkX2xvY2FsX2Nh
Y2hlOwogCit0eXBlZGVmIHZvaWQqICgqcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfcGFnZV9h
bGxvY2F0b3IpKAorICAgIHBhc19zZWdyZWdhdGVkX2hlYXAqLCBwYXNfcGh5c2ljYWxfbWVtb3J5
X3RyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlIHJvbGUp
OwogdHlwZWRlZiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkqCiAoKnBhc19z
ZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3NoYXJlZF9wYWdlX2RpcmVjdG9yeV9zZWxlY3RvcikoCiAg
ICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCogaGVhcCwgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3Rv
cnkqIGRpcmVjdG9yeSk7CkBAIC0xMzcsOSArMTQxLDggQEAgc3RydWN0IHBhc19zZWdyZWdhdGVk
X3BhZ2VfY29uZmlnIHsKICAgICAgICBhbmQgd2hlcmUgeW91IHBsYWNlIHRoZSBoZWFkZXIuICov
CiAgICAgc2l6ZV90IG51bV9hbGxvY19iaXRzOwogCi0gICAgLyogQWRkaXRpb25hbCB2ZXJpZmlj
YXRpb24gd2Ugd2FudCB0byBoYXBwZW4gd2hlbiBmcmVlaW5nIHNtYWxsIG9iamVjdHMgKGRvZXMg
bm90aGluZyBieQotICAgICAgIGRlZmF1bHQuICovCi0gICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfZGVhbGxvY19mdW5jIGRlYWxsb2NfZnVuYzsKKyAgICBwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fbG9nZ2luZ19tb2RlIHNoYXJlZF9sb2dnaW5nX21vZGU7CisgICAgcGFzX3NlZ3Jl
Z2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZSBleGNsdXNpdmVfbG9nZ2luZ19tb2RlOwog
CiAgICAgLyogVGVsbHMgd2hldGhlciB3ZSBzaG91bGQgdXNlIGEgcmV2ZXJzZWQgY3VycmVudCB3
b3JkLiBPbmx5IHZhbGlkIGZvciB0aGUgc21hbGwgc2VncmVnYXRlZAogICAgICAgIHZhcmlhbnQu
ICovCkBAIC0xNTEsMTEgKzE1NCwxNSBAQCBzdHJ1Y3QgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25m
aWcgewogICAgIC8qIFRlbGxzIGlmIHdlIGVuYWJsZSB0aGUgZW1wdHkgd29yZCBlbGlnaWJpbGl0
eSBvcHRpbWl6YXRpb24gZm9yIHBhZ2VzIG9mIHRoaXMga2luZC4gVGhhdAogICAgICAgIG9wdGlt
aXphdGlvbiB3aWxsIG1ha2UgaXQgc28gdGhhdCBhIHBhZ2UgZG9lcyBub3QgYXBwZWFyIGFzIGVs
aWdpYmxlIHVudGlsIGF0IGxlYXN0IG9uZSB3b3JkCiAgICAgICAgb2YgYml0cyBnb2VzIGNsZWFy
LiAqLwotICAgIGJvb2wgZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9u
OworICAgIGJvb2wgZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uX2Zv
cl9zaGFyZWQ7CisgICAgYm9vbCBlbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6
YXRpb25fZm9yX2V4Y2x1c2l2ZTsKIAogICAgIC8qIFRlbGxzIGlmIHdlIHVzZSB0aGUgdmlldyBj
YWNoZSBmb3IgdGhpcyBzaXplIGNsYXNzLiAqLwogICAgIGJvb2wgZW5hYmxlX3ZpZXdfY2FjaGU7
CiAKKyAgICAvKiBUaGlzIGlzIHRoZSBhbGxvY2F0b3IgdXNlZCB0byBjcmVhdGUgcGFnZXMuICov
CisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfcGFnZV9hbGxvY2F0b3IgcGFnZV9hbGxv
Y2F0b3I7CisKICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19zaGFyZWRfcGFnZV9kaXJl
Y3Rvcnlfc2VsZWN0b3Igc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X3NlbGVjdG9yOwogCiAgICAgLyog
VGhlc2UgdHdvIGdldCBmaWxsZWQgaW4gd2l0aCB0aGUgUEFTX1NFR1JFR0FURURfUEFHRV9DT05G
SUdfU1BFQ0lBTElaQVRJT05TKCkgbWFjcm8uICovCkBAIC0yNTAsNiArMjU3LDM1IEBAIHBhc19z
ZWdyZWdhdGVkX3BhZ2VfY29uZmlnX251bV9hbGxvY19ieXQKICAgICByZXR1cm4gUEFTX1NFR1JF
R0FURURfUEFHRV9DT05GSUdfTlVNX0FMTE9DX0JZVEVTKGNvbmZpZy5udW1fYWxsb2NfYml0cyk7
CiB9CiAKK3N0YXRpYyBQQVNfQUxXQVlTX0lOTElORSBib29sCitwYXNfc2VncmVnYXRlZF9wYWdl
X2NvbmZpZ19lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb25fZm9yX3Jv
bGUoCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgY29uZmlnLAorICAgIHBhc19zZWdy
ZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKQoreworICAgIHN3aXRjaCAocm9sZSkgeworICAgIGNhc2Ug
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZToKKyAgICAgICAgcmV0dXJuIGNvbmZpZy5l
bmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb25fZm9yX3NoYXJlZDsKKyAg
ICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU6CisgICAgICAgIHJldHVy
biBjb25maWcuZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uX2Zvcl9l
eGNsdXNpdmU7CisgICAgfQorICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQi
KTsKKyAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX25vX2xvZ2dpbmdfbW9k
ZTsKK30KKworc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHBhc19zZWdyZWdhdGVkX2RlYWxsb2Nh
dGlvbl9sb2dnaW5nX21vZGUKK3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2xvZ2dpbmdfbW9k
ZV9mb3Jfcm9sZShwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBjb25maWcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9yb2xlIHJvbGUpCit7CisgICAgc3dpdGNoIChyb2xlKSB7CisgICAgY2FzZSBwYXNfc2VncmVn
YXRlZF9wYWdlX3NoYXJlZF9yb2xlOgorICAgICAgICByZXR1cm4gY29uZmlnLnNoYXJlZF9sb2dn
aW5nX21vZGU7CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9wYWdlX2V4Y2x1c2l2ZV9yb2xlOgor
ICAgICAgICByZXR1cm4gY29uZmlnLmV4Y2x1c2l2ZV9sb2dnaW5nX21vZGU7CisgICAgfQorICAg
IFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICByZXR1cm4gcGFzX3Nl
Z3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX25vX2xvZ2dpbmdfbW9kZTsKK30KKwogUEFTX0FQSSB2b2lk
IHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3ZhbGlkYXRlKHBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnKik7CiAKIHN0YXRpYyBpbmxpbmUgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2lu
ZCBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19nZXRfa2luZCgKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lubGluZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2Vn
cmVnYXRlZF9wYWdlX2NvbmZpZ19pbmxpbmVzLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2lu
bGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTAgKzU0LDcgQEAgUEFTX0JFR0lOX0VYVEVS
Tl9DOwogICAgICAgICBwYXNfbG9jYWxfYWxsb2NhdG9yKiBhbGxvY2F0b3IsIFwKICAgICAgICAg
cGFzX2FsbG9jYXRvcl9jb3VudHMqIGNvdW50cykgXAogICAgIHsgXAotICAgICAgICBib29sIHNr
aXBfYml0Zml0OyBcCi0gICAgICAgIHNraXBfYml0Zml0ID0gZmFsc2U7IFwKLSAgICAgICAgcmV0
dXJuIHBhc19sb2NhbF9hbGxvY2F0b3JfcmVmaWxsX3dpdGhfa25vd25fY29uZmlnKCBcCi0gICAg
ICAgICAgICBhbGxvY2F0b3IsIGNvdW50cywgKHBhZ2VfY29uZmlnX3ZhbHVlKSwgc2tpcF9iaXRm
aXQpOyBcCisgICAgICAgIHJldHVybiBwYXNfbG9jYWxfYWxsb2NhdG9yX3JlZmlsbF93aXRoX2tu
b3duX2NvbmZpZyhhbGxvY2F0b3IsIGNvdW50cywgKHBhZ2VfY29uZmlnX3ZhbHVlKSk7IFwKICAg
ICB9IFwKICAgICBcCiAgICAgdm9pZCBsb3dlcl9jYXNlX3BhZ2VfY29uZmlnX25hbWUgIyMgX3Nw
ZWNpYWxpemVkX2xvY2FsX2FsbG9jYXRvcl9yZXR1cm5fbWVtb3J5X3RvX3BhZ2UoIFwKSW5kZXg6
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBh
cy9wYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kLmMJKHJldmlzaW9uIDI4NjQzOCkKKysr
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQuYwkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsMTkgQEAKIAogI2luY2x1ZGUg
InBhc19hbGxfaGVhcF9jb25maWdzLmgiCiAKK2NvbnN0IGNoYXIqIHBhc19zZWdyZWdhdGVkX3Bh
Z2VfY29uZmlnX2tpbmRfZ2V0X3N0cmluZyhwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5k
IGtpbmQpCit7CisgICAgc3dpdGNoIChraW5kKSB7CisjZGVmaW5lIFBBU19ERUZJTkVfU0VHUkVH
QVRFRF9QQUdFX0NPTkZJR19LSU5EKG5hbWUsIHZhbHVlKSBcCisgICAgY2FzZSBwYXNfc2VncmVn
YXRlZF9wYWdlX2NvbmZpZ19raW5kXyAjIyBuYW1lOiBcCisgICAgICAgIHJldHVybiAjbmFtZTsK
KyNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kLmRlZiIKKyN1bmRlZiBQ
QVNfREVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORAorICAgIH0KKyAgICBQQVNfQVNT
RVJUKCEiSW52YWxpZCBraW5kIik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKIFBBU19CRUdJTl9F
WFRFUk5fQzsKIAogYm9vbCBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2Zvcl9lYWNo
KApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWdfa2luZC5kZWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZC5kZWYJKHJldmlzaW9u
IDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdh
dGVkX3BhZ2VfY29uZmlnX2tpbmQuZGVmCSh3b3JraW5nIGNvcHkpCkBAIC00Myw5ICs0MywxMyBA
QCBQQVNfREVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORCgKICAgICAgICAgLmJhc2Ug
PSB7CiAgICAgICAgICAgICAuaXNfZW5hYmxlZCA9IGZhbHNlLAogICAgICAgICAgICAgLmhlYXBf
Y29uZmlnX3B0ciA9IE5VTEwsCi0gICAgICAgICAgICAucGFnZV9jb25maWdfcHRyID0gTlVMTAor
ICAgICAgICAgICAgLnBhZ2VfY29uZmlnX3B0ciA9IE5VTEwsCiAgICAgICAgIH0sCiAgICAgICAg
IC5raW5kID0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9udWxsLAorCisgICAgICAg
IC8qIFdlIGxvZyBOVUxMIHVzaW5nIGtpbmRfYW5kX3JvbGUgPSAwLCB3aGljaCB3b3JrcyBvdXQg
dG8gbnVsbC9zaGFyZWQuICovCisgICAgICAgIC5zaGFyZWRfbG9nZ2luZ19tb2RlID0gcGFzX3Nl
Z3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3NpemVfb2JsaXZpb3VzX2xvZ2dpbmdfbW9kZSwKKyAgICAg
ICAgLmV4Y2x1c2l2ZV9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25f
bm9fbG9nZ2luZ19tb2RlCiAgICAgfSkpCiAKIFBBU19ERUZJTkVfU0VHUkVHQVRFRF9QQUdFX0NP
TkZJR19LSU5EKHBhc191dGlsaXR5X3NtYWxsLApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnX2tpbmQuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00MiwzMiArNDIsNyBAQCBlbnVtIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tp
bmQgewogCiB0eXBlZGVmIGVudW0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZCBwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kOwogCi0jZGVmaW5lIFBBU19TRUdSRUdBVEVEX1BB
R0VfQ09ORklHX0tJTkRfTlVNX0JJVFMgNHUKLSNkZWZpbmUgUEFTX1NFR1JFR0FURURfUEFHRV9D
T05GSUdfS0lORF9NQVNLICgoMXUgPDwgUEFTX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORF9O
VU1fQklUUykgLSAxdSkKLQotI2lmIFBBU19DT01QSUxFUihDTEFORykKLSNkZWZpbmUgUEFTX0RF
RklORV9TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkQobmFtZSwgdmFsdWUpIFwKLSAgICBfU3Rh
dGljX2Fzc2VydChwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kXyAjIyBuYW1lIDw9IFBB
U19TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfTUFTSywgXAotICAgICAgICAgICAgICAgICAg
ICJLaW5kIGRvZXNuJ3QgZml0IGluIGtpbmQgYml0cyIpOwotI2Vsc2UKLSNkZWZpbmUgUEFTX0RF
RklORV9TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkQobmFtZSwgdmFsdWUpCi0jZW5kaWYKLSNp
bmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kLmRlZiIKLSN1bmRlZiBQQVNf
REVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORAotCi1zdGF0aWMgaW5saW5lIGNvbnN0
IGNoYXIqCi1wYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2dldF9zdHJpbmcocGFzX3Nl
Z3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZCBraW5kKQotewotICAgIHN3aXRjaCAoa2luZCkgewot
I2RlZmluZSBQQVNfREVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORChuYW1lLCB2YWx1
ZSkgXAotICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF8gIyMgbmFtZTog
XAotICAgICAgICByZXR1cm4gI25hbWU7Ci0jaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfa2luZC5kZWYiCi0jdW5kZWYgUEFTX0RFRklORV9TRUdSRUdBVEVEX1BBR0VfQ09ORklH
X0tJTkQKLSAgICB9Ci0gICAgUEFTX0FTU0VSVCghIkludmFsaWQga2luZCIpOwotICAgIHJldHVy
biBOVUxMOwotfQorUEFTX0FQSSBjb25zdCBjaGFyKiBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZp
Z19raW5kX2dldF9zdHJpbmcocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZCBraW5kKTsK
IAogdHlwZWRlZiBib29sICgqcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9jYWxsYmFj
aykocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZCBraW5kLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWcqIGNvbmZpZywKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGli
cGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGUuYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdl
X2NvbmZpZ19raW5kX2FuZF9yb2xlLmMJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL2JtYWxsb2Mv
bGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9s
ZS5jCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgInBhc19jb25maWcuaCIKKworI2lm
IExJQlBBU19FTkFCTEVECisKKyNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kX2FuZF9yb2xlLmgiCisKK1BBU19CRUdJTl9FWFRFUk5fQzsKKworY29uc3QgY2hhcioKK3Bh
c19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGVfZ2V0X3N0cmluZyhwYXNfc2Vn
cmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlIGtpbmRfYW5kX3JvbGUpCit7CisgICAg
c3dpdGNoIChraW5kX2FuZF9yb2xlKSB7CisjZGVmaW5lIFBBU19ERUZJTkVfU0VHUkVHQVRFRF9Q
QUdFX0NPTkZJR19LSU5EKG5hbWUsIHZhbHVlKSBcCisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9w
YWdlX2NvbmZpZ19raW5kXyAjIyBuYW1lICMjIF9hbmRfc2hhcmVkX3JvbGU6IFwKKyAgICAgICAg
cmV0dXJuICJzaGFyZWRfIiAjbmFtZTsgXAorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfa2luZF8gIyMgbmFtZSAjIyBfYW5kX2V4Y2x1c2l2ZV9yb2xlOiBcCisgICAgICAgIHJl
dHVybiAiZXhjbHVzaXZlXyIgI25hbWU7CisjaW5jbHVkZSAicGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfa2luZC5kZWYiCisjdW5kZWYgUEFTX0RFRklORV9TRUdSRUdBVEVEX1BBR0VfQ09ORklH
X0tJTkQKKyAgICB9CisgICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVhY2hlZCIpOwor
ICAgIHJldHVybiBOVUxMOworfQorCitQQVNfRU5EX0VYVEVSTl9DOworCisjZW5kaWYgLyogTElC
UEFTX0VOQUJMRUQgKi8KKwpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMv
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmRfYW5kX3JvbGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFBBU19TRUdSRUdBVEVEX1BBR0VfQ09ORklH
X0tJTkRfQU5EX1JPTEVfSAorI2RlZmluZSBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5E
X0FORF9ST0xFX0gKKworI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQu
aCIKKyNpbmNsdWRlICJwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUuaCIKKworUEFTX0JFR0lOX0VY
VEVSTl9DOworCitlbnVtIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGUg
eworI2RlZmluZSBQQVNfREVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORChuYW1lLCB2
YWx1ZSkgXAorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfICMjIG5hbWUgIyMg
X2FuZF9zaGFyZWRfcm9sZSwgXAorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRf
ICMjIG5hbWUgIyMgX2FuZF9leGNsdXNpdmVfcm9sZSwKKyNpbmNsdWRlICJwYXNfc2VncmVnYXRl
ZF9wYWdlX2NvbmZpZ19raW5kLmRlZiIKKyN1bmRlZiBQQVNfREVGSU5FX1NFR1JFR0FURURfUEFH
RV9DT05GSUdfS0lORAorfTsKKwordHlwZWRlZiBlbnVtIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmRfYW5kX3JvbGUgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9s
ZTsKKworI2RlZmluZSBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX0FORF9ST0xFX05V
TV9CSVRTIDV1CisjZGVmaW5lIFBBU19TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfQU5EX1JP
TEVfTUFTSyBcCisgICAgKCgxdSA8PCBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX0FO
RF9ST0xFX05VTV9CSVRTKSAtIDF1KQorCisjaWYgUEFTX0NPTVBJTEVSKENMQU5HKQorI2RlZmlu
ZSBQQVNfREVGSU5FX1NFR1JFR0FURURfUEFHRV9DT05GSUdfS0lORChuYW1lLCB2YWx1ZSkgXAor
ICAgIF9TdGF0aWNfYXNzZXJ0KHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfICMjIG5h
bWUgIyMgX2FuZF9zaGFyZWRfcm9sZSBcCisgICAgICAgICAgICAgICAgICAgPD0gUEFTX1NFR1JF
R0FURURfUEFHRV9DT05GSUdfS0lORF9BTkRfUk9MRV9NQVNLLCBcCisgICAgICAgICAgICAgICAg
ICAgIktpbmQtYW5kLXJvbGUgZG9lc24ndCBmaXQgaW4ga2luZC1hbmQtcm9sZSBiaXRzIik7IFwK
KyAgICBfU3RhdGljX2Fzc2VydChwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kXyAjIyBu
YW1lICMjIF9hbmRfZXhjbHVzaXZlX3JvbGUgXAorICAgICAgICAgICAgICAgICAgIDw9IFBBU19T
RUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfQU5EX1JPTEVfTUFTSywgXAorICAgICAgICAgICAg
ICAgICAgICJLaW5kLWFuZC1yb2xlIGRvZXNuJ3QgZml0IGluIGtpbmQtYW5kLXJvbGUgYml0cyIp
OworI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQuZGVmIgorI3VuZGVm
IFBBU19ERUZJTkVfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5ECisjZW5kaWYgLyogUEFTX0NP
TVBJTEVSKENMQU5HKSAqLworCitQQVNfQVBJIGNvbnN0IGNoYXIqCitwYXNfc2VncmVnYXRlZF9w
YWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlX2dldF9zdHJpbmcocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWdfa2luZF9hbmRfcm9sZSBraW5kX2FuZF9yb2xlKTsKKworc3RhdGljIGlubGluZSBwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnX2tpbmRfYW5kX3JvbGVfY3JlYXRlKAorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQga2luZCwKKyAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcm9sZSkKK3sKKyAg
ICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlIHJlc3VsdDsKKyAgICBy
ZXN1bHQgPSAocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZSkoKCh1bnNp
Z25lZClraW5kIDw8IDEpIHwgKHVuc2lnbmVkKXJvbGUpOworICAgIGlmIChQQVNfRU5BQkxFX1RF
U1RJTkcpIHsKKyAgICAgICAgc3dpdGNoIChraW5kKSB7CisjZGVmaW5lIFBBU19ERUZJTkVfU0VH
UkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EKG5hbWUsIHZhbHVlKSBcCisgICAgICAgIGNhc2UgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF8gIyMgbmFtZTogXAorICAgICAgICAgICAgc3dp
dGNoIChyb2xlKSB7IFwKKyAgICAgICAgICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFy
ZWRfcm9sZTogXAorICAgICAgICAgICAgICAgIFBBU19BU1NFUlQocmVzdWx0ID09IHBhc19zZWdy
ZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfICMjIG5hbWUgIyMgX2FuZF9zaGFyZWRfcm9sZSk7IFwK
KyAgICAgICAgICAgICAgICBicmVhazsgXAorICAgICAgICAgICAgY2FzZSBwYXNfc2VncmVnYXRl
ZF9wYWdlX2V4Y2x1c2l2ZV9yb2xlOiBcCisgICAgICAgICAgICAgICAgUEFTX0FTU0VSVChyZXN1
bHQgPT0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF8gIyMgbmFtZSAjIyBfYW5kX2V4
Y2x1c2l2ZV9yb2xlKTsgXAorICAgICAgICAgICAgICAgIGJyZWFrOyBcCisgICAgICAgICAgICB9
IFwKKyAgICAgICAgICAgIGJyZWFrOworI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29u
ZmlnX2tpbmQuZGVmIgorI3VuZGVmIFBBU19ERUZJTkVfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19L
SU5ECisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUEFTX0VORF9F
WFRFUk5fQzsKKworI2VuZGlmIC8qIFBBU19TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfQU5E
X1JPTEVfSCAqLworCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ191dGlscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3V0aWxzLmgJ
KHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3V0aWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDE0
ICs1MCw2IEBAIFBBU19CRUdJTl9FWFRFUk5fQzsKICNkZWZpbmUgUEFTX0JBU0lDX1NFR1JFR0FU
RURfUEFZTE9BRF9TSVpFKG1pbl9hbGlnbl9zaGlmdCwgcGFnZV9zaXplLCBncmFudWxlX3NpemUp
IFwKICAgICAoKHBhZ2Vfc2l6ZSkgLSBQQVNfQkFTSUNfU0VHUkVHQVRFRF9QQVlMT0FEX09GRlNF
VCgobWluX2FsaWduX3NoaWZ0KSwgKHBhZ2Vfc2l6ZSksIChncmFudWxlX3NpemUpKSkKIAotc3Rh
dGljIFBBU19BTFdBWVNfSU5MSU5FIHZvaWQKLXBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX3Zl
cmlmeV9kZWFsbG9jKHVpbnRwdHJfdCBiZWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIGNvbmZpZykKLXsKLSAg
ICBpZiAoUEFTX1VOTElLRUxZKCFwYXNfc2VncmVnYXRlZF9wYWdlX2lzX2FsbG9jYXRlZChiZWdp
biwgY29uZmlnKSkpCi0gICAgICAgIHBhc19kZWFsbG9jYXRpb25fZGlkX2ZhaWwoIlBhZ2UgYml0
IG5vdCBzZXQiLCBiZWdpbik7Ci19Ci0KICNkZWZpbmUgUEFTX0JBU0lDX1NFR1JFR0FURURfUEFH
RV9DT05GSUdfRk9SV0FSRF9ERUNMQVJBVElPTlMobmFtZSkgXAogICAgIFBBU19TRUdSRUdBVEVE
X1BBR0VfQ09ORklHX1NQRUNJQUxJWkFUSU9OX0RFQ0xBUkFUSU9OUyhuYW1lICMjIF9wYWdlX2Nv
bmZpZyk7IFwKICAgICBQQVNfQkFTSUNfUEFHRV9CQVNFX0NPTkZJR19GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhuYW1lKTsgXApAQCAtNjUsMTQgKzU3LDkgQEAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25m
aWdfdmVyaWZ5X2RlYWxsbwogICAgIFBBU19BUEkgcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3BhZ2Vf
ZGlyZWN0b3J5KiBcCiAgICAgbmFtZSAjIyBfcGFnZV9jb25maWdfc2VsZWN0X3NoYXJlZF9wYWdl
X2RpcmVjdG9yeSggXAogICAgICAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBoZWFwLCBwYXNfc2Vn
cmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5KTsgXAotICAgIFwKLSAgICBzdGF0aWMg
UEFTX0FMV0FZU19JTkxJTkUgdm9pZCBcCi0gICAgbmFtZSAjIyBfZGVhbGxvY19mdW5jKHBhc190
aHJlYWRfbG9jYWxfY2FjaGUqIGNhY2hlLCB1aW50cHRyX3QgYmVnaW4pCiAKIHR5cGVkZWYgc3Ry
dWN0IHsKICAgICBwYXNfcGFnZV9oZWFkZXJfcGxhY2VtZW50X21vZGUgaGVhZGVyX3BsYWNlbWVu
dF9tb2RlOwotICAgIGJvb2wgc2l6ZV9hd2FyZV9sb2dnaW5nOwotICAgIGJvb2wgdmVyaWZ5X2Jl
Zm9yZV9sb2dnaW5nOwogICAgIHBhc19wYWdlX2hlYWRlcl90YWJsZSogaGVhZGVyX3RhYmxlOyAv
KiBFdmVuIGlmIHdlIGhhdmUgbXVsdGlwbGUgdGFibGVzLCB0aGlzIHdpbGwgaGF2ZSBvbmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmNlIHdlIHVzZSB0
aGlzIHdoZW4gd2Uga25vdyB3aGljaCBwYWdlIGNvbmZpZyB3ZQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgZGVhbGluZyB3aXRoLiAqLwpAQCAtODgsMzIg
Kzc1LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgICAgICAgKChwYXNfYmFzaWNfc2VncmVn
YXRlZF9wYWdlX2NvbmZpZ19kZWNsYXJhdGlvbnNfYXJndW1lbnRzKXtfX1ZBX0FSR1NfX30pIFwK
ICAgICAgICAgICAgIC5oZWFkZXJfdGFibGUpOyBcCiAgICAgXAotICAgIHN0YXRpYyBQQVNfQUxX
QVlTX0lOTElORSB2b2lkIFwKLSAgICBuYW1lICMjIF9kZWFsbG9jX2Z1bmMocGFzX3RocmVhZF9s
b2NhbF9jYWNoZSogY2FjaGUsIHVpbnRwdHJfdCBiZWdpbikgXAotICAgIHsgXAotICAgICAgICBw
YXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBjb25maWcgPSAoY29uZmlnX3ZhbHVlKTsgXAotICAg
ICAgICBwYXNfYmFzaWNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19kZWNsYXJhdGlvbnNfYXJndW1l
bnRzIGFyZ3VtZW50cyA9IFwKLSAgICAgICAgICAgICgocGFzX2Jhc2ljX3NlZ3JlZ2F0ZWRfcGFn
ZV9jb25maWdfZGVjbGFyYXRpb25zX2FyZ3VtZW50cyl7X19WQV9BUkdTX199KTsgXAotICAgICAg
ICBcCi0gICAgICAgIFBBU19BU1NFUlQoY29uZmlnLmJhc2UuaXNfZW5hYmxlZCk7IFwKLSAgICAg
ICAgXAotICAgICAgICBpZiAoYXJndW1lbnRzLnZlcmlmeV9iZWZvcmVfbG9nZ2luZykgeyBcCi0g
ICAgICAgICAgICBpZiAoUEFTX1VOTElLRUxZKCFwYXNfc2VncmVnYXRlZF9wYWdlX2lzX2FsbG9j
YXRlZChiZWdpbiwgY29uZmlnKSkpIFwKLSAgICAgICAgICAgICAgICBwYXNfZGVhbGxvY2F0aW9u
X2RpZF9mYWlsKCJQYWdlIGJpdCBub3Qgc2V0IiwgYmVnaW4pOyBcCi0gICAgICAgIH0gXAotICAg
ICAgICBcCi0gICAgICAgIGlmIChhcmd1bWVudHMuc2l6ZV9hd2FyZV9sb2dnaW5nKSB7IFwKLSAg
ICAgICAgICAgIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfYXBwZW5kX2RlYWxsb2NhdGlvbl93aXRo
X3NpemUoIFwKLSAgICAgICAgICAgICAgICBjYWNoZSwgXAotICAgICAgICAgICAgICAgIGJlZ2lu
LCBcCi0gICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9nZXRfb2JqZWN0X3NpemVf
Zm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmlnKGJlZ2luLCBjb25maWcpLCBcCi0gICAgICAgICAg
ICAgICAgY29uZmlnLmtpbmQpOyBcCi0gICAgICAgICAgICByZXR1cm47IFwKLSAgICAgICAgfSBc
Ci0gICAgICAgIFwKLSAgICAgICAgcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9hcHBlbmRfZGVhbGxv
Y2F0aW9uKGNhY2hlLCBiZWdpbiwgY29uZmlnLmtpbmQpOyBcCi0gICAgfSBcCi0gICAgXAogICAg
IHN0cnVjdCBwYXNfZHVtbXkKIAogUEFTX0VORF9FWFRFUk5fQzsKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2VfaW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVk
X3BhZ2VfaW5saW5lcy5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9wYWdlX2lubGluZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzI2LDcgKzMyNiw4IEBAIHBhc19zZWdyZWdhdGVkX3BhZ2VfZGVhbGxvY2F0ZV93aXRo
X3BhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludHB0cl90
IGJlZ2luLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2Vn
cmVnYXRlZF9kZWFsbG9jYXRpb25fbW9kZSBkZWFsbG9jYXRpb25fbW9kZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3RocmVhZF9sb2NhbF9jYWNoZSogdGhy
ZWFkX2xvY2FsX2NhY2hlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBwYWdlX2NvbmZpZykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgcGFn
ZV9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19z
ZWdyZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKQogewogICAgIHN0YXRpYyBjb25zdCBib29sIHZlcmJv
c2UgPSBmYWxzZTsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBjb3VudF90aGluZ3MgPSBmYWxzZTsK
QEAgLTQwMiwxMiArNDAzLDE1IEBAIHBhc19zZWdyZWdhdGVkX3BhZ2VfZGVhbGxvY2F0ZV93aXRo
X3BhZ2UKICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgcGFzX2xvZygiYXQgd29yZF9pbmRleCA9
ICV6dSwgbmV3X3dvcmQgPSAldVxuIiwgd29yZF9pbmRleCwgbmV3X3dvcmQpOwogCi0gICAgaWYg
KCFwYWdlX2NvbmZpZy5lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24g
fHwgIW5ld193b3JkKSB7CisgICAgaWYgKCFwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19lbmFi
bGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb25fZm9yX3JvbGUocGFnZV9jb25m
aWcsIHJvbGUpCisgICAgICAgIHx8ICFuZXdfd29yZCkgewogICAgICAgICBwYXNfc2VncmVnYXRl
ZF92aWV3IG93bmVyOwogICAgICAgICBvd25lciA9IHBhZ2UtPm93bmVyOwotICAgICAgICAKLSAg
ICAgICAgaWYgKHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X2tpbmQob3duZXIpICE9IHBhc19zZWdy
ZWdhdGVkX2V4Y2x1c2l2ZV92aWV3X2tpbmQpIHsKLSAgICAgICAgICAgIGlmIChwYXNfc2VncmVn
YXRlZF92aWV3X2lzX3NvbWVfZXhjbHVzaXZlKG93bmVyKSkgeworCisgICAgICAgIHN3aXRjaCAo
cm9sZSkgeworICAgICAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU6
IHsKKyAgICAgICAgICAgIGlmIChwYXNfc2VncmVnYXRlZF92aWV3X2dldF9raW5kKG93bmVyKSAh
PSBwYXNfc2VncmVnYXRlZF9leGNsdXNpdmVfdmlld19raW5kKSB7CisgICAgICAgICAgICAgICAg
UEFTX1RFU1RJTkdfQVNTRVJUKHBhc19zZWdyZWdhdGVkX3ZpZXdfaXNfc29tZV9leGNsdXNpdmUo
b3duZXIpKTsKICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgICAgICAg
ICAgcGFzX2xvZygiTm90aWZ5aW5nIGV4Y2x1c2l2ZS1pc2ggZWxpZ2liaWxpdHkgb24gdmlldyAl
cC5cbiIsIG93bmVyKTsKICAgICAgICAgICAgICAgICAvKiBOT1RFOiBJZiB0aGlzIGRlY2lkZXMg
dG8gY2FjaGUgdGhlIHZpZXcgdGhlbiBpdCdzIHBvc3NpYmxlIHRoYXQgd2Ugd2lsbCByZWxlYXNl
IGFuZApAQCAtNDE1LDI3ICs0MTksMzEgQEAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9kZWFsbG9jYXRl
X3dpdGhfcGFnZQogICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX2V4Y2x1c2l2ZV92aWV3
X25vdGVfZWxpZ2liaWxpdHkoCiAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Zp
ZXdfZ2V0X2V4Y2x1c2l2ZShvd25lciksCiAgICAgICAgICAgICAgICAgICAgIHBhZ2UsIGRlYWxs
b2NhdGlvbl9tb2RlLCB0aHJlYWRfbG9jYWxfY2FjaGUsIHBhZ2VfY29uZmlnKTsKLSAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRs
ZSogc2hhcmVkX2hhbmRsZTsKLSAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYXJ0aWFs
X3ZpZXcqIHBhcnRpYWxfdmlldzsKLSAgICAgICAgICAgICAgICBzaXplX3Qgb2Zmc2V0X2luX3Bh
Z2U7Ci0gICAgICAgICAgICAgICAgc2l6ZV90IGJpdF9pbmRleDsKLSAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICBvZmZzZXRfaW5fcGFnZSA9IHBhc19tb2R1bG9fcG93ZXJfb2ZfMihi
ZWdpbiwgcGFnZV9jb25maWcuYmFzZS5wYWdlX3NpemUpOwotICAgICAgICAgICAgICAgIGJpdF9p
bmRleCA9IG9mZnNldF9pbl9wYWdlID4+IHBhZ2VfY29uZmlnLmJhc2UubWluX2FsaWduX3NoaWZ0
OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHNoYXJlZF9oYW5kbGUgPSBwYXNf
c2VncmVnYXRlZF92aWV3X2dldF9zaGFyZWRfaGFuZGxlKG93bmVyKTsKLSAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICBwYXJ0aWFsX3ZpZXcgPSBwYXNfc2VncmVnYXRlZF9zaGFyZWRf
aGFuZGxlX3BhcnRpYWxfdmlld19mb3JfaW5kZXgoCi0gICAgICAgICAgICAgICAgICAgIHNoYXJl
ZF9oYW5kbGUsIGJpdF9pbmRleCwgcGFnZV9jb25maWcpOwotCi0gICAgICAgICAgICAgICAgaWYg
KHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIHBhc19sb2coIk5vdGlmeWluZyBwYXJ0aWFs
IGVsaWdpYmlsaXR5IG9uIHZpZXcgJXAuXG4iLCBwYXJ0aWFsX3ZpZXcpOwotICAgICAgICAgICAg
ICAgIAotICAgICAgICAgICAgICAgIGlmICghcGFydGlhbF92aWV3LT5lbGlnaWJpbGl0eV9oYXNf
YmVlbl9ub3RlZCkKLSAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFydGlhbF92
aWV3X25vdGVfZWxpZ2liaWxpdHkocGFydGlhbF92aWV3LCBwYWdlKTsKICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgY2Fz
ZSBwYXNfc2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOiB7CisgICAgICAgICAgICBwYXNfc2Vn
cmVnYXRlZF9zaGFyZWRfaGFuZGxlKiBzaGFyZWRfaGFuZGxlOworICAgICAgICAgICAgcGFzX3Nl
Z3JlZ2F0ZWRfcGFydGlhbF92aWV3KiBwYXJ0aWFsX3ZpZXc7CisgICAgICAgICAgICBzaXplX3Qg
b2Zmc2V0X2luX3BhZ2U7CisgICAgICAgICAgICBzaXplX3QgYml0X2luZGV4OworICAgICAgICAg
ICAgCisgICAgICAgICAgICBvZmZzZXRfaW5fcGFnZSA9IHBhc19tb2R1bG9fcG93ZXJfb2ZfMihi
ZWdpbiwgcGFnZV9jb25maWcuYmFzZS5wYWdlX3NpemUpOworICAgICAgICAgICAgYml0X2luZGV4
ID0gb2Zmc2V0X2luX3BhZ2UgPj4gcGFnZV9jb25maWcuYmFzZS5taW5fYWxpZ25fc2hpZnQ7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIHNoYXJlZF9oYW5kbGUgPSBwYXNfc2VncmVnYXRlZF92
aWV3X2dldF9zaGFyZWRfaGFuZGxlKG93bmVyKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
cGFydGlhbF92aWV3ID0gcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRsZV9wYXJ0aWFsX3ZpZXdf
Zm9yX2luZGV4KAorICAgICAgICAgICAgICAgIHNoYXJlZF9oYW5kbGUsIGJpdF9pbmRleCwgcGFn
ZV9jb25maWcpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICBwYXNfbG9nKCJOb3RpZnlpbmcgcGFydGlhbCBlbGlnaWJpbGl0eSBvbiB2aWV3
ICVwLlxuIiwgcGFydGlhbF92aWV3KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFw
YXJ0aWFsX3ZpZXctPmVsaWdpYmlsaXR5X2hhc19iZWVuX25vdGVkKQorICAgICAgICAgICAgICAg
IHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmlld19ub3RlX2VsaWdpYmlsaXR5KHBhcnRpYWxfdmll
dywgcGFnZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfSB9CiAgICAgfQogCiAgICAg
aWYgKHBhZ2VfY29uZmlnLmJhc2UucGFnZV9zaXplID4gcGFnZV9jb25maWcuYmFzZS5ncmFudWxl
X3NpemUpIHsKQEAgLTQ5Miw3ICs1MDAsOCBAQCBzdGF0aWMgUEFTX0FMV0FZU19JTkxJTkUgdm9p
ZCBwYXNfc2VncmVnCiAgICAgcGFzX2xvY2sqKiBoZWxkX2xvY2ssCiAgICAgcGFzX3NlZ3JlZ2F0
ZWRfZGVhbGxvY2F0aW9uX21vZGUgZGVhbGxvY2F0aW9uX21vZGUsCiAgICAgcGFzX3RocmVhZF9s
b2NhbF9jYWNoZSogdGhyZWFkX2xvY2FsX2NhY2hlLAotICAgIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnIHBhZ2VfY29uZmlnKQorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2Vf
Y29uZmlnLAorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKQogewogICAgIHBhc19z
ZWdyZWdhdGVkX3BhZ2UqIHBhZ2U7CiAgICAgCkBAIC01MDEsMTMgKzUxMCwxNCBAQCBzdGF0aWMg
UEFTX0FMV0FZU19JTkxJTkUgdm9pZCBwYXNfc2VncmVnCiAgICAgcGFnZSA9IHBhc19zZWdyZWdh
dGVkX3BhZ2VfZm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmlnKGJlZ2luLCBwYWdlX2NvbmZpZyk7
CiAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zd2l0Y2hfbG9jayhwYWdlLCBoZWxkX2xvY2ssIHBh
Z2VfY29uZmlnKTsKICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2RlYWxsb2NhdGVfd2l0aF9wYWdl
KAotICAgICAgICBwYWdlLCBiZWdpbiwgZGVhbGxvY2F0aW9uX21vZGUsIHRocmVhZF9sb2NhbF9j
YWNoZSwgcGFnZV9jb25maWcpOworICAgICAgICBwYWdlLCBiZWdpbiwgZGVhbGxvY2F0aW9uX21v
ZGUsIHRocmVhZF9sb2NhbF9jYWNoZSwgcGFnZV9jb25maWcsIHJvbGUpOwogfQogCiBzdGF0aWMg
UEFTX0FMV0FZU19JTkxJTkUgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkqCiBwYXNfc2Vn
cmVnYXRlZF9wYWdlX2dldF9kaXJlY3RvcnlfZm9yX2FkZHJlc3NfaW5fcGFnZShwYXNfc2VncmVn
YXRlZF9wYWdlKiBwYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludHB0cl90IGJlZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcg
cGFnZV9jb25maWcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBwYWdlX2NvbmZpZywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdy
ZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKQogewogICAgIHBhc19zZWdyZWdhdGVkX3ZpZXcgb3duaW5n
X3ZpZXc7CiAgICAgCkBAIC01MTUsNzIgKzUyNSwxMTAgQEAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9n
ZXRfZGlyZWN0b3J5X2Zvcl9hZAogICAgIAogICAgIG93bmluZ192aWV3ID0gcGFnZS0+b3duZXI7
CiAKLSAgICBzd2l0Y2ggKHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X2tpbmQob3duaW5nX3ZpZXcp
KSB7Ci0gICAgY2FzZSBwYXNfc2VncmVnYXRlZF9leGNsdXNpdmVfdmlld19raW5kOgotICAgIGNh
c2UgcGFzX3NlZ3JlZ2F0ZWRfaW5lbGlnaWJsZV9leGNsdXNpdmVfdmlld19raW5kOgorICAgIHN3
aXRjaCAocm9sZSkgeworICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9s
ZToKICAgICAgICAgcmV0dXJuIHBhc19jb21wYWN0X3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3Rvcnlf
cHRyX2xvYWRfbm9uX251bGwoCiAgICAgICAgICAgICAmcGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRf
ZXhjbHVzaXZlKG93bmluZ192aWV3KS0+ZGlyZWN0b3J5KTsKIAotICAgIGNhc2UgcGFzX3NlZ3Jl
Z2F0ZWRfc2hhcmVkX2hhbmRsZV9raW5kOgorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9z
aGFyZWRfcm9sZToKICAgICAgICAgcmV0dXJuIHBhc19jb21wYWN0X3NlZ3JlZ2F0ZWRfc2l6ZV9k
aXJlY3RvcnlfcHRyX2xvYWQoCiAgICAgICAgICAgICAmcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hh
bmRsZV9wYXJ0aWFsX3ZpZXdfZm9yX29iamVjdCgKICAgICAgICAgICAgICAgICBwYXNfc2VncmVn
YXRlZF92aWV3X2dldF9zaGFyZWRfaGFuZGxlKG93bmluZ192aWV3KSwgYmVnaW4sIHBhZ2VfY29u
ZmlnKS0+ZGlyZWN0b3J5KTsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIFBBU19BU1NFUlQoISJT
aG91bGQgbm90IGJlIHJlYWNoZWQiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAg
IAorICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICByZXR1cm4g
TlVMTDsKIH0KIAogc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHBhc19zZWdyZWdhdGVkX3NpemVf
ZGlyZWN0b3J5KgogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9nZXRfZGlyZWN0b3J5X2Zvcl9hZGRyZXNz
X2FuZF9wYWdlX2NvbmZpZyh1aW50cHRyX3QgYmVnaW4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Bh
Z2VfY29uZmlnIHBhZ2VfY29uZmlnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBw
YWdlX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlIHJvbGUpCiB7CiAgICAg
UEFTX0FTU0VSVChwYWdlX2NvbmZpZy5iYXNlLmlzX2VuYWJsZWQpOwogICAgIAogICAgIHJldHVy
biBwYXNfc2VncmVnYXRlZF9wYWdlX2dldF9kaXJlY3RvcnlfZm9yX2FkZHJlc3NfaW5fcGFnZSgK
ICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWco
YmVnaW4sIHBhZ2VfY29uZmlnKSwKLSAgICAgICAgYmVnaW4sIHBhZ2VfY29uZmlnKTsKKyAgICAg
ICAgYmVnaW4sIHBhZ2VfY29uZmlnLCByb2xlKTsKIH0KIAogc3RhdGljIFBBU19BTFdBWVNfSU5M
SU5FIHVuc2lnbmVkCiBwYXNfc2VncmVnYXRlZF9wYWdlX2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRk
cmVzc19pbl9wYWdlKHBhc19zZWdyZWdhdGVkX3BhZ2UqIHBhZ2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnRwdHJfdCBiZWdpbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgcGFnZV9jb25maWcpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Bh
Z2VfY29uZmlnIHBhZ2VfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcm9sZSkKIHsK
LSAgICBwYXNfc2VncmVnYXRlZF92aWV3IG93bmluZ192aWV3OwotICAgIAogICAgIFBBU19BU1NF
UlQocGFnZV9jb25maWcuYmFzZS5pc19lbmFibGVkKTsKICAgICAKLSAgICBvd25pbmdfdmlldyA9
IHBhZ2UtPm93bmVyOwotCi0gICAgc3dpdGNoIChwYXNfc2VncmVnYXRlZF92aWV3X2dldF9raW5k
KG93bmluZ192aWV3KSkgewotICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXdf
a2luZDoKLSAgICBjYXNlIHBhc19zZWdyZWdhdGVkX2luZWxpZ2libGVfZXhjbHVzaXZlX3ZpZXdf
a2luZDoKKyAgICBzd2l0Y2ggKHJvbGUpIHsKKyAgICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2Vf
ZXhjbHVzaXZlX3JvbGU6CisgICAgICAgIFBBU19URVNUSU5HX0FTU0VSVChwYXNfc2VncmVnYXRl
ZF92aWV3X2lzX3NvbWVfZXhjbHVzaXZlKHBhZ2UtPm93bmVyKSk7CiAgICAgICAgIHJldHVybiBw
YWdlLT5vYmplY3Rfc2l6ZTsKIAotICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRs
ZV9raW5kOgorICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZTogeworICAg
ICAgICBwYXNfc2VncmVnYXRlZF92aWV3IG93bmluZ192aWV3OworICAgICAgICAKKyAgICAgICAg
b3duaW5nX3ZpZXcgPSBwYWdlLT5vd25lcjsKKyAgICAKICAgICAgICAgcmV0dXJuIHBhc19jb21w
YWN0X3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfcHRyX2xvYWQoCiAgICAgICAgICAgICAmcGFz
X3NlZ3JlZ2F0ZWRfc2hhcmVkX2hhbmRsZV9wYXJ0aWFsX3ZpZXdfZm9yX29iamVjdCgKICAgICAg
ICAgICAgICAgICBwYXNfc2VncmVnYXRlZF92aWV3X2dldF9zaGFyZWRfaGFuZGxlKG93bmluZ192
aWV3KSwKICAgICAgICAgICAgICAgICBiZWdpbiwgcGFnZV9jb25maWcpLT5kaXJlY3RvcnkpLT5v
YmplY3Rfc2l6ZTsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIFBBU19BU1NFUlQoISJTaG91bGQg
bm90IGJlIHJlYWNoZWQiKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIH0gfQorICAg
IAorICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICByZXR1cm4g
MDsKIH0KIAogc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHVuc2lnbmVkCiBwYXNfc2VncmVnYXRl
ZF9wYWdlX2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWcoCiAgICAg
dWludHB0cl90IGJlZ2luLAotICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29u
ZmlnKQorICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnIHBhZ2VfY29uZmlnLAorICAgIHBh
c19zZWdyZWdhdGVkX3BhZ2Vfcm9sZSByb2xlKQogewogICAgIFBBU19BU1NFUlQocGFnZV9jb25m
aWcuYmFzZS5pc19lbmFibGVkKTsKICAgICAKICAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9nZXRfb2JqZWN0X3NpemVfZm9yX2FkZHJlc3NfaW5fcGFnZSgKICAgICAgICAgcGFzX3NlZ3Jl
Z2F0ZWRfcGFnZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWcoYmVnaW4sIHBhZ2VfY29uZmln
KSwKLSAgICAgICAgYmVnaW4sIHBhZ2VfY29uZmlnKTsKKyAgICAgICAgYmVnaW4sIHBhZ2VfY29u
ZmlnLCByb2xlKTsKK30KKworc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHZvaWQgcGFzX3NlZ3Jl
Z2F0ZWRfcGFnZV9sb2dfb3JfZGVhbGxvY2F0ZSgKKyAgICB1aW50cHRyX3QgYmVnaW4sCisgICAg
cGFzX3RocmVhZF9sb2NhbF9jYWNoZSogY2FjaGUsCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9j
b25maWcgcGFnZV9jb25maWcsCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlIHJvbGUpCit7
CisgICAgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2xvZ2dpbmdfbW9kZSBtb2RlOworICAg
IAorICAgIG1vZGUgPSBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19sb2dnaW5nX21vZGVfZm9y
X3JvbGUocGFnZV9jb25maWcsIHJvbGUpOworCisgICAgaWYgKCFwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fbG9nZ2luZ19tb2RlX2RvZXNfbG9nZ2luZyhtb2RlKSkgeworICAgICAgICBwYXNf
bG9jayogaGVsZF9sb2NrOworICAgICAgICBoZWxkX2xvY2sgPSBOVUxMOworICAgICAgICBwYXNf
c2VncmVnYXRlZF9wYWdlX2RlYWxsb2NhdGUoCisgICAgICAgICAgICBiZWdpbiwgJmhlbGRfbG9j
aywgcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX3RvX3ZpZXdfY2FjaGVfbW9kZSwgY2FjaGUs
IHBhZ2VfY29uZmlnLCByb2xlKTsKKyAgICAgICAgcGFzX2xvY2tfc3dpdGNoKCZoZWxkX2xvY2ss
IE5VTEwpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogVGhpcyBjaGVjayBoYXBw
ZW5zIGhlcmUgYmVjYXVzZSBpZiBsb2dnaW5nIGlzIGRpc2FibGVkIHRoZW4gd2hldGhlciB3ZSBj
aGVjayBkZWFsbG9jYXRpb24gaXMgZ292ZXJuZWQKKyAgICAgICBieSB0aGUgY2hlY2tfZGVhbGxv
Y2F0aW9uIGZsYWcuICovCisgICAgaWYgKHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dn
aW5nX21vZGVfaXNfY2hlY2tlZChtb2RlKSkgeworICAgICAgICBpZiAoUEFTX1VOTElLRUxZKCFw
YXNfc2VncmVnYXRlZF9wYWdlX2lzX2FsbG9jYXRlZChiZWdpbiwgcGFnZV9jb25maWcpKSkKKyAg
ICAgICAgICAgIHBhc19kZWFsbG9jYXRpb25fZGlkX2ZhaWwoIlBhZ2UgYml0IG5vdCBzZXQiLCBi
ZWdpbik7CisgICAgfQorCisgICAgaWYgKHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9sb2dn
aW5nX21vZGVfaXNfc2l6ZV9hd2FyZShtb2RlKSkgeworICAgICAgICBwYXNfdGhyZWFkX2xvY2Fs
X2NhY2hlX2FwcGVuZF9kZWFsbG9jYXRpb25fd2l0aF9zaXplKAorICAgICAgICAgICAgY2FjaGUs
IGJlZ2luLAorICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9nZXRfb2JqZWN0X3NpemVf
Zm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmlnKGJlZ2luLCBwYWdlX2NvbmZpZywgcm9sZSksCisg
ICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlX2NyZWF0
ZShwYWdlX2NvbmZpZy5raW5kLCByb2xlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
CisgICAgcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uKAorICAgICAg
ICBjYWNoZSwgYmVnaW4sIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGVf
Y3JlYXRlKHBhZ2VfY29uZmlnLmtpbmQsIHJvbGUpKTsKIH0KIAogUEFTX0VORF9FWFRFUk5fQzsK
SW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3Bh
Z2Vfcm9sZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFz
L3Bhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBQQVNfU0VHUkVHQVRFRF9QQUdFX1JPTEVfSAorI2RlZmlu
ZSBQQVNfU0VHUkVHQVRFRF9QQUdFX1JPTEVfSAorCisjaW5jbHVkZSAicGFzX3V0aWxzLmgiCisK
K1BBU19CRUdJTl9FWFRFUk5fQzsKKworZW51bSBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgewor
ICAgIHBhc19zZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGUsCisgICAgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9leGNsdXNpdmVfcm9sZQorfTsKKwordHlwZWRlZiBlbnVtIHBhc19zZWdyZWdhdGVkX3Bh
Z2Vfcm9sZSBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGU7CisKK3N0YXRpYyBpbmxpbmUgY29uc3Qg
Y2hhciogcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9yb2xlX2dldF9zdHJpbmcocGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9yb2xlIHJvbGUpCit7CisgICAgc3dpdGNoIChyb2xlKSB7CisgICAgY2FzZSBwYXNfc2Vn
cmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOgorICAgICAgICByZXR1cm4gInNoYXJlZCI7CisgICAg
Y2FzZSBwYXNfc2VncmVnYXRlZF9wYWdlX2V4Y2x1c2l2ZV9yb2xlOgorICAgICAgICByZXR1cm4g
ImV4Y2x1c2l2ZSI7CisgICAgfQorICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNo
ZWQiKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworUEFTX0VORF9FWFRFUk5fQzsKKworI2VuZGlm
IC8qIFBBU19TRUdSRUdBVEVEX1BBR0VfUk9MRV9IICovCisKSW5kZXg6IFNvdXJjZS9ibWFsbG9j
L2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3NoYXJlZF92aWV3LmMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfc2hh
cmVkX3ZpZXcuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfc2hhcmVkX3ZpZXcuYwkod29ya2luZyBjb3B5KQpAQCAt
MTI2LDkgKzEyNiwxMCBAQCBwYXNfc2VncmVnYXRlZF9zaGFyZWRfaGFuZGxlKiBwYXNfc2VncmVn
CiAgICAgICAgICAgICBwYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5zYWN0aW9uX2JlZ2luKCZ0cmFu
c2FjdGlvbik7CiAgICAgICAgICAgICBwYXNfaGVhcF9sb2NrX2xvY2tfY29uZGl0aW9uYWxseSgK
ICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19oZWFwX2xvY2tfaG9s
ZF9tb2RlKHBhZ2VfY29uZmlnKSk7Ci0gICAgICAgICAgICBwYWdlX2JvdW5kYXJ5ID0gcGFnZV9j
b25maWcuYmFzZS5wYWdlX2FsbG9jYXRvcigKKyAgICAgICAgICAgIHBhZ2VfYm91bmRhcnkgPSBw
YWdlX2NvbmZpZy5wYWdlX2FsbG9jYXRvcigKICAgICAgICAgICAgICAgICBoZWFwLAotICAgICAg
ICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2hlYXBfbG9ja19ob2xkX21vZGUo
cGFnZV9jb25maWcpID8gTlVMTCA6ICZ0cmFuc2FjdGlvbik7CisgICAgICAgICAgICAgICAgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfaGVhcF9sb2NrX2hvbGRfbW9kZShwYWdlX2NvbmZpZykg
PyBOVUxMIDogJnRyYW5zYWN0aW9uLAorICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3Bh
Z2Vfc2hhcmVkX3JvbGUpOwogICAgICAgICAgICAgcGFzX2hlYXBfbG9ja191bmxvY2tfY29uZGl0
aW9uYWxseSgKICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19oZWFw
X2xvY2tfaG9sZF9tb2RlKHBhZ2VfY29uZmlnKSk7CiAgICAgICAgIH0gd2hpbGUgKCFwYXNfcGh5
c2ljYWxfbWVtb3J5X3RyYW5zYWN0aW9uX2VuZCgmdHJhbnNhY3Rpb24pKTsKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5
LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3Nl
Z3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2Jt
YWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkuYwko
d29ya2luZyBjb3B5KQpAQCAtNzUsMTAgKzc1LDE4IEBAIHBhc19zZWdyZWdhdGVkX3NpemVfZGly
ZWN0b3J5KiBwYXNfc2VncmUKICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2Rp
cmVjdG9yeV9sb2NhbF9hbGxvY2F0b3Jfc2l6ZV9mb3JfY29uZmlnKCpwYWdlX2NvbmZpZykpOwog
ICAgIH0KIAotICAgIHJlc3VsdCA9IHBhc19pbW1vcnRhbF9oZWFwX2FsbG9jYXRlKAotICAgICAg
ICBzaXplb2YocGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkpLAotICAgICAgICAicGFzX3Nl
Z3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkiLAotICAgICAgICBwYXNfb2JqZWN0X2FsbG9jYXRpb24p
OworICAgIGlmIChwYWdlX2NvbmZpZykgeworICAgICAgICByZXN1bHQgPSBwYXNfaW1tb3J0YWxf
aGVhcF9hbGxvY2F0ZSgKKyAgICAgICAgICAgIHNpemVvZihwYXNfc2VncmVnYXRlZF9zaXplX2Rp
cmVjdG9yeSksCisgICAgICAgICAgICAicGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkiLAor
ICAgICAgICAgICAgcGFzX29iamVjdF9hbGxvY2F0aW9uKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICByZXN1bHQgPSBwYXNfaW1tb3J0YWxfaGVhcF9hbGxvY2F0ZV93aXRoX2FsaWdubWVudCgKKyAg
ICAgICAgICAgIHNpemVvZihwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSkgKyBzaXplb2Yo
cGFzX2JpdGZpdF9zaXplX2NsYXNzKSwKKyAgICAgICAgICAgIFBBU19NQVgoYWxpZ25vZihwYXNf
c2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSksIGFsaWdub2YocGFzX2JpdGZpdF9zaXplX2NsYXNz
KSksCisgICAgICAgICAgICAicGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkrcGFzX2JpdGZp
dF9zaXplX2NsYXNzIiwKKyAgICAgICAgICAgIHBhc19vYmplY3RfYWxsb2NhdGlvbik7CisgICAg
fQogCiAgICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICAgcGFzX2xvZygiJWQ6IENyZWF0aW5nIGRp
cmVjdG9yeSAlcCBmb3IgJXMgd2l0aCBvYmplY3Rfc2l6ZSA9ICV1LCBhbGlnbm1lbnQgPSAldVxu
IiwKQEAgLTk4LDYgKzEwNiwxMyBAQCBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogcGFz
X3NlZ3JlCiAgICAgUEFTX0FTU0VSVChwYXNfaXNfYWxpZ25lZChvYmplY3Rfc2l6ZSwgYWxpZ25t
ZW50KSk7CiAgICAgcmVzdWx0LT5hbGlnbm1lbnRfc2hpZnQgPSBwYXNfbG9nMihhbGlnbm1lbnQp
OwogCisgICAgaWYgKHBhZ2VfY29uZmlnKQorICAgICAgICByZXN1bHQtPmFsaWdubWVudF9zaGlm
dCA9IHBhc19sb2cyKGFsaWdubWVudCk7CisgICAgZWxzZSB7CisgICAgICAgIFBBU19BU1NFUlQo
UEFTX1NFR1JFR0FURURfU0laRV9ESVJFQ1RPUllfQUxJR05NRU5UX1NISUZUX0JJVFMgPT0gNSk7
CisgICAgICAgIHJlc3VsdC0+YWxpZ25tZW50X3NoaWZ0ID0gMzE7CisgICAgfQorCiAgICAgcmVz
dWx0LT5lbmNvZGVkX3N0dWZmID0KICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3Rv
cnlfZW5jb2RlX3N0dWZmKDIgKiBQQVNfTlVNX0JBU0VMSU5FX0FMTE9DQVRPUlMsIFVJTlRfTUFY
KTsKICAgICAKQEAgLTEwNSwyMSArMTIwLDE3IEBAIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0
b3J5KiBwYXNfc2VncmUKICAgICAKICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV9k
YXRhX3B0cl9zdG9yZSgmcmVzdWx0LT5kYXRhLCBOVUxMKTsKIAotICAgIGlmIChwYWdlX2NvbmZp
ZykKLSAgICAgICAgcGFzX2NvbXBhY3RfYXRvbWljX2JpdGZpdF9zaXplX2NsYXNzX3B0cl9zdG9y
ZSgmcmVzdWx0LT5iaXRmaXRfc2l6ZV9jbGFzcywgTlVMTCk7Ci0gICAgZWxzZSB7CisgICAgaWYg
KCFwYWdlX2NvbmZpZykgewogICAgICAgICBwYXNfYml0Zml0X2hlYXAqIGJpdGZpdF9oZWFwOwog
ICAgICAgICBwYXNfYml0Zml0X3NpemVfY2xhc3MqIGJpdGZpdF9zaXplX2NsYXNzOwogCiAgICAg
ICAgIGJpdGZpdF9oZWFwID0gcGFzX3NlZ3JlZ2F0ZWRfaGVhcF9nZXRfYml0Zml0KGhlYXAsIGhl
YXBfY29uZmlnLCBwYXNfbG9ja19pc19oZWxkKTsKICAgICAgICAgUEFTX0FTU0VSVChiaXRmaXRf
aGVhcCk7CiAgICAgICAgIAotICAgICAgICBiaXRmaXRfc2l6ZV9jbGFzcyA9Ci0gICAgICAgICAg
ICBwYXNfYml0Zml0X2hlYXBfZW5zdXJlX3NpemVfY2xhc3MoCi0gICAgICAgICAgICAgICAgYml0
Zml0X2hlYXAsIHJlc3VsdCwgaGVhcF9jb25maWcsIHBhc19sb2NrX2lzX2hlbGQpOworICAgICAg
ICBiaXRmaXRfc2l6ZV9jbGFzcyA9IHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2dldF9i
aXRmaXRfc2l6ZV9jbGFzcyhyZXN1bHQpOwogICAgICAgICAKLSAgICAgICAgcGFzX2NvbXBhY3Rf
YXRvbWljX2JpdGZpdF9zaXplX2NsYXNzX3B0cl9zdG9yZSgKLSAgICAgICAgICAgICZyZXN1bHQt
PmJpdGZpdF9zaXplX2NsYXNzLCBiaXRmaXRfc2l6ZV9jbGFzcyk7CisgICAgICAgIHBhc19iaXRm
aXRfaGVhcF9jb25zdHJ1Y3RfYW5kX2luc2VydF9zaXplX2NsYXNzKAorICAgICAgICAgICAgYml0
Zml0X2hlYXAsIGJpdGZpdF9zaXplX2NsYXNzLCBvYmplY3Rfc2l6ZSwgaGVhcF9jb25maWcpOwog
ICAgIH0KICAgICAKICAgICBwYXNfY29tcGFjdF9hdG9taWNfc2VncmVnYXRlZF9zaXplX2RpcmVj
dG9yeV9wdHJfc3RvcmUoJnJlc3VsdC0+bmV4dF9mb3JfaGVhcCwgTlVMTCk7CkluZGV4OiBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9y
eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19z
ZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgUEFTX1NFR1JFR0FURURf
U0laRV9ESVJFQ1RPUllfSAogCiAjaW5jbHVkZSAicGFzX2FsbG9jYXRvcl9pbmRleC5oIgotI2lu
Y2x1ZGUgInBhc19jb21wYWN0X2F0b21pY19iaXRmaXRfc2l6ZV9jbGFzc19wdHIuaCIKKyNpbmNs
dWRlICJwYXNfYml0Zml0X3NpemVfY2xhc3MuaCIKICNpbmNsdWRlICJwYXNfY29tcGFjdF9hdG9t
aWNfcGFnZV9zaGFyaW5nX3Bvb2xfcHRyLmgiCiAjaW5jbHVkZSAicGFzX2NvbXBhY3RfYXRvbWlj
X3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfcHRyLmgiCiAjaW5jbHVkZSAicGFzX2NvbXBhY3Rf
YXRvbWljX3RocmVhZF9sb2NhbF9jYWNoZV9sYXlvdXRfbm9kZS5oIgpAQCAtNTIsMTMgKzUyLDE1
IEBAIHR5cGVkZWYgc3RydWN0IHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWMKIFBBU19ERUZJTkVf
Q09NUEFDVF9BVE9NSUNfUFRSKHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2RhdGEsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9y
eV9kYXRhX3B0cik7CiAKLXN0cnVjdCBQQVNfQUxJR05FRChzaXplb2YocGFzX3ZlcnNpb25lZF9m
aWVsZCkpIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5IHsKKyNkZWZpbmUgUEFTX1NFR1JF
R0FURURfU0laRV9ESVJFQ1RPUllfQUxJR05NRU5UX1NISUZUX0JJVFMgNQorCitzdHJ1Y3QgcGFz
X3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnkgewogICAgIHBhc19zZWdyZWdhdGVkX2RpcmVjdG9y
eSBiYXNlOwogICAgIAogICAgIHBhc19zZWdyZWdhdGVkX2hlYXAqIGhlYXA7CiAKICAgICB1bnNp
Z25lZCBvYmplY3Rfc2l6ZSA6IDI3OwotICAgIHVuc2lnbmVkIGFsaWdubWVudF9zaGlmdCA6IDU7
CisgICAgdW5zaWduZWQgYWxpZ25tZW50X3NoaWZ0IDogUEFTX1NFR1JFR0FURURfU0laRV9ESVJF
Q1RPUllfQUxJR05NRU5UX1NISUZUX0JJVFM7CiAKICAgICAvKiBUaGlzIGhvbGRzIHR3byBmaWVs
ZHMgdGhhdCBuZWVkIHRvIGJlIENBU2FibGUsIHNvIHdlIGRvbid0IHdhbnQgdXNlIGEgYml0Zmll
bGQ6CiAgICAgICAgCkBAIC04NCw3ICs4Niw2IEBAIHN0cnVjdCBQQVNfQUxJR05FRChzaXplb2Yo
cGFzX3ZlcnNpb25lZF8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJlY2F1c2UgaXQgdGFrZXMgbGVzcyBzcGFjZSB0byBwdXQgaXQgaGVyZS4gKi8KICAgICAK
ICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeV9kYXRhX3B0ciBkYXRhOwotICAgIHBh
c19jb21wYWN0X2F0b21pY19iaXRmaXRfc2l6ZV9jbGFzc19wdHIgYml0Zml0X3NpemVfY2xhc3M7
CiAKICAgICAvKiBUaGUgb3duaW5nIHNlZ3JlZ2F0ZWQgaGVhcCBob2xkcyB0aGVzZSBpbiBhIHNp
bmdseSBsaW5rZWQgbGlzdC4gKi8KICAgICBwYXNfY29tcGFjdF9hdG9taWNfc2VncmVnYXRlZF9z
aXplX2RpcmVjdG9yeV9wdHIgbmV4dF9mb3JfaGVhcDsKQEAgLTE3Miw3ICsxNzMsNyBAQCBQQVNf
QVBJIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBwCiAgICAgdW5zaWduZWQgb2JqZWN0
X3NpemUsCiAgICAgdW5zaWduZWQgYWxpZ25tZW50LAogICAgIHBhc19oZWFwX2NvbmZpZyogaGVh
cF9jb25maWcsCi0gICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcqIHBhZ2VfY29uZmlnLAor
ICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnKiBwYWdlX2NvbmZpZywgLyogUGFzcyBOVUxM
IHRvIGNyZWF0ZSBhIGJpdGZpdCBzaXplIGRpcmVjdG9yeS4gKi8KICAgICBwYXNfc2VncmVnYXRl
ZF9zaXplX2RpcmVjdG9yeV9jcmVhdGlvbl9tb2RlIGNyZWF0aW9uX21vZGUpOwogCiBQQVNfQVBJ
IHZvaWQgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfZmluaXNoX2NyZWF0aW9uKHBhc19z
ZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBkaXJlY3RvcnkpOwpAQCAtMjU2LDYgKzI1NywyMSBA
QCBzdGF0aWMgaW5saW5lIHZvaWQgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kCiAgICAgfQogfQogCitz
dGF0aWMgaW5saW5lIGJvb2wgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfaXNfYml0Zml0
KHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5KiBkaXJlY3RvcnkpCit7CisgICAgcmV0dXJu
IGRpcmVjdG9yeS0+YmFzZS5wYWdlX2NvbmZpZ19raW5kID09IHBhc19zZWdyZWdhdGVkX3BhZ2Vf
Y29uZmlnX2tpbmRfbnVsbDsKK30KKworc3RhdGljIGlubGluZSBwYXNfYml0Zml0X3NpemVfY2xh
c3MqIHBhc19zZWdyZWdhdGVkX3NpemVfZGlyZWN0b3J5X2dldF9iaXRmaXRfc2l6ZV9jbGFzcygK
KyAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5KQoreworICAgIHVp
bnRwdHJfdCByZXN1bHQ7CisgICAgUEFTX1RFU1RJTkdfQVNTRVJUKHBhc19zZWdyZWdhdGVkX3Np
emVfZGlyZWN0b3J5X2lzX2JpdGZpdChkaXJlY3RvcnkpKTsKKyAgICByZXN1bHQgPSAodWludHB0
cl90KShkaXJlY3RvcnkgKyAxKTsKKyAgICBQQVNfVEVTVElOR19BU1NFUlQocGFzX2lzX2FsaWdu
ZWQocmVzdWx0LCBhbGlnbm9mKHBhc19iaXRmaXRfc2l6ZV9jbGFzcykpKTsKKyAgICByZXR1cm4g
KHBhc19iaXRmaXRfc2l6ZV9jbGFzcyopcmVzdWx0OworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wg
cGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9kaXJlY3RvcnlfZGlkX3RyeV90b19jcmVhdGVfdmlld19jYWNo
ZSgKICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5KQogewpJbmRl
eDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfdmlldy5j
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdy
ZWdhdGVkX3ZpZXcuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfdmlldy5jCSh3b3JraW5nIGNvcHkpCkBAIC00ODks
NyArNDg5LDggQEAgc3RhdGljIHBhc190cmlfc3RhdGUgc2hvdWxkX2JlX2VsaWdpYmxlKAogICAg
ICAgICAgICAgICAgIGZ1bGxfYWxsb2NfYml0cy53b3JkX2luZGV4X2VuZCk7CiAgICAgfQogCi0g
ICAgaWYgKHBhZ2VfY29uZmlnLT5lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6
YXRpb24pIHsKKyAgICBpZiAocGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfZW5hYmxlX2VtcHR5
X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uX2Zvcl9yb2xlKAorICAgICAgICAgICAgKnBh
Z2VfY29uZmlnLCBwYXNfc2VncmVnYXRlZF92aWV3X2dldF9wYWdlX3JvbGVfZm9yX2FsbG9jYXRv
cih2aWV3KSkpIHsKICAgICAgICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgICBwYXNfbG9nKCJE
b2luZyBlbXB0eSB3b3JkIGVsaWdpYmlsaXR5IGZvciB2aWV3ICVwXG4iLCB2aWV3KTsKICAgICAg
ICAgZm9yIChpbmRleCA9IGZ1bGxfYWxsb2NfYml0cy53b3JkX2luZGV4X2JlZ2luOwpJbmRleDog
U291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfdmlldy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdh
dGVkX3ZpZXcuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRfdmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsNiAr
MTk4LDE2IEBAIFBBU19BUEkgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZAogcGFzX3Nl
Z3JlZ2F0ZWRfdmlld19nZXRfcGFnZV9jb25maWdfa2luZChwYXNfc2VncmVnYXRlZF92aWV3IHZp
ZXcpOwogUEFTX0FQSSBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyogcGFzX3NlZ3JlZ2F0ZWRf
dmlld19nZXRfcGFnZV9jb25maWcocGFzX3NlZ3JlZ2F0ZWRfdmlldyB2aWV3KTsKIAorc3RhdGlj
IGlubGluZSBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUgcGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRf
cGFnZV9yb2xlX2Zvcl9vd25lcihwYXNfc2VncmVnYXRlZF92aWV3IHZpZXcpCit7CisgICAgcmV0
dXJuIHBhc19zZWdyZWdhdGVkX3ZpZXdfa2luZF9nZXRfcm9sZV9mb3Jfb3duZXIocGFzX3NlZ3Jl
Z2F0ZWRfdmlld19nZXRfa2luZCh2aWV3KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgcGFzX3NlZ3Jl
Z2F0ZWRfcGFnZV9yb2xlIHBhc19zZWdyZWdhdGVkX3ZpZXdfZ2V0X3BhZ2Vfcm9sZV9mb3JfYWxs
b2NhdG9yKHBhc19zZWdyZWdhdGVkX3ZpZXcgdmlldykKK3sKKyAgICByZXR1cm4gcGFzX3NlZ3Jl
Z2F0ZWRfdmlld19raW5kX2dldF9yb2xlX2Zvcl9hbGxvY2F0b3IocGFzX3NlZ3JlZ2F0ZWRfdmll
d19nZXRfa2luZCh2aWV3KSk7Cit9CisKIFBBU19BUEkgc2l6ZV90IHBhc19zZWdyZWdhdGVkX3Zp
ZXdfZ2V0X2luZGV4KHBhc19zZWdyZWdhdGVkX3ZpZXcgdmlldyk7CiAKIFBBU19BUEkgdm9pZCog
cGFzX3NlZ3JlZ2F0ZWRfdmlld19nZXRfcGFnZV9ib3VuZGFyeShwYXNfc2VncmVnYXRlZF92aWV3
IHZpZXcpOwpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3Jl
Z2F0ZWRfdmlld19hbGxvY2F0b3JfaW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3ZpZXdfYWxsb2NhdG9yX2lubGlu
ZXMuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX3NlZ3JlZ2F0ZWRfdmlld19hbGxvY2F0b3JfaW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsOSArMTE2LDEwIEBAIHBhc19zZWdyZWdhdGVkX3ZpZXdfd2lsbF9zdGFydF9hbGxv
Y2F0aW4KIAogICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3BoeXNpY2FsX21lbW9yeV90cmFu
c2FjdGlvbl9iZWdpbigmdHJhbnNhY3Rpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X2hlYXBfbG9ja19sb2NrX2NvbmRpdGlvbmFsbHkoaGVhcF9sb2NrX2hvbGRfbW9kZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBleGNsdXNpdmUtPnBhZ2VfYm91bmRhcnkgPSBwYWdlX2NvbmZp
Zy5iYXNlLnBhZ2VfYWxsb2NhdG9yKAorICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVzaXZl
LT5wYWdlX2JvdW5kYXJ5ID0gcGFnZV9jb25maWcucGFnZV9hbGxvY2F0b3IoCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZV9kaXJlY3RvcnktPmhlYXAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVhcF9sb2NrX2hvbGRfbW9kZSA/IE5VTEwgOiAmdHJhbnNhY3Rpb24pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYXBfbG9ja19ob2xkX21vZGUgPyBOVUxMIDog
JnRyYW5zYWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVk
X3BhZ2VfZXhjbHVzaXZlX3JvbGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV4Y2x1
c2l2ZS0+cGFnZV9ib3VuZGFyeSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2
ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19sb2coIkNyZWF0
aW5nIHBhZ2UgaGVhZGVyIGZvciBuZXcgZXhjbHVzaXZlIHBhZ2UsIGJvdW5kYXJ5ID0gJXAuXG4i
LApJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3NlZ3JlZ2F0ZWRf
dmlld19raW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX3NlZ3JlZ2F0ZWRfdmlld19raW5kLmgJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc19zZWdyZWdhdGVkX3ZpZXdfa2luZC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoYykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTktMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUEFTX1NFR1JFR0FURURfVklFV19L
SU5EX0gKICNkZWZpbmUgUEFTX1NFR1JFR0FURURfVklFV19LSU5EX0gKIAotI2luY2x1ZGUgInBh
c191dGlscy5oIgorI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZS5oIgogCiBQQVNf
QkVHSU5fRVhURVJOX0M7CiAKQEAgLTg5LDYgKzg5LDM2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBw
YXNfc2VncmVnYXRlZF92aWV3X2sKICAgICByZXR1cm4ga2luZCA8PSBwYXNfc2VncmVnYXRlZF9p
bmVsaWdpYmxlX2V4Y2x1c2l2ZV92aWV3X2tpbmQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgcGFzX3Nl
Z3JlZ2F0ZWRfcGFnZV9yb2xlCitwYXNfc2VncmVnYXRlZF92aWV3X2tpbmRfZ2V0X3JvbGVfZm9y
X293bmVyKHBhc19zZWdyZWdhdGVkX3ZpZXdfa2luZCBraW5kKQoreworICAgIHN3aXRjaCAoa2lu
ZCkgeworICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfZXhjbHVzaXZlX3ZpZXdfa2luZDoKKyAgICBj
YXNlIHBhc19zZWdyZWdhdGVkX2luZWxpZ2libGVfZXhjbHVzaXZlX3ZpZXdfa2luZDoKKyAgICAg
ICAgcmV0dXJuIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU7CisgICAgY2FzZSBw
YXNfc2VncmVnYXRlZF9zaGFyZWRfaGFuZGxlX2tpbmQ6CisgICAgICAgIHJldHVybiBwYXNfc2Vn
cmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlOworICAgIGRlZmF1bHQ6CisgICAgICAgIFBBU19BU1NF
UlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICAgICAgcmV0dXJuIHBhc19zZWdyZWdh
dGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGU7CisgICAgfQorfQorCitzdGF0aWMgaW5saW5lIHBhc19z
ZWdyZWdhdGVkX3BhZ2Vfcm9sZQorcGFzX3NlZ3JlZ2F0ZWRfdmlld19raW5kX2dldF9yb2xlX2Zv
cl9hbGxvY2F0b3IocGFzX3NlZ3JlZ2F0ZWRfdmlld19raW5kIGtpbmQpCit7CisgICAgc3dpdGNo
IChraW5kKSB7CisgICAgY2FzZSBwYXNfc2VncmVnYXRlZF9leGNsdXNpdmVfdmlld19raW5kOgor
ICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRfaW5lbGlnaWJsZV9leGNsdXNpdmVfdmlld19raW5kOgor
ICAgICAgICByZXR1cm4gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZTsKKyAgICBj
YXNlIHBhc19zZWdyZWdhdGVkX3BhcnRpYWxfdmlld19raW5kOgorICAgICAgICByZXR1cm4gcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZTsKKyAgICBkZWZhdWx0OgorICAgICAgICBQQVNf
QVNTRVJUKCEiU2hvdWxkIG5vdCBiZSByZWFjaGVkIik7CisgICAgICAgIHJldHVybiBwYXNfc2Vn
cmVnYXRlZF9wYWdlX2V4Y2x1c2l2ZV9yb2xlOworICAgIH0KK30KKwogc3RhdGljIGlubGluZSBi
b29sIHBhc19zZWdyZWdhdGVkX3ZpZXdfa2luZF9jYW5fYmVjb21lX2VtcHR5KHBhc19zZWdyZWdh
dGVkX3ZpZXdfa2luZCBraW5kKQogewogICAgIHN3aXRjaCAoa2luZCkgewpJbmRleDogU291cmNl
L2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3RocmVhZF9sb2NhbF9jYWNoZS5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc190aHJlYWRfbG9j
YWxfY2FjaGUuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3Ny
Yy9saWJwYXMvcGFzX3RocmVhZF9sb2NhbF9jYWNoZS5jCSh3b3JraW5nIGNvcHkpCkBAIC00NDMs
NiArNDQzLDcgQEAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHZvaWQKIHByb2Nlc3NfZGVhbGxv
Y2F0aW9uX2xvZ193aXRoX2NvbmZpZyhwYXNfdGhyZWFkX2xvY2FsX2NhY2hlKiBjYWNoZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9kZWFsbG9j
YXRpb25fbW9kZSBkZWFsbG9jYXRpb25fbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZyBwYWdlX2NvbmZpZywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUg
cm9sZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqIGluZGV4
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnRwdHJfdCBlbmNvZGVk
X2JlZ2luLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19sb2NrKiog
aGVsZF9sb2NrKQpAQCAtNDUxLDExICs0NTIsMTggQEAgcHJvY2Vzc19kZWFsbG9jYXRpb25fbG9n
X3dpdGhfY29uZmlnKHBhcwogCiAgICAgcGFzX2xvY2sqIGxhc3RfaGVsZF9sb2NrOwogCisgICAg
aWYgKCFwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbG9nZ2luZ19tb2RlX2RvZXNfbG9nZ2lu
ZygKKyAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2xvZ2dpbmdfbW9kZV9m
b3Jfcm9sZShwYWdlX2NvbmZpZywgcm9sZSkpKSB7CisgICAgICAgIHBhc19wYW5pYygiRGVhbGxv
Y2F0aW9uIGxvZ2dpbmcgaXMgZGlzYWJsZWQgZm9yICVzLyVzLCBidXQgaGVyZSB3ZSBhcmUuXG4i
LAorICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9nZXRf
c3RyaW5nKHBhZ2VfY29uZmlnLmtpbmQpLAorICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9yb2xlX2dldF9zdHJpbmcocm9sZSkpOworICAgIH0KKwogICAgIGxhc3RfaGVsZF9s
b2NrID0gTlVMTDsKIAogICAgIGZvciAoOzspIHsKICAgICAgICAgdWludHB0cl90IGJlZ2luOwot
ICAgICAgICBiZWdpbiA9IGVuY29kZWRfYmVnaW4gPj4gUEFTX1NFR1JFR0FURURfUEFHRV9DT05G
SUdfS0lORF9OVU1fQklUUzsKKyAgICAgICAgYmVnaW4gPSBlbmNvZGVkX2JlZ2luID4+IFBBU19T
RUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfQU5EX1JPTEVfTlVNX0JJVFM7CiAKICAgICAgICAg
c3dpdGNoIChwYWdlX2NvbmZpZy5raW5kKSB7CiAgICAgICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWdfa2luZF9udWxsOgpAQCAtNDY4LDggKzQ3Niw3IEBAIHByb2Nlc3NfZGVhbGxv
Y2F0aW9uX2xvZ193aXRoX2NvbmZpZyhwYXMKIAogICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgbGFzdF9oZWxkX2xvY2sgPSAqaGVsZF9sb2NrOwotICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0
ZWRfcGFnZV9kZWFsbG9jYXRlKAotICAgICAgICAgICAgICAgIGJlZ2luLCBoZWxkX2xvY2ssIGRl
YWxsb2NhdGlvbl9tb2RlLCBjYWNoZSwgcGFnZV9jb25maWcpOworICAgICAgICAgICAgcGFzX3Nl
Z3JlZ2F0ZWRfcGFnZV9kZWFsbG9jYXRlKGJlZ2luLCBoZWxkX2xvY2ssIGRlYWxsb2NhdGlvbl9t
b2RlLCBjYWNoZSwgcGFnZV9jb25maWcsIHJvbGUpOwogICAgICAgICAgICAgaWYgKHZlcmJvc2Ug
JiYgKmhlbGRfbG9jayAhPSBsYXN0X2hlbGRfbG9jayAmJiBsYXN0X2hlbGRfbG9jaykKICAgICAg
ICAgICAgICAgICBwYXNfbG9nKCJTd2l0Y2hlZCBsb2NrIGZyb20gJXAgdG8gJXAuXG4iLCBsYXN0
X2hlbGRfbG9jaywgKmhlbGRfbG9jayk7CiAgICAgICAgICAgICAKQEAgLTQ4Miw3ICs0ODksOCBA
QCBwcm9jZXNzX2RlYWxsb2NhdGlvbl9sb2dfd2l0aF9jb25maWcocGFzCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgZW5jb2RlZF9iZWdpbiA9IGNhY2hlLT5kZWFsbG9jYXRpb25fbG9n
Wy0tKmluZGV4XTsKLSAgICAgICAgaWYgKFBBU19VTkxJS0VMWSgoZW5jb2RlZF9iZWdpbiAmIFBB
U19TRUdSRUdBVEVEX1BBR0VfQ09ORklHX0tJTkRfTUFTSykgIT0gcGFnZV9jb25maWcua2luZCkp
IHsKKyAgICAgICAgaWYgKFBBU19VTkxJS0VMWSgoZW5jb2RlZF9iZWdpbiAmIFBBU19TRUdSRUdB
VEVEX1BBR0VfQ09ORklHX0tJTkRfQU5EX1JPTEVfTUFTSykKKyAgICAgICAgICAgICE9IHBhc19z
ZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGVfY3JlYXRlKHBhZ2VfY29uZmlnLmtp
bmQsIHJvbGUpKSkgewogICAgICAgICAgICAgKysqaW5kZXg7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KQEAgLTUwNiwxMiArNTE0LDE4IEBAIHN0YXRpYyBQQVNfQUxXQVlTX0lOTElO
RSB2b2lkIGZsdXNoX2RlYWwKIAogICAgICAgICBlbmNvZGVkX2JlZ2luID0gdGhyZWFkX2xvY2Fs
X2NhY2hlLT5kZWFsbG9jYXRpb25fbG9nWy0taW5kZXhdOwogCi0gICAgICAgIHN3aXRjaCAoKHBh
c19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQpCi0gICAgICAgICAgICAgICAgKGVuY29kZWRf
YmVnaW4gJiBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX01BU0spKSB7CisgICAgICAg
IHN3aXRjaCAoKHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGUpCisgICAg
ICAgICAgICAgICAgKGVuY29kZWRfYmVnaW4gJiBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19L
SU5EX0FORF9ST0xFX01BU0spKSB7CiAjZGVmaW5lIFBBU19ERUZJTkVfU0VHUkVHQVRFRF9QQUdF
X0NPTkZJR19LSU5EKG5hbWUsIHZhbHVlKSBcCi0gICAgICAgIGNhc2UgcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9jb25maWdfa2luZF8gIyMgbmFtZTogXAorICAgICAgICBjYXNlIHBhc19zZWdyZWdhdGVk
X3BhZ2VfY29uZmlnX2tpbmRfICMjIG5hbWUgIyMgX2FuZF9zaGFyZWRfcm9sZTogXAorICAgICAg
ICAgICAgcHJvY2Vzc19kZWFsbG9jYXRpb25fbG9nX3dpdGhfY29uZmlnKCBcCisgICAgICAgICAg
ICAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLCBkZWFsbG9jYXRpb25fbW9kZSwgdmFsdWUsIHBhc19z
ZWdyZWdhdGVkX3BhZ2Vfc2hhcmVkX3JvbGUsICZpbmRleCwgXAorICAgICAgICAgICAgICAgIGVu
Y29kZWRfYmVnaW4sICZoZWxkX2xvY2spOyBcCisgICAgICAgICAgICBicmVhazsgXAorICAgICAg
ICBjYXNlIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfICMjIG5hbWUgIyMgX2FuZF9l
eGNsdXNpdmVfcm9sZTogXAogICAgICAgICAgICAgcHJvY2Vzc19kZWFsbG9jYXRpb25fbG9nX3dp
dGhfY29uZmlnKCBcCi0gICAgICAgICAgICAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLCBkZWFsbG9j
YXRpb25fbW9kZSwgdmFsdWUsICZpbmRleCwgZW5jb2RlZF9iZWdpbiwgJmhlbGRfbG9jayk7IFwK
KyAgICAgICAgICAgICAgICB0aHJlYWRfbG9jYWxfY2FjaGUsIGRlYWxsb2NhdGlvbl9tb2RlLCB2
YWx1ZSwgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSwgJmluZGV4LCBcCisgICAg
ICAgICAgICAgICAgZW5jb2RlZF9iZWdpbiwgJmhlbGRfbG9jayk7IFwKICAgICAgICAgICAgIGJy
ZWFrOwogI2luY2x1ZGUgInBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQuZGVmIgogI3Vu
ZGVmIFBBU19ERUZJTkVfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5ECkBAIC03NzEsMTMgKzc4
NSwxMyBAQCBib29sIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfZm9yX2FsbChwYXNfCiAKIHZvaWQg
cGFzX3RocmVhZF9sb2NhbF9jYWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uX3Nsb3cocGFzX3RocmVh
ZF9sb2NhbF9jYWNoZSogdGhyZWFkX2xvY2FsX2NhY2hlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50cHRyX3QgYmVnaW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdh
dGVkX3BhZ2VfY29uZmlnX2tpbmQga2luZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9h
bmRfcm9sZSBraW5kX2FuZF9yb2xlKQogewogICAgIHVuc2lnbmVkIGluZGV4OwogCiAgICAgaW5k
ZXggPSB0aHJlYWRfbG9jYWxfY2FjaGUtPmRlYWxsb2NhdGlvbl9sb2dfaW5kZXg7CiAgICAgUEFT
X0FTU0VSVChpbmRleCA8IFBBU19ERUFMTE9DQVRJT05fTE9HX1NJWkUpOwotICAgIHRocmVhZF9s
b2NhbF9jYWNoZS0+ZGVhbGxvY2F0aW9uX2xvZ1tpbmRleCsrXSA9IHBhc190aHJlYWRfbG9jYWxf
Y2FjaGVfZW5jb2RlX29iamVjdChiZWdpbiwga2luZCk7CisgICAgdGhyZWFkX2xvY2FsX2NhY2hl
LT5kZWFsbG9jYXRpb25fbG9nW2luZGV4KytdID0gcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9lbmNv
ZGVfb2JqZWN0KGJlZ2luLCBraW5kX2FuZF9yb2xlKTsKICAgICB0aHJlYWRfbG9jYWxfY2FjaGUt
PmRlYWxsb2NhdGlvbl9sb2dfaW5kZXggPSBpbmRleDsKIAogICAgIHBhc190aHJlYWRfbG9jYWxf
Y2FjaGVfZmx1c2hfZGVhbGxvY2F0aW9uX2xvZyh0aHJlYWRfbG9jYWxfY2FjaGUsIHBhc19sb2Nr
X2lzX25vdF9oZWxkKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c190aHJlYWRfbG9jYWxfY2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJw
YXMvc3JjL2xpYnBhcy9wYXNfdGhyZWFkX2xvY2FsX2NhY2hlLmgJKHJldmlzaW9uIDI4NjQzOCkK
KysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc190aHJlYWRfbG9jYWxfY2Fj
aGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgInBhc19pbnRl
cm5hbF9jb25maWcuaCIKICNpbmNsdWRlICJwYXNfbG9jYWxfYWxsb2NhdG9yLmgiCiAjaW5jbHVk
ZSAicGFzX2xvY2FsX2FsbG9jYXRvcl9yZXN1bHQuaCIKKyNpbmNsdWRlICJwYXNfc2VncmVnYXRl
ZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xlLmgiCiAjaW5jbHVkZSAicGFzX3V0aWxzLmgiCiAj
aW5jbHVkZSA8cHRocmVhZC5oPgogCkBAIC0zMzksNDggKzM0MCw0OCBAQCBQQVNfQVBJIGJvb2wg
cGFzX3RocmVhZF9sb2NhbF9jYWNoZV9mb3JfCiBQQVNfQVBJIHZvaWQgcGFzX3RocmVhZF9sb2Nh
bF9jYWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uX3Nsb3coCiAgICAgcGFzX3RocmVhZF9sb2NhbF9j
YWNoZSogdGhyZWFkX2xvY2FsX2NhY2hlLAogICAgIHVpbnRwdHJfdCBiZWdpbiwKLSAgICBwYXNf
c2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kIGtpbmQpOworICAgIHBhc19zZWdyZWdhdGVkX3Bh
Z2VfY29uZmlnX2tpbmRfYW5kX3JvbGUga2luZF9hbmRfcm9sZSk7CiAKIHN0YXRpYyBQQVNfQUxX
QVlTX0lOTElORSB1aW50cHRyX3QgcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9lbmNvZGVfb2JqZWN0
KAogICAgIHVpbnRwdHJfdCBiZWdpbiwKLSAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19r
aW5kIGtpbmQpCisgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZF9hbmRfcm9sZSBr
aW5kX2FuZF9yb2xlKQogewotICAgIHJldHVybiAoYmVnaW4gPDwgUEFTX1NFR1JFR0FURURfUEFH
RV9DT05GSUdfS0lORF9OVU1fQklUUykgfCAodWludHB0cl90KWtpbmQ7CisgICAgcmV0dXJuIChi
ZWdpbiA8PCBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19LSU5EX0FORF9ST0xFX05VTV9CSVRT
KSB8ICh1aW50cHRyX3Qpa2luZF9hbmRfcm9sZTsKIH0KIAogc3RhdGljIFBBU19BTFdBWVNfSU5M
SU5FIHZvaWQgcGFzX3RocmVhZF9sb2NhbF9jYWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uKAogICAg
IHBhc190aHJlYWRfbG9jYWxfY2FjaGUqIHRocmVhZF9sb2NhbF9jYWNoZSwKICAgICB1aW50cHRy
X3QgYmVnaW4sCi0gICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWdfa2luZCBraW5kKQorICAg
IHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmRfYW5kX3JvbGUga2luZF9hbmRfcm9sZSkK
IHsKICAgICB1bnNpZ25lZCBpbmRleDsKIAogICAgIGluZGV4ID0gdGhyZWFkX2xvY2FsX2NhY2hl
LT5kZWFsbG9jYXRpb25fbG9nX2luZGV4OwogICAgIGlmIChQQVNfVU5MSUtFTFkoaW5kZXggPj0g
UEFTX0RFQUxMT0NBVElPTl9MT0dfU0laRSAtIDEpKSB7Ci0gICAgICAgIHBhc190aHJlYWRfbG9j
YWxfY2FjaGVfYXBwZW5kX2RlYWxsb2NhdGlvbl9zbG93KHRocmVhZF9sb2NhbF9jYWNoZSwgYmVn
aW4sIGtpbmQpOworICAgICAgICBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2FwcGVuZF9kZWFsbG9j
YXRpb25fc2xvdyh0aHJlYWRfbG9jYWxfY2FjaGUsIGJlZ2luLCBraW5kX2FuZF9yb2xlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICB0aHJlYWRfbG9jYWxfY2FjaGUtPmRlYWxs
b2NhdGlvbl9sb2dbaW5kZXgrK10gPSBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlX2VuY29kZV9vYmpl
Y3QoYmVnaW4sIGtpbmQpOworICAgIHRocmVhZF9sb2NhbF9jYWNoZS0+ZGVhbGxvY2F0aW9uX2xv
Z1tpbmRleCsrXSA9IHBhc190aHJlYWRfbG9jYWxfY2FjaGVfZW5jb2RlX29iamVjdChiZWdpbiwg
a2luZF9hbmRfcm9sZSk7CiAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLT5kZWFsbG9jYXRpb25fbG9n
X2luZGV4ID0gaW5kZXg7CiB9CiAKIHN0YXRpYyBQQVNfQUxXQVlTX0lOTElORSB2b2lkIHBhc190
aHJlYWRfbG9jYWxfY2FjaGVfYXBwZW5kX2RlYWxsb2NhdGlvbl93aXRoX3NpemUoCiAgICAgcGFz
X3RocmVhZF9sb2NhbF9jYWNoZSogdGhyZWFkX2xvY2FsX2NhY2hlLAogICAgIHVpbnRwdHJfdCBi
ZWdpbiwgc2l6ZV90IG9iamVjdF9zaXplLAotICAgIHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmln
X2tpbmQga2luZCkKKyAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZpZ19raW5kX2FuZF9yb2xl
IGtpbmRfYW5kX3JvbGUpCiB7CiAgICAgc2l6ZV90IG5ld19udW1fbG9nZ2VkX2J5dGVzOwogCiAg
ICAgbmV3X251bV9sb2dnZWRfYnl0ZXMgPSB0aHJlYWRfbG9jYWxfY2FjaGUtPm51bV9sb2dnZWRf
Ynl0ZXMgKyBvYmplY3Rfc2l6ZTsKICAgICBpZiAobmV3X251bV9sb2dnZWRfYnl0ZXMgPiBQQVNf
REVBTExPQ0FUSU9OX0xPR19NQVhfQllURVMpIHsKLSAgICAgICAgcGFzX3RocmVhZF9sb2NhbF9j
YWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uX3Nsb3codGhyZWFkX2xvY2FsX2NhY2hlLCBiZWdpbiwg
a2luZCk7CisgICAgICAgIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfYXBwZW5kX2RlYWxsb2NhdGlv
bl9zbG93KHRocmVhZF9sb2NhbF9jYWNoZSwgYmVnaW4sIGtpbmRfYW5kX3JvbGUpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgdGhyZWFkX2xvY2FsX2NhY2hlLT5udW1fbG9nZ2VkX2J5
dGVzID0gbmV3X251bV9sb2dnZWRfYnl0ZXM7CiAgICAgCi0gICAgcGFzX3RocmVhZF9sb2NhbF9j
YWNoZV9hcHBlbmRfZGVhbGxvY2F0aW9uKHRocmVhZF9sb2NhbF9jYWNoZSwgYmVnaW4sIGtpbmQp
OworICAgIHBhc190aHJlYWRfbG9jYWxfY2FjaGVfYXBwZW5kX2RlYWxsb2NhdGlvbih0aHJlYWRf
bG9jYWxfY2FjaGUsIGJlZ2luLCBraW5kX2FuZF9yb2xlKTsKIH0KIAogUEFTX0FQSSB2b2lkIHBh
c190aHJlYWRfbG9jYWxfY2FjaGVfc2hyaW5rKHBhc190aHJlYWRfbG9jYWxfY2FjaGUqIHRocmVh
ZF9sb2NhbF9jYWNoZSwKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bh
c190cnlfcmVhbGxvY2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9z
cmMvbGlicGFzL3Bhc190cnlfcmVhbGxvY2F0ZS5oCShyZXZpc2lvbiAyODY0MzgpCisrKyBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdHJ5X3JlYWxsb2NhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCw3IEBAIHBhc190cnlfcmVhbGxvY2F0ZV90YWJsZV9zZWdy
ZWdhdGVkX2Nhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFz
X2hlYXAqIGhlYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVfdCBuZXdfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFzX3NlZ3JlZ2F0ZWRfcGFnZV9jb25maWcgc2VncmVnYXRlZF9jb25maWcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3BhZ2Vfcm9sZSBz
ZWdyZWdhdGVkX3JvbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhc19yZWFsbG9jYXRlX2hlYXBfdGVsZXBvcnRfcnVsZSB0ZWxlcG9ydF9ydWxlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfcmVhbGxvY2F0ZV9mcmVlX21v
ZGUgZnJlZV9tb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXNfdHJ5X3JlYWxsb2NhdGVfYWxsb2NhdGVfY2FsbGJhY2sgYWxsb2NhdGVfY2FsbGJhY2ssCkBA
IC0xMjMsMTQgKzEyNCwxNCBAQCBwYXNfdHJ5X3JlYWxsb2NhdGVfdGFibGVfc2VncmVnYXRlZF9j
YXNlCiAgICAgc3dpdGNoICh0ZWxlcG9ydF9ydWxlKSB7CiAgICAgY2FzZSBwYXNfcmVhbGxvY2F0
ZV9hbGxvd19oZWFwX3RlbGVwb3J0OgogICAgICAgICBvbGRfc2l6ZSA9IHBhc19zZWdyZWdhdGVk
X3BhZ2VfZ2V0X29iamVjdF9zaXplX2Zvcl9hZGRyZXNzX2luX3BhZ2UoCi0gICAgICAgICAgICBw
YWdlLCBiZWdpbiwgc2VncmVnYXRlZF9jb25maWcpOworICAgICAgICAgICAgcGFnZSwgYmVnaW4s
IHNlZ3JlZ2F0ZWRfY29uZmlnLCBzZWdyZWdhdGVkX3JvbGUpOwogICAgICAgICBvbGRfaGVhcCA9
IE5VTEw7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAgICBjYXNlIHBhc19yZWFsbG9jYXRl
X2Rpc2FsbG93X2hlYXBfdGVsZXBvcnQ6IHsKICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfc2l6ZV9k
aXJlY3RvcnkqIGRpcmVjdG9yeTsKICAgICAgICAgZGlyZWN0b3J5ID0gcGFzX3NlZ3JlZ2F0ZWRf
cGFnZV9nZXRfZGlyZWN0b3J5X2Zvcl9hZGRyZXNzX2luX3BhZ2UoCi0gICAgICAgICAgICBwYWdl
LCBiZWdpbiwgc2VncmVnYXRlZF9jb25maWcpOworICAgICAgICAgICAgcGFnZSwgYmVnaW4sIHNl
Z3JlZ2F0ZWRfY29uZmlnLCBzZWdyZWdhdGVkX3JvbGUpOwogICAgICAgICBvbGRfc2l6ZSA9IGRp
cmVjdG9yeS0+b2JqZWN0X3NpemU7CiAgICAgICAgIG9sZF9oZWFwID0gcGFzX2hlYXBfZm9yX3Nl
Z3JlZ2F0ZWRfaGVhcChkaXJlY3RvcnktPmhlYXApOwogICAgICAgICBicmVhazsKQEAgLTE0MCw3
ICsxNDEsNyBAQCBwYXNfdHJ5X3JlYWxsb2NhdGVfdGFibGVfc2VncmVnYXRlZF9jYXNlCiAgICAg
ICAgIG9sZF9oZWFwLCBoZWFwLCAodm9pZCopYmVnaW4sIG9sZF9zaXplLCBuZXdfc2l6ZSwgdGVs
ZXBvcnRfcnVsZSwKICAgICAgICAgYWxsb2NhdGVfY2FsbGJhY2ssIGFsbG9jYXRlX2NhbGxiYWNr
X2FyZyk7CiAgICAgaWYgKHJlc3VsdC5iZWdpbiB8fCBmcmVlX21vZGUgPT0gcGFzX3JlYWxsb2Nh
dGVfZnJlZV9hbHdheXMpCi0gICAgICAgIHBhc19kZWFsbG9jYXRlX2tub3duX3NlZ3JlZ2F0ZWQo
KHZvaWQqKWJlZ2luLCBzZWdyZWdhdGVkX2NvbmZpZyk7CisgICAgICAgIHBhc19kZWFsbG9jYXRl
X2tub3duX3NlZ3JlZ2F0ZWQoKHZvaWQqKWJlZ2luLCBzZWdyZWdhdGVkX2NvbmZpZywgc2VncmVn
YXRlZF9yb2xlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xOTksNyArMjAwLDcgQEAg
cGFzX3RyeV9yZWFsbG9jYXRlKHZvaWQqIG9sZF9wdHIsCiAgICAgYmVnaW4gPSAodWludHB0cl90
KW9sZF9wdHI7CiAKICAgICBzd2l0Y2ggKGNvbmZpZy5mYXN0X21lZ2FwYWdlX2tpbmRfZnVuYyhi
ZWdpbikpIHsKLSAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBhZ2Vfa2lu
ZDogeworICAgIGNhc2UgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX2Zhc3RfbWVnYXBh
Z2Vfa2luZDogewogICAgICAgICBzaXplX3Qgb2xkX3NpemU7CiAgICAgICAgIHBhc19hbGxvY2F0
aW9uX3Jlc3VsdCByZXN1bHQ7CiAgICAgICAgIHBhc19oZWFwKiBvbGRfaGVhcDsKQEAgLTIwNywx
NCArMjA4LDE0IEBAIHBhc190cnlfcmVhbGxvY2F0ZSh2b2lkKiBvbGRfcHRyLAogICAgICAgICBz
d2l0Y2ggKHRlbGVwb3J0X3J1bGUpIHsKICAgICAgICAgY2FzZSBwYXNfcmVhbGxvY2F0ZV9hbGxv
d19oZWFwX3RlbGVwb3J0OgogICAgICAgICAgICAgb2xkX3NpemUgPSBwYXNfc2VncmVnYXRlZF9w
YWdlX2dldF9vYmplY3Rfc2l6ZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9jb25maWcoCi0gICAgICAg
ICAgICAgICAgYmVnaW4sIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZyk7CisgICAgICAg
ICAgICAgICAgYmVnaW4sIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywgcGFzX3NlZ3Jl
Z2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSk7CiAgICAgICAgICAgICBvbGRfaGVhcCA9IE5VTEw7
CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIHBhc19yZWFsbG9jYXRlX2Rpc2Fs
bG93X2hlYXBfdGVsZXBvcnQ6IHsKICAgICAgICAgICAgIHBhc19zZWdyZWdhdGVkX3NpemVfZGly
ZWN0b3J5KiBkaXJlY3Rvcnk7CiAgICAgICAgICAgICBkaXJlY3RvcnkgPSBwYXNfc2VncmVnYXRl
ZF9wYWdlX2dldF9kaXJlY3RvcnlfZm9yX2FkZHJlc3NfYW5kX3BhZ2VfY29uZmlnKAotICAgICAg
ICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcpOworICAgICAg
ICAgICAgICAgIGJlZ2luLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcsIHBhc19zZWdy
ZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGUpOwogICAgICAgICAgICAgb2xkX3NpemUgPSBkaXJl
Y3RvcnktPm9iamVjdF9zaXplOwogICAgICAgICAgICAgb2xkX2hlYXAgPSBwYXNfaGVhcF9mb3Jf
c2VncmVnYXRlZF9oZWFwKGRpcmVjdG9yeS0+aGVhcCk7CiAgICAgICAgICAgICBicmVhazsKQEAg
LTIyMywzOCArMjI0LDI5IEBAIHBhc190cnlfcmVhbGxvY2F0ZSh2b2lkKiBvbGRfcHRyLAogICAg
ICAgICByZXN1bHQgPSBwYXNfdHJ5X2FsbG9jYXRlX2Zvcl9yZWFsbG9jYXRlX2FuZF9jb3B5KAog
ICAgICAgICAgICAgb2xkX2hlYXAsIGhlYXAsIG9sZF9wdHIsIG9sZF9zaXplLCBuZXdfc2l6ZSwg
dGVsZXBvcnRfcnVsZSwKICAgICAgICAgICAgIGFsbG9jYXRlX2NhbGxiYWNrLCBhbGxvY2F0ZV9j
YWxsYmFja19hcmcpOwotICAgICAgICBpZiAocmVzdWx0LmJlZ2luIHx8IGZyZWVfbW9kZSA9PSBw
YXNfcmVhbGxvY2F0ZV9mcmVlX2Fsd2F5cykKLSAgICAgICAgICAgIHBhc19kZWFsbG9jYXRlX2tu
b3duX3NlZ3JlZ2F0ZWQob2xkX3B0ciwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnKTsK
KyAgICAgICAgaWYgKHJlc3VsdC5iZWdpbiB8fCBmcmVlX21vZGUgPT0gcGFzX3JlYWxsb2NhdGVf
ZnJlZV9hbHdheXMpIHsKKyAgICAgICAgICAgIHBhc19kZWFsbG9jYXRlX2tub3duX3NlZ3JlZ2F0
ZWQob2xkX3B0ciwgY29uZmlnLnNtYWxsX3NlZ3JlZ2F0ZWRfY29uZmlnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2V4Y2x1
c2l2ZV9yb2xlKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAg
ICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfZmFzdF9tZWdhcGFnZV9raW5kOiB7Ci0gICAgICAgIHNp
emVfdCBvbGRfc2l6ZTsKLSAgICAgICAgcGFzX2FsbG9jYXRpb25fcmVzdWx0IHJlc3VsdDsKLSAg
ICAgICAgcGFzX2JpdGZpdF9wYWdlKiBwYWdlOwotICAgICAgICBwYXNfaGVhcCogb2xkX2hlYXA7
Ci0KLSAgICAgICAgcGFnZSA9IHBhc19iaXRmaXRfcGFnZV9mb3JfYWRkcmVzc19hbmRfcGFnZV9j
b25maWcoYmVnaW4sIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnKTsKLSAgICAgICAgb2xkX3Np
emUgPSBjb25maWcuc21hbGxfYml0Zml0X2NvbmZpZy5zcGVjaWFsaXplZF9wYWdlX2dldF9hbGxv
Y2F0aW9uX3NpemVfd2l0aF9wYWdlKHBhZ2UsIGJlZ2luKTsKLQotICAgICAgICBzd2l0Y2ggKHRl
bGVwb3J0X3J1bGUpIHsKLSAgICAgICAgY2FzZSBwYXNfcmVhbGxvY2F0ZV9hbGxvd19oZWFwX3Rl
bGVwb3J0OgotICAgICAgICAgICAgb2xkX2hlYXAgPSBOVUxMOwotICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgY2FzZSBwYXNfcmVhbGxvY2F0ZV9kaXNhbGxvd19oZWFwX3RlbGVwb3J0Ogot
ICAgICAgICAgICAgb2xkX2hlYXAgPSBwYXNfaGVhcF9mb3Jfc2VncmVnYXRlZF9oZWFwKAotICAg
ICAgICAgICAgICAgIHBhc19jb21wYWN0X2JpdGZpdF9kaXJlY3RvcnlfcHRyX2xvYWRfbm9uX251
bGwoCi0gICAgICAgICAgICAgICAgICAgICZwYXNfY29tcGFjdF9hdG9taWNfYml0Zml0X3ZpZXdf
cHRyX2xvYWRfbm9uX251bGwoCi0gICAgICAgICAgICAgICAgICAgICAgICAmcGFnZS0+b3duZXIp
LT5kaXJlY3RvcnkpLT5oZWFwKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgcGFzX3Nt
YWxsX290aGVyX2Zhc3RfbWVnYXBhZ2Vfa2luZDogeworICAgICAgICBwYXNfcGFnZV9iYXNlX2Fu
ZF9raW5kIHBhZ2VfYW5kX2tpbmQ7CisgICAgICAgIHBhZ2VfYW5kX2tpbmQgPSBwYXNfZ2V0X3Bh
Z2VfYmFzZV9hbmRfa2luZF9mb3Jfc21hbGxfb3RoZXJfaW5fZmFzdF9tZWdhcGFnZShiZWdpbiwg
Y29uZmlnKTsKKyAgICAgICAgc3dpdGNoIChwYWdlX2FuZF9raW5kLnBhZ2Vfa2luZCkgeworICAg
ICAgICBjYXNlIHBhc19zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAg
ICAgICByZXR1cm4gcGFzX3RyeV9yZWFsbG9jYXRlX3RhYmxlX3NlZ3JlZ2F0ZWRfY2FzZSgKKyAg
ICAgICAgICAgICAgICBwYWdlX2FuZF9raW5kLnBhZ2VfYmFzZSwgYmVnaW4sIGhlYXAsIG5ld19z
aXplLCBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWcsCisgICAgICAgICAgICAgICAgcGFz
X3NlZ3JlZ2F0ZWRfcGFnZV9zaGFyZWRfcm9sZSwgdGVsZXBvcnRfcnVsZSwgZnJlZV9tb2RlLCBh
bGxvY2F0ZV9jYWxsYmFjaywKKyAgICAgICAgICAgICAgICBhbGxvY2F0ZV9jYWxsYmFja19hcmcp
OworICAgICAgICBjYXNlIHBhc19zbWFsbF9iaXRmaXRfcGFnZV9raW5kOgorICAgICAgICAgICAg
cmV0dXJuIHBhc190cnlfcmVhbGxvY2F0ZV90YWJsZV9iaXRmaXRfY2FzZSgKKyAgICAgICAgICAg
ICAgICBwYWdlX2FuZF9raW5kLnBhZ2VfYmFzZSwgYmVnaW4sIGhlYXAsIG5ld19zaXplLCBjb25m
aWcuc21hbGxfYml0Zml0X2NvbmZpZywKKyAgICAgICAgICAgICAgICB0ZWxlcG9ydF9ydWxlLCBm
cmVlX21vZGUsIGFsbG9jYXRlX2NhbGxiYWNrLCBhbGxvY2F0ZV9jYWxsYmFja19hcmcpOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUEFTX0FTU0VSVCghIlNob3VsZCBub3QgYmUgcmVh
Y2hlZCIpOworICAgICAgICAgICAgcmV0dXJuIHBhc19hbGxvY2F0aW9uX3Jlc3VsdF9jcmVhdGVf
ZmFpbHVyZSgpOwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICByZXN1bHQgPSBwYXNfdHJ5
X2FsbG9jYXRlX2Zvcl9yZWFsbG9jYXRlX2FuZF9jb3B5KAotICAgICAgICAgICAgb2xkX2hlYXAs
IGhlYXAsIG9sZF9wdHIsIG9sZF9zaXplLCBuZXdfc2l6ZSwgdGVsZXBvcnRfcnVsZSwKLSAgICAg
ICAgICAgIGFsbG9jYXRlX2NhbGxiYWNrLCBhbGxvY2F0ZV9jYWxsYmFja19hcmcpOwotICAgICAg
ICBpZiAocmVzdWx0LmJlZ2luIHx8IGZyZWVfbW9kZSA9PSBwYXNfcmVhbGxvY2F0ZV9mcmVlX2Fs
d2F5cykKLSAgICAgICAgICAgIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnLnNwZWNpYWxpemVk
X3BhZ2VfZGVhbGxvY2F0ZV93aXRoX3BhZ2UocGFnZSwgYmVnaW4pOwotICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KICAgICBjYXNlIHBhc19ub3RfYV9mYXN0X21lZ2FwYWdlX2tpbmQ6IHsK
ICAgICAgICAgcGFzX2hlYXAqIHNvdXJjZV9oZWFwOwpAQCAtMjY2LDExICsyNTgsMTkgQEAgcGFz
X3RyeV9yZWFsbG9jYXRlKHZvaWQqIG9sZF9wdHIsCiAgICAgICAgIHBhZ2VfYmFzZSA9IGNvbmZp
Zy5wYWdlX2hlYWRlcl9mdW5jKGJlZ2luKTsKICAgICAgICAgaWYgKHBhZ2VfYmFzZSkgewogICAg
ICAgICAgICAgc3dpdGNoIChwYXNfcGFnZV9iYXNlX2dldF9raW5kKHBhZ2VfYmFzZSkpIHsKLSAg
ICAgICAgICAgIGNhc2UgcGFzX3NtYWxsX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAg
ICAgY2FzZSBwYXNfc21hbGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgogICAgICAgICAg
ICAgICAgIFBBU19BU1NFUlQoIWNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21lZ2FwYWdl
KTsKICAgICAgICAgICAgICAgICByZXR1cm4gcGFzX3RyeV9yZWFsbG9jYXRlX3RhYmxlX3NlZ3Jl
Z2F0ZWRfY2FzZSgKICAgICAgICAgICAgICAgICAgICAgcGFnZV9iYXNlLCBiZWdpbiwgaGVhcCwg
bmV3X3NpemUsIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywKLSAgICAgICAgICAgICAg
ICAgICAgdGVsZXBvcnRfcnVsZSwgZnJlZV9tb2RlLCBhbGxvY2F0ZV9jYWxsYmFjaywgYWxsb2Nh
dGVfY2FsbGJhY2tfYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFn
ZV9zaGFyZWRfcm9sZSwgdGVsZXBvcnRfcnVsZSwgZnJlZV9tb2RlLCBhbGxvY2F0ZV9jYWxsYmFj
aywKKyAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGVfY2FsbGJhY2tfYXJnKTsKKworICAgICAg
ICAgICAgY2FzZSBwYXNfc21hbGxfZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgorICAg
ICAgICAgICAgICAgIFBBU19BU1NFUlQoIWNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2lzX2luX21l
Z2FwYWdlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGFzX3RyeV9yZWFsbG9jYXRlX3RhYmxl
X3NlZ3JlZ2F0ZWRfY2FzZSgKKyAgICAgICAgICAgICAgICAgICAgcGFnZV9iYXNlLCBiZWdpbiwg
aGVhcCwgbmV3X3NpemUsIGNvbmZpZy5zbWFsbF9zZWdyZWdhdGVkX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSwgdGVsZXBvcnRf
cnVsZSwgZnJlZV9tb2RlLCBhbGxvY2F0ZV9jYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAg
YWxsb2NhdGVfY2FsbGJhY2tfYXJnKTsKIAogICAgICAgICAgICAgY2FzZSBwYXNfc21hbGxfYml0
Zml0X3BhZ2Vfa2luZDoKICAgICAgICAgICAgICAgICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxf
Yml0Zml0X2lzX2luX21lZ2FwYWdlKTsKQEAgLTI3OCwxMCArMjc4LDE3IEBAIHBhc190cnlfcmVh
bGxvY2F0ZSh2b2lkKiBvbGRfcHRyLAogICAgICAgICAgICAgICAgICAgICBwYWdlX2Jhc2UsIGJl
Z2luLCBoZWFwLCBuZXdfc2l6ZSwgY29uZmlnLnNtYWxsX2JpdGZpdF9jb25maWcsCiAgICAgICAg
ICAgICAgICAgICAgIHRlbGVwb3J0X3J1bGUsIGZyZWVfbW9kZSwgYWxsb2NhdGVfY2FsbGJhY2ss
IGFsbG9jYXRlX2NhbGxiYWNrX2FyZyk7CiAKLSAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9z
ZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9zaGFyZWRf
c2VncmVnYXRlZF9wYWdlX2tpbmQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBhc190cnlfcmVh
bGxvY2F0ZV90YWJsZV9zZWdyZWdhdGVkX2Nhc2UoCiAgICAgICAgICAgICAgICAgICAgIHBhZ2Vf
YmFzZSwgYmVnaW4sIGhlYXAsIG5ld19zaXplLCBjb25maWcubWVkaXVtX3NlZ3JlZ2F0ZWRfY29u
ZmlnLAotICAgICAgICAgICAgICAgICAgICB0ZWxlcG9ydF9ydWxlLCBmcmVlX21vZGUsIGFsbG9j
YXRlX2NhbGxiYWNrLCBhbGxvY2F0ZV9jYWxsYmFja19hcmcpOworICAgICAgICAgICAgICAgICAg
ICBwYXNfc2VncmVnYXRlZF9wYWdlX3NoYXJlZF9yb2xlLCB0ZWxlcG9ydF9ydWxlLCBmcmVlX21v
ZGUsIGFsbG9jYXRlX2NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICBhbGxvY2F0ZV9jYWxs
YmFja19hcmcpOworCisgICAgICAgICAgICBjYXNlIHBhc19tZWRpdW1fZXhjbHVzaXZlX3NlZ3Jl
Z2F0ZWRfcGFnZV9raW5kOgorICAgICAgICAgICAgICAgIHJldHVybiBwYXNfdHJ5X3JlYWxsb2Nh
dGVfdGFibGVfc2VncmVnYXRlZF9jYXNlKAorICAgICAgICAgICAgICAgICAgICBwYWdlX2Jhc2Us
IGJlZ2luLCBoZWFwLCBuZXdfc2l6ZSwgY29uZmlnLm1lZGl1bV9zZWdyZWdhdGVkX2NvbmZpZywK
KyAgICAgICAgICAgICAgICAgICAgcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9leGNsdXNpdmVfcm9sZSwg
dGVsZXBvcnRfcnVsZSwgZnJlZV9tb2RlLCBhbGxvY2F0ZV9jYWxsYmFjaywKKyAgICAgICAgICAg
ICAgICAgICAgYWxsb2NhdGVfY2FsbGJhY2tfYXJnKTsKIAogICAgICAgICAgICAgY2FzZSBwYXNf
bWVkaXVtX2JpdGZpdF9wYWdlX2tpbmQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBhc190cnlf
cmVhbGxvY2F0ZV90YWJsZV9iaXRmaXRfY2FzZSgKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2xpYnBh
cy9zcmMvbGlicGFzL3Bhc190cnlfc2hyaW5rLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxs
b2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3RyeV9zaHJpbmsuaAkocmV2aXNpb24gMjg2NDM4KQor
KysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3RyeV9zaHJpbmsuaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsMTEgKzQwLDI0IEBAIHN0YXRpYyBQQVNfQUxXQVlTX0lOTElORSBi
b29sIHBhc190cnlfc2gKICAgICBiZWdpbiA9ICh1aW50cHRyX3QpcHRyOwogCiAgICAgc3dpdGNo
IChjb25maWcuZmFzdF9tZWdhcGFnZV9raW5kX2Z1bmMoYmVnaW4pKSB7Ci0gICAgY2FzZSBwYXNf
c21hbGxfc2VncmVnYXRlZF9mYXN0X21lZ2FwYWdlX2tpbmQ6CisgICAgY2FzZSBwYXNfc21hbGxf
ZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfZmFzdF9tZWdhcGFnZV9raW5kOgogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgY2FzZSBwYXNfc21hbGxfYml0Zml0X2Zhc3RfbWVnYXBhZ2Vfa2luZDoKLSAg
ICAgICAgcGFzX2JpdGZpdF9wYWdlX3NocmluayhiZWdpbiwgbmV3X3NpemUsIGNvbmZpZy5zbWFs
bF9iaXRmaXRfY29uZmlnKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBwYXNfc21h
bGxfb3RoZXJfZmFzdF9tZWdhcGFnZV9raW5kOiB7CisgICAgICAgIHBhc19wYWdlX2Jhc2VfYW5k
X2tpbmQgcGFnZV9hbmRfa2luZDsKKyAgICAgICAgcGFnZV9hbmRfa2luZCA9IHBhc19nZXRfcGFn
ZV9iYXNlX2FuZF9raW5kX2Zvcl9zbWFsbF9vdGhlcl9pbl9mYXN0X21lZ2FwYWdlKGJlZ2luLCBj
b25maWcpOworICAgICAgICBzd2l0Y2ggKHBhZ2VfYW5kX2tpbmQucGFnZV9raW5kKSB7CisgICAg
ICAgIGNhc2UgcGFzX3NtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgY2FzZSBwYXNfc21hbGxfYml0Zml0X3BhZ2Vfa2lu
ZDoKKyAgICAgICAgICAgIGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnLnNwZWNpYWxpemVkX3Bh
Z2Vfc2hyaW5rX3dpdGhfcGFnZSgKKyAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNlX2dldF9i
aXRmaXQocGFnZV9hbmRfa2luZC5wYWdlX2Jhc2UpLAorICAgICAgICAgICAgICAgIGJlZ2luLCBu
ZXdfc2l6ZSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90IGJlIHJlYWNoZWQiKTsKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQogICAgIGNhc2UgcGFzX25vdF9hX2Zhc3Rf
bWVnYXBhZ2Vfa2luZDogewogICAgICAgICBwYXNfcGFnZV9iYXNlKiBwYWdlX2Jhc2U7CiAgICAg
ICAgIGJvb2wgc2hyaW5rX3Jlc3VsdDsKQEAgLTUyLDcgKzY1LDggQEAgc3RhdGljIFBBU19BTFdB
WVNfSU5MSU5FIGJvb2wgcGFzX3RyeV9zaAogICAgICAgICBwYWdlX2Jhc2UgPSBjb25maWcucGFn
ZV9oZWFkZXJfZnVuYyhiZWdpbik7CiAgICAgICAgIGlmIChwYWdlX2Jhc2UpIHsKICAgICAgICAg
ICAgIHN3aXRjaCAocGFzX3BhZ2VfYmFzZV9nZXRfa2luZChwYWdlX2Jhc2UpKSB7Ci0gICAgICAg
ICAgICBjYXNlIHBhc19zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIGNh
c2UgcGFzX3NtYWxsX2V4Y2x1c2l2ZV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAg
IGNhc2UgcGFzX3NtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKICAgICAgICAgICAg
ICAgICBQQVNfQVNTRVJUKCFjb25maWcuc21hbGxfc2VncmVnYXRlZF9pc19pbl9tZWdhcGFnZSk7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBwYXNfc21h
bGxfYml0Zml0X3BhZ2Vfa2luZDoKQEAgLTYxLDcgKzc1LDggQEAgc3RhdGljIFBBU19BTFdBWVNf
SU5MSU5FIGJvb2wgcGFzX3RyeV9zaAogICAgICAgICAgICAgICAgICAgICBwYXNfcGFnZV9iYXNl
X2dldF9iaXRmaXQocGFnZV9iYXNlKSwKICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIG5ld19z
aXplKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgcGFz
X21lZGl1bV9zZWdyZWdhdGVkX3BhZ2Vfa2luZDoKKyAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1
bV9leGNsdXNpdmVfc2VncmVnYXRlZF9wYWdlX2tpbmQ6CisgICAgICAgICAgICBjYXNlIHBhc19t
ZWRpdW1fc2hhcmVkX3NlZ3JlZ2F0ZWRfcGFnZV9raW5kOgogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgcGFzX21lZGl1bV9iaXRmaXRfcGFnZV9raW5kOgog
ICAgICAgICAgICAgICAgIGNvbmZpZy5tZWRpdW1fYml0Zml0X2NvbmZpZy5zcGVjaWFsaXplZF9w
YWdlX3Nocmlua193aXRoX3BhZ2UoCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xp
YnBhcy9wYXNfdXRpbGl0eV9oZWFwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvcGFzX3V0aWxpdHlfaGVhcC5jCShyZXZpc2lvbiAyODY0MzgpCisrKyBT
b3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdXRpbGl0eV9oZWFwLmMJKHdvcmtp
bmcgY29weSkKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIHBhc191dGlsaXR5X2hlYXBfZGVhbGxv
Y2F0ZSh2b2lkKiBwCiAKICAgICBwYXNfc2VncmVnYXRlZF9wYWdlX2RlYWxsb2NhdGUoCiAgICAg
ICAgIGJlZ2luLCBOVUxMLCBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fZGlyZWN0X21vZGUs
IE5VTEwsCi0gICAgICAgIFBBU19VVElMSVRZX0hFQVBfQ09ORklHLnNtYWxsX3NlZ3JlZ2F0ZWRf
Y29uZmlnKTsKKyAgICAgICAgUEFTX1VUSUxJVFlfSEVBUF9DT05GSUcuc21hbGxfc2VncmVnYXRl
ZF9jb25maWcsIHBhc19zZWdyZWdhdGVkX3BhZ2VfZXhjbHVzaXZlX3JvbGUpOwogfQogCiBzaXpl
X3QgcGFzX3V0aWxpdHlfaGVhcF9nZXRfbnVtX2ZyZWVfYnl0ZXModm9pZCkKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc191dGlsaXR5X2hlYXBfY29uZmlnLmMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3V0aWxpdHlf
aGVhcF9jb25maWcuYwkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFz
L3NyYy9saWJwYXMvcGFzX3V0aWxpdHlfaGVhcF9jb25maWcuYwkod29ya2luZyBjb3B5KQpAQCAt
MzYsMTIgKzM2LDYgQEAKIAogUEFTX0JFR0lOX0VYVEVSTl9DOwogCi1wYXNfc2VncmVnYXRlZF9z
aGFyZWRfcGFnZV9kaXJlY3RvcnkgcGFzX3V0aWxpdHlfaGVhcF9zaGFyZWRfcGFnZV9kaXJlY3Rv
cnkgPQotICAgIFBBU19TRUdSRUdBVEVEX1NIQVJFRF9QQUdFX0RJUkVDVE9SWV9JTklUSUFMSVpF
UigKLSAgICAgICAgUEFTX1VUSUxJVFlfSEVBUF9DT05GSUcuc21hbGxfc2VncmVnYXRlZF9jb25m
aWcsCi0gICAgICAgIHBhc19zaGFyZV9wYWdlcywKLSAgICAgICAgTlVMTCk7Ci0KIHBhc19oZWFw
X2NvbmZpZyBwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZyA9IFBBU19VVElMSVRZX0hFQVBfQ09ORklH
OwogCiBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJR19TUEVDSUFMSVpBVElPTl9ERUZJTklUSU9O
UygKQEAgLTUwLDEwICs0NCwxMSBAQCBQQVNfSEVBUF9DT05GSUdfU1BFQ0lBTElaQVRJT05fREVG
SU5JVElPCiAgICAgcGFzX3V0aWxpdHlfaGVhcF9jb25maWcsIFBBU19VVElMSVRZX0hFQVBfQ09O
RklHKTsKIAogdm9pZCogcGFzX3V0aWxpdHlfaGVhcF9hbGxvY2F0ZV9wYWdlKAotICAgIHBhc19z
ZWdyZWdhdGVkX2hlYXAqIGhlYXAsIHBhc19waHlzaWNhbF9tZW1vcnlfdHJhbnNhY3Rpb24qIHRy
YW5zYWN0aW9uKQorICAgIHBhc19zZWdyZWdhdGVkX2hlYXAqIGhlYXAsIHBhc19waHlzaWNhbF9t
ZW1vcnlfdHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBwYXNfc2VncmVnYXRlZF9wYWdlX3JvbGUg
cm9sZSkKIHsKICAgICBQQVNfVU5VU0VEX1BBUkFNKGhlYXApOwogICAgIFBBU19BU1NFUlQoIXRy
YW5zYWN0aW9uKTsKKyAgICBQQVNfQVNTRVJUKHJvbGUgPT0gcGFzX3NlZ3JlZ2F0ZWRfcGFnZV9l
eGNsdXNpdmVfcm9sZSk7CiAgICAgcmV0dXJuICh2b2lkKilwYXNfY29tcGFjdF9ib290c3RyYXBf
ZnJlZV9oZWFwX3RyeV9hbGxvY2F0ZV93aXRoX2FsaWdubWVudCgKICAgICAgICAgUEFTX1NNQUxM
X1BBR0VfREVGQVVMVF9TSVpFLAogICAgICAgICBwYXNfYWxpZ25tZW50X2NyZWF0ZV90cmFkaXRp
b25hbChQQVNfU01BTExfUEFHRV9ERUZBVUxUX1NJWkUpLApAQCAtNjEsNiArNTYsMTYgQEAgdm9p
ZCogcGFzX3V0aWxpdHlfaGVhcF9hbGxvY2F0ZV9wYWdlKAogICAgICAgICBwYXNfZGVsZWdhdGVf
YWxsb2NhdGlvbikuYmVnaW47CiB9CiAKK3Bhc19zZWdyZWdhdGVkX3NoYXJlZF9wYWdlX2RpcmVj
dG9yeSoKK3Bhc191dGlsaXR5X2hlYXBfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X3NlbGVjdG9yKHBh
c19zZWdyZWdhdGVkX2hlYXAqIGhlYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5
KQoreworICAgIFBBU19VTlVTRURfUEFSQU0oaGVhcCk7CisgICAgUEFTX1VOVVNFRF9QQVJBTShk
aXJlY3RvcnkpOworICAgIFBBU19BU1NFUlQoISJOb3QgaW1wbGVtZW50ZWQiKTsKKyAgICByZXR1
cm4gTlVMTDsKK30KKwogYm9vbCBwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZ19mb3JfZWFjaF9zaGFy
ZWRfcGFnZV9kaXJlY3RvcnkoCiAgICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCogaGVhcCwKICAgICBi
b29sICgqY2FsbGJhY2spKHBhc19zZWdyZWdhdGVkX3NoYXJlZF9wYWdlX2RpcmVjdG9yeSogZGly
ZWN0b3J5LApAQCAtNjgsMTQgKzczLDE3IEBAIGJvb2wgcGFzX3V0aWxpdHlfaGVhcF9jb25maWdf
Zm9yX2VhY2hfc2gKICAgICB2b2lkKiBhcmcpCiB7CiAgICAgUEFTX0FTU0VSVChoZWFwID09ICZw
YXNfdXRpbGl0eV9zZWdyZWdhdGVkX2hlYXApOwotICAgIHJldHVybiBjYWxsYmFjaygmcGFzX3V0
aWxpdHlfaGVhcF9zaGFyZWRfcGFnZV9kaXJlY3RvcnksIGFyZyk7CisgICAgUEFTX1VOVVNFRF9Q
QVJBTShjYWxsYmFjayk7CisgICAgUEFTX1VOVVNFRF9QQVJBTShhcmcpOworICAgIHJldHVybiB0
cnVlOwogfQogCiB2b2lkIHBhc191dGlsaXR5X2hlYXBfY29uZmlnX2R1bXBfc2hhcmVkX3BhZ2Vf
ZGlyZWN0b3J5X2FyZygKICAgICBwYXNfc3RyZWFtKiBzdHJlYW0sIHBhc19zZWdyZWdhdGVkX3No
YXJlZF9wYWdlX2RpcmVjdG9yeSogZGlyZWN0b3J5KQogeworICAgIFBBU19VTlVTRURfUEFSQU0o
c3RyZWFtKTsKICAgICBQQVNfVU5VU0VEX1BBUkFNKGRpcmVjdG9yeSk7Ci0gICAgcGFzX3N0cmVh
bV9wcmludGYoc3RyZWFtLCAiVXRpbGl0eSIpOworICAgIFBBU19BU1NFUlQoISJTaG91bGQgbm90
IGJlIHJlYWNoZWQiKTsKIH0KIAogUEFTX0VORF9FWFRFUk5fQzsKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2xpYnBhcy9zcmMvbGlicGFzL3Bhc191dGlsaXR5X2hlYXBfY29uZmlnLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJwYXMvcGFzX3V0aWxpdHlfaGVhcF9j
b25maWcuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9s
aWJwYXMvcGFzX3V0aWxpdHlfaGVhcF9jb25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCAr
NDYsNiBAQCBQQVNfQkVHSU5fRVhURVJOX0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUEFTX1NNQUxMX1BBR0VfREVGQVVMVF9TSVpFLCBcCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFTX1NNQUxMX1BBR0VfREVGQVVMVF9TSVpFKQog
Ci1QQVNfQVBJIGV4dGVybiBwYXNfc2VncmVnYXRlZF9zaGFyZWRfcGFnZV9kaXJlY3RvcnkgcGFz
X3V0aWxpdHlfaGVhcF9zaGFyZWRfcGFnZV9kaXJlY3Rvcnk7Ci0KIHN0YXRpYyBpbmxpbmUgcGFz
X3BhZ2VfYmFzZSogcGFzX3V0aWxpdHlfaGVhcF9wYWdlX2hlYWRlcl9mb3JfYm91bmRhcnkodm9p
ZCogYWxsb2NhdGlvbikKIHsKICAgICByZXR1cm4gKHBhc19wYWdlX2Jhc2UqKWFsbG9jYXRpb247
CkBAIC01OSwxNiArNTcsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkKiBwYXNfdXRpbGl0eV9oZWFw
X2JvdQogfQogCiBQQVNfQVBJIHZvaWQqIHBhc191dGlsaXR5X2hlYXBfYWxsb2NhdGVfcGFnZSgK
LSAgICBwYXNfc2VncmVnYXRlZF9oZWFwKiBoZWFwLCBwYXNfcGh5c2ljYWxfbWVtb3J5X3RyYW5z
YWN0aW9uKiB0cmFuc2FjdGlvbik7CisgICAgcGFzX3NlZ3JlZ2F0ZWRfaGVhcCogaGVhcCwgcGFz
X3BoeXNpY2FsX21lbW9yeV90cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIHBhc19zZWdyZWdhdGVk
X3BhZ2Vfcm9sZSByb2xlKTsKIAotc3RhdGljIGlubGluZSBwYXNfc2VncmVnYXRlZF9zaGFyZWRf
cGFnZV9kaXJlY3RvcnkqCitQQVNfQVBJIHBhc19zZWdyZWdhdGVkX3NoYXJlZF9wYWdlX2RpcmVj
dG9yeSoKIHBhc191dGlsaXR5X2hlYXBfc2hhcmVkX3BhZ2VfZGlyZWN0b3J5X3NlbGVjdG9yKHBh
c19zZWdyZWdhdGVkX2hlYXAqIGhlYXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5
KQotewotICAgIFBBU19VTlVTRURfUEFSQU0oaGVhcCk7Ci0gICAgUEFTX1VOVVNFRF9QQVJBTShk
aXJlY3RvcnkpOwotICAgIHJldHVybiAmcGFzX3V0aWxpdHlfaGVhcF9zaGFyZWRfcGFnZV9kaXJl
Y3Rvcnk7Ci19CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXNfc2VncmVnYXRlZF9zaXplX2RpcmVjdG9yeSogZGlyZWN0b3J5KTsKIAogc3RhdGljIGlu
bGluZSBwYXNfcGFnZV9iYXNlKiBwYXNfdXRpbGl0eV9oZWFwX2NyZWF0ZV9wYWdlX2hlYWRlcigK
ICAgICB2b2lkKiBib3VuZGFyeSwgcGFzX2xvY2tfaG9sZF9tb2RlIGhlYXBfbG9ja19ob2xkX21v
ZGUpCkBAIC0xMDYsNyArOTksNyBAQCBQQVNfQVBJIHZvaWQgcGFzX3V0aWxpdHlfaGVhcF9jb25m
aWdfZHVtCiAgICAgICAgICAgICAgICAgLmlzX2VuYWJsZWQgPSB0cnVlLCBcCiAgICAgICAgICAg
ICAgICAgLmhlYXBfY29uZmlnX3B0ciA9ICZwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZywgXAogICAg
ICAgICAgICAgICAgIC5wYWdlX2NvbmZpZ19wdHIgPSAmcGFzX3V0aWxpdHlfaGVhcF9jb25maWcu
c21hbGxfc2VncmVnYXRlZF9jb25maWcuYmFzZSwgXAotICAgICAgICAgICAgICAgIC5wYWdlX2tp
bmQgPSBwYXNfc21hbGxfc2VncmVnYXRlZF9wYWdlX2tpbmQsIFwKKyAgICAgICAgICAgICAgICAu
cGFnZV9jb25maWdfa2luZCA9IHBhc19wYWdlX2NvbmZpZ19raW5kX3NlZ3JlZ2F0ZWQsIFwKICAg
ICAgICAgICAgICAgICAubWluX2FsaWduX3NoaWZ0ID0gUEFTX0lOVEVSTkFMX01JTl9BTElHTl9T
SElGVCwgXAogICAgICAgICAgICAgICAgIC5wYWdlX3NpemUgPSBQQVNfU01BTExfUEFHRV9ERUZB
VUxUX1NJWkUsIFwKICAgICAgICAgICAgICAgICAuZ3JhbnVsZV9zaXplID0gUEFTX1NNQUxMX1BB
R0VfREVGQVVMVF9TSVpFLCBcCkBAIC0xMTgsNyArMTExLDYgQEAgUEFTX0FQSSB2b2lkIHBhc191
dGlsaXR5X2hlYXBfY29uZmlnX2R1bQogICAgICAgICAgICAgICAgIC5wYWdlX29iamVjdF9wYXls
b2FkX29mZnNldCA9IFBBU19VVElMSVRZX0hFQVBfUEFZTE9BRF9PRkZTRVQsIFwKICAgICAgICAg
ICAgICAgICAucGFnZV9vYmplY3RfcGF5bG9hZF9zaXplID0gXAogICAgICAgICAgICAgICAgICAg
ICBQQVNfU01BTExfUEFHRV9ERUZBVUxUX1NJWkUgLSBQQVNfVVRJTElUWV9IRUFQX1BBWUxPQURf
T0ZGU0VULCBcCi0gICAgICAgICAgICAgICAgLnBhZ2VfYWxsb2NhdG9yID0gcGFzX3V0aWxpdHlf
aGVhcF9hbGxvY2F0ZV9wYWdlLCBcCiAgICAgICAgICAgICAgICAgLmNyZWF0ZV9wYWdlX2hlYWRl
ciA9IHBhc191dGlsaXR5X2hlYXBfY3JlYXRlX3BhZ2VfaGVhZGVyLCBcCiAgICAgICAgICAgICAg
ICAgLmRlc3Ryb3lfcGFnZV9oZWFkZXIgPSBwYXNfdXRpbGl0eV9oZWFwX2Rlc3Ryb3lfcGFnZV9o
ZWFkZXIsIFwKICAgICAgICAgICAgIH0sIFwKQEAgLTEyNywxMSArMTE5LDE0IEBAIFBBU19BUEkg
dm9pZCBwYXNfdXRpbGl0eV9oZWFwX2NvbmZpZ19kdW0KICAgICAgICAgICAgIC53YXN0ZWFnZV9o
YW5kaWNhcCA9IDEuLCBcCiAgICAgICAgICAgICAuc2hhcmluZ19zaGlmdCA9IFBBU19TTUFMTF9T
SEFSSU5HX1NISUZULCBcCiAgICAgICAgICAgICAubnVtX2FsbG9jX2JpdHMgPSBQQVNfVVRJTElU
WV9OVU1fQUxMT0NfQklUUywgXAotICAgICAgICAgICAgLmRlYWxsb2NfZnVuYyA9IE5VTEwsIFwK
KyAgICAgICAgICAgIC5zaGFyZWRfbG9nZ2luZ19tb2RlID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxv
Y2F0aW9uX25vX2xvZ2dpbmdfbW9kZSwgXAorICAgICAgICAgICAgLmV4Y2x1c2l2ZV9sb2dnaW5n
X21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLCBcCiAg
ICAgICAgICAgICAudXNlX3JldmVyc2VkX2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAogICAg
ICAgICAgICAgLmNoZWNrX2RlYWxsb2NhdGlvbiA9IGZhbHNlLCBcCi0gICAgICAgICAgICAuZW5h
YmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1pemF0aW9uID0gZmFsc2UsIFwKKyAgICAg
ICAgICAgIC5lbmFibGVfZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb25fZm9yX3No
YXJlZCA9IGZhbHNlLCBcCisgICAgICAgICAgICAuZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxp
dHlfb3B0aW1pemF0aW9uX2Zvcl9leGNsdXNpdmUgPSBmYWxzZSwgXAogICAgICAgICAgICAgLmVu
YWJsZV92aWV3X2NhY2hlID0gZmFsc2UsIFwKKyAgICAgICAgICAgIC5wYWdlX2FsbG9jYXRvciA9
IHBhc191dGlsaXR5X2hlYXBfYWxsb2NhdGVfcGFnZSwgXAogICAgICAgICAgICAgLnNoYXJlZF9w
YWdlX2RpcmVjdG9yeV9zZWxlY3RvciA9IHBhc191dGlsaXR5X2hlYXBfc2hhcmVkX3BhZ2VfZGly
ZWN0b3J5X3NlbGVjdG9yLCBcCiAgICAgICAgICAgICBQQVNfU0VHUkVHQVRFRF9QQUdFX0NPTkZJ
R19TUEVDSUFMSVpBVElPTlMocGFzX3V0aWxpdHlfaGVhcF9wYWdlX2NvbmZpZykgXAogICAgICAg
ICB9LCBcCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdXRpbHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL2xpYnBhcy9wYXNfdXRp
bHMuaAkocmV2aXNpb24gMjg2NDM4KQorKysgU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvcGFzX3V0aWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsMTUgQEAgUEFTX0FQ
SSBQQVNfTk9fUkVUVVJOIFBBU19ORVZFUl9JTkxJTkUgdgogCiBQQVNfQVBJIFBBU19OT19SRVRV
Uk4gdm9pZCBwYXNfYXNzZXJ0aW9uX2ZhaWxlZChjb25zdCBjaGFyKiBmaWxlbmFtZSwgaW50IGxp
bmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBleHByZXNzaW9uKTsKIAorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV21pc3Npbmctbm9yZXR1cm4iCitzdGF0aWMgaW5saW5lIHZvaWQgcGFzX2Fzc2VydGlv
bl9mYWlsZWRfbm9yZXR1cm5fc2lsZW5jZXIoCisgICAgY29uc3QgY2hhciogZmlsZW5hbWUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogZXhwcmVzc2lvbikKK3sK
KyAgICBwYXNfYXNzZXJ0aW9uX2ZhaWxlZChmaWxlbmFtZSwgbGluZSwgZnVuY3Rpb24sIGV4cHJl
c3Npb24pOworfQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCiAjZGVmaW5lIFBBU19M
SUtFTFkoeCkgX19QQVNfTElLRUxZKHgpCiAjZGVmaW5lIFBBU19VTkxJS0VMWSh4KSBfX1BBU19V
TkxJS0VMWSh4KQogCkBAIC0xMTUsNyArMTI0LDcgQEAgUEFTX0FQSSBQQVNfTk9fUkVUVVJOIHZv
aWQgcGFzX2Fzc2VydGlvbgogICAgIGRvIHsgXAogICAgICAgICBpZiAoUEFTX0xJS0VMWShleHAp
KSBcCiAgICAgICAgICAgICBicmVhazsgXAotICAgICAgICBwYXNfYXNzZXJ0aW9uX2ZhaWxlZChf
X0ZJTEVfXywgX19MSU5FX18sIF9fUFJFVFRZX0ZVTkNUSU9OX18sICNleHApOyBcCisgICAgICAg
IHBhc19hc3NlcnRpb25fZmFpbGVkX25vcmV0dXJuX3NpbGVuY2VyKF9fRklMRV9fLCBfX0xJTkVf
XywgX19QUkVUVFlfRlVOQ1RJT05fXywgI2V4cCk7IFwKICAgICB9IHdoaWxlICgwKQogCiAjZGVm
aW5lIFBBU19URVNUSU5HX0FTU0VSVChleHApIFwKQEAgLTEyNCw3ICsxMzMsNyBAQCBQQVNfQVBJ
IFBBU19OT19SRVRVUk4gdm9pZCBwYXNfYXNzZXJ0aW9uCiAgICAgICAgICAgICBicmVhazsgXAog
ICAgICAgICBpZiAoUEFTX0xJS0VMWShleHApKSBcCiAgICAgICAgICAgICBicmVhazsgXAotICAg
ICAgICBwYXNfYXNzZXJ0aW9uX2ZhaWxlZChfX0ZJTEVfXywgX19MSU5FX18sIF9fUFJFVFRZX0ZV
TkNUSU9OX18sICNleHApOyBcCisgICAgICAgIHBhc19hc3NlcnRpb25fZmFpbGVkX25vcmV0dXJu
X3NpbGVuY2VyKF9fRklMRV9fLCBfX0xJTkVfXywgX19QUkVUVFlfRlVOQ1RJT05fXywgI2V4cCk7
IFwKICAgICB9IHdoaWxlICgwKQogCiBzdGF0aWMgaW5saW5lIGJvb2wgcGFzX2lzX3Bvd2VyX29m
XzIodWludHB0cl90IHZhbHVlKQpJbmRleDogU291cmNlL2JtYWxsb2MvbGlicGFzL3NyYy9saWJw
YXMvdGhpbmd5X2hlYXBfY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvbGli
cGFzL3NyYy9saWJwYXMvdGhpbmd5X2hlYXBfY29uZmlnLmgJKHJldmlzaW9uIDI4NjQzOCkKKysr
IFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvbGlicGFzL3RoaW5neV9oZWFwX2NvbmZpZy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoYykgMjAxOS0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAx
OS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNTMsNyArNTMsMTEgQEAgUEFTX0JFR0lOX0VYVEVSTl9DOwogICAg
IC5zbWFsbF9zZWdyZWdhdGVkX3NoYXJpbmdfc2hpZnQgPSBQQVNfU01BTExfU0hBUklOR19TSElG
VCwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfc2l6ZSA9IFBBU19TTUFMTF9QQUdFX0RF
RkFVTFRfU0laRSwgXAogICAgIC5zbWFsbF9zZWdyZWdhdGVkX3dhc3RlYWdlX2hhbmRpY2FwID0g
UEFTX1NNQUxMX1BBR0VfSEFORElDQVAsIFwKLSAgICAuc21hbGxfc2VncmVnYXRlZF9lbmFibGVf
ZW1wdHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24gPSBmYWxzZSwgXAorICAgIC5zbWFs
bF9leGNsdXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBcCisgICAgICAgIHBhc19zZWdy
ZWdhdGVkX2RlYWxsb2NhdGlvbl9jaGVja2VkX3NpemVfb2JsaXZpb3VzX2xvZ2dpbmdfbW9kZSwg
XAorICAgIC5zbWFsbF9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVn
YXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLCBcCisgICAgLnNtYWxsX2V4Y2x1c2l2
ZV9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3JkX2VsaWdpYmlsaXR5X29wdGltaXphdGlvbiA9
IGZhbHNlLCBcCisgICAgLnNtYWxsX3NoYXJlZF9zZWdyZWdhdGVkX2VuYWJsZV9lbXB0eV93b3Jk
X2VsaWdpYmlsaXR5X29wdGltaXphdGlvbiA9IGZhbHNlLCBcCiAgICAgLnNtYWxsX3NlZ3JlZ2F0
ZWRfdXNlX3JldmVyc2VkX2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAogICAgIC5lbmFibGVf
dmlld19jYWNoZSA9IGZhbHNlLCBcCiAgICAgLnVzZV9zbWFsbF9iaXRmaXQgPSB0cnVlLCBcCkBA
IC02NSw2ICs2OSw4IEBAIFBBU19CRUdJTl9FWFRFUk5fQzsKICAgICAubWVkaXVtX3NlZ3JlZ2F0
ZWRfbWluX2FsaWduX3NoaWZ0ID0gUEFTX01JTl9NRURJVU1fQUxJR05fU0hJRlQsIFwKICAgICAu
bWVkaXVtX3NlZ3JlZ2F0ZWRfc2hhcmluZ19zaGlmdCA9IFBBU19NRURJVU1fU0hBUklOR19TSElG
VCwgXAogICAgIC5tZWRpdW1fc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNhcCA9IFBBU19NRURJ
VU1fUEFHRV9IQU5ESUNBUCwgXAorICAgIC5tZWRpdW1fZXhjbHVzaXZlX3NlZ3JlZ2F0ZWRfbG9n
Z2luZ19tb2RlID0gcGFzX3NlZ3JlZ2F0ZWRfZGVhbGxvY2F0aW9uX2NoZWNrZWRfc2l6ZV9hd2Fy
ZV9sb2dnaW5nX21vZGUsIFwKKyAgICAubWVkaXVtX3NoYXJlZF9zZWdyZWdhdGVkX2xvZ2dpbmdf
bW9kZSA9IHBhc19zZWdyZWdhdGVkX2RlYWxsb2NhdGlvbl9ub19sb2dnaW5nX21vZGUsIFwKICAg
ICAudXNlX21lZGl1bV9iaXRmaXQgPSB0cnVlLCBcCiAgICAgLm1lZGl1bV9iaXRmaXRfbWluX2Fs
aWduX3NoaWZ0ID0gUEFTX01JTl9NRURJVU1fQUxJR05fU0hJRlQsIFwKICAgICAudXNlX21hcmdl
X2JpdGZpdCA9IHRydWUsIFwKQEAgLTczLDExICs3OSw3IEBAIFBBU19CRUdJTl9FWFRFUk5fQzsK
IAogZXh0ZXJuIFBBU19BUEkgcGFzX2hlYXBfY29uZmlnIHRoaW5neV9oZWFwX2NvbmZpZzsKIAot
UEFTX0JBU0lDX0hFQVBfQ09ORklHX0RFQ0xBUkFUSU9OUygKLSAgICB0aGluZ3ksIFRISU5HWSwK
LSAgICAuc21hbGxfc2l6ZV9hd2FyZV9sb2dnaW5nID0gUEFTX1NNQUxMX1NJWkVfQVdBUkVfTE9H
R0lORywKLSAgICAubWVkaXVtX3NpemVfYXdhcmVfbG9nZ2luZyA9IFBBU19NRURJVU1fU0laRV9B
V0FSRV9MT0dHSU5HLAotICAgIC52ZXJpZnlfYmVmb3JlX2xvZ2dpbmcgPSB0cnVlKTsKK1BBU19C
QVNJQ19IRUFQX0NPTkZJR19ERUNMQVJBVElPTlModGhpbmd5LCBUSElOR1kpOwogCiBQQVNfRU5E
X0VYVEVSTl9DOwogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9saWJwYXMvc3JjL3Rlc3QvVGhpbmd5
QW5kVXRpbGl0eUhlYXBBbGxvY2F0aW9uVGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9i
bWFsbG9jL2xpYnBhcy9zcmMvdGVzdC9UaGluZ3lBbmRVdGlsaXR5SGVhcEFsbG9jYXRpb25UZXN0
cy5jcHAJKHJldmlzaW9uIDI4NjQzOCkKKysrIFNvdXJjZS9ibWFsbG9jL2xpYnBhcy9zcmMvdGVz
dC9UaGluZ3lBbmRVdGlsaXR5SGVhcEFsbG9jYXRpb25UZXN0cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxMzEsMTIgKzMxMzEsMTIgQEAgdm9pZCBhZGRNYXJnZUJpdGZpdFRlc3RzKCkKICAgICAg
ICAgICAgICAgICAgU0laRV9DTEFTU19QUk9HUkFNKAogICAgICAgICAgICAgICAgICAgICAgUHJp
bWl0aXZlQWxsb2NhdG9yKDIwMDAwKSwgMjE1MDQsIHBhc19tZWRpdW1fc2VncmVnYXRlZF9vYmpl
Y3Rfa2luZCwgNSwgMiksCiAgICAgICAgICAgICAgICAgIFNJWkVfQ0xBU1NfUFJPR1JBTSgKLSAg
ICAgICAgICAgICAgICAgICAgIFByaW1pdGl2ZUFsbG9jYXRvcigzMDAwMCksIDMyNzY4LCBwYXNf
bWFyZ2VfYml0Zml0X29iamVjdF9raW5kLCA1LCAyKSwKKyAgICAgICAgICAgICAgICAgICAgIFBy
aW1pdGl2ZUFsbG9jYXRvcigzMDAwMCksIDMyNzY4LCBwYXNfbWFyZ2VfYml0Zml0X29iamVjdF9r
aW5kLCA1LCAxKSwKICAgICAgICAgICAgICAgICAgU0laRV9DTEFTU19QUk9HUkFNKAogICAgICAg
ICAgICAgICAgICAgICAgUHJpbWl0aXZlQWxsb2NhdG9yKDI5MDAwKSwgMzI3NjgsIHBhc19tYXJn
ZV9iaXRmaXRfb2JqZWN0X2tpbmQsIDUsIDEpKSk7CiAgICAgQUREX1RFU1QodGVzdFNpemVDbGFz
c0NyZWF0aW9uKAogICAgICAgICAgICAgICAgICBTSVpFX0NMQVNTX1BST0dSQU0oCi0gICAgICAg
ICAgICAgICAgICAgICBQcmltaXRpdmVBbGxvY2F0b3IoMzAwMDAwKSwgMzAzMTA0LCBwYXNfbWFy
Z2VfYml0Zml0X29iamVjdF9raW5kLCA1LCAyKSwKKyAgICAgICAgICAgICAgICAgICAgIFByaW1p
dGl2ZUFsbG9jYXRvcigzMDAwMDApLCAzMDMxMDQsIHBhc19tYXJnZV9iaXRmaXRfb2JqZWN0X2tp
bmQsIDUsIDEpLAogICAgICAgICAgICAgICAgICBTSVpFX0NMQVNTX1BST0dSQU0oCiAgICAgICAg
ICAgICAgICAgICAgICBQcmltaXRpdmVBbGxvY2F0b3IoMjkwMDAwKSwgMjkwODE2LCBwYXNfbWFy
Z2VfYml0Zml0X29iamVjdF9raW5kLCA1LCAxKSkpOwogfQo=
</data>
<flag name="review"
          id="471014"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>