<?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>122971</bug_id>
          
          <creation_ts>2013-10-17 10:19:33 -0700</creation_ts>
          <short_desc>Add scaffolding for IDBDatabaseBackends in Web and Database processes</short_desc>
          <delta_ts>2013-10-17 11:32:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>philn</cc>
    
    <cc>sam</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>940819</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-17 10:19:33 -0700</bug_when>
    <thetext>Add scaffolding for IDBDatabaseBackends in Web and Database processes

This will set up a WebProcessIDBDatabaseBackend, DatabaseProcessIDBDatabaseBackend, the messaging between them, and a single message that can actually be sent as the result of JS on a page to show it&apos;s all hooked up correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940822</commentid>
    <comment_count>1</comment_count>
      <attachid>214469</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-17 10:25:43 -0700</bug_when>
    <thetext>Created attachment 214469
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940823</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-17 10:28:07 -0700</bug_when>
    <thetext>Attachment 214469 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.cpp&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.h&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in&apos;, u&apos;Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp&apos;, u&apos;Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h&apos;, u&apos;Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in&apos;, u&apos;Source/WebKit2/DerivedSources.make&apos;, u&apos;Source/WebKit2/Platform/Logging.h&apos;, u&apos;Source/WebKit2/Shared/Databases/IndexedDB/IDBUtilities.cpp&apos;, u&apos;Source/WebKit2/Shared/Databases/IndexedDB/IDBUtilities.h&apos;, u&apos;Source/WebKit2/WebKit2.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h&apos;, u&apos;Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Databases/WebToDatabaseProcessConnection.h&apos;]&quot; exit_code: 1
Source/WebKit2/Shared/Databases/IndexedDB/IDBUtilities.h:47:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]
Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:76:  The parameter name &quot;origin&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 4 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940826</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-17 10:30:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 214469 [details] did not pass style-queue:
&gt; 
&gt; Source/WebKit2/Shared/Databases/IndexedDB/IDBUtilities.h:47:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]
&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:76:  The parameter name &quot;origin&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]

All fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940854</commentid>
    <comment_count>4</comment_count>
      <attachid>214469</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-17 11:10:46 -0700</bug_when>
    <thetext>Comment on attachment 214469
Patch v1 

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

&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:71
&gt; +void WebIDBFactoryBackend::open(const String&amp; databaseName, int64_t version, int64_t transactionId, PassRefPtr&lt;IDBCallbacks&gt; callbacks, PassRefPtr&lt;IDBDatabaseCallbacks&gt; databaseCallbacks, PassRefPtr&lt;SecurityOrigin&gt; prpSecurityOrigin, ScriptExecutionContext*, const String&amp;)

prp :|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940865</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-17 11:29:02 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/157582

Will try to get gtk-wk2 building again, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940867</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-17 11:32:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; http://trac.webkit.org/changeset/157582
&gt; 
&gt; Will try to get gtk-wk2 building again, too.

That attempt in http://trac.webkit.org/changeset/157583</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214469</attachid>
            <date>2013-10-17 10:25:43 -0700</date>
            <delta_ts>2013-10-17 11:10:46 -0700</delta_ts>
            <desc>Patch v1 </desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>91924</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkZjM5NjRmLi4zNGFhZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzgg
QEAKKzIwMTMtMTAtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBzY2FmZm9sZGluZyBmb3IgSURCRGF0YWJhc2VCYWNrZW5kcyBpbiBXZWIgYW5kIERh
dGFiYXNlIHByb2Nlc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIyOTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaDoKKyAgICAgICAgLSBBZGRzIGEgV2ViUHJvY2Vzc0lEQkRhdGFi
YXNlQmFja2VuZAorICAgICAgICAtIEFkZHMgYSBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJh
Y2tlbmQKKyAgICAgICAgLSBFc3RhYmxpc2hlcyB0aGUgYmFzaWMgbWVzc2FnaW5nIGJldHdlZW4g
dGhlbQorICAgICAgICAtIEFjdHVhbGx5IGNyZWF0ZXMgdGhvc2UgYmFja2VuZHMgYXMgdGhlIHJl
c3VsdCBvZiBhbiBpbmRleGVkREIub3BlbigpIGNhbGwgZnJvbSBqYXZhc2NyaXB0CisKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisKKyAgICAgICAg
SG9vayB1cCBtZXNzYWdpbmcgc28gKFdlYi9EYXRhYmFzZSlQcm9jZXNzSURCRGF0YWJhc2VCYWNr
ZW5kcyBjYW4gbWVzc2FnZSBlYWNoIG90aGVyOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9E
YXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRh
YmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAg
KFdlYktpdDo6RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjplc3RhYmxpc2hJREJEYXRh
YmFzZUJhY2tlbmQpOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uOjpjb25uZWN0aW9uKToKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJh
c2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluOiBBZGRlZC4KKworICAgICAgICBE
YXRhYmFzZVByb2Nlc3Mgc2lkZSBvZiBhbiBJREJEYXRhYmFzZUJhY2tlbmQ6CisgICAgICAgICog
RGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tl
bmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tl
bmQ6OkRhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZCk6CisgICAgICAgIChXZWJLaXQ6
OkRhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6fkRhdGFiYXNlUHJvY2Vzc0lEQkRh
dGFiYXNlQmFja2VuZCk6CisgICAgICAgIChXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzc0lEQkRhdGFi
YXNlQmFja2VuZDo6b3BlbkNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVBy
b2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKToKKyAgICAg
ICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNl
QmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzSURCRGF0
YWJhc2VCYWNrZW5kOjpjcmVhdGUpOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVk
REIvRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLm1lc3NhZ2VzLmluOiBBZGRlZC4K
KworICAgICAgICBXZWJQcm9jZXNzIHNpZGUgb2YgYW4gSURCRGF0YWJhc2VCYWNrZW5kOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJQcm9jZXNzSURCRGF0YWJh
c2VCYWNrZW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OmdlbmVyYXRlQmFja2VuZElk
ZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5k
OjpXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6fldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpvcGVuQ29ubmVj
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmNy
ZWF0ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNl
QmFja2VuZDo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
SURCRGF0YWJhc2VCYWNrZW5kOjpjcmVhdGVUcmFuc2FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Y29tbWl0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6YWJvcnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpjcmVhdGVJbmRleCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmRlbGV0ZUluZGV4KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Z2V0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6cHV0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6c2V0SW5kZXhLZXlzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6c2V0SW5kZXhlc1JlYWR5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6b3BlbkN1cnNv
cik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmNvdW50
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6ZGVsZXRl
UmFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpj
bGVhcik6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6Om1l
c3NhZ2VTZW5kZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0lEQkRh
dGFiYXNlQmFja2VuZDo6ZXN0YWJsaXNoRGF0YWJhc2VQcm9jZXNzQmFja2VuZCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYlByb2Nlc3NJREJEYXRhYmFzZUJh
Y2tlbmQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NJREJEYXRhYmFzZUJh
Y2tlbmQ6OmNyZWF0ZSk6CisKKyAgICAgICAgQmFzaWMgc2hhcmVkIHV0aWxpdGllcyB0aGF0IG11
bHRpcGxlIHByb2Nlc3NlcyB3aWxsIG5lZWQgZ29pbmcgZm9yd2FyZDoKKyAgICAgICAgKiBTaGFy
ZWQvRGF0YWJhc2VzL0luZGV4ZWREQi9JREJVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViS2l0
Ojp1bmlxdWVEYXRhYmFzZUlkZW50aWZpZXIpOgorICAgICAgICAqIFNoYXJlZC9EYXRhYmFzZXMv
SW5kZXhlZERCL0lEQlV0aWxpdGllcy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvSW5kZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
c2hhcmVkRGF0YWJhc2VCYWNrZW5kTWFwKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRmFjdG9y
eUJhY2tlbmQ6Om9wZW4pOiBBY3R1YWxseSBlc3RhYmxpc2ggYW4gSURCRGF0YWJhc2VCYWNrZW5k
IGluIHRoZSBEYXRhYmFzZVByb2Nlc3MKKyAgICAgICAgICB3aGVuIGluZGV4ZWREQi5vcGVuKCkg
aXMgY2FsbGVkLCBldmVuIGlmIGl0IGRvZXMgbm90aGluZyBmb3Igbm93LgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5l
Y3Rpb24uaDoKKwogMjAxMy0xMC0xNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQmxpbmQgYXR0ZW1wdCB0byBmaXggbm9uLURBVEFCQVNFX1BST0NFU1MgYnVp
bGRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNl
VG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nl
c3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCBkNDFmZGY0Li4xZTk0
MWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVBy
b2Nlc3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMjYsNiArMjYsOSBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVG9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5oIgogCisjaW5jbHVkZSAiRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5k
LmgiCisjaW5jbHVkZSAiRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kTWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgogCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NF
U1MpCkBAIC01MSw5ICs1NCwyMSBAQCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246On5E
YXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQogCiB9CiAKLXZvaWQgRGF0YWJhc2VUb1dl
YlByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKQordm9pZCBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewotCisgICAgaWYgKGRlY29k
ZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpEYXRhYmFzZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb246Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBkaWRSZWNlaXZl
RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSA9PSBNZXNzYWdlczo6RGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5k
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgSURCRGF0YWJhc2VCYWNrZW5kTWFw
OjppdGVyYXRvciBiYWNrZW5kSXRlcmF0b3IgPSBtX2lkYkRhdGFiYXNlQmFja2VuZHMuZmluZChk
ZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgIGlmIChiYWNrZW5kSXRlcmF0b3IgIT0g
bV9pZGJEYXRhYmFzZUJhY2tlbmRzLmVuZCgpKQorICAgICAgICAgICAgYmFja2VuZEl0ZXJhdG9y
LT52YWx1ZS0+ZGlkUmVjZWl2ZURhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZE1lc3Nh
Z2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgRGF0YWJhc2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uOjpkaWRDbG9zZShDb3JlSVBDOjpDb25uZWN0aW9uKikKQEAgLTY2LDYgKzgxLDEy
IEBAIHZvaWQgRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlSW52YWxp
ZE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvCiAKIH0KIAordm9pZCBEYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaElEQkRhdGFiYXNlQmFja2VuZCh1aW50NjRfdCBiYWNr
ZW5kSWRlbnRpZmllcikKK3sKKyAgICBSZWZQdHI8RGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VC
YWNrZW5kPiBiYWNrZW5kID0gRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpjcmVh
dGUoYmFja2VuZElkZW50aWZpZXIpOworICAgIG1faWRiRGF0YWJhc2VCYWNrZW5kcy5zZXQoYmFj
a2VuZElkZW50aWZpZXIsIGJhY2tlbmQucmVsZWFzZSgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24uaAppbmRleCBjZGZhZDNmMS4uNjdkYzk2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24uaApAQCAtMjcsMTYgKzI3LDIzIEBACiAjZGVmaW5lIERhdGFiYXNlVG9X
ZWJQcm9jZXNzQ29ubmVjdGlvbl9oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSAiTWVzc2FnZVNlbmRlci5oIgorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogI2lmIEVO
QUJMRShEQVRBQkFTRV9QUk9DRVNTKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgRGF0
YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uPiwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKK2Ns
YXNzIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDsKKworY2xhc3MgRGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0YWJhc2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uPiwgcHVibGljIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCwgcHVi
bGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbj4gY3JlYXRlKENvcmVJUEM6OkNvbm5l
Y3Rpb246OklkZW50aWZpZXIpOwogICAgIH5EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24o
KTsKIAorICAgIENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBEYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CiAKQEAgLTQ0
LDYgKzUxLDE5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShDb3JlSVBDOjpDb25uZWN0aW9uKikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUs
IENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgT1ZFUlJJREU7CisgICAgdm9p
ZCBkaWRSZWNlaXZlRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKworICAgIC8vIENvcmVJ
UEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICB2aXJ0dWFsIENvcmVJUEM6OkNvbm5lY3Rpb24qIG1lc3Nh
Z2VTZW5kZXJDb25uZWN0aW9uKCkgT1ZFUlJJREUgeyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgp
OyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIE9W
RVJSSURFIHsgcmV0dXJuIDA7IH0KKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAg
IC8vIE1lc3NhZ2VzIGhhbmRsZXJzCisgICAgdm9pZCBlc3RhYmxpc2hJREJEYXRhYmFzZUJhY2tl
bmQodWludDY0X3QgYmFja2VuZElkZW50aWZpZXIpOworCisgICAgdHlwZWRlZiBIYXNoTWFwPHVp
bnQ2NF90LCBSZWZQdHI8RGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kPj4gSURCRGF0
YWJhc2VCYWNrZW5kTWFwOworICAgIElEQkRhdGFiYXNlQmFja2VuZE1hcCBtX2lkYkRhdGFiYXNl
QmFja2VuZHM7CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKICAgICBSZWZQ
dHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjZlOTY1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9E
YXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CkBAIC0wLDAgKzEsMzIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQorCittZXNzYWdlcyAtPiBEYXRhYmFzZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24gTGVnYWN5UmVjZWl2ZXIgeworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorICAgICMgQ3JlYXRlcyBhIGNvbm5lY3Rpb24gZm9yIGNvbW11bmljYXRpb24g
d2l0aCBhIFdlYlByb2Nlc3MKKyAgICBFc3RhYmxpc2hJREJEYXRhYmFzZUJhY2tlbmQodWludDY0
X3QgYmFja2VuZElkZW50aWZpZXIpCisjZW5kaWYKK30KKworI2VuZGlmIC8vIEVOQUJMRShEQVRB
QkFTRV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNz
L0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3BwIGIvU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJEYXRh
YmFzZUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMGM3
NzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5k
ZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhYmFz
ZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuaCIKKworI2luY2x1ZGUgIkRhdGFiYXNlVG9XZWJQ
cm9jZXNzQ29ubmVjdGlvbi5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVO
QUJMRShEQVRBQkFTRV9QUk9DRVNTKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworRGF0YWJhc2VQ
cm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tl
bmQodWludDY0X3QgYmFja2VuZElkZW50aWZpZXIpCisgICAgOiBtX2JhY2tlbmRJZGVudGlmaWVy
KGJhY2tlbmRJZGVudGlmaWVyKQoreworfQorCitEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJh
Y2tlbmQ6On5EYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQoKQoreworfQorCit2b2lk
IERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6b3BlbkNvbm5lY3Rpb24oKQorewor
ICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBpcyBzdWNjZXNzZnVsbHkgY2FsbGVkIGJ5IG1lc3Nh
Z2luZyBmcm9tIHRoZSBXZWJQcm9jZXNzLgorICAgIC8vIE5vdyBpbXBsZW1lbnQgaXQuCit9CisK
K0NvcmVJUEM6OkNvbm5lY3Rpb24qIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6
bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiBtX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJv
Y2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNz
L0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWQwZTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJE
YXRhYmFzZUJhY2tlbmQuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBE
YXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRfaAorI2RlZmluZSBEYXRhYmFzZVByb2Nl
c3NJREJEYXRhYmFzZUJhY2tlbmRfaAorCisjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmg+CisKKyNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CisK
Ky8vIEZJWE1FOiBXaGVuIGFkZGluZyBhY3R1YWwgSURCIGxvZ2ljLCB0aGlzIGNsYXNzIHdpbGwg
aW5oZXJpdCBmcm9tIFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZQorLy8gaW5z
dGVhZCBvZiBpbmhlcml0aW5nIGZyb20gUmVmQ291bnRlZCBkaXJlY3RseS4KKy8vIERvaW5nIHNv
IHdpbGwgYWxzbyBhZGQgYSBsYXJnZSBudW1iZXIgb2YgaW50ZXJmYWNlIG1ldGhvZHMgdG8gaW1w
bGVtZW50IHdoaWNoIGlzIHdoeSBJJ20gaG9sZGluZyBvZmYgZm9yIG5vdy4KKworY2xhc3MgRGF0
YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0YWJh
c2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5k
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWZQdHI8RGF0YWJhc2VQcm9jZXNzSURCRGF0YWJh
c2VCYWNrZW5kPiBjcmVhdGUodWludDY0X3QgYmFja2VuZElkZW50aWZpZXIpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2Vu
ZChiYWNrZW5kSWRlbnRpZmllcikpOworICAgIH0KKworICAgIHZpcnR1YWwgfkRhdGFiYXNlUHJv
Y2Vzc0lEQkRhdGFiYXNlQmFja2VuZCgpOworCisgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAg
ICB2b2lkIGRpZFJlY2VpdmVEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworCitwcml2
YXRlOgorICAgIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZCh1aW50NjRfdCBiYWNr
ZW5kSWRlbnRpZmllcik7CisKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyCisgICAgdmly
dHVhbCBDb3JlSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBP
VkVSUklERSB7IHJldHVybiBtX2JhY2tlbmRJZGVudGlmaWVyOyB9CisKKyAgICAvLyBNZXNzYWdl
IGhhbmRsZXJzLgorICAgIHZvaWQgb3BlbkNvbm5lY3Rpb24oKTsKKworICAgIFJlZlB0cjxEYXRh
YmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICB1aW50NjRfdCBt
X2JhY2tlbmRJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1Mp
CisjZW5kaWYgLy8gRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9j
ZXNzSURCRGF0YWJhc2VCYWNrZW5kLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE2OGM2ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIv
RGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEs
MjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
IyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKSAmJiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKworbWVzc2Fn
ZXMgLT4gRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kIExlZ2FjeVJlY2VpdmVyIHsK
KyAgICBPcGVuQ29ubmVjdGlvbigpCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCBiM2Y5ODgzLi41YTUzMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTIzLDYgKzIzLDcgQEAKIFZQQVRIID0gXAogICAgICQoV2ViS2l0MikgXAogICAgICQo
V2ViS2l0MikvRGF0YWJhc2VQcm9jZXNzIFwKKyAgICAkKFdlYktpdDIpL0RhdGFiYXNlUHJvY2Vz
cy9JbmRleGVkREIgXAogICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3MgXAogICAgICQoV2Vi
S2l0MikvTmV0d29ya1Byb2Nlc3MvbWFjIFwKICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3Mg
XApAQCAtNjIsNyArNjMsOSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBDdXN0b21Qcm90
b2NvbE1hbmFnZXIgXAogICAgIEN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IFwKICAgICBEYXRh
YmFzZVByb2Nlc3MgXAorICAgIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZCBcCiAg
ICAgRGF0YWJhc2VQcm9jZXNzUHJveHkgXAorICAgIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVj
dGlvbiBcCiAgICAgRHJhd2luZ0FyZWEgXAogICAgIERyYXdpbmdBcmVhUHJveHkgXAogICAgIERv
d25sb2FkUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2lu
Zy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDNmZTUwY2QuLjhk
NTBiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAgICAgTShOZXR3b3JrU2NoZWR1bGluZykgXAogICAgIE0oUGx1Z2lu
cykgXAogICAgIE0oU2Vzc2lvblN0YXRlKSBcCisgICAgTShTdG9yYWdlQVBJKSBcCiAgICAgTShU
ZXh0SW5wdXQpIFwKICAgICBNKFZpZXcpIFwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0RhdGFiYXNlcy9JbmRleGVkREIvSURCVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9EYXRhYmFzZXMvSW5kZXhlZERCL0lEQlV0aWxpdGllcy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVlNTJjNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvSW5kZXhlZERCL0lEQlV0aWxpdGllcy5jcHAK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJV
dGlsaXRpZXMuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKworI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5n
IHVuaXF1ZURhdGFiYXNlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQoreworICAgIHJldHVybiBzZWN1
cml0eU9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCkgKyBkYXRhYmFzZU5hbWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRGF0YWJhc2VzL0luZGV4ZWREQi9J
REJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvSW5kZXhlZERC
L0lEQlV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlOTA3
MGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRGF0YWJhc2VzL0lu
ZGV4ZWREQi9JREJVdGlsaXRpZXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2lmbmRlZiBJREJV
dGlsaXRpZXNfaAorI2RlZmluZSBJREJVdGlsaXRpZXNfaAorCisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBTZWN1cml0eU9yaWdpbjsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVuaXF1ZURhdGFiYXNlSWRlbnRp
Zmllcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4q
KTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCVXRpbGl0aWVzX2gKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZGM5NmEzNC4uZWUxNmJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA0LDYgKzQwNCwxMCBAQAog
CQkzRjg3QjlDMDE1ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JQaWNrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdCOUJGMTU4OTQwRDgwMDkw
RkY2MiAvKiBXZWJDb2xvclBpY2tlci5oICovOyB9OwogCQk0RjYwMTQzMjE1NUM1QUEyMDAxRkJE
RTAgLyogQmxvY2tpbmdSZXNwb25zZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEY2MDE0MzAxNTVDNUEzMjAwMUZCREUwIC8qIEJsb2NraW5nUmVz
cG9uc2VNYXAuaCAqLzsgfTsKIAkJNTEwMjFFOUMxMkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRl
eHRNZW51Q2xpZW50TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTEwMjFFOUIxMkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50
TWFjLm1tICovOyB9OworCQk1MTAzMkYxODE4MEY3M0JCMDA5NjFCQjcgLyogV2ViVG9EYXRhYmFz
ZVByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMDMyRjE2MTgwRjczQkIwMDk2MUJCNyAvKiBXZWJUb0RhdGFiYXNlUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwICovOyB9OworCQk1MTAzMkYxOTE4MEY3M0JCMDA5NjFCQjcgLyog
V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAzMkYxNzE4MEY3M0JCMDA5NjFCQjcgLyogV2ViVG9E
YXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CisJCTUxMDMyRjFEMTgwRjc5MTcwMDk2
MUJCNyAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzJGMUIx
ODBGNzkxNzAwOTYxQkI3IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CisJCTUxMDMyRjFFMTgwRjc5MTcwMDk2MUJCNyAvKiBEYXRhYmFz
ZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzJGMUMxODBGNzkxNzAwOTYxQkI3IC8qIERhdGFi
YXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07CiAJCTUxMEFGRkI5MTY1
NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBRkZCNzE2NTQyMDQ4MDAxQkEwNUUgLyog
V2ViUmVzb3VyY2VMb2FkZXIuY3BwICovOyB9OwogCQk1MTBBRkZCQTE2NTQyMDQ4MDAxQkEwNUUg
LyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMEFGRkI4MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRl
ci5oICovOyB9OwogCQk1MTBDQzg0OTE2MTNDODVDMDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3Mu
YXBwIGluIENvcHkgRmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEw
Q0M4MEUxNjEzQzc5OTAwRDAzRUQzIC8qIE5ldHdvcmtQcm9jZXNzLmFwcCAqLzsgfTsKQEAgLTQx
Nyw3ICs0MjEsNiBAQAogCQk1MTFCMjRBQjEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFi
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFC
MjRBOTEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmggKi87IH07CiAJCTUxMUY4
QTdCMTM4QjQ2MDkwMEE5NUY0NCAvKiBTZWNJdGVtU2hpbUxpYnJhcnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUY4QTc3MTM4QjQ2MDkwMEE5NUY0
NCAvKiBTZWNJdGVtU2hpbUxpYnJhcnkuaCAqLzsgfTsKIAkJNTExRjhBODExMzhCNDg1RDAwQTk1
RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUY4QTc4MTM4QjQ2MDkwMEE5NUY0NCAvKiBTZWNJdGVtU2hp
bUxpYnJhcnkubW0gKi87IH07Ci0JCTUxMUY4RUREMTgwODgxODUwMDQ3REE5NiAvKiBXZWJJREJG
YWN0b3J5QmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTFGOEVEQjE4MDg4MTdEMDA0N0RBOTYgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQu
Y3BwICovOyB9OwogCQk1MTIxNzQ2MDE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3Vy
Y2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEy
MTc0NUUxNjRDMjBFMzAwMzdBNUMxIC8qIFNoYXJlYWJsZVJlc291cmNlLmNwcCAqLzsgfTsKIAkJ
NTEyMTc0NjExNjRDMjBFMzAwMzdBNUMxIC8qIFNoYXJlYWJsZVJlc291cmNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIxNzQ1RjE2NEMyMEUzMDAz
N0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuaCAqLzsgfTsKIAkJNTEyMTc0NjQxNjRDMjEzNzAw
MzdBNUMxIC8qIFdlYlJlc291cmNlQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjE3NDYyMTY0QzIxMzcwMDM3QTVDMSAvKiBXZWJSZXNv
dXJjZUJ1ZmZlci5jcHAgKi87IH07CkBAIC00MjgsMTIgKzQzMSw4IEBACiAJCTUxMjkzNUQ4MTI4
OEQxOTQwMEE0QjY5NSAvKiBXZWJDb250ZXh0TWVudUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjkzNUQ2MTI4OEQxOTQwMEE0QjY5NSAvKiBX
ZWJDb250ZXh0TWVudUl0ZW0uaCAqLzsgfTsKIAkJNTEyOTM1RTMxMjg4RDk3ODAwQTRCNjk1IC8q
IEluamVjdGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjkzNUUxMTI4OEQ5NzgwMEE0QjY5NSAv
KiBJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAgKi87IH07CiAJCTUxMjkz
NUU0MTI4OEQ5NzgwMEE0QjY5NSAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyOTM1
RTIxMjg4RDk3ODAwQTRCNjk1IC8qIEluamVjdGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50
LmggKi87IH07Ci0JCTUxMkE5NzVCMTgwREZDODgwMDM5QTE0OSAvKiBXZWJUb0RhdGFiYXNlUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTEyQTk3NTkxODBERkM4ODAwMzlBMTQ5IC8qIFdlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5jcHAgKi87IH07Ci0JCTUxMkE5NzVDMTgwREZDODgwMDM5QTE0OSAvKiBXZWJU
b0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkE5NzVBMTgwREZDODgwMDM5QTE0OSAvKiBXZWJUb0RhdGFi
YXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTEyQTk3NjAxODBFMDMxRDAwMzlBMTQ5
IC8qIERhdGFiYXNlUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJBOTc1RTE4MEUwMzE2MDAzOUExNDkgLyog
RGF0YWJhc2VQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTEyQTk3NjExODBF
MDMxRDAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJBOTc1RjE4MEUwMzE2MDAzOUExNDkg
LyogRGF0YWJhc2VQcm9jZXNzTWVzc2FnZXMuaCAqLzsgfTsKLQkJNTEyQTk3NjQxODBFMDRENTAw
MzlBMTQ5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJBOTc2MjE4MEUwNEQ1MDAzOUEx
NDkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCAqLzsgfTsKLQkJNTEyQTk3
NjUxODBFMDRENTAwMzlBMTQ5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyQTk3NjMxODBF
MDRENTAwMzlBMTQ5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oICovOyB9Owog
CQk1MTJBOTc2OTE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEyQTk3NjcxODBFMDlCODAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTEyQTk3NkExODBFMDlCODAwMzlBMTQ5IC8qIERhdGFi
YXNlUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMkE5NzY4MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nl
c3NQcm94eU1lc3NhZ2VzLmggKi87IH07CiAJCTUxMkMwNjg4MTYzOEY2N0UwMEFCQjkxMSAvKiBI
b3N0UmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMkMwNjg2MTYzOEY2N0UwMEFCQjkxMSAvKiBIb3N0UmVjb3JkLmNwcCAqLzsgfTsKQEAg
LTQ2Nyw3ICs0NjYsNiBAQAogCQk1MTJGNThGQTEyQTg4QTU0MDA2Mjk1MzAgLyogV0tDcmVkZW50
aWFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJG
NThGMjEyQTg4QTU0MDA2Mjk1MzAgLyogV0tDcmVkZW50aWFsLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEyRjU4RkIxMkE4OEE1NDAwNjI5NTMw
IC8qIFdLUHJvdGVjdGlvblNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMkY1OEYzMTJBODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rpb25T
cGFjZS5jcHAgKi87IH07CiAJCTUxMkY1OEZDMTJBODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rp
b25TcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEyRjU4RjQxMkE4OEE1NDAwNjI5NTMwIC8qIFdLUHJvdGVjdGlvblNwYWNlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEzMEYwRTUxODBDQ0I5
MTAwNjAyQzE4IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTMwRjBFMzE4MENDQjkxMDA2MDJDMTggLyogRGF0
YWJhc2VQcm9jZXNzTWFpbi5tbSAqLzsgfTsKIAkJNTEzNjE4M0QxNjMxMjZEQTAwQTk5RERFIC8q
IENvbm5lY3Rpb25TdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTM2MTgzQjE2MzEyNkRBMDBBOTlEREUgLyogQ29ubmVjdGlvblN0YWNrLmNw
cCAqLzsgfTsKIAkJNTEzNjE4M0UxNjMxMjZEQTAwQTk5RERFIC8qIENvbm5lY3Rpb25TdGFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEzNjE4M0Mx
NjMxMjZEQTAwQTk5RERFIC8qIENvbm5lY3Rpb25TdGFjay5oICovOyB9OwogCQk1MTNBMTYzQzE2
MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTNBMTYzQTE2
MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CkBAIC00OTYsNyArNDk0LDYgQEAKIAkJNTE3Q0YwRTQxNjNBNDg2QzAwQzI5NTBFIC8q
IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdDRjBFMjE2M0E0ODZDMDBDMjk1MEUgLyogTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTE3REQ1QkUxODBEQTdE
MzAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0RENUJDMTgwREE3RDMwMDgxNjYwQiAvKiBE
YXRhYmFzZVByb2Nlc3NQcm94eS5jcHAgKi87IH07CiAJCTUxN0RENUJGMTgwREE3RDMwMDgxNjYw
QiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE3REQ1QkQxODBEQTdEMzAwODE2NjBCIC8qIERhdGFiYXNlUHJv
Y2Vzc1Byb3h5LmggKi87IH07Ci0JCTUxN0RENUMyMTgwREI3QjcwMDgxNjYwQiAvKiBEYXRhYmFz
ZVByb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTdERDVDMTE4MERCN0I3MDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzTWFjLm1tICov
OyB9OwogCQk1MTdERDVDNTE4MERDM0UxMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdE
RDVDNDE4MERDM0UxMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gKi87IH07
CiAJCTUxODBDNzE1MTgwQ0NBMzEwMEZEQTYxMiAvKiBYUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVu
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4
Mzk3MTZCNDgwRjYwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVudC5tbSAqLzsg
fTsKIAkJNTE4MEM3MTcxODBDQ0EzMTAwRkRBNjEyIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0Njgx
NUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwpAQCAtNTU2LDEz
ICs1NTMsMjQgQEAKIAkJNTFEMTMwNTgxMzgyRjEwNTAwMzUxRUREIC8qIFdlYlByb2Nlc3NQcm94
eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RDEzMDU3MTM4MkYxMDUwMDM1MUVERCAvKiBXZWJQcm9jZXNzUHJveHlNYWMubW0gKi87IH07CiAJ
CTUxREQ5RjI4MTYzNjdEQTIwMDE1NzhFOSAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
c01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUREOUYyNjE2MzY3REEyMDAxNTc4RTkgLyogTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUREOUYyOTE2MzY3REEy
MDAxNTc4RTkgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFERDlGMjcxNjM2N0RB
MjAwMTU3OEU5IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCAqLzsg
fTsKKwkJNTFFMzUxQ0ExODBGMkNDQzAwRTUzQkU5IC8qIElEQlV0aWxpdGllcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUUzNTFDODE4MEYyQ0ND
MDBFNTNCRTkgLyogSURCVXRpbGl0aWVzLmNwcCAqLzsgfTsKKwkJNTFFMzUxQ0IxODBGMkNDQzAw
RTUzQkU5IC8qIElEQlV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFFMzUxQzkxODBGMkNDQzAwRTUzQkU5IC8qIElEQlV0aWxpdGllcy5o
ICovOyB9OworCQk1MUUzNTFGNTE4MEY1Qzc1MDBFNTNCRTkgLyogV2ViSURCRmFjdG9yeUJhY2tl
bmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFF
MzUxRjExODBGNUM3NTAwRTUzQkU5IC8qIFdlYklEQkZhY3RvcnlCYWNrZW5kLmNwcCAqLzsgfTsK
KwkJNTFFMzUxRjYxODBGNUM3NTAwRTUzQkU5IC8qIFdlYklEQkZhY3RvcnlCYWNrZW5kLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUUzNTFGMjE4MEY1
Qzc1MDBFNTNCRTkgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQuaCAqLzsgfTsKKwkJNTFFMzUxRjcx
ODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUxRjMxODBGNUM3
NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3BwICovOyB9OworCQk1
MUUzNTFGODE4MEY1Qzc1MDBFNTNCRTkgLyogV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUxRjQx
ODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuaCAqLzsgfTsK
KwkJNTFFMzUxRkYxODBGNUQwRjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUUzNTFGQTE4MEY1RDBC
MDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLzsgfTsKKwkJNTFFMzUyMDAxODBGNUQw
RjAwRTUzQkU5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUUzNTFGRDE4MEY1RDBCMDBF
NTNCRTkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNTFF
MzUyMDIxODBGNUQxRTAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc01hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTM1MjAxMTgwRjVEMUUwMEU1
M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWMubW0gKi87IH07CisJCTUxRTM1MjA1MTgwRjVENEYw
MEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMDMxODBGNUQ0QjAwRTUzQkU5IC8qIERhdGFi
YXNlUHJvY2Vzc01haW4ubW0gKi87IH07CisJCTUxRTM1MjA5MTgwRjVENkIwMEU1M0JFOSAvKiBE
YXRhYmFzZVNlcnZpY2VFbnRyeVBvaW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMDgxODBGNUQ2QjAwRTUzQkU5IC8qIERhdGFiYXNlU2Vy
dmljZUVudHJ5UG9pbnQubW0gKi87IH07CisJCTUxRTM1MjBEMTgwRjVEQTAwMEU1M0JFOSAvKiBE
YXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMEExODBGNUQ5RDAwRTUzQkU5IC8qIERh
dGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5jcHAgKi87IH07CisJCTUxRTM1MjEwMTgw
RjYzRkIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFFMzUyMEUxODBGNjNGQjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNl
QmFja2VuZE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRTM1MjExMTgwRjYzRkIwMEU1
M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFMzUyMEYxODBGNjNG
QjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZE1lc3NhZ2VzLmgg
Ki87IH07CiAJCTUxRTNCNjdGMTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUUzQjY3RTE2RjI2NkIzMDA5OTY4REMgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICov
OyB9OwogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRl
bnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxRjA2MEUw
MTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERTE2NTQzMTc1MDBG
MzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9OwogCQk1MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKLQkJNTFGN0RDMTQxODBDQzRBRDAwMjEyQ0EzIC8qIERhdGFiYXNlUHJvY2Vzcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUY3REMxMjE4MEND
NEFEMDAyMTJDQTMgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLzsgfTsKLQkJNTFGN0RDMTUxODBD
QzRBRDAwMjEyQ0EzIC8qIERhdGFiYXNlUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGN0RDMTMxODBDQzRBRDAwMjEyQ0EzIC8qIERhdGFi
YXNlUHJvY2Vzcy5oICovOyB9OwotCQk1MUY3REMxNjE4MENDNEM3MDAyMTJDQTMgLyogRGF0YWJh
c2VTZXJ2aWNlRW50cnlQb2ludC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRjdEQzExMTgwQ0M0OTcwMDIxMkNBMyAvKiBEYXRhYmFzZVNlcnZpY2VF
bnRyeVBvaW50Lm1tICovOyB9OwogCQk1MUY3REM0MTE4MENDOTM2MDAyMTJDQTMgLyogWFBDU2Vy
dmljZU1haW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0gKi87IH07CiAJ
CTUxRjdEQzQzMTgwQ0M5MzYwMDIxMkNBMyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3
NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJNTFGN0RDNDQxODBD
QzkzNjAwMjEyQ0EzIC8qIFdlYktpdDIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdl
YktpdDIuZnJhbWV3b3JrICovOyB9OwpAQCAtMTgzOCw2ICsxODQ2LDExIEBACiAJCTRGNjAxNDMw
MTU1QzVBMzIwMDFGQkRFMCAvKiBCbG9ja2luZ1Jlc3BvbnNlTWFwLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2NraW5nUmVzcG9uc2VNYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTEwMDMxRjYxMzc5Q0FDQjAwQzhERkU0IC8qIFNlY0l0ZW1TaGltLmR5
bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmR5bGliIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gU2VjSXRlbVNo
aW0uZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxMDIxRTlC
MTJCMTY3ODgwMDVDMDMzQyAvKiBXZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTAzMkYxNjE4MEY3M0JCMDA5NjFCQjcg
LyogV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMDMyRjE3MTgwRjczQkIwMDk2MUJCNyAvKiBX
ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTUxMDMyRjFBMTgwRjc0RjEwMDk2MUJCNyAvKiBEYXRhYmFzZVRvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGF0YWJhc2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTAz
MkYxQjE4MEY3OTE3MDA5NjFCQjcgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERh
dGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMDMyRjFDMTgwRjc5MTcwMDk2MUJCNyAvKiBEYXRhYmFz
ZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHBhdGggPSBOZXR3b3JrL05ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUx
MDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg7
IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTA1QjBGMzE2MzA4NzJFMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg2MCw4ICsxODczLDYgQEAKIAkJNTEx
QjI0QTkxMzJFMDk3MjAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJY29uRGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTExRjhBNzcxMzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTZWNJdGVtU2hpbUxpYnJhcnku
aDsgcGF0aCA9IC4uLy4uL1dlYlByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltTGlicmFyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTFGOEE3ODEzOEI0NjA5MDBBOTVGNDQgLyogU2Vj
SXRlbVNoaW1MaWJyYXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gU2VjSXRlbVNoaW1MaWJyYXJ5Lm1tOyBwYXRoID0gLi4vLi4vV2ViUHJvY2Vzcy9tYWMvU2Vj
SXRlbVNoaW1MaWJyYXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MTFGOEVE
QjE4MDg4MTdEMDA0N0RBOTYgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV2ViSURCRmFjdG9yeUJhY2tlbmQuY3BwOyBwYXRoID0gRGF0YWJhc2VzL0luZGV4
ZWREQi9XZWJJREJGYWN0b3J5QmFja2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTUxMUY4RURDMTgwODgxN0QwMDQ3REE5NiAvKiBXZWJJREJGYWN0b3J5QmFja2VuZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXZWJJREJGYWN0b3J5QmFja2VuZC5oOyBwYXRoID0gRGF0YWJhc2VzL0lu
ZGV4ZWREQi9XZWJJREJGYWN0b3J5QmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTIxNzQ1RTE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVhYmxlUmVzb3VyY2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTIxNzQ1RjE2NEMyMEUzMDAzN0E1QzEg
LyogU2hhcmVhYmxlUmVzb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2hhcmVhYmxlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyMTc0
NjIxNjRDMjEzNzAwMzdBNUMxIC8qIFdlYlJlc291cmNlQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlQnVmZmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NzIsMTMgKzE4ODMsOCBAQAogCQk1MTI5MzVENjEyODhE
MTk0MDBBNEI2OTUgLyogV2ViQ29udGV4dE1lbnVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkNvbnRleHRNZW51SXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTI5MzVFMTEyODhEOTc4MDBBNEI2OTUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ29u
dGV4dE1lbnVDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTI5MzVFMjEyODhEOTc4MDBBNEI2OTUgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlQ29udGV4dE1lbnVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNTEyQTk3NTkxODBERkM4ODAwMzlBMTQ5IC8qIFdlYlRvRGF0YWJhc2VQcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBX
ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOyBwYXRoID0gRGF0YWJhc2VzL1dlYlRv
RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTUxMkE5NzVBMTgwREZDODgwMDM5QTE0OSAvKiBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViVG9EYXRhYmFzZVBy
b2Nlc3NDb25uZWN0aW9uLmg7IHBhdGggPSBEYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3ND
b25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMkE5NzVEMTgwRTAy
QTAwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGF0YWJhc2VQ
cm9jZXNzLm1lc3NhZ2VzLmluOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vz
cy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyQTk3NUUxODBF
MDMxNjAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJBOTc1RjE4MEUwMzE2MDAzOUExNDkgLyogRGF0YWJh
c2VQcm9jZXNzTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzTWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTEyQTk3NjIxODBFMDRENTAwMzlB
MTQ5IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
OyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMkE5NzYzMTgwRTA0RDUwMDM5QTE0
OSAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmg7IHBhdGggPSBE
YXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMkE5NzY2MTgwRTA1RDIwMDM5QTE0OSAvKiBEYXRhYmFz
ZVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbjsgcGF0aCA9IERhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyQTk3NjcxODBFMDlCODAwMzlBMTQ5
IC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyQTk3NjgxODBFMDlCODAw
MzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkxMyw4ICsxOTE5LDYgQEAKIAkJNTEyRjU4RjIxMkE4
OEE1NDAwNjI5NTMwIC8qIFdLQ3JlZGVudGlhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS0NyZWRlbnRpYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEy
RjU4RjMxMkE4OEE1NDAwNjI5NTMwIC8qIFdLUHJvdGVjdGlvblNwYWNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUHJvdGVjdGlvblNwYWNlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyRjU4RjQxMkE4OEE1NDAwNjI5NTMwIC8qIFdLUHJv
dGVjdGlvblNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJvdGVj
dGlvblNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMzBGMEUzMTgwQ0NC
OTEwMDYwMkMxOCAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gRGF0YWJhc2VQcm9jZXNzTWFpbi5tbTsgcGF0aCA9IERhdGFi
YXNlUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzc01h
aW4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMzBGMEU0MTgwQ0NCOTEwMDYw
MkMxOCAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IG5hbWUgPSBJbmZv
LnBsaXN0OyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nl
c3MvSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEzNjE4M0IxNjMx
MjZEQTAwQTk5RERFIC8qIENvbm5lY3Rpb25TdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDb25uZWN0aW9uU3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MTM2MTgzQzE2MzEyNkRBMDBBOTlEREUgLyogQ29ubmVjdGlvblN0YWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbm5lY3Rpb25TdGFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTNBMTYzQTE2MzA4OEY2MDA1RDdEMjIgLyogTmV0
d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5MzcsNyArMTk0MSw2IEBACiAJCTUxN0NG
MEUyMTYzQTQ4NkMwMEMyOTUwRSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b25NZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdERDVCQzE4MERB
N0QzMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwOyBwYXRoID0gRGF0
YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTE3REQ1QkQxODBEQTdEMzAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5Lmg7
IHBhdGggPSBEYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTE3REQ1QzExODBEQjdCNzAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vz
c01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IERhdGFiYXNl
UHJvY2Vzc01hYy5tbTsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzcy9tYWMvRGF0YWJhc2VQcm9jZXNz
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdERDVDNDE4MERDM0UxMDA4
MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbTsgcGF0aCA9IERh
dGFiYXNlcy9tYWMvRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxODBDNzFEMTgwQ0NBMzEwMEZEQTYxMiAvKiBjb20uYXBwbGUuV2ViS2l0
LkRhdGFiYXNlcy5EZXZlbG9wbWVudC54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbkluZGV4ID0gMDsg
cGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLkRldmVsb3BtZW50LnhwYzsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTE4MjlEQTMxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHA7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDgsMTQgKzIwMTEsMzEgQEAKIAkJNTFEMTMwNTcx
MzgyRjEwNTAwMzUxRUREIC8qIFdlYlByb2Nlc3NQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nlc3NQcm94eU1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFERDlGMjYxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFERDlGMjcxNjM2
N0RBMjAwMTU3OEU5IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUUzNTFDODE4
MEYyQ0NDMDBFNTNCRTkgLyogSURCVXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IElEQlV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUxRTM1MUM5MTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTUxRTM1MUYxMTgwRjVDNzUwMEU1M0JFOSAvKiBXZWJJREJGYWN0b3J5
QmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJREJG
YWN0b3J5QmFja2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MUYy
MTgwRjVDNzUwMEU1M0JFOSAvKiBXZWJJREJGYWN0b3J5QmFja2VuZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJREJGYWN0b3J5QmFja2VuZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MUUzNTFGMzE4MEY1Qzc1MDBFNTNCRTkgLyogV2ViUHJvY2Vzc0lE
QkRhdGFiYXNlQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTFFMzUxRjQxODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFz
ZUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUHJvY2Vzc0lE
QkRhdGFiYXNlQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUUzNTFG
QTE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IERhdGFiYXNlUHJvY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUx
RTM1MUZCMTgwRjVEMEIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGF0YWJhc2VQcm9jZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1
MUZDMTgwRjVEMEIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RGF0YWJhc2VQcm9jZXNzLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MUUzNTFGRDE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MUZFMTgwRjVEMEIwMEU1
M0JFOSAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUxRTM1MjAxMTgwRjVEMUUwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MjAzMTgwRjVENEIwMEU1
M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0
YWJhc2VQcm9jZXNzTWFpbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFFMzUy
MDQxODBGNUQ0QjAwRTUzQkU5IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxp
c3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MjA2MTgwRjVENTkwMEU1M0JF
OSAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MUUzNTIwNzE4MEY1RDYxMDBFNTNCRTkgLyogSW5mby5wbGlzdCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxp
c3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTFFMzUyMDgxODBGNUQ2QjAwRTUzQkU5IC8qIERhdGFiYXNlU2VydmljZUVudHJ5UG9pbnQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhYmFzZVNlcnZpY2VF
bnRyeVBvaW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUUzNTIwQTE4MEY1
RDlEMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MjBCMTgwRjVEOUQwMEU1M0JFOSAvKiBE
YXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YWJh
c2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxRTM1MjBDMTgwRjVEOUQwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFz
ZUJhY2tlbmQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNr
ZW5kLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUUzNTIwRTE4
MEY2M0ZCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFi
YXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRTM1MjBGMTgwRjYzRkIwMEU1M0JFOSAvKiBEYXRhYmFz
ZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRNZXNzYWdlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUUzQjY3RTE2RjI2NkIzMDA5OTY4REMg
LyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VM
b2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VM
b2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTUxRjdEQzBFMTgwQ0M0NkMwMDIxMkNBMyAvKiBJbmZvLnBsaXN0ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlz
dC54bWw7IG5hbWUgPSBJbmZvLnBsaXN0OyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0VudHJ5UG9p
bnQvbWFjL1hQQ1NlcnZpY2UvRGF0YWJhc2VTZXJ2aWNlL0luZm8ucGxpc3Q7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTUxRjdEQzEwMTgwQ0M0ODkwMDIxMkNBMyAvKiBJbmZvLnBsaXN0
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5w
bGlzdC54bWw7IG5hbWUgPSBJbmZvLnBsaXN0OyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0VudHJ5
UG9pbnQvbWFjL1hQQ1NlcnZpY2UvRGF0YWJhc2VTZXJ2aWNlLkRldmVsb3BtZW50L0luZm8ucGxp
c3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxRjdEQzExMTgwQ0M0OTcwMDIxMkNB
MyAvKiBEYXRhYmFzZVNlcnZpY2VFbnRyeVBvaW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
RGF0YWJhc2VTZXJ2aWNlRW50cnlQb2ludC5tbTsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzcy9FbnRy
eVBvaW50L21hYy9YUENTZXJ2aWNlL0RhdGFiYXNlU2VydmljZUVudHJ5UG9pbnQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxRjdEQzEyMTgwQ0M0QUQwMDIxMkNBMyAvKiBEYXRh
YmFzZVByb2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGF0
YWJhc2VQcm9jZXNzLmNwcDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3Mu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUY3REMxMzE4MENDNEFEMDAyMTJD
QTMgLyogRGF0YWJhc2VQcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERhdGFiYXNlUHJvY2Vzcy5oOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vz
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUY3REM0QTE4MENDOTM2MDAyMTJD
QTMgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmNmYnVuZGxlOyBpbmNsdWRlSW5J
bmRleCA9IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGM7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRkExRTI4MTgwQ0NBREUwMEM0NEJFOSAv
KiBEYXRhYmFzZVByb2Nlc3MuYXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBh
dGggPSBEYXRhYmFzZVByb2Nlc3MuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OwogCQk1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRl
bnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVET01XaW5k
b3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNjgsNiArMzE4
OCw3IEBACiAJCTFBQURERjRCMTBEODJBRjAwMEQzRDYzRCAvKiBTaGFyZWQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTUxRTM1MUMyMTgwRjJDODUwMEU1
M0JFOSAvKiBEYXRhYmFzZXMgKi8sCiAJCQkJQkNEREIzMTQxMjRFQkNFRjAwNDhEMTNDIC8qIEFQ
SSAqLywKIAkJCQk1MThFOEVGMTE2QjIwOEYwMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb24gKi8s
CiAJCQkJMUFBRjBDNDcxMkIxNjMyODAwOEU0OUUyIC8qIGNmICovLApAQCAtMzYyMywxMCArMzY0
NCwxMiBAQAogCQk1MTFGOEVEQTE4MDg4MTY2MDA0N0RBOTYgLyogSW5kZXhlZERCICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1MTFGOEVEQjE4MDg4MTdE
MDA0N0RBOTYgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQuY3BwICovLAotCQkJCTUxMUY4RURDMTgw
ODgxN0QwMDQ3REE5NiAvKiBXZWJJREJGYWN0b3J5QmFja2VuZC5oICovLAorCQkJCTUxRTM1MUYx
MTgwRjVDNzUwMEU1M0JFOSAvKiBXZWJJREJGYWN0b3J5QmFja2VuZC5jcHAgKi8sCisJCQkJNTFF
MzUxRjIxODBGNUM3NTAwRTUzQkU5IC8qIFdlYklEQkZhY3RvcnlCYWNrZW5kLmggKi8sCisJCQkJ
NTFFMzUxRjMxODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQu
Y3BwICovLAorCQkJCTUxRTM1MUY0MTgwRjVDNzUwMEU1M0JFOSAvKiBXZWJQcm9jZXNzSURCRGF0
YWJhc2VCYWNrZW5kLmggKi8sCiAJCQkpOwotCQkJbmFtZSA9IEluZGV4ZWREQjsKKwkJCXBhdGgg
PSBJbmRleGVkREI7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQk1MTIzQ0Yx
ODEzM0QyNUU2MDA1NkY4MDAgLyogY2cgKi8gPSB7CkBAIC0zNjQyLDEwICszNjY1LDEwIEBACiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxMUY4RURBMTgwODgxNjYw
MDQ3REE5NiAvKiBJbmRleGVkREIgKi8sCi0JCQkJNTEyQTk3NTkxODBERkM4ODAwMzlBMTQ5IC8q
IFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8sCi0JCQkJNTEyQTk3NUExODBE
RkM4ODAwMzlBMTQ5IC8qIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5oICovLAorCQkJ
CTUxMDMyRjE2MTgwRjczQkIwMDk2MUJCNyAvKiBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwICovLAorCQkJCTUxMDMyRjE3MTgwRjczQkIwMDk2MUJCNyAvKiBXZWJUb0RhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLywKIAkJCSk7Ci0JCQluYW1lID0gRGF0YWJhc2VzOworCQkJ
cGF0aCA9IERhdGFiYXNlczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTUx
MkUzNTJBMTMwQjU1OTkwMEFCRDE5QSAvKiBBcHBsaWNhdGlvbkNhY2hlICovID0gewpAQCAtMzY3
NiwxMCArMzY5OSwxMSBAQAogCQk1MTMwRjBFMjE4MENDQjNCMDA2MDJDMTggLyogTGVnYWN5UHJv
Y2VzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTEz
MEYwRTQxODBDQ0I5MTAwNjAyQzE4IC8qIEluZm8ucGxpc3QgKi8sCi0JCQkJNTEzMEYwRTMxODBD
Q0I5MTAwNjAyQzE4IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gKi8sCisJCQkJNTFFMzUyMDMx
ODBGNUQ0QjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gKi8sCisJCQkJNTFFMzUy
MDQxODBGNUQ0QjAwRTUzQkU5IC8qIEluZm8ucGxpc3QgKi8sCiAJCQkpOwogCQkJbmFtZSA9IExl
Z2FjeVByb2Nlc3M7CisJCQlwYXRoID0gbWFjL0xlZ2FjeVByb2Nlc3M7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwogCQl9OwogCQk1MTYzMTk5MzE2Mjg5ODBFMDBFMjJGMDAgLyogbWFjICov
ID0gewpAQCAtMzcwNCw5ICszNzI4LDkgQEAKIAkJNTE3REQ1QzAxODBEQjdBQTAwODE2NjBCIC8q
IG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTE3
REQ1QzExODBEQjdCNzAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc01hYy5tbSAqLywKKwkJCQk1
MUUzNTIwMTE4MEY1RDFFMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzTWFjLm1tICovLAogCQkJ
KTsKLQkJCW5hbWUgPSBtYWM7CisJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKIAkJfTsKIAkJNTE3REQ1QzMxODBEQzNENjAwODE2NjBCIC8qIG1hYyAqLyA9IHsKQEAg
LTM3OTIsMTggKzM4MTYsNDcgQEAKIAkJCW5hbWUgPSBjZjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07CisJCTUxRTM1MUMyMTgwRjJDODUwMEU1M0JFOSAvKiBEYXRhYmFzZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTUxRTM1MUMzMTgw
RjJDOEEwMEU1M0JFOSAvKiBJbmRleGVkREIgKi8sCisJCQkpOworCQkJcGF0aCA9IERhdGFiYXNl
czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTUxRTM1MUMzMTgwRjJDOEEw
MEU1M0JFOSAvKiBJbmRleGVkREIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTUxRTM1MUM4MTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMuY3Bw
ICovLAorCQkJCTUxRTM1MUM5MTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gSW5kZXhlZERCOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJNTFFMzUxRjkxODBGNUNGNjAwRTUzQkU5IC8qIEluZGV4ZWREQiAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTFFMzUyMEExODBGNUQ5RDAw
RTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5jcHAgKi8sCisJCQkJ
NTFFMzUyMEIxODBGNUQ5RDAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzc0lEQkRhdGFiYXNlQmFj
a2VuZC5oICovLAorCQkJCTUxRTM1MjBDMTgwRjVEOUQwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nl
c3NJREJEYXRhYmFzZUJhY2tlbmQubWVzc2FnZXMuaW4gKi8sCisJCQkpOworCQkJcGF0aCA9IElu
ZGV4ZWREQjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTUxRjdEQzBBMTgw
Q0M0MTEwMDIxMkNBMyAvKiBEYXRhYmFzZVByb2Nlc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxRjdEQzBCMTgwQ0M0MjIwMDIxMkNBMyAvKiBFbnRy
eVBvaW50ICovLAorCQkJCTUxRTM1MUY5MTgwRjVDRjYwMEU1M0JFOSAvKiBJbmRleGVkREIgKi8s
CiAJCQkJNTE3REQ1QzAxODBEQjdBQTAwODE2NjBCIC8qIG1hYyAqLywKLQkJCQk1MUY3REMxMjE4
MENDNEFEMDAyMTJDQTMgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLywKLQkJCQk1MUY3REMxMzE4
MENDNEFEMDAyMTJDQTMgLyogRGF0YWJhc2VQcm9jZXNzLmggKi8sCi0JCQkJNTEyQTk3NUQxODBF
MDJBMDAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbiAqLywKLQkJCQk1MTJB
OTc2MjE4MEUwNEQ1MDAzOUExNDkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNw
cCAqLywKLQkJCQk1MTJBOTc2MzE4MEUwNEQ1MDAzOUExNDkgLyogRGF0YWJhc2VUb1dlYlByb2Nl
c3NDb25uZWN0aW9uLmggKi8sCi0JCQkpOwotCQkJbmFtZSA9IERhdGFiYXNlUHJvY2VzczsKKwkJ
CQk1MUUzNTFGQTE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmNwcCAqLywKKwkJ
CQk1MUUzNTFGQjE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmggKi8sCisJCQkJ
NTFFMzUxRkMxODBGNUQwQjAwRTUzQkU5IC8qIERhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbiAq
LywKKwkJCQk1MUUzNTFGRDE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uLmNwcCAqLywKKwkJCQk1MUUzNTFGRTE4MEY1RDBCMDBFNTNCRTkgLyogRGF0YWJh
c2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmggKi8sCisJCQkJNTEwMzJGMUExODBGNzRGMTAwOTYx
QkI3IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKKwkJ
CSk7CisJCQlwYXRoID0gRGF0YWJhc2VQcm9jZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKIAkJfTsKIAkJNTFGN0RDMEIxODBDQzQyMjAwMjEyQ0EzIC8qIEVudHJ5UG9pbnQgKi8gPSB7
CkBAIC0zODEyLDcgKzM4NjUsNyBAQAogCQkJCTUxMzBGMEUyMTgwQ0NCM0IwMDYwMkMxOCAvKiBM
ZWdhY3lQcm9jZXNzICovLAogCQkJCTUxRjdEQzBDMTgwQ0M0MzEwMDIxMkNBMyAvKiBYUENTZXJ2
aWNlICovLAogCQkJKTsKLQkJCW5hbWUgPSBFbnRyeVBvaW50OworCQkJcGF0aCA9IEVudHJ5UG9p
bnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQk1MUY3REMwQzE4MENDNDMx
MDAyMTJDQTMgLyogWFBDU2VydmljZSAqLyA9IHsKQEAgLTM4MjAsMjUgKzM4NzMsMjYgQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTUxRjdEQzBGMTgwQ0M0NkYwMDIxMkNBMyAvKiBEYXRhYmFzZVNl
cnZpY2UuRGV2ZWxvcG1lbnQgKi8sCiAJCQkJNTFGN0RDMEQxODBDQzQzODAwMjEyQ0EzIC8qIERh
dGFiYXNlU2VydmljZSAqLywKLQkJCQk1MUY3REMxMTE4MENDNDk3MDAyMTJDQTMgLyogRGF0YWJh
c2VTZXJ2aWNlRW50cnlQb2ludC5tbSAqLywKKwkJCQk1MUUzNTIwODE4MEY1RDZCMDBFNTNCRTkg
LyogRGF0YWJhc2VTZXJ2aWNlRW50cnlQb2ludC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gWFBD
U2VydmljZTsKKwkJCXBhdGggPSBtYWMvWFBDU2VydmljZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07CiAJCTUxRjdEQzBEMTgwQ0M0MzgwMDIxMkNBMyAvKiBEYXRhYmFzZVNlcnZp
Y2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTUxRjdE
QzBFMTgwQ0M0NkMwMDIxMkNBMyAvKiBJbmZvLnBsaXN0ICovLAorCQkJCTUxRTM1MjA3MTgwRjVE
NjEwMEU1M0JFOSAvKiBJbmZvLnBsaXN0ICovLAogCQkJKTsKLQkJCW5hbWUgPSBEYXRhYmFzZVNl
cnZpY2U7CisJCQlwYXRoID0gRGF0YWJhc2VTZXJ2aWNlOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKIAkJfTsKIAkJNTFGN0RDMEYxODBDQzQ2RjAwMjEyQ0EzIC8qIERhdGFiYXNlU2Vydmlj
ZS5EZXZlbG9wbWVudCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
Ci0JCQkJNTFGN0RDMTAxODBDQzQ4OTAwMjEyQ0EzIC8qIEluZm8ucGxpc3QgKi8sCisJCQkJNTFF
MzUyMDYxODBGNUQ1OTAwRTUzQkU5IC8qIEluZm8ucGxpc3QgKi8sCiAJCQkpOwotCQkJbmFtZSA9
IERhdGFiYXNlU2VydmljZS5EZXZlbG9wbWVudDsKKwkJCXBhdGggPSBEYXRhYmFzZVNlcnZpY2Uu
RGV2ZWxvcG1lbnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQk1MUZCQjlD
MTEzMkUwNzkyMDBGMzI3QjQgLyogSWNvbkRhdGFiYXNlICovID0gewpAQCAtNDk1Nyw2ICs1MDEx
LDggQEAKIAkJQzBDRTcyOUQxMjQ3RTcxRDAwQkMwRUM0IC8qIERlcml2ZWQgU291cmNlcyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTEwMzJGMUIxODBG
NzkxNzAwOTYxQkI3IC8qIERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCisJCQkJNTEwMzJGMUMxODBGNzkxNzAwOTYxQkI3IC8qIERhdGFiYXNlVG9X
ZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi8sCiAJCQkJNTEyRjU4QTAxMkE4ODNBRDAw
NjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJ
CQkJNTEyRjU4QTExMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3Nh
Z2VzLmggKi8sCiAJCQkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJL
aXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8sCkBAIC00OTY1LDYgKzUwMjEsOCBAQAogCQkJCTI5ODRG
NTg3MTY0QkEwOTUwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oICov
LAogCQkJCTI5ODRGNTdBMTY0QjkxNUYwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMjk4NEY1N0IxNjRCOTE1RjAwNEJDMEM2
IC8qIEN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQk1MUUzNTIw
RTE4MEY2M0ZCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUUzNTIwRjE4MEY2M0ZCMDBFNTNCRTkgLyogRGF0
YWJhc2VQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kTWVzc2FnZXMuaCAqLywKIAkJCQk1MTJBOTc1
RTE4MEUwMzE2MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQk1MTJBOTc1RjE4MEUwMzE2MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzTWVzc2Fn
ZXMuaCAqLywKIAkJCQk1MTJBOTc2NzE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNz
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtNTIwMSw2ICs1MjU5LDcgQEAKIAkJCQlF
MTcwODc3MTE2RDZDRkU1MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJhdGlvbkRhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxNzA4NzZDMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEY2MDE0MzIxNTVDNUFBMjAwMUZCREUwIC8qIEJsb2Nr
aW5nUmVzcG9uc2VNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRTM1MUNCMTgwRjJDQ0MwMEU1
M0JFOSAvKiBJREJVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA2NUZBMTI1OTM0
NEUwMEU3MTI3OCAvKiBDYWNoZU1vZGVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEyRTUxRDEy
RTRDMDVFMDBCQzQ5NjYgLyogQ0dVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkQ5
NTZGMTI4NDg1NjQwMDFFQjk2MiAvKiBDaGlsZFByb2Nlc3MuaCBpbiBIZWFkZXJzICovLApAQCAt
NTMyMiw2ICs1MzgxLDcgQEAKIAkJCQkxQTJEODQzQTEyN0Y2NUQ1MDAxRUI5NjIgLyogTlBPYmpl
Y3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDgyQTcx
MjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
MkQ4MkE5MTI3RjRFQUIwMDFFQjk2MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTFFMzUxRjgxODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJEYXRhYmFz
ZUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjE2MUIwMTFGMzc2NjQwMDhBRDBGNSAv
KiBOUFJ1bnRpbWVPYmplY3RNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEQTA0OUI4MTgwQ0NE
MEEwMEFBRkE5RSAvKiBHcmFwaGljc0xheWVyQ0FSZW1vdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJEQTA0OUI0MTgwQ0NDRDMwMEFBRkE5RSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaCBpbiBI
ZWFkZXJzICovLApAQCAtNTQ5MCw3ICs1NTUwLDYgQEAKIAkJCQk1MTFCMjRBQjEzMkUwOTcyMDAw
NjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgzNDU5MzEz
NDUzMkU5MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MUQwMkY2QTEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNlTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjdEQzE1MTgwQ0M0QUQwMDIxMkNBMyAvKiBEYXRhYmFz
ZVByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMUIyNEE3MTMyRTA5NTcwMDA2NUEwQyAv
KiBXZWJJY29uRGF0YWJhc2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJGNkMxMzJF
QzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQ0Y2QUJEMTJDOTFFRjkwMDhGOUMzNSAvKiBXZWJJbWFnZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC01NTAwLDYgKzU1NTksNyBAQAogCQkJCTFDOEUyQTM2MTI3Nzg1MjQwMEJDN0JE
MCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4RTI4MzQx
Mjc1RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQ0E4Qjk0NjEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNTEwMzJGMUUxODBGNzkxNzAwOTYxQkI3IC8qIERhdGFiYXNl
VG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUE5
RTEwNjEzMTVDQ0ZDMDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM1OTU0ODkxNUM3ODY4NTAwRkQxRTNFIC8qIFdlYktpdDIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDQjYzNDc4MTE2QkYxMDYwMDYwMzIxNSAvKiBXZWJLaXQyX0MuaCBp
biBIZWFkZXJzICovLApAQCAtNTU0NywxNyArNTYwNywxOCBAQAogCQkJCUJDMzA2ODI0MTI1QTZC
OTQwMEU3MTI3OCAvKiBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzMwNjZCRjEyNUE0NDIxMDBFNzEyNzggLyogV2ViUHJvY2Vzc01lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkRENTEwRjQzODlGMDA1OEMxNUEgLyogV2ViUHJvY2Vz
c1Byb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTAzMkYxOTE4MEY3M0JCMDA5NjFCQjcgLyog
V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VF
N0FEMTEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQcm9jZXNzU3VwcGxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OUQxMkE4ODM4ODAwNjI5NTMwIC8qIFdl
YlByb3RlY3Rpb25TcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0MDQxNTBDMzUwNjAw
RTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUUzNTFGNjE4
MEY1Qzc1MDBFNTNCRTkgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3NjA4ODFGMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxMjE3NDY1MTY0QzIxMzcwMDM3QTVDMSAvKiBXZWJSZXNvdXJjZUJ1ZmZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzMzNjc2MzAxMzBDOTk5ODAwNkM5REUyIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzM2NzY1NjEzMEM5RUNB
MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzMzNjc2MzYxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMzY3NjU4MTMwQzlFQ0IwMDZDOURFMiAv
KiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxMkE5NzY1MTgwRTA0RDUwMDM5QTE0OSAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEFGRkJBMTY1NDIwNDgwMDFCQTA1RSAvKiBX
ZWJSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMDYwRTAxNjU0MzE3RjAw
RjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUQzQjk0ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFk
ZXJzICovLApAQCAtNTU5NSw2ICs1NjU2LDcgQEAKIAkJCQlCQ0QyNUYxNzExRDZCREUxMDAxNjlC
MEUgLyogV0tCdW5kbGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGMDQ5RTYxMUZFMjBG
NjAwRjg2QTU4IC8qIFdLQnVuZGxlRnJhbWVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzQ5ODYyRjEyNEQxOEMxMDBEODM0RTEgLyogV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1MUUzNTIxMTE4MEY2M0ZCMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNz
SURCRGF0YWJhc2VCYWNrZW5kTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUYy
MTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUluaXRpYWxpemUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM3MDQzQ0MxMkY3NUVFMDAwNjQ3MkI5IC8qIFdLQnVuZGxlTmF2aWdh
dGlvbkFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC01NjI5LDcgKzU2OTEsNiBAQAogCQkJCUJD
NDA3NUZBMTI0RkYwMjcwMDY4RjIwQSAvKiBXS0RpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzAxN0QwOTE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01FbGVtZW50LmggaW4g
SGVhZGVycyAqLywKLQkJCQk1MTJBOTc1QzE4MERGQzg4MDAzOUExNDkgLyogV2ViVG9EYXRhYmFz
ZVByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAxN0QwQjE2MjYwRkY0
MDA3MDU0RjUgLyogV0tET01JbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDE3RDBE
MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUQy
NEMyMTZDRDcwNkQwMDdENTQ2MSAvKiBXS0RPTU5vZGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywK
QEAgLTY0NDQsMTEgKzY1MDUsMTEgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwog
CQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTUxRTM1
MjAwMTgwRjVEMEYwMEU1M0JFOSAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTdENzkyRDYxNzY3Q0I2RTAwODgxQ0JFIC8qIEFjdGl2aXR5
QXNzZXJ0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVENTE4NDU1MTNCQ0Y5Q0MwMEM3RkY0
QSAvKiBBUElDbGllbnRUcmFpdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjYzNDAzRjkxNDkx
MEQ1NzAwMTA3MEI1IC8qIEFQSU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTNENjEw
NTEzQTdGMDNBMDBGOTVENEUgLyogQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJNTExRjhFREQxODA4ODE4NTAwNDdEQTk2IC8qIFdlYklEQkZhY3RvcnlCYWNrZW5kLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBQUYwQzRCMTJCMTYzMzQwMDhFNDlFMiAvKiBBcmd1bWVudENv
ZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzlGRDlGMTM0RDM4MjUwMDE1Qjg4MyAv
KiBBcmd1bWVudENvZGVyc01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMDMyREE1MTBGNDM3
RDEwMDU4QzE1QSAvKiBBcmd1bWVudERlY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02NTY0
LDEwICs2NjI1LDExIEBACiAJCQkJMUFBNTg4OTMxMUVFNzA0MDAwNjFCODgyIC8qIE5ldHNjYXBl
UGx1Z2luU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzk4Qzc5MTZFNjgxODgwMDI0
MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxM0Ex
NjRDMTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MUUzNTIwMjE4MEY1RDFFMDBFNTNCRTkgLyogRGF0YWJhc2VQ
cm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFERDlGMjgxNjM2N0RBMjAwMTU3OEU5
IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxNzk1NTY4MTYyODc2Q0YwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vz
cy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTJBOTc2NDE4MEUwNEQ1MDAzOUExNDkgLyogRGF0
YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODNE
REVDMTYzMEJERkMwMDhCRTVDNyAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFFMzUxRjcxODBGNUM3NTAwRTUzQkU5IC8qIFdlYlByb2Nlc3NJREJE
YXRhYmFzZUJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3Q0YwRTMxNjNBNDg2QzAw
QzI5NTBFIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTc5NTU3MDE2Mjg3N0NGMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3OTU1NjcxNjI4
NzZDQjAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC02
NTk5LDYgKzY2NjEsNyBAQAogCQkJCUJDOEFDQTE0MTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2Jq
ZWN0R3JhcGgubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0ExNjE2NjcwRDg5MDA0QzE5NDEg
LyogT2JqQ09iamVjdEdyYXBoQ29kZXJzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDRjY3MzMx
MkM3RjE1QzAwOEY5QzM1IC8qIE9yaWdpbkFuZERhdGFiYXNlcy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1MUUzNTFGNTE4MEY1Qzc1MDBFNTNCRTkgLyogV2ViSURCRmFjdG9yeUJhY2tlbmQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzODc0MzQxNzJGNTYxNTAwMUJEODhBIC8qIFBhZ2VCYW5u
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M2RDM3RkMxNzJGNTU1RjAwOUQyODQ3IC8qIFBh
Z2VCYW5uZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUI1MTExMkY2MTkyMDAzMzdC
QUIgLyogUGFnZUNsaWVudEltcGwubW0gaW4gU291cmNlcyAqLywKQEAgLTY2MjQsNiArNjY4Nyw3
IEBACiAJCQkJMUEzRDYxMDExM0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwNDM5NzcxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblBy
b2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwRUM5MDcxMjRDMEFCODAwN0VGNEE1IC8q
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRTM1MjBE
MTgwRjVEQTAwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwRUM5MTAxMjRDMEFGNTAwN0VGNEE1IC8qIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTc4NjVCOTE2
Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMkJCNkQwMTQxMTdCNEQwMDBGMzVENCAv
KiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTY2ODAsNiArNjc0NCw3IEBACiAJCQkJMUExM0JFQjMxNjM1QTlDODAwRjE5QzAzIC8q
IFN0cmluZ1JlZmVyZW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTZCRDg1RTE1MDE5QkMz
MDA3MUY0MjQgLyogU3RyaW5nVXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMVpaNDE3
RUYxMkMwMEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxldGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1MUUzNTFGRjE4MEY1RDBGMDBFNTNCRTkgLyogRGF0YWJhc2VQcm9jZXNzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBQTQxN0VGMTJDMDBEODcwMDJCRTY3QiAvKiBUZXh0Q2hl
Y2tlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQUYyNjM4MTQ2ODdDMzkwMDRBMUU4QSAv
KiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFB
RjA1RDg2MTQ2ODgzNDgwMDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVBy
b3h5Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC02Njg4LDYgKzY3NTMsNyBAQAogCQkJCTFBMEYyOUNC
MTIwQjM3MTYwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1RhYmxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUNFREExMkUyMTUyQ0QxQUUwMEQ5RTA4RCAvKiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRTM1MkUxMzBCNTVBRjAwQUJEMTlBIC8qIFdlYkFw
cGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRTM1MjA1MTgw
RjVENEYwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NNYWluLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEyRTM1NkExMzBCNTdGMDAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkUzNTI0MTMwQjU1MDYw
MEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxMkUzNUY4MTMwQjY0MkUwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjcyMyw2
ICs2Nzg5LDcgQEAKIAkJCQk1MUFDQkJBMTEyN0E4RjJDMDBEMjAzQjkgLyogV2ViQ29udGV4dE1l
bnVQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRUU3RDBEMTI4NDZGNjkwMDk4MjdE
QSAvKiBXZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMz
MDkzNDRGMTMxNUI5NEQwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxRTM1MjEwMTgwRjYzRkIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJE
YXRhYmFzZUJhY2tlbmRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjZB
OTA4MTMxMzNDMjA1MTAwODJDM0Y0IC8qIFdlYkNvb2tpZU1hbmFnZXJNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzA5MzQ1NTEzMTVCOTc1MDA5
N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjcz
NCw2ICs2ODAxLDcgQEAKIAkJCQk1MTJGNTg5QTEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViQ3JlZGVu
dGlhbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNkEyNUZEQzEyQURDNkNDMDBEQzQwQ0MgLyog
V2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY2MkE3NkI2MTJCMUIy
NUYwMDA1RjFCNiAvKiBXZWJEYXRhYmFzZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFFMzUyMDkxODBGNUQ2QjAwRTUzQkU5IC8qIERhdGFiYXNlU2Vydmlj
ZUVudHJ5UG9pbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNjJBNzY1QzEyQjFBQkMzMDAwNUYx
QjYgLyogV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNB
QzExMjAxMkM5MkMxRjAwQjA4RUVFIC8qIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5Q2xpZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUY2MkE3NkI4MTJCMUIyNUYwMDA1RjFCNiAvKiBXZWJEYXRh
YmFzZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTY4
MTYsNyArNjg4NCw2IEBACiAJCQkJQkM3QjYyMTYxMkE0MjE5QTAwRDE3NEE0IC8qIFdlYlBhZ2VH
cm91cFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5RDU1REYxMTYxQkY5RjEwMDMxQTJF
MyAvKiBXZWJQYWdlR3JvdXBQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzk2M0Q2RTExM0REMUE1MDA1NzRCRTIgLyogV2ViUGFnZU1hYy5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTUxMkE5NzVCMTgwREZDODgwMDM5QTE0OSAvKiBXZWJUb0RhdGFiYXNlUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzBDRTcyQTAxMjQ3RTcxRDAwQkMw
RUM0IC8qIFdlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMx
MTFCMEYxMTJGNUU0RjAwMzM3QkFCIC8qIFdlYlBhZ2VQcm94eS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MUIzMDA1MTEyNTI5RDBFMDAwQjVDQTAgLyogV2ViUGFnZVByb3h5Q0YuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC02ODQyLDYgKzY5MDksNyBAQAogCQkJCUJDMzA2NUM0MTI1OTJGODkwMEU3
MTI3OCAvKiBXZWJQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMzMDY2QkUxMjVB
NDQyMTAwRTcxMjc4IC8qIFdlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkMxMTFCMTExMTJGNUU0RjAwMzM3QkFCIC8qIFdlYlByb2Nlc3NQcm94eS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MTAzMkYxODE4MEY3M0JCMDA5NjFCQjcgLyogV2ViVG9EYXRh
YmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRDEzMDU4MTM4
MkYxMDUwMDM1MUVERCAvKiBXZWJQcm9jZXNzUHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0VFN0FEMDEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1ODlDMTJBODgzODgwMDYyOTUzMCAvKiBX
ZWJQcm90ZWN0aW9uU3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02ODcxLDYgKzY5MzksNyBA
QAogCQkJCTUxMkUzNEU0MTMwQjREMDUwMEFCRDE5QSAvKiBXS0FwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUYzMTI0RkYwMjcwMDY4RjIwQSAvKiBX
S0FycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEY1MTJBODhBNTQwMDYyOTUzMCAv
KiBXS0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRTM1
MUNBMTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEyRjU4RjcxMkE4OEE1NDAwNjI5NTMwIC8qIFdLQXV0aGVudGljYXRpb25EZWNpc2lvbkxp
c3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjQ2QzFBMTFERDM5OUYwMDY0NTVCMCAv
KiBXS0JhY2tGb3J3YXJkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzY0NkMxQzExREQz
OTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtNjkwNCw3ICs2OTczLDYgQEAKIAkJCQk1MTJGNThGOTEyQTg4QTU0MDA2Mjk1MzAgLyogV0tD
cmVkZW50aWFsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUY3MTI0RkYwMjcwMDY4RjIw
QSAvKiBXS0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjYyQTc2NjExMkIxQUJFRDAwMDVG
MUI2IC8qIFdLRGF0YWJhc2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxN0RENUMy
MTgwREI3QjcwMDgxNjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCQlCQzQwNzVGOTEyNEZGMDI3MDA2OEYyMEEgLyogV0tEaWN0aW9uYXJ5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDMDE3RDA4MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMTdEMEExNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRWxl
bWVudC5tbSBpbiBTb3VyY2VzICovLApAQCAtNjkzMCwxMyArNjk5OCwxMyBAQAogCQkJCUI2MkU3
MzEwMTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTExMEFFMEMxMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMjNDRjFCMTMzRDI2MEEwMDU2RjgwMCAvKiBXS0ljb25EYXRhYmFz
ZUNHLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMDMyRjFEMTgwRjc5MTcwMDk2MUJCNyAvKiBE
YXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNDRjZBQzIxMkM5MUYzNDAwOEY5QzM1IC8qIFdLSW1hZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkNDRjZBQzkxMkM5MUY1OTAwOEY5QzM1IC8qIFdLSW1hZ2VDRy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQzhFMjkzQTEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNwZWN0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBOUUxMEExMzE1Q0QxODAwOUU3MDMxIC8qIFdL
S2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzM0QzQTNCNTEz
Mzk2MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQwNzVGRDEyNEZGMDI3MDA2OEYyMEEgLyogV0tNdXRhYmxlQXJyYXkuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTFGN0RDMTYxODBDQzRDNzAwMjEyQ0EzIC8qIERhdGFiYXNlU2Vydmlj
ZUVudHJ5UG9pbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzVGRjEyNEZGMDI3MDA2OEYy
MEEgLyogV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Y2OUZB
QTExNzZEMUNCMDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMThCRTE3NzE0NzQzRTYwMDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC02OTUwLDcgKzcwMTgsNiBAQAogCQkJCTUxRkNCMTg4MTdCQkZFMDMwMDM5
NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNENTk3RDYxMTJCNTZEQzAwRUM4QzIzIC8qIFdLUGFnZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzdCNjMzODEyQTQ1QUJBMDBEMTc0QTQgLyogV0tQYWdlR3JvdXAuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTEzMEYwRTUxODBDQ0I5MTAwNjAyQzE4IC8qIERhdGFiYXNlUHJvY2Vz
c01haW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxN0I3RDEzODFGMTE3MDAxMkE2NDEgLyog
V0tQYWdlUHJpdmF0ZU1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzEzNUFBODE3M0IwQkNB
MDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QUM4NkZGMzEzMEI0NkQzMDAyQzEyNTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC02OTU5LDcgKzcwMjYsNiBAQAogCQkJCUJDQkFBQ0VDMTQ1MjI1RTMw
MDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEZC
MTJBODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rpb25TcGFjZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzNzk0ODQwODE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXllci5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk1MUY3REMxNDE4MENDNEFEMDAyMTJDQTMgLyogRGF0YWJhc2VQcm9jZXNz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4ODIyMTUwNDE0RjcwMEZDODJDNyAvKiBXS1Jl
bmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzYzQTEzMEM5OURDMDA2QzlE
RTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNjM0
NDQ1QzEyQTg4NUU5MDAwNjEyRDggLyogV0tTZWN1cml0eU9yaWdpbi5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4
ZWREQi9XZWJJREJGYWN0b3J5QmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCRmFjdG9yeUJhY2tlbmQuY3BwCmluZGV4IDA4OGUw
NmYuLjcwODFhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJh
c2VzL0luZGV4ZWREQi9XZWJJREJGYWN0b3J5QmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmNw
cApAQCAtMjcsMTUgKzI3LDMyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
SURCRmFjdG9yeUJhY2tlbmQuaCIKIAorI2luY2x1ZGUgIklEQlV0aWxpdGllcy5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgPFdlYkNvcmUvSURCQ2FsbGJhY2tzLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9JREJEYXRhYmFzZUNhbGxiYWNrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
I2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3R5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxX
ZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kPj4gSURCRGF0YWJhc2VCYWNrZW5kTWFwOworCitz
dGF0aWMgSURCRGF0YWJhc2VCYWNrZW5kTWFwJiBzaGFyZWREYXRhYmFzZUJhY2tlbmRNYXAoKQor
eworICAgIERFRklORV9TVEFUSUNfTE9DQUwoSURCRGF0YWJhc2VCYWNrZW5kTWFwLCBkYXRhYmFz
ZUJhY2tlbmRNYXAsICgpKTsKKyAgICByZXR1cm4gZGF0YWJhc2VCYWNrZW5kTWFwOworfQorCiBX
ZWJJREJGYWN0b3J5QmFja2VuZDo6V2ViSURCRmFjdG9yeUJhY2tlbmQoKQogewogfQpAQCAtNTEs
MTUgKzY4LDI1IEBAIHZvaWQgV2ViSURCRmFjdG9yeUJhY2tlbmQ6OmdldERhdGFiYXNlTmFtZXMo
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAotdm9pZCBXZWJJREJGYWN0b3J5QmFja2VuZDo6b3Blbihjb25zdCBTdHJpbmcmLCBp
bnQ2NF90LCBpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VDYWxsYmFja3M+LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYklEQkZhY3RvcnlCYWNrZW5k
OjpvcGVuKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLCBpbnQ2NF90IHZlcnNpb24sIGludDY0
X3QgdHJhbnNhY3Rpb25JZCwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFz
c1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gZGF0YWJhc2VDYWxsYmFja3MsIFBhc3NSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IHBycFNlY3VyaXR5T3JpZ2luLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgY29uc3QgU3RyaW5nJikKIHsKLSAgICAvLyBGSVhNRTogQWNjZXNzIHRoZSBjb25uZWN0
aW9uIHRvIHRoZSBEYXRhYmFzZVByb2Nlc3MgdG8gbWFrZSBzdXJlIGl0IGhhcyBiZWVuIGNyZWF0
ZWQgdG8gYXNzaXN0Ci0gICAgLy8gd2l0aCBkZXZlbG9wbWVudCBvZiBkYXRhYmFzZSBwcm9jZXNz
IG1hbmFnZW1lbnQuCi0gICAgLy8gTGF0ZXIsIHdlJ2xsIGFjdHVhbGx5IHVzZSB0aGF0IGNvbm5l
Y3Rpb24gdG8gYWNjb21wbGlzaCBkYXRhYmFzZXkgc3R1ZmYuCisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKyAgICBMT0coU3RvcmFnZUFQSSwgIldlYklEQkZhY3RvcnlCYWNrZW5kOjpvcGVu
Iik7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKLSAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS53ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKLSNlbmRpZgorICAgIFJlZlB0
cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBwcnBTZWN1cml0eU9yaWdpbjsKKyAg
ICBTdHJpbmcgZGF0YWJhc2VJZGVudGlmaWVyID0gdW5pcXVlRGF0YWJhc2VJZGVudGlmaWVyKGRh
dGFiYXNlTmFtZSwgc2VjdXJpdHlPcmlnaW4uZ2V0KCkpOworICAgIAorICAgIFJlZlB0cjxXZWJQ
cm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kPiB3ZWJQcm9jZXNzRGF0YWJhc2VCYWNrZW5kOworICAg
IElEQkRhdGFiYXNlQmFja2VuZE1hcDo6aXRlcmF0b3IgaXQgPSBzaGFyZWREYXRhYmFzZUJhY2tl
bmRNYXAoKS5maW5kKGRhdGFiYXNlSWRlbnRpZmllcik7CisKKyAgICBpZiAoaXQgPT0gc2hhcmVk
RGF0YWJhc2VCYWNrZW5kTWFwKCkuZW5kKCkpIHsKKyAgICAgICAgd2ViUHJvY2Vzc0RhdGFiYXNl
QmFja2VuZCA9IFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmNyZWF0ZShkYXRhYmFzZU5h
bWUsIHNlY3VyaXR5T3JpZ2luLmdldCgpKTsKKyAgICAgICAgd2ViUHJvY2Vzc0RhdGFiYXNlQmFj
a2VuZC0+ZXN0YWJsaXNoRGF0YWJhc2VQcm9jZXNzQmFja2VuZCgpOworICAgICAgICBzaGFyZWRE
YXRhYmFzZUJhY2tlbmRNYXAoKS5zZXQoZGF0YWJhc2VJZGVudGlmaWVyLCB3ZWJQcm9jZXNzRGF0
YWJhc2VCYWNrZW5kLmdldCgpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgd2ViUHJvY2Vzc0RhdGFi
YXNlQmFja2VuZCA9IGl0LT52YWx1ZTsKKworICAgIHdlYlByb2Nlc3NEYXRhYmFzZUJhY2tlbmQt
Pm9wZW5Db25uZWN0aW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MsIHRyYW5zYWN0aW9u
SWQsIHZlcnNpb24pOwogfQogCiB2b2lkIFdlYklEQkZhY3RvcnlCYWNrZW5kOjpkZWxldGVEYXRh
YmFzZShjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJikK
QEAgLTY5LDQgKzk2LDUgQEAgdm9pZCBXZWJJREJGYWN0b3J5QmFja2VuZDo6ZGVsZXRlRGF0YWJh
c2UoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3MKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICNlbmRpZiAv
LyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJQ
cm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi45MTQwY2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuY3Bw
CkBAIC0wLDAgKzEsMTY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQuaCIKKworI2luY2x1ZGUgIkRhdGFiYXNlVG9XZWJQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiRGF0YWJhc2VQcm9jZXNzSURC
RGF0YWJhc2VCYWNrZW5kTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSAiV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9TZWN1cml0eU9yaWdpbi5oPgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjaWYg
RU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQmFja2VuZElkZW50
aWZpZXIoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwodWludDY0X3QsIGlkZW50aWZpZXIs
ICgxKSk7CisgICAgcmV0dXJuIGlkZW50aWZpZXIrKzsKK30KKworV2ViUHJvY2Vzc0lEQkRhdGFi
YXNlQmFja2VuZDo6V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZChjb25zdCBTdHJpbmcmIG5h
bWUsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCisgICAgOiBtX2RhdGFiYXNlTmFt
ZShuYW1lKQorICAgICwgbV9zZWN1cml0eU9yaWdpbihvcmlnaW4pCisgICAgLCBtX2JhY2tlbmRJ
ZGVudGlmaWVyKGdlbmVyYXRlQmFja2VuZElkZW50aWZpZXIoKSkKK3sKK30KKworV2ViUHJvY2Vz
c0lEQkRhdGFiYXNlQmFja2VuZDo6fldlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQoKQorewor
fQorCit2b2lkIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6Om9wZW5Db25uZWN0aW9uKFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIFBhc3NSZWZQdHI8SURCRGF0YWJh
c2VDYWxsYmFja3M+IHBycERhdGFiYXNlQ2FsbGJhY2tzLCBpbnQ2NF90IHRyYW5zYWN0aW9uSWQs
IGludDY0X3QgdmVyc2lvbikKK3sKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIG1lc3NhZ2UgaW5j
bHVkZSBuZWNlc3NhcnkgYXJndW1lbnRzLCBhbmQgc2F2ZSBvZmYgdGhlc2UgY2FsbGJhY2tzIGFu
ZCBhcmd1bWVudHMgZm9yIGxhdGVyIHVzZS4KKworICAgIHNlbmQoTWVzc2FnZXM6OkRhdGFiYXNl
UHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6T3BlbkNvbm5lY3Rpb24oKSk7Cit9CisKK3ZvaWQg
V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Y3JlYXRlT2JqZWN0U3RvcmUoaW50NjRfdCB0
cmFuc2FjdGlvbklkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgSURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCkKK3sKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpkZWxl
dGVPYmplY3RTdG9yZShpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJ
ZCkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzSURC
RGF0YWJhc2VCYWNrZW5kOjpjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IHRyYW5zYWN0aW9uSWQs
IFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+LCBjb25zdCBWZWN0b3I8aW50NjRfdD4m
IG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCApCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Y2xvc2UoUGFz
c1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Y29tbWl0KGludDY0
X3QgdHJhbnNhY3Rpb25JZCkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9p
ZCBXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjphYm9ydChpbnQ2NF90IHRyYW5zYWN0aW9u
SWQpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc0lE
QkRhdGFiYXNlQmFja2VuZDo6YWJvcnQoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRy
PElEQkRhdGFiYXNlRXJyb3I+KQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2
b2lkIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmNyZWF0ZUluZGV4KGludDY0X3QgdHJh
bnNhY3Rpb25JZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYsIGJvb2wgdW5pcXVlLCBib29sIGlFbnRy
eSkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzSURC
RGF0YWJhc2VCYWNrZW5kOjpkZWxldGVJbmRleChpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElkKQoreworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworfQorCit2b2lkIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6OmdldChpbnQ2
NF90IHRyYW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElk
LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgYm9vbCBrZXlPbmx5LCBQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4pCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgV2ViUHJv
Y2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6cHV0KGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRf
dCBvYmplY3RTdG9yZUlkLCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdmFsdWUsIFBhc3NSZWZQ
dHI8SURCS2V5PiwgUHV0TW9kZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBjb25zdCBWZWN0
b3I8aW50NjRfdD4mIGluZGV4SWRzLCBjb25zdCBWZWN0b3I8SW5kZXhLZXlzPiYpCit7CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFj
a2VuZDo6c2V0SW5kZXhLZXlzKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRfdCBvYmplY3RT
dG9yZUlkLCBQYXNzUmVmUHRyPElEQktleT4gcHJwUHJpbWFyeUtleSwgY29uc3QgVmVjdG9yPGlu
dDY0X3Q+JiBpbmRleElkcywgY29uc3QgVmVjdG9yPEluZGV4S2V5cz4mKQoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmQ6
OnNldEluZGV4ZXNSZWFkeShpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3Rv
cmVJZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBpbmRleElkcykKK3sKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKwordm9pZCBXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kOjpvcGVu
Q3Vyc29yKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2
NF90IGluZGV4SWQsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiwgYm9vbCBrZXlPbmx5LCBUYXNrVHlwZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIFdlYlByb2Nlc3NJREJE
YXRhYmFzZUJhY2tlbmQ6OmNvdW50KGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRfdCBvYmpl
Y3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4pCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisK
K3ZvaWQgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6ZGVsZXRlUmFuZ2UoaW50NjRfdCB0
cmFuc2FjdGlvbklkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIFBhc3NSZWZQdHI8SURCS2V5UmFu
Z2U+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6Y2xlYXIoaW50NjRf
dCB0cmFuc2FjdGlvbklkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworQ29yZUlQQzo6Q29u
bmVjdGlvbiogV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZDo6bWVzc2FnZVNlbmRlckNvbm5l
Y3Rpb24oKQoreworICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS53ZWJUb0RhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Y29ubmVjdGlvbigpOworfQorCit2b2lkIFdlYlByb2Nlc3NJ
REJEYXRhYmFzZUJhY2tlbmQ6OmVzdGFibGlzaERhdGFiYXNlUHJvY2Vzc0JhY2tlbmQoKQorewor
ICAgIHNlbmQoTWVzc2FnZXM6OkRhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6RXN0YWJs
aXNoSURCRGF0YWJhc2VCYWNrZW5kKG1fYmFja2VuZElkZW50aWZpZXIpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKyNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJQcm9jZXNzSURCRGF0YWJhc2VC
YWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIv
V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjNlYjQyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZC5o
CkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICoKKyAqLworCisjaWZuZGVmIFdlYlByb2Nlc3NJREJEYXRhYmFzZUJhY2tl
bmRfaAorI2RlZmluZSBXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kX2gKKworI2luY2x1ZGUg
Ik1lc3NhZ2VTZW5kZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0lEQkRhdGFiYXNlQmFja2VuZElu
dGVyZmFjZS5oPgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjaWYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNlY3VyaXR5T3Jp
Z2luOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUHJvY2Vzc0lEQkRhdGFi
YXNlQmFja2VuZCA6IHB1YmxpYyBXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2Us
IHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNrZW5kPiBjcmVhdGUoY29uc3QgU3RyaW5n
JiBuYW1lLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogb3JpZ2luKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgV2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZChuYW1lLCBvcmlnaW4pKTsgfQorCisg
ICAgdmlydHVhbCB+V2ViUHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZCgpOworCisgICAgdmlydHVh
bCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRfdCBv
YmplY3RTdG9yZUlkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYkNvcmU6OklEQktleVBh
dGgmLCBib29sIGF1dG9JbmNyZW1lbnQpOworICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RT
dG9yZShpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCk7CisgICAg
dmlydHVhbCB2b2lkIGNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUNhbGxiYWNrcz4sIGNvbnN0IFZlY3RvcjxpbnQ2
NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpOworICAgIHZpcnR1YWwg
dm9pZCBjbG9zZShQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJhY2tzPik7CisK
KyAgICAvLyBUcmFuc2FjdGlvbi1zcGVjaWZpYyBvcGVyYXRpb25zLgorICAgIHZpcnR1YWwgdm9p
ZCBjb21taXQoaW50NjRfdCB0cmFuc2FjdGlvbklkKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWJvcnQo
aW50NjRfdCB0cmFuc2FjdGlvbklkKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWJvcnQoaW50NjRfdCB0
cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlRXJyb3I+KTsKKwor
ICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVJbmRleChpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFdlYkNvcmU6OklEQktleVBhdGgmLCBib29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVudHJ5KTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2
NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QgaW5kZXhJZCk7CisKKyAgICB2aXJ0dWFsIHZvaWQg
Z2V0KGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90
IGluZGV4SWQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5UmFuZ2U+LCBib29sIGtleU9ubHks
IFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPik7CisgICAgLy8gTm90ZSB0aGF0ICd2
YWx1ZScgbWF5IGJlIGNvbnN1bWVkL2Fkb3B0ZWQgYnkgdGhpcyBjYWxsLgorICAgIHZpcnR1YWwg
dm9pZCBwdXQoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIFBh
c3NSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiB2YWx1ZSwgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpJREJLZXk+LCBQdXRNb2RlLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIGNv
bnN0IFZlY3RvcjxpbnQ2NF90PiYgaW5kZXhJZHMsIGNvbnN0IFZlY3RvcjxJbmRleEtleXM+Jik7
CisgICAgdmlydHVhbCB2b2lkIHNldEluZGV4S2V5cyhpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGlu
dDY0X3Qgb2JqZWN0U3RvcmVJZCwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+IHBycFByaW1h
cnlLZXksIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgaW5kZXhJZHMsIGNvbnN0IFZlY3RvcjxJbmRl
eEtleXM+Jik7CisgICAgdmlydHVhbCB2b2lkIHNldEluZGV4ZXNSZWFkeShpbnQ2NF90IHRyYW5z
YWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBp
bmRleElkcyk7CisgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3IoaW50NjRfdCB0cmFuc2FjdGlv
bklkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QgaW5kZXhJZCwgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpJREJLZXlSYW5nZT4sIFdlYkNvcmU6OkluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9u
LCBib29sIGtleU9ubHksIFRhc2tUeXBlLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNr
cz4pOworICAgIHZpcnR1YWwgdm9pZCBjb3VudChpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElkLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklE
QktleVJhbmdlPiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+KTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGVsZXRlUmFuZ2UoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2NF90IG9iamVj
dFN0b3JlSWQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPFdl
YkNvcmU6OklEQkNhbGxiYWNrcz4pOworICAgIHZpcnR1YWwgdm9pZCBjbGVhcihpbnQ2NF90IHRy
YW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJ
REJDYWxsYmFja3M+KTsKKworICAgIHZvaWQgb3BlbkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxXZWJD
b3JlOjpJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJh
Y2tzPiwgaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2NF90IHZlcnNpb24pOworCisgICAgdm9p
ZCBlc3RhYmxpc2hEYXRhYmFzZVByb2Nlc3NCYWNrZW5kKCk7CisKK3ByaXZhdGU6CisgICAgV2Vi
UHJvY2Vzc0lEQkRhdGFiYXNlQmFja2VuZChjb25zdCBTdHJpbmcmIG5hbWUsIFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pOworCisgICAgU3RyaW5nIG1fZGF0YWJhc2VOYW1lOworICAg
IFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gbV9zZWN1cml0eU9yaWdpbjsKKworICAg
IC8vIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICB2aXJ0dWFsIENvcmVJUEM6OkNvbm5lY3Rp
b24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1aW50
NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIE9WRVJSSURFIHsgcmV0dXJuIG1fYmFj
a2VuZElkZW50aWZpZXI7IH0KKworICAgIHVpbnQ2NF90IG1fYmFja2VuZElkZW50aWZpZXI7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRV9Q
Uk9DRVNTKQorI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIFdl
YlByb2Nlc3NJREJEYXRhYmFzZUJhY2tlbmRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKaW5kZXggYTVlNTVkNS4uMGVhMTA5YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJUb0Rh
dGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgiCiAK
KyNpbmNsdWRlICJEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzSURCRGF0YWJhc2VCYWNr
ZW5kLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wLmg+CiAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJh
c2VzL1dlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXgg
NDJiNjc4ZC4uZDMyMDg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9u
LmgKQEAgLTI4LDEzICsyOCwxNiBAQAogI2RlZmluZSBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5l
Y3Rpb25faAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk1lc3NhZ2VTZW5k
ZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiAjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBXZWJUb0RhdGFiYXNlUHJv
Y2Vzc0Nvbm5lY3Rpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nv
bm5lY3Rpb24+LCBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQgeworY2xhc3MgV2ViUHJvY2Vz
c0lEQkRhdGFiYXNlQmFja2VuZDsKKworY2xhc3MgV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uPiwg
cHVibGljIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3Nh
Z2VTZW5kZXIgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlRvRGF0YWJhc2VQ
cm9jZXNzQ29ubmVjdGlvbj4gY3JlYXRlKENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIg
Y29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgewpAQCAtNTQsNyArNTcsMTAgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiopIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBD
b3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIE9WRVJSSURFOwogCi0gICAgLy8g
VGhlIElQQyBjb25uZWN0aW9uIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBkYXRhYmFzZSBw
cm9jZXNzLgorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICB2aXJ0dWFsIENvcmVJ
UEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgT1ZFUlJJREUgeyByZXR1
cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBtZXNzYWdlU2Vu
ZGVyRGVzdGluYXRpb25JRCgpIE9WRVJSSURFIHsgcmV0dXJuIDA7IH0KKwogICAgIFJlZlB0cjxD
b3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiB9OwogCg==
</data>
<flag name="review"
          id="237010"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>