<?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>196091</bug_id>
          
          <creation_ts>2019-03-21 10:43:07 -0700</creation_ts>
          <short_desc>B3::Value should have different kinds of adjacency lists</short_desc>
          <delta_ts>2019-07-12 15:48:12 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=196093</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>196092</dependson>
    
    <dependson>196093</dependson>
    
    <dependson>196105</dependson>
    
    <dependson>196110</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1519721</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-21 10:43:07 -0700</bug_when>
    <thetext>B3::Value currently uses Vector&lt;Value*, 3&gt; as its adjacency list, taking 40 bytes no matter the type of value.
In particular, things like constants (which are very common) waste 40 of the 80 bytes they use. And a similar although less extreme thing is true of Identity (wastes 32 bytes out of 72), binary operations (waste 24 bytes out of 72), etc..
Since many kind of b3 values are already subclasses of B3::Value, I hope to try the following plan:
- Remove setOpcodeUnsafely and setKindUnsafely. They are only used in two places and are fairly easy to fix
- Replace all code &quot;children().size()&quot; by numChildren().
- Sort every kind of b3 value into one subclass of B3Value (creating some subclasses for the values that are currently represented by a bare B3::Value*)
- Make B3::Value an abstract class, and the methods that access m_children pure virtual, to be implemented by the subclasses (or by some intermediate ValueImpl that the subclasses inherit from and that inherit from Value)
- Split ValueImpl into three: ValueImpl&lt;FixedAdjacencyList&lt;n&gt;&gt;, ValueImpl&lt;BoundedAdjacencyList&lt;n&gt;&gt; and ValueImpl&lt;UnboundedAdjacencyList&gt;, using respectively a bare array, an array + a size, or a Vector&lt;&gt; as their implementation of m_children.

One slightly tricky part is the following functions:
- replaceWithOops
- replaceWithPhi
- replaceWithNop
- replaceWithNopIgnoringType
- replaceWithJump
- replaceWithBottom
- replaceWithIdentity
The implementations will have to be moved to a templated function that does a static_assert that the actual parameterized ValueType is large enough to hold the value we are trying to store in it (in other words, we want to make sure that Oops/Phi/Nop/Jump/Bottom/Identity all have the same size, and are the smallest of B3Values).
Then the actual methods will become pure virtual, and have to be implemented by a call to this function in the subclasses, enforcing that all subclasses must be large enough to fit an Identity (which will probably require one word of padding for Oops/Jump/etc..).

I will have to verify that the overhead of calling these virtual functions is negligible. I am optimistic because we only rarely access the children of a B3::Value without first switching on its opcode, at which point we know its actual type, and can use it if we see a performance cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519897</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2019-03-21 13:46:24 -0700</bug_when>
    <thetext>(In reply to Robin Morisset from comment #0)
&gt; B3::Value currently uses Vector&lt;Value*, 3&gt; as its adjacency list, taking 40
&gt; bytes no matter the type of value.
&gt; In particular, things like constants (which are very common) waste 40 of the
&gt; 80 bytes they use. And a similar although less extreme thing is true of
&gt; Identity (wastes 32 bytes out of 72), binary operations (waste 24 bytes out
&gt; of 72), etc..
&gt; Since many kind of b3 values are already subclasses of B3::Value, I hope to
&gt; try the following plan:
&gt; - Remove setOpcodeUnsafely and setKindUnsafely. They are only used in two
&gt; places and are fairly easy to fix
&gt; - Replace all code &quot;children().size()&quot; by numChildren().
&gt; - Sort every kind of b3 value into one subclass of B3Value (creating some
&gt; subclasses for the values that are currently represented by a bare
&gt; B3::Value*)
&gt; - Make B3::Value an abstract class, and the methods that access m_children
&gt; pure virtual, to be implemented by the subclasses (or by some intermediate
&gt; ValueImpl that the subclasses inherit from and that inherit from Value)
&gt; - Split ValueImpl into three: ValueImpl&lt;FixedAdjacencyList&lt;n&gt;&gt;,
&gt; ValueImpl&lt;BoundedAdjacencyList&lt;n&gt;&gt; and ValueImpl&lt;UnboundedAdjacencyList&gt;,
&gt; using respectively a bare array, an array + a size, or a Vector&lt;&gt; as their
&gt; implementation of m_children.

How about do this without any virtual anything?

1) Value allocated its adjacency list as a variable length array at the tail of Value rather than a Vector with inline capacity. 

2) have something much more clever for out-of-line children, for example where every access branches (small index -&gt; inline, large index -&gt; out of line). 

&gt; 
&gt; One slightly tricky part is the following functions:
&gt; - replaceWithOops
&gt; - replaceWithPhi
&gt; - replaceWithNop
&gt; - replaceWithNopIgnoringType
&gt; - replaceWithJump
&gt; - replaceWithBottom
&gt; - replaceWithIdentity
&gt; The implementations will have to be moved to a templated function that does
&gt; a static_assert that the actual parameterized ValueType is large enough to
&gt; hold the value we are trying to store in it (in other words, we want to make
&gt; sure that Oops/Phi/Nop/Jump/Bottom/Identity all have the same size, and are
&gt; the smallest of B3Values).
&gt; Then the actual methods will become pure virtual, and have to be implemented
&gt; by a call to this function in the subclasses, enforcing that all subclasses
&gt; must be large enough to fit an Identity (which will probably require one
&gt; word of padding for Oops/Jump/etc..).
&gt; 
&gt; I will have to verify that the overhead of calling these virtual functions
&gt; is negligible. I am optimistic because we only rarely access the children of
&gt; a B3::Value without first switching on its opcode, at which point we know
&gt; its actual type, and can use it if we see a performance cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519909</commentid>
    <comment_count>2</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-21 13:55:31 -0700</bug_when>
    <thetext>
&gt; 
&gt; How about do this without any virtual anything?
&gt; 
&gt; 1) Value allocated its adjacency list as a variable length array at the tail
&gt; of Value rather than a Vector with inline capacity.

This was my original idea, the problem is that there are already quite a few subclasses of Value, and they add fields to it. For example constants add the constant value, MemoryValue adds a heap range, a fence range and an offset, etc..
So it seems to me that these fields would be after the end of the fields of Value, and thus conflict with the variable size array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519911</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2019-03-21 13:57:13 -0700</bug_when>
    <thetext>(In reply to Robin Morisset from comment #2)
&gt; &gt; 
&gt; &gt; How about do this without any virtual anything?
&gt; &gt; 
&gt; &gt; 1) Value allocated its adjacency list as a variable length array at the tail
&gt; &gt; of Value rather than a Vector with inline capacity.
&gt; 
&gt; This was my original idea, the problem is that there are already quite a few
&gt; subclasses of Value, and they add fields to it. For example constants add
&gt; the constant value, MemoryValue adds a heap range, a fence range and an
&gt; offset, etc..
&gt; So it seems to me that these fields would be after the end of the fields of
&gt; Value, and thus conflict with the variable size array.

Then prepend the adjaceny list to Valur and make it negatively indexed. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519924</commentid>
    <comment_count>4</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-21 14:05:46 -0700</bug_when>
    <thetext>(In reply to Filip Pizlo from comment #3)
&gt; (In reply to Robin Morisset from comment #2)
&gt; &gt; &gt; 
&gt; &gt; &gt; How about do this without any virtual anything?
&gt; &gt; &gt; 
&gt; &gt; &gt; 1) Value allocated its adjacency list as a variable length array at the tail
&gt; &gt; &gt; of Value rather than a Vector with inline capacity.
&gt; &gt; 
&gt; &gt; This was my original idea, the problem is that there are already quite a few
&gt; &gt; subclasses of Value, and they add fields to it. For example constants add
&gt; &gt; the constant value, MemoryValue adds a heap range, a fence range and an
&gt; &gt; offset, etc..
&gt; &gt; So it seems to me that these fields would be after the end of the fields of
&gt; &gt; Value, and thus conflict with the variable size array.
&gt; 
&gt; Then prepend the adjaceny list to Valur and make it negatively indexed. :-)

I had not thought of that trick. Thanks, I&apos;ll change my approach to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519953</commentid>
    <comment_count>5</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-21 14:49:14 -0700</bug_when>
    <thetext>The size of the children (0, 1, 2, 3, or varargs) will be stored in a field added in the free byte between m_type and m_origin.

In order to correctly support replaceWithIdentity (which needs one child), even values with no children will have one extra free word allocated before them (we could optionally make constants store their value there eventually, in a separate patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520561</commentid>
    <comment_count>6</comment_count>
      <attachid>365794</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-22 19:11:09 -0700</bug_when>
    <thetext>Created attachment 365794
WIP

Not ready for review, just sending it as a backup.
Still needs to be done:
- Adding an explicit copy constructor that calls buildAdjacencyList (this currently causes the patch to fail testb3)
- probably more bugs still to fix..
- Add an optimization where the methods when called on a subclass don&apos;t need to test whether or not the value is a varargs
- General clean-up, moving things to the .cpp from the headers, etc..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520932</commentid>
    <comment_count>7</comment_count>
      <attachid>365879</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 11:51:45 -0700</bug_when>
    <thetext>Created attachment 365879
WIP_nearlyDone

The last parts remaining are running benchmarks to get performance numbers, and writing the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520934</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-25 11:57:30 -0700</bug_when>
    <thetext>Attachment 365879 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3Const32Value.h:87:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3Const32Value.h:88:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3Value.h:125:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/JavaScriptCore/b3/B3Value.h:135:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/JavaScriptCore/b3/B3Value.h:385:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3Value.h:529:  Extra space before last semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
ERROR: Source/JavaScriptCore/b3/B3ValueInlines.h:55:  Missing space before ( in switch(  [whitespace/parens] [5]
ERROR: Source/JavaScriptCore/b3/B3ValueInlines.h:167:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/b3/B3ValueInlines.h:173:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/b3/B3MoveConstants.cpp:42:  Bad include order. Mixing system and custom headers.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/b3/B3CCallValue.h:60:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/b3/B3CCallValue.h:69:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/b3/B3Const64Value.h:87:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3Const64Value.h:88:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 14 in 38 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>1520951</commentid>
    <comment_count>9</comment_count>
      <attachid>365884</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 12:46:02 -0700</bug_when>
    <thetext>Created attachment 365884
WIP_reallyNearlyDone

Fix the build and lint issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520963</commentid>
    <comment_count>10</comment_count>
      <attachid>365887</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 13:00:13 -0700</bug_when>
    <thetext>Created attachment 365887
Patch

Fixing one last build issue (a missing import of wtf/Vector.h). Really surprising that they did not show up on my machine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521141</commentid>
    <comment_count>11</comment_count>
      <attachid>365928</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 17:51:11 -0700</bug_when>
    <thetext>Created attachment 365928
Patch

- Added a changelog
- Fixed the build issue (it was just a missing import of wtf/Vector.h)
- Made B3::Value WTF_MAKE_FAST_ALLOCATED again (I had removed it because my new did not match my delete temporarily and forgot about it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521146</commentid>
    <comment_count>12</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 17:54:36 -0700</bug_when>
    <thetext>I launched two A/B tasks to see the effect on RAMification and JetStream2:
https://perf-safari.apple.com/v3/#/analysis/task/6342
https://perf-safari.apple.com/v3/#/analysis/task/6341

I think my earlier confusing results were due to having deleted WTF_MAKE_FAST_ALLOCATED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521148</commentid>
    <comment_count>13</comment_count>
      <attachid>365931</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-25 17:58:44 -0700</bug_when>
    <thetext>Created attachment 365931
Patch

And this time putting back #include &lt;wtf/FastMalloc.h&gt; before the bots complain (for some reason it compiled find on my system despite lacking it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521423</commentid>
    <comment_count>14</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-26 13:33:20 -0700</bug_when>
    <thetext>This was a regression on RAMification, I think because I removed the inline capacity in the VarArgs case. I am now looking at adding it back, ideally tuning it per opcode, and depending on whether we are creating a value from scratch or copying another one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521881</commentid>
    <comment_count>15</comment_count>
      <attachid>366116</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-27 15:47:35 -0700</bug_when>
    <thetext>Created attachment 366116
Patch

This uses an inline capacity of 3 (as before) for the VarArgs case. I have an alternative patch that customizes the inline capacity to the opcode, but the implementation gets extremely gross, for (I think) little benefit.
A global run on RAMification was inconclusive (dominated by noise in LuaJSFight among other things), so I ran 4 runs of RAMification on my machine, only looking at the peak footprint of the wasm benchmarks, after having disabled their call to main to only measure the compilation footprint.
The result was a rather disappointing 1% reduction in peak footprint.
I&apos;d like to land this since it is still an improvement, and monitor the bots for any regression/progression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522546</commentid>
    <comment_count>16</comment_count>
      <attachid>366298</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-03-29 12:38:21 -0700</bug_when>
    <thetext>Created attachment 366298
Patch

Almost the same as the last one, just add a missing cast to (hopefully) fix the build failure on the gtk bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524507</commentid>
    <comment_count>17</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-04 16:22:30 -0700</bug_when>
    <thetext>What’s the results on memory on RAMification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524522</commentid>
    <comment_count>18</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-04-04 16:59:20 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #17)
&gt; What’s the results on memory on RAMification?

It is a regression, purely from LuaJSFight, which this has no way of altering in any way.. I&apos;ll relaunch the bots with more repetitions to bring the noise down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527399</commentid>
    <comment_count>19</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-04-15 14:22:47 -0700</bug_when>
    <thetext>Here are some basic results from running JetStream2 with some instrumentation in B3Generate.cpp

This patch only saves an average of 13kB per function being compiled to B3. There are some significant outliers, here is the top 10:
57262	1781296	Tsf-wasm
13780	403232	OfflineAssembler
9715	271584	Regexp
7331	205880	Regexp
6237	184896	Gbemu
5361	163424	Mandreel
5559	160184	Regexp
5490	157752	Typescript
5191	145760	Typescript
5077	144680	Typescript
(left: number of values allocated, middle: number of bytes saved on those, right: jetstream2 benchmark it came from)

Here is the top outlier per benchmark that reach B3:
3264	98424	3d-cube-sp
3827	119768	3d-raytrace-SP
3055	89216	Acorn-wtb
1560	44784	ai-astar
713	23744	Air
1691	49912	async-fs
2856	81608	babylon
3130	86392	babylon-wtb
1005	30568	base64-SP
1120	32296	Basic
2724	75528	Box2D
1842	53288	Cdjs
1358	40008	Chai-wtb
817	24280	coffeescript-wtb
676	19312	Crypto
1769	51408	crypto-aes-sp
4771	138160	crypto-md5-sp
1104	32592	crypto-sha1-SP
2703	82136	date-format-tofte-sp
1645	49176	Date-format-xparb-sp
1231	35768	delta-blue
647	19016	earley-boyer
2407	71424	Espree-wtb
1087	32520	flightPlanner
1108	33176	Gaussian-blur
6237	184896	Gbemu
1079	30944	gcc-loops-wasm
1136	32576	hash-map
3044	90432	HashSet-wasm
3002	88296	jshint-wtb
3147	90416	json-stringify-inspector (only function to reach B3)
1609	49736	lebab-wtb
5361	163424	Mandreel
1095	31632	ML
637	17496	N-body-SP
690	17784	Navier-stokes
4075	125600	Octane-zlib
13780	403232	OfflineAssembler
3563	107248	Pdfs
1084	30632	Prepack-wtb
118	3632	quicksort-wasm
3400	98560	Raytrace
9715	271584	Regexp
997	28472	Richards
308	9480	Richards-wasm
986	30280	splay
1268	35336	Stanford-crypto-aes
1098	31288	Stanford-crypto-pbkdf2
646	19400	Stanford-crypto-sha256
720	20264	string-unpack-code-SP
1021	30800	tagcloud-SP
57262	1781296	Tsf-wasm
5490	157752	Typescript
1163	37080	Uglify-js-wtb
2908	83256	UniPoker
3251	92808	WSL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527400</commentid>
    <comment_count>20</comment_count>
      <attachid>367458</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-04-15 14:23:44 -0700</bug_when>
    <thetext>Created attachment 367458
Numbers file measuring the JetStream2 impact

From which the comment above was written.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527499</commentid>
    <comment_count>21</comment_count>
      <attachid>367474</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-04-15 16:13:29 -0700</bug_when>
    <thetext>Created attachment 367474
PatchForLanding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527518</commentid>
    <comment_count>22</comment_count>
      <attachid>367474</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 16:53:29 -0700</bug_when>
    <thetext>Comment on attachment 367474
PatchForLanding

Clearing flags on attachment: 367474

Committed r244309: &lt;https://trac.webkit.org/changeset/244309&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527519</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 16:53:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527521</commentid>
    <comment_count>24</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-15 16:54:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/49923813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552571</commentid>
    <comment_count>25</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-12 15:47:45 -0700</bug_when>
    <thetext>*** Bug 196093 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552573</commentid>
    <comment_count>26</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-12 15:48:12 -0700</bug_when>
    <thetext>*** Bug 196092 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365794</attachid>
            <date>2019-03-22 19:11:09 -0700</date>
            <delta_ts>2019-03-25 11:51:45 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>EndOfFriday</filename>
            <type>text/plain</type>
            <size>67151</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDMzMzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBGRUM4NTQwMUJEQUNE
QUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVXNlQ291bnRz
LmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGODFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0NDFCREFDREFDMDA4
MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCAqLzsgfTsKLQkJ
MEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFDREFDMDA4MEZG
NzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRBQ0RBQzAwODBGRjc0
IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmggKi87IH07CiAJ
CTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNrQnlHcmFwaENvbG9y
aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3JhcGhDb2xvcmluZy5o
ICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0QjFCREFDREM3MDA4
MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAKIAkJMkFEODkzMkIx
N0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4RjAwNjY4Mjc2IC8q
IEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJCRjkyMDA4QTVBMzcg
LyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRDM0
MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUxQjI2OUE2NzEgLyog
U291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNFNzhERjIyMjQ1NjYw
ODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93
ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjExMEY3RDIwMDc2MThF
QyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdEOTAwNzYxOEVDIC8q
IERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCAqLzsg
fTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUx
M0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJNTM0MUZDNzIxREFD
MzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0M0MwMEU3RTRENyAv
KiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcxMUU3MENGM0QwMEYx
MkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTM0
NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3NDFFNzBEREVDMDBG
MTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYyOSw3ICs4NjI5LDYgQEAKIAkJCQkwRkVDODU0
MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1ZUtleS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFsdWVLZXlJbmxp
bmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4MEZGNzQgLyogQjNW
YWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTgzLDYgKzkxODIsNyBAQAogCQkJCUE1OTND
RjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIxODlCMTkxQTAwNjMz
MjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzNFNzhE
RjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVu
dmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3OUVCMDBDQzM4NDMg
LyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAgLTEwNjIzLDcg
KzEwNjIzLDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyogREZHU3BlY3VsYXRp
dmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdEMjAwNzYxOEVDIC8q
IERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREQy
MTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyogTG93TGV2ZWxJbnRl
cnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYg
LyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVCRThCMDA0Q0I5RkYg
LyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc1Nyw2ICsxMDc1Niw3IEBA
CiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMTkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNFNzhERjIyMjQ1NjYw
ODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZC
MzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzksMTEgKzM5LDYgQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcmVnKTsKIH0KIAot
VmFsdWUqIEFyZ3VtZW50UmVnVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBBcmd1bWVudFJlZ1ZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAkocmV2aXNpb24gMjQzMzMwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MywxMyArNDMsMTQgQEAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xv
bmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFBy
b2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisgICAgCisgICAgc3RhdGljIE9wY29k
ZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBSZWcpIHsgcmV0dXJuIEFyZ3VtZW50UmVn
OyB9CiAKICAgICBBcmd1bWVudFJlZ1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFJlZyByZWcpCi0gICAg
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5pc0dQUigpID8gcG9p
bnRlclR5cGUoKSA6IERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNv
ZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkgOiBEb3VibGUsIFpl
cm8sIG9yaWdpbikKICAgICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAgICAgICBBU1NFUlQo
cmVnLmlzU2V0KCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1Zh
bHVlLmNwcAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
QXRvbWljVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMyArNDEsOCBAQAogICAgIE1l
bW9yeVZhbHVlOjpkdW1wTWV0YShjb21tYSwgb3V0KTsKIH0KIAotVmFsdWUqIEF0b21pY1ZhbHVl
OjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgQXRvbWljVmFsdWUoKnRoaXMp
OwotfQotCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVl
Uk1XLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRoLCBWYWx1ZSogb3BlcmFu
ZCwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJh
bmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IE1lbW9yeVZhbHVlKENoZWNr
ZWRPcGNvZGUsIGtpbmQsIG9wZXJhbmQtPnR5cGUoKSwgb3JpZ2luLCBvZmZzZXQsIHJhbmdlLCBm
ZW5jZVJhbmdlLCBvcGVyYW5kLCBwb2ludGVyKQorICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9w
Y29kZSwga2luZCwgb3BlcmFuZC0+dHlwZSgpLCBUd28sIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwg
ZmVuY2VSYW5nZSwgb3BlcmFuZCwgcG9pbnRlcikKICAgICAsIG1fd2lkdGgod2lkdGgpCiB7CiAg
ICAgQVNTRVJUKGJlc3RUeXBlKEdQLCBhY2Nlc3NXaWR0aCgpKSA9PSBhY2Nlc3NUeXBlKCkpOwpA
QCAtNjYsNyArNjEsNyBAQAogfQogCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFs
dWU6OkF0b21pY1ZhbHVlQ0FTLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRo
LCBWYWx1ZSogZXhwZWN0ZWRWYWx1ZSwgVmFsdWUqIG5ld1ZhbHVlLCBWYWx1ZSogcG9pbnRlciwg
TWVtb3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5n
ZSBmZW5jZVJhbmdlKQotICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2lu
ZC5vcGNvZGUoKSA9PSBBdG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBl
KCksIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3
VmFsdWUsIHBvaW50ZXIpCisgICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBr
aW5kLm9wY29kZSgpID09IEF0b21pY1dlYWtDQVMgPyBJbnQzMiA6IGV4cGVjdGVkVmFsdWUtPnR5
cGUoKSwgVGhyZWUsIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRW
YWx1ZSwgbmV3VmFsdWUsIHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFT
U0VSVChiZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAkocmV2aXNpb24gMjQzMzMw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNDcsMTEgKzQ3LDEwIEBACiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1w
TWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwotICAgIAot
ICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLSAgICAKKwogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAog
ICAgIGVudW0gQXRvbWljVmFsdWVSTVcgeyBBdG9taWNWYWx1ZVJNV1RhZyB9OwogICAgIGVudW0g
QXRvbWljVmFsdWVDQVMgeyBBdG9taWNWYWx1ZUNBU1RhZyB9OwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC04NCw4ICs4
NCw2IEBACiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KICAgICBWYWx1ZVR5cGUqIGFwcGVuZE5ldyhQcm9jZWR1cmUmLCBBcmd1bWVudHMu
Li4pOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1l
bnRzPgotICAgIFZhbHVlVHlwZSogYXBwZW5kTmV3Tm9uVGVybWluYWwoUHJvY2VkdXJlJiwgQXJn
dW1lbnRzLi4uKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFZhbHVlKiBhcHBlbmRJbnRDb25z
dGFudChQcm9jZWR1cmUmLCBPcmlnaW4sIFR5cGUsIGludDY0X3QgdmFsdWUpOwogICAgIFZhbHVl
KiBhcHBlbmRJbnRDb25zdGFudChQcm9jZWR1cmUmLCBWYWx1ZSogbGlrZVZhbHVlLCBpbnQ2NF90
IHZhbHVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2tJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9j
a0lubGluZXMuaAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQmFzaWNCbG9ja0lubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTQgKzQyLDYgQEAK
IH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+
Ci1WYWx1ZVR5cGUqIEJhc2ljQmxvY2s6OmFwcGVuZE5ld05vblRlcm1pbmFsKFByb2NlZHVyZSYg
cHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQotewotICAgIFZhbHVlVHlwZSogcmVz
dWx0ID0gcHJvY2VkdXJlLmFkZDxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4uLik7Ci0gICAgYXBwZW5k
Tm9uVGVybWluYWwocmVzdWx0KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KIFZhbHVlVHlwZSogQmFz
aWNCbG9jazo6cmVwbGFjZUxhc3RXaXRoTmV3KFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVu
dHMuLi4gYXJndW1lbnRzKQogewogICAgIFZhbHVlVHlwZSogcmVzdWx0ID0gcHJvY2VkdXJlLmFk
ZDxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4uLik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDQ2FsbFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDQ2FsbFZhbHVlLmNwcAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDkg
QEAKIHsKIH0KIAotVmFsdWUqIENDYWxsVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Cit2b2lkIEND
YWxsVmFsdWU6OmFwcGVuZEFyZ3MoY29uc3QgVmVjdG9yPFZhbHVlKj4mIGFyZ3MpCiB7Ci0gICAg
cmV0dXJuIG5ldyBDQ2FsbFZhbHVlKCp0aGlzKTsKKyAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVu
ZFZlY3RvcihhcmdzKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDI3ICszOCwzMiBAQAogCiAgICAgfkNDYWxsVmFsdWUoKTsKIAorICAgIHZvaWQgYXBwZW5k
QXJncyhjb25zdCBWZWN0b3I8VmFsdWUqPiYpOworICAgIAogICAgIEVmZmVjdHMgZWZmZWN0czsK
LQotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKICAg
ICAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xh
c3MgVmFsdWU7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgc3Rh
dGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoQXJndW1lbnRzLi4uKSB7IHJldHVybiBD
Q2FsbDsgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIENDYWxs
VmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQot
ICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBvcmlnaW4sIGFyZ3Vt
ZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwgVmFy
QXJncywgb3JpZ2luLCBhcmd1bWVudHMuLi4pCiAgICAgICAgICwgZWZmZWN0cyhFZmZlY3RzOjpm
b3JDYWxsKCkpCiAgICAgeworICAgICAgICAvL0FTU0VSVCgoIWFyZ3VtZW50cy0+dHlwZSgpID09
IFZvaWQpLi4uKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW4oKSA+PSAxKTsK
ICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgQ0NhbGxW
YWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEVmZmVjdHMmIGVmZmVjdHMsIEFy
Z3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ0Nh
bGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIGFyZ3VtZW50cy4uLikKICAgICAg
ICAgLCBlZmZlY3RzKGVmZmVjdHMpCiAgICAgeworICAgICAgICAvL0FTU0VSVCgoIWFyZ3VtZW50
cy0+dHlwZSgpID09IFZvaWQpLi4uKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRy
ZW4oKSA+PSAxKTsKICAgICB9CiB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q2hlY2tWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q2hlY2tWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMSArNDAsNiBAQAog
ICAgIG1fa2luZCA9IENoZWNrQWRkOwogfQogCi1WYWx1ZSogQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENoZWNrVmFsdWUoKnRoaXMpOwotfQotCiAvLyBV
c2UgdGhpcyBmb3JtIGZvciBDaGVja0FkZCwgQ2hlY2tTdWIsIGFuZCBDaGVja011bC4KIENoZWNr
VmFsdWU6OkNoZWNrVmFsdWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogbGVmdCwg
VmFsdWUqIHJpZ2h0KQogICAgIDogU3RhY2ttYXBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBs
ZWZ0LT50eXBlKCksIG9yaWdpbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0No
ZWNrVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVj
a1ZhbHVlLmgJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NoZWNrVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTIgKzQ5LDEwIEBACiAgICAgfkNo
ZWNrVmFsdWUoKTsKIAogICAgIHZvaWQgY29udmVydFRvQWRkKCk7Ci0KLXByb3RlY3RlZDoKLSAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAg
Ly8gVXNlIHRoaXMgZm9ybSBmb3IgQ2hlY2tBZGQsIENoZWNrU3ViLCBhbmQgQ2hlY2tNdWwuCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgQ2hlY2tWYWx1ZShLaW5kLCBPcmlnaW4sIFZhbHVlKiBsZWZ0
LCBWYWx1ZSogcmlnaHQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Qz
MlZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdDMyVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDMsMTEgKzMwMyw2IEBA
CiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3ZhbHVlKTsKIH0KIAotVmFsdWUqIENvbnN0MzJWYWx1
ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENvbnN0MzJWYWx1ZSgqdGhp
cyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIz
X0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCShy
ZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFs
dWUuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTIgKzc4LDEzIEBACiBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgZnJpZW5k
IGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMg
T3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4gPSBPcmlnaW4oKSwgaW50MzJfdCA9
IDApIHsgcmV0dXJuIENvbnN0MzI7IH0KKwogICAgIENvbnN0MzJWYWx1ZShPcmlnaW4gb3JpZ2lu
LCBpbnQzMl90IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0MzIs
IEludDMyLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwg
SW50MzIsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5jcHAJ
KHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRW
YWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMywxMSArMzAzLDYgQEAKICAgICBvdXQucHJp
bnQoY29tbWEsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3Q2NFZhbHVlOjpjbG9uZUltcGwo
KSBjb25zdAotewotICAgIHJldHVybiBuZXcgQ29uc3Q2NFZhbHVlKCp0aGlzKTsKLX0KLQogfSB9
IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgJKHJldmlzaW9uIDI0MzMz
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC03OCwxMiArNzgsMTMgQEAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRh
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1
ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KICAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2Rl
RnJvbUNvbnN0cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQ2NF90ID0gMCkgeyByZXR1cm4g
Q29uc3Q2NDsgfQorCiAgICAgQ29uc3Q2NFZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDY0X3QgdmFs
dWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIG9yaWdp
bikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgWmVybywg
b3JpZ2luKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCShyZXZp
c2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDExICsxOTcsNiBAQAogICAgIG91dC5wcmlu
dGYoIiVsZSIsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3REb3VibGVWYWx1ZTo6Y2xvbmVJ
bXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENvbnN0RG91YmxlVmFsdWUoKnRoaXMpOwot
fQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5o
CShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERv
dWJsZVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDEzICs2NywxNCBAQAogcHJvdGVjdGVk
OgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBv
dmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1
ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgZG91
YmxlKSB7IHJldHVybiBDb25zdERvdWJsZTsgfQorCiAgICAgQ29uc3REb3VibGVWYWx1ZShPcmln
aW4gb3JpZ2luLCBkb3VibGUgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q29uc3REb3VibGUsIERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNv
ZGUsIENvbnN0RG91YmxlLCBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVl
KHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjND
b25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4
OSwxMSArMTg5LDYgQEAKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFs
dWUqIENvbnN0RmxvYXRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IENvbnN0RmxvYXRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwog
CiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RmxvYXRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYs
MTMgKzY2LDE0IEBACiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXIm
LCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgp
IGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7
CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9t
Q29uc3RydWN0b3IoT3JpZ2luLCBmbG9hdCkgeyByZXR1cm4gQ29uc3RGbG9hdDsgfQorCiAgICAg
Q29uc3RGbG9hdFZhbHVlKE9yaWdpbiBvcmlnaW4sIGZsb2F0IHZhbHVlKQotICAgICAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIENvbnN0RmxvYXQsIEZsb2F0LCBvcmlnaW4pCisgICAgICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3RGbG9hdCwgRmxvYXQsIFplcm8sIG9yaWdpbikKICAg
ICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdFB0clZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0clZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUxLDEzICs1MSwxOCBAQAogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7
CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAg
ICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFQqKSB7IHJldHVy
biBDb25zdFB0clZhbHVlQmFzZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgogICAgIENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCogcG9p
bnRlcikKICAgICAgICAgOiBDb25zdFB0clZhbHVlQmFzZShvcmlnaW4sIGJpdHdpc2VfY2FzdDxp
bnRwdHJfdD4ocG9pbnRlcikpCiAgICAgewogICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCkgeyBy
ZXR1cm4gQ29uc3RQdHJWYWx1ZUJhc2U6Om9wY29kZUZyb21Db25zdHJ1Y3RvcigpOyB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBDb25zdFB0clZhbHVlKE9yaWdpbiBvcmlnaW4sIFQg
cG9pbnRlcikKICAgICAgICAgOiBDb25zdFB0clZhbHVlQmFzZShvcmlnaW4sIHN0YXRpY19jYXN0
PGludHB0cl90Pihwb2ludGVyKSkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNGZW5jZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNGZW5jZVZhbHVlLmNwcAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCw4
IEBACiB7CiB9CiAKLVZhbHVlKiBGZW5jZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAg
IHJldHVybiBuZXcgRmVuY2VWYWx1ZSgqdGhpcyk7Ci19Ci0KIEZlbmNlVmFsdWU6OkZlbmNlVmFs
dWUoT3JpZ2luIG9yaWdpbiwgSGVhcFJhbmdlIHJlYWQsIEhlYXBSYW5nZSB3cml0ZSkKLSAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIEZlbmNlLCBWb2lkLCBvcmlnaW4pCisgICAgOiBWYWx1ZShD
aGVja2VkT3Bjb2RlLCBGZW5jZSwgVm9pZCwgWmVybywgb3JpZ2luKQogICAgICwgcmVhZChyZWFk
KQogICAgICwgd3JpdGUod3JpdGUpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNGZW5jZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
RmVuY2VWYWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNGZW5jZVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDE0ICs3MiwxMiBAQAogICAg
IEhlYXBSYW5nZSByZWFkIHsgSGVhcFJhbmdlOjp0b3AoKSB9OwogICAgIEhlYXBSYW5nZSB3cml0
ZSB7IEhlYXBSYW5nZTo6dG9wKCkgfTsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUlt
cGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKICAgICAKKyAgICBzdGF0aWMgT3Bjb2RlIG9w
Y29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpLCBIZWFw
UmFuZ2UgPSBIZWFwUmFuZ2UoKSkgeyByZXR1cm4gRmVuY2U7IH0KICAgICBGZW5jZVZhbHVlKE9y
aWdpbiBvcmlnaW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFuZ2Ugd3JpdGUpOwotICAgIAogICAg
IEZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbik7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcz
LDE1ICs3MywxMCBAQAogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJmZW5jZVJhbmdlID0gIiwg
ZmVuY2VSYW5nZSgpKTsKIH0KIAotVmFsdWUqIE1lbW9yeVZhbHVlOjpjbG9uZUltcGwoKSBjb25z
dAotewotICAgIHJldHVybiBuZXcgTWVtb3J5VmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhp
cyBmb3JtIGZvciBMb2FkIChidXQgbm90IExvYWQ4WiwgTG9hZDhTLCBvciBhbnkgb2YgdGhlIExv
YWRzIHRoYXQgaGF2ZSBhIHN1ZmZpeCB0aGF0CiAvLyBkZXNjcmliZXMgdGhlIHJldHVybmVkIHR5
cGUpLgogTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlKE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZUxv
YWQsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcG9pbnRlciwg
TWVtb3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5n
ZSBmZW5jZVJhbmdlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3Jp
Z2luLCBwb2ludGVyKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgT25l
LCBvcmlnaW4sIHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX3Jhbmdl
KHJhbmdlKQogICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMjYsNyArMTIxLDcg
QEAKIAogLy8gVXNlIHRoaXMgZm9ybSBmb3Igc3RvcmVzLgogTWVtb3J5VmFsdWU6Ok1lbW9yeVZh
bHVlKE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZVN0b3JlLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmln
aW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBl
IG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIpCisg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBUd28sIG9yaWdpbiwgdmFsdWUs
IHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX3JhbmdlKHJhbmdlKQog
ICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNNZW1vcnlWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM01lbW9yeVZhbHVlLmgJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDEyICs4Niwx
MCBAQAogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmlu
dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0
IG92ZXJyaWRlOwotCisgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSW50LCB0eXBlbmFtZSA9
IElzTGVnYWxPZmZzZXQ8SW50PiwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIE1lbW9yeVZh
bHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2lu
LCBJbnQgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlLCBBcmd1
bWVudHMuLi4gYXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQs
IHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgIE1lbW9yeVZhbHVlKENoZWNrZWRPcGNv
ZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3Jp
Z2luIG9yaWdpbiwgSW50IG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VS
YW5nZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBraW5kLCB0eXBlLCBudW1DaGlsZHJlbiwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCiAgICAg
ICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICAgICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgICAg
ICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMDAsNiArOTgsNyBAQAogICAgIAogcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1
ZTsKIAogICAgIGJvb2wgaXNMZWdhbE9mZnNldEltcGwoaW50MzJfdCBvZmZzZXQpIGNvbnN0Owog
ICAgIGJvb2wgaXNMZWdhbE9mZnNldEltcGwoaW50NjRfdCBvZmZzZXQpIGNvbnN0OwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAJKHJldmlzaW9u
IDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSAiQjNWYWx1ZUtleUlu
bGluZXMuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KLQorI2luY2x1ZGUgIkIzVmFsaWRhdGUuaCIKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
QjMgewogCiBuYW1lc3BhY2UgewpAQCAtNTgsNyArNTgsNyBAQAogICAgICAgICAgICAgWyZdIChj
b25zdCBWYWx1ZUtleSYga2V5KSAtPiBib29sIHsKICAgICAgICAgICAgICAgICByZXR1cm4ga2V5
Lm9wY29kZSgpID09IENvbnN0RmxvYXQgfHwga2V5Lm9wY29kZSgpID09IENvbnN0RG91YmxlOwog
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIGxvd2VyRlBDb25zdGFudHMoKTsK
ICAgICAgICAgCiAgICAgICAgIGhvaXN0Q29uc3RhbnRzKApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NCwxMSArNDQsNiBAQAogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJudW1G
UFNjcmF0Y2hSZWdpc3RlcnMgPSAiLCBudW1GUFNjcmF0Y2hSZWdpc3RlcnMpOwogfQogCi1WYWx1
ZSogUGF0Y2hwb2ludFZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcg
UGF0Y2hwb2ludFZhbHVlKCp0aGlzKTsKLX0KLQogUGF0Y2hwb2ludFZhbHVlOjpQYXRjaHBvaW50
VmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQogICAgIDogQmFzZShDaGVja2VkT3Bjb2Rl
LCBQYXRjaHBvaW50LCB0eXBlLCBvcmlnaW4pCiAgICAgLCBlZmZlY3RzKEVmZmVjdHM6OmZvckNh
bGwoKSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1
ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRj
aHBvaW50VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTEgKzY0LDExIEBACiBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoVHlwZSwgT3Jp
Z2luKSB7IHJldHVybiBQYXRjaHBvaW50OyB9CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgUGF0Y2hw
b2ludFZhbHVlKFR5cGUsIE9yaWdpbik7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNQcm9jZWR1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDcgKzkzLDYg
QEAKICAgICByZXR1cm4gbV92YWx1ZXMuYWRkKFdURk1vdmUoY2xvbmUpKTsKIH0KIAotCiBWYWx1
ZSogUHJvY2VkdXJlOjphZGRJbnRDb25zdGFudChPcmlnaW4gb3JpZ2luLCBUeXBlIHR5cGUsIGlu
dDY0X3QgdmFsdWUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNQcm9jZWR1cmUuaAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5Miw3ICsyOTIs
NyBAQAogICAgIGJvb2wgbV9uZWVkc1VzZWRSZWdpc3RlcnMgeyB0cnVlIH07CiAgICAgYm9vbCBt
X2hhc1F1aXJrcyB7IGZhbHNlIH07CiB9OwotCisgICAgCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzUHJvY2VkdXJlSW5saW5lcy5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDEzICsyOSwxNCBAQAogCiAjaW5jbHVkZSAiQjNCYXNpY0Jsb2NrLmgiCiAjaW5jbHVk
ZSAiQjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJCM1ZhbHVlLmgiCiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgQjMgewotCisgICAgCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KIFZhbHVlVHlwZSogUHJvY2VkdXJlOjphZGQoQXJndW1lbnRz
Li4uIGFyZ3VtZW50cykKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsdWVUeXBlKj4oYWRk
VmFsdWVJbXBsKG5ldyBWYWx1ZVR5cGUoYXJndW1lbnRzLi4uKSkpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwoVmFsdWU6OmFsbG9jYXRlPFZhbHVlVHlw
ZT4oYXJndW1lbnRzLi4uKSkpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCShyZXZpc2lv
biAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYgQEAKICAgICBvdXQucHJpbnQoY29tbWEs
IHBvaW50ZXJEdW1wKG1fc2xvdCkpOwogfQogCi1WYWx1ZSogU2xvdEJhc2VWYWx1ZTo6Y2xvbmVJ
bXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFNsb3RCYXNlVmFsdWUoKnRoaXMpOwotfQot
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCShyZXZpc2lv
biAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ0LDEzICs0NCwxMyBAQAogcHJvdGVjdGVkOgogICAgIHZvaWQg
ZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0
YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgU3RhY2tTbG90KikgeyBy
ZXR1cm4gU2xvdEJhc2U7IH0KICAgICBTbG90QmFzZVZhbHVlKE9yaWdpbiBvcmlnaW4sIFN0YWNr
U2xvdCogc2xvdCkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBTbG90QmFzZSwgcG9p
bnRlclR5cGUoKSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFNsb3RC
YXNlLCBwb2ludGVyVHlwZSgpLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV9zbG90KHNsb3Qp
CiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFw
U3BlY2lhbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3Rh
Y2ttYXBTcGVjaWFsLmNwcAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMsMTEgKzgz
LDExIEBACiAKICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFwcGVu
ZWQuCiAgICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3MpOwot
ICAgIEFTU0VSVCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7
Ci0gICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA+PSB2YWx1
ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKTsKKyAgICBBU1NFUlQodmFs
dWUtPm51bUNoaWxkcmVuKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKGluc3Qu
YXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA+PSB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAt
IG51bUlnbm9yZWRCM0FyZ3MpOwogICAgIEFTU0VSVChpbnN0LmFyZ3NbMF0ua2luZCgpID09IEFy
Zzo6S2luZDo6U3BlY2lhbCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUt
PmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJn
czsgKytpKSB7CiAgICAgICAgIEFyZyYgYXJnID0gaW5zdC5hcmdzW2kgKyBudW1JZ25vcmVkQWly
QXJnc107CiAgICAgICAgIENvbnN0cmFpbmVkVmFsdWUgY2hpbGQgPSB2YWx1ZS0+Y29uc3RyYWlu
ZWRDaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAKQEAgLTE2MCwxNiArMTYwLDE2IEBACiAK
ICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFwcGVuZWQuCiAgICAg
QVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3MpOwotICAgIEFTU0VS
VCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNT
RVJUKHZhbHVlLT5udW1DaGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3MpOwogCiAgICAgLy8g
Rm9yIHRoZSBJbnN0IHRvIGJlIHZhbGlkLCBpdCBuZWVkcyB0byBoYXZlIHRoZSByaWdodCBudW1i
ZXIgb2YgYXJndW1lbnRzLgotICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFp
ckFyZ3MgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKQorICAg
IGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2YWx1ZS0+bnVtQ2hp
bGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIFJlZ2FyZGxlc3Mgb2YgY29uc3RyYWludHMsIHN0YWNrbWFwcyBoYXZlIHNvbWUgYmFzaWMg
cmVxdWlyZW1lbnRzIGZvciB0aGVpciBhcmd1bWVudHMuIEZvcgogICAgIC8vIGV4YW1wbGUsIHlv
dSBjYW4ndCBoYXZlIGEgbm9uLUZQLW9mZnNldCBhZGRyZXNzLiBUaGlzIHZlcmlmaWVzIHRob3Nl
IGNvbmRpdGlvbnMgYXMgd2VsbCBhcyB0aGUKICAgICAvLyBhcmd1bWVudCB0eXBlcy4KLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdu
b3JlZEIzQXJnczsgKytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5u
dW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CiAgICAgICAgIFZhbHVlKiBj
aGlsZCA9IHZhbHVlLT5jaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAgICAgICAgIEFyZyYg
YXJnID0gaW5zdC5hcmdzW2kgKyBudW1JZ25vcmVkQWlyQXJnc107CiAKQEAgLTE3OCw3ICsxNzgs
NyBAQAogICAgIH0KIAogICAgIC8vIFRoZSBudW1iZXIgb2YgY29uc3RyYWludHMgaGFzIHRvIGJl
IG5vIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIEIzIGNoaWxkcmVuLgotICAgIEFTU0VSVCh2
YWx1ZS0+bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkpOworICAgIEFT
U0VSVCh2YWx1ZS0+bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSk7CiAKICAg
ICAvLyBWZXJpZnkgYW55IGV4cGxpY2l0bHkgc3VwcGxpZWQgY29uc3RyYWludHMuCiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gbnVtSWdub3JlZEIzQXJnczsgaSA8IHZhbHVlLT5tX3JlcHMuc2l6ZSgp
OyArK2kpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFs
dWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
dGFja21hcFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQAogdm9pZCBT
dGFja21hcFZhbHVlOjphcHBlbmQoVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1ZVJlcCYgcmVwKQog
ewogICAgIGlmIChyZXAgPT0gVmFsdWVSZXA6OkNvbGRBbnkpIHsKLSAgICAgICAgY2hpbGRyZW4o
KS5hcHBlbmQodmFsdWUpOworICAgICAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZCh2YWx1ZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTQ0LDcgKzQ0LDcgQEAKICAgICB3aGlsZSAo
bV9yZXBzLnNpemUoKSA8IG51bUNoaWxkcmVuKCkpCiAgICAgICAgIG1fcmVwcy5hcHBlbmQoVmFs
dWVSZXA6OkNvbGRBbnkpOwogCi0gICAgY2hpbGRyZW4oKS5hcHBlbmQodmFsdWUpOworICAgIGNo
aWxkcmVuVmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICBtX3JlcHMuYXBwZW5kKHJlcCk7CiB9
CiAKQEAgLTg5LDcgKzg5LDcgQEAKIH0KIAogU3RhY2ttYXBWYWx1ZTo6U3RhY2ttYXBWYWx1ZShD
aGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKLSAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbikKKyAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbikKIHsKICAgICBBU1NF
UlQoYWNjZXB0cyhraW5kKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
dGFja21hcFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
U3RhY2ttYXBWYWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNTdGFja21hcFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDcgQEAK
IAogICAgIH5TdGFja21hcFZhbHVlKCk7CiAKLSAgICAvLyBVc2UgdGhpcyB0byBhZGQgY2hpbGRy
ZW4uIE5vdGUgdGhhdCB5b3UgY291bGQgYWxzbyBhZGQgY2hpbGRyZW4gYnkgZG9pbmcKLSAgICAv
LyBjaGlsZHJlbigpLmFwcGVuZCgpLiBUaGF0IHdpbGwgd29yayBmaW5lLCBidXQgaXQncyBub3Qg
cmVjb21tZW5kZWQuCisgICAgLy8gVXNlIHRoaXMgdG8gYWRkIGNoaWxkcmVuLgogICAgIHZvaWQg
YXBwZW5kKGNvbnN0IENvbnN0cmFpbmVkVmFsdWUmIHZhbHVlKQogICAgIHsKICAgICAgICAgYXBw
ZW5kKHZhbHVlLnZhbHVlKCksIHZhbHVlLnJlcCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2
LDEzICsxMDYsOCBAQAogICAgIG91dC5wcmludChjb21tYSwgImNhc2VzID0gWyIsIGxpc3REdW1w
KG1fdmFsdWVzKSwgIl0iKTsKIH0KIAotVmFsdWUqIFN3aXRjaFZhbHVlOjpjbG9uZUltcGwoKSBj
b25zdAotewotICAgIHJldHVybiBuZXcgU3dpdGNoVmFsdWUoKnRoaXMpOwotfQotCiBTd2l0Y2hW
YWx1ZTo6U3dpdGNoVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGNoaWxkKQotICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgU3dpdGNoLCBWb2lkLCBvcmlnaW4sIGNoaWxkKQorICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgU3dpdGNoLCBWb2lkLCBPbmUsIG9yaWdpbiwgY2hpbGQpCiB7CiB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaAkocmV2aXNp
b24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaAko
d29ya2luZyBjb3B5KQpAQCAtNjcsMTEgKzY3LDExIEBACiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBk
dW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0g
ICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3Rh
dGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1ZSopIHsgcmV0dXJu
IFN3aXRjaDsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN3aXRjaFZhbHVlKE9yaWdpbiwgVmFs
dWUqIGNoaWxkKTsKIAogICAgIFZlY3RvcjxpbnQ2NF90PiBtX3ZhbHVlczsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmNwcAkocmV2aXNpb24gMjQzMzMw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICAgICB9CiB9CiAKLVZhbHVlKiBVcHNpbG9uVmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBVcHNpbG9uVmFsdWUoKnRo
aXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShC
M19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAko
cmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxNiBAQAogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBW
YWx1ZSogPSBudWxscHRyKSB7IHJldHVybiBVcHNpbG9uOyB9CiAgICAgLy8gTm90ZSB0aGF0IHBh
c3NpbmcgdGhlIFBoaSBkdXJpbmcgY29uc3RydWN0aW9uIGlzIG9wdGlvbmFsLiBBIHZhbGlkIHBh
dHRlcm4gaXMgdG8gZmlyc3QgY3JlYXRlCiAgICAgLy8gdGhlIFVwc2lsb25zIHdpdGhvdXQgdGhl
IFBoaSwgdGhlbiBjcmVhdGUgdGhlIFBoaSwgdGhlbiBnbyBiYWNrIGFuZCB0ZWxsIHRoZSBVcHNp
bG9ucyBhYm91dAogICAgIC8vIHRoZSBQaGkuIFRoaXMgYWxsb3dzIHlvdSB0byBlbWl0IGNvZGUg
aW4gaXRzIG5hdHVyYWwgb3JkZXIuCiAgICAgVXBzaWxvblZhbHVlKE9yaWdpbiBvcmlnaW4sIFZh
bHVlKiB2YWx1ZSwgVmFsdWUqIHBoaSA9IG51bGxwdHIpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgVXBzaWxvbiwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICAgICAgOiBWYWx1ZShD
aGVja2VkT3Bjb2RlLCBVcHNpbG9uLCBWb2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAgICAg
ICwgbV9waGkocGhpKQogICAgIHsKICAgICAgICAgaWYgKHBoaSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsMTAgQEAK
IAogVmFsdWU6On5WYWx1ZSgpCiB7CisgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykg
eworICAgICAgICBjaGFyKiBhbGxvYyA9IGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBhZGph
Y2VuY3lMaXN0T2Zmc2V0KCk7CisgICAgICAgIGFsbG9jLT5+VmVjdG9yPFZhbHVlKj4oKTsKKyAg
ICB9CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoSWRlbnRpdHkoVmFsdWUqIHZhbHVlKQpA
QCAtNjIsNyArNjYsNyBAQAogICAgIC8vIGEgcGxhaW4gSWRlbnRpdHkgVmFsdWUuIFdlIGZpcnN0
IGNvbGxlY3QgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiB3ZSBuZWVkLCB0aGVuIHdlIGRlc3RydWN0
IHRoZQogICAgIC8vIHByZXZpb3VzIHZhbHVlIGluIHBsYWNlLCBhbmQgdGhlbiB3ZSBjb25zdHJ1
Y3QgdGhlIElkZW50aXR5IFZhbHVlIGluIHBsYWNlLgogCi0gICAgQVNTRVJUKG1fdHlwZSA9PSB2
YWx1ZS0+bV90eXBlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3R5cGUgPT0gdmFsdWUtPnR5cGUo
KSk7CiAKICAgICBpZiAobV90eXBlID09IFZvaWQpIHsKICAgICAgICAgcmVwbGFjZVdpdGhOb3BJ
Z25vcmluZ1R5cGUoKTsKQEAgLTc0LDggKzc4LDYgQEAKICAgICBPcmlnaW4gb3JpZ2luID0gbV9v
cmlnaW47CiAgICAgQmFzaWNCbG9jayogb3duZXIgPSB0aGlzLT5vd25lcjsKIAotICAgIFJFTEVB
U0VfQVNTRVJUKHR5cGUgPT0gdmFsdWUtPnR5cGUoKSk7Ci0KICAgICB0aGlzLT5+VmFsdWUoKTsK
IAogICAgIG5ldyAodGhpcykgVmFsdWUoSWRlbnRpdHksIHR5cGUsIG9yaWdpbiwgdmFsdWUpOwpA
QCAtMTM1LDcgKzEzNyw3IEBACiAgICAgCiAgICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4Owog
ICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICAKKwogICAgIHRoaXMtPn5WYWx1ZSgp
OwogICAgIAogICAgIG5ldyAodGhpcykgVmFsdWUoSnVtcCwgVm9pZCwgb3JpZ2luKTsKQEAgLTE1
Miw3ICsxNTQsNyBAQAogICAgIAogICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsKICAgICBP
cmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAgCisKICAgICB0aGlzLT5+VmFsdWUoKTsKICAg
ICAKICAgICBuZXcgKHRoaXMpIFZhbHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7CkBAIC0yMDQsMTEg
KzIwNiw2IEBACiAgICAgICAgIG91dC5wcmludCgiKSIpOwogfQogCi1WYWx1ZSogVmFsdWU6OmNs
b25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBWYWx1ZSgqdGhpcyk7Ci19Ci0KIHZv
aWQgVmFsdWU6OmR1bXBDaGlsZHJlbihDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogewogICAgIGZvciAoVmFsdWUqIGNoaWxkIDogY2hpbGRyZW4oKSkKQEAgLTQ1
NywxMSArNDU0LDExIEBACiAKIFZhbHVlKiBWYWx1ZTo6aW52ZXJ0ZWRDb21wYXJlKFByb2NlZHVy
ZSYgcHJvYykgY29uc3QKIHsKLSAgICBpZiAoIW51bUNoaWxkcmVuKCkpCisgICAgaWYgKG51bUNo
aWxkcmVuKCkgIT0gMikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKE9wdGlvbmFs
PE9wY29kZT4gaW52ZXJ0ZWRPcGNvZGUgPSBCMzo6aW52ZXJ0ZWRDb21wYXJlKG9wY29kZSgpLCBj
aGlsZCgwKS0+dHlwZSgpKSkgewogICAgICAgICBBU1NFUlQoIWtpbmQoKS5oYXNFeHRyYUJpdHMo
KSk7Ci0gICAgICAgIHJldHVybiBwcm9jLmFkZDxWYWx1ZT4oKmludmVydGVkT3Bjb2RlLCB0eXBl
KCksIG9yaWdpbigpLCBjaGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVl
PigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkKDApLCBjaGlsZCgxKSk7
CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtNDk1LDYgKzQ5Miw3IEBACiB7CiAg
ICAgaWYgKHR5cGUoKSAhPSBJbnQzMikKICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgc3dp
dGNoIChvcGNvZGUoKSkgewogICAgIGNhc2UgQ29uc3QzMjoKICAgICAgICAgcmV0dXJuIGFzSW50
MzIoKSA9PSAwIHx8IGFzSW50MzIoKSA9PSAxOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZS5oCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw4ICszNyw3IEBACiAjaW5jbHVkZSAiQjNWYWx1
ZUtleS5oIgogI2luY2x1ZGUgIkIzV2lkdGguaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVy
Lmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KKyNpbmNsdWRlIDx3dGYvSXRlcmF0b3JSYW5nZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVHJpU3RhdGUuaD4KIApAQCAtNTEsNyArNTAsNyBA
QAogY2xhc3MgUHJvY2VkdXJlOwogCiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBWYWx1ZSB7Ci0g
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgLy8gV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBWZWN0b3I8VmFsdWUqLCAzPiBBZGphY2VuY3lMaXN0
OwogCkBAIC04MiwyNCArODEsNjcgQEAKICAgICBPcmlnaW4gb3JpZ2luKCkgY29uc3QgeyByZXR1
cm4gbV9vcmlnaW47IH0KICAgICB2b2lkIHNldE9yaWdpbihPcmlnaW4gb3JpZ2luKSB7IG1fb3Jp
Z2luID0gb3JpZ2luOyB9CiAgICAgCi0gICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkg
eyByZXR1cm4gbV9jaGlsZHJlbltpbmRleF07IH0KLSAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQg
aW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhdOyB9Ci0KLSAgICBWYWx1ZSom
IGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0gICAgVmFsdWUqIGxh
c3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0KLSAgICB1bnNp
Z25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4uc2l6ZSgpOyB9Ci0K
ICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICB2b2lkIHNldFR5
cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KLQorICAgIAogICAgIC8vIFRoaXMgaXMg
dXNlZnVsIHdoZW4gbG93ZXJpbmcuIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgdmFsaWQgZm9yIG5v
bi12b2lkIHZhbHVlcy4KICAgICBCYW5rIHJlc3VsdEJhbmsoKSBjb25zdCB7IHJldHVybiBiYW5r
Rm9yVHlwZSh0eXBlKCkpOyB9CiAgICAgV2lkdGggcmVzdWx0V2lkdGgoKSBjb25zdCB7IHJldHVy
biB3aWR0aEZvclR5cGUodHlwZSgpKTsgfQogCi0gICAgQWRqYWNlbmN5TGlzdCYgY2hpbGRyZW4o
KSB7IHJldHVybiBtX2NoaWxkcmVuOyB9IAotICAgIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorICAgIHVuc2lnbmVkIG51bUNoaWxk
cmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3Mp
CisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7CisgICAgICAgIHJl
dHVybiBtX251bUNoaWxkcmVuOworICAgIH0KKyAgICAKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2ln
bmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtQ2hpbGRyZW4oKSk7
CisgICAgICAgIHJldHVybiBtX251bUNoaWxkcmVuID09IFZhckFyZ3MgPyBjaGlsZHJlblZlY3Rv
cigpW2luZGV4XSA6IGNoaWxkcmVuQXJyYXkoKVtpbmRleF07CisgICAgfQorICAgIFZhbHVlKiBj
aGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8
IG51bUNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJBcmdz
ID8gY2hpbGRyZW5WZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOworICAg
IH0KKyAgICAKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpCisgICAgeworICAgICAgICBpZiAobV9u
dW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9y
KCkubGFzdCgpOworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAxKTsKKyAgICAgICAg
cmV0dXJuIGNoaWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07CisgICAgfQorICAgIFZh
bHVlKiBsYXN0Q2hpbGQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4g
PT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsK
KyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVybiBjaGls
ZHJlbkFycmF5KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KIAorICAgIFdURjo6SXRlcmF0
b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpCisgICAgeworICAgICAgICBpZiAobV9udW1DaGls
ZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hp
bGRyZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdl
KCYqdmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIFZhbHVlKiogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICAgICAgcmV0dXJu
IHtidWZmZXIsIGJ1ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdAorICAg
IHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykgeworICAgICAgICAgICAg
Y29uc3QgVmVjdG9yPFZhbHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7CisgICAgICAgICAg
ICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQo
KSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBWYWx1ZSogY29uc3QqIGJ1ZmZlciA9
IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBt
X251bUNoaWxkcmVuIH07CisgICAgICAgIH0KKyAgICB9CisKICAgICAvLyBJZiB5b3Ugd2FudCB0
byByZXBsYWNlIGFsbCB1c2VzIG9mIHRoaXMgdmFsdWUgd2l0aCBhIGRpZmZlcmVudCB2YWx1ZSwg
dGhlbiByZXBsYWNlIHRoaXMKICAgICAvLyB2YWx1ZSB3aXRoIElkZW50aXR5LiBUaGVuIGRvIGEg
cGFzcyBvZiBwZXJmb3JtU3Vic3RpdHV0aW9uKCkgb24gYWxsIG9mIHRoZSB2YWx1ZXMgdGhhdCB1
c2UKICAgICAvLyB0aGlzIG9uZS4gVXN1YWxseSB3ZSBkbyBhbGwgb2YgdGhpcyBpbiBvbmUgcGFz
cyBpbiBwcmUtb3JkZXIsIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUKQEAgLTMwMSwxOSArMzQzLDIw
OSBAQAogICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzaXplb2YoSW50KSA8PSBzaXpl
b2YoT2Zmc2V0VHlwZSk+Ojp0eXBlCiAgICAgPiB7IH07CiAKK3Byb3RlY3RlZDoKKyAgICBWYWx1
ZSogY2xvbmVJbXBsKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIFZhbHVlKiBj
bG9uZUltcGwoKSBjb25zdDsKLSAgICAKICAgICB2aXJ0dWFsIHZvaWQgZHVtcENoaWxkcmVuKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGR1bXBN
ZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAKLXByaXZhdGU6CisgICAg
Ly8gVGhlIHNwZWNpZmljIHZhbHVlIG9mIFZhckFyZ3MgZG9lcyBub3QgbWF0dGVyLCBidXQgdGhl
IHZhbHVlIG9mIHRoZSBvdGhlcnMgaXMgYXNzdW1lZCB0byBtYXRjaCB0aGVpciBtZWFuaW5nLgor
ICAgIGVudW0gTnVtQ2hpbGRyZW4gOiB1aW50OF90IHsgWmVybyA9IDAsIE9uZSA9IDEsIFR3byA9
IDIsIFRocmVlID0gMywgVmFyQXJncyA9IDR9OworCisgICAgY2hhciogY2hpbGRyZW5BbGxvYygp
IHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBhZGphY2VuY3lMaXN0T2Zmc2V0
KCk7IH0KKyAgICBjb25zdCBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgY29uc3QgeyByZXR1cm4gYml0
d2lzZV9jYXN0PGNvbnN0IGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQor
ICAgIFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpCisgICAgeworICAgICAgICBBU1NF
UlQobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nh
c3Q8VmVjdG9yPFZhbHVlKj4qPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKyAgICBjb25zdCBW
ZWN0b3I8VmFsdWUqPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNT
RVJUKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiAqYml0d2lzZV9j
YXN0PFZlY3RvcjxWYWx1ZSo+IGNvbnN0Kj4oY2hpbGRyZW5BbGxvYygpKTsKKyAgICB9CisgICAg
VmFsdWUqKiBjaGlsZHJlbkFycmF5KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxk
cmVuICE9IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGNo
aWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgp
IGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiAhPSBWYXJBcmdzKTsK
KyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihjaGlsZHJlbkFsbG9j
KCkpOworICAgIH0KKworICAgIHN0YXRpYyBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNlKE51bUNo
aWxkcmVuIG51bUNoaWxkcmVuKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChudW1DaGlsZHJlbikg
eworICAgICAgICBjYXNlIFZhbHVlOjpaZXJvOgorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIGNhc2UgVmFsdWU6Ok9uZToKKyAgICAgICAgICAgIHJldHVybiBzaXplb2YoVmFsdWUqKTsK
KyAgICAgICAgY2FzZSBWYWx1ZTo6VHdvOgorICAgICAgICAgICAgcmV0dXJuIDIgKiBzaXplb2Yo
VmFsdWUqKTsKKyAgICAgICAgY2FzZSBWYWx1ZTo6VGhyZWU6CisgICAgICAgICAgICByZXR1cm4g
MyAqIHNpemVvZihWYWx1ZSopOworICAgICAgICBjYXNlIFZhbHVlOjpWYXJBcmdzOgorICAgICAg
ICAgICAgcmV0dXJuIHNpemVvZihWZWN0b3I8VmFsdWUqPik7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgc3RhdGljIE9wY29kZSBv
cGNvZGVGcm9tQ29uc3RydWN0b3IoS2luZCBraW5kLCBBcmd1bWVudHMuLi4pIHsgcmV0dXJuIGtp
bmQub3Bjb2RlKCk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBOdW1DaGlsZHJlbiBtYXhO
dW1DaGlsZHJlbihLaW5kIGtpbmQpCisgICAgeworICAgICAgICBzd2l0Y2ggKGtpbmQub3Bjb2Rl
KCkpIHsKKyAgICAgICAgICAgIGNhc2UgRnJhbWVQb2ludGVyOgorICAgICAgICAgICAgY2FzZSBO
b3A6CisgICAgICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgICAgIGNhc2UgSnVtcDoKKyAgICAg
ICAgICAgIGNhc2UgT29wczoKKyAgICAgICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CisgICAgICAg
ICAgICBjYXNlIEFyZ3VtZW50UmVnOgorICAgICAgICAgICAgY2FzZSBDb25zdDMyOgorICAgICAg
ICAgICAgY2FzZSBDb25zdDY0OgorICAgICAgICAgICAgY2FzZSBDb25zdEZsb2F0OgorICAgICAg
ICAgICAgY2FzZSBDb25zdERvdWJsZToKKyAgICAgICAgICAgIGNhc2UgRmVuY2U6CisgICAgICAg
ICAgICBjYXNlIFNsb3RCYXNlOgorICAgICAgICAgICAgY2FzZSBHZXQ6CisgICAgICAgICAgICAg
ICAgcmV0dXJuIFplcm87CisgICAgICAgICAgICBjYXNlIFJldHVybjoKKyAgICAgICAgICAgIGNh
c2UgSWRlbnRpdHk6CisgICAgICAgICAgICBjYXNlIE9wYXF1ZToKKyAgICAgICAgICAgIGNhc2Ug
TmVnOgorICAgICAgICAgICAgY2FzZSBDbHo6CisgICAgICAgICAgICBjYXNlIEFiczoKKyAgICAg
ICAgICAgIGNhc2UgQ2VpbDoKKyAgICAgICAgICAgIGNhc2UgRmxvb3I6CisgICAgICAgICAgICBj
YXNlIFNxcnQ6CisgICAgICAgICAgICBjYXNlIFNFeHQ4OgorICAgICAgICAgICAgY2FzZSBTRXh0
MTY6CisgICAgICAgICAgICBjYXNlIFRydW5jOgorICAgICAgICAgICAgY2FzZSBTRXh0MzI6Cisg
ICAgICAgICAgICBjYXNlIFpFeHQzMjoKKyAgICAgICAgICAgIGNhc2UgRmxvYXRUb0RvdWJsZToK
KyAgICAgICAgICAgIGNhc2UgSVRvRDoKKyAgICAgICAgICAgIGNhc2UgRG91YmxlVG9GbG9hdDoK
KyAgICAgICAgICAgIGNhc2UgSVRvRjoKKyAgICAgICAgICAgIGNhc2UgQml0d2lzZUNhc3Q6Cisg
ICAgICAgICAgICBjYXNlIEJyYW5jaDoKKyAgICAgICAgICAgIGNhc2UgRGVwZW5kOgorICAgICAg
ICAgICAgY2FzZSBMb2FkOFo6CisgICAgICAgICAgICBjYXNlIExvYWQ4UzoKKyAgICAgICAgICAg
IGNhc2UgTG9hZDE2WjoKKyAgICAgICAgICAgIGNhc2UgTG9hZDE2UzoKKyAgICAgICAgICAgIGNh
c2UgTG9hZDoKKyAgICAgICAgICAgIGNhc2UgU3dpdGNoOgorICAgICAgICAgICAgY2FzZSBVcHNp
bG9uOgorICAgICAgICAgICAgY2FzZSBTZXQ6CisgICAgICAgICAgICBjYXNlIFdhc21BZGRyZXNz
OgorICAgICAgICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6CisgICAgICAgICAgICAgICAgcmV0
dXJuIE9uZTsKKyAgICAgICAgICAgIGNhc2UgQWRkOgorICAgICAgICAgICAgY2FzZSBTdWI6Cisg
ICAgICAgICAgICBjYXNlIE11bDoKKyAgICAgICAgICAgIGNhc2UgRGl2OgorICAgICAgICAgICAg
Y2FzZSBVRGl2OgorICAgICAgICAgICAgY2FzZSBNb2Q6CisgICAgICAgICAgICBjYXNlIFVNb2Q6
CisgICAgICAgICAgICBjYXNlIEJpdEFuZDoKKyAgICAgICAgICAgIGNhc2UgQml0T3I6CisgICAg
ICAgICAgICBjYXNlIEJpdFhvcjoKKyAgICAgICAgICAgIGNhc2UgU2hsOgorICAgICAgICAgICAg
Y2FzZSBTU2hyOgorICAgICAgICAgICAgY2FzZSBaU2hyOgorICAgICAgICAgICAgY2FzZSBSb3RS
OgorICAgICAgICAgICAgY2FzZSBSb3RMOgorICAgICAgICAgICAgY2FzZSBFcXVhbDoKKyAgICAg
ICAgICAgIGNhc2UgTm90RXF1YWw6CisgICAgICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAg
ICAgICAgY2FzZSBHcmVhdGVyVGhhbjoKKyAgICAgICAgICAgIGNhc2UgTGVzc0VxdWFsOgorICAg
ICAgICAgICAgY2FzZSBHcmVhdGVyRXF1YWw6CisgICAgICAgICAgICBjYXNlIEFib3ZlOgorICAg
ICAgICAgICAgY2FzZSBCZWxvdzoKKyAgICAgICAgICAgIGNhc2UgQWJvdmVFcXVhbDoKKyAgICAg
ICAgICAgIGNhc2UgQmVsb3dFcXVhbDoKKyAgICAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJl
ZDoKKyAgICAgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAgICAgICAgICAgIGNhc2UgQXRv
bWljWGNoZ0FuZDoKKyAgICAgICAgICAgIGNhc2UgQXRvbWljWGNoZ09yOgorICAgICAgICAgICAg
Y2FzZSBBdG9taWNYY2hnU3ViOgorICAgICAgICAgICAgY2FzZSBBdG9taWNYY2hnWG9yOgorICAg
ICAgICAgICAgY2FzZSBBdG9taWNYY2hnOgorICAgICAgICAgICAgY2FzZSBTdG9yZTg6CisgICAg
ICAgICAgICBjYXNlIFN0b3JlMTY6CisgICAgICAgICAgICBjYXNlIFN0b3JlOgorICAgICAgICAg
ICAgICAgIHJldHVybiBUd287CisgICAgICAgICAgICBjYXNlIFNlbGVjdDoKKyAgICAgICAgICAg
IGNhc2UgQXRvbWljV2Vha0NBUzoKKyAgICAgICAgICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOgor
ICAgICAgICAgICAgICAgIHJldHVybiBUaHJlZTsKKyAgICAgICAgICAgIGNhc2UgQ0NhbGw6Cisg
ICAgICAgICAgICBjYXNlIENoZWNrOgorICAgICAgICAgICAgY2FzZSBDaGVja0FkZDoKKyAgICAg
ICAgICAgIGNhc2UgQ2hlY2tTdWI6CisgICAgICAgICAgICBjYXNlIENoZWNrTXVsOgorICAgICAg
ICAgICAgY2FzZSBQYXRjaHBvaW50OgorICAgICAgICAgICAgICAgIHJldHVybiBWYXJBcmdzOwor
ICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gVmFy
QXJnczsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1l
Li4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgVmFsdWVUeXBlKiBhbGxvY2F0ZShBcmd1bWVudHMu
Li4gYXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgVmFsdWU6Ok51bUNoaWxkcmVuIG1heE51bUNo
aWxkcmVuID0gVmFsdWU6Om1heE51bUNoaWxkcmVuKFZhbHVlVHlwZTo6b3Bjb2RlRnJvbUNvbnN0
cnVjdG9yKGFyZ3VtZW50cy4uLikpOworICAgICAgICBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNl
ID0gVmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShtYXhOdW1DaGlsZHJlbik7CisgICAgICAgIC8v
IFdlIG11c3QgYWxsb2NhdGUgZW5vdWdoIHNwYWNlIHRoYXQgcmVwbGFjZVdpdGhJZGVudGl0eSBj
YW4gd29yayB3aXRob3V0IGJ1ZmZlciBvdmVyZmxvdy4KKyAgICAgICAgc2l6ZV90IGFsbG9jSWRl
bnRpdHlTaXplID0gVmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShPbmUpICsgc2l6ZW9mKFZhbHVl
KTsKKyAgICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KGFkamFjZW5jeUxpc3RTcGFj
ZSArIHNpemVvZihWYWx1ZVR5cGUpLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAgIGNoYXIq
IGFsbG9jID0gc3RhdGljX2Nhc3Q8Y2hhcio+KDo6b3BlcmF0b3IgbmV3KGFsbG9jU2l6ZSkpOwor
ICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5ldyAoYWxsb2MpIFZhbHVlVHlwZShhcmd1bWVu
dHMuLi4pOworLy8jaWZuZGVmIE5ERUJVRworICAgICAgICByZXN1bHQtPnRvdGFsQWxsb2NTaXpl
ID0gYWxsb2NTaXplOworLy8jZW5kaWYKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRpYyBWYWx1ZVR5cGUqIGFs
bG9jYXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAgICAgVmFs
dWU6Ok51bUNoaWxkcmVuIG1heE51bUNoaWxkcmVuID0gVmFsdWU6Om1heE51bUNoaWxkcmVuKHZh
bHVlVG9DbG9uZS5raW5kKCkpOworICAgICAgICBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNlID0g
VmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShtYXhOdW1DaGlsZHJlbik7CisgICAgICAgIC8vIFdl
IG11c3QgYWxsb2NhdGUgZW5vdWdoIHNwYWNlIHRoYXQgcmVwbGFjZVdpdGhJZGVudGl0eSBjYW4g
d29yayB3aXRob3V0IGJ1ZmZlciBvdmVyZmxvdy4KKyAgICAgICAgc2l6ZV90IGFsbG9jSWRlbnRp
dHlTaXplID0gVmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShPbmUpICsgc2l6ZW9mKFZhbHVlKTsK
KyAgICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KGFkamFjZW5jeUxpc3RTcGFjZSAr
IHNpemVvZihWYWx1ZVR5cGUpLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAgIGNoYXIqIGFs
bG9jID0gc3RhdGljX2Nhc3Q8Y2hhcio+KDo6b3BlcmF0b3IgbmV3KGFsbG9jU2l6ZSkpOworICAg
ICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5ldyAoYWxsb2MpIFZhbHVlVHlwZSh2YWx1ZVRvQ2xv
bmUpOworLy8jaWZuZGVmIE5ERUJVRworICAgICAgICByZXN1bHQtPnRvdGFsQWxsb2NTaXplID0g
YWxsb2NTaXplOworLy8jZW5kaWYKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAg
CisgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RPZmZzZXQoKSBjb25zdDsKKwogICAgIGZyaWVuZCBj
bGFzcyBQcm9jZWR1cmU7CiAgICAgZnJpZW5kIGNsYXNzIFNwYXJzZUNvbGxlY3Rpb248VmFsdWU+
OwogCitwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICB2
b2lkIGJ1aWxkQWRqYWNlbmN5TGlzdChOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgQXJndW1lbnRz
Li4uIGFyZ3VtZW50cykgeworICAgICAgICBpZiAobnVtQ2hpbGRyZW4gPT0gVmFyQXJncykgewor
ICAgICAgICAgICAgbmV3IChjaGlsZHJlbkFsbG9jKCkpIFZlY3RvcjxWYWx1ZSo+IHsgYXJndW1l
bnRzLi4uIH0gOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VChudW1DaGlsZHJlbiA9PSBzaXplb2YuLi4oYXJndW1lbnRzKSk7CisgICAgICAgIG5ldyAoY2hp
bGRyZW5BbGxvYygpKSBWYWx1ZSpbc2l6ZW9mLi4uKGFyZ3VtZW50cyldIHsgYXJndW1lbnRzLi4u
IH07CisgICAgfQorICAgIAogICAgIC8vIENoZWNrcyB0aGF0IHRoaXMga2luZCBpcyB2YWxpZCBm
b3IgdXNlIHdpdGggQjM6OlZhbHVlLgotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQgY2hl
Y2tLaW5kKEtpbmQga2luZCwgdW5zaWduZWQgbnVtQXJncykKKyAgICBBTFdBWVNfSU5MSU5FIHN0
YXRpYyBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbkZvcktpbmQoS2luZCBraW5kLCB1bnNpZ25lZCBu
dW1BcmdzKQogICAgIHsKICAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CiAgICAgICAg
IGNhc2UgRnJhbWVQb2ludGVyOgpAQCAtMzI0LDExICs1NTYsMTEgQEAKICAgICAgICAgY2FzZSBF
bnRyeVN3aXRjaDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzKSkKICAgICAgICAg
ICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICByZXR1cm4gWmVybzsKICAgICAgICAgY2FzZSBSZXR1cm46CiAgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkobnVtQXJncyA+IDEpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwg
bnVtQXJncyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBudW1Bcmdz
ID8gT25lIDogWmVybzsKICAgICAgICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBPcGFx
dWU6CiAgICAgICAgIGNhc2UgTmVnOgpAQCAtMzUxLDcgKzU4Myw3IEBACiAgICAgICAgIGNhc2Ug
RGVwZW5kOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMSkpCiAgICAgICAg
ICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIE9uZTsKICAgICAgICAgY2FzZSBBZGQ6CiAgICAgICAgIGNhc2UgU3Vi
OgogICAgICAgICBjYXNlIE11bDoKQEAgLTM4MCwxNSArNjEyLDE2IEBACiAgICAgICAgIGNhc2Ug
RXF1YWxPclVub3JkZXJlZDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzICE9IDIp
KQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIHJldHVybiBUd287CiAgICAgICAgIGNhc2UgU2VsZWN0OgogICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMykpCiAgICAgICAgICAgICAgICAgYmFk
S2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0
dXJuIFRocmVlOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYmFkS2luZChraW5kLCBu
dW1BcmdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIHJldHVybiBW
YXJBcmdzOwogICAgIH0KIAogcHJvdGVjdGVkOgpAQCAtNDAwLDk4ICs2MzMsNzQgQEAKICAgICAv
LyBJbnN0YW50aWF0ZSB2YWx1ZXMgdmlhIFByb2NlZHVyZS4KICAgICAvLyBUaGlzIGZvcm0gcmVx
dWlyZXMgc3BlY2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5OgogICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBL
aW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFy
Z3VtZW50cy4uLiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4g
b3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKICAgICAg
ICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251
bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAg
ICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4gfQogICAgIHsKKyAgICAg
ICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBhcmd1bWVudHMu
Li4pOwogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHNwZWNpZnlpbmcgdGhlIHR5cGUg
ZXhwbGljaXRseSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNoaWxkcmVuOgotICAgIGV4cGxpY2l0
IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3Jp
Z2luKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlw
ZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikKICAgICAgICAg
OiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251bUNo
aWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKICAgICB7Cisg
ICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbik7CiAgICAgfQotICAgIC8vIFRo
aXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZy
b20gdGhlIG9wY29kZSBhbmQgZmlyc3QgY2hpbGQ6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJndW1lbnRzPgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2lu
ZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQpCi0gICAgICAgIDogbV9raW5kKGtp
bmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkpCi0gICAgICAg
ICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57IGZpcnN0Q2hpbGQgfQot
ICAgIHsKLSAgICB9Ci0gICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQg
Y2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBhbmQgc2Vjb25k
IGNoaWxkOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNp
dCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiBmaXJzdENoaWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMp
Ci0gICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwg
Zmlyc3RDaGlsZCwgc2Vjb25kQ2hpbGQpKQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAg
ICAgICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJndW1lbnRzLi4u
IH0KLSAgICB7Ci0gICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0
aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbG9uZSwgYW5kIHRoYXQg
ZG9uJ3QKICAgICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hl
Y2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZh
bHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4s
IE9yaWdpbiBvcmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBl
KHR5cGVGb3Ioa2luZCwgbnVsbHB0cikpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGls
ZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgeworICAgICAgICBidWlsZEFk
amFjZW5jeUxpc3QobnVtQ2hpbGRyZW4pOwogICAgIH0KLSAgICAvLyBVc2UgdGhpcyBmb3JtIGZv
ciB2YXJhcmdzLgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2lu
ZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJl
bikKKyAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5mZXIg
dGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgorICAgIGV4cGxpY2l0
IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRy
ZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQogICAgICAgICA6IG1fa2luZChr
aW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtp
bmQsIGZpcnN0Q2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAg
ICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oY2hpbGRyZW4p
CiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4sIGZpcnN0Q2hp
bGQpOwogICAgIH0KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtp
bmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQor
ICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVp
ciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgYW5kIHNlY29uZCBjaGlsZDoKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tl
ZE9wY29kZVRhZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9y
aWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1lbnRzLi4u
IGFyZ3VtZW50cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlw
ZSkKKyAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkLCBzZWNvbmRDaGls
ZCkpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29y
aWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihXVEZNb3ZlKGNoaWxkcmVuKSkKICAg
ICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCwg
c2Vjb25kQ2hpbGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogCiAgICAgLy8gVGhpcyBpcyB0aGUg
Y29uc3RydWN0b3IgeW91IGVuZCB1cCBhY3R1YWxseSBjYWxsaW5nLCBpZiB5b3UncmUgaW5zdGFu
dGlhdGluZyBWYWx1ZQogICAgIC8vIGRpcmVjdGx5LgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmln
aW4gb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFpl
cm8sIG9yaWdpbikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCAwKTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW5Gb3JLaW5kKGtpbmQsIDApID09IFplcm8pOwogICAg
IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0
IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RD
aGlsZCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgZmlyc3RDaGlsZCwgc3RkOjpmb3J3YXJkPEFyZ3Vt
ZW50cz4oYXJndW1lbnRzKS4uLikKKyAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIE9yaWdp
biBvcmlnaW4sIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVj
a2VkT3Bjb2RlLCBraW5kLCBudW1DaGlsZHJlbkZvcktpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3Vt
ZW50cykpLCBvcmlnaW4sIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCiAg
ICAgewotICAgICAgICBjaGVja0tpbmQoa2luZCwgMSArIHNpemVvZi4uLihhcmd1bWVudHMpKTsK
ICAgICB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgICAgICBleHBs
aWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgY29uc3QgQWRq
YWNlbmN5TGlzdCYgY2hpbGRyZW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgdHlwZSwgb3JpZ2luLCBjaGlsZHJlbikKKyAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQs
IFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cyYm
Li4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBl
LCBudW1DaGlsZHJlbkZvcktpbmQoa2luZCwgMSArIHNpemVvZi4uLihhcmd1bWVudHMpKSwgb3Jp
Z2luLCBmaXJzdENoaWxkLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQog
ICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIGNoaWxkcmVuLnNpemUoKSk7CiAgICAgfQot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFs
dWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3QmJiBj
aGlsZHJlbikKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmln
aW4sIFdURk1vdmUoY2hpbGRyZW4pKQotICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIG1f
Y2hpbGRyZW4uc2l6ZSgpKTsKLSAgICB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1l
bnRzPgotICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIEFy
Z3VtZW50cyYmLi4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBr
aW5kLCBvcmlnaW4sIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCi0gICAg
ewotICAgICAgICBjaGVja0tpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwotICAgIH0K
IAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ2hlY2tWYWx1ZTsgLy8gQ2hlY2tWYWx1ZTo6
Y29udmVydFRvQWRkKCkgbW9kaWZpZXMgbV9raW5kLgotICAgIAorCiAgICAgc3RhdGljIFR5cGUg
dHlwZUZvcihLaW5kLCBWYWx1ZSogZmlyc3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkID0gbnVs
bHB0cik7CiAKICAgICAvLyBUaGlzIGdyb3VwIG9mIGZpZWxkcyBpcyBhcnJhbmdlZCB0byBmaXQg
aW4gNjQgYml0cy4KQEAgLTUwMCw5ICs3MDksMTEgQEAKIHByaXZhdGU6CiAgICAgS2luZCBtX2tp
bmQ7CiAgICAgVHlwZSBtX3R5cGU7Ci0gICAgCisgICAgTnVtQ2hpbGRyZW4gbV9udW1DaGlsZHJl
bjsKICAgICBPcmlnaW4gbV9vcmlnaW47Ci0gICAgQWRqYWNlbmN5TGlzdCBtX2NoaWxkcmVuOwor
Ly8jaWZuZGVmIE5ERUJVRworICAgIHNpemVfdCB0b3RhbEFsbG9jU2l6ZTsKKy8vI2VuZGlmCiAK
ICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHN0YXRpYyB2b2lkIGJhZEtpbmQoS2luZCwgdW5z
aWduZWQpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGluZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGluZXMu
aAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVJ
bmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDE5ICsyNywxNTUgQEAKIAogI2lmIEVOQUJM
RShCM19KSVQpCiAKKyNpbmNsdWRlICJCM0FyZ3VtZW50UmVnVmFsdWUuaCIKKyNpbmNsdWRlICJC
M0F0b21pY1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNDQ2FsbFZhbHVlLmgiCiAjaW5jbHVkZSAiQjND
aGVja1ZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdDMyVmFsdWUuaCIKICNpbmNsdWRlICJCM0Nv
bnN0NjRWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3REb3VibGVWYWx1ZS5oIgogI2luY2x1ZGUg
IkIzQ29uc3RGbG9hdFZhbHVlLmgiCisjaW5jbHVkZSAiQjNGZW5jZVZhbHVlLmgiCisjaW5jbHVk
ZSAiQjNNZW1vcnlWYWx1ZS5oIgogI2luY2x1ZGUgIkIzUGF0Y2hwb2ludFZhbHVlLmgiCiAjaW5j
bHVkZSAiQjNQaGlDaGlsZHJlbi5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJlLmgiCisjaW5jbHVk
ZSAiQjNTbG90QmFzZVZhbHVlLmgiCisjaW5jbHVkZSAiQjNTd2l0Y2hWYWx1ZS5oIgorI2luY2x1
ZGUgIkIzVXBzaWxvblZhbHVlLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZS5oIgorI2luY2x1ZGUgIkIz
VmFyaWFibGVWYWx1ZS5oIgorI2luY2x1ZGUgIkIzV2FzbUFkZHJlc3NWYWx1ZS5oIgorI2luY2x1
ZGUgIkIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvR3JhcGhOb2RlV29y
a2xpc3QuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKKyNkZWZpbmUgRElT
UEFUQ0hfT05fS0lORChNQUNSTykgXAorICAgIHN3aXRjaChraW5kKCkub3Bjb2RlKCkpIHsgXAor
ICAgIGNhc2UgRnJhbWVQb2ludGVyOiBcCisgICAgY2FzZSBOb3A6IFwKKyAgICBjYXNlIFBoaTog
XAorICAgIGNhc2UgSnVtcDogXAorICAgIGNhc2UgT29wczogXAorICAgIGNhc2UgRW50cnlTd2l0
Y2g6IFwKKyAgICBjYXNlIFJldHVybjogXAorICAgIGNhc2UgSWRlbnRpdHk6IFwKKyAgICBjYXNl
IE9wYXF1ZTogXAorICAgIGNhc2UgTmVnOiBcCisgICAgY2FzZSBDbHo6IFwKKyAgICBjYXNlIEFi
czogXAorICAgIGNhc2UgQ2VpbDogXAorICAgIGNhc2UgRmxvb3I6IFwKKyAgICBjYXNlIFNxcnQ6
IFwKKyAgICBjYXNlIFNFeHQ4OiBcCisgICAgY2FzZSBTRXh0MTY6IFwKKyAgICBjYXNlIFRydW5j
OiBcCisgICAgY2FzZSBTRXh0MzI6IFwKKyAgICBjYXNlIFpFeHQzMjogXAorICAgIGNhc2UgRmxv
YXRUb0RvdWJsZTogXAorICAgIGNhc2UgSVRvRDogXAorICAgIGNhc2UgRG91YmxlVG9GbG9hdDog
XAorICAgIGNhc2UgSVRvRjogXAorICAgIGNhc2UgQml0d2lzZUNhc3Q6IFwKKyAgICBjYXNlIEJy
YW5jaDogXAorICAgIGNhc2UgRGVwZW5kOiBcCisgICAgY2FzZSBBZGQ6IFwKKyAgICBjYXNlIFN1
YjogXAorICAgIGNhc2UgTXVsOiBcCisgICAgY2FzZSBEaXY6IFwKKyAgICBjYXNlIFVEaXY6IFwK
KyAgICBjYXNlIE1vZDogXAorICAgIGNhc2UgVU1vZDogXAorICAgIGNhc2UgQml0QW5kOiBcCisg
ICAgY2FzZSBCaXRPcjogXAorICAgIGNhc2UgQml0WG9yOiBcCisgICAgY2FzZSBTaGw6IFwKKyAg
ICBjYXNlIFNTaHI6IFwKKyAgICBjYXNlIFpTaHI6IFwKKyAgICBjYXNlIFJvdFI6IFwKKyAgICBj
YXNlIFJvdEw6IFwKKyAgICBjYXNlIEVxdWFsOiBcCisgICAgY2FzZSBOb3RFcXVhbDogXAorICAg
IGNhc2UgTGVzc1RoYW46IFwKKyAgICBjYXNlIEdyZWF0ZXJUaGFuOiBcCisgICAgY2FzZSBMZXNz
RXF1YWw6IFwKKyAgICBjYXNlIEdyZWF0ZXJFcXVhbDogXAorICAgIGNhc2UgQWJvdmU6IFwKKyAg
ICBjYXNlIEJlbG93OiBcCisgICAgY2FzZSBBYm92ZUVxdWFsOiBcCisgICAgY2FzZSBCZWxvd0Vx
dWFsOiBcCisgICAgY2FzZSBFcXVhbE9yVW5vcmRlcmVkOiBcCisgICAgY2FzZSBTZWxlY3Q6IFwK
KyAgICAgICAgcmV0dXJuIE1BQ1JPKFZhbHVlKTsgXAorICAgIGNhc2UgQXJndW1lbnRSZWc6IFwK
KyAgICAgICAgcmV0dXJuIE1BQ1JPKEFyZ3VtZW50UmVnVmFsdWUpOyBcCisgICAgY2FzZSBDb25z
dDMyOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdDMyVmFsdWUpOyBcCisgICAgY2FzZSBD
b25zdDY0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdDY0VmFsdWUpOyBcCisgICAgY2Fz
ZSBDb25zdEZsb2F0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdEZsb2F0VmFsdWUpOyBc
CisgICAgY2FzZSBDb25zdERvdWJsZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3REb3Vi
bGVWYWx1ZSk7IFwKKyAgICBjYXNlIEZlbmNlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhGZW5j
ZVZhbHVlKTsgXAorICAgIGNhc2UgU2xvdEJhc2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFNs
b3RCYXNlVmFsdWUpOyBcCisgICAgY2FzZSBHZXQ6IFwKKyAgICBjYXNlIFNldDogXAorICAgICAg
ICByZXR1cm4gTUFDUk8oVmFyaWFibGVWYWx1ZSk7IFwKKyAgICBjYXNlIExvYWQ4WjogXAorICAg
IGNhc2UgTG9hZDhTOiBcCisgICAgY2FzZSBMb2FkMTZaOiBcCisgICAgY2FzZSBMb2FkMTZTOiBc
CisgICAgY2FzZSBMb2FkOiBcCisgICAgY2FzZSBTdG9yZTg6IFwKKyAgICBjYXNlIFN0b3JlMTY6
IFwKKyAgICBjYXNlIFN0b3JlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhNZW1vcnlWYWx1ZSk7
IFwKKyAgICBjYXNlIFN3aXRjaDogXAorICAgICAgICByZXR1cm4gTUFDUk8oU3dpdGNoVmFsdWUp
OyBcCisgICAgY2FzZSBVcHNpbG9uOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhVcHNpbG9uVmFs
dWUpOyBcCisgICAgY2FzZSBXYXNtQWRkcmVzczogXAorICAgICAgICByZXR1cm4gTUFDUk8oV2Fz
bUFkZHJlc3NWYWx1ZSk7IFwKKyAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazogXAorICAgICAgICBy
ZXR1cm4gTUFDUk8oV2FzbUJvdW5kc0NoZWNrVmFsdWUpOyBcCisgICAgY2FzZSBBdG9taWNYY2hn
QWRkOiBcCisgICAgY2FzZSBBdG9taWNYY2hnQW5kOiBcCisgICAgY2FzZSBBdG9taWNYY2hnT3I6
IFwKKyAgICBjYXNlIEF0b21pY1hjaGdTdWI6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdYb3I6IFwK
KyAgICBjYXNlIEF0b21pY1hjaGc6IFwKKyAgICBjYXNlIEF0b21pY1dlYWtDQVM6IFwKKyAgICBj
YXNlIEF0b21pY1N0cm9uZ0NBUzogXAorICAgICAgICByZXR1cm4gTUFDUk8oQXRvbWljVmFsdWUp
OyBcCisgICAgY2FzZSBDQ2FsbDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ0NhbGxWYWx1ZSk7
IFwKKyAgICBjYXNlIENoZWNrOiBcCisgICAgY2FzZSBDaGVja0FkZDogXAorICAgIGNhc2UgQ2hl
Y2tTdWI6IFwKKyAgICBjYXNlIENoZWNrTXVsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDaGVj
a1ZhbHVlKTsgXAorICAgIGNhc2UgUGF0Y2hwb2ludDogXAorICAgICAgICByZXR1cm4gTUFDUk8o
UGF0Y2hwb2ludFZhbHVlKTsgXAorICAgIGRlZmF1bHQ6IFwKKyAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsgXAorICAgIH0KKworQUxXQVlTX0lOTElORSBzaXplX3QgVmFsdWU6
OmFkamFjZW5jeUxpc3RPZmZzZXQoKSBjb25zdCB7CisjZGVmaW5lIFZBTFVFX1RZUEVfU0laRShW
YWx1ZVR5cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFUQ0hfT05fS0lORChWQUxVRV9U
WVBFX1NJWkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQorCitBTFdBWVNfSU5MSU5FIFZh
bHVlKiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QgeworI2RlZmluZSBWQUxVRV9UWVBFX0NMT05F
KFZhbHVlVHlwZSkgYWxsb2NhdGU8VmFsdWVUeXBlPigqc3RhdGljX2Nhc3Q8Y29uc3QgVmFsdWVU
eXBlKj4odGhpcykpCisgICAgRElTUEFUQ0hfT05fS0lORChWQUxVRV9UWVBFX0NMT05FKTsKKyN1
bmRlZiBWQUxVRV9UWVBFX0NMT05FCit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIEJvdHRvbVByb3Zp
ZGVyPgogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhCb3R0b20oY29uc3QgQm90dG9tUHJvdmlkZXIm
IGJvdHRvbVByb3ZpZGVyKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFy
aWFibGVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
VmFyaWFibGVWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMyArNDEs
OCBAQAogICAgIG91dC5wcmludChjb21tYSwgcG9pbnRlckR1bXAobV92YXJpYWJsZSkpOwogfQog
Ci1WYWx1ZSogVmFyaWFibGVWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IFZhcmlhYmxlVmFsdWUoKnRoaXMpOwotfQotCiBWYXJpYWJsZVZhbHVlOjpWYXJpYWJsZVZh
bHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFyaWFibGUqIHZhcmlhYmxlLCBWYWx1ZSog
dmFsdWUpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBvcmlnaW4sIHZh
bHVlKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgT25lLCBvcmlnaW4s
IHZhbHVlKQogICAgICwgbV92YXJpYWJsZSh2YXJpYWJsZSkKIHsKICAgICBBU1NFUlQoa2luZCA9
PSBTZXQpOwpAQCAtNTQsNyArNDksNyBAQAogfQogCiBWYXJpYWJsZVZhbHVlOjpWYXJpYWJsZVZh
bHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFyaWFibGUqIHZhcmlhYmxlKQotICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdmFyaWFibGUtPnR5cGUoKSwgb3JpZ2luKQorICAg
IDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdmFyaWFibGUtPnR5cGUoKSwgWmVybywgb3Jp
Z2luKQogICAgICwgbV92YXJpYWJsZSh2YXJpYWJsZSkKIHsKICAgICBBU1NFUlQoa2luZCA9PSBH
ZXQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFibGVWYWx1ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAko
cmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFibGVW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMCArNDQsOSBAQAogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAog
ICAgIC8vIFVzZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1ZShLaW5kLCBPcmlnaW4s
IFZhcmlhYmxlKiwgVmFsdWUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dh
c21BZGRyZXNzVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksMTMgKzM5LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcGlubmVkR1BSKTsKIH0KIAot
VmFsdWUqIFdhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBXYXNtQWRkcmVzc1ZhbHVlKCp0aGlzKTsKLX0KLQogV2FzbUFkZHJlc3NWYWx1ZTo6V2Fz
bUFkZHJlc3NWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIEdQUlJlZyBwaW5uZWRH
UFIpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQsIG9yaWdp
biwgdmFsdWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQs
IE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fcGlubmVkR1BSKHBpbm5lZEdQUikKIHsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgJ
KHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRy
ZXNzVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTEgKzQzLDExIEBACiBwcm90ZWN0ZWQ6
CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92
ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVl
OwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1
ZSosIEdQUlJlZykgeyByZXR1cm4gV2FzbUFkZHJlc3M7IH0KICAgICBXYXNtQWRkcmVzc1ZhbHVl
KE9yaWdpbiwgVmFsdWUqLCBHUFJSZWcpOwogCiAgICAgR1BSUmVnIG1fcGlubmVkR1BSOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1Zh
bHVlLmNwcAkocmV2aXNpb24gMjQzMzMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
V2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4g
b3JpZ2luLCBHUFJSZWcgcGlubmVkU2l6ZSwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KQot
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4sIHB0cikK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBvcmlnaW4s
IHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShUeXBlOjpQ
aW5uZWQpCiB7CkBAIC00NCw3ICs0NCw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpX
YXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBv
ZmZzZXQsIHNpemVfdCBtYXhpbXVtKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJv
dW5kc0NoZWNrLCBvcmlnaW4sIHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21C
b3VuZHNDaGVjaywgT25lLCBvcmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAg
ICAsIG1fYm91bmRzVHlwZShUeXBlOjpNYXhpbXVtKQogewpAQCAtNTUsMTEgKzU1LDYgQEAKICAg
ICBtX2JvdW5kcy5tYXhpbXVtID0gbWF4aW11bTsKIH0KIAotVmFsdWUqIFdhc21Cb3VuZHNDaGVj
a1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUJvdW5kc0No
ZWNrVmFsdWUoKnRoaXMpOwotfQotCiB2b2lkIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpkdW1wTWV0
YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIHN3
aXRjaCAobV9ib3VuZHNUeXBlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNX
YXNtQm91bmRzQ2hlY2tWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzMzMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM0LDE1ICszNCw3IEBACiAKIGNsYXNzIFdhc21Cb3VuZHNDaGVja1ZhbHVlIDogcHVi
bGljIFZhbHVlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkK
LSAgICB7Ci0gICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUoKSkgewotICAgICAgICBjYXNlIFdh
c21Cb3VuZHNDaGVjazoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAgIHN0YXRp
YyBib29sIGFjY2VwdHMoS2luZCBraW5kKSB7IHJldHVybiBraW5kID09IFdhc21Cb3VuZHNDaGVj
azsgfQogICAgIAogICAgIH5XYXNtQm91bmRzQ2hlY2tWYWx1ZSgpOwogCkBAIC02MywxMiArNTUs
MTQgQEAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qg
b3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBm
cmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihPcmlnaW4sIEdQUlJlZywgVmFsdWUqLCB1bnNpZ25lZCkgeyByZXR1cm4gV2FzbUJvdW5k
c0NoZWNrOyB9CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgV2FzbUJvdW5kc0NoZWNrVmFsdWUoT3Jp
Z2luLCBHUFJSZWcgcGlubmVkR1BSLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvZmZzZXQpOworCisg
ICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1ZSosIHVu
c2lnbmVkLCBzaXplX3QpIHsgcmV0dXJuIFdhc21Cb3VuZHNDaGVjazsgfQogICAgIEpTX0VYUE9S
VF9QUklWQVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9yaWdpbiwgVmFsdWUqIHB0ciwgdW5zaWdu
ZWQgb2Zmc2V0LCBzaXplX3QgbWF4aW11bSk7CiAKICAgICB1bnNpZ25lZCBtX29mZnNldDsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCShyZXZpc2lvbiAyNDMzMzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3
NDIsNyArMTA3NDIsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8
Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDMyLCBPcmlnaW4oKSwKICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25Q
dHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzLCBCM0NDYWxsUHRyVGFnKSkpOwot
ICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVu
ZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2Ms
IFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDc2OCw3ICsxMDc2OCw3IEBACiAgICAg
Q0NhbGxWYWx1ZSogY2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAg
cHJvYywgSW50NjQsIE9yaWdpbigpLAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJW
YWx1ZT4ocHJvYywgT3JpZ2luKCksIHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRo
SGVsbGFBcmd1bWVudHMyLCBCM0NDYWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCku
YXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAg
ICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNh
bGwpOwogCkBAIC0xMDc5MCw3ICsxMDc5MCw3IEBACiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJv
b3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAgcHJvYywgSW50MzIsIE9yaWdpbigp
LAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2luKCks
IHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMzLCBCM0ND
YWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOwor
ICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29u
dHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDg5MCw3ICsx
MDg5MCw3IEBACiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZh
bHVlPigKICAgICAgICAgcHJvYywgRG91YmxlLCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBw
ZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9p
ZCo+KGZ1bmN0aW9uV2l0aEhlbGxhRG91YmxlQXJndW1lbnRzLCBCM0NDYWxsUHRyVGFnKSkpOwot
ICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVu
ZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2Ms
IFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDkxNCw3ICsxMDkxNCw3IEBACiAgICAg
Q0NhbGxWYWx1ZSogY2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAg
cHJvYywgRmxvYXQsIE9yaWdpbigpLAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJW
YWx1ZT4ocHJvYywgT3JpZ2luKCksIHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRo
SGVsbGFGbG9hdEFyZ3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJl
bigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAg
IAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigp
LCBjYWxsKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZp
c2lvbiAyNDMzMzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zODAsNyArMzgwLDcgQEAKICAgICBMVmFsdWUgY2FsbChMVHlwZSB0
eXBlLCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IFZlY3RvclR5cGUmIHZlY3RvcikKICAgICB7CiAg
ICAgICAgIEIzOjpDQ2FsbFZhbHVlKiByZXN1bHQgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkND
YWxsVmFsdWU+KG1fcHJvYywgdHlwZSwgb3JpZ2luKCksIGZ1bmN0aW9uKTsKLSAgICAgICAgcmVz
dWx0LT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rvcih2ZWN0b3IpOworICAgICAgICByZXN1bHQtPmFw
cGVuZEFyZ3ModmVjdG9yKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgTFZh
bHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVlIGZ1bmN0aW9uKSB7IHJldHVybiBtX2Jsb2NrLT5h
cHBlbmROZXc8QjM6OkNDYWxsVmFsdWU+KG1fcHJvYywgdHlwZSwgb3JpZ2luKCksIGZ1bmN0aW9u
KTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365879</attachid>
            <date>2019-03-25 11:51:45 -0700</date>
            <delta_ts>2019-03-25 12:46:02 -0700</delta_ts>
            <desc>WIP_nearlyDone</desc>
            <filename>patch196091</filename>
            <type>text/plain</type>
            <size>80579</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGIyNWI3MjM2NDguLjM2NDhlMDI2NmVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBG
RUM4NTQwMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8q
IEIzVXNlQ291bnRzLmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1Zh
bGlkYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVDODRGODFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0
NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUu
aCAqLzsgfTsKLQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFC
REFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRB
Q0RBQzAwODBGRjc0IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVw
LmggKi87IH07CiAJCTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNr
QnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkVDODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3Jh
cGhDb2xvcmluZy5oICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJn
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0
QjFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAK
IAkJMkFEODkzMkIxN0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4
RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJC
RjkyMDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVj
dHVyZUlEVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUx
QjI2OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVDODRGQjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNF
NzhERjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNG
OTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsK
IAkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIg
LyogUGFyc2VJbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50
ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVy
YXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjEx
MEY3RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0
MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdE
OTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdT
cGVjdWxhdGl2ZUpJVC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcCAqLzsgfTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZH
VG9CMy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJ
NTM0MUZDNzIxREFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0
M0MwMEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcx
MUU3MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpT
UnVuTG9vcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNTM0NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3
NDFFNzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYzNCw3ICs4NjM0LDYgQEAK
IAkJCQkwRkVDODU0MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1
ZUtleS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIz
VmFsdWVLZXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4
MEZGNzQgLyogQjNWYWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTg5LDYgKzkxODgsNyBA
QAogCQkJCUE1OTNDRjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIx
ODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8q
IEluc3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3
OUVCMDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
QEAgLTEwNjI5LDcgKzEwNjI5LDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyog
REZHU3BlY3VsYXRpdmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdE
MjAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTMzM0JCREQyMTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZH
VG9CMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyog
TG93TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVC
RTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVC
RThCMDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc2Myw2
ICsxMDc2Miw3IEBACiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2UxMTkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5
OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNF
NzhERjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTEyMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMg
LyogVW5pZmllZFNvdXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAKaW5kZXggNTk0ZDBkNjliYTguLjNl
NTQ0ZWI1ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVu
dFJlZ1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJl
Z1ZhbHVlLmNwcApAQCAtMzksMTEgKzM5LDYgQEAgdm9pZCBBcmd1bWVudFJlZ1ZhbHVlOjpkdW1w
TWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91
dC5wcmludChjb21tYSwgbV9yZWcpOwogfQogCi1WYWx1ZSogQXJndW1lbnRSZWdWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEFyZ3VtZW50UmVnVmFsdWUoKnRoaXMp
OwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19K
SVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1Zh
bHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgKaW5k
ZXggNTViMzY1ZmMyYTUuLjg3OWUwMWNiZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCkBAIC00MCwxNiArNDAsMTkgQEAgcHVibGljOgogCiAg
ICAgUmVnIGFyZ3VtZW50UmVnKCkgY29uc3QgeyByZXR1cm4gbV9yZWc7IH0KIAorICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1
bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisgICAgCisgICAg
c3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBSZWcpIHsgcmV0dXJu
IEFyZ3VtZW50UmVnOyB9CiAKICAgICBBcmd1bWVudFJlZ1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFJl
ZyByZWcpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5p
c0dQUigpID8gcG9pbnRlclR5cGUoKSA6IERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkg
OiBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAg
ICAgICBBU1NFUlQocmVnLmlzU2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRv
bWljVmFsdWUuY3BwCmluZGV4IDIwZmNlNDAxZGNjLi5lYzU0NGVkYTY2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcApAQCAtNDEsMTMgKzQxLDggQEAgdm9p
ZCBBdG9taWNWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKICAgICBNZW1vcnlWYWx1ZTo6ZHVtcE1ldGEoY29tbWEsIG91dCk7CiB9CiAK
LVZhbHVlKiBBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IEF0b21pY1ZhbHVlKCp0aGlzKTsKLX0KLQogQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21p
Y1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3
aWR0aCwgVmFsdWUqIG9wZXJhbmQsIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0
VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAg
OiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBvcGVyYW5kLT50eXBlKCksIG9yaWdp
biwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgb3BlcmFuZCwgcG9pbnRlcikKKyAgICA6IE1l
bW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG9wZXJhbmQtPnR5cGUoKSwgVHdvLCBvcmln
aW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIG9wZXJhbmQsIHBvaW50ZXIpCiAgICAgLCBt
X3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChiZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkg
PT0gYWNjZXNzVHlwZSgpKTsKQEAgLTY2LDcgKzYxLDcgQEAgQXRvbWljVmFsdWU6OkF0b21pY1Zh
bHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2lu
LAogfQogCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVl
Q0FTLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRoLCBWYWx1ZSogZXhwZWN0
ZWRWYWx1ZSwgVmFsdWUqIG5ld1ZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVtb3J5VmFsdWU6Ok9m
ZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlKQot
ICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5vcGNvZGUoKSA9PSBB
dG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCksIG9yaWdpbiwgb2Zm
c2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3VmFsdWUsIHBvaW50ZXIp
CisgICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBraW5kLm9wY29kZSgpID09
IEF0b21pY1dlYWtDQVMgPyBJbnQzMiA6IGV4cGVjdGVkVmFsdWUtPnR5cGUoKSwgVGhyZWUsIG9y
aWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3VmFsdWUs
IHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChiZXN0VHlwZShH
UCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNBdG9taWNWYWx1ZS5oCmluZGV4IDI5MmNmOWU4YWMxLi4wODVhOWUxOTQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5oCkBAIC00NCwxNCArNDQsMTUgQEAg
cHVibGljOgogICAgIFR5cGUgYWNjZXNzVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkKDApLT50
eXBlKCk7IH0KICAgICAKICAgICBXaWR0aCBhY2Nlc3NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2lkdGg7IH0KKworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURf
Q0hJTERSRU4KICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRl
ciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCi0gICAgVmFsdWUqIGNsb25l
SW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgZW51bSBBdG9taWNW
YWx1ZVJNVyB7IEF0b21pY1ZhbHVlUk1XVGFnIH07CiAgICAgZW51bSBBdG9taWNWYWx1ZUNBUyB7
IEF0b21pY1ZhbHVlQ0FTVGFnIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNCYXNpY0Jsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2Nr
LmgKaW5kZXggMTgwNTg1N2E3YTguLmRlNzllYmExMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQmFzaWNCbG9jay5oCkBAIC04NCw4ICs4NCw2IEBAIHB1YmxpYzoKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFZhbHVl
VHlwZSogYXBwZW5kTmV3KFByb2NlZHVyZSYsIEFyZ3VtZW50cy4uLik7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgVmFsdWVUeXBl
KiBhcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4pOwogCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFwcGVuZEludENvbnN0YW50KFByb2NlZHVyZSYsIE9y
aWdpbiwgVHlwZSwgaW50NjRfdCB2YWx1ZSk7CiAgICAgVmFsdWUqIGFwcGVuZEludENvbnN0YW50
KFByb2NlZHVyZSYsIFZhbHVlKiBsaWtlVmFsdWUsIGludDY0X3QgdmFsdWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2tJbmxpbmVzLmgKaW5kZXggMjZjMmRmNDFi
OGYuLjVhNmIyYmQ4ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNC
YXNpY0Jsb2NrSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2lj
QmxvY2tJbmxpbmVzLmgKQEAgLTQxLDE0ICs0MSw2IEBAIFZhbHVlVHlwZSogQmFzaWNCbG9jazo6
YXBwZW5kTmV3KFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlw
ZW5hbWUuLi4gQXJndW1lbnRzPgotVmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjphcHBlbmROZXdOb25U
ZXJtaW5hbChQcm9jZWR1cmUmIHByb2NlZHVyZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLXsK
LSAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IHByb2NlZHVyZS5hZGQ8VmFsdWVUeXBlPihhcmd1bWVu
dHMuLi4pOwotICAgIGFwcGVuZE5vblRlcm1pbmFsKHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVu
dHM+CiBWYWx1ZVR5cGUqIEJhc2ljQmxvY2s6OnJlcGxhY2VMYXN0V2l0aE5ldyhQcm9jZWR1cmUm
IHByb2NlZHVyZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAKaW5kZXggNTE4ZDcyMzQ5NjcuLjkwYmQ2MGUwODgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcApAQCAtMzQsOSArMzQs
OSBAQCBDQ2FsbFZhbHVlOjp+Q0NhbGxWYWx1ZSgpCiB7CiB9CiAKLVZhbHVlKiBDQ2FsbFZhbHVl
OjpjbG9uZUltcGwoKSBjb25zdAordm9pZCBDQ2FsbFZhbHVlOjphcHBlbmRBcmdzKGNvbnN0IFZl
Y3RvcjxWYWx1ZSo+JiBhcmdzKQogewotICAgIHJldHVybiBuZXcgQ0NhbGxWYWx1ZSgqdGhpcyk7
CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmRWZWN0b3IoYXJncyk7CiB9CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpCMwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q0NhbGxWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCmlu
ZGV4IDQ0ZWMzNDlmMjNmLi4xMzcwYmQxNjFmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NDYWxsVmFsdWUuaApAQCAtMzgsMjcgKzM4LDM1IEBAIHB1YmxpYzoKIAogICAgIH5DQ2FsbFZh
bHVlKCk7CiAKKyAgICB2b2lkIGFwcGVuZEFyZ3MoY29uc3QgVmVjdG9yPFZhbHVlKj4mKTsKKyAg
ICAKICAgICBFZmZlY3RzIGVmZmVjdHM7CiAKLXByb3RlY3RlZDoKLSAgICBWYWx1ZSogY2xvbmVJ
bXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
VkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
VkFSQVJHU19DSElMRFJFTgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7
CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEFyZ3VtZW50
cy4uLikgeyByZXR1cm4gQ0NhbGw7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3Vt
ZW50cz4KICAgICBDQ2FsbFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRz
Li4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlw
ZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q0NhbGwsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVu
dHMpLi4uKQogICAgICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQogICAgIHsKKyAg
ICAgICAgLy9BU1NFUlQoKCFhcmd1bWVudHMtPnR5cGUoKSA9PSBWb2lkKS4uLik7CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkgPj0gMSk7CiAgICAgfQogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIENDYWxsVmFsdWUoVHlwZSB0eXBlLCBPcmln
aW4gb3JpZ2luLCBjb25zdCBFZmZlY3RzJiBlZmZlY3RzLCBBcmd1bWVudHMuLi4gYXJndW1lbnRz
KQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBvcmlnaW4sIGFy
Z3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwg
VmFyQXJncywgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAg
ICAgICwgZWZmZWN0cyhlZmZlY3RzKQogICAgIHsKKyAgICAgICAgLy9BU1NFUlQoKCFhcmd1bWVu
dHMtPnR5cGUoKSA9PSBWb2lkKS4uLik7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxk
cmVuKCkgPj0gMSk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NoZWNrVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tW
YWx1ZS5jcHAKaW5kZXggNzliNmM2ZTcyZTkuLmMxMTcxMzczMzQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcApAQCAtNDAsMTEgKzQwLDYgQEAgdm9pZCBDaGVj
a1ZhbHVlOjpjb252ZXJ0VG9BZGQoKQogICAgIG1fa2luZCA9IENoZWNrQWRkOwogfQogCi1WYWx1
ZSogQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENoZWNr
VmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0FkZCwgQ2hlY2tT
dWIsIGFuZCBDaGVja011bC4KIENoZWNrVmFsdWU6OkNoZWNrVmFsdWUoS2luZCBraW5kLCBPcmln
aW4gb3JpZ2luLCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KQogICAgIDogU3RhY2ttYXBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBsZWZ0LT50eXBlKCksIG9yaWdpbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAppbmRleCBlM2Q5NGJhY2U4Ni4uODk3MzIwY2Q1MjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgKQEAgLTUwLDExICs1MCwx
MSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbnZlcnRUb0FkZCgpOwogCi1wcm90ZWN0ZWQ6Ci0g
ICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVf
VkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgogICAgIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAg
IC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrQWRkLCBDaGVja1N1YiwgYW5kIENoZWNrTXVsLgog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIENoZWNrVmFsdWUoS2luZCwgT3JpZ2luLCBWYWx1ZSogbGVm
dCwgVmFsdWUqIHJpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NvbnN0MzJWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFs
dWUuY3BwCmluZGV4IDUxMmJlODhjOTlkLi41YWNlMzY0N2FhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUuY3BwCkBAIC0zMDMsMTEgKzMwMyw2IEBAIHZvaWQg
Q29uc3QzMlZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBD
b25zdDMyVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdDMy
VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8v
IEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjND
b25zdDMyVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5o
CmluZGV4IGFmNGQwOGIwNTBkLi5mOWE3NGMwMGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3QzMlZhbHVlLmgKQEAgLTc1LDIwICs3NSwyNCBAQCBwdWJsaWM6CiAgICAgVHJp
U3RhdGUgYWJvdmVFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgVHJpU3RhdGUgYmVsb3dFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikg
Y29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJF
TgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92
ZXJyaWRlOwotCi0gICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICAvLyBQcm90ZWN0ZWQg
YmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29u
c3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGludDMyX3QgPSAwKSB7IHJldHVybiBDb25zdDMy
OyB9CiAKICAgICBDb25zdDMyVmFsdWUoT3JpZ2luIG9yaWdpbiwgaW50MzJfdCB2YWx1ZSkKLSAg
ICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwgb3JpZ2luKQotICAg
ICAgICAsIG1fdmFsdWUodmFsdWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMy
LCBJbnQzMiwgWmVybywgb3JpZ2luKQorICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAgICAg
fQogCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOworCiAgICAgaW50MzJfdCBtX3ZhbHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5jcHAKaW5kZXggNzNhNGNlY2M1M2UuLjhkNzk1YjAz
YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5jcHAKQEAg
LTMwMywxMSArMzAzLDYgQEAgdm9pZCBDb25zdDY0VmFsdWU6OmR1bXBNZXRhKENvbW1hUHJpbnRl
ciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgb3V0LnByaW50KGNvbW1hLCBt
X3ZhbHVlKTsKIH0KIAotVmFsdWUqIENvbnN0NjRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbmV3IENvbnN0NjRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3Bh
Y2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKaW5kZXggM2VmZDU1ODQ3YzIuLjI0NjJjNDNmOTUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaApAQCAtNzUsMjAgKzc1
LDI0IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBhYm92ZUVxdWFsQ29uc3RhbnQoY29uc3QgVmFs
dWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBiZWxvd0VxdWFsQ29uc3Rh
bnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAorICAgIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRh
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1
ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOworICAgIC8vIFByb3RlY3RlZCBiZWNhdXNlIG9mIENvbnN0UHRyVmFsdWUKKyAgICBzdGF0
aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4gPSBPcmlnaW4oKSwgaW50NjRf
dCA9IDApIHsgcmV0dXJuIENvbnN0NjQ7IH0KIAogICAgIENvbnN0NjRWYWx1ZShPcmlnaW4gb3Jp
Z2luLCBpbnQ2NF90IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0
NjQsIEludDY0LCBvcmlnaW4pCi0gICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKKyAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIENvbnN0NjQsIEludDY0LCBaZXJvLCBvcmlnaW4pCisgICAgLCBtX3Zh
bHVlKHZhbHVlKQogICAgIHsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6CisgICAgZnJpZW5kIGNs
YXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKICAgICBpbnQ2NF90IG1f
dmFsdWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dERvdWJsZVZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91Ymxl
VmFsdWUuY3BwCmluZGV4IDBhN2Q3NDgyY2I4Li41ZGQ3ZDkxMmY3YyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAKQEAgLTE5NywxMSArMTk3
LDYgQEAgdm9pZCBDb25zdERvdWJsZVZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1h
LCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludGYoIiVsZSIsIG1fdmFsdWUp
OwogfQogCi1WYWx1ZSogQ29uc3REb3VibGVWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbmV3IENvbnN0RG91YmxlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKaW5kZXggZmRmYWRkYzFlYmIuLjQwM2Jk
M2Y4NTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJs
ZVZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1
ZS5oCkBAIC02NCwxNiArNjQsMTggQEAgcHVibGljOgogICAgIFRyaVN0YXRlIGdyZWF0ZXJFcXVh
bENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3Rh
dGUgZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3Zl
cnJpZGU7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFBy
aW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAog
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBW
YWx1ZTsKKworICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBj
b25zdCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9y
KE9yaWdpbiwgZG91YmxlKSB7IHJldHVybiBDb25zdERvdWJsZTsgfQogCiAgICAgQ29uc3REb3Vi
bGVWYWx1ZShPcmlnaW4gb3JpZ2luLCBkb3VibGUgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwgQ29uc3REb3VibGUsIERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIENvbnN0RG91YmxlLCBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAg
ICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAppbmRleCBkM2NiMDMzNjFmOS4uMjI3MGYwMDM5
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNw
cApAQCAtMTg5LDExICsxODksNiBAQCB2b2lkIENvbnN0RmxvYXRWYWx1ZTo6ZHVtcE1ldGEoQ29t
bWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnRm
KCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFsdWUqIENvbnN0RmxvYXRWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENvbnN0RmxvYXRWYWx1ZSgqdGhpcyk7Ci19Ci0K
IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKaW5kZXggMzVkZDJl
MDI3NGQuLmJjM2JiZWU0ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdEZsb2F0VmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dEZsb2F0VmFsdWUuaApAQCAtNjMsMTYgKzYzLDE4IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBn
cmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIp
IGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBkdW1wTWV0YShDb21tYVBy
aW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAgVmFsdWUqIGNsb25l
SW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NI
SUxEUkVOCiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmll
bmQgY2xhc3MgVmFsdWU7CisKKyAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21D
b25zdHJ1Y3RvcihPcmlnaW4sIGZsb2F0KSB7IHJldHVybiBDb25zdEZsb2F0OyB9CiAKICAgICBD
b25zdEZsb2F0VmFsdWUoT3JpZ2luIG9yaWdpbiwgZmxvYXQgdmFsdWUpCi0gICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgQ29uc3RGbG9hdCwgRmxvYXQsIG9yaWdpbikKKyAgICAgICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdEZsb2F0LCBGbG9hdCwgWmVybywgb3JpZ2luKQogICAg
ICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0UHRyVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0UHRyVmFsdWUuaAppbmRleCA5Yzk5M2ZjMjNkNC4uY2I2NjQzNjQwZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0UHRyVmFsdWUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0clZhbHVlLmgKQEAgLTUxLDEzICs1
MSwxOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsK
KyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAg
IHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCopIHsgcmV0dXJu
IENvbnN0UHRyVmFsdWVCYXNlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IoKTsgfQogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+CiAgICAgQ29uc3RQdHJWYWx1ZShPcmlnaW4gb3JpZ2luLCBUKiBwb2lu
dGVyKQogICAgICAgICA6IENvbnN0UHRyVmFsdWVCYXNlKG9yaWdpbiwgYml0d2lzZV9jYXN0PGlu
dHB0cl90Pihwb2ludGVyKSkKICAgICB7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBUKSB7IHJl
dHVybiBDb25zdFB0clZhbHVlQmFzZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCBw
b2ludGVyKQogICAgICAgICA6IENvbnN0UHRyVmFsdWVCYXNlKG9yaWdpbiwgc3RhdGljX2Nhc3Q8
aW50cHRyX3Q+KHBvaW50ZXIpKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0ZlbmNlVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVu
Y2VWYWx1ZS5jcHAKaW5kZXggODBlMjc5MjhjYzAuLjM4NmJmZGVlNDIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcApAQCAtMzQsMTMgKzM0LDggQEAgRmVuY2VW
YWx1ZTo6fkZlbmNlVmFsdWUoKQogewogfQogCi1WYWx1ZSogRmVuY2VWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEZlbmNlVmFsdWUoKnRoaXMpOwotfQotCiBGZW5j
ZVZhbHVlOjpGZW5jZVZhbHVlKE9yaWdpbiBvcmlnaW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFu
Z2Ugd3JpdGUpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwgVm9pZCwgb3JpZ2lu
KQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgRmVuY2UsIFZvaWQsIFplcm8sIG9yaWdpbikK
ICAgICAsIHJlYWQocmVhZCkKICAgICAsIHdyaXRlKHdyaXRlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzRmVuY2VWYWx1ZS5oCmluZGV4IDljN2M1YzMzMTAyLi41MTNiYWQ1YzcxZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuaApAQCAtNzIsMTQgKzcyLDE0IEBA
IHB1YmxpYzoKICAgICBIZWFwUmFuZ2UgcmVhZCB7IEhlYXBSYW5nZTo6dG9wKCkgfTsKICAgICBI
ZWFwUmFuZ2Ugd3JpdGUgeyBIZWFwUmFuZ2U6OnRvcCgpIH07CiAKLXByb3RlY3RlZDoKLSAgICBW
YWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxV
RV9GT1JfTk9fQ0hJTERSRU4KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJl
OworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKICAgICAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29k
ZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpLCBIZWFwUmFu
Z2UgPSBIZWFwUmFuZ2UoKSkgeyByZXR1cm4gRmVuY2U7IH0KICAgICBGZW5jZVZhbHVlKE9yaWdp
biBvcmlnaW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFuZ2Ugd3JpdGUpOwotICAgIAogICAgIEZl
bmNlVmFsdWUoT3JpZ2luIG9yaWdpbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNNZW1vcnlWYWx1ZS5jcHAKaW5kZXggMTA0M2Q1YmEwNTguLjNiODcyN2YxNTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3BwCkBAIC03MywxNSArNzMsMTAg
QEAgdm9pZCBNZW1vcnlWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiZmVuY2VSYW5nZSA9
ICIsIGZlbmNlUmFuZ2UoKSk7CiB9CiAKLVZhbHVlKiBNZW1vcnlWYWx1ZTo6Y2xvbmVJbXBsKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbmV3IE1lbW9yeVZhbHVlKCp0aGlzKTsKLX0KLQogLy8gVXNl
IHRoaXMgZm9ybSBmb3IgTG9hZCAoYnV0IG5vdCBMb2FkOFosIExvYWQ4Uywgb3IgYW55IG9mIHRo
ZSBMb2FkcyB0aGF0IGhhdmUgYSBzdWZmaXggdGhhdAogLy8gZGVzY3JpYmVzIHRoZSByZXR1cm5l
ZCB0eXBlKS4KIE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZShNZW1vcnlWYWx1ZTo6TWVtb3J5VmFs
dWVMb2FkLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHBvaW50
ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFw
UmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUs
IG9yaWdpbiwgcG9pbnRlcikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUs
IE9uZSwgb3JpZ2luLCBwb2ludGVyKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICwgbV9y
YW5nZShyYW5nZSkKICAgICAsIG1fZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpAQCAtMTI2LDcgKzEy
MSw3IEBAIE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZShNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWVM
b2FkSW1wbGllZCwgS2luZCBraW5kLCBPcmlnaW4KIAogLy8gVXNlIHRoaXMgZm9ybSBmb3Igc3Rv
cmVzLgogTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlKE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZVN0
b3JlLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBvaW50
ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFw
UmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQs
IG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5k
LCBWb2lkLCBUd28sIG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZz
ZXQpCiAgICAgLCBtX3JhbmdlKHJhbmdlKQogICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAppbmRleCA2YWYzYjI2N2E1
OS4uYWFjMzgyODQ5NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01l
bW9yeVZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUu
aApAQCAtODQsMTQgKzg0LDE0IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNDYW5vbmljYWxXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIEIzOjppc0Nhbm9uaWNhbFdpZHRoKGFjY2Vzc1dpZHRoKCkpOyB9
CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgorCiBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0IG92ZXJyaWRlOwotCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRl
OwotCisgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSW50LCB0eXBlbmFtZSA9IElzTGVnYWxP
ZmZzZXQ8SW50PiwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIE1lbW9yeVZhbHVlKENoZWNr
ZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBJbnQgb2Zm
c2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlLCBBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9y
aWdpbiwgYXJndW1lbnRzLi4uKQorICAgIE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtp
bmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdp
biwgSW50IG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwgQXJn
dW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5k
LCB0eXBlLCBudW1DaGlsZHJlbiwgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50
cykuLi4pCiAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICAgICAsIG1fcmFuZ2UocmFu
Z2UpCiAgICAgICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMDAsNiArMTAwLDcg
QEAgcHJvdGVjdGVkOgogICAgIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJl
OworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIGJvb2wgaXNMZWdhbE9mZnNldEltcGwo
aW50MzJfdCBvZmZzZXQpIGNvbnN0OwogICAgIGJvb2wgaXNMZWdhbE9mZnNldEltcGwoaW50NjRf
dCBvZmZzZXQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
TW92ZUNvbnN0YW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3Rh
bnRzLmNwcAppbmRleCBjOTgxNzJiZDdkNi4uY2I5ZjE2ZTI3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAjaW5j
bHVkZSAiQjNWYWx1ZUtleUlubGluZXMuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQorI2luY2x1ZGUgIkIzVmFsaWRhdGUuaCIKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBuYW1lc3BhY2UgewpAQCAtNTgsNyArNTgsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBbJl0gKGNvbnN0IFZhbHVlS2V5JiBrZXkpIC0+IGJvb2wgewog
ICAgICAgICAgICAgICAgIHJldHVybiBrZXkub3Bjb2RlKCkgPT0gQ29uc3RGbG9hdCB8fCBrZXku
b3Bjb2RlKCkgPT0gQ29uc3REb3VibGU7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAg
ICAgICAgbG93ZXJGUENvbnN0YW50cygpOwogICAgICAgICAKICAgICAgICAgaG9pc3RDb25zdGFu
dHMoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFs
dWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcApp
bmRleCBiMzNjNTU4YmYyZS4uYzdmNzY3ODQyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcApAQCAtNDQsMTEgKzQ0LDYgQEAgdm9pZCBQYXRj
aHBvaW50VmFsdWU6OmR1bXBNZXRhKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0CiAgICAgICAgIG91dC5wcmludChjb21tYSwgIm51bUZQU2NyYXRjaFJlZ2lzdGVy
cyA9ICIsIG51bUZQU2NyYXRjaFJlZ2lzdGVycyk7CiB9CiAKLVZhbHVlKiBQYXRjaHBvaW50VmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBQYXRjaHBvaW50VmFsdWUo
KnRoaXMpOwotfQotCiBQYXRjaHBvaW50VmFsdWU6OlBhdGNocG9pbnRWYWx1ZShUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4pCiAgICAgOiBCYXNlKENoZWNrZWRPcGNvZGUsIFBhdGNocG9pbnQsIHR5
cGUsIG9yaWdpbikKICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAppbmRleCAzMzc4ZGM0MTA3NC4u
NDJiNTQ3MTE0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNo
cG9pbnRWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRW
YWx1ZS5oCkBAIC02MSwxNCArNjEsMTYgQEAgcHVibGljOgogICAgIHVpbnQ4X3QgbnVtR1BTY3Jh
dGNoUmVnaXN0ZXJzIHsgMCB9OwogICAgIHVpbnQ4X3QgbnVtRlBTY3JhdGNoUmVnaXN0ZXJzIHsg
MCB9OwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9WQVJBUkdTX0NI
SUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFBy
aW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29u
c3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAg
ICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25z
dHJ1Y3RvcihUeXBlLCBPcmlnaW4pIHsgcmV0dXJuIFBhdGNocG9pbnQ7IH0KICAgICBKU19FWFBP
UlRfUFJJVkFURSBQYXRjaHBvaW50VmFsdWUoVHlwZSwgT3JpZ2luKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCmluZGV4IDdiNzNkZTM2ZTNhLi45ZjgxNmM5
OWEyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCkBAIC05Myw3
ICs5Myw2IEBAIFZhbHVlKiBQcm9jZWR1cmU6OmNsb25lKFZhbHVlKiB2YWx1ZSkKICAgICByZXR1
cm4gbV92YWx1ZXMuYWRkKFdURk1vdmUoY2xvbmUpKTsKIH0KIAotCiBWYWx1ZSogUHJvY2VkdXJl
OjphZGRJbnRDb25zdGFudChPcmlnaW4gb3JpZ2luLCBUeXBlIHR5cGUsIGludDY0X3QgdmFsdWUp
CiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNQcm9jZWR1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZS5oCmluZGV4IGZmNjFjY2Q0NWJjLi5lMjEwNmVjMGM2YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzUHJvY2VkdXJlLmgKQEAgLTI5Miw3ICsyOTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9uZWVkc1VzZWRSZWdpc3RlcnMgeyB0cnVlIH07CiAgICAgYm9vbCBtX2hhc1F1aXJrcyB7IGZh
bHNlIH07CiB9OwotCisgICAgCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8v
IEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQ
cm9jZWR1cmVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJ
bmxpbmVzLmgKaW5kZXggOTkwYmEzMWVlMGUuLjExNTZhNTU4MDhmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlSW5saW5lcy5oCkBAIC0yOSwxMyArMjksMTQgQEAK
IAogI2luY2x1ZGUgIkIzQmFzaWNCbG9jay5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJlLmgiCisj
aW5jbHVkZSAiQjNWYWx1ZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKLQor
ICAgIAogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+
CiBWYWx1ZVR5cGUqIFByb2NlZHVyZTo6YWRkKEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlVHlwZSo+KGFkZFZhbHVlSW1wbChuZXcgVmFsdWVU
eXBlKGFyZ3VtZW50cy4uLikpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsdWVUeXBlKj4o
YWRkVmFsdWVJbXBsKFZhbHVlOjphbGxvY2F0ZTxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4uLikpKTsK
IH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1Nsb3RCYXNlVmFsdWUuY3BwCmluZGV4IGI1ZmQ2OWJjODYyLi5hMGJlMWY1MTRjZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKQEAgLTQxLDEx
ICs0MSw2IEBAIHZvaWQgU2xvdEJhc2VWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21t
YSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJE
dW1wKG1fc2xvdCkpOwogfQogCi1WYWx1ZSogU2xvdEJhc2VWYWx1ZTo6Y2xvbmVJbXBsKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbmV3IFNsb3RCYXNlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgKaW5kZXggMTkzOTJlYTAyMjIuLjc2MDBk
ODEyYWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZh
bHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCkBA
IC00MSwxNiArNDEsMTcgQEAgcHVibGljOgogCiAgICAgU3RhY2tTbG90KiBzbG90KCkgY29uc3Qg
eyByZXR1cm4gbV9zbG90OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICBWYWx1ZSogY2xv
bmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9f
Q0hJTERSRU4KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZy
aWVuZCBjbGFzcyBWYWx1ZTsKKworICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJv
bUNvbnN0cnVjdG9yKE9yaWdpbiwgU3RhY2tTbG90KikgeyByZXR1cm4gU2xvdEJhc2U7IH0KICAg
ICBTbG90QmFzZVZhbHVlKE9yaWdpbiBvcmlnaW4sIFN0YWNrU2xvdCogc2xvdCkKLSAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBTbG90QmFzZSwgcG9pbnRlclR5cGUoKSwgb3JpZ2luKQor
ICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBa
ZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV9zbG90KHNsb3QpCiAgICAgewogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwU3BlY2lhbC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCmluZGV4IGU3YzZi
NDk1YjZiLi4yZjA3MTExNDcwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzU3RhY2ttYXBTcGVjaWFsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
dGFja21hcFNwZWNpYWwuY3BwCkBAIC04MywxMSArODMsMTEgQEAgdm9pZCBTdGFja21hcFNwZWNp
YWw6OmZvckVhY2hBcmdJbXBsKAogCiAgICAgLy8gQ2hlY2sgdGhhdCBpbnNhbmUgdGhpbmdzIGhh
dmUgbm90IGhhcHBlbmVkLgogICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpID49IG51bUlnbm9y
ZWRBaXJBcmdzKTsKLSAgICBBU1NFUlQodmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpID49IG51bUln
bm9yZWRCM0FyZ3MpOwotICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFp
ckFyZ3MgPj0gdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJncyk7Cisg
ICAgQVNTRVJUKHZhbHVlLT5udW1DaGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3MpOworICAg
IEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPj0gdmFsdWUtPm51
bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzKTsKICAgICBBU1NFUlQoaW5zdC5hcmdzWzBd
LmtpbmQoKSA9PSBBcmc6OktpbmQ6OlNwZWNpYWwpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9yZWRCM0FyZ3M7ICsraSkg
eworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51
bUlnbm9yZWRCM0FyZ3M7ICsraSkgewogICAgICAgICBBcmcmIGFyZyA9IGluc3QuYXJnc1tpICsg
bnVtSWdub3JlZEFpckFyZ3NdOwogICAgICAgICBDb25zdHJhaW5lZFZhbHVlIGNoaWxkID0gdmFs
dWUtPmNvbnN0cmFpbmVkQ2hpbGQoaSArIG51bUlnbm9yZWRCM0FyZ3MpOwogCkBAIC0xNjAsMTYg
KzE2MCwxNiBAQCBib29sIFN0YWNrbWFwU3BlY2lhbDo6aXNWYWxpZEltcGwoCiAKICAgICAvLyBD
aGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFwcGVuZWQuCiAgICAgQVNTRVJUKGlu
c3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3MpOwotICAgIEFTU0VSVCh2YWx1ZS0+
Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKHZhbHVl
LT5udW1DaGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3MpOwogCiAgICAgLy8gRm9yIHRoZSBJ
bnN0IHRvIGJlIHZhbGlkLCBpdCBuZWVkcyB0byBoYXZlIHRoZSByaWdodCBudW1iZXIgb2YgYXJn
dW1lbnRzLgotICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2
YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKQorICAgIGlmIChpbnN0
LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAt
IG51bUlnbm9yZWRCM0FyZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIFJlZ2Fy
ZGxlc3Mgb2YgY29uc3RyYWludHMsIHN0YWNrbWFwcyBoYXZlIHNvbWUgYmFzaWMgcmVxdWlyZW1l
bnRzIGZvciB0aGVpciBhcmd1bWVudHMuIEZvcgogICAgIC8vIGV4YW1wbGUsIHlvdSBjYW4ndCBo
YXZlIGEgbm9uLUZQLW9mZnNldCBhZGRyZXNzLiBUaGlzIHZlcmlmaWVzIHRob3NlIGNvbmRpdGlv
bnMgYXMgd2VsbCBhcyB0aGUKICAgICAvLyBhcmd1bWVudCB0eXBlcy4KLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJn
czsgKytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGlsZHJl
bigpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CiAgICAgICAgIFZhbHVlKiBjaGlsZCA9IHZh
bHVlLT5jaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAgICAgICAgIEFyZyYgYXJnID0gaW5z
dC5hcmdzW2kgKyBudW1JZ25vcmVkQWlyQXJnc107CiAKQEAgLTE3OCw3ICsxNzgsNyBAQCBib29s
IFN0YWNrbWFwU3BlY2lhbDo6aXNWYWxpZEltcGwoCiAgICAgfQogCiAgICAgLy8gVGhlIG51bWJl
ciBvZiBjb25zdHJhaW50cyBoYXMgdG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2Yg
QjMgY2hpbGRyZW4uCi0gICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5j
aGlsZHJlbigpLnNpemUoKSk7CisgICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZh
bHVlLT5udW1DaGlsZHJlbigpKTsKIAogICAgIC8vIFZlcmlmeSBhbnkgZXhwbGljaXRseSBzdXBw
bGllZCBjb25zdHJhaW50cy4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBudW1JZ25vcmVkQjNBcmdz
OyBpIDwgdmFsdWUtPm1fcmVwcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNTdGFja21hcFZhbHVlLmNwcAppbmRleCAwZWJhZjhhNTMxNS4uYmEzMTdiYTNkMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCkBAIC0z
NywxNCArMzcsMTQgQEAgU3RhY2ttYXBWYWx1ZTo6flN0YWNrbWFwVmFsdWUoKQogdm9pZCBTdGFj
a21hcFZhbHVlOjphcHBlbmQoVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1ZVJlcCYgcmVwKQogewog
ICAgIGlmIChyZXAgPT0gVmFsdWVSZXA6OkNvbGRBbnkpIHsKLSAgICAgICAgY2hpbGRyZW4oKS5h
cHBlbmQodmFsdWUpOworICAgICAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZCh2YWx1ZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICB3aGlsZSAobV9yZXBzLnNpemUoKSA8IG51bUNo
aWxkcmVuKCkpCiAgICAgICAgIG1fcmVwcy5hcHBlbmQoVmFsdWVSZXA6OkNvbGRBbnkpOwogCi0g
ICAgY2hpbGRyZW4oKS5hcHBlbmQodmFsdWUpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5k
KHZhbHVlKTsKICAgICBtX3JlcHMuYXBwZW5kKHJlcCk7CiB9CiAKQEAgLTg5LDcgKzg5LDcgQEAg
dm9pZCBTdGFja21hcFZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogfQogCiBTdGFja21hcFZhbHVlOjpTdGFja21hcFZhbHVlKENoZWNr
ZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luKQorICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwga2luZCwgdHlwZSwgVmFyQXJncywgb3JpZ2luKQogewogICAgIEFTU0VSVChh
Y2NlcHRzKGtpbmQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1N0YWNrbWFwVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFs
dWUuaAppbmRleCA1MmIyMTAxZThjZS4uYmU5OWQ4YzUzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgKQEAgLTYwLDggKzYwLDcgQEAgcHVibGljOgogCiAg
ICAgflN0YWNrbWFwVmFsdWUoKTsKIAotICAgIC8vIFVzZSB0aGlzIHRvIGFkZCBjaGlsZHJlbi4g
Tm90ZSB0aGF0IHlvdSBjb3VsZCBhbHNvIGFkZCBjaGlsZHJlbiBieSBkb2luZwotICAgIC8vIGNo
aWxkcmVuKCkuYXBwZW5kKCkuIFRoYXQgd2lsbCB3b3JrIGZpbmUsIGJ1dCBpdCdzIG5vdCByZWNv
bW1lbmRlZC4KKyAgICAvLyBVc2UgdGhpcyB0byBhZGQgY2hpbGRyZW4uCiAgICAgdm9pZCBhcHBl
bmQoY29uc3QgQ29uc3RyYWluZWRWYWx1ZSYgdmFsdWUpCiAgICAgewogICAgICAgICBhcHBlbmQo
dmFsdWUudmFsdWUoKSwgdmFsdWUucmVwKCkpOwpAQCAtMjg1LDYgKzI4NCw4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIENvbnN0cmFpbmVkVmFsdWVDb2xsZWN0aW9uKCp0aGlzKTsKICAgICB9
CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOCisKIHByb3Rl
Y3RlZDoKICAgICB2b2lkIGR1bXBDaGlsZHJlbihDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRT
dHJlYW0mKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1N3aXRjaFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRj
aFZhbHVlLmNwcAppbmRleCBmODcwOWI0Mzg2NS4uNTExNjViYzliMGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAKQEAgLTEwNiwxMyArMTA2LDggQEAgdm9p
ZCBTd2l0Y2hWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsICJjYXNlcyA9IFsiLCBsaXN0RHVtcCht
X3ZhbHVlcyksICJdIik7CiB9CiAKLVZhbHVlKiBTd2l0Y2hWYWx1ZTo6Y2xvbmVJbXBsKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbmV3IFN3aXRjaFZhbHVlKCp0aGlzKTsKLX0KLQogU3dpdGNoVmFs
dWU6OlN3aXRjaFZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBjaGlsZCkKLSAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgb3JpZ2luLCBjaGlsZCkKKyAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgT25lLCBvcmlnaW4sIGNoaWxkKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaAppbmRleCA2MWE0ZmVkZjFl
NC4uYWNhODc3MDQ4YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3
aXRjaFZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUu
aApAQCAtNjQsMTQgKzY0LDE3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZHVtcFN1Y2Nlc3NvcnMo
Y29uc3QgQmFzaWNCbG9jayosIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBC
M19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqKSB7
IHJldHVybiBTd2l0Y2g7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBTd2l0Y2hWYWx1ZShPcmln
aW4sIFZhbHVlKiBjaGlsZCk7CiAKICAgICBWZWN0b3I8aW50NjRfdD4gbV92YWx1ZXM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmNwcAppbmRleCBjODc0MzJmYjc3
OS4uYTkxZDA3YjkwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vw
c2lsb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZh
bHVlLmNwcApAQCAtNDUsMTEgKzQ1LDYgQEAgdm9pZCBVcHNpbG9uVmFsdWU6OmR1bXBNZXRhKENv
bW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgfQogfQogCi1W
YWx1ZSogVXBzaWxvblZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcg
VXBzaWxvblZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNl
bmRpZiAvLyBFTkFCTEUoQjNfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzVXBzaWxvblZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9u
VmFsdWUuaAppbmRleCA0YzQ3OWU0MTlhNi4uOWQ2M2M0NjE5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCkBAIC00NSwxOSArNDUsMjIgQEAgcHVibGljOgog
ICAgICAgICBtX3BoaSA9IHBoaTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJ
WkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQ
cmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9u
ZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bj
b2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBWYWx1ZSogPSBudWxscHRyKSB7IHJl
dHVybiBVcHNpbG9uOyB9CiAgICAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgdGhlIFBoaSBkdXJpbmcg
Y29uc3RydWN0aW9uIGlzIG9wdGlvbmFsLiBBIHZhbGlkIHBhdHRlcm4gaXMgdG8gZmlyc3QgY3Jl
YXRlCiAgICAgLy8gdGhlIFVwc2lsb25zIHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVhdGUgdGhl
IFBoaSwgdGhlbiBnbyBiYWNrIGFuZCB0ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAgIC8vIHRo
ZSBQaGkuIFRoaXMgYWxsb3dzIHlvdSB0byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwgb3JkZXIu
CiAgICAgVXBzaWxvblZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBo
aSA9IG51bGxwdHIpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxvbiwgVm9p
ZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBVcHNpbG9u
LCBWb2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQogICAgIHsK
ICAgICAgICAgaWYgKHBoaSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAppbmRleCBk
NjcwNGNhMTBkMC4uZWRkZTUyNzIzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5j
cHAKQEAgLTUxLDkgKzUxLDE4IEBACiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAog
Y29uc3QgY2hhciogY29uc3QgVmFsdWU6OmR1bXBQcmVmaXggPSAiQCI7Cit2b2lkIERlZXBWYWx1
ZUR1bXA6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBpZiAobV92YWx1ZSkK
KyAgICAgICAgbV92YWx1ZS0+ZGVlcER1bXAobV9wcm9jLCBvdXQpOworICAgIGVsc2UKKyAgICAg
ICAgb3V0LnByaW50KCI8bnVsbD4iKTsKK30KIAogVmFsdWU6On5WYWx1ZSgpCiB7CisgICAgaWYg
KG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykKKyAgICAgICAgY2hpbGRyZW5BbGxvYygpLT5+VmVj
dG9yPFZhbHVlKj4oKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhJZGVudGl0eShWYWx1
ZSogdmFsdWUpCkBAIC02MiwyNiArNzEsMTIgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhJZGVu
dGl0eShWYWx1ZSogdmFsdWUpCiAgICAgLy8gYSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmly
c3QgY29sbGVjdCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1
Y3QgdGhlCiAgICAgLy8gcHJldmlvdXMgdmFsdWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0
cnVjdCB0aGUgSWRlbnRpdHkgVmFsdWUgaW4gcGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09
IHZhbHVlLT5tX3R5cGUpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlw
ZSgpKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9p
ZCkKICAgICAgICAgcmVwbGFjZVdpdGhOb3BJZ25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUg
PSBtX3R5cGU7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sq
IG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVl
LT50eXBlKCkpOwotCi0gICAgdGhpcy0+flZhbHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVl
KElkZW50aXR5LCB0eXBlLCBvcmlnaW4sIHZhbHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3du
ZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFj
ZVdpdGgoSWRlbnRpdHksIG1fdHlwZSwgdGhpcy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBW
YWx1ZTo6cmVwbGFjZVdpdGhCb3R0b20oSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVf
dCBpbmRleCkKQEAgLTk3LDE2ICs5Miw3IEBAIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wKCkK
IAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhOb3BJZ25vcmluZ1R5cGUoKQogewotICAgIHVuc2ln
bmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAg
QmFzaWNCbG9jayogb3duZXIgPSB0aGlzLT5vd25lcjsKLQotICAgIHRoaXMtPn5WYWx1ZSgpOwot
Ci0gICAgbmV3ICh0aGlzKSBWYWx1ZShOb3AsIFZvaWQsIG9yaWdpbik7Ci0KLSAgICB0aGlzLT5v
d25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICByZXBsYWNlV2l0
aChOb3AsIFZvaWQsIHRoaXMtPm93bmVyKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhQ
aGkoKQpAQCAtMTE1LDUxICsxMDEsMjEgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhQaGkoKQog
ICAgICAgICByZXBsYWNlV2l0aE5vcCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAot
ICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmln
aW47Ci0gICAgQmFzaWNCbG9jayogb3duZXIgPSB0aGlzLT5vd25lcjsKLSAgICBUeXBlIHR5cGUg
PSBtX3R5cGU7CiAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUo
UGhpLCB0eXBlLCBvcmlnaW4pOwotCi0gICAgdGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlz
LT5tX2luZGV4ID0gaW5kZXg7CisgICAgcmVwbGFjZVdpdGgoUGhpLCBtX3R5cGUsIHRoaXMtPm93
bmVyKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhKdW1wKEJhc2ljQmxvY2sqIG93bmVy
LCBGcmVxdWVudGVkQmxvY2sgdGFyZ2V0KQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5s
YXN0KCkgPT0gdGhpcyk7Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAg
IE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAg
ICAKLSAgICBuZXcgKHRoaXMpIFZhbHVlKEp1bXAsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAg
dGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisg
ICAgcmVwbGFjZVdpdGgoSnVtcCwgVm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5zZXRT
dWNjZXNzb3JzKHRhcmdldCk7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoT29wcyhCYXNp
Y0Jsb2NrKiBvd25lcikKIHsKICAgICBSRUxFQVNFX0FTU0VSVChvd25lci0+bGFzdCgpID09IHRo
aXMpOwotICAgIAotICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBPcmlnaW4gb3Jp
Z2luID0gbV9vcmlnaW47Ci0gICAgCi0gICAgdGhpcy0+flZhbHVlKCk7Ci0gICAgCi0gICAgbmV3
ICh0aGlzKSBWYWx1ZShPb3BzLCBWb2lkLCBvcmlnaW4pOwotICAgIAotICAgIHRoaXMtPm93bmVy
ID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OwotICAgIAorICAgIHJlcGxhY2VX
aXRoKE9vcHMsIFZvaWQsIHRoaXMtPm93bmVyKTsKICAgICBvd25lci0+Y2xlYXJTdWNjZXNzb3Jz
KCk7CiB9CiAKQEAgLTE3Myw2ICsxMjksMzAgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3Bz
KCkKICAgICByZXBsYWNlV2l0aE9vcHMob3duZXIpOwogfQogCit2b2lkIFZhbHVlOjpyZXBsYWNl
V2l0aChLaW5kIGtpbmQsIFR5cGUgdHlwZSwgQmFzaWNCbG9jayogb3duZXIpCit7CisgICAgdW5z
aWduZWQgaW5kZXggPSBtX2luZGV4OworCisgICAgdGhpcy0+flZhbHVlKCk7CisKKyAgICBuZXcg
KHRoaXMpIFZhbHVlKGtpbmQsIHR5cGUsIG1fb3JpZ2luKTsKKworICAgIHRoaXMtPm1faW5kZXgg
PSBpbmRleDsKKyAgICB0aGlzLT5vd25lciA9IG93bmVyOworfQorCit2b2lkIFZhbHVlOjpyZXBs
YWNlV2l0aChLaW5kIGtpbmQsIFR5cGUgdHlwZSwgQmFzaWNCbG9jayogb3duZXIsIFZhbHVlKiB2
YWx1ZSkKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAgICB0aGlzLT5+VmFs
dWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9vcmlnaW4sIHZhbHVl
KTsKKworICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICB0aGlzLT5vd25lciA9IG93bmVy
OworfQorCiB2b2lkIFZhbHVlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAg
Ym9vbCBpc0NvbnN0YW50ID0gZmFsc2U7CkBAIC0yMDQsMTEgKzE4NCw2IEBAIHZvaWQgVmFsdWU6
OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9
CiAKLVZhbHVlKiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZh
bHVlKCp0aGlzKTsKLX0KLQogdm9pZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYg
Y29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQg
OiBjaGlsZHJlbigpKQpAQCAtNDU3LDExICs0MzIsMTEgQEAgVHJpU3RhdGUgVmFsdWU6OmVxdWFs
T3JVbm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSopIGNvbnN0CiAKIFZhbHVlKiBWYWx1ZTo6
aW52ZXJ0ZWRDb21wYXJlKFByb2NlZHVyZSYgcHJvYykgY29uc3QKIHsKLSAgICBpZiAoIW51bUNo
aWxkcmVuKCkpCisgICAgaWYgKG51bUNoaWxkcmVuKCkgIT0gMikKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgaWYgKE9wdGlvbmFsPE9wY29kZT4gaW52ZXJ0ZWRPcGNvZGUgPSBCMzo6aW52
ZXJ0ZWRDb21wYXJlKG9wY29kZSgpLCBjaGlsZCgwKS0+dHlwZSgpKSkgewogICAgICAgICBBU1NF
UlQoIWtpbmQoKS5oYXNFeHRyYUJpdHMoKSk7Ci0gICAgICAgIHJldHVybiBwcm9jLmFkZDxWYWx1
ZT4oKmludmVydGVkT3Bjb2RlLCB0eXBlKCksIG9yaWdpbigpLCBjaGlsZHJlbigpKTsKKyAgICAg
ICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUoKSwgb3JpZ2lu
KCksIGNoaWxkKDApLCBjaGlsZCgxKSk7CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpA
QCAtNDk1LDYgKzQ3MCw3IEBAIGJvb2wgVmFsdWU6OnJldHVybnNCb29sKCkgY29uc3QKIHsKICAg
ICBpZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0
Y2ggKG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1cm4gYXNJbnQz
MigpID09IDAgfHwgYXNJbnQzMigpID09IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuaApp
bmRleCAwMTRlNzhlMTFmMy4uMmRlMDVlMTg3YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFs
dWUuaApAQCAtMzcsOCArMzcsNyBAQAogI2luY2x1ZGUgIkIzVmFsdWVLZXkuaCIKICNpbmNsdWRl
ICJCM1dpZHRoLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgotI2luY2x1ZGUgPHd0
Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8
d3RmL0l0ZXJhdG9yUmFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1RyaVN0YXRlLmg+CiAKQEAgLTUxLDcgKzUwLDYgQEAgY2xhc3MgUGhpQ2hpbGRy
ZW47CiBjbGFzcyBQcm9jZWR1cmU7CiAKIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFZhbHVlIHsK
LSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFZlY3Rv
cjxWYWx1ZSosIDM+IEFkamFjZW5jeUxpc3Q7CiAKQEAgLTgyLDE0ICs4MCw2IEBAIHB1YmxpYzoK
ICAgICBPcmlnaW4gb3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW47IH0KICAgICB2b2lk
IHNldE9yaWdpbihPcmlnaW4gb3JpZ2luKSB7IG1fb3JpZ2luID0gb3JpZ2luOyB9CiAgICAgCi0g
ICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gbV9jaGlsZHJlbltpbmRl
eF07IH0KLSAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2hpbGRyZW5baW5kZXhdOyB9Ci0KLSAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1f
Y2hpbGRyZW4ubGFzdCgpOyB9Ci0gICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0KLSAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0
IHsgcmV0dXJuIG1fY2hpbGRyZW4uc2l6ZSgpOyB9Ci0KICAgICBUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBtX3R5cGU7IH0KICAgICB2b2lkIHNldFR5cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9
IHR5cGU7IH0KIApAQCAtOTcsOCArODcsNTkgQEAgcHVibGljOgogICAgIEJhbmsgcmVzdWx0QmFu
aygpIGNvbnN0IHsgcmV0dXJuIGJhbmtGb3JUeXBlKHR5cGUoKSk7IH0KICAgICBXaWR0aCByZXN1
bHRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHdpZHRoRm9yVHlwZSh0eXBlKCkpOyB9CiAKLSAgICBB
ZGphY2VuY3lMaXN0JiBjaGlsZHJlbigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH0gCi0gICAgY29u
c3QgQWRqYWNlbmN5TGlzdCYgY2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuOyB9
CisgICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1f
bnVtQ2hpbGRyZW4gPT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3Rv
cigpLnNpemUoKTsKKyAgICAgICAgcmV0dXJuIG1fbnVtQ2hpbGRyZW47CisgICAgfQorICAgIAor
ICAgIFZhbHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBBU1NFUlQo
aW5kZXggPCBudW1DaGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIG1fbnVtQ2hpbGRyZW4gPT0g
VmFyQXJncyA/IGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdIDogY2hpbGRyZW5BcnJheSgpW2luZGV4
XTsKKyAgICB9CisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsK
KyAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtQ2hpbGRyZW4oKSk7CisgICAgICAgIHJldHVybiBt
X251bUNoaWxkcmVuID09IFZhckFyZ3MgPyBjaGlsZHJlblZlY3RvcigpW2luZGV4XSA6IGNoaWxk
cmVuQXJyYXkoKVtpbmRleF07CisgICAgfQorICAgIAorICAgIFZhbHVlKiYgbGFzdENoaWxkKCkK
KyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisgICAgICAgICAg
ICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7CisgICAgICAgIEFTU0VSVChtX251bUNo
aWxkcmVuID49IDEpOworICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW21fbnVtQ2hpbGRy
ZW4gLSAxXTsKKyAgICB9CisgICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0CisgICAgeworICAg
ICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNo
aWxkcmVuVmVjdG9yKCkubGFzdCgpOworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAx
KTsKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07Cisg
ICAgfQorCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkKKyAgICB7
CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIFZl
Y3RvcjxWYWx1ZSo+JiB2ZWMgPSBjaGlsZHJlblZlY3RvcigpOworICAgICAgICAgICAgcmV0dXJu
IFdURjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5
KCk7CisgICAgICAgICAgICByZXR1cm4ge2J1ZmZlciwgYnVmZmVyICsgbV9udW1DaGlsZHJlbiB9
OworICAgICAgICB9CisgICAgfQorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3Qq
PiBjaGlsZHJlbigpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBW
YXJBcmdzKSB7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRy
ZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCYq
dmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICAgICAgcmV0
dXJuIHtidWZmZXIsIGJ1ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICAgICAgfQorICAgIH0K
IAogICAgIC8vIElmIHlvdSB3YW50IHRvIHJlcGxhY2UgYWxsIHVzZXMgb2YgdGhpcyB2YWx1ZSB3
aXRoIGEgZGlmZmVyZW50IHZhbHVlLCB0aGVuIHJlcGxhY2UgdGhpcwogICAgIC8vIHZhbHVlIHdp
dGggSWRlbnRpdHkuIFRoZW4gZG8gYSBwYXNzIG9mIHBlcmZvcm1TdWJzdGl0dXRpb24oKSBvbiBh
bGwgb2YgdGhlIHZhbHVlcyB0aGF0IHVzZQpAQCAtMzAxLDE5ICszNDIsMjE4IEBAIHB1YmxpYzoK
ICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c2l6ZW9mKEludCkgPD0gc2l6ZW9mKE9m
ZnNldFR5cGUpPjo6dHlwZQogICAgID4geyB9OwogCi0KIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFs
IFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKLSAgICAKKyAgICBWYWx1ZSogY2xvbmVJbXBsKCkg
Y29uc3Q7CisKKyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUsIEJhc2ljQmxvY2sqKTsK
KyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUsIEJhc2ljQmxvY2sqLCBWYWx1ZSopOwor
CiAgICAgdmlydHVhbCB2b2lkIGR1bXBDaGlsZHJlbihDb21tYVByaW50ZXImLCBQcmludFN0cmVh
bSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmlu
dFN0cmVhbSYpIGNvbnN0OwogCisgICAgLy8gVGhlIHNwZWNpZmljIHZhbHVlIG9mIFZhckFyZ3Mg
ZG9lcyBub3QgbWF0dGVyLCBidXQgdGhlIHZhbHVlIG9mIHRoZSBvdGhlcnMgaXMgYXNzdW1lZCB0
byBtYXRjaCB0aGVpciBtZWFuaW5nLgorICAgIGVudW0gTnVtQ2hpbGRyZW4gOiB1aW50OF90IHsg
WmVybyA9IDAsIE9uZSA9IDEsIFR3byA9IDIsIFRocmVlID0gMywgVmFyQXJncyA9IDR9OworCisg
ICAgY2hhciogY2hpbGRyZW5BbGxvYygpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxjaGFyKj4odGhp
cykgKyBhZGphY2VuY3lMaXN0T2Zmc2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBjaGlsZHJlbkFs
bG9jKCkgY29uc3QgeyByZXR1cm4gYml0d2lzZV9jYXN0PGNvbnN0IGNoYXIqPih0aGlzKSArIGFk
amFjZW5jeUxpc3RPZmZzZXQoKTsgfQorICAgIFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3Rv
cigpCisgICAgeworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAg
ICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKj4qPihjaGlsZHJlbkFsbG9j
KCkpOworICAgIH0KKyAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgY2hpbGRyZW5WZWN0b3IoKSBj
b25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyk7Cisg
ICAgICAgIHJldHVybiAqYml0d2lzZV9jYXN0PFZlY3RvcjxWYWx1ZSo+IGNvbnN0Kj4oY2hpbGRy
ZW5BbGxvYygpKTsKKyAgICB9CisgICAgVmFsdWUqKiBjaGlsZHJlbkFycmF5KCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZhckFyZ3MpOworICAgICAgICByZXR1cm4g
Yml0d2lzZV9jYXN0PFZhbHVlKio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIFZhbHVl
KiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9u
dW1DaGlsZHJlbiAhPSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1
ZSogY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3Rv
cihLaW5kIGtpbmQsIEFyZ3VtZW50cy4uLikgeyByZXR1cm4ga2luZC5vcGNvZGUoKTsgfQorICAg
IEFMV0FZU19JTkxJTkUgc3RhdGljIHNpemVfdCBhZGphY2VuY3lMaXN0U3BhY2UoS2luZCBraW5k
KQorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CisgICAgICAgICAgICBj
YXNlIEZyYW1lUG9pbnRlcjoKKyAgICAgICAgICAgIGNhc2UgTm9wOgorICAgICAgICAgICAgY2Fz
ZSBQaGk6CisgICAgICAgICAgICBjYXNlIEp1bXA6CisgICAgICAgICAgICBjYXNlIE9vcHM6Cisg
ICAgICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgorICAgICAgICAgICAgY2FzZSBBcmd1bWVudFJl
ZzoKKyAgICAgICAgICAgIGNhc2UgQ29uc3QzMjoKKyAgICAgICAgICAgIGNhc2UgQ29uc3Q2NDoK
KyAgICAgICAgICAgIGNhc2UgQ29uc3RGbG9hdDoKKyAgICAgICAgICAgIGNhc2UgQ29uc3REb3Vi
bGU6CisgICAgICAgICAgICBjYXNlIEZlbmNlOgorICAgICAgICAgICAgY2FzZSBTbG90QmFzZToK
KyAgICAgICAgICAgIGNhc2UgR2V0OgorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgY2FzZSBSZXR1cm46CisgICAgICAgICAgICBjYXNlIElkZW50aXR5OgorICAgICAgICAg
ICAgY2FzZSBPcGFxdWU6CisgICAgICAgICAgICBjYXNlIE5lZzoKKyAgICAgICAgICAgIGNhc2Ug
Q2x6OgorICAgICAgICAgICAgY2FzZSBBYnM6CisgICAgICAgICAgICBjYXNlIENlaWw6CisgICAg
ICAgICAgICBjYXNlIEZsb29yOgorICAgICAgICAgICAgY2FzZSBTcXJ0OgorICAgICAgICAgICAg
Y2FzZSBTRXh0ODoKKyAgICAgICAgICAgIGNhc2UgU0V4dDE2OgorICAgICAgICAgICAgY2FzZSBU
cnVuYzoKKyAgICAgICAgICAgIGNhc2UgU0V4dDMyOgorICAgICAgICAgICAgY2FzZSBaRXh0MzI6
CisgICAgICAgICAgICBjYXNlIEZsb2F0VG9Eb3VibGU6CisgICAgICAgICAgICBjYXNlIElUb0Q6
CisgICAgICAgICAgICBjYXNlIERvdWJsZVRvRmxvYXQ6CisgICAgICAgICAgICBjYXNlIElUb0Y6
CisgICAgICAgICAgICBjYXNlIEJpdHdpc2VDYXN0OgorICAgICAgICAgICAgY2FzZSBCcmFuY2g6
CisgICAgICAgICAgICBjYXNlIERlcGVuZDoKKyAgICAgICAgICAgIGNhc2UgTG9hZDhaOgorICAg
ICAgICAgICAgY2FzZSBMb2FkOFM6CisgICAgICAgICAgICBjYXNlIExvYWQxNlo6CisgICAgICAg
ICAgICBjYXNlIExvYWQxNlM6CisgICAgICAgICAgICBjYXNlIExvYWQ6CisgICAgICAgICAgICBj
YXNlIFN3aXRjaDoKKyAgICAgICAgICAgIGNhc2UgVXBzaWxvbjoKKyAgICAgICAgICAgIGNhc2Ug
U2V0OgorICAgICAgICAgICAgY2FzZSBXYXNtQWRkcmVzczoKKyAgICAgICAgICAgIGNhc2UgV2Fz
bUJvdW5kc0NoZWNrOgorICAgICAgICAgICAgICAgIHJldHVybiBzaXplb2YoVmFsdWUqKTsKKyAg
ICAgICAgICAgIGNhc2UgQWRkOgorICAgICAgICAgICAgY2FzZSBTdWI6CisgICAgICAgICAgICBj
YXNlIE11bDoKKyAgICAgICAgICAgIGNhc2UgRGl2OgorICAgICAgICAgICAgY2FzZSBVRGl2Ogor
ICAgICAgICAgICAgY2FzZSBNb2Q6CisgICAgICAgICAgICBjYXNlIFVNb2Q6CisgICAgICAgICAg
ICBjYXNlIEJpdEFuZDoKKyAgICAgICAgICAgIGNhc2UgQml0T3I6CisgICAgICAgICAgICBjYXNl
IEJpdFhvcjoKKyAgICAgICAgICAgIGNhc2UgU2hsOgorICAgICAgICAgICAgY2FzZSBTU2hyOgor
ICAgICAgICAgICAgY2FzZSBaU2hyOgorICAgICAgICAgICAgY2FzZSBSb3RSOgorICAgICAgICAg
ICAgY2FzZSBSb3RMOgorICAgICAgICAgICAgY2FzZSBFcXVhbDoKKyAgICAgICAgICAgIGNhc2Ug
Tm90RXF1YWw6CisgICAgICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAgICAgICAgY2FzZSBH
cmVhdGVyVGhhbjoKKyAgICAgICAgICAgIGNhc2UgTGVzc0VxdWFsOgorICAgICAgICAgICAgY2Fz
ZSBHcmVhdGVyRXF1YWw6CisgICAgICAgICAgICBjYXNlIEFib3ZlOgorICAgICAgICAgICAgY2Fz
ZSBCZWxvdzoKKyAgICAgICAgICAgIGNhc2UgQWJvdmVFcXVhbDoKKyAgICAgICAgICAgIGNhc2Ug
QmVsb3dFcXVhbDoKKyAgICAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKKyAgICAgICAg
ICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAgICAgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FuZDoK
KyAgICAgICAgICAgIGNhc2UgQXRvbWljWGNoZ09yOgorICAgICAgICAgICAgY2FzZSBBdG9taWNY
Y2hnU3ViOgorICAgICAgICAgICAgY2FzZSBBdG9taWNYY2hnWG9yOgorICAgICAgICAgICAgY2Fz
ZSBBdG9taWNYY2hnOgorICAgICAgICAgICAgY2FzZSBTdG9yZTg6CisgICAgICAgICAgICBjYXNl
IFN0b3JlMTY6CisgICAgICAgICAgICBjYXNlIFN0b3JlOgorICAgICAgICAgICAgICAgIHJldHVy
biAyICogc2l6ZW9mKFZhbHVlKik7CisgICAgICAgICAgICBjYXNlIFNlbGVjdDoKKyAgICAgICAg
ICAgIGNhc2UgQXRvbWljV2Vha0NBUzoKKyAgICAgICAgICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FT
OgorICAgICAgICAgICAgICAgIHJldHVybiAzICogc2l6ZW9mKFZhbHVlKik7CisgICAgICAgICAg
ICBjYXNlIENDYWxsOgorICAgICAgICAgICAgY2FzZSBDaGVjazoKKyAgICAgICAgICAgIGNhc2Ug
Q2hlY2tBZGQ6CisgICAgICAgICAgICBjYXNlIENoZWNrU3ViOgorICAgICAgICAgICAgY2FzZSBD
aGVja011bDoKKyAgICAgICAgICAgIGNhc2UgUGF0Y2hwb2ludDoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gc2l6ZW9mKFZlY3RvcjxWYWx1ZSo+KTsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiBwcml2YXRlOgorICAgIHN0
YXRpYyBjaGFyKiBhbGxvY2F0ZVNwYWNlKE9wY29kZSBvcGNvZGUsIHNpemVfdCBzaXplKQorICAg
IHsKKyAgICAgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RTcGFjZSA9IFZhbHVlOjphZGphY2VuY3lM
aXN0U3BhY2Uob3Bjb2RlKTsKKyAgICAgICAgLy8gV2UgbXVzdCBhbGxvY2F0ZSBlbm91Z2ggc3Bh
Y2UgdGhhdCByZXBsYWNlV2l0aElkZW50aXR5IGNhbiB3b3JrIHdpdGhvdXQgYnVmZmVyIG92ZXJm
bG93LgorICAgICAgICBzaXplX3QgYWxsb2NJZGVudGl0eVNpemUgPSBzaXplb2YoVmFsdWUpICsg
c2l6ZW9mKFZhbHVlKik7CisgICAgICAgIHNpemVfdCBhbGxvY1NpemUgPSBzdGQ6Om1heChzaXpl
ICsgYWRqYWNlbmN5TGlzdFNwYWNlLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjaGFyKj4oOjpvcGVyYXRvciBuZXcoYWxsb2NTaXplKSk7CisgICAgfQor
Citwcm90ZWN0ZWQ6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4u
LiBBcmd1bWVudHM+CisgICAgc3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGUoQXJndW1lbnRzLi4u
IGFyZ3VtZW50cykKKyAgICB7CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZShW
YWx1ZVR5cGU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcihhcmd1bWVudHMuLi4pLCBzaXplb2YoVmFs
dWVUeXBlKSk7CisgICAgICAgIHJldHVybiBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUoYXJndW1lbnRz
Li4uKTsKKyAgICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRp
YyBWYWx1ZVR5cGUqIGFsbG9jYXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAg
IHsKKyAgICAgICAgY2hhciogYWxsb2MgPSBhbGxvY2F0ZVNwYWNlKHZhbHVlVG9DbG9uZS5vcGNv
ZGUoKSwgc2l6ZW9mKFZhbHVlVHlwZSkpOworICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5l
dyAoYWxsb2MpIFZhbHVlVHlwZSh2YWx1ZVRvQ2xvbmUpOworICAgICAgICByZXN1bHQtPmJ1aWxk
QWRqYWNlbmN5TGlzdChzaXplb2YoVmFsdWVUeXBlKSwgdmFsdWVUb0Nsb25lKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQgc28gaXQgd2lsbCBvbmx5
IGJlIGNhbGxlZCBmcm9tIGFsbG9jYXRlIGFib3ZlLCBwb3NzaWJseSB0aHJvdWdoIHRoZSBzdWJj
bGFzc2VzJ2NvcHkgY29uc3RydWN0b3JzCisgICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1
bHQ7CisKKyAgICBWYWx1ZShWYWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9
KGNvbnN0IFZhbHVlJikgPSBkZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShWYWx1ZSYmKSA9
IGRlbGV0ZTsKKyAgICAKKyAgICBzaXplX3QgYWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Owor
CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKICAgICBmcmllbmQgY2xhc3MgU3BhcnNlQ29s
bGVjdGlvbjxWYWx1ZT47CiAKK3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KE51bUNoaWxkcmVuIG51bUNoaWxk
cmVuLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgaWYgKG51bUNoaWxk
cmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWZWN0
b3I8VmFsdWUqPiB7IGFyZ3VtZW50cy4uLiB9IDsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICBBU1NFUlQobnVtQ2hpbGRyZW4gPT0gc2l6ZW9mLi4uKGFyZ3VtZW50cykp
OworICAgICAgICBuZXcgKGNoaWxkcmVuQWxsb2MoKSkgVmFsdWUqW3NpemVvZi4uLihhcmd1bWVu
dHMpXSB7IGFyZ3VtZW50cy4uLiB9OworICAgIH0KKyAgICB2b2lkIGJ1aWxkQWRqYWNlbmN5TGlz
dChzaXplX3Qgb2Zmc2V0LCBjb25zdCBWYWx1ZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAg
ICAgc3dpdGNoICh2YWx1ZVRvQ2xvbmUubV9udW1DaGlsZHJlbikgeworICAgICAgICBjYXNlIFZh
ckFyZ3M6CisgICAgICAgICAgICBuZXcgKGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZz
ZXQpIFZlY3RvcjxWYWx1ZSo+ICh2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5WZWN0b3IoKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBUaHJlZToKKyAgICAgICAgICAgIGJpdHdpc2Vf
Y2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsyXSA9IHZh
bHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMl07CisgICAgICAgICAgICBVX0ZBTExUSFJPVUdI
OworICAgICAgICBjYXNlIFR3bzoKKyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihi
aXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsxXSA9IHZhbHVlVG9DbG9uZS5jaGls
ZHJlbkFycmF5KClbMV07CisgICAgICAgICAgICBVX0ZBTExUSFJPVUdIOworICAgICAgICBjYXNl
IE9uZToKKyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hh
cio+KHRoaXMpICsgb2Zmc2V0KVswXSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMF07
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBaZXJvOgorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgLy8gQ2hlY2tzIHRoYXQgdGhpcyBraW5k
IGlzIHZhbGlkIGZvciB1c2Ugd2l0aCBCMzo6VmFsdWUuCi0gICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgdm9pZCBjaGVja0tpbmQoS2luZCBraW5kLCB1bnNpZ25lZCBudW1BcmdzKQorICAgIEFMV0FZ
U19JTkxJTkUgc3RhdGljIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuRm9yS2luZChLaW5kIGtpbmQs
IHVuc2lnbmVkIG51bUFyZ3MpCiAgICAgewogICAgICAgICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkp
IHsKICAgICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6CkBAIC0zMjQsMTEgKzU2NCwxMSBAQCBwcml2
YXRlOgogICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KG51bUFyZ3MpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBaZXJvOwogICAgICAgICBjYXNlIFJl
dHVybjoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzID4gMSkpCiAgICAgICAgICAg
ICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgcmV0dXJuIG51bUFyZ3MgPyBPbmUgOiBaZXJvOwogICAgICAgICBjYXNlIElkZW50aXR5
OgogICAgICAgICBjYXNlIE9wYXF1ZToKICAgICAgICAgY2FzZSBOZWc6CkBAIC0zNTEsNyArNTkx
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBEZXBlbmQ6CiAgICAgICAgICAgICBpZiAoVU5M
SUtFTFkobnVtQXJncyAhPSAxKSkKICAgICAgICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFy
Z3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gT25lOwogICAgICAg
ICBjYXNlIEFkZDoKICAgICAgICAgY2FzZSBTdWI6CiAgICAgICAgIGNhc2UgTXVsOgpAQCAtMzgw
LDEyOSArNjIwLDEwNSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6
CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncyAhPSAyKSkKICAgICAgICAgICAgICAg
ICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICByZXR1cm4gVHdvOwogICAgICAgICBjYXNlIFNlbGVjdDoKICAgICAgICAgICAgIGlmIChVTkxJ
S0VMWShudW1BcmdzICE9IDMpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJn
cyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBUaHJlZTsKICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICByZXR1cm4gVmFyQXJnczsKICAgICB9CiAK
IHByb3RlY3RlZDoKICAgICBlbnVtIENoZWNrZWRPcGNvZGVUYWcgeyBDaGVja2VkT3Bjb2RlIH07
Ci0KLSAgICBWYWx1ZShjb25zdCBWYWx1ZSYpID0gZGVmYXVsdDsKLSAgICBWYWx1ZSYgb3BlcmF0
b3I9KGNvbnN0IFZhbHVlJikgPSBkZWZhdWx0OwogICAgIAogICAgIC8vIEluc3RhbnRpYXRlIHZh
bHVlcyB2aWEgUHJvY2VkdXJlLgogICAgIC8vIFRoaXMgZm9ybSByZXF1aXJlcyBzcGVjaWZ5aW5n
IHRoZSB0eXBlIGV4cGxpY2l0bHk6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3Vt
ZW50cykKKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5
cGUgdHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBm
aXJzdENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAgICAgICA6IG1fa2luZChraW5k
KQogICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hp
bGRyZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57
IGZpcnN0Q2hpbGQsIGFyZ3VtZW50cy4uLiB9CiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5j
eUxpc3QobnVtQ2hpbGRyZW4sIGZpcnN0Q2hpbGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogICAg
IC8vIFRoaXMgZm9ybSBpcyBmb3Igc3BlY2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5IHdoZW4g
dGhlIG9wY29kZSBoYXMgbm8gY2hpbGRyZW46Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9w
Y29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGlj
aXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxk
cmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luKQogICAgICAgICA6IG1fa2luZChraW5kKQog
ICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRy
ZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgIHsKLSAgICB9Ci0gICAgLy8gVGhp
cyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJv
bSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBjaGlsZDoKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBB
cmd1bWVudHM+Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5k
LCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCkKLSAgICAgICAgOiBtX2tpbmQoa2lu
ZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkKSkKLSAgICAgICAg
LCBtX29yaWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCB9Ci0g
ICAgewotICAgIH0KLSAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBj
YW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGFuZCBzZWNvbmQg
Y2hpbGQ6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIGV4cGxpY2l0
IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUq
IGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykK
LSAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBm
aXJzdENoaWxkLCBzZWNvbmRDaGlsZCkpCi0gICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAg
ICAgICAsIG1fY2hpbGRyZW57IGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkLCBhcmd1bWVudHMuLi4g
fQotICAgIHsKKyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuKTsKICAgICB9
CiAgICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRo
ZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFsb25lLCBhbmQgdGhhdCBkb24ndAogICAgIC8vIHRh
a2UgYW55IGFyZ3VtZW50czoKLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBL
aW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29k
ZVRhZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikK
ICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBu
dWxscHRyKSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAs
IG1fb3JpZ2luKG9yaWdpbikKICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1D
aGlsZHJlbik7CiAgICAgfQotICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIHZhcmFyZ3MuCi0gICAg
ZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9y
aWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQorICAgIC8vIFRoaXMg
Zm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20g
dGhlIG9wY29kZSBhbmQgZmlyc3QgY2hpbGQ6CisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9w
Y29kZVRhZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdp
biwgVmFsdWUqIGZpcnN0Q2hpbGQpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwg
bV90eXBlKHR5cGUpCisgICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkp
CisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdp
bihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihjaGlsZHJlbikKICAgICB7CisgICAgICAg
IGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCk7CiAgICAgfQotICAg
IGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBP
cmlnaW4gb3JpZ2luLCBBZGphY2VuY3lMaXN0JiYgY2hpbGRyZW4pCisgICAgLy8gVGhpcyBmb3Jt
IGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUg
b3Bjb2RlIGFuZCBmaXJzdCBhbmQgc2Vjb25kIGNoaWxkOgorICAgIHRlbXBsYXRlPHR5cGVuYW1l
Li4uIEFyZ3VtZW50cz4KKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5k
IGtpbmQsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmly
c3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAg
ICAgICA6IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1f
dHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkKSkKKyAgICAgICAgLCBt
X251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAg
ICAgICAgLCBtX2NoaWxkcmVuKFdURk1vdmUoY2hpbGRyZW4pKQogICAgIHsKKyAgICAgICAgYnVp
bGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJn
dW1lbnRzLi4uKTsKICAgICB9CiAKICAgICAvLyBUaGlzIGlzIHRoZSBjb25zdHJ1Y3RvciB5b3Ug
ZW5kIHVwIGFjdHVhbGx5IGNhbGxpbmcsIGlmIHlvdSdyZSBpbnN0YW50aWF0aW5nIFZhbHVlCiAg
ICAgLy8gZGlyZWN0bHkuCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAg
ICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikK
LSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4pCi0gICAg
ewotICAgICAgICBjaGVja0tpbmQoa2luZCwgMCk7Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBl
IHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMmJi4uLiBh
cmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3Jp
Z2luLCBmaXJzdENoaWxkLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQot
ICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIDEgKyBzaXplb2YuLi4oYXJndW1lbnRzKSk7
Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhw
bGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFk
amFjZW5jeUxpc3QmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtp
bmQsIHR5cGUsIG9yaWdpbiwgY2hpbGRyZW4pCisgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5k
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwga2luZCwgdHlwZSwgWmVybywgb3JpZ2luKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtp
bmQsIGNoaWxkcmVuLnNpemUoKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVu
Rm9yS2luZChraW5kLCAwKSA9PSBaZXJvKTsKICAgICB9CisgICAgLy8gV2UgZXhwbGljaXRseSBj
b252ZXJ0IHRoZSBleHRyYSBhcmd1bWVudHMgdG8gVmFsdWUqICh0aGV5IG1heSBiZSBwb2ludGVy
cyB0byBzb21lIHN1YmNsYXNzZXMgb2YgVmFsdWUpIHRvIGxpbWl0IHRlbXBsYXRlIGV4cGxvc2lv
bgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQg
VmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3Qm
JiBjaGlsZHJlbikKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBv
cmlnaW4sIFdURk1vdmUoY2hpbGRyZW4pKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwg
T3JpZ2luIG9yaWdpbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShD
aGVja2VkT3Bjb2RlLCBraW5kLCBudW1DaGlsZHJlbkZvcktpbmQoa2luZCwgc2l6ZW9mLi4uKGFy
Z3VtZW50cykpLCBvcmlnaW4sIHN0YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAg
ICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBtX2NoaWxkcmVuLnNpemUoKSk7CiAgICAgfQog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFs
dWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0g
ICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8
QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwg
VHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4u
IGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBu
dW1DaGlsZHJlbkZvcktpbmQoa2luZCwgMSArIHNpemVvZi4uLihhcmd1bWVudHMpKSwgb3JpZ2lu
LCBmaXJzdENoaWxkLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgewot
ICAgICAgICBjaGVja0tpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwogICAgIH0KIAog
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ2hlY2tWYWx1ZTsgLy8gQ2hlY2tWYWx1ZTo6Y29u
dmVydFRvQWRkKCkgbW9kaWZpZXMgbV9raW5kLgotICAgIAorCiAgICAgc3RhdGljIFR5cGUgdHlw
ZUZvcihLaW5kLCBWYWx1ZSogZmlyc3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkID0gbnVsbHB0
cik7CiAKLSAgICAvLyBUaGlzIGdyb3VwIG9mIGZpZWxkcyBpcyBhcnJhbmdlZCB0byBmaXQgaW4g
NjQgYml0cy4KKyAgICAvLyBtX2luZGV4IHRvIG1fbnVtQ2hpbGRyZW4gYXJlIGFycmFuZ2VkIHRv
IGZpdCBpbiA2NCBiaXRzLgogcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1faW5kZXggeyBVSU5U
X01BWCB9OwogcHJpdmF0ZToKICAgICBLaW5kIG1fa2luZDsKICAgICBUeXBlIG1fdHlwZTsKLSAg
ICAKK3Byb3RlY3RlZDoKKyAgICBOdW1DaGlsZHJlbiBtX251bUNoaWxkcmVuOworcHJpdmF0ZToK
ICAgICBPcmlnaW4gbV9vcmlnaW47Ci0gICAgQWRqYWNlbmN5TGlzdCBtX2NoaWxkcmVuOwogCiAg
ICAgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBzdGF0aWMgdm9pZCBiYWRLaW5kKEtpbmQsIHVuc2ln
bmVkKTsKIApAQCAtNTE4LDEzICs3MzQsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKG1f
dmFsdWUpCi0gICAgICAgICAgICBtX3ZhbHVlLT5kZWVwRHVtcChtX3Byb2MsIG91dCk7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIG91dC5wcmludCgiPG51bGw+Iik7Ci0gICAgfQorICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBQ
cm9jZWR1cmUqIG1fcHJvYzsKQEAgLTU0MCw2ICs3NTAsMTE2IEBAIGlubGluZSBEZWVwVmFsdWVE
dW1wIGRlZXBEdW1wKGNvbnN0IFZhbHVlKiB2YWx1ZSkKICAgICByZXR1cm4gRGVlcFZhbHVlRHVt
cChudWxscHRyLCB2YWx1ZSk7CiB9CiAKKy8vIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGFyZSBkZXNp
Z25lZCBmb3Igc3ViY2xhc3NlcyBvZiBCMzo6VmFsdWUgdG8gdXNlLgorLy8gVGhleSBhcmUgbmV2
ZXIgcmVxdWlyZWQgZm9yIGNvcnJlY3RuZXNzLCBidXQgY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1h
bmNlIG9mIGNoaWxkL2xhc3RDaGlsZC9udW1DaGlsZHJlbi9jaGlsZHJlbiBtZXRob2RzLAorLy8g
Zm9yIHVzZXJzIHRoYXQgYWxyZWFkeSBrbm93IHRoZSBzcGVjaWZpYyBzdWJjbGFzcyBvZiBWYWx1
ZSB0aGV5IGFyZSBtYW5pcHVsYXRpbmcuCisvLyBUaGUgZmlyc3Qgc2V0IGlzIHRvIGJlIHVzZWQg
d2hlbiB5b3Uga25vdyBzb21ldGhpbmcgYWJvdXQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBh
bGwgdmFsdWVzIG9mIGEgY2xhc3MsIGluY2x1ZGluZyBpdHMgc3ViY2xhc3NlczoKKy8vIC0gQjNf
U1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU46IGFsd2F5cyAwIGNoaWxkcmVuIChlLmcu
IENvbnN0MzJWYWx1ZSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERS
RU4obik6IGFsd2F5cyBuIGNoaWxkcmVuLCB3aXRoIG4gaW4gezEsIDIsIDN9IChlLmcuIFVwc2ls
b25WYWx1ZSwgd2l0aCBuID0gMSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZB
UkFSR1NfQ0hJTERSRU46IGRpZmZlcmVudCBudW1iZXJzIG9mIGNoaWxkcmVuLCBidXQgbmV2ZXIg
YSB2YXJpYWJsZSBudW1iZXIgYXQgcnVudGltZSAoZS5nLiBNZW1vcnlWYWx1ZSwgdGhhdCBjYW4g
aGF2ZSBiZXR3ZWVuIDEgYW5kIDMgY2hpbGRyZW4pCisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVf
Rk9SX1ZBUkFSR1NfQ0hJTERSRU46IGFsd2F5cyBhIHZhcmFyZ3MgKGUuZy4gQ0NhbGxWYWx1ZSkK
Ky8vIFRoZSBzZWNvbmQgc2V0IGlzIG9ubHkgdG8gYmUgdXNlZCBieSBjbGFzc2VzIHRoYXQgd2Ug
a25vdyBhcmUgbm90IGZ1cnRoZXIgc3ViY2xhc3NlZCBieSBhbnlvbmUgYWRkaW5nIGZpZWxkcywK
Ky8vIGFzIHRoZXkgaGFyZGNvZGUgdGhlIG9mZnNldCBvZiB0aGUgY2hpbGRyZW4gYXJyYXkvdmVj
dG9yICh3aGljaCBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0KS4KKy8vIC0gQjNf
U1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorLy8gLSBCM19T
UEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKyNkZWZpbmUg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4gXAorICAgIHVuc2lnbmVkIG51bUNo
aWxkcmVuKCkgY29uc3QgeyByZXR1cm4gMDsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZh
bHVlKio+IGNoaWxkcmVuKCkgeyByZXR1cm4ge251bGxwdHIsIG51bGxwdHJ9OyB9IFwKKyAgICBX
VEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCB7IHJldHVy
biB7IG51bGxwdHIsIG51bGxwdHJ9OyB9CisKKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9G
T1JfRklYRURfQ0hJTERSRU4obikgXAorcHVibGljOiBcCisgICAgdW5zaWduZWQgbnVtQ2hpbGRy
ZW4oKSBjb25zdCB7IHJldHVybiBuOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGlu
ZGV4KSBcCisgICAgeyBcCisgICAgICAgIEFTU0VSVChpbmRleCA8PSBuKTsgXAorICAgICAgICBy
ZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgXAorICAgIH0gXAorICAgIFZhbHVlKiBjaGls
ZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBBU1NFUlQoaW5kZXgg
PD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IFwKKyAgICB9
IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIGNo
aWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkg
Y29uc3QgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW24gLSAxXTsg
XAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwK
KyAgICB7IFwKKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAg
ICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorICAgIFdURjo6
SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAgICB7IFwK
KyAgICAgICAgVmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAgICAg
ICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorCisjZGVmaW5lIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAor
ICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1DaGlsZHJlbjsg
fSBcCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gY2hpbGRyZW5B
cnJheSgpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25z
dCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RD
aGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtudW1DaGlsZHJlbigpIC0gMV07IH0gXAor
ICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbbnVt
Q2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hp
bGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiogYnVmZmVyID0gY2hpbGRyZW5BcnJh
eSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigpIH07
IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRy
ZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hp
bGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGls
ZHJlbigpIH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9W
QVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkg
Y29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7IH0gXAorICAgIFZhbHVlKiYg
Y2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9
IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIGNoaWxk
cmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJu
IGNoaWxkcmVuVmVjdG9yKCkubGFzdCgpOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29u
c3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7IH0gXAorICAgIFdURjo6SXRlcmF0
b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmVjdG9yPFZh
bHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdURjo6bWFr
ZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAgfSBcCisg
ICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QgXAor
ICAgIHsgXAorICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRyZW5WZWN0
b3IoKTsgXAorICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdp
bigpLCAmKnZlYy5lbmQoKSk7IFwKKyAgICB9IFwKKworLy8gT25seSB1c2UgdGhpcyBmb3IgY2xh
c3NlcyB3aXRoIG5vIHN1YmNsYXNzIHRoYXQgYWRkIG5ldyBmaWVsZHMgKGFzIGl0IHVzZXMgc2l6
ZW9mKCp0aGlzKSkKKy8vIEFsc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gYXBwbHlpbmcgdGhpcyB0
byBjbGFzc2VzIHdpdGggbm8gY2hpbGRyZW4sIGFzIHRoZXkgZG9uJ3QgaGF2ZSBhIGNoaWxkcmVu
IGFycmF5IHRvIGFjY2Vzcy4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxf
U0laRV9GSVhFRF9DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmFsdWUqKiBjaGlsZHJlbkFy
cmF5KCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGJp
dHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAg
IFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAg
cmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25z
dCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9CisKKy8vIE9ubHkgdXNlIHRoaXMg
Zm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1
c2VzIHNpemVvZigqdGhpcykpCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFM
X1NJWkVfVkFSQVJHU19DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmVjdG9yPFZhbHVlKj4m
IGNoaWxkcmVuVmVjdG9yKCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2Fz
dDxWZWN0b3I8VmFsdWUqPio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRo
aXMpKTsgXAorICAgIH0gXAorICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3Rv
cigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9y
PFZhbHVlKj4gY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9m
KCp0aGlzKSk7IFwKKyAgICB9IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRp
ZiAvLyBFTkFCTEUoQjNfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVmFsdWVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGlu
ZXMuaAppbmRleCA1N2Y5M2Q2MGEyOS4uZDEzYzMyMTJjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCkBAIC0yNywxOSArMjcsMTU1IEBACiAKICNpZiBFTkFC
TEUoQjNfSklUKQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVlLmgiCisjaW5jbHVkZSAi
QjNBdG9taWNWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5oIgogI2luY2x1ZGUgIkIz
Q2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgiCiAjaW5jbHVkZSAiQjND
b25zdDY0VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFsdWUuaCIKICNpbmNsdWRl
ICJCM0NvbnN0RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VWYWx1ZS5oIgorI2luY2x1
ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9pbnRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkIzUGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2luY2x1
ZGUgIkIzU2xvdEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNoVmFsdWUuaCIKKyNpbmNs
dWRlICJCM1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUuaCIKKyNpbmNsdWRlICJC
M1ZhcmlhYmxlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNzVmFsdWUuaCIKKyNpbmNs
dWRlICJCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0dyYXBoTm9kZVdv
cmtsaXN0Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCisjZGVmaW5lIERJ
U1BBVENIX09OX0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2goa2luZCgpLm9wY29kZSgpKSB7IFwK
KyAgICBjYXNlIEZyYW1lUG9pbnRlcjogXAorICAgIGNhc2UgTm9wOiBcCisgICAgY2FzZSBQaGk6
IFwKKyAgICBjYXNlIEp1bXA6IFwKKyAgICBjYXNlIE9vcHM6IFwKKyAgICBjYXNlIEVudHJ5U3dp
dGNoOiBcCisgICAgY2FzZSBSZXR1cm46IFwKKyAgICBjYXNlIElkZW50aXR5OiBcCisgICAgY2Fz
ZSBPcGFxdWU6IFwKKyAgICBjYXNlIE5lZzogXAorICAgIGNhc2UgQ2x6OiBcCisgICAgY2FzZSBB
YnM6IFwKKyAgICBjYXNlIENlaWw6IFwKKyAgICBjYXNlIEZsb29yOiBcCisgICAgY2FzZSBTcXJ0
OiBcCisgICAgY2FzZSBTRXh0ODogXAorICAgIGNhc2UgU0V4dDE2OiBcCisgICAgY2FzZSBUcnVu
YzogXAorICAgIGNhc2UgU0V4dDMyOiBcCisgICAgY2FzZSBaRXh0MzI6IFwKKyAgICBjYXNlIEZs
b2F0VG9Eb3VibGU6IFwKKyAgICBjYXNlIElUb0Q6IFwKKyAgICBjYXNlIERvdWJsZVRvRmxvYXQ6
IFwKKyAgICBjYXNlIElUb0Y6IFwKKyAgICBjYXNlIEJpdHdpc2VDYXN0OiBcCisgICAgY2FzZSBC
cmFuY2g6IFwKKyAgICBjYXNlIERlcGVuZDogXAorICAgIGNhc2UgQWRkOiBcCisgICAgY2FzZSBT
dWI6IFwKKyAgICBjYXNlIE11bDogXAorICAgIGNhc2UgRGl2OiBcCisgICAgY2FzZSBVRGl2OiBc
CisgICAgY2FzZSBNb2Q6IFwKKyAgICBjYXNlIFVNb2Q6IFwKKyAgICBjYXNlIEJpdEFuZDogXAor
ICAgIGNhc2UgQml0T3I6IFwKKyAgICBjYXNlIEJpdFhvcjogXAorICAgIGNhc2UgU2hsOiBcCisg
ICAgY2FzZSBTU2hyOiBcCisgICAgY2FzZSBaU2hyOiBcCisgICAgY2FzZSBSb3RSOiBcCisgICAg
Y2FzZSBSb3RMOiBcCisgICAgY2FzZSBFcXVhbDogXAorICAgIGNhc2UgTm90RXF1YWw6IFwKKyAg
ICBjYXNlIExlc3NUaGFuOiBcCisgICAgY2FzZSBHcmVhdGVyVGhhbjogXAorICAgIGNhc2UgTGVz
c0VxdWFsOiBcCisgICAgY2FzZSBHcmVhdGVyRXF1YWw6IFwKKyAgICBjYXNlIEFib3ZlOiBcCisg
ICAgY2FzZSBCZWxvdzogXAorICAgIGNhc2UgQWJvdmVFcXVhbDogXAorICAgIGNhc2UgQmVsb3dF
cXVhbDogXAorICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDogXAorICAgIGNhc2UgU2VsZWN0OiBc
CisgICAgICAgIHJldHVybiBNQUNSTyhWYWx1ZSk7IFwKKyAgICBjYXNlIEFyZ3VtZW50UmVnOiBc
CisgICAgICAgIHJldHVybiBNQUNSTyhBcmd1bWVudFJlZ1ZhbHVlKTsgXAorICAgIGNhc2UgQ29u
c3QzMjogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3QzMlZhbHVlKTsgXAorICAgIGNhc2Ug
Q29uc3Q2NDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3Q2NFZhbHVlKTsgXAorICAgIGNh
c2UgQ29uc3RGbG9hdDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3RGbG9hdFZhbHVlKTsg
XAorICAgIGNhc2UgQ29uc3REb3VibGU6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0RG91
YmxlVmFsdWUpOyBcCisgICAgY2FzZSBGZW5jZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oRmVu
Y2VWYWx1ZSk7IFwKKyAgICBjYXNlIFNsb3RCYXNlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhT
bG90QmFzZVZhbHVlKTsgXAorICAgIGNhc2UgR2V0OiBcCisgICAgY2FzZSBTZXQ6IFwKKyAgICAg
ICAgcmV0dXJuIE1BQ1JPKFZhcmlhYmxlVmFsdWUpOyBcCisgICAgY2FzZSBMb2FkOFo6IFwKKyAg
ICBjYXNlIExvYWQ4UzogXAorICAgIGNhc2UgTG9hZDE2WjogXAorICAgIGNhc2UgTG9hZDE2Uzog
XAorICAgIGNhc2UgTG9hZDogXAorICAgIGNhc2UgU3RvcmU4OiBcCisgICAgY2FzZSBTdG9yZTE2
OiBcCisgICAgY2FzZSBTdG9yZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oTWVtb3J5VmFsdWUp
OyBcCisgICAgY2FzZSBTd2l0Y2g6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFN3aXRjaFZhbHVl
KTsgXAorICAgIGNhc2UgVXBzaWxvbjogXAorICAgICAgICByZXR1cm4gTUFDUk8oVXBzaWxvblZh
bHVlKTsgXAorICAgIGNhc2UgV2FzbUFkZHJlc3M6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFdh
c21BZGRyZXNzVmFsdWUpOyBcCisgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6IFwKKyAgICAgICAg
cmV0dXJuIE1BQ1JPKFdhc21Cb3VuZHNDaGVja1ZhbHVlKTsgXAorICAgIGNhc2UgQXRvbWljWGNo
Z0FkZDogXAorICAgIGNhc2UgQXRvbWljWGNoZ0FuZDogXAorICAgIGNhc2UgQXRvbWljWGNoZ09y
OiBcCisgICAgY2FzZSBBdG9taWNYY2hnU3ViOiBcCisgICAgY2FzZSBBdG9taWNYY2hnWG9yOiBc
CisgICAgY2FzZSBBdG9taWNYY2hnOiBcCisgICAgY2FzZSBBdG9taWNXZWFrQ0FTOiBcCisgICAg
Y2FzZSBBdG9taWNTdHJvbmdDQVM6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKEF0b21pY1ZhbHVl
KTsgXAorICAgIGNhc2UgQ0NhbGw6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENDYWxsVmFsdWUp
OyBcCisgICAgY2FzZSBDaGVjazogXAorICAgIGNhc2UgQ2hlY2tBZGQ6IFwKKyAgICBjYXNlIENo
ZWNrU3ViOiBcCisgICAgY2FzZSBDaGVja011bDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ2hl
Y2tWYWx1ZSk7IFwKKyAgICBjYXNlIFBhdGNocG9pbnQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JP
KFBhdGNocG9pbnRWYWx1ZSk7IFwKKyAgICBkZWZhdWx0OiBcCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7IFwKKyAgICB9CisKK0FMV0FZU19JTkxJTkUgc2l6ZV90IFZhbHVl
OjphZGphY2VuY3lMaXN0T2Zmc2V0KCkgY29uc3QgeworI2RlZmluZSBWQUxVRV9UWVBFX1NJWkUo
VmFsdWVUeXBlKSBzaXplb2YoVmFsdWVUeXBlKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVf
VFlQRV9TSVpFKTsKKyN1bmRlZiBWQUxVRV9UWVBFX1NJWkUKK30KKworQUxXQVlTX0lOTElORSBW
YWx1ZSogVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0IHsKKyNkZWZpbmUgVkFMVUVfVFlQRV9DTE9O
RShWYWx1ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRpY19jYXN0PGNvbnN0IFZhbHVl
VHlwZSo+KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQRV9DTE9ORSk7Cisj
dW5kZWYgVkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCb3R0b21Qcm92
aWRlcj4KIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNvbnN0IEJvdHRvbVByb3ZpZGVy
JiBib3R0b21Qcm92aWRlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhcmlhYmxlVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFi
bGVWYWx1ZS5jcHAKaW5kZXggNmFlZWY0NzliY2EuLjg4N2MwYjZiNWVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcApAQCAtNDEsMjAgKzQxLDE1IEBA
IHZvaWQgVmFyaWFibGVWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fdmFy
aWFibGUpKTsKIH0KIAotVmFsdWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG5ldyBWYXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFibGVWYWx1
ZTo6VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJp
YWJsZSwgVmFsdWUqIHZhbHVlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9p
ZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQs
IE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAg
QVNTRVJUKGtpbmQgPT0gU2V0KTsKIH0KIAogVmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShL
aW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSkKLSAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIG9yaWdpbikKKyAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIFplcm8sIG9yaWdpbikK
ICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtpbmQgPT0gR2V0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAppbmRleCAwNjdiYTQy
YzY3Zi4uMWVjYzdlNDQ4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhcmlhYmxlVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJs
ZVZhbHVlLmgKQEAgLTQxLDEzICs0MSwxNSBAQCBwdWJsaWM6CiAKICAgICBWYXJpYWJsZSogdmFy
aWFibGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxlOyB9CiAKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVf
Rk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVt
cE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIC8vIFVz
ZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1ZShLaW5kLCBPcmlnaW4sIFZhcmlhYmxl
KiwgVmFsdWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21B
ZGRyZXNzVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NW
YWx1ZS5jcHAKaW5kZXggNTdkNzYyODUyNTguLmJhN2M5MzczMzAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcApAQCAtMzksMTMgKzM5LDgg
QEAgdm9pZCBXYXNtQWRkcmVzc1ZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQ
cmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludChjb21tYSwgbV9waW5uZWRHUFIp
OwogfQogCi1WYWx1ZSogV2FzbUFkZHJlc3NWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbmV3IFdhc21BZGRyZXNzVmFsdWUoKnRoaXMpOwotfQotCiBXYXNtQWRkcmVzc1Zh
bHVlOjpXYXNtQWRkcmVzc1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgR1BSUmVn
IHBpbm5lZEdQUikKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21BZGRyZXNzLCBJbnQ2
NCwgb3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21BZGRyZXNz
LCBJbnQ2NCwgT25lLCBvcmlnaW4sIHZhbHVlKQogICAgICwgbV9waW5uZWRHUFIocGlubmVkR1BS
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJl
c3NWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5o
CmluZGV4IDFhMjRjMTM3NzY5Li41OWJiMTEwMjkxZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaApAQCAtNDAsMTQgKzQwLDE3IEBAIHB1YmxpYzoK
IAogICAgIEdQUlJlZyBwaW5uZWRHUFIoKSBjb25zdCB7IHJldHVybiBtX3Bpbm5lZEdQUjsgfQog
CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4oMSkKKyAgICBCM19T
UEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxEUkVOCisKIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qg
b3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFs
dWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFZh
bHVlKiwgR1BSUmVnKSB7IHJldHVybiBXYXNtQWRkcmVzczsgfQogICAgIFdhc21BZGRyZXNzVmFs
dWUoT3JpZ2luLCBWYWx1ZSosIEdQUlJlZyk7CiAKICAgICBHUFJSZWcgbV9waW5uZWRHUFI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5j
cHAKaW5kZXggMTg2MjhiMmI3MGIuLjM4MzNlZjUzNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCkBAIC0zNiw3ICszNiw3
IEBAIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjp+V2FzbUJvdW5kc0NoZWNrVmFsdWUoKQogfQogCiBX
YXNtQm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwg
R1BSUmVnIHBpbm5lZFNpemUsIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCkKLSAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAg
ICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6UGlubmVkKQog
ewpAQCAtNDQsNyArNDQsNyBAQCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNr
VmFsdWUoT3JpZ2luIG9yaWdpbiwgR1BSUmVnIHBpbm5lZFNpemUsIFZhbAogfQogCiBXYXNtQm91
bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUq
IHB0ciwgdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgbWF4aW11bSkKLSAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBWYWx1ZShDaGVj
a2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAgICAgLCBtX29m
ZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6TWF4aW11bSkKIHsKQEAgLTU1
LDExICs1NSw2IEBAIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvCiAgICAgbV9ib3VuZHMubWF4aW11
bSA9IG1heGltdW07CiB9CiAKLVZhbHVlKiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFdhc21Cb3VuZHNDaGVja1ZhbHVlKCp0aGlzKTsK
LX0KLQogdm9pZCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBj
b21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fYm91bmRzVHlw
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0No
ZWNrVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1Zh
bHVlLmgKaW5kZXggMDZmNjYxMzMxOWUuLmI2OWQyNGU4ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgKQEAgLTM0LDE1ICszNCw3
IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBjbGFzcyBXYXNtQm91bmRzQ2hl
Y2tWYWx1ZSA6IHB1YmxpYyBWYWx1ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIGJvb2wgYWNjZXB0
cyhLaW5kIGtpbmQpCi0gICAgewotICAgICAgICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKLSAg
ICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
IH0KKyAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkgeyByZXR1cm4ga2luZCA9PSBX
YXNtQm91bmRzQ2hlY2s7IH0KICAgICAKICAgICB+V2FzbUJvdW5kc0NoZWNrVmFsdWUoKTsKIApA
QCAtNjAsMTUgKzUyLDIwIEBAIHB1YmxpYzoKICAgICBUeXBlIGJvdW5kc1R5cGUoKSBjb25zdCB7
IHJldHVybiBtX2JvdW5kc1R5cGU7IH0KICAgICBCb3VuZHMgYm91bmRzKCkgY29uc3QgeyByZXR1
cm4gbV9ib3VuZHM7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxE
UkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElM
RFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmlu
dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0
IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAg
ZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3Ry
dWN0b3IoT3JpZ2luLCBHUFJSZWcsIFZhbHVlKiwgdW5zaWduZWQpIHsgcmV0dXJuIFdhc21Cb3Vu
ZHNDaGVjazsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9y
aWdpbiwgR1BSUmVnIHBpbm5lZEdQUiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KTsKKwor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCB1
bnNpZ25lZCwgc2l6ZV90KSB7IHJldHVybiBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBP
UlRfUFJJVkFURSBXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4sIFZhbHVlKiBwdHIsIHVuc2ln
bmVkIG9mZnNldCwgc2l6ZV90IG1heGltdW0pOwogCiAgICAgdW5zaWduZWQgbV9vZmZzZXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCmluZGV4IDBlMzcxYmMwMTgxLi4wYzRmZTVmYTg4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKQEAgLTEwNzQyLDcgKzEwNzQyLDcg
QEAgdm9pZCB0ZXN0Q2FsbEZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKCkKICAgICBDQ2FsbFZh
bHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJ
bnQzMiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihw
cm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFy
Z3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZl
Y3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3Qt
PmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApA
QCAtMTA3NjgsNyArMTA3NjgsNyBAQCB2b2lkIHRlc3RDYWxsRnVuY3Rpb25XaXRoSGVsbGFBcmd1
bWVudHMyKCkKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFs
dWU+KAogICAgICAgICBwcm9jLCBJbnQ2NCwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVu
ZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQq
PihmdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2Fs
bC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhh
cmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJu
LCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwNzkwLDcgKzEwNzkwLDcgQEAgdm9pZCB0ZXN0Q2Fs
bEZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMygpCiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJv
b3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAgcHJvYywgSW50MzIsIE9yaWdpbigp
LAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2luKCks
IHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMzLCBCM0ND
YWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOwor
ICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29u
dHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDg5MCw3ICsx
MDg5MCw3IEBAIHZvaWQgdGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYURvdWJsZUFyZ3VtZW50cygp
CiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAg
ICAgICAgcHJvYywgRG91YmxlLCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENv
bnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0
aW9uV2l0aEhlbGxhRG91YmxlQXJndW1lbnRzLCBCM0NDYWxsUHRyVGFnKSkpOwotICAgIGNhbGwt
PmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJn
cyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwg
T3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDkxNCw3ICsxMDkxNCw3IEBAIHZvaWQgdGVzdENhbGxG
dW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzKCkKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0g
cm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBGbG9hdCwgT3JpZ2lu
KCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4o
KSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRz
LCBCM0NDYWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFy
Z3MpOworICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5k
TmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAppbmRleCA3YTFmYWVlYTYzMC4uYjBhMmZhOTU2OGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaApAQCAtMzgwLDcgKzM4MCw3IEBA
IHB1YmxpYzoKICAgICBMVmFsdWUgY2FsbChMVHlwZSB0eXBlLCBMVmFsdWUgZnVuY3Rpb24sIGNv
bnN0IFZlY3RvclR5cGUmIHZlY3RvcikKICAgICB7CiAgICAgICAgIEIzOjpDQ2FsbFZhbHVlKiBy
ZXN1bHQgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkNDYWxsVmFsdWU+KG1fcHJvYywgdHlwZSwg
b3JpZ2luKCksIGZ1bmN0aW9uKTsKLSAgICAgICAgcmVzdWx0LT5jaGlsZHJlbigpLmFwcGVuZFZl
Y3Rvcih2ZWN0b3IpOworICAgICAgICByZXN1bHQtPmFwcGVuZEFyZ3ModmVjdG9yKTsKICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgTFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZh
bHVlIGZ1bmN0aW9uKSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkNDYWxsVmFsdWU+
KG1fcHJvYywgdHlwZSwgb3JpZ2luKCksIGZ1bmN0aW9uKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365884</attachid>
            <date>2019-03-25 12:46:02 -0700</date>
            <delta_ts>2019-03-25 13:00:13 -0700</delta_ts>
            <desc>WIP_reallyNearlyDone</desc>
            <filename>patch196091</filename>
            <type>text/plain</type>
            <size>79835</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGIyNWI3MjM2NDguLjM2NDhlMDI2NmVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBG
RUM4NTQwMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8q
IEIzVXNlQ291bnRzLmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1Zh
bGlkYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVDODRGODFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0
NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUu
aCAqLzsgfTsKLQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFC
REFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRB
Q0RBQzAwODBGRjc0IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVw
LmggKi87IH07CiAJCTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNr
QnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkVDODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3Jh
cGhDb2xvcmluZy5oICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJn
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0
QjFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAK
IAkJMkFEODkzMkIxN0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4
RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJC
RjkyMDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVj
dHVyZUlEVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUx
QjI2OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVDODRGQjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNF
NzhERjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcy
MkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNG
OTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsK
IAkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIg
LyogUGFyc2VJbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50
ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVy
YXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjEx
MEY3RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0
MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdE
OTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdT
cGVjdWxhdGl2ZUpJVC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcCAqLzsgfTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZH
VG9CMy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJ
NTM0MUZDNzIxREFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0
M0MwMEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcx
MUU3MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpT
UnVuTG9vcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNTM0NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3
NDFFNzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYzNCw3ICs4NjM0LDYgQEAK
IAkJCQkwRkVDODU0MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1
ZUtleS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIz
VmFsdWVLZXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4
MEZGNzQgLyogQjNWYWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTg5LDYgKzkxODgsNyBA
QAogCQkJCUE1OTNDRjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIx
ODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8q
IEluc3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3
OUVCMDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
QEAgLTEwNjI5LDcgKzEwNjI5LDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyog
REZHU3BlY3VsYXRpdmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdE
MjAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTMzM0JCREQyMTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZH
VG9CMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyog
TG93TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVC
RTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVC
RThCMDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc2Myw2
ICsxMDc2Miw3IEBACiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2UxMTkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5
OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNF
NzhERjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTEyMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMg
LyogVW5pZmllZFNvdXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAKaW5kZXggNTk0ZDBkNjliYTguLjNl
NTQ0ZWI1ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVu
dFJlZ1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJl
Z1ZhbHVlLmNwcApAQCAtMzksMTEgKzM5LDYgQEAgdm9pZCBBcmd1bWVudFJlZ1ZhbHVlOjpkdW1w
TWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91
dC5wcmludChjb21tYSwgbV9yZWcpOwogfQogCi1WYWx1ZSogQXJndW1lbnRSZWdWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEFyZ3VtZW50UmVnVmFsdWUoKnRoaXMp
OwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19K
SVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1Zh
bHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgKaW5k
ZXggNTViMzY1ZmMyYTUuLjg3OWUwMWNiZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCkBAIC00MCwxNiArNDAsMTkgQEAgcHVibGljOgogCiAg
ICAgUmVnIGFyZ3VtZW50UmVnKCkgY29uc3QgeyByZXR1cm4gbV9yZWc7IH0KIAorICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1
bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisgICAgCisgICAg
c3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBSZWcpIHsgcmV0dXJu
IEFyZ3VtZW50UmVnOyB9CiAKICAgICBBcmd1bWVudFJlZ1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFJl
ZyByZWcpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5p
c0dQUigpID8gcG9pbnRlclR5cGUoKSA6IERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkg
OiBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAg
ICAgICBBU1NFUlQocmVnLmlzU2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRv
bWljVmFsdWUuY3BwCmluZGV4IDIwZmNlNDAxZGNjLi5lYzU0NGVkYTY2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcApAQCAtNDEsMTMgKzQxLDggQEAgdm9p
ZCBBdG9taWNWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKICAgICBNZW1vcnlWYWx1ZTo6ZHVtcE1ldGEoY29tbWEsIG91dCk7CiB9CiAK
LVZhbHVlKiBBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IEF0b21pY1ZhbHVlKCp0aGlzKTsKLX0KLQogQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21p
Y1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3
aWR0aCwgVmFsdWUqIG9wZXJhbmQsIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0
VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAg
OiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBvcGVyYW5kLT50eXBlKCksIG9yaWdp
biwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgb3BlcmFuZCwgcG9pbnRlcikKKyAgICA6IE1l
bW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG9wZXJhbmQtPnR5cGUoKSwgVHdvLCBvcmln
aW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIG9wZXJhbmQsIHBvaW50ZXIpCiAgICAgLCBt
X3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChiZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkg
PT0gYWNjZXNzVHlwZSgpKTsKQEAgLTY2LDcgKzYxLDcgQEAgQXRvbWljVmFsdWU6OkF0b21pY1Zh
bHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2lu
LAogfQogCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVl
Q0FTLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRoLCBWYWx1ZSogZXhwZWN0
ZWRWYWx1ZSwgVmFsdWUqIG5ld1ZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVtb3J5VmFsdWU6Ok9m
ZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlKQot
ICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5vcGNvZGUoKSA9PSBB
dG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCksIG9yaWdpbiwgb2Zm
c2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3VmFsdWUsIHBvaW50ZXIp
CisgICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBraW5kLm9wY29kZSgpID09
IEF0b21pY1dlYWtDQVMgPyBJbnQzMiA6IGV4cGVjdGVkVmFsdWUtPnR5cGUoKSwgVGhyZWUsIG9y
aWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3VmFsdWUs
IHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChiZXN0VHlwZShH
UCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNBdG9taWNWYWx1ZS5oCmluZGV4IDI5MmNmOWU4YWMxLi4wODVhOWUxOTQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5oCkBAIC00NCwxNCArNDQsMTUgQEAg
cHVibGljOgogICAgIFR5cGUgYWNjZXNzVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkKDApLT50
eXBlKCk7IH0KICAgICAKICAgICBXaWR0aCBhY2Nlc3NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2lkdGg7IH0KKworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURf
Q0hJTERSRU4KICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRl
ciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCi0gICAgVmFsdWUqIGNsb25l
SW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgZW51bSBBdG9taWNW
YWx1ZVJNVyB7IEF0b21pY1ZhbHVlUk1XVGFnIH07CiAgICAgZW51bSBBdG9taWNWYWx1ZUNBUyB7
IEF0b21pY1ZhbHVlQ0FTVGFnIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNCYXNpY0Jsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2Nr
LmgKaW5kZXggMTgwNTg1N2E3YTguLmRlNzllYmExMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQmFzaWNCbG9jay5oCkBAIC04NCw4ICs4NCw2IEBAIHB1YmxpYzoKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFZhbHVl
VHlwZSogYXBwZW5kTmV3KFByb2NlZHVyZSYsIEFyZ3VtZW50cy4uLik7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgVmFsdWVUeXBl
KiBhcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4pOwogCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFwcGVuZEludENvbnN0YW50KFByb2NlZHVyZSYsIE9y
aWdpbiwgVHlwZSwgaW50NjRfdCB2YWx1ZSk7CiAgICAgVmFsdWUqIGFwcGVuZEludENvbnN0YW50
KFByb2NlZHVyZSYsIFZhbHVlKiBsaWtlVmFsdWUsIGludDY0X3QgdmFsdWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2tJbmxpbmVzLmgKaW5kZXggMjZjMmRmNDFi
OGYuLjVhNmIyYmQ4ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNC
YXNpY0Jsb2NrSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2lj
QmxvY2tJbmxpbmVzLmgKQEAgLTQxLDE0ICs0MSw2IEBAIFZhbHVlVHlwZSogQmFzaWNCbG9jazo6
YXBwZW5kTmV3KFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlw
ZW5hbWUuLi4gQXJndW1lbnRzPgotVmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjphcHBlbmROZXdOb25U
ZXJtaW5hbChQcm9jZWR1cmUmIHByb2NlZHVyZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLXsK
LSAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IHByb2NlZHVyZS5hZGQ8VmFsdWVUeXBlPihhcmd1bWVu
dHMuLi4pOwotICAgIGFwcGVuZE5vblRlcm1pbmFsKHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVu
dHM+CiBWYWx1ZVR5cGUqIEJhc2ljQmxvY2s6OnJlcGxhY2VMYXN0V2l0aE5ldyhQcm9jZWR1cmUm
IHByb2NlZHVyZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAKaW5kZXggNTE4ZDcyMzQ5NjcuLjkwYmQ2MGUwODgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcApAQCAtMzQsOSArMzQs
OSBAQCBDQ2FsbFZhbHVlOjp+Q0NhbGxWYWx1ZSgpCiB7CiB9CiAKLVZhbHVlKiBDQ2FsbFZhbHVl
OjpjbG9uZUltcGwoKSBjb25zdAordm9pZCBDQ2FsbFZhbHVlOjphcHBlbmRBcmdzKGNvbnN0IFZl
Y3RvcjxWYWx1ZSo+JiBhcmdzKQogewotICAgIHJldHVybiBuZXcgQ0NhbGxWYWx1ZSgqdGhpcyk7
CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmRWZWN0b3IoYXJncyk7CiB9CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpCMwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q0NhbGxWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCmlu
ZGV4IDQ0ZWMzNDlmMjNmLi4yZjYwYTAxZTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NDYWxsVmFsdWUuaApAQCAtMzgsMTcgKzM4LDIzIEBAIHB1YmxpYzoKIAogICAgIH5DQ2FsbFZh
bHVlKCk7CiAKKyAgICB2b2lkIGFwcGVuZEFyZ3MoY29uc3QgVmVjdG9yPFZhbHVlKj4mKTsKKyAg
ICAKICAgICBFZmZlY3RzIGVmZmVjdHM7CiAKLXByb3RlY3RlZDoKLSAgICBWYWx1ZSogY2xvbmVJ
bXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
VkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
VkFSQVJHU19DSElMRFJFTgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7
CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEFyZ3VtZW50
cy4uLikgeyByZXR1cm4gQ0NhbGw7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3Vt
ZW50cz4KICAgICBDQ2FsbFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRz
Li4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlw
ZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q0NhbGwsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVu
dHMpLi4uKQogICAgICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQogICAgIHsKICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW4oKSA+PSAxKTsKQEAgLTU2LDcgKzYyLDcg
QEAgcHJpdmF0ZToKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBD
Q2FsbFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgY29uc3QgRWZmZWN0cyYgZWZmZWN0
cywgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBDQ2FsbCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisgICAgICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFs
dWUqPihhcmd1bWVudHMpLi4uKQogICAgICAgICAsIGVmZmVjdHMoZWZmZWN0cykKICAgICB7CiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkgPj0gMSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCmluZGV4IDc5YjZjNmU3MmU5Li5jMTE3MTM3MzM0
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAKQEAgLTQwLDEx
ICs0MCw2IEBAIHZvaWQgQ2hlY2tWYWx1ZTo6Y29udmVydFRvQWRkKCkKICAgICBtX2tpbmQgPSBD
aGVja0FkZDsKIH0KIAotVmFsdWUqIENoZWNrVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG5ldyBDaGVja1ZhbHVlKCp0aGlzKTsKLX0KLQogLy8gVXNlIHRoaXMgZm9ybSBm
b3IgQ2hlY2tBZGQsIENoZWNrU3ViLCBhbmQgQ2hlY2tNdWwuCiBDaGVja1ZhbHVlOjpDaGVja1Zh
bHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGxlZnQsIFZhbHVlKiByaWdodCkK
ICAgICA6IFN0YWNrbWFwVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgbGVmdC0+dHlwZSgpLCBv
cmlnaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgKaW5kZXggZTNkOTRi
YWNlODYuLjg5NzMyMGNkNTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDaGVja1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1
ZS5oCkBAIC01MCwxMSArNTAsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb252ZXJ0VG9BZGQo
KTsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsK
KyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4K
ICAgICAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQg
Y2xhc3MgVmFsdWU7CiAKICAgICAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0FkZCwgQ2hlY2tT
dWIsIGFuZCBDaGVja011bC4KICAgICBKU19FWFBPUlRfUFJJVkFURSBDaGVja1ZhbHVlKEtpbmQs
IE9yaWdpbiwgVmFsdWUqIGxlZnQsIFZhbHVlKiByaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAppbmRleCA1MTJiZTg4Yzk5ZC4uNWFjZTM2NDdhYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcApAQCAtMzAz
LDExICszMDMsNiBAQCB2b2lkIENvbnN0MzJWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBj
b21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsIG1fdmFs
dWUpOwogfQogCi1WYWx1ZSogQ29uc3QzMlZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAg
IHJldHVybiBuZXcgQ29uc3QzMlZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdDMyVmFsdWUuaAppbmRleCBhZjRkMDhiMDUwZC4uNGZmZWUxMTQyNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCkBAIC03NSwyMCArNzUsMjQg
QEAgcHVibGljOgogICAgIFRyaVN0YXRlIGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSog
b3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChj
b25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9W
QUxVRV9GT1JfTk9fQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29t
bWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBj
bG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQotICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7
CisgICAgLy8gUHJvdGVjdGVkIGJlY2F1c2Ugb2YgQ29uc3RQdHJWYWx1ZQorICAgIHN0YXRpYyBP
cGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQzMl90ID0g
MCkgeyByZXR1cm4gQ29uc3QzMjsgfQogCiAgICAgQ29uc3QzMlZhbHVlKE9yaWdpbiBvcmlnaW4s
IGludDMyX3QgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwg
SW50MzIsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJ
bnQzMiwgWmVybywgb3JpZ2luKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAg
IH0KIAogcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBj
bGFzcyBWYWx1ZTsKKwogICAgIGludDMyX3QgbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCmluZGV4IDczYTRjZWNjNTNlLi44ZDc5NWIw
M2ExZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCkBA
IC0zMDMsMTEgKzMwMyw2IEBAIHZvaWQgQ29uc3Q2NFZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50
ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludChjb21tYSwg
bV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBDb25zdDY0VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG5ldyBDb25zdDY0VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5oCmluZGV4IDNlZmQ1NTg0N2MyLi40N2MxYjU2M2FlMyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKQEAgLTc1LDIwICs3
NSwyNCBAQCBwdWJsaWM6CiAgICAgVHJpU3RhdGUgYWJvdmVFcXVhbENvbnN0YW50KGNvbnN0IFZh
bHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgYmVsb3dFcXVhbENvbnN0
YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFM
SVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0
YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFs
dWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAgZnJpZW5kIGNsYXNzIFByb2Nl
ZHVyZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAgc3Rh
dGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGludDY0
X3QgPSAwKSB7IHJldHVybiBDb25zdDY0OyB9CiAKICAgICBDb25zdDY0VmFsdWUoT3JpZ2luIG9y
aWdpbiwgaW50NjRfdCB2YWx1ZSkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25z
dDY0LCBJbnQ2NCwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0
NjQsIEludDY0LCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7
CiAgICAgfQotICAgIAorCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7Cisg
ICAgZnJpZW5kIGNsYXNzIFZhbHVlOworCiAgICAgaW50NjRfdCBtX3ZhbHVlOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcAppbmRleCAw
YTdkNzQ4MmNiOC4uNWRkN2Q5MTJmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCkBAIC0xOTcsMTEgKzE5Nyw2IEBAIHZvaWQgQ29uc3RE
b3VibGVWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFsdWUqIENv
bnN0RG91YmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25z
dERvdWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNl
bmRpZiAvLyBFTkFCTEUoQjNfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3REb3VibGVWYWx1ZS5oCmluZGV4IGZkZmFkZGMxZWJiLi40MDNiZDNmODU1YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuaApAQCAtNjQsMTYgKzY0
LDE4IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBW
YWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVy
ZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0
ZWQ6Ci0gICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwotCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAg
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCiAKIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKKyAgICB2b2lk
IGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisK
KyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIGRvdWJsZSkg
eyByZXR1cm4gQ29uc3REb3VibGU7IH0KIAogICAgIENvbnN0RG91YmxlVmFsdWUoT3JpZ2luIG9y
aWdpbiwgZG91YmxlIHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0
RG91YmxlLCBEb3VibGUsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBD
b25zdERvdWJsZSwgRG91YmxlLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1
ZSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3RGbG9hdFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0Rmxv
YXRWYWx1ZS5jcHAKaW5kZXggZDNjYjAzMzYxZjkuLjIyNzBmMDAzOTJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAKQEAgLTE4OSwxMSArMTg5
LDYgQEAgdm9pZCBDb25zdEZsb2F0VmFsdWU6OmR1bXBNZXRhKENvbW1hUHJpbnRlciYgY29tbWEs
IFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgb3V0LnByaW50ZigiJWxlIiwgbV92YWx1ZSk7
CiB9CiAKLVZhbHVlKiBDb25zdEZsb2F0VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG5ldyBDb25zdEZsb2F0VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCmluZGV4IDM1ZGQyZTAyNzRkLi5iYzNiYmVlNDgy
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKQEAg
LTYzLDE2ICs2MywxOCBAQCBwdWJsaWM6CiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFsQ29uc3Rh
bnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBlcXVh
bE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsK
IAotcHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJl
YW0mKSBjb25zdCBvdmVycmlkZTsKLQotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgogCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwor
CisgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92
ZXJyaWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2lu
LCBmbG9hdCkgeyByZXR1cm4gQ29uc3RGbG9hdDsgfQogCiAgICAgQ29uc3RGbG9hdFZhbHVlKE9y
aWdpbiBvcmlnaW4sIGZsb2F0IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IENvbnN0RmxvYXQsIEZsb2F0LCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwgQ29uc3RGbG9hdCwgRmxvYXQsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZh
bHVlKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdFB0clZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0clZh
bHVlLmgKaW5kZXggOWM5OTNmYzIzZDQuLmNiNjY0MzY0MGZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0clZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5oCkBAIC01MSwxMyArNTEsMTggQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNz
IFZhbHVlOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9w
Y29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFQqKSB7IHJldHVybiBDb25zdFB0clZhbHVlQmFz
ZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgog
ICAgIENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCogcG9pbnRlcikKICAgICAgICAgOiBD
b25zdFB0clZhbHVlQmFzZShvcmlnaW4sIGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikp
CiAgICAgewogICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCkgeyByZXR1cm4gQ29uc3RQdHJWYWx1
ZUJhc2U6Om9wY29kZUZyb21Db25zdHJ1Y3RvcigpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4KICAgICBDb25zdFB0clZhbHVlKE9yaWdpbiBvcmlnaW4sIFQgcG9pbnRlcikKICAgICAgICAg
OiBDb25zdFB0clZhbHVlQmFzZShvcmlnaW4sIHN0YXRpY19jYXN0PGludHB0cl90Pihwb2ludGVy
KSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZh
bHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuY3BwCmluZGV4
IDgwZTI3OTI4Y2MwLi4zODZiZmRlZTQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
RmVuY2VWYWx1ZS5jcHAKQEAgLTM0LDEzICszNCw4IEBAIEZlbmNlVmFsdWU6On5GZW5jZVZhbHVl
KCkKIHsKIH0KIAotVmFsdWUqIEZlbmNlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG5ldyBGZW5jZVZhbHVlKCp0aGlzKTsKLX0KLQogRmVuY2VWYWx1ZTo6RmVuY2VWYWx1
ZShPcmlnaW4gb3JpZ2luLCBIZWFwUmFuZ2UgcmVhZCwgSGVhcFJhbmdlIHdyaXRlKQotICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgRmVuY2UsIFZvaWQsIG9yaWdpbikKKyAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIEZlbmNlLCBWb2lkLCBaZXJvLCBvcmlnaW4pCiAgICAgLCByZWFkKHJlYWQp
CiAgICAgLCB3cml0ZSh3cml0ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0ZlbmNlVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFs
dWUuaAppbmRleCA5YzdjNWMzMzEwMi4uNTEzYmFkNWM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNGZW5jZVZhbHVlLmgKQEAgLTcyLDE0ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgSGVh
cFJhbmdlIHJlYWQgeyBIZWFwUmFuZ2U6OnRvcCgpIH07CiAgICAgSGVhcFJhbmdlIHdyaXRlIHsg
SGVhcFJhbmdlOjp0b3AoKSB9OwogCi1wcm90ZWN0ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVO
CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xh
c3MgVmFsdWU7CiAgICAgCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3Io
T3JpZ2luLCBIZWFwUmFuZ2UgPSBIZWFwUmFuZ2UoKSwgSGVhcFJhbmdlID0gSGVhcFJhbmdlKCkp
IHsgcmV0dXJuIEZlbmNlOyB9CiAgICAgRmVuY2VWYWx1ZShPcmlnaW4gb3JpZ2luLCBIZWFwUmFu
Z2UgcmVhZCwgSGVhcFJhbmdlIHdyaXRlKTsKLSAgICAKICAgICBGZW5jZVZhbHVlKE9yaWdpbiBv
cmlnaW4pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVt
b3J5VmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3Bw
CmluZGV4IDEwNDNkNWJhMDU4Li4zYjg3MjdmMTU3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM01lbW9yeVZhbHVlLmNwcApAQCAtNzMsMTUgKzczLDEwIEBAIHZvaWQgTWVtb3J5VmFs
dWU6OmR1bXBNZXRhKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiAgICAgICAgIG91dC5wcmludChjb21tYSwgImZlbmNlUmFuZ2UgPSAiLCBmZW5jZVJhbmdlKCkp
OwogfQogCi1WYWx1ZSogTWVtb3J5VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG5ldyBNZW1vcnlWYWx1ZSgqdGhpcyk7Ci19Ci0KIC8vIFVzZSB0aGlzIGZvcm0gZm9yIExv
YWQgKGJ1dCBub3QgTG9hZDhaLCBMb2FkOFMsIG9yIGFueSBvZiB0aGUgTG9hZHMgdGhhdCBoYXZl
IGEgc3VmZml4IHRoYXQKIC8vIGRlc2NyaWJlcyB0aGUgcmV0dXJuZWQgdHlwZSkuCiBNZW1vcnlW
YWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlTG9hZCwgS2luZCBraW5k
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6
T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2Up
Ci0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIHBvaW50ZXIp
CisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBPbmUsIG9yaWdpbiwgcG9p
bnRlcikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAg
LCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKQEAgLTEyNiw3ICsxMjEsNyBAQCBNZW1vcnlWYWx1
ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlTG9hZEltcGxpZWQsIEtpbmQg
a2luZCwgT3JpZ2luCiAKIC8vIFVzZSB0aGlzIGZvcm0gZm9yIHN0b3Jlcy4KIE1lbW9yeVZhbHVl
OjpNZW1vcnlWYWx1ZShNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWVTdG9yZSwgS2luZCBraW5kLCBP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6
T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2Up
Ci0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBvcmlnaW4sIHZhbHVlLCBw
b2ludGVyKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgVHdvLCBvcmln
aW4sIHZhbHVlLCBwb2ludGVyKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICwgbV9yYW5n
ZShyYW5nZSkKICAgICAsIG1fZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKaW5kZXggNmFmM2IyNjdhNTkuLmFhYzM4Mjg0OTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKQEAgLTg0LDE0ICs4NCwx
NCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQ2Fub25pY2FsV2lkdGgoKSBjb25zdCB7IHJldHVy
biBCMzo6aXNDYW5vbmljYWxXaWR0aChhY2Nlc3NXaWR0aCgpKTsgfQogCisgICAgQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZv
aWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsK
LQotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQorICAgIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEludCwgdHlwZW5hbWUgPSBJc0xlZ2FsT2Zmc2V0PEludD4sIHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KLSAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5k
IGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgSW50IG9mZnNldCwgSGVhcFJhbmdlIHJh
bmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50cy4u
LikKKyAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlw
ZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIEludCBvZmZzZXQsIEhl
YXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UsIEFyZ3VtZW50cy4uLiBhcmd1bWVu
dHMpCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgbnVtQ2hpbGRy
ZW4sIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgICAgICAs
IG1fb2Zmc2V0KG9mZnNldCkKICAgICAgICAgLCBtX3JhbmdlKHJhbmdlKQogICAgICAgICAsIG1f
ZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpAQCAtMTAwLDYgKzEwMCw3IEBAIHByb3RlY3RlZDoKICAg
ICAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xh
c3MgVmFsdWU7CiAKICAgICBib29sIGlzTGVnYWxPZmZzZXRJbXBsKGludDMyX3Qgb2Zmc2V0KSBj
b25zdDsKICAgICBib29sIGlzTGVnYWxPZmZzZXRJbXBsKGludDY0X3Qgb2Zmc2V0KSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAKaW5kZXggYzk4
MTcyYmQ3ZDYuLjdhY2JhMWU1MjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNN
b3ZlQ29uc3RhbnRzLmNwcApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBb
Jl0gKGNvbnN0IFZhbHVlS2V5JiBrZXkpIC0+IGJvb2wgewogICAgICAgICAgICAgICAgIHJldHVy
biBrZXkub3Bjb2RlKCkgPT0gQ29uc3RGbG9hdCB8fCBrZXkub3Bjb2RlKCkgPT0gQ29uc3REb3Vi
bGU7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgbG93ZXJGUENvbnN0YW50
cygpOwogICAgICAgICAKICAgICAgICAgaG9pc3RDb25zdGFudHMoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAppbmRleCBiMzNjNTU4YmYyZS4uYzdm
NzY3ODQyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9p
bnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZh
bHVlLmNwcApAQCAtNDQsMTEgKzQ0LDYgQEAgdm9pZCBQYXRjaHBvaW50VmFsdWU6OmR1bXBNZXRh
KENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgICAgIG91
dC5wcmludChjb21tYSwgIm51bUZQU2NyYXRjaFJlZ2lzdGVycyA9ICIsIG51bUZQU2NyYXRjaFJl
Z2lzdGVycyk7CiB9CiAKLVZhbHVlKiBQYXRjaHBvaW50VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG5ldyBQYXRjaHBvaW50VmFsdWUoKnRoaXMpOwotfQotCiBQYXRjaHBv
aW50VmFsdWU6OlBhdGNocG9pbnRWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCiAgICAg
OiBCYXNlKENoZWNrZWRPcGNvZGUsIFBhdGNocG9pbnQsIHR5cGUsIG9yaWdpbikKICAgICAsIGVm
ZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQ
YXRjaHBvaW50VmFsdWUuaAppbmRleCAzMzc4ZGM0MTA3NC4uNDJiNTQ3MTE0MzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5oCkBAIC02MSwxNCArNjEs
MTYgQEAgcHVibGljOgogICAgIHVpbnQ4X3QgbnVtR1BTY3JhdGNoUmVnaXN0ZXJzIHsgMCB9Owog
ICAgIHVpbnQ4X3QgbnVtRlBTY3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogCisgICAgQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoK
ICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7
CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihUeXBlLCBPcmlnaW4p
IHsgcmV0dXJuIFBhdGNocG9pbnQ7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBQYXRjaHBvaW50
VmFsdWUoVHlwZSwgT3JpZ2luKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9j
ZWR1cmUuY3BwCmluZGV4IDdiNzNkZTM2ZTNhLi45ZjgxNmM5OWEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCkBAIC05Myw3ICs5Myw2IEBAIFZhbHVlKiBQcm9j
ZWR1cmU6OmNsb25lKFZhbHVlKiB2YWx1ZSkKICAgICByZXR1cm4gbV92YWx1ZXMuYWRkKFdURk1v
dmUoY2xvbmUpKTsKIH0KIAotCiBWYWx1ZSogUHJvY2VkdXJlOjphZGRJbnRDb25zdGFudChPcmln
aW4gb3JpZ2luLCBUeXBlIHR5cGUsIGludDY0X3QgdmFsdWUpCiB7CiAgICAgc3dpdGNoICh0eXBl
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCmluZGV4IGZmNjFjY2Q0NWJj
Li5lMjEwNmVjMGM2YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJv
Y2VkdXJlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgKQEAg
LTI5Miw3ICsyOTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9uZWVkc1VzZWRSZWdpc3RlcnMg
eyB0cnVlIH07CiAgICAgYm9vbCBtX2hhc1F1aXJrcyB7IGZhbHNlIH07CiB9OwotCisgICAgCiB9
IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgKaW5kZXggOTkwYmEz
MWVlMGUuLjExNTZhNTU4MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNQcm9jZWR1cmVJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJv
Y2VkdXJlSW5saW5lcy5oCkBAIC0yOSwxMyArMjksMTQgQEAKIAogI2luY2x1ZGUgIkIzQmFzaWNC
bG9jay5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJlLmgiCisjaW5jbHVkZSAiQjNWYWx1ZS5oIgog
CiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKLQorICAgIAogdGVtcGxhdGU8dHlwZW5h
bWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiBWYWx1ZVR5cGUqIFByb2NlZHVy
ZTo6YWRkKEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PFZhbHVlVHlwZSo+KGFkZFZhbHVlSW1wbChuZXcgVmFsdWVUeXBlKGFyZ3VtZW50cy4uLikpKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsdWVUeXBlKj4oYWRkVmFsdWVJbXBsKFZhbHVlOjph
bGxvY2F0ZTxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4uLikpKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFj
ZSBKU0M6OkIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFz
ZVZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3Bw
CmluZGV4IGI1ZmQ2OWJjODYyLi5hMGJlMWY1MTRjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKQEAgLTQxLDExICs0MSw2IEBAIHZvaWQgU2xvdEJh
c2VWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkg
Y29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fc2xvdCkpOwogfQogCi1W
YWx1ZSogU2xvdEJhc2VWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IFNsb3RCYXNlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAog
I2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNTbG90QmFzZVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90
QmFzZVZhbHVlLmgKaW5kZXggMTkzOTJlYTAyMjIuLjc2MDBkODEyYWViIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCkBAIC00MSwxNiArNDEsMTcgQEAgcHVi
bGljOgogCiAgICAgU3RhY2tTbG90KiBzbG90KCkgY29uc3QgeyByZXR1cm4gbV9zbG90OyB9CiAK
LXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFt
JikgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKwor
ICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwg
U3RhY2tTbG90KikgeyByZXR1cm4gU2xvdEJhc2U7IH0KICAgICBTbG90QmFzZVZhbHVlKE9yaWdp
biBvcmlnaW4sIFN0YWNrU2xvdCogc2xvdCkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBTbG90QmFzZSwgcG9pbnRlclR5cGUoKSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBaZXJvLCBvcmlnaW4pCiAgICAgICAg
ICwgbV9zbG90KHNsb3QpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1N0YWNrbWFwU3BlY2lhbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCmluZGV4IGU3YzZiNDk1YjZiLi4yZjA3MTExNDcwMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCkBA
IC04MywxMSArODMsMTEgQEAgdm9pZCBTdGFja21hcFNwZWNpYWw6OmZvckVhY2hBcmdJbXBsKAog
CiAgICAgLy8gQ2hlY2sgdGhhdCBpbnNhbmUgdGhpbmdzIGhhdmUgbm90IGhhcHBlbmVkLgogICAg
IEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpID49IG51bUlnbm9yZWRBaXJBcmdzKTsKLSAgICBBU1NF
UlQodmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpID49IG51bUlnbm9yZWRCM0FyZ3MpOwotICAgIEFT
U0VSVChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPj0gdmFsdWUtPmNoaWxk
cmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKHZhbHVlLT5udW1D
aGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3MpOworICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6
ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPj0gdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25v
cmVkQjNBcmdzKTsKICAgICBBU1NFUlQoaW5zdC5hcmdzWzBdLmtpbmQoKSA9PSBBcmc6OktpbmQ6
OlNwZWNpYWwpOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5jaGlsZHJl
bigpLnNpemUoKSAtIG51bUlnbm9yZWRCM0FyZ3M7ICsraSkgeworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3M7ICsraSkg
ewogICAgICAgICBBcmcmIGFyZyA9IGluc3QuYXJnc1tpICsgbnVtSWdub3JlZEFpckFyZ3NdOwog
ICAgICAgICBDb25zdHJhaW5lZFZhbHVlIGNoaWxkID0gdmFsdWUtPmNvbnN0cmFpbmVkQ2hpbGQo
aSArIG51bUlnbm9yZWRCM0FyZ3MpOwogCkBAIC0xNjAsMTYgKzE2MCwxNiBAQCBib29sIFN0YWNr
bWFwU3BlY2lhbDo6aXNWYWxpZEltcGwoCiAKICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGlu
Z3MgaGF2ZSBub3QgaGFwcGVuZWQuCiAgICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVt
SWdub3JlZEFpckFyZ3MpOwotICAgIEFTU0VSVCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0g
bnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKHZhbHVlLT5udW1DaGlsZHJlbigpID49IG51
bUlnbm9yZWRCM0FyZ3MpOwogCiAgICAgLy8gRm9yIHRoZSBJbnN0IHRvIGJlIHZhbGlkLCBpdCBu
ZWVkcyB0byBoYXZlIHRoZSByaWdodCBudW1iZXIgb2YgYXJndW1lbnRzLgotICAgIGlmIChpbnN0
LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXpl
KCkgLSBudW1JZ25vcmVkQjNBcmdzKQorICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdu
b3JlZEFpckFyZ3MgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3MpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIFJlZ2FyZGxlc3Mgb2YgY29uc3RyYWludHMs
IHN0YWNrbWFwcyBoYXZlIHNvbWUgYmFzaWMgcmVxdWlyZW1lbnRzIGZvciB0aGVpciBhcmd1bWVu
dHMuIEZvcgogICAgIC8vIGV4YW1wbGUsIHlvdSBjYW4ndCBoYXZlIGEgbm9uLUZQLW9mZnNldCBh
ZGRyZXNzLiBUaGlzIHZlcmlmaWVzIHRob3NlIGNvbmRpdGlvbnMgYXMgd2VsbCBhcyB0aGUKICAg
ICAvLyBhcmd1bWVudCB0eXBlcy4KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUt
PmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJn
czsgKytpKSB7CiAgICAgICAgIFZhbHVlKiBjaGlsZCA9IHZhbHVlLT5jaGlsZChpICsgbnVtSWdu
b3JlZEIzQXJncyk7CiAgICAgICAgIEFyZyYgYXJnID0gaW5zdC5hcmdzW2kgKyBudW1JZ25vcmVk
QWlyQXJnc107CiAKQEAgLTE3OCw3ICsxNzgsNyBAQCBib29sIFN0YWNrbWFwU3BlY2lhbDo6aXNW
YWxpZEltcGwoCiAgICAgfQogCiAgICAgLy8gVGhlIG51bWJlciBvZiBjb25zdHJhaW50cyBoYXMg
dG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgQjMgY2hpbGRyZW4uCi0gICAgQVNT
RVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSk7Cisg
ICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5udW1DaGlsZHJlbigpKTsK
IAogICAgIC8vIFZlcmlmeSBhbnkgZXhwbGljaXRseSBzdXBwbGllZCBjb25zdHJhaW50cy4KICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBudW1JZ25vcmVkQjNBcmdzOyBpIDwgdmFsdWUtPm1fcmVwcy5z
aXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3Rh
Y2ttYXBWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVl
LmNwcAppbmRleCAwZWJhZjhhNTMxNS4uYmEzMTdiYTNkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCkBAIC0zNywxNCArMzcsMTQgQEAgU3RhY2tt
YXBWYWx1ZTo6flN0YWNrbWFwVmFsdWUoKQogdm9pZCBTdGFja21hcFZhbHVlOjphcHBlbmQoVmFs
dWUqIHZhbHVlLCBjb25zdCBWYWx1ZVJlcCYgcmVwKQogewogICAgIGlmIChyZXAgPT0gVmFsdWVS
ZXA6OkNvbGRBbnkpIHsKLSAgICAgICAgY2hpbGRyZW4oKS5hcHBlbmQodmFsdWUpOworICAgICAg
ICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZCh2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICB3aGlsZSAobV9yZXBzLnNpemUoKSA8IG51bUNoaWxkcmVuKCkpCiAgICAgICAgIG1f
cmVwcy5hcHBlbmQoVmFsdWVSZXA6OkNvbGRBbnkpOwogCi0gICAgY2hpbGRyZW4oKS5hcHBlbmQo
dmFsdWUpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICBtX3JlcHMu
YXBwZW5kKHJlcCk7CiB9CiAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBTdGFja21hcFZhbHVlOjpk
dW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogfQog
CiBTdGFja21hcFZhbHVlOjpTdGFja21hcFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2lu
ZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
a2luZCwgdHlwZSwgb3JpZ2luKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgVmFyQXJncywgb3JpZ2luKQogewogICAgIEFTU0VSVChhY2NlcHRzKGtpbmQpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAppbmRleCA1MmIyMTAxZThj
ZS4uYmU5OWQ4YzUzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0
YWNrbWFwVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZh
bHVlLmgKQEAgLTYwLDggKzYwLDcgQEAgcHVibGljOgogCiAgICAgflN0YWNrbWFwVmFsdWUoKTsK
IAotICAgIC8vIFVzZSB0aGlzIHRvIGFkZCBjaGlsZHJlbi4gTm90ZSB0aGF0IHlvdSBjb3VsZCBh
bHNvIGFkZCBjaGlsZHJlbiBieSBkb2luZwotICAgIC8vIGNoaWxkcmVuKCkuYXBwZW5kKCkuIFRo
YXQgd2lsbCB3b3JrIGZpbmUsIGJ1dCBpdCdzIG5vdCByZWNvbW1lbmRlZC4KKyAgICAvLyBVc2Ug
dGhpcyB0byBhZGQgY2hpbGRyZW4uCiAgICAgdm9pZCBhcHBlbmQoY29uc3QgQ29uc3RyYWluZWRW
YWx1ZSYgdmFsdWUpCiAgICAgewogICAgICAgICBhcHBlbmQodmFsdWUudmFsdWUoKSwgdmFsdWUu
cmVwKCkpOwpAQCAtMjg1LDYgKzI4NCw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIENvbnN0
cmFpbmVkVmFsdWVDb2xsZWN0aW9uKCp0aGlzKTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBD
aGlsZHJlbihDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAppbmRleCBmODcw
OWI0Mzg2NS4uNTExNjViYzliMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1N3aXRjaFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0
Y2hWYWx1ZS5jcHAKQEAgLTEwNiwxMyArMTA2LDggQEAgdm9pZCBTd2l0Y2hWYWx1ZTo6ZHVtcE1l
dGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQu
cHJpbnQoY29tbWEsICJjYXNlcyA9IFsiLCBsaXN0RHVtcChtX3ZhbHVlcyksICJdIik7CiB9CiAK
LVZhbHVlKiBTd2l0Y2hWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IFN3aXRjaFZhbHVlKCp0aGlzKTsKLX0KLQogU3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKE9yaWdp
biBvcmlnaW4sIFZhbHVlKiBjaGlsZCkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRj
aCwgVm9pZCwgb3JpZ2luLCBjaGlsZCkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRj
aCwgVm9pZCwgT25lLCBvcmlnaW4sIGNoaWxkKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzU3dpdGNoVmFsdWUuaAppbmRleCA2MWE0ZmVkZjFlNC4uYWNhODc3MDQ4YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaApAQCAtNjQsMTQgKzY0LDE3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgZHVtcFN1Y2Nlc3NvcnMoY29uc3QgQmFzaWNCbG9jayosIFBy
aW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJ
WkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQ
cmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9u
ZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bj
b2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqKSB7IHJldHVybiBTd2l0Y2g7IH0KICAg
ICBKU19FWFBPUlRfUFJJVkFURSBTd2l0Y2hWYWx1ZShPcmlnaW4sIFZhbHVlKiBjaGlsZCk7CiAK
ICAgICBWZWN0b3I8aW50NjRfdD4gbV92YWx1ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVXBzaWxvblZhbHVlLmNwcAppbmRleCBjODc0MzJmYjc3OS4uYTkxZDA3YjkwMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmNwcApAQCAtNDUsMTEgKzQ1
LDYgQEAgdm9pZCBVcHNpbG9uVmFsdWU6OmR1bXBNZXRhKENvbW1hUHJpbnRlciYgY29tbWEsIFBy
aW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgfQogfQogCi1WYWx1ZSogVXBzaWxvblZhbHVlOjpj
bG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgVXBzaWxvblZhbHVlKCp0aGlzKTsK
LX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklU
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAppbmRleCA0YzQ3OWU0
MTlhNi4uOWQ2M2M0NjE5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Vwc2lsb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25W
YWx1ZS5oCkBAIC00NSwxOSArNDUsMjIgQEAgcHVibGljOgogICAgICAgICBtX3BoaSA9IHBoaTsK
ICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQor
ICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwog
cHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlk
ZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBj
bGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9y
aWdpbiwgVmFsdWUqLCBWYWx1ZSogPSBudWxscHRyKSB7IHJldHVybiBVcHNpbG9uOyB9CiAgICAg
Ly8gTm90ZSB0aGF0IHBhc3NpbmcgdGhlIFBoaSBkdXJpbmcgY29uc3RydWN0aW9uIGlzIG9wdGlv
bmFsLiBBIHZhbGlkIHBhdHRlcm4gaXMgdG8gZmlyc3QgY3JlYXRlCiAgICAgLy8gdGhlIFVwc2ls
b25zIHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVhdGUgdGhlIFBoaSwgdGhlbiBnbyBiYWNrIGFu
ZCB0ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAgIC8vIHRoZSBQaGkuIFRoaXMgYWxsb3dzIHlv
dSB0byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwgb3JkZXIuCiAgICAgVXBzaWxvblZhbHVlKE9y
aWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBoaSA9IG51bGxwdHIpCi0gICAgICAg
IDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxvbiwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAg
ICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBVcHNpbG9uLCBWb2lkLCBPbmUsIG9yaWdpbiwg
dmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQogICAgIHsKICAgICAgICAgaWYgKHBoaSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAppbmRleCBkNjcwNGNhMTBkMC4uZWRkZTUyNzIz
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAKQEAgLTUxLDkgKzUxLDE4IEBA
CiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAogY29uc3QgY2hhciogY29uc3QgVmFs
dWU6OmR1bXBQcmVmaXggPSAiQCI7Cit2b2lkIERlZXBWYWx1ZUR1bXA6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKK3sKKyAgICBpZiAobV92YWx1ZSkKKyAgICAgICAgbV92YWx1ZS0+ZGVl
cER1bXAobV9wcm9jLCBvdXQpOworICAgIGVsc2UKKyAgICAgICAgb3V0LnByaW50KCI8bnVsbD4i
KTsKK30KIAogVmFsdWU6On5WYWx1ZSgpCiB7CisgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFy
QXJncykKKyAgICAgICAgY2hpbGRyZW5BbGxvYygpLT5+VmVjdG9yPFZhbHVlKj4oKTsKIH0KIAog
dm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhJZGVudGl0eShWYWx1ZSogdmFsdWUpCkBAIC02MiwyNiAr
NzEsMTIgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhJZGVudGl0eShWYWx1ZSogdmFsdWUpCiAg
ICAgLy8gYSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmlyc3QgY29sbGVjdCBhbGwgb2YgdGhl
IGluZm9ybWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1Y3QgdGhlCiAgICAgLy8gcHJldmlv
dXMgdmFsdWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0cnVjdCB0aGUgSWRlbnRpdHkgVmFs
dWUgaW4gcGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5cGUpOworICAg
IFJFTEVBU0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKIAotICAgIGlmIChtX3R5
cGUgPT0gVm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFjZVdp
dGhOb3BJZ25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2ln
bmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3JpZ2lu
IG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7
Ci0KLSAgICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAgdGhp
cy0+flZhbHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBvcmln
aW4sIHZhbHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRl
eCA9IGluZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1fdHlw
ZSwgdGhpcy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhCb3R0
b20oSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk3LDE2ICs5
Miw3IEBAIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wKCkKIAogdm9pZCBWYWx1ZTo6cmVwbGFj
ZVdpdGhOb3BJZ25vcmluZ1R5cGUoKQogewotICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsK
LSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAgQmFzaWNCbG9jayogb3duZXIgPSB0
aGlzLT5vd25lcjsKLQotICAgIHRoaXMtPn5WYWx1ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1
ZShOb3AsIFZvaWQsIG9yaWdpbik7Ci0KLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRo
aXMtPm1faW5kZXggPSBpbmRleDsKKyAgICByZXBsYWNlV2l0aChOb3AsIFZvaWQsIHRoaXMtPm93
bmVyKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhQaGkoKQpAQCAtMTE1LDUxICsxMDEs
MjEgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhQaGkoKQogICAgICAgICByZXBsYWNlV2l0aE5v
cCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAotICAgIHVuc2lnbmVkIGluZGV4ID0g
bV9pbmRleDsKLSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAgQmFzaWNCbG9jayog
b3duZXIgPSB0aGlzLT5vd25lcjsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7CiAKLSAgICB0aGlz
LT5+VmFsdWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUoUGhpLCB0eXBlLCBvcmlnaW4pOwot
Ci0gICAgdGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Cisg
ICAgcmVwbGFjZVdpdGgoUGhpLCBtX3R5cGUsIHRoaXMtPm93bmVyKTsKIH0KIAogdm9pZCBWYWx1
ZTo6cmVwbGFjZVdpdGhKdW1wKEJhc2ljQmxvY2sqIG93bmVyLCBGcmVxdWVudGVkQmxvY2sgdGFy
Z2V0KQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0gdGhpcyk7Ci0gICAg
Ci0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29y
aWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBuZXcgKHRoaXMpIFZh
bHVlKEp1bXAsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3duZXIgPSBvd25lcjsK
LSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFjZVdpdGgoSnVtcCwg
Vm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5zZXRTdWNjZXNzb3JzKHRhcmdldCk7CiB9
CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoT29wcyhCYXNpY0Jsb2NrKiBvd25lcikKIHsKICAg
ICBSRUxFQVNFX0FTU0VSVChvd25lci0+bGFzdCgpID09IHRoaXMpOwotICAgIAotICAgIHVuc2ln
bmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAg
Ci0gICAgdGhpcy0+flZhbHVlKCk7Ci0gICAgCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShPb3BzLCBW
b2lkLCBvcmlnaW4pOwotICAgIAotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+
bV9pbmRleCA9IGluZGV4OwotICAgIAorICAgIHJlcGxhY2VXaXRoKE9vcHMsIFZvaWQsIHRoaXMt
Pm93bmVyKTsKICAgICBvd25lci0+Y2xlYXJTdWNjZXNzb3JzKCk7CiB9CiAKQEAgLTE3Myw2ICsx
MjksMzAgQEAgdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKCkKICAgICByZXBsYWNlV2l0aE9v
cHMob3duZXIpOwogfQogCit2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aChLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgQmFzaWNCbG9jayogb3duZXIpCit7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4
OworCisgICAgdGhpcy0+flZhbHVlKCk7CisKKyAgICBuZXcgKHRoaXMpIFZhbHVlKGtpbmQsIHR5
cGUsIG1fb3JpZ2luKTsKKworICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICB0aGlzLT5v
d25lciA9IG93bmVyOworfQorCit2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aChLaW5kIGtpbmQsIFR5
cGUgdHlwZSwgQmFzaWNCbG9jayogb3duZXIsIFZhbHVlKiB2YWx1ZSkKK3sKKyAgICB1bnNpZ25l
ZCBpbmRleCA9IG1faW5kZXg7CisKKyAgICB0aGlzLT5+VmFsdWUoKTsKKworICAgIG5ldyAodGhp
cykgVmFsdWUoa2luZCwgdHlwZSwgbV9vcmlnaW4sIHZhbHVlKTsKKworICAgIHRoaXMtPm1faW5k
ZXggPSBpbmRleDsKKyAgICB0aGlzLT5vd25lciA9IG93bmVyOworfQorCiB2b2lkIFZhbHVlOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgYm9vbCBpc0NvbnN0YW50ID0gZmFs
c2U7CkBAIC0yMDQsMTEgKzE4NCw2IEBAIHZvaWQgVmFsdWU6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsKLX0KLQogdm9p
ZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigpKQpAQCAtNDU3
LDExICs0MzIsMTEgQEAgVHJpU3RhdGUgVmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChj
b25zdCBWYWx1ZSopIGNvbnN0CiAKIFZhbHVlKiBWYWx1ZTo6aW52ZXJ0ZWRDb21wYXJlKFByb2Nl
ZHVyZSYgcHJvYykgY29uc3QKIHsKLSAgICBpZiAoIW51bUNoaWxkcmVuKCkpCisgICAgaWYgKG51
bUNoaWxkcmVuKCkgIT0gMikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKE9wdGlv
bmFsPE9wY29kZT4gaW52ZXJ0ZWRPcGNvZGUgPSBCMzo6aW52ZXJ0ZWRDb21wYXJlKG9wY29kZSgp
LCBjaGlsZCgwKS0+dHlwZSgpKSkgewogICAgICAgICBBU1NFUlQoIWtpbmQoKS5oYXNFeHRyYUJp
dHMoKSk7Ci0gICAgICAgIHJldHVybiBwcm9jLmFkZDxWYWx1ZT4oKmludmVydGVkT3Bjb2RlLCB0
eXBlKCksIG9yaWdpbigpLCBjaGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZh
bHVlPigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkKDApLCBjaGlsZCgx
KSk7CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtNDk1LDYgKzQ3MCw3IEBAIGJv
b2wgVmFsdWU6OnJldHVybnNCb29sKCkgY29uc3QKIHsKICAgICBpZiAodHlwZSgpICE9IEludDMy
KQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG9wY29kZSgpKSB7CiAgICAg
Y2FzZSBDb25zdDMyOgogICAgICAgICByZXR1cm4gYXNJbnQzMigpID09IDAgfHwgYXNJbnQzMigp
ID09IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuaAppbmRleCAwMTRlNzhlMTFmMy4uMGNi
NTIyNzhlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuaApAQCAtMzcsOCArMzcsNyBA
QAogI2luY2x1ZGUgIkIzVmFsdWVLZXkuaCIKICNpbmNsdWRlICJCM1dpZHRoLmgiCiAjaW5jbHVk
ZSA8d3RmL0NvbW1hUHJpbnRlci5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL0l0ZXJhdG9yUmFuZ2UuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RyaVN0YXRlLmg+
CiAKQEAgLTUxLDcgKzUwLDYgQEAgY2xhc3MgUGhpQ2hpbGRyZW47CiBjbGFzcyBQcm9jZWR1cmU7
CiAKIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFZhbHVlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFZlY3RvcjxWYWx1ZSosIDM+IEFkamFjZW5j
eUxpc3Q7CiAKQEAgLTgyLDE0ICs4MCw2IEBAIHB1YmxpYzoKICAgICBPcmlnaW4gb3JpZ2luKCkg
Y29uc3QgeyByZXR1cm4gbV9vcmlnaW47IH0KICAgICB2b2lkIHNldE9yaWdpbihPcmlnaW4gb3Jp
Z2luKSB7IG1fb3JpZ2luID0gb3JpZ2luOyB9CiAgICAgCi0gICAgVmFsdWUqJiBjaGlsZCh1bnNp
Z25lZCBpbmRleCkgeyByZXR1cm4gbV9jaGlsZHJlbltpbmRleF07IH0KLSAgICBWYWx1ZSogY2hp
bGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhdOyB9Ci0K
LSAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0g
ICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9
Ci0KLSAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4u
c2l6ZSgpOyB9Ci0KICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAg
ICB2b2lkIHNldFR5cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KIApAQCAtOTcsOCAr
ODcsNTcgQEAgcHVibGljOgogICAgIEJhbmsgcmVzdWx0QmFuaygpIGNvbnN0IHsgcmV0dXJuIGJh
bmtGb3JUeXBlKHR5cGUoKSk7IH0KICAgICBXaWR0aCByZXN1bHRXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIHdpZHRoRm9yVHlwZSh0eXBlKCkpOyB9CiAKLSAgICBBZGphY2VuY3lMaXN0JiBjaGlsZHJl
bigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH0gCi0gICAgY29uc3QgQWRqYWNlbmN5TGlzdCYgY2hp
bGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuOyB9CisgICAgdW5zaWduZWQgbnVtQ2hp
bGRyZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJn
cykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLnNpemUoKTsKKyAgICAgICAg
cmV0dXJuIG1fbnVtQ2hpbGRyZW47CisgICAgfQorICAgIAorICAgIFZhbHVlKiYgY2hpbGQodW5z
aWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1DaGlsZHJlbigp
KTsKKyAgICAgICAgcmV0dXJuIG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyA/IGNoaWxkcmVuVmVj
dG9yKClbaW5kZXhdIDogY2hpbGRyZW5BcnJheSgpW2luZGV4XTsKKyAgICB9CisgICAgVmFsdWUq
IGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4
IDwgbnVtQ2hpbGRyZW4oKSk7CisgICAgICAgIHJldHVybiBtX251bUNoaWxkcmVuID09IFZhckFy
Z3MgPyBjaGlsZHJlblZlY3RvcigpW2luZGV4XSA6IGNoaWxkcmVuQXJyYXkoKVtpbmRleF07Cisg
ICAgfQorICAgIAorICAgIFZhbHVlKiYgbGFzdENoaWxkKCkKKyAgICB7CisgICAgICAgIGlmICht
X251bUNoaWxkcmVuID09IFZhckFyZ3MpCisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0
b3IoKS5sYXN0KCk7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuID49IDEpOworICAgICAg
ICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW21fbnVtQ2hpbGRyZW4gLSAxXTsKKyAgICB9CisgICAg
VmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJl
biA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgp
OworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAxKTsKKyAgICAgICAgcmV0dXJuIGNo
aWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07CisgICAgfQorCisgICAgV1RGOjpJdGVy
YXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIGlmIChtX251bUNo
aWxkcmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIFZlY3RvcjxWYWx1ZSo+JiB2ZWMgPSBj
aGlsZHJlblZlY3RvcigpOworICAgICAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJhdG9yUmFu
Z2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOworICAgICAgICB9CisgICAgICAgIFZhbHVl
KiogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICByZXR1cm4ge2J1ZmZlciwgYnVm
ZmVyICsgbV9udW1DaGlsZHJlbiB9OworICAgIH0KKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFs
dWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hp
bGRyZW4gPT0gVmFyQXJncykgeworICAgICAgICAgICAgY29uc3QgVmVjdG9yPFZhbHVlKj4mIHZl
YyA9IGNoaWxkcmVuVmVjdG9yKCk7CisgICAgICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0
b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7CisgICAgICAgIH0KKyAgICAgICAg
VmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7CisgICAgICAgIHJldHVybiB7
YnVmZmVyLCBidWZmZXIgKyBtX251bUNoaWxkcmVuIH07CisgICAgfQogCiAgICAgLy8gSWYgeW91
IHdhbnQgdG8gcmVwbGFjZSBhbGwgdXNlcyBvZiB0aGlzIHZhbHVlIHdpdGggYSBkaWZmZXJlbnQg
dmFsdWUsIHRoZW4gcmVwbGFjZSB0aGlzCiAgICAgLy8gdmFsdWUgd2l0aCBJZGVudGl0eS4gVGhl
biBkbyBhIHBhc3Mgb2YgcGVyZm9ybVN1YnN0aXR1dGlvbigpIG9uIGFsbCBvZiB0aGUgdmFsdWVz
IHRoYXQgdXNlCkBAIC0zMDEsMTkgKzM0MCwyMTggQEAgcHVibGljOgogICAgICAgICB0eXBlbmFt
ZSBzdGQ6OmVuYWJsZV9pZjxzaXplb2YoSW50KSA8PSBzaXplb2YoT2Zmc2V0VHlwZSk+Ojp0eXBl
CiAgICAgPiB7IH07CiAKLQogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgVmFsdWUqIGNsb25lSW1w
bCgpIGNvbnN0OwotICAgIAorICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKKworICAgIHZv
aWQgcmVwbGFjZVdpdGgoS2luZCwgVHlwZSwgQmFzaWNCbG9jayopOworICAgIHZvaWQgcmVwbGFj
ZVdpdGgoS2luZCwgVHlwZSwgQmFzaWNCbG9jayosIFZhbHVlKik7CisKICAgICB2aXJ0dWFsIHZv
aWQgZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAg
dmlydHVhbCB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7
CiAKKyAgICAvLyBUaGUgc3BlY2lmaWMgdmFsdWUgb2YgVmFyQXJncyBkb2VzIG5vdCBtYXR0ZXIs
IGJ1dCB0aGUgdmFsdWUgb2YgdGhlIG90aGVycyBpcyBhc3N1bWVkIHRvIG1hdGNoIHRoZWlyIG1l
YW5pbmcuCisgICAgZW51bSBOdW1DaGlsZHJlbiA6IHVpbnQ4X3QgeyBaZXJvID0gMCwgT25lID0g
MSwgVHdvID0gMiwgVGhyZWUgPSAzLCBWYXJBcmdzID0gNH07CisKKyAgICBjaGFyKiBjaGlsZHJl
bkFsbG9jKCkgeyByZXR1cm4gYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxp
c3RPZmZzZXQoKTsgfQorICAgIGNvbnN0IGNoYXIqIGNoaWxkcmVuQWxsb2MoKSBjb25zdCB7IHJl
dHVybiBiaXR3aXNlX2Nhc3Q8Y29uc3QgY2hhcio+KHRoaXMpICsgYWRqYWNlbmN5TGlzdE9mZnNl
dCgpOyB9CisgICAgVmVjdG9yPFZhbHVlKj4mIGNoaWxkcmVuVmVjdG9yKCkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gKmJp
dHdpc2VfY2FzdDxWZWN0b3I8VmFsdWUqPio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAg
IGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0CisgICAgeworICAg
ICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpi
aXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKj4gY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAg
IH0KKyAgICBWYWx1ZSoqIGNoaWxkcmVuQXJyYXkoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
bnVtQ2hpbGRyZW4gIT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFs
dWUqKj4oY2hpbGRyZW5BbGxvYygpKTsKKyAgICB9CisgICAgVmFsdWUqIGNvbnN0KiBjaGlsZHJl
bkFycmF5KCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZh
ckFyZ3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKiBjb25zdCo+KGNoaWxk
cmVuQWxsb2MoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEtpbmQga2luZCwgQXJn
dW1lbnRzLi4uKSB7IHJldHVybiBraW5kLm9wY29kZSgpOyB9CisgICAgQUxXQVlTX0lOTElORSBz
dGF0aWMgc2l6ZV90IGFkamFjZW5jeUxpc3RTcGFjZShLaW5kIGtpbmQpCisgICAgeworICAgICAg
ICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKKyAgICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6Cisg
ICAgICAgIGNhc2UgTm9wOgorICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgY2FzZSBKdW1wOgor
ICAgICAgICBjYXNlIE9vcHM6CisgICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CisgICAgICAgIGNh
c2UgQXJndW1lbnRSZWc6CisgICAgICAgIGNhc2UgQ29uc3QzMjoKKyAgICAgICAgY2FzZSBDb25z
dDY0OgorICAgICAgICBjYXNlIENvbnN0RmxvYXQ6CisgICAgICAgIGNhc2UgQ29uc3REb3VibGU6
CisgICAgICAgIGNhc2UgRmVuY2U6CisgICAgICAgIGNhc2UgU2xvdEJhc2U6CisgICAgICAgIGNh
c2UgR2V0OgorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGNhc2UgUmV0dXJuOgorICAg
ICAgICBjYXNlIElkZW50aXR5OgorICAgICAgICBjYXNlIE9wYXF1ZToKKyAgICAgICAgY2FzZSBO
ZWc6CisgICAgICAgIGNhc2UgQ2x6OgorICAgICAgICBjYXNlIEFiczoKKyAgICAgICAgY2FzZSBD
ZWlsOgorICAgICAgICBjYXNlIEZsb29yOgorICAgICAgICBjYXNlIFNxcnQ6CisgICAgICAgIGNh
c2UgU0V4dDg6CisgICAgICAgIGNhc2UgU0V4dDE2OgorICAgICAgICBjYXNlIFRydW5jOgorICAg
ICAgICBjYXNlIFNFeHQzMjoKKyAgICAgICAgY2FzZSBaRXh0MzI6CisgICAgICAgIGNhc2UgRmxv
YXRUb0RvdWJsZToKKyAgICAgICAgY2FzZSBJVG9EOgorICAgICAgICBjYXNlIERvdWJsZVRvRmxv
YXQ6CisgICAgICAgIGNhc2UgSVRvRjoKKyAgICAgICAgY2FzZSBCaXR3aXNlQ2FzdDoKKyAgICAg
ICAgY2FzZSBCcmFuY2g6CisgICAgICAgIGNhc2UgRGVwZW5kOgorICAgICAgICBjYXNlIExvYWQ4
WjoKKyAgICAgICAgY2FzZSBMb2FkOFM6CisgICAgICAgIGNhc2UgTG9hZDE2WjoKKyAgICAgICAg
Y2FzZSBMb2FkMTZTOgorICAgICAgICBjYXNlIExvYWQ6CisgICAgICAgIGNhc2UgU3dpdGNoOgor
ICAgICAgICBjYXNlIFVwc2lsb246CisgICAgICAgIGNhc2UgU2V0OgorICAgICAgICBjYXNlIFdh
c21BZGRyZXNzOgorICAgICAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazoKKyAgICAgICAgICAgIHJl
dHVybiBzaXplb2YoVmFsdWUqKTsKKyAgICAgICAgY2FzZSBBZGQ6CisgICAgICAgIGNhc2UgU3Vi
OgorICAgICAgICBjYXNlIE11bDoKKyAgICAgICAgY2FzZSBEaXY6CisgICAgICAgIGNhc2UgVURp
djoKKyAgICAgICAgY2FzZSBNb2Q6CisgICAgICAgIGNhc2UgVU1vZDoKKyAgICAgICAgY2FzZSBC
aXRBbmQ6CisgICAgICAgIGNhc2UgQml0T3I6CisgICAgICAgIGNhc2UgQml0WG9yOgorICAgICAg
ICBjYXNlIFNobDoKKyAgICAgICAgY2FzZSBTU2hyOgorICAgICAgICBjYXNlIFpTaHI6CisgICAg
ICAgIGNhc2UgUm90UjoKKyAgICAgICAgY2FzZSBSb3RMOgorICAgICAgICBjYXNlIEVxdWFsOgor
ICAgICAgICBjYXNlIE5vdEVxdWFsOgorICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAgICBj
YXNlIEdyZWF0ZXJUaGFuOgorICAgICAgICBjYXNlIExlc3NFcXVhbDoKKyAgICAgICAgY2FzZSBH
cmVhdGVyRXF1YWw6CisgICAgICAgIGNhc2UgQWJvdmU6CisgICAgICAgIGNhc2UgQmVsb3c6Cisg
ICAgICAgIGNhc2UgQWJvdmVFcXVhbDoKKyAgICAgICAgY2FzZSBCZWxvd0VxdWFsOgorICAgICAg
ICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAg
ICAgICAgY2FzZSBBdG9taWNYY2hnQW5kOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdPcjoKKyAg
ICAgICAgY2FzZSBBdG9taWNYY2hnU3ViOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdYb3I6Cisg
ICAgICAgIGNhc2UgQXRvbWljWGNoZzoKKyAgICAgICAgY2FzZSBTdG9yZTg6CisgICAgICAgIGNh
c2UgU3RvcmUxNjoKKyAgICAgICAgY2FzZSBTdG9yZToKKyAgICAgICAgICAgIHJldHVybiAyICog
c2l6ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgU2VsZWN0OgorICAgICAgICBjYXNlIEF0b21p
Y1dlYWtDQVM6CisgICAgICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOgorICAgICAgICAgICAgcmV0
dXJuIDMgKiBzaXplb2YoVmFsdWUqKTsKKyAgICAgICAgY2FzZSBDQ2FsbDoKKyAgICAgICAgY2Fz
ZSBDaGVjazoKKyAgICAgICAgY2FzZSBDaGVja0FkZDoKKyAgICAgICAgY2FzZSBDaGVja1N1YjoK
KyAgICAgICAgY2FzZSBDaGVja011bDoKKyAgICAgICAgY2FzZSBQYXRjaHBvaW50OgorICAgICAg
ICAgICAgcmV0dXJuIHNpemVvZihWZWN0b3I8VmFsdWUqPik7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKIHByaXZhdGU6CisgICAgc3Rh
dGljIGNoYXIqIGFsbG9jYXRlU3BhY2UoT3Bjb2RlIG9wY29kZSwgc2l6ZV90IHNpemUpCisgICAg
eworICAgICAgICBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNlID0gVmFsdWU6OmFkamFjZW5jeUxp
c3RTcGFjZShvcGNvZGUpOworICAgICAgICAvLyBXZSBtdXN0IGFsbG9jYXRlIGVub3VnaCBzcGFj
ZSB0aGF0IHJlcGxhY2VXaXRoSWRlbnRpdHkgY2FuIHdvcmsgd2l0aG91dCBidWZmZXIgb3ZlcmZs
b3cuCisgICAgICAgIHNpemVfdCBhbGxvY0lkZW50aXR5U2l6ZSA9IHNpemVvZihWYWx1ZSkgKyBz
aXplb2YoVmFsdWUqKTsKKyAgICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KHNpemUg
KyBhZGphY2VuY3lMaXN0U3BhY2UsIGFsbG9jSWRlbnRpdHlTaXplKTsKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNoYXIqPig6Om9wZXJhdG9yIG5ldyhhbGxvY1NpemUpKTsKKyAgICB9CisK
K3Byb3RlY3RlZDoKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4u
IEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgVmFsdWVUeXBlKiBhbGxvY2F0ZShBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgY2hhciogYWxsb2MgPSBhbGxvY2F0ZVNwYWNlKFZh
bHVlVHlwZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKGFyZ3VtZW50cy4uLiksIHNpemVvZihWYWx1
ZVR5cGUpKTsKKyAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2MpIFZhbHVlVHlwZShhcmd1bWVudHMu
Li4pOworICAgIH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGU+CisgICAgc3RhdGlj
IFZhbHVlVHlwZSogYWxsb2NhdGUoY29uc3QgVmFsdWVUeXBlJiB2YWx1ZVRvQ2xvbmUpCisgICAg
eworICAgICAgICBjaGFyKiBhbGxvYyA9IGFsbG9jYXRlU3BhY2UodmFsdWVUb0Nsb25lLm9wY29k
ZSgpLCBzaXplb2YoVmFsdWVUeXBlKSk7CisgICAgICAgIFZhbHVlVHlwZSogcmVzdWx0ID0gbmV3
IChhbGxvYykgVmFsdWVUeXBlKHZhbHVlVG9DbG9uZSk7CisgICAgICAgIHJlc3VsdC0+YnVpbGRB
ZGphY2VuY3lMaXN0KHNpemVvZihWYWx1ZVR5cGUpLCB2YWx1ZVRvQ2xvbmUpOworICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIC8vIFByb3RlY3RlZCBzbyBpdCB3aWxsIG9ubHkg
YmUgY2FsbGVkIGZyb20gYWxsb2NhdGUgYWJvdmUsIHBvc3NpYmx5IHRocm91Z2ggdGhlIHN1YmNs
YXNzZXMnY29weSBjb25zdHJ1Y3RvcnMKKyAgICBWYWx1ZShjb25zdCBWYWx1ZSYpID0gZGVmYXVs
dDsKKworICAgIFZhbHVlKFZhbHVlJiYpID0gZGVsZXRlOworICAgIFZhbHVlJiBvcGVyYXRvcj0o
Y29uc3QgVmFsdWUmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9KFZhbHVlJiYpID0g
ZGVsZXRlOworICAgIAorICAgIHNpemVfdCBhZGphY2VuY3lMaXN0T2Zmc2V0KCkgY29uc3Q7CisK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwogICAgIGZyaWVuZCBjbGFzcyBTcGFyc2VDb2xs
ZWN0aW9uPFZhbHVlPjsKIAorcHJpdmF0ZToKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1
bWVudHM+CisgICAgdm9pZCBidWlsZEFkamFjZW5jeUxpc3QoTnVtQ2hpbGRyZW4gbnVtQ2hpbGRy
ZW4sIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCisgICAgeworICAgICAgICBpZiAobnVtQ2hpbGRy
ZW4gPT0gVmFyQXJncykgeworICAgICAgICAgICAgbmV3IChjaGlsZHJlbkFsbG9jKCkpIFZlY3Rv
cjxWYWx1ZSo+IHsgYXJndW1lbnRzLi4uIH07CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgICAgQVNTRVJUKG51bUNoaWxkcmVuID09IHNpemVvZi4uLihhcmd1bWVudHMpKTsK
KyAgICAgICAgbmV3IChjaGlsZHJlbkFsbG9jKCkpIFZhbHVlKltzaXplb2YuLi4oYXJndW1lbnRz
KV0geyBhcmd1bWVudHMuLi4gfTsKKyAgICB9CisgICAgdm9pZCBidWlsZEFkamFjZW5jeUxpc3Qo
c2l6ZV90IG9mZnNldCwgY29uc3QgVmFsdWUmIHZhbHVlVG9DbG9uZSkKKyAgICB7CisgICAgICAg
IHN3aXRjaCAodmFsdWVUb0Nsb25lLm1fbnVtQ2hpbGRyZW4pIHsKKyAgICAgICAgY2FzZSBWYXJB
cmdzOgorICAgICAgICAgICAgbmV3IChiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0
KSBWZWN0b3I8VmFsdWUqPiAodmFsdWVUb0Nsb25lLmNoaWxkcmVuVmVjdG9yKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVGhyZWU6CisgICAgICAgICAgICBiaXR3aXNlX2Nh
c3Q8VmFsdWUqKj4oYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldClbMl0gPSB2YWx1
ZVRvQ2xvbmUuY2hpbGRyZW5BcnJheSgpWzJdOworICAgICAgICAgICAgRkFMTFRIUk9VR0g7Cisg
ICAgICAgIGNhc2UgVHdvOgorICAgICAgICAgICAgYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdp
c2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQpWzFdID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVu
QXJyYXkoKVsxXTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAgICAgICBjYXNlIE9uZToK
KyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRo
aXMpICsgb2Zmc2V0KVswXSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMF07CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBaZXJvOgorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgLy8gQ2hlY2tzIHRoYXQgdGhpcyBraW5kIGlzIHZh
bGlkIGZvciB1c2Ugd2l0aCBCMzo6VmFsdWUuCi0gICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9p
ZCBjaGVja0tpbmQoS2luZCBraW5kLCB1bnNpZ25lZCBudW1BcmdzKQorICAgIEFMV0FZU19JTkxJ
TkUgc3RhdGljIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuRm9yS2luZChLaW5kIGtpbmQsIHVuc2ln
bmVkIG51bUFyZ3MpCiAgICAgewogICAgICAgICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKICAg
ICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6CkBAIC0zMjQsMTEgKzU2MiwxMSBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFy
Z3MpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBaZXJvOwogICAgICAgICBjYXNlIFJldHVybjoK
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzID4gMSkpCiAgICAgICAgICAgICAgICAg
YmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
cmV0dXJuIG51bUFyZ3MgPyBPbmUgOiBaZXJvOwogICAgICAgICBjYXNlIElkZW50aXR5OgogICAg
ICAgICBjYXNlIE9wYXF1ZToKICAgICAgICAgY2FzZSBOZWc6CkBAIC0zNTEsNyArNTg5LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgY2FzZSBEZXBlbmQ6CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
bnVtQXJncyAhPSAxKSkKICAgICAgICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwot
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gT25lOwogICAgICAgICBjYXNl
IEFkZDoKICAgICAgICAgY2FzZSBTdWI6CiAgICAgICAgIGNhc2UgTXVsOgpAQCAtMzgwLDEyOSAr
NjE4LDEwNSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6CiAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncyAhPSAyKSkKICAgICAgICAgICAgICAgICBiYWRL
aW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1
cm4gVHdvOwogICAgICAgICBjYXNlIFNlbGVjdDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShu
dW1BcmdzICE9IDMpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBUaHJlZTsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQorICAgICAgICByZXR1cm4gVmFyQXJnczsKICAgICB9CiAKIHByb3Rl
Y3RlZDoKICAgICBlbnVtIENoZWNrZWRPcGNvZGVUYWcgeyBDaGVja2VkT3Bjb2RlIH07Ci0KLSAg
ICBWYWx1ZShjb25zdCBWYWx1ZSYpID0gZGVmYXVsdDsKLSAgICBWYWx1ZSYgb3BlcmF0b3I9KGNv
bnN0IFZhbHVlJikgPSBkZWZhdWx0OwogICAgIAogICAgIC8vIEluc3RhbnRpYXRlIHZhbHVlcyB2
aWEgUHJvY2VkdXJlLgogICAgIC8vIFRoaXMgZm9ybSByZXF1aXJlcyBzcGVjaWZ5aW5nIHRoZSB0
eXBlIGV4cGxpY2l0bHk6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAg
IGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykK
KyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlw
ZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENo
aWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAgICAgICA6IG1fa2luZChraW5kKQogICAg
ICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4p
CiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57IGZpcnN0
Q2hpbGQsIGFyZ3VtZW50cy4uLiB9CiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3Qo
bnVtQ2hpbGRyZW4sIGZpcnN0Q2hpbGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogICAgIC8vIFRo
aXMgZm9ybSBpcyBmb3Igc3BlY2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5IHdoZW4gdGhlIG9w
Y29kZSBoYXMgbm8gY2hpbGRyZW46Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGljaXQgVmFs
dWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51
bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luKQogICAgICAgICA6IG1fa2luZChraW5kKQogICAgICAg
ICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAg
ICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgIHsKLSAgICB9Ci0gICAgLy8gVGhpcyBmb3Jt
IGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUg
b3Bjb2RlIGFuZCBmaXJzdCBjaGlsZDoKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVu
dHM+Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmln
aW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCkKLSAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAg
ICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkKSkKLSAgICAgICAgLCBtX29y
aWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCB9Ci0gICAgewot
ICAgIH0KLSAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5m
ZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGFuZCBzZWNvbmQgY2hpbGQ6
Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIGV4cGxpY2l0IFZhbHVl
KENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0
Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAg
ICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENo
aWxkLCBzZWNvbmRDaGlsZCkpCi0gICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAs
IG1fY2hpbGRyZW57IGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkLCBhcmd1bWVudHMuLi4gfQotICAg
IHsKKyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuKTsKICAgICB9CiAgICAg
Ly8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5
cGUgZnJvbSB0aGUgb3Bjb2RlIGFsb25lLCBhbmQgdGhhdCBkb24ndAogICAgIC8vIHRha2UgYW55
IGFyZ3VtZW50czoKLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtp
bmQsIE9yaWdpbiBvcmlnaW4pCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywg
S2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikKICAgICAg
ICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBudWxscHRy
KSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3Jp
Z2luKG9yaWdpbikKICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJl
bik7CiAgICAgfQotICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIHZhcmFyZ3MuCi0gICAgZXhwbGlj
aXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBv
cmlnaW4sIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQorICAgIC8vIFRoaXMgZm9ybSBp
cyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9w
Y29kZSBhbmQgZmlyc3QgY2hpbGQ6CisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbiwgVmFs
dWUqIGZpcnN0Q2hpbGQpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBl
KHR5cGUpCisgICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkpCisgICAg
ICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmln
aW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihjaGlsZHJlbikKICAgICB7CisgICAgICAgIGJ1aWxk
QWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCk7CiAgICAgfQotICAgIGV4cGxp
Y2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4g
b3JpZ2luLCBBZGphY2VuY3lMaXN0JiYgY2hpbGRyZW4pCisgICAgLy8gVGhpcyBmb3JtIGlzIGZv
ciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2Rl
IGFuZCBmaXJzdCBhbmQgc2Vjb25kIGNoaWxkOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQs
IE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGls
ZCwgVmFsdWUqIHNlY29uZENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogICAgICAgICA6
IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fdHlwZSh0
eXBlRm9yKGtpbmQsIGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkKSkKKyAgICAgICAgLCBtX251bUNo
aWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAg
LCBtX2NoaWxkcmVuKFdURk1vdmUoY2hpbGRyZW4pKQogICAgIHsKKyAgICAgICAgYnVpbGRBZGph
Y2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJndW1lbnRz
Li4uKTsKICAgICB9CiAKICAgICAvLyBUaGlzIGlzIHRoZSBjb25zdHJ1Y3RvciB5b3UgZW5kIHVw
IGFjdHVhbGx5IGNhbGxpbmcsIGlmIHlvdSdyZSBpbnN0YW50aWF0aW5nIFZhbHVlCiAgICAgLy8g
ZGlyZWN0bHkuCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgICAgICBl
eHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKLSAgICAg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4pCi0gICAgewotICAg
ICAgICBjaGVja0tpbmQoa2luZCwgMCk7Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVu
dHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luLCBm
aXJzdENoaWxkLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQotICAgIHsK
LSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIDEgKyBzaXplb2YuLi4oYXJndW1lbnRzKSk7Ci0gICAg
fQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQg
VmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5j
eUxpc3QmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5
cGUsIG9yaWdpbiwgY2hpbGRyZW4pCisgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBl
IHR5cGUsIE9yaWdpbiBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgdHlwZSwgWmVybywgb3JpZ2luKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIGNo
aWxkcmVuLnNpemUoKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuRm9yS2lu
ZChraW5kLCAwKSA9PSBaZXJvKTsKICAgICB9CisgICAgLy8gV2UgZXhwbGljaXRseSBjb252ZXJ0
IHRoZSBleHRyYSBhcmd1bWVudHMgdG8gVmFsdWUqICh0aGV5IG1heSBiZSBwb2ludGVycyB0byBz
b21lIHN1YmNsYXNzZXMgb2YgVmFsdWUpIHRvIGxpbWl0IHRlbXBsYXRlIGV4cGxvc2lvbgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3QmJiBjaGls
ZHJlbikKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4s
IFdURk1vdmUoY2hpbGRyZW4pKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgT3JpZ2lu
IG9yaWdpbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2Vk
T3Bjb2RlLCBraW5kLCBudW1DaGlsZHJlbkZvcktpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50
cykpLCBvcmlnaW4sIHN0YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICB7Ci0g
ICAgICAgIGNoZWNrS2luZChraW5kLCBtX2NoaWxkcmVuLnNpemUoKSk7CiAgICAgfQogICAgIHRl
bXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2lu
ZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0gICAgICAg
IDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8QXJndW1l
bnRzPihhcmd1bWVudHMpLi4uKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3Vt
ZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBudW1DaGls
ZHJlbkZvcktpbmQoa2luZCwgMSArIHNpemVvZi4uLihhcmd1bWVudHMpKSwgb3JpZ2luLCBmaXJz
dENoaWxkLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgewotICAgICAg
ICBjaGVja0tpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwogICAgIH0KIAogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgQ2hlY2tWYWx1ZTsgLy8gQ2hlY2tWYWx1ZTo6Y29udmVydFRv
QWRkKCkgbW9kaWZpZXMgbV9raW5kLgotICAgIAorCiAgICAgc3RhdGljIFR5cGUgdHlwZUZvcihL
aW5kLCBWYWx1ZSogZmlyc3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkID0gbnVsbHB0cik7CiAK
LSAgICAvLyBUaGlzIGdyb3VwIG9mIGZpZWxkcyBpcyBhcnJhbmdlZCB0byBmaXQgaW4gNjQgYml0
cy4KKyAgICAvLyBtX2luZGV4IHRvIG1fbnVtQ2hpbGRyZW4gYXJlIGFycmFuZ2VkIHRvIGZpdCBp
biA2NCBiaXRzLgogcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1faW5kZXggeyBVSU5UX01BWCB9
OwogcHJpdmF0ZToKICAgICBLaW5kIG1fa2luZDsKICAgICBUeXBlIG1fdHlwZTsKLSAgICAKK3By
b3RlY3RlZDoKKyAgICBOdW1DaGlsZHJlbiBtX251bUNoaWxkcmVuOworcHJpdmF0ZToKICAgICBP
cmlnaW4gbV9vcmlnaW47Ci0gICAgQWRqYWNlbmN5TGlzdCBtX2NoaWxkcmVuOwogCiAgICAgTk9f
UkVUVVJOX0RVRV9UT19DUkFTSCBzdGF0aWMgdm9pZCBiYWRLaW5kKEtpbmQsIHVuc2lnbmVkKTsK
IApAQCAtNTE4LDEzICs3MzIsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZvaWQg
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKG1fdmFsdWUp
Ci0gICAgICAgICAgICBtX3ZhbHVlLT5kZWVwRHVtcChtX3Byb2MsIG91dCk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG91dC5wcmludCgiPG51bGw+Iik7Ci0gICAgfQorICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBQcm9jZWR1
cmUqIG1fcHJvYzsKQEAgLTU0MCw2ICs3NDgsMTE2IEBAIGlubGluZSBEZWVwVmFsdWVEdW1wIGRl
ZXBEdW1wKGNvbnN0IFZhbHVlKiB2YWx1ZSkKICAgICByZXR1cm4gRGVlcFZhbHVlRHVtcChudWxs
cHRyLCB2YWx1ZSk7CiB9CiAKKy8vIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGFyZSBkZXNpZ25lZCBm
b3Igc3ViY2xhc3NlcyBvZiBCMzo6VmFsdWUgdG8gdXNlLgorLy8gVGhleSBhcmUgbmV2ZXIgcmVx
dWlyZWQgZm9yIGNvcnJlY3RuZXNzLCBidXQgY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9m
IGNoaWxkL2xhc3RDaGlsZC9udW1DaGlsZHJlbi9jaGlsZHJlbiBtZXRob2RzLAorLy8gZm9yIHVz
ZXJzIHRoYXQgYWxyZWFkeSBrbm93IHRoZSBzcGVjaWZpYyBzdWJjbGFzcyBvZiBWYWx1ZSB0aGV5
IGFyZSBtYW5pcHVsYXRpbmcuCisvLyBUaGUgZmlyc3Qgc2V0IGlzIHRvIGJlIHVzZWQgd2hlbiB5
b3Uga25vdyBzb21ldGhpbmcgYWJvdXQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBhbGwgdmFs
dWVzIG9mIGEgY2xhc3MsIGluY2x1ZGluZyBpdHMgc3ViY2xhc3NlczoKKy8vIC0gQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU46IGFsd2F5cyAwIGNoaWxkcmVuIChlLmcuIENvbnN0
MzJWYWx1ZSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4obik6
IGFsd2F5cyBuIGNoaWxkcmVuLCB3aXRoIG4gaW4gezEsIDIsIDN9IChlLmcuIFVwc2lsb25WYWx1
ZSwgd2l0aCBuID0gMSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1Nf
Q0hJTERSRU46IGRpZmZlcmVudCBudW1iZXJzIG9mIGNoaWxkcmVuLCBidXQgbmV2ZXIgYSB2YXJp
YWJsZSBudW1iZXIgYXQgcnVudGltZSAoZS5nLiBNZW1vcnlWYWx1ZSwgdGhhdCBjYW4gaGF2ZSBi
ZXR3ZWVuIDEgYW5kIDMgY2hpbGRyZW4pCisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZB
UkFSR1NfQ0hJTERSRU46IGFsd2F5cyBhIHZhcmFyZ3MgKGUuZy4gQ0NhbGxWYWx1ZSkKKy8vIFRo
ZSBzZWNvbmQgc2V0IGlzIG9ubHkgdG8gYmUgdXNlZCBieSBjbGFzc2VzIHRoYXQgd2Uga25vdyBh
cmUgbm90IGZ1cnRoZXIgc3ViY2xhc3NlZCBieSBhbnlvbmUgYWRkaW5nIGZpZWxkcywKKy8vIGFz
IHRoZXkgaGFyZGNvZGUgdGhlIG9mZnNldCBvZiB0aGUgY2hpbGRyZW4gYXJyYXkvdmVjdG9yICh3
aGljaCBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0KS4KKy8vIC0gQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorLy8gLSBCM19TUEVDSUFM
SVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKyNkZWZpbmUgQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4gXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVu
KCkgY29uc3QgeyByZXR1cm4gMDsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKio+
IGNoaWxkcmVuKCkgeyByZXR1cm4ge251bGxwdHIsIG51bGxwdHJ9OyB9IFwKKyAgICBXVEY6Okl0
ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB7IG51
bGxwdHIsIG51bGxwdHJ9OyB9CisKKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklY
RURfQ0hJTERSRU4obikgXAorcHVibGljOiBcCisgICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBj
b25zdCB7IHJldHVybiBuOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBc
CisgICAgeyBcCisgICAgICAgIEFTU0VSVChpbmRleCA8PSBuKTsgXAorICAgICAgICByZXR1cm4g
Y2hpbGRyZW5BcnJheSgpW2luZGV4XTsgXAorICAgIH0gXAorICAgIFZhbHVlKiBjaGlsZCh1bnNp
Z25lZCBpbmRleCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBBU1NFUlQoaW5kZXggPD0gbik7
IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IFwKKyAgICB9IFwKKyAg
ICBWYWx1ZSomIGxhc3RDaGlsZCgpIFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVu
QXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3Qg
XAorICAgIHsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW24gLSAxXTsgXAorICAg
IH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7
IFwKKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAgICAgICAg
cmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0
b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAg
ICAgVmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAgICAgICAgcmV0
dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorCisjZGVmaW5lIEIzX1NQRUNJ
QUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVu
c2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1DaGlsZHJlbjsgfSBcCisg
ICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgp
W2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJl
dHVybiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgp
IHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtudW1DaGlsZHJlbigpIC0gMV07IH0gXAorICAgIFZh
bHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbbnVtQ2hpbGRy
ZW4oKSAtIDFdOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4o
KSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBc
CisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigpIH07IFwKKyAg
ICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBj
b25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5B
cnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigp
IH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdT
X0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3Qg
eyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7IH0gXAorICAgIFZhbHVlKiYgY2hpbGQo
dW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAg
ICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVj
dG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxk
cmVuVmVjdG9yKCkubGFzdCgpOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QgeyBy
ZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7IH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5n
ZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmVjdG9yPFZhbHVlKj4m
IHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJh
dG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAgfSBcCisgICAgV1RG
OjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QgXAorICAgIHsg
XAorICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRyZW5WZWN0b3IoKTsg
XAorICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAm
KnZlYy5lbmQoKSk7IFwKKyAgICB9IFwKKworLy8gT25seSB1c2UgdGhpcyBmb3IgY2xhc3NlcyB3
aXRoIG5vIHN1YmNsYXNzIHRoYXQgYWRkIG5ldyBmaWVsZHMgKGFzIGl0IHVzZXMgc2l6ZW9mKCp0
aGlzKSkKKy8vIEFsc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gYXBwbHlpbmcgdGhpcyB0byBjbGFz
c2VzIHdpdGggbm8gY2hpbGRyZW4sIGFzIHRoZXkgZG9uJ3QgaGF2ZSBhIGNoaWxkcmVuIGFycmF5
IHRvIGFjY2Vzcy4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9G
SVhFRF9DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmFsdWUqKiBjaGlsZHJlbkFycmF5KCkg
XAorICAgIHsgXAorICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2Vf
Y2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIFZhbHVl
KiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJu
IGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRo
aXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9CisKKy8vIE9ubHkgdXNlIHRoaXMgZm9yIGNs
YXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1c2VzIHNp
emVvZigqdGhpcykpCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
VkFSQVJHU19DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmVjdG9yPFZhbHVlKj4mIGNoaWxk
cmVuVmVjdG9yKCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxWZWN0
b3I8VmFsdWUqPio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsg
XAorICAgIH0gXAorICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpIGNv
bnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVl
Kj4gY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlz
KSk7IFwKKyAgICB9IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBF
TkFCTEUoQjNfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFs
dWVJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGluZXMuaApp
bmRleCA1N2Y5M2Q2MGEyOS4uNWMzYzQ3ZjMxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhbHVlSW5saW5lcy5oCkBAIC0yNywxOSArMjcsMTU3IEBACiAKICNpZiBFTkFCTEUoQjNf
SklUKQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNBdG9t
aWNWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ2hlY2tW
YWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdDY0
VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFsdWUuaCIKICNpbmNsdWRlICJCM0Nv
bnN0RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIz
TWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9pbnRWYWx1ZS5oIgogI2luY2x1ZGUg
IkIzUGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2luY2x1ZGUgIkIz
U2xvdEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNoVmFsdWUuaCIKKyNpbmNsdWRlICJC
M1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUuaCIKKyNpbmNsdWRlICJCM1Zhcmlh
YmxlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNzVmFsdWUuaCIKKyNpbmNsdWRlICJC
M1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0dyYXBoTm9kZVdvcmtsaXN0
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCisjZGVmaW5lIERJU1BBVENI
X09OX0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2ggKGtpbmQoKS5vcGNvZGUoKSkgeyBcCisgICAg
Y2FzZSBGcmFtZVBvaW50ZXI6IFwKKyAgICBjYXNlIE5vcDogXAorICAgIGNhc2UgUGhpOiBcCisg
ICAgY2FzZSBKdW1wOiBcCisgICAgY2FzZSBPb3BzOiBcCisgICAgY2FzZSBFbnRyeVN3aXRjaDog
XAorICAgIGNhc2UgUmV0dXJuOiBcCisgICAgY2FzZSBJZGVudGl0eTogXAorICAgIGNhc2UgT3Bh
cXVlOiBcCisgICAgY2FzZSBOZWc6IFwKKyAgICBjYXNlIENsejogXAorICAgIGNhc2UgQWJzOiBc
CisgICAgY2FzZSBDZWlsOiBcCisgICAgY2FzZSBGbG9vcjogXAorICAgIGNhc2UgU3FydDogXAor
ICAgIGNhc2UgU0V4dDg6IFwKKyAgICBjYXNlIFNFeHQxNjogXAorICAgIGNhc2UgVHJ1bmM6IFwK
KyAgICBjYXNlIFNFeHQzMjogXAorICAgIGNhc2UgWkV4dDMyOiBcCisgICAgY2FzZSBGbG9hdFRv
RG91YmxlOiBcCisgICAgY2FzZSBJVG9EOiBcCisgICAgY2FzZSBEb3VibGVUb0Zsb2F0OiBcCisg
ICAgY2FzZSBJVG9GOiBcCisgICAgY2FzZSBCaXR3aXNlQ2FzdDogXAorICAgIGNhc2UgQnJhbmNo
OiBcCisgICAgY2FzZSBEZXBlbmQ6IFwKKyAgICBjYXNlIEFkZDogXAorICAgIGNhc2UgU3ViOiBc
CisgICAgY2FzZSBNdWw6IFwKKyAgICBjYXNlIERpdjogXAorICAgIGNhc2UgVURpdjogXAorICAg
IGNhc2UgTW9kOiBcCisgICAgY2FzZSBVTW9kOiBcCisgICAgY2FzZSBCaXRBbmQ6IFwKKyAgICBj
YXNlIEJpdE9yOiBcCisgICAgY2FzZSBCaXRYb3I6IFwKKyAgICBjYXNlIFNobDogXAorICAgIGNh
c2UgU1NocjogXAorICAgIGNhc2UgWlNocjogXAorICAgIGNhc2UgUm90UjogXAorICAgIGNhc2Ug
Um90TDogXAorICAgIGNhc2UgRXF1YWw6IFwKKyAgICBjYXNlIE5vdEVxdWFsOiBcCisgICAgY2Fz
ZSBMZXNzVGhhbjogXAorICAgIGNhc2UgR3JlYXRlclRoYW46IFwKKyAgICBjYXNlIExlc3NFcXVh
bDogXAorICAgIGNhc2UgR3JlYXRlckVxdWFsOiBcCisgICAgY2FzZSBBYm92ZTogXAorICAgIGNh
c2UgQmVsb3c6IFwKKyAgICBjYXNlIEFib3ZlRXF1YWw6IFwKKyAgICBjYXNlIEJlbG93RXF1YWw6
IFwKKyAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6IFwKKyAgICBjYXNlIFNlbGVjdDogXAorICAg
ICAgICByZXR1cm4gTUFDUk8oVmFsdWUpOyBcCisgICAgY2FzZSBBcmd1bWVudFJlZzogXAorICAg
ICAgICByZXR1cm4gTUFDUk8oQXJndW1lbnRSZWdWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0MzI6
IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0MzJWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0
NjQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0NjRWYWx1ZSk7IFwKKyAgICBjYXNlIENv
bnN0RmxvYXQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0RmxvYXRWYWx1ZSk7IFwKKyAg
ICBjYXNlIENvbnN0RG91YmxlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdERvdWJsZVZh
bHVlKTsgXAorICAgIGNhc2UgRmVuY2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKEZlbmNlVmFs
dWUpOyBcCisgICAgY2FzZSBTbG90QmFzZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oU2xvdEJh
c2VWYWx1ZSk7IFwKKyAgICBjYXNlIEdldDogXAorICAgIGNhc2UgU2V0OiBcCisgICAgICAgIHJl
dHVybiBNQUNSTyhWYXJpYWJsZVZhbHVlKTsgXAorICAgIGNhc2UgTG9hZDhaOiBcCisgICAgY2Fz
ZSBMb2FkOFM6IFwKKyAgICBjYXNlIExvYWQxNlo6IFwKKyAgICBjYXNlIExvYWQxNlM6IFwKKyAg
ICBjYXNlIExvYWQ6IFwKKyAgICBjYXNlIFN0b3JlODogXAorICAgIGNhc2UgU3RvcmUxNjogXAor
ICAgIGNhc2UgU3RvcmU6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKE1lbW9yeVZhbHVlKTsgXAor
ICAgIGNhc2UgU3dpdGNoOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhTd2l0Y2hWYWx1ZSk7IFwK
KyAgICBjYXNlIFVwc2lsb246IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFVwc2lsb25WYWx1ZSk7
IFwKKyAgICBjYXNlIFdhc21BZGRyZXNzOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhXYXNtQWRk
cmVzc1ZhbHVlKTsgXAorICAgIGNhc2UgV2FzbUJvdW5kc0NoZWNrOiBcCisgICAgICAgIHJldHVy
biBNQUNSTyhXYXNtQm91bmRzQ2hlY2tWYWx1ZSk7IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBZGQ6
IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBbmQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdPcjogXAor
ICAgIGNhc2UgQXRvbWljWGNoZ1N1YjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1hvcjogXAorICAg
IGNhc2UgQXRvbWljWGNoZzogXAorICAgIGNhc2UgQXRvbWljV2Vha0NBUzogXAorICAgIGNhc2Ug
QXRvbWljU3Ryb25nQ0FTOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhBdG9taWNWYWx1ZSk7IFwK
KyAgICBjYXNlIENDYWxsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDQ2FsbFZhbHVlKTsgXAor
ICAgIGNhc2UgQ2hlY2s6IFwKKyAgICBjYXNlIENoZWNrQWRkOiBcCisgICAgY2FzZSBDaGVja1N1
YjogXAorICAgIGNhc2UgQ2hlY2tNdWw6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENoZWNrVmFs
dWUpOyBcCisgICAgY2FzZSBQYXRjaHBvaW50OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhQYXRj
aHBvaW50VmFsdWUpOyBcCisgICAgZGVmYXVsdDogXAorICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOyBcCisgICAgfQorCitBTFdBWVNfSU5MSU5FIHNpemVfdCBWYWx1ZTo6YWRq
YWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Cit7CisjZGVmaW5lIFZBTFVFX1RZUEVfU0laRShWYWx1
ZVR5cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFUQ0hfT05fS0lORChWQUxVRV9UWVBF
X1NJWkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQorCitBTFdBWVNfSU5MSU5FIFZhbHVl
KiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3sKKyNkZWZpbmUgVkFMVUVfVFlQRV9DTE9ORShW
YWx1ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRpY19jYXN0PGNvbnN0IFZhbHVlVHlw
ZSo+KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQRV9DTE9ORSk7CisjdW5k
ZWYgVkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCb3R0b21Qcm92aWRl
cj4KIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNvbnN0IEJvdHRvbVByb3ZpZGVyJiBi
b3R0b21Qcm92aWRlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhcmlhYmxlVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFibGVW
YWx1ZS5jcHAKaW5kZXggNmFlZWY0NzliY2EuLjg4N2MwYjZiNWVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcApAQCAtNDEsMjAgKzQxLDE1IEBAIHZv
aWQgVmFyaWFibGVWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fdmFyaWFi
bGUpKTsKIH0KIAotVmFsdWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG5ldyBWYXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFibGVWYWx1ZTo6
VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJs
ZSwgVmFsdWUqIHZhbHVlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwg
b3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIE9u
ZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNT
RVJUKGtpbmQgPT0gU2V0KTsKIH0KIAogVmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShLaW5k
IGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSkKLSAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIG9yaWdpbikKKyAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIFplcm8sIG9yaWdpbikKICAg
ICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtpbmQgPT0gR2V0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAppbmRleCAwNjdiYTQyYzY3
Zi4uMWVjYzdlNDQ4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
cmlhYmxlVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZh
bHVlLmgKQEAgLTQxLDEzICs0MSwxNSBAQCBwdWJsaWM6CiAKICAgICBWYXJpYWJsZSogdmFyaWFi
bGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxlOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZB
TFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9S
X0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1l
dGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIC8vIFVzZSB0
aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1ZShLaW5kLCBPcmlnaW4sIFZhcmlhYmxlKiwg
VmFsdWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRy
ZXNzVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1
ZS5jcHAKaW5kZXggNTdkNzYyODUyNTguLmJhN2M5MzczMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcApAQCAtMzksMTMgKzM5LDggQEAg
dm9pZCBXYXNtQWRkcmVzc1ZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludChjb21tYSwgbV9waW5uZWRHUFIpOwog
fQogCi1WYWx1ZSogV2FzbUFkZHJlc3NWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbmV3IFdhc21BZGRyZXNzVmFsdWUoKnRoaXMpOwotfQotCiBXYXNtQWRkcmVzc1ZhbHVl
OjpXYXNtQWRkcmVzc1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgR1BSUmVnIHBp
bm5lZEdQUikKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21BZGRyZXNzLCBJbnQ2NCwg
b3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21BZGRyZXNzLCBJ
bnQ2NCwgT25lLCBvcmlnaW4sIHZhbHVlKQogICAgICwgbV9waW5uZWRHUFIocGlubmVkR1BSKQog
ewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NW
YWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5oCmlu
ZGV4IDFhMjRjMTM3NzY5Li41OWJiMTEwMjkxZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaApAQCAtNDAsMTQgKzQwLDE3IEBAIHB1YmxpYzoKIAog
ICAgIEdQUlJlZyBwaW5uZWRHUFIoKSBjb25zdCB7IHJldHVybiBtX3Bpbm5lZEdQUjsgfQogCisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4oMSkKKyAgICBCM19TUEVD
SUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxEUkVOCisKIHByb3RlY3RlZDoK
ICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7
CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFZhbHVl
KiwgR1BSUmVnKSB7IHJldHVybiBXYXNtQWRkcmVzczsgfQogICAgIFdhc21BZGRyZXNzVmFsdWUo
T3JpZ2luLCBWYWx1ZSosIEdQUlJlZyk7CiAKICAgICBHUFJSZWcgbV9waW5uZWRHUFI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5jcHAK
aW5kZXggMTg2MjhiMmI3MGIuLjM4MzNlZjUzNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCkBAIC0zNiw3ICszNiw3IEBA
IFdhc21Cb3VuZHNDaGVja1ZhbHVlOjp+V2FzbUJvdW5kc0NoZWNrVmFsdWUoKQogfQogCiBXYXNt
Qm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwgR1BS
UmVnIHBpbm5lZFNpemUsIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCkKLSAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAgICAg
LCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6UGlubmVkKQogewpA
QCAtNDQsNyArNDQsNyBAQCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFs
dWUoT3JpZ2luIG9yaWdpbiwgR1BSUmVnIHBpbm5lZFNpemUsIFZhbAogfQogCiBXYXNtQm91bmRz
Q2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHB0
ciwgdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgbWF4aW11bSkKLSAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBWYWx1ZShDaGVja2Vk
T3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAgICAgLCBtX29mZnNl
dChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6TWF4aW11bSkKIHsKQEAgLTU1LDEx
ICs1NSw2IEBAIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmln
aW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvCiAgICAgbV9ib3VuZHMubWF4aW11bSA9
IG1heGltdW07CiB9CiAKLVZhbHVlKiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFdhc21Cb3VuZHNDaGVja1ZhbHVlKCp0aGlzKTsKLX0K
LQogdm9pZCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21t
YSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fYm91bmRzVHlwZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNr
VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVl
LmgKaW5kZXggMDZmNjYxMzMxOWUuLmI2OWQyNGU4ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgKQEAgLTM0LDE1ICszNCw3IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBjbGFzcyBXYXNtQm91bmRzQ2hlY2tW
YWx1ZSA6IHB1YmxpYyBWYWx1ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIGJvb2wgYWNjZXB0cyhL
aW5kIGtpbmQpCi0gICAgewotICAgICAgICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKLSAgICAg
ICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0K
KyAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkgeyByZXR1cm4ga2luZCA9PSBXYXNt
Qm91bmRzQ2hlY2s7IH0KICAgICAKICAgICB+V2FzbUJvdW5kc0NoZWNrVmFsdWUoKTsKIApAQCAt
NjAsMTUgKzUyLDIwIEBAIHB1YmxpYzoKICAgICBUeXBlIGJvdW5kc1R5cGUoKSBjb25zdCB7IHJl
dHVybiBtX2JvdW5kc1R5cGU7IH0KICAgICBCb3VuZHMgYm91bmRzKCkgY29uc3QgeyByZXR1cm4g
bV9ib3VuZHM7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVO
KDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJF
TgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92
ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJp
ZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0
b3IoT3JpZ2luLCBHUFJSZWcsIFZhbHVlKiwgdW5zaWduZWQpIHsgcmV0dXJuIFdhc21Cb3VuZHND
aGVjazsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9yaWdp
biwgR1BSUmVnIHBpbm5lZEdQUiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KTsKKworICAg
IHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCB1bnNp
Z25lZCwgc2l6ZV90KSB7IHJldHVybiBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRf
UFJJVkFURSBXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4sIFZhbHVlKiBwdHIsIHVuc2lnbmVk
IG9mZnNldCwgc2l6ZV90IG1heGltdW0pOwogCiAgICAgdW5zaWduZWQgbV9vZmZzZXQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCmluZGV4IDBlMzcxYmMwMTgxLi4wYzRmZTVmYTg4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKQEAgLTEwNzQyLDcgKzEwNzQyLDcgQEAg
dm9pZCB0ZXN0Q2FsbEZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKCkKICAgICBDQ2FsbFZhbHVl
KiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJbnQz
MiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9j
LCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFyZ3Vt
ZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rv
cihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFw
cGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAt
MTA3NjgsNyArMTA3NjgsNyBAQCB2b2lkIHRlc3RDYWxsRnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVu
dHMyKCkKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+
KAogICAgICAgICBwcm9jLCBJbnQ2NCwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5l
dzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihm
dW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+
Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdz
KTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBP
cmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwNzkwLDcgKzEwNzkwLDcgQEAgdm9pZCB0ZXN0Q2FsbEZ1
bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMygpCiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJvb3Qt
PmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAgcHJvYywgSW50MzIsIE9yaWdpbigpLAog
ICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIHRh
Z0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMzLCBCM0NDYWxs
UHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAg
IGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJv
bFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkBAIC0xMDg5MCw3ICsxMDg5
MCw3IEBAIHZvaWQgdGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYURvdWJsZUFyZ3VtZW50cygpCiAg
ICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAg
ICAgcHJvYywgRG91YmxlLCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0
UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9u
V2l0aEhlbGxhRG91YmxlQXJndW1lbnRzLCBCM0NDYWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNo
aWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7
CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3Jp
Z2luKCksIGNhbGwpOwogCkBAIC0xMDkxNCw3ICsxMDkxNCw3IEBAIHZvaWQgdGVzdENhbGxGdW5j
dGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzKCkKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9v
dC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBGbG9hdCwgT3JpZ2luKCks
CiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwg
dGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzLCBC
M0NDYWxsUHRyVGFnKSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3Mp
OworICAgIGNhbGwtPmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3
Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPdXRwdXQuaAppbmRleCA3YTFmYWVlYTYzMC4uYjBhMmZhOTU2OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaApAQCAtMzgwLDcgKzM4MCw3IEBAIHB1
YmxpYzoKICAgICBMVmFsdWUgY2FsbChMVHlwZSB0eXBlLCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0
IFZlY3RvclR5cGUmIHZlY3RvcikKICAgICB7CiAgICAgICAgIEIzOjpDQ2FsbFZhbHVlKiByZXN1
bHQgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkNDYWxsVmFsdWU+KG1fcHJvYywgdHlwZSwgb3Jp
Z2luKCksIGZ1bmN0aW9uKTsKLSAgICAgICAgcmVzdWx0LT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rv
cih2ZWN0b3IpOworICAgICAgICByZXN1bHQtPmFwcGVuZEFyZ3ModmVjdG9yKTsKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgTFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVl
IGZ1bmN0aW9uKSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkNDYWxsVmFsdWU+KG1f
cHJvYywgdHlwZSwgb3JpZ2luKCksIGZ1bmN0aW9uKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365887</attachid>
            <date>2019-03-25 13:00:13 -0700</date>
            <delta_ts>2019-03-25 17:51:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch196091</filename>
            <type>text/plain</type>
            <size>77910</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDM0NDYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBGRUM4NTQwMUJEQUNE
QUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVXNlQ291bnRz
LmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGODFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0NDFCREFDREFDMDA4
MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCAqLzsgfTsKLQkJ
MEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFDREFDMDA4MEZG
NzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRBQ0RBQzAwODBGRjc0
IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmggKi87IH07CiAJ
CTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNrQnlHcmFwaENvbG9y
aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3JhcGhDb2xvcmluZy5o
ICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0QjFCREFDREM3MDA4
MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAKIAkJMkFEODkzMkIx
N0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4RjAwNjY4Mjc2IC8q
IEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJCRjkyMDA4QTVBMzcg
LyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRDM0
MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUxQjI2OUE2NzEgLyog
U291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNFNzhERjIyMjQ1NjYw
ODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93
ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnou
ZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjExMEY3RDIwMDc2MThF
QyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0MiAvKiBERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdEOTAwNzYxOEVDIC8q
IERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCAqLzsg
fTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUx
M0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJNTM0MUZDNzIxREFD
MzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0M0MwMEU3RTRENyAv
KiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcxMUU3MENGM0QwMEYx
MkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTM0
NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3NDFFNzBEREVDMDBG
MTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYzNCw3ICs4NjM0LDYgQEAKIAkJCQkwRkVDODU0
MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1ZUtleS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFsdWVLZXlJbmxp
bmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4MEZGNzQgLyogQjNW
YWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTg5LDYgKzkxODgsNyBAQAogCQkJCUE1OTND
RjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIxODlCMTkxQTAwNjMz
MjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzNFNzhE
RjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVu
dmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3OUVCMDBDQzM4NDMg
LyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAgLTEwNjI5LDcg
KzEwNjI5LDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyogREZHU3BlY3VsYXRp
dmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdEMjAwNzYxOEVDIC8q
IERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREQy
MTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyogTG93TGV2ZWxJbnRl
cnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYg
LyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVCRThCMDA0Q0I5RkYg
LyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc2Myw2ICsxMDc2Miw3IEBA
CiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMTkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNFNzhERjIyMjQ1NjYw
ODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZC
MzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzksMTEgKzM5LDYgQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcmVnKTsKIH0KIAot
VmFsdWUqIEFyZ3VtZW50UmVnVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBBcmd1bWVudFJlZ1ZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MCwxNiArNDAsMTkgQEAKIAogICAgIFJlZyBhcmd1bWVudFJlZygpIGNvbnN0IHsgcmV0
dXJuIG1fcmVnOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgor
CiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVh
bSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJy
aWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5k
IGNsYXNzIFZhbHVlOworICAgIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVj
dG9yKE9yaWdpbiwgUmVnKSB7IHJldHVybiBBcmd1bWVudFJlZzsgfQogCiAgICAgQXJndW1lbnRS
ZWdWYWx1ZShPcmlnaW4gb3JpZ2luLCBSZWcgcmVnKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkgOiBEb3VibGUs
IG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBBcmd1bWVudFJlZywgcmVn
LmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91YmxlLCBaZXJvLCBvcmlnaW4pCiAgICAgICAg
ICwgbV9yZWcocmVnKQogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZy5pc1NldCgpKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAJKHJldmlzaW9uIDI0
MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDggQEAKICAgICBNZW1vcnlWYWx1ZTo6ZHVtcE1ldGEo
Y29tbWEsIG91dCk7CiB9CiAKLVZhbHVlKiBBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbmV3IEF0b21pY1ZhbHVlKCp0aGlzKTsKLX0KLQogQXRvbWljVmFsdWU6
OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBraW5kLCBPcmln
aW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIG9wZXJhbmQsIFZhbHVlKiBwb2ludGVyLCBN
ZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdl
IGZlbmNlUmFuZ2UpCi0gICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBvcGVy
YW5kLT50eXBlKCksIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgb3BlcmFuZCwg
cG9pbnRlcikKKyAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG9wZXJhbmQt
PnR5cGUoKSwgVHdvLCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIG9wZXJhbmQs
IHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChiZXN0VHlwZShH
UCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKQEAgLTY2LDcgKzYxLDcgQEAKIH0K
IAogQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZUNBUywg
S2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIGV4cGVjdGVkVmFs
dWUsIFZhbHVlKiBuZXdWYWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRU
eXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6
IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIGtpbmQub3Bjb2RlKCkgPT0gQXRvbWlj
V2Vha0NBUyA/IEludDMyIDogZXhwZWN0ZWRWYWx1ZS0+dHlwZSgpLCBvcmlnaW4sIG9mZnNldCwg
cmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1ZhbHVlLCBwb2ludGVyKQorICAg
IDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5vcGNvZGUoKSA9PSBBdG9t
aWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCksIFRocmVlLCBvcmlnaW4s
IG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1ZhbHVlLCBwb2lu
dGVyKQogICAgICwgbV93aWR0aCh3aWR0aCkKIHsKICAgICBBU1NFUlQoYmVzdFR5cGUoR1AsIGFj
Y2Vzc1dpZHRoKCkpID09IGFjY2Vzc1R5cGUoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNBdG9taWNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE0ICs0NCwx
NSBAQAogICAgIFR5cGUgYWNjZXNzVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkKDApLT50eXBl
KCk7IH0KICAgICAKICAgICBXaWR0aCBhY2Nlc3NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lk
dGg7IH0KKworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJ
TERSRU4KICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYs
IFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCi0gICAgVmFsdWUqIGNsb25lSW1w
bCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQ
cm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgZW51bSBBdG9taWNWYWx1
ZVJNVyB7IEF0b21pY1ZhbHVlUk1XVGFnIH07CiAgICAgZW51bSBBdG9taWNWYWx1ZUNBUyB7IEF0
b21pY1ZhbHVlQ0FTVGFnIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNp
Y0Jsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNC
bG9jay5oCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNC
YXNpY0Jsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDggKzg0LDYgQEAKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFZhbHVl
VHlwZSogYXBwZW5kTmV3KFByb2NlZHVyZSYsIEFyZ3VtZW50cy4uLik7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgVmFsdWVUeXBl
KiBhcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4pOwogCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFwcGVuZEludENvbnN0YW50KFByb2NlZHVyZSYsIE9y
aWdpbiwgVHlwZSwgaW50NjRfdCB2YWx1ZSk7CiAgICAgVmFsdWUqIGFwcGVuZEludENvbnN0YW50
KFByb2NlZHVyZSYsIFZhbHVlKiBsaWtlVmFsdWUsIGludDY0X3QgdmFsdWUpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5oCShyZXZpc2lv
biAyNDM0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrSW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNCArNDIsNiBAQAogfQogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLVZhbHVlVHlwZSogQmFzaWNC
bG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEFyZ3VtZW50
cy4uLiBhcmd1bWVudHMpCi17Ci0gICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9jZWR1cmUuYWRk
PFZhbHVlVHlwZT4oYXJndW1lbnRzLi4uKTsKLSAgICBhcHBlbmROb25UZXJtaW5hbChyZXN1bHQp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwg
dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogVmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjpyZXBsYWNlTGFz
dFdpdGhOZXcoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiB7
CiAgICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9jZWR1cmUuYWRkPFZhbHVlVHlwZT4oYXJndW1l
bnRzLi4uKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuY3Bw
CShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOSBAQAogewogfQogCi1WYWx1ZSog
Q0NhbGxWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3ZvaWQgQ0NhbGxWYWx1ZTo6YXBwZW5kQXJn
cyhjb25zdCBWZWN0b3I8VmFsdWUqPiYgYXJncykKIHsKLSAgICByZXR1cm4gbmV3IENDYWxsVmFs
dWUoKnRoaXMpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOwogfQog
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NDYWxsVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDQ2FsbFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NDYWxsVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTcgKzM4LDIzIEBACiAK
ICAgICB+Q0NhbGxWYWx1ZSgpOwogCisgICAgdm9pZCBhcHBlbmRBcmdzKGNvbnN0IFZlY3RvcjxW
YWx1ZSo+Jik7CisgICAgCiAgICAgRWZmZWN0cyBlZmZlY3RzOwogCi1wcm90ZWN0ZWQ6Ci0gICAg
VmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorICAgIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU4KKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihBcmd1bWVudHMuLi4pIHsgcmV0dXJuIENDYWxsOyB9CisKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZS4uLiBBcmd1bWVudHM+CiAgICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmln
aW4sIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0YXRpY19jYXN0PFZh
bHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKEVmZmVjdHM6OmZvckNhbGwo
KSkKICAgICB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkgPj0gMSk7CkBA
IC01Niw3ICs2Miw3IEBACiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAg
ICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEVmZmVjdHMmIGVm
ZmVjdHMsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9w
Y29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0YXRpY19jYXN0
PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKGVmZmVjdHMpCiAgICAg
ewogICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1DaGlsZHJlbigpID49IDEpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ0NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MCwxMSArNDAsNiBAQAogICAgIG1fa2luZCA9IENoZWNrQWRkOwogfQogCi1WYWx1
ZSogQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IENoZWNr
VmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0FkZCwgQ2hlY2tT
dWIsIGFuZCBDaGVja011bC4KIENoZWNrVmFsdWU6OkNoZWNrVmFsdWUoS2luZCBraW5kLCBPcmln
aW4gb3JpZ2luLCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KQogICAgIDogU3RhY2ttYXBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBsZWZ0LT50eXBlKCksIG9yaWdpbikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAt
NTAsMTEgKzUwLDExIEBACiAKICAgICB2b2lkIGNvbnZlcnRUb0FkZCgpOwogCi1wcm90ZWN0ZWQ6
Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgogICAgIAogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAog
ICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrQWRkLCBDaGVja1N1YiwgYW5kIENoZWNrTXVs
LgogICAgIEpTX0VYUE9SVF9QUklWQVRFIENoZWNrVmFsdWUoS2luZCwgT3JpZ2luLCBWYWx1ZSog
bGVmdCwgVmFsdWUqIHJpZ2h0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nv
bnN0MzJWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3QzMlZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAzLDExICszMDMs
NiBAQAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBDb25zdDMy
VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdDMyVmFsdWUo
KnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJM
RShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUu
aAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Qz
MlZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAgIFRyaVN0YXRl
IGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0
IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KKwog
cHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAgc3RhdGlj
IE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGludDMyX3Qg
PSAwKSB7IHJldHVybiBDb25zdDMyOyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwot
CiAgICAgQ29uc3QzMlZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDMyX3QgdmFsdWUpCi0gICAgICAg
IDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwgSW50MzIsIG9yaWdpbikKKyAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwgWmVybywgb3JpZ2luKQogICAg
ICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToKKyAgICBmcmll
bmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKwogICAgIGludDMy
X3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0
NjRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3Q2NFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAzLDExICszMDMsNiBA
QAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBDb25zdDY0VmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdDY0VmFsdWUoKnRo
aXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShC
M19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuaAko
cmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAgIFRyaVN0YXRlIGFi
b3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogICAg
IFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92
ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KKwogcHJv
dGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBj
b25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsK
KyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAgc3RhdGljIE9w
Y29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGludDY0X3QgPSAw
KSB7IHJldHVybiBDb25zdDY0OyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwotCiAg
ICAgQ29uc3Q2NFZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDY0X3QgdmFsdWUpCi0gICAgICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIG9yaWdpbikKKyAgICAgICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgWmVybywgb3JpZ2luKQogICAgICAg
ICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KLSAgICAKKwogcHJpdmF0ZToKKyAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKwogICAgIGlu
dDY0X3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nv
bnN0RG91YmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk3LDExICsxOTcsNiBAQAogICAgIG91dC5wcmludGYoIiVsZSIsIG1fdmFsdWUpOwogfQogCi1W
YWx1ZSogQ29uc3REb3VibGVWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IENvbnN0RG91YmxlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDE2ICs2NCwxOCBAQAogICAgIFRyaVN0YXRlIGdyZWF0ZXJFcXVhbENvbnN0YW50KGNv
bnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgZXF1YWxPclVu
b3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKLXBy
b3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4K
IAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgZG91
YmxlKSB7IHJldHVybiBDb25zdERvdWJsZTsgfQorCiAgICAgQ29uc3REb3VibGVWYWx1ZShPcmln
aW4gb3JpZ2luLCBkb3VibGUgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q29uc3REb3VibGUsIERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNv
ZGUsIENvbnN0RG91YmxlLCBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVl
KHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjND
b25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4
OSwxMSArMTg5LDYgQEAKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFs
dWUqIENvbnN0RmxvYXRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IENvbnN0RmxvYXRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwog
CiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0RmxvYXRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjMs
MTYgKzYzLDE4IEBACiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFsQ29uc3RhbnQoY29uc3QgVmFs
dWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBlcXVhbE9yVW5vcmRlcmVk
Q29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAotcHJvdGVjdGVk
OgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBv
dmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgogCi0gICAg
VmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgdm9pZCBk
dW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworCisg
ICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBmbG9hdCkgeyBy
ZXR1cm4gQ29uc3RGbG9hdDsgfQorCiAgICAgQ29uc3RGbG9hdFZhbHVlKE9yaWdpbiBvcmlnaW4s
IGZsb2F0IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0RmxvYXQs
IEZsb2F0LCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3RGbG9h
dCwgRmxvYXQsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsK
ICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0clZhbHVlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5o
CShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0
clZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDEzICs1MSwxOCBAQAogCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25z
dHJ1Y3RvcihPcmlnaW4sIFQqKSB7IHJldHVybiBDb25zdFB0clZhbHVlQmFzZTo6b3Bjb2RlRnJv
bUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIENvbnN0UHRy
VmFsdWUoT3JpZ2luIG9yaWdpbiwgVCogcG9pbnRlcikKICAgICAgICAgOiBDb25zdFB0clZhbHVl
QmFzZShvcmlnaW4sIGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikpCiAgICAgewogICAg
IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJv
bUNvbnN0cnVjdG9yKE9yaWdpbiwgVCkgeyByZXR1cm4gQ29uc3RQdHJWYWx1ZUJhc2U6Om9wY29k
ZUZyb21Db25zdHJ1Y3RvcigpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBDb25z
dFB0clZhbHVlKE9yaWdpbiBvcmlnaW4sIFQgcG9pbnRlcikKICAgICAgICAgOiBDb25zdFB0clZh
bHVlQmFzZShvcmlnaW4sIHN0YXRpY19jYXN0PGludHB0cl90Pihwb2ludGVyKSkKICAgICB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAkocmV2aXNpb24g
MjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDEzICszNCw4IEBACiB7CiB9CiAKLVZhbHVlKiBGZW5jZVZhbHVl
OjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgRmVuY2VWYWx1ZSgqdGhpcyk7
Ci19Ci0KIEZlbmNlVmFsdWU6OkZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVhcFJhbmdlIHJl
YWQsIEhlYXBSYW5nZSB3cml0ZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIEZlbmNlLCBW
b2lkLCBvcmlnaW4pCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwgVm9pZCwgWmVy
bywgb3JpZ2luKQogICAgICwgcmVhZChyZWFkKQogICAgICwgd3JpdGUod3JpdGUpCiB7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NDYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTcyLDE0ICs3MiwxNCBAQAogICAgIEhlYXBSYW5nZSByZWFkIHsgSGVhcFJhbmdlOjp0
b3AoKSB9OwogICAgIEhlYXBSYW5nZSB3cml0ZSB7IEhlYXBSYW5nZTo6dG9wKCkgfTsKIAotcHJv
dGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19T
UEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgogCiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogICAgIAorICAgIHN0YXRp
YyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgSGVhcFJhbmdlID0gSGVhcFJh
bmdlKCksIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpKSB7IHJldHVybiBGZW5jZTsgfQogICAgIEZl
bmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVhcFJhbmdlIHJlYWQsIEhlYXBSYW5nZSB3cml0ZSk7
Ci0gICAgCiAgICAgRmVuY2VWYWx1ZShPcmlnaW4gb3JpZ2luKTsKIH07CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ0NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzMsMTUgKzczLDEwIEBACiAgICAgICAgIG91dC5wcmludChjb21tYSwgImZlbmNl
UmFuZ2UgPSAiLCBmZW5jZVJhbmdlKCkpOwogfQogCi1WYWx1ZSogTWVtb3J5VmFsdWU6OmNsb25l
SW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBNZW1vcnlWYWx1ZSgqdGhpcyk7Ci19Ci0K
IC8vIFVzZSB0aGlzIGZvcm0gZm9yIExvYWQgKGJ1dCBub3QgTG9hZDhaLCBMb2FkOFMsIG9yIGFu
eSBvZiB0aGUgTG9hZHMgdGhhdCBoYXZlIGEgc3VmZml4IHRoYXQKIC8vIGRlc2NyaWJlcyB0aGUg
cmV0dXJuZWQgdHlwZSkuCiBNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1l
bW9yeVZhbHVlTG9hZCwgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5n
ZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5k
LCB0eXBlLCBvcmlnaW4sIHBvaW50ZXIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5k
LCB0eXBlLCBPbmUsIG9yaWdpbiwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAg
ICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKQEAgLTEy
Niw3ICsxMjEsNyBAQAogCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBzdG9yZXMuCiBNZW1vcnlWYWx1
ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlU3RvcmUsIEtpbmQga2luZCwg
T3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVtb3J5VmFsdWU6
Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdl
KQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgb3JpZ2luLCB2YWx1ZSwg
cG9pbnRlcikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIFR3bywgb3Jp
Z2luLCB2YWx1ZSwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fcmFu
Z2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAt
ODQsMTQgKzg0LDE0IEBACiAKICAgICBib29sIGlzQ2Fub25pY2FsV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBCMzo6aXNDYW5vbmljYWxXaWR0aChhY2Nlc3NXaWR0aCgpKTsgfQogCisgICAgQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKLQotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQorICAgIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEludCwgdHlwZW5hbWUgPSBJc0xlZ2FsT2Zmc2V0PEludD4sIHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBL
aW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgSW50IG9mZnNldCwgSGVhcFJhbmdl
IHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAg
ICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50
cy4uLikKKyAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIEludCBvZmZzZXQs
IEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UsIEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgbnVtQ2hp
bGRyZW4sIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgICAg
ICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAgICAgLCBtX3JhbmdlKHJhbmdlKQogICAgICAgICAs
IG1fZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpAQCAtMTAwLDYgKzEwMCw3IEBACiAgICAgCiBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVl
OwogCiAgICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQzMl90IG9mZnNldCkgY29uc3Q7CiAg
ICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQ2NF90IG9mZnNldCkgY29uc3Q7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAkocmV2aXNpb24g
MjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAKICAgICAgICAgICAgIFsmXSAoY29uc3Qg
VmFsdWVLZXkmIGtleSkgLT4gYm9vbCB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGtleS5vcGNv
ZGUoKSA9PSBDb25zdEZsb2F0IHx8IGtleS5vcGNvZGUoKSA9PSBDb25zdERvdWJsZTsKICAgICAg
ICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICBsb3dlckZQQ29uc3RhbnRzKCk7CiAgICAg
ICAgIAogICAgICAgICBob2lzdENvbnN0YW50cygKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMTEgKzQ0LDYgQEAKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAibnVtRlBTY3Jh
dGNoUmVnaXN0ZXJzID0gIiwgbnVtRlBTY3JhdGNoUmVnaXN0ZXJzKTsKIH0KIAotVmFsdWUqIFBh
dGNocG9pbnRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFBhdGNo
cG9pbnRWYWx1ZSgqdGhpcyk7Ci19Ci0KIFBhdGNocG9pbnRWYWx1ZTo6UGF0Y2hwb2ludFZhbHVl
KFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKICAgICA6IEJhc2UoQ2hlY2tlZE9wY29kZSwgUGF0
Y2hwb2ludCwgdHlwZSwgb3JpZ2luKQogICAgICwgZWZmZWN0cyhFZmZlY3RzOjpmb3JDYWxsKCkp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAko
cmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2lu
dFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNiBAQAogICAgIHVpbnQ4X3Qg
bnVtR1BTY3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogICAgIHVpbnQ4X3QgbnVtRlBTY3JhdGNoUmVn
aXN0ZXJzIHsgMCB9OwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9W
QVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJp
bnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJ
bXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2Nl
ZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29k
ZUZyb21Db25zdHJ1Y3RvcihUeXBlLCBPcmlnaW4pIHsgcmV0dXJuIFBhdGNocG9pbnQ7IH0KICAg
ICBKU19FWFBPUlRfUFJJVkFURSBQYXRjaHBvaW50VmFsdWUoVHlwZSwgT3JpZ2luKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAkocmV2aXNpb24g
MjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTMsNyArOTMsNiBAQAogICAgIHJldHVybiBtX3ZhbHVlcy5hZGQoV1RG
TW92ZShjbG9uZSkpOwogfQogCi0KIFZhbHVlKiBQcm9jZWR1cmU6OmFkZEludENvbnN0YW50KE9y
aWdpbiBvcmlnaW4sIFR5cGUgdHlwZSwgaW50NjRfdCB2YWx1ZSkKIHsKICAgICBzd2l0Y2ggKHR5
cGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCShyZXZpc2lv
biAyNDM0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMjkyLDcgKzI5Miw3IEBACiAgICAgYm9vbCBtX25lZWRzVXNlZFJlZ2lz
dGVycyB7IHRydWUgfTsKICAgICBib29sIG1faGFzUXVpcmtzIHsgZmFsc2UgfTsKIH07Ci0KKyAg
ICAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZUlubGluZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgJ
KHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTMgKzI5LDE0IEBACiAKICNpbmNsdWRl
ICJCM0Jhc2ljQmxvY2suaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2luY2x1ZGUgIkIz
VmFsdWUuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7Ci0KKyAgICAKIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogVmFsdWVUeXBl
KiBQcm9jZWR1cmU6OmFkZChBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogewotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwobmV3IFZhbHVlVHlwZShhcmd1bWVu
dHMuLi4pKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlVHlwZSo+KGFkZFZhbHVlSW1w
bChWYWx1ZTo6YWxsb2NhdGU8VmFsdWVUeXBlPihhcmd1bWVudHMuLi4pKSk7CiB9CiAKIH0gfSAv
LyBuYW1lc3BhY2UgSlNDOjpCMwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xv
dEJhc2VWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
U2xvdEJhc2VWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMSArNDEs
NiBAQAogICAgIG91dC5wcmludChjb21tYSwgcG9pbnRlckR1bXAobV9zbG90KSk7CiB9CiAKLVZh
bHVlKiBTbG90QmFzZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcg
U2xvdEJhc2VWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAj
ZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Nsb3RCYXNlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNTbG90QmFzZVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTYgKzQxLDE3
IEBACiAKICAgICBTdGFja1Nsb3QqIHNsb3QoKSBjb25zdCB7IHJldHVybiBtX3Nsb3Q7IH0KIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJF
TgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisg
ICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJy
aWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBT
dGFja1Nsb3QqKSB7IHJldHVybiBTbG90QmFzZTsgfQogICAgIFNsb3RCYXNlVmFsdWUoT3JpZ2lu
IG9yaWdpbiwgU3RhY2tTbG90KiBzbG90KQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgU2xvdEJhc2UsIHBvaW50ZXJUeXBlKCksIFplcm8sIG9yaWdpbikKICAgICAgICAg
LCBtX3Nsb3Qoc2xvdCkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MywxMSArODMsMTEgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5lIHRoaW5ncyBo
YXZlIG5vdCBoYXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+PSBudW1JZ25v
cmVkQWlyQXJncyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSA+PSBudW1J
Z25vcmVkQjNBcmdzKTsKLSAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51bUlnbm9yZWRB
aXJBcmdzID49IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9yZWRCM0FyZ3MpOwor
ICAgIEFTU0VSVCh2YWx1ZS0+bnVtQ2hpbGRyZW4oKSA+PSBudW1JZ25vcmVkQjNBcmdzKTsKKyAg
ICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51bUlnbm9yZWRBaXJBcmdzID49IHZhbHVlLT5u
dW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncyk7CiAgICAgQVNTRVJUKGluc3QuYXJnc1sw
XS5raW5kKCkgPT0gQXJnOjpLaW5kOjpTcGVjaWFsKTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kp
IHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBu
dW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKICAgICAgICAgQXJnJiBhcmcgPSBpbnN0LmFyZ3NbaSAr
IG51bUlnbm9yZWRBaXJBcmdzXTsKICAgICAgICAgQ29uc3RyYWluZWRWYWx1ZSBjaGlsZCA9IHZh
bHVlLT5jb25zdHJhaW5lZENoaWxkKGkgKyBudW1JZ25vcmVkQjNBcmdzKTsKIApAQCAtMTYwLDE2
ICsxNjAsMTYgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5lIHRoaW5ncyBoYXZlIG5vdCBo
YXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+PSBudW1JZ25vcmVkQWlyQXJn
cyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSA+PSBudW1JZ25vcmVkQjNB
cmdzKTsKKyAgICBBU1NFUlQodmFsdWUtPm51bUNoaWxkcmVuKCkgPj0gbnVtSWdub3JlZEIzQXJn
cyk7CiAKICAgICAvLyBGb3IgdGhlIEluc3QgdG8gYmUgdmFsaWQsIGl0IG5lZWRzIHRvIGhhdmUg
dGhlIHJpZ2h0IG51bWJlciBvZiBhcmd1bWVudHMuCi0gICAgaWYgKGluc3QuYXJncy5zaXplKCkg
LSBudW1JZ25vcmVkQWlyQXJncyA8IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9y
ZWRCM0FyZ3MpCisgICAgaWYgKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA8
IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncykKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgLy8gUmVnYXJkbGVzcyBvZiBjb25zdHJhaW50cywgc3RhY2ttYXBzIGhh
dmUgc29tZSBiYXNpYyByZXF1aXJlbWVudHMgZm9yIHRoZWlyIGFyZ3VtZW50cy4gRm9yCiAgICAg
Ly8gZXhhbXBsZSwgeW91IGNhbid0IGhhdmUgYSBub24tRlAtb2Zmc2V0IGFkZHJlc3MuIFRoaXMg
dmVyaWZpZXMgdGhvc2UgY29uZGl0aW9ucyBhcyB3ZWxsIGFzIHRoZQogICAgIC8vIGFyZ3VtZW50
IHR5cGVzLgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5z
aXplKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKICAg
ICAgICAgVmFsdWUqIGNoaWxkID0gdmFsdWUtPmNoaWxkKGkgKyBudW1JZ25vcmVkQjNBcmdzKTsK
ICAgICAgICAgQXJnJiBhcmcgPSBpbnN0LmFyZ3NbaSArIG51bUlnbm9yZWRBaXJBcmdzXTsKIApA
QCAtMTc4LDcgKzE3OCw3IEBACiAgICAgfQogCiAgICAgLy8gVGhlIG51bWJlciBvZiBjb25zdHJh
aW50cyBoYXMgdG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgQjMgY2hpbGRyZW4u
Ci0gICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5jaGlsZHJlbigpLnNp
emUoKSk7CisgICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5udW1DaGls
ZHJlbigpKTsKIAogICAgIC8vIFZlcmlmeSBhbnkgZXhwbGljaXRseSBzdXBwbGllZCBjb25zdHJh
aW50cy4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBudW1JZ25vcmVkQjNBcmdzOyBpIDwgdmFsdWUt
Pm1fcmVwcy5zaXplKCk7ICsraSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
U3RhY2ttYXBWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzU3RhY2ttYXBWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICsz
Nyw3IEBACiB2b2lkIFN0YWNrbWFwVmFsdWU6OmFwcGVuZChWYWx1ZSogdmFsdWUsIGNvbnN0IFZh
bHVlUmVwJiByZXApCiB7CiAgICAgaWYgKHJlcCA9PSBWYWx1ZVJlcDo6Q29sZEFueSkgewotICAg
ICAgICBjaGlsZHJlbigpLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgIGNoaWxkcmVuVmVjdG9yKCku
YXBwZW5kKHZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDQsNyArNDQsNyBA
QAogICAgIHdoaWxlIChtX3JlcHMuc2l6ZSgpIDwgbnVtQ2hpbGRyZW4oKSkKICAgICAgICAgbV9y
ZXBzLmFwcGVuZChWYWx1ZVJlcDo6Q29sZEFueSk7CiAKLSAgICBjaGlsZHJlbigpLmFwcGVuZCh2
YWx1ZSk7CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmQodmFsdWUpOwogICAgIG1fcmVwcy5h
cHBlbmQocmVwKTsKIH0KIApAQCAtODksNyArODksNyBAQAogfQogCiBTdGFja21hcFZhbHVlOjpT
dGFja21hcFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmln
aW4gb3JpZ2luKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2lu
KQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgVmFyQXJncywgb3JpZ2lu
KQogewogICAgIEFTU0VSVChhY2NlcHRzKGtpbmQpKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAt
NjAsOCArNjAsNyBAQAogCiAgICAgflN0YWNrbWFwVmFsdWUoKTsKIAotICAgIC8vIFVzZSB0aGlz
IHRvIGFkZCBjaGlsZHJlbi4gTm90ZSB0aGF0IHlvdSBjb3VsZCBhbHNvIGFkZCBjaGlsZHJlbiBi
eSBkb2luZwotICAgIC8vIGNoaWxkcmVuKCkuYXBwZW5kKCkuIFRoYXQgd2lsbCB3b3JrIGZpbmUs
IGJ1dCBpdCdzIG5vdCByZWNvbW1lbmRlZC4KKyAgICAvLyBVc2UgdGhpcyB0byBhZGQgY2hpbGRy
ZW4uCiAgICAgdm9pZCBhcHBlbmQoY29uc3QgQ29uc3RyYWluZWRWYWx1ZSYgdmFsdWUpCiAgICAg
ewogICAgICAgICBhcHBlbmQodmFsdWUudmFsdWUoKSwgdmFsdWUucmVwKCkpOwpAQCAtMjg1LDYg
KzI4NCw4IEBACiAgICAgICAgIHJldHVybiBDb25zdHJhaW5lZFZhbHVlQ29sbGVjdGlvbigqdGhp
cyk7CiAgICAgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJHU19DSElMRFJF
TgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wQ2hpbGRyZW4oQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRl
ciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NDYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
NiwxMyArMTA2LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsICJjYXNlcyA9IFsiLCBsaXN0RHVt
cChtX3ZhbHVlcyksICJdIik7CiB9CiAKLVZhbHVlKiBTd2l0Y2hWYWx1ZTo6Y2xvbmVJbXBsKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFN3aXRjaFZhbHVlKCp0aGlzKTsKLX0KLQogU3dpdGNo
VmFsdWU6OlN3aXRjaFZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBjaGlsZCkKLSAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgb3JpZ2luLCBjaGlsZCkKKyAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgT25lLCBvcmlnaW4sIGNoaWxkKQogewog
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmgJKHJldmlz
aW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTY0LDE0ICs2NCwxNyBAQAogCiAgICAgdm9pZCBkdW1wU3VjY2Vz
c29ycyhjb25zdCBCYXNpY0Jsb2NrKiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAor
ICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6
CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92
ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVl
OwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1
ZSopIHsgcmV0dXJuIFN3aXRjaDsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN3aXRjaFZhbHVl
KE9yaWdpbiwgVmFsdWUqIGNoaWxkKTsKIAogICAgIFZlY3RvcjxpbnQ2NF90PiBtX3ZhbHVlczsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmNwcAkocmV2
aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICAgICB9CiB9CiAKLVZhbHVl
KiBVcHNpbG9uVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBVcHNp
bG9uVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlm
IC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNp
bG9uVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNp
bG9uVmFsdWUuaAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVXBzaWxvblZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDE5ICs0NSwyMiBAQAogICAg
ICAgICBtX3BoaSA9IHBoaTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9G
SVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
RklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmlu
dGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUlt
cGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2Rl
RnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBWYWx1ZSogPSBudWxscHRyKSB7IHJldHVy
biBVcHNpbG9uOyB9CiAgICAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgdGhlIFBoaSBkdXJpbmcgY29u
c3RydWN0aW9uIGlzIG9wdGlvbmFsLiBBIHZhbGlkIHBhdHRlcm4gaXMgdG8gZmlyc3QgY3JlYXRl
CiAgICAgLy8gdGhlIFVwc2lsb25zIHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVhdGUgdGhlIFBo
aSwgdGhlbiBnbyBiYWNrIGFuZCB0ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAgIC8vIHRoZSBQ
aGkuIFRoaXMgYWxsb3dzIHlvdSB0byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwgb3JkZXIuCiAg
ICAgVXBzaWxvblZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBoaSA9
IG51bGxwdHIpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxvbiwgVm9pZCwg
b3JpZ2luLCB2YWx1ZSkKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBVcHNpbG9uLCBW
b2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQogICAgIHsKICAg
ICAgICAgaWYgKHBoaSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHJl
dmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDcsMTMgKzQ3LDIzIEBACiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJp
bnRlci5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0RHVtcC5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQ
cmludFN0cmVhbS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBCMyB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFZhbHVlOjpkdW1wUHJlZml4ID0g
IkAiOwordm9pZCBEZWVwVmFsdWVEdW1wOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7
CisgICAgaWYgKG1fdmFsdWUpCisgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1fcHJvYywgb3V0
KTsKKyAgICBlbHNlCisgICAgICAgIG91dC5wcmludCgiPG51bGw+Iik7Cit9CiAKIFZhbHVlOjp+
VmFsdWUoKQogeworICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisgICAgICAgIGNo
aWxkcmVuQWxsb2MoKS0+flZlY3RvcjxWYWx1ZSo+KCk7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxh
Y2VXaXRoSWRlbnRpdHkoVmFsdWUqIHZhbHVlKQpAQCAtNjIsMjYgKzcyLDEyIEBACiAgICAgLy8g
YSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmlyc3QgY29sbGVjdCBhbGwgb2YgdGhlIGluZm9y
bWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1Y3QgdGhlCiAgICAgLy8gcHJldmlvdXMgdmFs
dWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0cnVjdCB0aGUgSWRlbnRpdHkgVmFsdWUgaW4g
cGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5cGUpOworICAgIFJFTEVB
U0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKIAotICAgIGlmIChtX3R5cGUgPT0g
Vm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFjZVdpdGhOb3BJ
Z25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2lnbmVkIGlu
ZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3JpZ2luIG9yaWdp
biA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAg
ICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAgdGhpcy0+flZh
bHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBvcmlnaW4sIHZh
bHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGlu
ZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1fdHlwZSwgdGhp
cy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhCb3R0b20oSW5z
ZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk3LDE2ICs5Myw3IEBA
CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKCkKIHsKLSAgICB1bnNp
Z25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAg
IEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICB0aGlzLT5+VmFsdWUoKTsK
LQotICAgIG5ldyAodGhpcykgVmFsdWUoTm9wLCBWb2lkLCBvcmlnaW4pOwotCi0gICAgdGhpcy0+
b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAgcmVwbGFjZVdp
dGgoTm9wLCBWb2lkLCB0aGlzLT5vd25lcik7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRo
UGhpKCkKQEAgLTExNSwzNCArMTAyLDE0IEBACiAgICAgICAgIHJlcGxhY2VXaXRoTm9wKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4
OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2NrKiBvd25lciA9
IHRoaXMtPm93bmVyOwotICAgIFR5cGUgdHlwZSA9IG1fdHlwZTsKIAotICAgIHRoaXMtPn5WYWx1
ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShQaGksIHR5cGUsIG9yaWdpbik7Ci0KLSAgICB0
aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICByZXBs
YWNlV2l0aChQaGksIG1fdHlwZSwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZhbHVlOjpyZXBs
YWNlV2l0aEp1bXAoQmFzaWNCbG9jayogb3duZXIsIEZyZXF1ZW50ZWRCbG9jayB0YXJnZXQpCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQob3duZXItPmxhc3QoKSA9PSB0aGlzKTsKLSAgICAKLSAgICB1
bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2luOwot
ICAgIAotICAgIHRoaXMtPn5WYWx1ZSgpOwotICAgIAotICAgIG5ldyAodGhpcykgVmFsdWUoSnVt
cCwgVm9pZCwgb3JpZ2luKTsKLSAgICAKLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRo
aXMtPm1faW5kZXggPSBpbmRleDsKLSAgICAKKyAgICByZXBsYWNlV2l0aChKdW1wLCBWb2lkLCB0
aGlzLT5vd25lcik7CiAgICAgb3duZXItPnNldFN1Y2Nlc3NvcnModGFyZ2V0KTsKIH0KIApAQCAt
MTQ5LDE3ICsxMTYsNyBAQAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKEJhc2ljQmxvY2sq
IG93bmVyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0gdGhpcyk7Ci0g
ICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBt
X29yaWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBuZXcgKHRoaXMp
IFZhbHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3duZXIgPSBvd25l
cjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFjZVdpdGgoT29w
cywgVm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5jbGVhclN1Y2Nlc3NvcnMoKTsKIH0K
IApAQCAtMTczLDYgKzEzMCwzMCBAQAogICAgIHJlcGxhY2VXaXRoT29wcyhvd25lcik7CiB9CiAK
K3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBCYXNpY0Jsb2Nr
KiBvd25lcikKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAgICB0aGlzLT5+
VmFsdWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9vcmlnaW4pOwor
CisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRoaXMtPm93bmVyID0gb3duZXI7Cit9
CisKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBCYXNpY0Js
b2NrKiBvd25lciwgVmFsdWUqIHZhbHVlKQoreworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRl
eDsKKworICAgIHRoaXMtPn5WYWx1ZSgpOworCisgICAgbmV3ICh0aGlzKSBWYWx1ZShraW5kLCB0
eXBlLCBtX29yaWdpbiwgdmFsdWUpOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAg
IHRoaXMtPm93bmVyID0gb3duZXI7Cit9CisKIHZvaWQgVmFsdWU6OmR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKIHsKICAgICBib29sIGlzQ29uc3RhbnQgPSBmYWxzZTsKQEAgLTIwNCwxMSAr
MTg1LDYgQEAKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsKLX0KLQogdm9p
ZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigpKQpAQCAtNDU3
LDExICs0MzMsMTEgQEAKIAogVmFsdWUqIFZhbHVlOjppbnZlcnRlZENvbXBhcmUoUHJvY2VkdXJl
JiBwcm9jKSBjb25zdAogewotICAgIGlmICghbnVtQ2hpbGRyZW4oKSkKKyAgICBpZiAobnVtQ2hp
bGRyZW4oKSAhPSAyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoT3B0aW9uYWw8
T3Bjb2RlPiBpbnZlcnRlZE9wY29kZSA9IEIzOjppbnZlcnRlZENvbXBhcmUob3Bjb2RlKCksIGNo
aWxkKDApLT50eXBlKCkpKSB7CiAgICAgICAgIEFTU0VSVCgha2luZCgpLmhhc0V4dHJhQml0cygp
KTsKLSAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUo
KSwgb3JpZ2luKCksIGNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gcHJvYy5hZGQ8VmFsdWU+
KCppbnZlcnRlZE9wY29kZSwgdHlwZSgpLCBvcmlnaW4oKSwgY2hpbGQoMCksIGNoaWxkKDEpKTsK
ICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC00OTUsNiArNDcxLDcgQEAKIHsKICAg
ICBpZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0
Y2ggKG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1cm4gYXNJbnQz
MigpID09IDAgfHwgYXNJbnQzMigpID09IDE7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDcgQEAKICNpbmNsdWRlICJCM1ZhbHVl
S2V5LmgiCiAjaW5jbHVkZSAiQjNXaWR0aC5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgorI2luY2x1ZGUgPHd0Zi9JdGVyYXRvclJhbmdlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UcmlTdGF0ZS5oPgogCkBAIC01MSw3ICs1MCw2IEBA
CiBjbGFzcyBQcm9jZWR1cmU7CiAKIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFZhbHVlIHsKLSAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFZlY3RvcjxW
YWx1ZSosIDM+IEFkamFjZW5jeUxpc3Q7CiAKQEAgLTgyLDE0ICs4MCw2IEBACiAgICAgT3JpZ2lu
IG9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAgICAgdm9pZCBzZXRPcmlnaW4o
T3JpZ2luIG9yaWdpbikgeyBtX29yaWdpbiA9IG9yaWdpbjsgfQogICAgIAotICAgIFZhbHVlKiYg
Y2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhdOyB9Ci0gICAg
VmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuW2lu
ZGV4XTsgfQotCi0gICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBtX2NoaWxkcmVuLmxh
c3QoKTsgfQotICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVu
Lmxhc3QoKTsgfQotCi0gICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBt
X2NoaWxkcmVuLnNpemUoKTsgfQotCiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CiAgICAgdm9pZCBzZXRUeXBlKFR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyB9CiAK
QEAgLTk3LDkgKzg3LDU4IEBACiAgICAgQmFuayByZXN1bHRCYW5rKCkgY29uc3QgeyByZXR1cm4g
YmFua0ZvclR5cGUodHlwZSgpKTsgfQogICAgIFdpZHRoIHJlc3VsdFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gd2lkdGhGb3JUeXBlKHR5cGUoKSk7IH0KIAotICAgIEFkamFjZW5jeUxpc3QmIGNoaWxk
cmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfSAKLSAgICBjb25zdCBBZGphY2VuY3lMaXN0JiBj
aGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW47IH0KKyAgICB1bnNpZ25lZCBudW1D
aGlsZHJlbigpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBWYXJB
cmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkuc2l6ZSgpOworICAgICAg
ICByZXR1cm4gbV9udW1DaGlsZHJlbjsKKyAgICB9CisgICAgCisgICAgVmFsdWUqJiBjaGlsZCh1
bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IG51bUNoaWxkcmVu
KCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzID8gY2hpbGRyZW5W
ZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOworICAgIH0KKyAgICBWYWx1
ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaW5k
ZXggPCBudW1DaGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIG1fbnVtQ2hpbGRyZW4gPT0gVmFy
QXJncyA/IGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdIDogY2hpbGRyZW5BcnJheSgpW2luZGV4XTsK
KyAgICB9CisgICAgCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQoKQorICAgIHsKKyAgICAgICAgaWYg
KG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZl
Y3RvcigpLmxhc3QoKTsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAg
ICAgIHJldHVybiBjaGlsZHJlbkFycmF5KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KKyAg
ICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxk
cmVuID09IFZhckFyZ3MpCisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0
KCk7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuID49IDEpOworICAgICAgICByZXR1cm4g
Y2hpbGRyZW5BcnJheSgpW21fbnVtQ2hpbGRyZW4gLSAxXTsKKyAgICB9CiAKKyAgICBXVEY6Okl0
ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgaWYgKG1fbnVt
Q2hpbGRyZW4gPT0gVmFyQXJncykgeworICAgICAgICAgICAgVmVjdG9yPFZhbHVlKj4mIHZlYyA9
IGNoaWxkcmVuVmVjdG9yKCk7CisgICAgICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JS
YW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7CisgICAgICAgIH0KKyAgICAgICAgVmFs
dWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7CisgICAgICAgIHJldHVybiB7YnVmZmVyLCBi
dWZmZXIgKyBtX251bUNoaWxkcmVuIH07CisgICAgfQorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxW
YWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1D
aGlsZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYg
dmVjID0gY2hpbGRyZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVy
YXRvclJhbmdlKCYqdmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfQorICAgICAg
ICBWYWx1ZSogY29uc3QqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgcmV0dXJu
IHtidWZmZXIsIGJ1ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICB9CisKICAgICAvLyBJZiB5
b3Ugd2FudCB0byByZXBsYWNlIGFsbCB1c2VzIG9mIHRoaXMgdmFsdWUgd2l0aCBhIGRpZmZlcmVu
dCB2YWx1ZSwgdGhlbiByZXBsYWNlIHRoaXMKICAgICAvLyB2YWx1ZSB3aXRoIElkZW50aXR5LiBU
aGVuIGRvIGEgcGFzcyBvZiBwZXJmb3JtU3Vic3RpdHV0aW9uKCkgb24gYWxsIG9mIHRoZSB2YWx1
ZXMgdGhhdCB1c2UKICAgICAvLyB0aGlzIG9uZS4gVXN1YWxseSB3ZSBkbyBhbGwgb2YgdGhpcyBp
biBvbmUgcGFzcyBpbiBwcmUtb3JkZXIsIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUKQEAgLTMwMSwx
OSArMzQwLDIxOCBAQAogICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzaXplb2YoSW50
KSA8PSBzaXplb2YoT2Zmc2V0VHlwZSk+Ojp0eXBlCiAgICAgPiB7IH07CiAKK3Byb3RlY3RlZDoK
KyAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFs
IFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKLSAgICAKKyAgICB2b2lkIHJlcGxhY2VXaXRoKEtp
bmQsIFR5cGUsIEJhc2ljQmxvY2sqKTsKKyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUs
IEJhc2ljQmxvY2sqLCBWYWx1ZSopOworCiAgICAgdmlydHVhbCB2b2lkIGR1bXBDaGlsZHJlbihD
b21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBkdW1w
TWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0OwogCisgICAgLy8gVGhlIHNw
ZWNpZmljIHZhbHVlIG9mIFZhckFyZ3MgZG9lcyBub3QgbWF0dGVyLCBidXQgdGhlIHZhbHVlIG9m
IHRoZSBvdGhlcnMgaXMgYXNzdW1lZCB0byBtYXRjaCB0aGVpciBtZWFuaW5nLgorICAgIGVudW0g
TnVtQ2hpbGRyZW4gOiB1aW50OF90IHsgWmVybyA9IDAsIE9uZSA9IDEsIFR3byA9IDIsIFRocmVl
ID0gMywgVmFyQXJncyA9IDR9OworCisgICAgY2hhciogY2hpbGRyZW5BbGxvYygpIHsgcmV0dXJu
IGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBhZGphY2VuY3lMaXN0T2Zmc2V0KCk7IH0KKyAg
ICBjb25zdCBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgY29uc3QgeyByZXR1cm4gYml0d2lzZV9jYXN0
PGNvbnN0IGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQorICAgIFZlY3Rv
cjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpCisgICAgeworICAgICAgICBBU1NFUlQobV9udW1D
aGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9y
PFZhbHVlKj4qPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKyAgICBjb25zdCBWZWN0b3I8VmFs
dWUqPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fbnVt
Q2hpbGRyZW4gPT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiAqYml0d2lzZV9jYXN0PFZlY3Rv
cjxWYWx1ZSo+IGNvbnN0Kj4oY2hpbGRyZW5BbGxvYygpKTsKKyAgICB9CisgICAgVmFsdWUqKiBj
aGlsZHJlbkFycmF5KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZh
ckFyZ3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGNoaWxkcmVuQWxs
b2MoKSk7CisgICAgfQorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0Cisg
ICAgeworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiAhPSBWYXJBcmdzKTsKKyAgICAgICAg
cmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAg
IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgT3Bj
b2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihLaW5kIGtpbmQsIEFyZ3VtZW50cy4uLikgeyByZXR1
cm4ga2luZC5vcGNvZGUoKTsgfQorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHNpemVfdCBhZGph
Y2VuY3lMaXN0U3BhY2UoS2luZCBraW5kKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kLm9w
Y29kZSgpKSB7CisgICAgICAgIGNhc2UgRnJhbWVQb2ludGVyOgorICAgICAgICBjYXNlIE5vcDoK
KyAgICAgICAgY2FzZSBQaGk6CisgICAgICAgIGNhc2UgSnVtcDoKKyAgICAgICAgY2FzZSBPb3Bz
OgorICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgorICAgICAgICBjYXNlIEFyZ3VtZW50UmVnOgor
ICAgICAgICBjYXNlIENvbnN0MzI6CisgICAgICAgIGNhc2UgQ29uc3Q2NDoKKyAgICAgICAgY2Fz
ZSBDb25zdEZsb2F0OgorICAgICAgICBjYXNlIENvbnN0RG91YmxlOgorICAgICAgICBjYXNlIEZl
bmNlOgorICAgICAgICBjYXNlIFNsb3RCYXNlOgorICAgICAgICBjYXNlIEdldDoKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICBjYXNlIFJldHVybjoKKyAgICAgICAgY2FzZSBJZGVudGl0
eToKKyAgICAgICAgY2FzZSBPcGFxdWU6CisgICAgICAgIGNhc2UgTmVnOgorICAgICAgICBjYXNl
IENsejoKKyAgICAgICAgY2FzZSBBYnM6CisgICAgICAgIGNhc2UgQ2VpbDoKKyAgICAgICAgY2Fz
ZSBGbG9vcjoKKyAgICAgICAgY2FzZSBTcXJ0OgorICAgICAgICBjYXNlIFNFeHQ4OgorICAgICAg
ICBjYXNlIFNFeHQxNjoKKyAgICAgICAgY2FzZSBUcnVuYzoKKyAgICAgICAgY2FzZSBTRXh0MzI6
CisgICAgICAgIGNhc2UgWkV4dDMyOgorICAgICAgICBjYXNlIEZsb2F0VG9Eb3VibGU6CisgICAg
ICAgIGNhc2UgSVRvRDoKKyAgICAgICAgY2FzZSBEb3VibGVUb0Zsb2F0OgorICAgICAgICBjYXNl
IElUb0Y6CisgICAgICAgIGNhc2UgQml0d2lzZUNhc3Q6CisgICAgICAgIGNhc2UgQnJhbmNoOgor
ICAgICAgICBjYXNlIERlcGVuZDoKKyAgICAgICAgY2FzZSBMb2FkOFo6CisgICAgICAgIGNhc2Ug
TG9hZDhTOgorICAgICAgICBjYXNlIExvYWQxNlo6CisgICAgICAgIGNhc2UgTG9hZDE2UzoKKyAg
ICAgICAgY2FzZSBMb2FkOgorICAgICAgICBjYXNlIFN3aXRjaDoKKyAgICAgICAgY2FzZSBVcHNp
bG9uOgorICAgICAgICBjYXNlIFNldDoKKyAgICAgICAgY2FzZSBXYXNtQWRkcmVzczoKKyAgICAg
ICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6CisgICAgICAgICAgICByZXR1cm4gc2l6ZW9mKFZhbHVl
Kik7CisgICAgICAgIGNhc2UgQWRkOgorICAgICAgICBjYXNlIFN1YjoKKyAgICAgICAgY2FzZSBN
dWw6CisgICAgICAgIGNhc2UgRGl2OgorICAgICAgICBjYXNlIFVEaXY6CisgICAgICAgIGNhc2Ug
TW9kOgorICAgICAgICBjYXNlIFVNb2Q6CisgICAgICAgIGNhc2UgQml0QW5kOgorICAgICAgICBj
YXNlIEJpdE9yOgorICAgICAgICBjYXNlIEJpdFhvcjoKKyAgICAgICAgY2FzZSBTaGw6CisgICAg
ICAgIGNhc2UgU1NocjoKKyAgICAgICAgY2FzZSBaU2hyOgorICAgICAgICBjYXNlIFJvdFI6Cisg
ICAgICAgIGNhc2UgUm90TDoKKyAgICAgICAgY2FzZSBFcXVhbDoKKyAgICAgICAgY2FzZSBOb3RF
cXVhbDoKKyAgICAgICAgY2FzZSBMZXNzVGhhbjoKKyAgICAgICAgY2FzZSBHcmVhdGVyVGhhbjoK
KyAgICAgICAgY2FzZSBMZXNzRXF1YWw6CisgICAgICAgIGNhc2UgR3JlYXRlckVxdWFsOgorICAg
ICAgICBjYXNlIEFib3ZlOgorICAgICAgICBjYXNlIEJlbG93OgorICAgICAgICBjYXNlIEFib3Zl
RXF1YWw6CisgICAgICAgIGNhc2UgQmVsb3dFcXVhbDoKKyAgICAgICAgY2FzZSBFcXVhbE9yVW5v
cmRlcmVkOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdBZGQ6CisgICAgICAgIGNhc2UgQXRvbWlj
WGNoZ0FuZDoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hnT3I6CisgICAgICAgIGNhc2UgQXRvbWlj
WGNoZ1N1YjoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hnWG9yOgorICAgICAgICBjYXNlIEF0b21p
Y1hjaGc6CisgICAgICAgIGNhc2UgU3RvcmU4OgorICAgICAgICBjYXNlIFN0b3JlMTY6CisgICAg
ICAgIGNhc2UgU3RvcmU6CisgICAgICAgICAgICByZXR1cm4gMiAqIHNpemVvZihWYWx1ZSopOwor
ICAgICAgICBjYXNlIFNlbGVjdDoKKyAgICAgICAgY2FzZSBBdG9taWNXZWFrQ0FTOgorICAgICAg
ICBjYXNlIEF0b21pY1N0cm9uZ0NBUzoKKyAgICAgICAgICAgIHJldHVybiAzICogc2l6ZW9mKFZh
bHVlKik7CisgICAgICAgIGNhc2UgQ0NhbGw6CisgICAgICAgIGNhc2UgQ2hlY2s6CisgICAgICAg
IGNhc2UgQ2hlY2tBZGQ6CisgICAgICAgIGNhc2UgQ2hlY2tTdWI6CisgICAgICAgIGNhc2UgQ2hl
Y2tNdWw6CisgICAgICAgIGNhc2UgUGF0Y2hwb2ludDoKKyAgICAgICAgICAgIHJldHVybiBzaXpl
b2YoVmVjdG9yPFZhbHVlKj4pOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCiBwcml2YXRlOgorICAgIHN0YXRpYyBjaGFyKiBhbGxvY2F0
ZVNwYWNlKE9wY29kZSBvcGNvZGUsIHNpemVfdCBzaXplKQorICAgIHsKKyAgICAgICAgc2l6ZV90
IGFkamFjZW5jeUxpc3RTcGFjZSA9IFZhbHVlOjphZGphY2VuY3lMaXN0U3BhY2Uob3Bjb2RlKTsK
KyAgICAgICAgLy8gV2UgbXVzdCBhbGxvY2F0ZSBlbm91Z2ggc3BhY2UgdGhhdCByZXBsYWNlV2l0
aElkZW50aXR5IGNhbiB3b3JrIHdpdGhvdXQgYnVmZmVyIG92ZXJmbG93LgorICAgICAgICBzaXpl
X3QgYWxsb2NJZGVudGl0eVNpemUgPSBzaXplb2YoVmFsdWUpICsgc2l6ZW9mKFZhbHVlKik7Cisg
ICAgICAgIHNpemVfdCBhbGxvY1NpemUgPSBzdGQ6Om1heChzaXplICsgYWRqYWNlbmN5TGlzdFNw
YWNlLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjaGFy
Kj4oOjpvcGVyYXRvciBuZXcoYWxsb2NTaXplKSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAg
c3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGUoQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICB7
CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZShWYWx1ZVR5cGU6Om9wY29kZUZy
b21Db25zdHJ1Y3Rvcihhcmd1bWVudHMuLi4pLCBzaXplb2YoVmFsdWVUeXBlKSk7CisgICAgICAg
IHJldHVybiBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUoYXJndW1lbnRzLi4uKTsKKyAgICB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRpYyBWYWx1ZVR5cGUqIGFsbG9j
YXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAgICAgY2hhciog
YWxsb2MgPSBhbGxvY2F0ZVNwYWNlKHZhbHVlVG9DbG9uZS5vcGNvZGUoKSwgc2l6ZW9mKFZhbHVl
VHlwZSkpOworICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5ldyAoYWxsb2MpIFZhbHVlVHlw
ZSh2YWx1ZVRvQ2xvbmUpOworICAgICAgICByZXN1bHQtPmJ1aWxkQWRqYWNlbmN5TGlzdChzaXpl
b2YoVmFsdWVUeXBlKSwgdmFsdWVUb0Nsb25lKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICB9CisKKyAgICAvLyBQcm90ZWN0ZWQgc28gaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBmcm9tIGFs
bG9jYXRlIGFib3ZlLCBwb3NzaWJseSB0aHJvdWdoIHRoZSBzdWJjbGFzc2VzJ2NvcHkgY29uc3Ry
dWN0b3JzCisgICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7CisKKyAgICBWYWx1ZShW
YWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFZhbHVlJikgPSBk
ZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShWYWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICAKKyAg
ICBzaXplX3QgYWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0OworCiAgICAgZnJpZW5kIGNsYXNz
IFByb2NlZHVyZTsKICAgICBmcmllbmQgY2xhc3MgU3BhcnNlQ29sbGVjdGlvbjxWYWx1ZT47CiAK
K3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHZvaWQg
YnVpbGRBZGphY2VuY3lMaXN0KE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgaWYgKG51bUNoaWxkcmVuID09IFZhckFyZ3MpIHsK
KyAgICAgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWZWN0b3I8VmFsdWUqPiB7IGFyZ3Vt
ZW50cy4uLiB9OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VChudW1DaGlsZHJlbiA9PSBzaXplb2YuLi4oYXJndW1lbnRzKSk7CisgICAgICAgIG5ldyAoY2hp
bGRyZW5BbGxvYygpKSBWYWx1ZSpbc2l6ZW9mLi4uKGFyZ3VtZW50cyldIHsgYXJndW1lbnRzLi4u
IH07CisgICAgfQorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KHNpemVfdCBvZmZzZXQsIGNv
bnN0IFZhbHVlJiB2YWx1ZVRvQ2xvbmUpCisgICAgeworICAgICAgICBzd2l0Y2ggKHZhbHVlVG9D
bG9uZS5tX251bUNoaWxkcmVuKSB7CisgICAgICAgIGNhc2UgVmFyQXJnczoKKyAgICAgICAgICAg
IG5ldyAoYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldCkgVmVjdG9yPFZhbHVlKj4g
KHZhbHVlVG9DbG9uZS5jaGlsZHJlblZlY3RvcigpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFRocmVlOgorICAgICAgICAgICAgYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdp
c2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQpWzJdID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVu
QXJyYXkoKVsyXTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAgICAgICBjYXNlIFR3bzoK
KyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRo
aXMpICsgb2Zmc2V0KVsxXSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMV07CisgICAg
ICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgY2FzZSBPbmU6CisgICAgICAgICAgICBiaXR3
aXNlX2Nhc3Q8VmFsdWUqKj4oYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldClbMF0g
PSB2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5BcnJheSgpWzBdOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgWmVybzoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
ICAgIAogICAgIC8vIENoZWNrcyB0aGF0IHRoaXMga2luZCBpcyB2YWxpZCBmb3IgdXNlIHdpdGgg
QjM6OlZhbHVlLgotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQgY2hlY2tLaW5kKEtpbmQg
a2luZCwgdW5zaWduZWQgbnVtQXJncykKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBOdW1DaGls
ZHJlbiBudW1DaGlsZHJlbkZvcktpbmQoS2luZCBraW5kLCB1bnNpZ25lZCBudW1BcmdzKQogICAg
IHsKICAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CiAgICAgICAgIGNhc2UgRnJhbWVQ
b2ludGVyOgpAQCAtMzI0LDExICs1NjIsMTEgQEAKICAgICAgICAgY2FzZSBFbnRyeVN3aXRjaDoK
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzKSkKICAgICAgICAgICAgICAgICBiYWRL
aW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1
cm4gWmVybzsKICAgICAgICAgY2FzZSBSZXR1cm46CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
bnVtQXJncyA+IDEpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBudW1BcmdzID8gT25lIDogWmVy
bzsKICAgICAgICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBPcGFxdWU6CiAgICAgICAg
IGNhc2UgTmVnOgpAQCAtMzUxLDcgKzU4OSw3IEBACiAgICAgICAgIGNhc2UgRGVwZW5kOgogICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMSkpCiAgICAgICAgICAgICAgICAgYmFk
S2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0
dXJuIE9uZTsKICAgICAgICAgY2FzZSBBZGQ6CiAgICAgICAgIGNhc2UgU3ViOgogICAgICAgICBj
YXNlIE11bDoKQEAgLTM4MCwxMjkgKzYxOCwxMDUgQEAKICAgICAgICAgY2FzZSBFcXVhbE9yVW5v
cmRlcmVkOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMikpCiAgICAgICAg
ICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIFR3bzsKICAgICAgICAgY2FzZSBTZWxlY3Q6CiAgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkobnVtQXJncyAhPSAzKSkKICAgICAgICAgICAgICAgICBiYWRLaW5kKGtpbmQs
IG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gVGhyZWU7
CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFZhckFyZ3M7CiAg
ICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDaGVja2VkT3Bjb2RlVGFnIHsgQ2hlY2tlZE9w
Y29kZSB9OwotCi0gICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7Ci0gICAgVmFsdWUm
IG9wZXJhdG9yPShjb25zdCBWYWx1ZSYpID0gZGVmYXVsdDsKICAgICAKICAgICAvLyBJbnN0YW50
aWF0ZSB2YWx1ZXMgdmlhIFByb2NlZHVyZS4KICAgICAvLyBUaGlzIGZvcm0gcmVxdWlyZXMgc3Bl
Y2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5OgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQs
IFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4u
LiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBr
aW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBW
YWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKICAgICAgICAgOiBtX2tp
bmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVu
KG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2No
aWxkcmVueyBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4gfQogICAgIHsKKyAgICAgICAgYnVpbGRB
ZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4pOwogICAg
IH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHNwZWNpZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRs
eSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNoaWxkcmVuOgotICAgIGV4cGxpY2l0IFZhbHVlKENo
ZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQorICAg
IGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBO
dW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikKICAgICAgICAgOiBtX2tpbmQo
a2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51
bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKICAgICB7CisgICAgICAgIGJ1
aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbik7CiAgICAgfQotICAgIC8vIFRoaXMgZm9ybSBp
cyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9w
Y29kZSBhbmQgZmlyc3QgY2hpbGQ6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2lu
IG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQpCi0gICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAg
ICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkpCi0gICAgICAgICwgbV9vcmln
aW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57IGZpcnN0Q2hpbGQgfQotICAgIHsKLSAg
ICB9Ci0gICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVy
IHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBhbmQgc2Vjb25kIGNoaWxkOgot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShD
aGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENo
aWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAg
IDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGls
ZCwgc2Vjb25kQ2hpbGQpKQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBt
X2NoaWxkcmVueyBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJndW1lbnRzLi4uIH0KLSAgICB7
Ci0gICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBp
bmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbG9uZSwgYW5kIHRoYXQgZG9uJ3QKICAg
ICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29k
ZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNr
ZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBv
cmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGVGb3Io
a2luZCwgbnVsbHB0cikpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAg
ICAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxp
c3QobnVtQ2hpbGRyZW4pOwogICAgIH0KLSAgICAvLyBVc2UgdGhpcyBmb3JtIGZvciB2YXJhcmdz
LgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbikKKyAgICAv
LyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlw
ZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgorICAgIGV4cGxpY2l0IFZhbHVlKENo
ZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdp
biBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQogICAgICAgICA6IG1fa2luZChraW5kKQotICAg
ICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0
Q2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAgICAgICAgICwg
bV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oY2hpbGRyZW4pCiAgICAgewor
ICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4sIGZpcnN0Q2hpbGQpOwogICAg
IH0KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQorICAgIC8vIFRo
aXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZy
b20gdGhlIG9wY29kZSBhbmQgZmlyc3QgYW5kIHNlY29uZCBjaGlsZDoKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbiwgVmFs
dWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50
cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAg
ICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCkpCisgICAg
ICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmln
aW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihXVEZNb3ZlKGNoaWxkcmVuKSkKICAgICB7CisgICAg
ICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCwgc2Vjb25kQ2hp
bGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogCiAgICAgLy8gVGhpcyBpcyB0aGUgY29uc3RydWN0
b3IgeW91IGVuZCB1cCBhY3R1YWxseSBjYWxsaW5nLCBpZiB5b3UncmUgaW5zdGFudGlhdGluZyBW
YWx1ZQogICAgIC8vIGRpcmVjdGx5LgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBv
cmlnaW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2lu
KQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2lu
KQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFplcm8sIG9yaWdp
bikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCAwKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQobnVtQ2hpbGRyZW5Gb3JLaW5kKGtpbmQsIDApID09IFplcm8pOwogICAgIH0KKyAgICAv
LyBXZSBleHBsaWNpdGx5IGNvbnZlcnQgdGhlIGV4dHJhIGFyZ3VtZW50cyB0byBWYWx1ZSogKHRo
ZXkgbWF5IGJlIHBvaW50ZXJzIHRvIHNvbWUgc3ViY2xhc3NlcyBvZiBWYWx1ZSkgdG8gbGltaXQg
dGVtcGxhdGUgZXhwbG9zaW9uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgot
ICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdp
biwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKLSAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0
ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCisgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG51bUNoaWxkcmVuRm9yS2luZChraW5kLCBz
aXplb2YuLi4oYXJndW1lbnRzKSksIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVu
dHMpLi4uKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIDEgKyBzaXplb2YuLi4oYXJn
dW1lbnRzKSk7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAg
ICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4s
IGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgY2hpbGRyZW4pCisgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBB
cmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtp
bmQsIHR5cGUsIG51bUNoaWxkcmVuRm9yS2luZChraW5kLCAxICsgc2l6ZW9mLi4uKGFyZ3VtZW50
cykpLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4u
LikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBjaGlsZHJlbi5zaXplKCkpOwogICAg
IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0
IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBBZGphY2VuY3lMaXN0
JiYgY2hpbGRyZW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwg
b3JpZ2luLCBXVEZNb3ZlKGNoaWxkcmVuKSkKLSAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5k
LCBtX2NoaWxkcmVuLnNpemUoKSk7Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2lu
LCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQot
ICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIHNpemVvZi4uLihhcmd1bWVudHMpKTsKLSAg
ICB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIENoZWNrVmFsdWU7IC8vIENoZWNrVmFs
dWU6OmNvbnZlcnRUb0FkZCgpIG1vZGlmaWVzIG1fa2luZC4KLSAgICAKKwogICAgIHN0YXRpYyBU
eXBlIHR5cGVGb3IoS2luZCwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCA9
IG51bGxwdHIpOwogCi0gICAgLy8gVGhpcyBncm91cCBvZiBmaWVsZHMgaXMgYXJyYW5nZWQgdG8g
Zml0IGluIDY0IGJpdHMuCisgICAgLy8gbV9pbmRleCB0byBtX251bUNoaWxkcmVuIGFyZSBhcnJh
bmdlZCB0byBmaXQgaW4gNjQgYml0cy4KIHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBtX2luZGV4
IHsgVUlOVF9NQVggfTsKIHByaXZhdGU6CiAgICAgS2luZCBtX2tpbmQ7CiAgICAgVHlwZSBtX3R5
cGU7Ci0gICAgCitwcm90ZWN0ZWQ6CisgICAgTnVtQ2hpbGRyZW4gbV9udW1DaGlsZHJlbjsKK3By
aXZhdGU6CiAgICAgT3JpZ2luIG1fb3JpZ2luOwotICAgIEFkamFjZW5jeUxpc3QgbV9jaGlsZHJl
bjsKIAogICAgIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggc3RhdGljIHZvaWQgYmFkS2luZChLaW5k
LCB1bnNpZ25lZCk7CiAKQEAgLTUxOCwxMyArNzMyLDcgQEAKICAgICB7CiAgICAgfQogCi0gICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobV92
YWx1ZSkKLSAgICAgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1fcHJvYywgb3V0KTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCI8bnVsbD4iKTsKLSAgICB9CisgICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGNvbnN0IFBy
b2NlZHVyZSogbV9wcm9jOwpAQCAtNTQwLDYgKzc0OCwxMTYgQEAKICAgICByZXR1cm4gRGVlcFZh
bHVlRHVtcChudWxscHRyLCB2YWx1ZSk7CiB9CiAKKy8vIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGFy
ZSBkZXNpZ25lZCBmb3Igc3ViY2xhc3NlcyBvZiBCMzo6VmFsdWUgdG8gdXNlLgorLy8gVGhleSBh
cmUgbmV2ZXIgcmVxdWlyZWQgZm9yIGNvcnJlY3RuZXNzLCBidXQgY2FuIGltcHJvdmUgdGhlIHBl
cmZvcm1hbmNlIG9mIGNoaWxkL2xhc3RDaGlsZC9udW1DaGlsZHJlbi9jaGlsZHJlbiBtZXRob2Rz
LAorLy8gZm9yIHVzZXJzIHRoYXQgYWxyZWFkeSBrbm93IHRoZSBzcGVjaWZpYyBzdWJjbGFzcyBv
ZiBWYWx1ZSB0aGV5IGFyZSBtYW5pcHVsYXRpbmcuCisvLyBUaGUgZmlyc3Qgc2V0IGlzIHRvIGJl
IHVzZWQgd2hlbiB5b3Uga25vdyBzb21ldGhpbmcgYWJvdXQgdGhlIG51bWJlciBvZiBjaGlsZHJl
biBvZiBhbGwgdmFsdWVzIG9mIGEgY2xhc3MsIGluY2x1ZGluZyBpdHMgc3ViY2xhc3NlczoKKy8v
IC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU46IGFsd2F5cyAwIGNoaWxkcmVu
IChlLmcuIENvbnN0MzJWYWx1ZSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURf
Q0hJTERSRU4obik6IGFsd2F5cyBuIGNoaWxkcmVuLCB3aXRoIG4gaW4gezEsIDIsIDN9IChlLmcu
IFVwc2lsb25WYWx1ZSwgd2l0aCBuID0gMSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
Tk9OX1ZBUkFSR1NfQ0hJTERSRU46IGRpZmZlcmVudCBudW1iZXJzIG9mIGNoaWxkcmVuLCBidXQg
bmV2ZXIgYSB2YXJpYWJsZSBudW1iZXIgYXQgcnVudGltZSAoZS5nLiBNZW1vcnlWYWx1ZSwgdGhh
dCBjYW4gaGF2ZSBiZXR3ZWVuIDEgYW5kIDMgY2hpbGRyZW4pCisvLyAtIEIzX1NQRUNJQUxJWkVf
VkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU46IGFsd2F5cyBhIHZhcmFyZ3MgKGUuZy4gQ0NhbGxW
YWx1ZSkKKy8vIFRoZSBzZWNvbmQgc2V0IGlzIG9ubHkgdG8gYmUgdXNlZCBieSBjbGFzc2VzIHRo
YXQgd2Uga25vdyBhcmUgbm90IGZ1cnRoZXIgc3ViY2xhc3NlZCBieSBhbnlvbmUgYWRkaW5nIGZp
ZWxkcywKKy8vIGFzIHRoZXkgaGFyZGNvZGUgdGhlIG9mZnNldCBvZiB0aGUgY2hpbGRyZW4gYXJy
YXkvdmVjdG9yICh3aGljaCBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0KS4KKy8v
IC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorLy8g
LSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKyNk
ZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4gXAorICAgIHVuc2lnbmVk
IG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gMDsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJh
bmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgeyByZXR1cm4ge251bGxwdHIsIG51bGxwdHJ9OyB9IFwK
KyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCB7
IHJldHVybiB7IG51bGxwdHIsIG51bGxwdHJ9OyB9CisKKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9W
QUxVRV9GT1JfRklYRURfQ0hJTERSRU4obikgXAorcHVibGljOiBcCisgICAgdW5zaWduZWQgbnVt
Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBuOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2ln
bmVkIGluZGV4KSBcCisgICAgeyBcCisgICAgICAgIEFTU0VSVChpbmRleCA8PSBuKTsgXAorICAg
ICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgXAorICAgIH0gXAorICAgIFZhbHVl
KiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBBU1NFUlQo
aW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IFwK
KyAgICB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIFwKKyAgICB7IFwKKyAgICAgICAgcmV0
dXJuIGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogbGFzdENo
aWxkKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW24g
LSAxXTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJl
bigpIFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7
IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorICAg
IFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAg
ICB7IFwKKyAgICAgICAgVmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwK
KyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorCisjZGVm
aW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1Ymxp
YzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1DaGls
ZHJlbjsgfSBcCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gY2hp
bGRyZW5BcnJheSgpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4
KSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSom
IGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtudW1DaGlsZHJlbigpIC0gMV07
IH0gXAorICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5
KClbbnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUq
Kj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiogYnVmZmVyID0gY2hpbGRy
ZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJl
bigpIH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4g
Y2hpbGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVmZmVy
ID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBu
dW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVF
X0ZPUl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7IH0gXAorICAgIFZh
bHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5k
ZXhdOyB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJu
IGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsg
cmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgpOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxk
KCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7IH0gXAorICAgIFdURjo6
SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmVj
dG9yPFZhbHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAg
fSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29u
c3QgXAorICAgIHsgXAorICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRy
ZW5WZWN0b3IoKTsgXAorICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZl
Yy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7IFwKKyAgICB9IFwKKworLy8gT25seSB1c2UgdGhpcyBm
b3IgY2xhc3NlcyB3aXRoIG5vIHN1YmNsYXNzIHRoYXQgYWRkIG5ldyBmaWVsZHMgKGFzIGl0IHVz
ZXMgc2l6ZW9mKCp0aGlzKSkKKy8vIEFsc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gYXBwbHlpbmcg
dGhpcyB0byBjbGFzc2VzIHdpdGggbm8gY2hpbGRyZW4sIGFzIHRoZXkgZG9uJ3QgaGF2ZSBhIGNo
aWxkcmVuIGFycmF5IHRvIGFjY2Vzcy4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
RklOQUxfU0laRV9GSVhFRF9DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmFsdWUqKiBjaGls
ZHJlbkFycmF5KCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVl
Kio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0g
XAorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0IFwKKyAgICB7IFwKKyAg
ICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hh
ciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9CisKKy8vIE9ubHkgdXNl
IHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0IGFkZCBuZXcgZmllbGRzIChh
cyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9S
X0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmVjdG9yPFZh
bHVlKj4mIGNoaWxkcmVuVmVjdG9yKCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gKmJpdHdp
c2VfY2FzdDxWZWN0b3I8VmFsdWUqPio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXpl
b2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJl
blZlY3RvcigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8
VmVjdG9yPFZhbHVlKj4gY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsg
c2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVmFsdWVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVmFsdWVJbmxpbmVzLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOSArMjcsMTU3
IEBACiAKICNpZiBFTkFCTEUoQjNfSklUKQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVl
LmgiCisjaW5jbHVkZSAiQjNBdG9taWNWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5o
IgogI2luY2x1ZGUgIkIzQ2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgi
CiAjaW5jbHVkZSAiQjNDb25zdDY0VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFs
dWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VW
YWx1ZS5oIgorI2luY2x1ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9p
bnRWYWx1ZS5oIgogI2luY2x1ZGUgIkIzUGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2Nl
ZHVyZS5oIgorI2luY2x1ZGUgIkIzU2xvdEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNo
VmFsdWUuaCIKKyNpbmNsdWRlICJCM1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUu
aCIKKyNpbmNsdWRlICJCM1ZhcmlhYmxlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNz
VmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8
d3RmL0dyYXBoTm9kZVdvcmtsaXN0Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMg
ewogCisjZGVmaW5lIERJU1BBVENIX09OX0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2ggKGtpbmQo
KS5vcGNvZGUoKSkgeyBcCisgICAgY2FzZSBGcmFtZVBvaW50ZXI6IFwKKyAgICBjYXNlIE5vcDog
XAorICAgIGNhc2UgUGhpOiBcCisgICAgY2FzZSBKdW1wOiBcCisgICAgY2FzZSBPb3BzOiBcCisg
ICAgY2FzZSBFbnRyeVN3aXRjaDogXAorICAgIGNhc2UgUmV0dXJuOiBcCisgICAgY2FzZSBJZGVu
dGl0eTogXAorICAgIGNhc2UgT3BhcXVlOiBcCisgICAgY2FzZSBOZWc6IFwKKyAgICBjYXNlIENs
ejogXAorICAgIGNhc2UgQWJzOiBcCisgICAgY2FzZSBDZWlsOiBcCisgICAgY2FzZSBGbG9vcjog
XAorICAgIGNhc2UgU3FydDogXAorICAgIGNhc2UgU0V4dDg6IFwKKyAgICBjYXNlIFNFeHQxNjog
XAorICAgIGNhc2UgVHJ1bmM6IFwKKyAgICBjYXNlIFNFeHQzMjogXAorICAgIGNhc2UgWkV4dDMy
OiBcCisgICAgY2FzZSBGbG9hdFRvRG91YmxlOiBcCisgICAgY2FzZSBJVG9EOiBcCisgICAgY2Fz
ZSBEb3VibGVUb0Zsb2F0OiBcCisgICAgY2FzZSBJVG9GOiBcCisgICAgY2FzZSBCaXR3aXNlQ2Fz
dDogXAorICAgIGNhc2UgQnJhbmNoOiBcCisgICAgY2FzZSBEZXBlbmQ6IFwKKyAgICBjYXNlIEFk
ZDogXAorICAgIGNhc2UgU3ViOiBcCisgICAgY2FzZSBNdWw6IFwKKyAgICBjYXNlIERpdjogXAor
ICAgIGNhc2UgVURpdjogXAorICAgIGNhc2UgTW9kOiBcCisgICAgY2FzZSBVTW9kOiBcCisgICAg
Y2FzZSBCaXRBbmQ6IFwKKyAgICBjYXNlIEJpdE9yOiBcCisgICAgY2FzZSBCaXRYb3I6IFwKKyAg
ICBjYXNlIFNobDogXAorICAgIGNhc2UgU1NocjogXAorICAgIGNhc2UgWlNocjogXAorICAgIGNh
c2UgUm90UjogXAorICAgIGNhc2UgUm90TDogXAorICAgIGNhc2UgRXF1YWw6IFwKKyAgICBjYXNl
IE5vdEVxdWFsOiBcCisgICAgY2FzZSBMZXNzVGhhbjogXAorICAgIGNhc2UgR3JlYXRlclRoYW46
IFwKKyAgICBjYXNlIExlc3NFcXVhbDogXAorICAgIGNhc2UgR3JlYXRlckVxdWFsOiBcCisgICAg
Y2FzZSBBYm92ZTogXAorICAgIGNhc2UgQmVsb3c6IFwKKyAgICBjYXNlIEFib3ZlRXF1YWw6IFwK
KyAgICBjYXNlIEJlbG93RXF1YWw6IFwKKyAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6IFwKKyAg
ICBjYXNlIFNlbGVjdDogXAorICAgICAgICByZXR1cm4gTUFDUk8oVmFsdWUpOyBcCisgICAgY2Fz
ZSBBcmd1bWVudFJlZzogXAorICAgICAgICByZXR1cm4gTUFDUk8oQXJndW1lbnRSZWdWYWx1ZSk7
IFwKKyAgICBjYXNlIENvbnN0MzI6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0MzJWYWx1
ZSk7IFwKKyAgICBjYXNlIENvbnN0NjQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0NjRW
YWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0RmxvYXQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENv
bnN0RmxvYXRWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0RG91YmxlOiBcCisgICAgICAgIHJldHVy
biBNQUNSTyhDb25zdERvdWJsZVZhbHVlKTsgXAorICAgIGNhc2UgRmVuY2U6IFwKKyAgICAgICAg
cmV0dXJuIE1BQ1JPKEZlbmNlVmFsdWUpOyBcCisgICAgY2FzZSBTbG90QmFzZTogXAorICAgICAg
ICByZXR1cm4gTUFDUk8oU2xvdEJhc2VWYWx1ZSk7IFwKKyAgICBjYXNlIEdldDogXAorICAgIGNh
c2UgU2V0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhWYXJpYWJsZVZhbHVlKTsgXAorICAgIGNh
c2UgTG9hZDhaOiBcCisgICAgY2FzZSBMb2FkOFM6IFwKKyAgICBjYXNlIExvYWQxNlo6IFwKKyAg
ICBjYXNlIExvYWQxNlM6IFwKKyAgICBjYXNlIExvYWQ6IFwKKyAgICBjYXNlIFN0b3JlODogXAor
ICAgIGNhc2UgU3RvcmUxNjogXAorICAgIGNhc2UgU3RvcmU6IFwKKyAgICAgICAgcmV0dXJuIE1B
Q1JPKE1lbW9yeVZhbHVlKTsgXAorICAgIGNhc2UgU3dpdGNoOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhTd2l0Y2hWYWx1ZSk7IFwKKyAgICBjYXNlIFVwc2lsb246IFwKKyAgICAgICAgcmV0dXJu
IE1BQ1JPKFVwc2lsb25WYWx1ZSk7IFwKKyAgICBjYXNlIFdhc21BZGRyZXNzOiBcCisgICAgICAg
IHJldHVybiBNQUNSTyhXYXNtQWRkcmVzc1ZhbHVlKTsgXAorICAgIGNhc2UgV2FzbUJvdW5kc0No
ZWNrOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhXYXNtQm91bmRzQ2hlY2tWYWx1ZSk7IFwKKyAg
ICBjYXNlIEF0b21pY1hjaGdBZGQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBbmQ6IFwKKyAgICBj
YXNlIEF0b21pY1hjaGdPcjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1N1YjogXAorICAgIGNhc2Ug
QXRvbWljWGNoZ1hvcjogXAorICAgIGNhc2UgQXRvbWljWGNoZzogXAorICAgIGNhc2UgQXRvbWlj
V2Vha0NBUzogXAorICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhBdG9taWNWYWx1ZSk7IFwKKyAgICBjYXNlIENDYWxsOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhDQ2FsbFZhbHVlKTsgXAorICAgIGNhc2UgQ2hlY2s6IFwKKyAgICBjYXNlIENoZWNrQWRk
OiBcCisgICAgY2FzZSBDaGVja1N1YjogXAorICAgIGNhc2UgQ2hlY2tNdWw6IFwKKyAgICAgICAg
cmV0dXJuIE1BQ1JPKENoZWNrVmFsdWUpOyBcCisgICAgY2FzZSBQYXRjaHBvaW50OiBcCisgICAg
ICAgIHJldHVybiBNQUNSTyhQYXRjaHBvaW50VmFsdWUpOyBcCisgICAgZGVmYXVsdDogXAorICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyBcCisgICAgfQorCitBTFdBWVNfSU5M
SU5FIHNpemVfdCBWYWx1ZTo6YWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Cit7CisjZGVmaW5l
IFZBTFVFX1RZUEVfU0laRShWYWx1ZVR5cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFU
Q0hfT05fS0lORChWQUxVRV9UWVBFX1NJWkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQor
CitBTFdBWVNfSU5MSU5FIFZhbHVlKiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3sKKyNkZWZp
bmUgVkFMVUVfVFlQRV9DTE9ORShWYWx1ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRp
Y19jYXN0PGNvbnN0IFZhbHVlVHlwZSo+KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFM
VUVfVFlQRV9DTE9ORSk7CisjdW5kZWYgVkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBCb3R0b21Qcm92aWRlcj4KIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNv
bnN0IEJvdHRvbVByb3ZpZGVyJiBib3R0b21Qcm92aWRlcikKIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NDYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDEsMTMgKzQxLDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1w
KG1fdmFyaWFibGUpKTsKIH0KIAotVmFsdWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBWYXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFi
bGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxl
KiB2YXJpYWJsZSwgVmFsdWUqIHZhbHVlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQs
IFZvaWQsIE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7
CiAgICAgQVNTRVJUKGtpbmQgPT0gU2V0KTsKQEAgLTU0LDcgKzQ5LDcgQEAKIH0KIAogVmFyaWFi
bGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxl
KiB2YXJpYWJsZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50
eXBlKCksIG9yaWdpbikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxl
LT50eXBlKCksIFplcm8sIG9yaWdpbikKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAg
ICAgQVNTRVJUKGtpbmQgPT0gR2V0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhcmlhYmxlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNWYXJpYWJsZVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDE1
IEBACiAKICAgICBWYXJpYWJsZSogdmFyaWFibGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxl
OyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgor
ICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwog
cHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlk
ZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBj
bGFzcyBWYWx1ZTsKIAogICAgIC8vIFVzZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1
ZShLaW5kLCBPcmlnaW4sIFZhcmlhYmxlKiwgVmFsdWUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NDYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcGlu
bmVkR1BSKTsKIH0KIAotVmFsdWUqIFdhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG5ldyBXYXNtQWRkcmVzc1ZhbHVlKCp0aGlzKTsKLX0KLQogV2FzbUFk
ZHJlc3NWYWx1ZTo6V2FzbUFkZHJlc3NWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUs
IEdQUlJlZyBwaW5uZWRHUFIpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVz
cywgSW50NjQsIG9yaWdpbiwgdmFsdWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNt
QWRkcmVzcywgSW50NjQsIE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fcGlubmVkR1BSKHBp
bm5lZEdQUikKIHsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRy
ZXNzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNt
QWRkcmVzc1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTQgKzQwLDE3
IEBACiAKICAgICBHUFJSZWcgcGlubmVkR1BSKCkgY29uc3QgeyByZXR1cm4gbV9waW5uZWRHUFI7
IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwot
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNz
IFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2lu
LCBWYWx1ZSosIEdQUlJlZykgeyByZXR1cm4gV2FzbUFkZHJlc3M7IH0KICAgICBXYXNtQWRkcmVz
c1ZhbHVlKE9yaWdpbiwgVmFsdWUqLCBHUFJSZWcpOwogCiAgICAgR1BSUmVnIG1fcGlubmVkR1BS
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHND
aGVja1ZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICsz
Niw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShP
cmlnaW4gb3JpZ2luLCBHUFJSZWcgcGlubmVkU2l6ZSwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zm
c2V0KQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4s
IHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBv
cmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShU
eXBlOjpQaW5uZWQpCiB7CkBAIC00NCw3ICs0NCw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1Zh
bHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNp
Z25lZCBvZmZzZXQsIHNpemVfdCBtYXhpbXVtKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
V2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4sIHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IFdhc21Cb3VuZHNDaGVjaywgT25lLCBvcmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNl
dCkKICAgICAsIG1fYm91bmRzVHlwZShUeXBlOjpNYXhpbXVtKQogewpAQCAtNTUsMTEgKzU1LDYg
QEAKICAgICBtX2JvdW5kcy5tYXhpbXVtID0gbWF4aW11bTsKIH0KIAotVmFsdWUqIFdhc21Cb3Vu
ZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUJv
dW5kc0NoZWNrVmFsdWUoKnRoaXMpOwotfQotCiB2b2lkIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpk
dW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIHN3aXRjaCAobV9ib3VuZHNUeXBlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ0NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDE1ICszNCw3IEBACiAKIGNsYXNzIFdhc21Cb3VuZHNDaGVja1ZhbHVl
IDogcHVibGljIFZhbHVlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQg
a2luZCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUoKSkgewotICAgICAgICBj
YXNlIFdhc21Cb3VuZHNDaGVjazoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAg
IHN0YXRpYyBib29sIGFjY2VwdHMoS2luZCBraW5kKSB7IHJldHVybiBraW5kID09IFdhc21Cb3Vu
ZHNDaGVjazsgfQogICAgIAogICAgIH5XYXNtQm91bmRzQ2hlY2tWYWx1ZSgpOwogCkBAIC02MCwx
NSArNTIsMjAgQEAKICAgICBUeXBlIGJvdW5kc1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5k
c1R5cGU7IH0KICAgICBCb3VuZHMgYm91bmRzKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHM7IH0K
IAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNf
U1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBH
UFJSZWcsIFZhbHVlKiwgdW5zaWduZWQpIHsgcmV0dXJuIFdhc21Cb3VuZHNDaGVjazsgfQogICAg
IEpTX0VYUE9SVF9QUklWQVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9yaWdpbiwgR1BSUmVnIHBp
bm5lZEdQUiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KTsKKworICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCB1bnNpZ25lZCwgc2l6ZV90
KSB7IHJldHVybiBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBXYXNt
Qm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4sIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCwgc2l6
ZV90IG1heGltdW0pOwogCiAgICAgdW5zaWduZWQgbV9vZmZzZXQ7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvdGVzdGIzLmNwcAkocmV2aXNpb24gMjQzNDQ2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzQyLDcgKzEwNzQyLDcg
QEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAog
ICAgICAgICBwcm9jLCBJbnQzMiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxD
b25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5j
dGlvbldpdGhIZWxsYUFyZ3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGls
ZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwog
ICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdp
bigpLCBjYWxsKTsKIApAQCAtMTA3NjgsNyArMTA3NjgsNyBAQAogICAgIENDYWxsVmFsdWUqIGNh
bGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDY0LCBP
cmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9y
aWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRz
MiwgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rvcihh
cmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVu
ZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA3
OTAsNyArMTA3OTAsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8
Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDMyLCBPcmlnaW4oKSwKICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25Q
dHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMywgQjNDQ2FsbFB0clRhZykpKTsK
LSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBl
bmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9j
LCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA4OTAsNyArMTA4OTAsNyBAQAogICAg
IENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAg
IHByb2MsIERvdWJsZSwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0
clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldp
dGhIZWxsYURvdWJsZUFyZ3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGls
ZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwog
ICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdp
bigpLCBjYWxsKTsKIApAQCAtMTA5MTQsNyArMTA5MTQsNyBAQAogICAgIENDYWxsVmFsdWUqIGNh
bGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEZsb2F0LCBP
cmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9y
aWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1
bWVudHMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0
b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5h
cHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkocmV2aXNpb24gMjQzNDQ2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzgwLDcgKzM4MCw3IEBACiAgICAgTFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVlIGZ1
bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCiAgICAgewogICAgICAgICBCMzo6Q0Nh
bGxWYWx1ZSogcmVzdWx0ID0gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3By
b2MsIHR5cGUsIG9yaWdpbigpLCBmdW5jdGlvbik7Ci0gICAgICAgIHJlc3VsdC0+Y2hpbGRyZW4o
KS5hcHBlbmRWZWN0b3IodmVjdG9yKTsKKyAgICAgICAgcmVzdWx0LT5hcHBlbmRBcmdzKHZlY3Rv
cik7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIExWYWx1ZSBjYWxsKExUeXBl
IHR5cGUsIExWYWx1ZSBmdW5jdGlvbikgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpD
Q2FsbFZhbHVlPihtX3Byb2MsIHR5cGUsIG9yaWdpbigpLCBmdW5jdGlvbik7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365928</attachid>
            <date>2019-03-25 17:51:11 -0700</date>
            <delta_ts>2019-03-25 17:58:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch196091</filename>
            <type>text/plain</type>
            <size>86257</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0MiBA
QAorMjAxOS0wMy0yNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIEIzOjpWYWx1ZSBzaG91bGQgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgYWRqYWNlbmN5
IGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTYwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUga2V5IGlkZWEgb2YgdGhpcyBvcHRpbWl6YXRpb24gaXMgdG8gcmVwbGFjZSB0aGUgVmVjdG9y
PFZhbHVlKiwgMz4gbV9jaGlsZHJlbiBpbiBCMzo6VmFsdWUgKDQwIGJ5dGVzIG9uIDY0LWJpdHMg
cGxhdGZvcm0pIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgorICAgICAgICAtIE5vdGhpbmcgKDAg
Ynl0ZXMpCisgICAgICAgIC0gMSBWYWx1ZSogKDggYnl0ZXMpCisgICAgICAgIC0gMiBWYWx1ZSog
KDE2IGJ5dGVzKQorICAgICAgICAtIDMgVmFsdWUqICgyNCBieXRlcykKKyAgICAgICAgLSBBIFZl
Y3RvcjxWYWx1ZSo+ICgxNiBieXRlcyArIGhvd2V2ZXIgbWFueSBmb3IgdGhlIGNvbnRlbnQpCisg
ICAgICAgIGFmdGVyIHRoZSBlbmQgb2YgdGhlIFZhbHVlIG9iamVjdCwgZGVwZW5kaW5nIG9uIHRo
ZSBraW5kIG9mIHRoZSBWYWx1ZS4KKyAgICAgICAgU28gZm9yIGV4YW1wbGUsIHdoZW4gYWxsb2Nh
dGluZyBhbiBBZGQsIHdlIHdvdWxkIGFsbG9jYXRlIGFuIGV4dHJhIDE2IGJ5dGVzIGludG8gd2hp
Y2ggdG8gc3RvcmUgMiBWYWx1ZXMuCisgICAgICAgIFRoaXMgd291bGQgaGFsdmUgdGhlIG1lbW9y
eSBjb25zdW1wdGlvbiBvZiBDb25zdDY0L0NvbnN0MzIvTm9wL0lkZW50aXR5IGFuZCBhIGJ1bmNo
IG1vcmUga2luZHMgb2YgdmFsdWVzLCBhbmQgcmVkdWNlIGJ5IGEgbW9yZSBtb2RlcmF0ZSBhbW91
bnQgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiB0aGUgcmVzdCAoZS5nLiBBZGQgd291bGQgZ28g
ZnJvbSA3MiB0byA0OCBieXRlcykuCisKKyAgICAgICAgQSBmZXcgaW1wbGVtZW50YXRpb24gcG9p
bnRzOgorICAgICAgICAtIEV2ZW4gaWYgdGhlcmUgaXMgbm8gY2hpbGRyZW4sIHdlIG11c3QgcmVt
ZW1iZXIgdG8gYWxsb2NhdGUgYXQgbGVhc3QgZW5vdWdoIHNwYWNlIGZvciByZXBsYWNlV2l0aElk
ZW50aXR5IHRvIHdvcmsgbGF0ZXIuIEl0IG5lZWRzIHNpemVvZihWYWx1ZSkgKGZvciB0aGUgb2Jq
ZWN0IGl0c2VsZikgKyBzaXplb2YoVmFsdWUqKSAoZm9yIHRoZSBwb2ludGVyIHRvIGl0cyBjaGls
ZCkKKyAgICAgICAgLSBXZSBtdXN0IG1ha2Ugc3VyZSB0byBkZXN0cm95IHRoZSB2ZWN0b3Igd2hl
bmV2ZXIgd2UgZGVzdHJveSBhIFZhbHVlIHdoaWNoIGlzIFZhckFyZ3MKKyAgICAgICAgLSBXZSBt
dXN0IHJlbWVtYmVyIGhvdyBtYW55IGVsZW1lbnRzIHRoZXJlIGFyZSBpbiB0aGUgY2FzZSB3aGVy
ZSB3ZSBkaWQgbm90IGFsbG9jYXRlIGEgVmVjdG9yLiBXZSBjYW5ub3QgZG8gaXQgcHVyZWx5IGJ5
IHJlbHlpbmcgb24gdGhlIGtpbmQsIGJvdGggZm9yIHNwZWVkIHJlYXNvbnMgYW5kIGJlY2F1c2Ug
UmV0dXJuIGNhbiBoYXZlIGVpdGhlciAwIG9yIDEgYXJndW1lbnQgaW4gQjMKKyAgICAgICAgICBU
aGFua2Z1bGx5LCB3ZSBoYXZlIGFuIGV4dHJhIGJ5dGUgb2YgcGFkZGluZyB0byB1c2UgaW4gdGhl
IG1pZGRsZSBvZiBCMzo6VmFsdWUKKyAgICAgICAgLSBXZSBtdXN0IG1ha2Ugc3VyZSB0byBjb25z
dHJ1Y3QgdGhlIFZlY3RvciB3aGVuZXZlciBjb25zdHJ1Y3RpbmcgYSBWYWx1ZSB3aGljaCBpcyBW
YXJBcmdzLgorICAgICAgICAgIEl0IGNhbm5vdCBiZSBkb25lIGluIHRoZSBjb25zdHJ1Y3RvciBv
ZiBWYWx1ZSwgYmVjYXVzZSBpdCBkb2VzIG5vdCBrbm93IHRoZSBzaXplIG9mIHRoZSBvYmplY3Qg
YmVpbmcgYWxsb2NhdGVkIChpdCBjYW4gYmUgYSBzdWJjbGFzcyBvZiBWYWx1ZSksIGFuZCB0aHVz
IHRoZSBvZmZzZXQgb2YgdGhlIFZlY3Rvci4KKyAgICAgICAgICBTbyB3ZSBkbyBpdCBpbiB0aGUg
YWxsb2NhdGU8VmFsdWVUeXBlPiBmdW5jdGlvbiwgd2hpY2ggaXMgdGhlIG9ubHkgcmVhc29uYWJs
ZSB3YXkgdG8gY29uc3RydWN0IGEgVmFsdWUuCisgICAgICAgIC0gSW4gb3JkZXIgdG8gc3VwcG9y
dCBjbG9uZSgpLCB3ZSBtdXN0IGhhdmUgYSBzZXBhcmF0ZSB2ZXJzaW9uIG9mIGFsbG9jYXRlLCB3
aGljaCBleHRyYWN0cyB0aGUgb3Bjb2RlIGZyb20gdGhlIHRvLWJlLWNsb25lZCBvYmplY3QgaW5z
dGVhZCBvZiBmcm9tIHRoZSBjYWxsIHRvIHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICAtIFNwZWFr
aW5nIG9mIHdoaWNoLCB3ZSBuZWVkIGEgc3BlY2lhbCB0ZW1wbGF0ZWQgZnVuY3Rpb24gb3Bjb2Rl
RnJvbUNvbnN0cnVjdG9yLCBiZWNhdXNlIHNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBvZiBzdWJj
bGFzc2VzIG9mIFZhbHVlIGRvbid0IHRha2UgYW4gZXhwbGljaXQgT3Bjb2RlIGFzIGFyZ3VtZW50
LCB0eXBpY2FsbHkgYmVjYXVzZSB0aGV5IG1hdGNoIGEgc2luZ2xlIG9uZS4KKyAgICAgICAgLSBU
byBtYXhpbWl6ZSBwZXJmb3JtYW5jZSwgd2UgcHJvdmlkZSBzcGVjaWFsaXplZCB2ZXJzaW9ucyBv
ZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hpbGRyZW4vY2hpbGRyZW4gaW4gdGhlIHN1YmNsYXNzZXMg
b2YgVmFsdWUsIHNraXBwaW5nIGNoZWNrcyB3aGVuIHRoZSBhY3R1YWwgdHlwZSBvZiB0aGUgVmFs
dWUgaXMgYWxyZWFkeSBrbm93bi4KKyAgICAgICAgICBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfLi4uIGRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiBCM1Zh
bHVlLmgKKyAgICAgICAgLSBJbiB0aGUgY29uc3RydWN0b3JzIG9mIFZhbHVlLCB3ZSBjb252ZXJ0
IGFsbCBleHRyYSBjaGlsZHJlbiBhcmd1bWVudHMgdG8gVmFsdWUqIGVhZ2VybHkuIEl0IGlzIG5v
dCByZXF1aXJlZCBmb3IgY29ycmVjdG5lc3MgKHRoZXkgd2lsbCBiZSBjb252ZXJ0ZWQgd2hlbiBw
dXQgaW50byBhIFZlY3RvcjxWYWx1ZSo+IG9yIGEgVmFsdWUqIGluIHRoZSBlbmQpLCBidXQgaXQg
aGVscCBsaW1pdCBhbiBleHBsb3Npb24gaW4gdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBpbnN0YW50
aWF0aW9ucy4KKyAgICAgICAgLSBJIG1vdmVkIERlZXBWYWx1ZUR1bXA6OmR1bXAgZnJvbSB0aGUg
LmggdG8gdGhlIC5jcHAsIGFzIHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRvIGlubGluZSBpdCwg
YW5kIHJlY29tcGlsaW5nIEpTQyBpcyBhbHJlYWR5IHNsb3cgZW5vdWdoCisKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGIzL0Iz
QXJndW1lbnRSZWdWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBcmd1bWVudFJlZ1ZhbHVl
OjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQXJndW1lbnRSZWdW
YWx1ZS5oOgorICAgICAgICAqIGIzL0IzQXRvbWljVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpC
Mzo6QXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QjM6OkF0b21pY1Zh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQXRvbWljVmFs
dWUuaDoKKyAgICAgICAgKiBiMy9CM0Jhc2ljQmxvY2suaDoKKyAgICAgICAgKiBiMy9CM0Jhc2lj
QmxvY2tJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpCYXNpY0Jsb2NrOjphcHBlbmROZXdO
b25UZXJtaW5hbCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDQ2FsbFZhbHVlLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkNDYWxsVmFsdWU6OmFwcGVuZEFyZ3MpOgorICAgICAgICAoSlNDOjpC
Mzo6Q0NhbGxWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9C
M0NDYWxsVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NoZWNrVmFsdWUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6Q2hlY2tWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBiMy9CM0NoZWNrVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0MzJWYWx1ZS5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpDb25zdDMyVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogYjMvQjNDb25zdDMyVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0NjRW
YWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpDb25zdDY0VmFsdWU6OmNsb25lSW1wbCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDb25zdDY0VmFsdWUuaDoKKyAgICAgICAgKiBi
My9CM0NvbnN0RG91YmxlVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3REb3VibGVW
YWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0NvbnN0RG91
YmxlVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHA6CisgICAgICAg
IChKU0M6OkIzOjpDb25zdEZsb2F0VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogYjMvQjNDb25zdEZsb2F0VmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0UHRy
VmFsdWUuaDoKKyAgICAgICAgKEpTQzo6QjM6OkNvbnN0UHRyVmFsdWU6Om9wY29kZUZyb21Db25z
dHJ1Y3Rvcik6CisgICAgICAgICogYjMvQjNGZW5jZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6
QjM6OkZlbmNlVmFsdWU6OkZlbmNlVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6RmVuY2VWYWx1
ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0ZlbmNlVmFsdWUu
aDoKKyAgICAgICAgKiBiMy9CM01lbW9yeVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6Ok1l
bW9yeVZhbHVlOjpNZW1vcnlWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpNZW1vcnlWYWx1ZTo6
Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM01lbW9yeVZhbHVlLmg6
CisgICAgICAgICogYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcDoKKyAgICAgICAgKiBiMy9CM1BhdGNo
cG9pbnRWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpQYXRjaHBvaW50VmFsdWU6OmNsb25l
SW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNQYXRjaHBvaW50VmFsdWUuaDoK
KyAgICAgICAgKEpTQzo6QjM6OlBhdGNocG9pbnRWYWx1ZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiMy9CM1Byb2NlZHVyZS5jcHA6CisgICAgICAgICogYjMvQjNQcm9jZWR1
cmUuaDoKKyAgICAgICAgKiBiMy9CM1Byb2NlZHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
QjM6OlByb2NlZHVyZTo6YWRkKToKKyAgICAgICAgKiBiMy9CM1Nsb3RCYXNlVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6U2xvdEJhc2VWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBiMy9CM1Nsb3RCYXNlVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM1N0YWNr
bWFwU3BlY2lhbC5jcHA6CisgICAgICAgIChKU0M6OkIzOjpTdGFja21hcFNwZWNpYWw6OmZvckVh
Y2hBcmdJbXBsKToKKyAgICAgICAgKEpTQzo6QjM6OlN0YWNrbWFwU3BlY2lhbDo6aXNWYWxpZElt
cGwpOgorICAgICAgICAqIGIzL0IzU3RhY2ttYXBWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIz
OjpTdGFja21hcFZhbHVlOjphcHBlbmQpOgorICAgICAgICAoSlNDOjpCMzo6U3RhY2ttYXBWYWx1
ZTo6U3RhY2ttYXBWYWx1ZSk6CisgICAgICAgICogYjMvQjNTdGFja21hcFZhbHVlLmg6CisgICAg
ICAgICogYjMvQjNTd2l0Y2hWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpTd2l0Y2hWYWx1
ZTo6U3dpdGNoVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OmNsb25lSW1w
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNTd2l0Y2hWYWx1ZS5oOgorICAgICAg
ICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYjMvQjNVcHNpbG9uVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6VXBzaWxvblZhbHVl
OjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVXBzaWxvblZhbHVl
Lmg6CisgICAgICAgICogYjMvQjNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpEZWVwVmFs
dWVEdW1wOjpkdW1wIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjp+VmFsdWUpOgor
ICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoSWRlbnRpdHkpOgorICAgICAgICAo
SlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKToKKyAgICAgICAgKEpT
Qzo6QjM6OlZhbHVlOjpyZXBsYWNlV2l0aFBoaSk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6
cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXBsYWNlV2l0aE9v
cHMpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoKToKKyAgICAgICAgKEpT
Qzo6QjM6OlZhbHVlOjppbnZlcnRlZENvbXBhcmUgY29uc3QpOgorICAgICAgICAoSlNDOjpCMzo6
VmFsdWU6OnJldHVybnNCb29sIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpjbG9u
ZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVmFsdWUuaDoKKyAgICAgICAg
KEpTQzo6QjM6OkRlZXBWYWx1ZUR1bXA6OmR1bXAgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGIzL0IzVmFsdWVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6YWRqYWNlbmN5
TGlzdE9mZnNldCBjb25zdCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6Y2xvbmVJbXBsIGNv
bnN0KToKKyAgICAgICAgKiBiMy9CM1ZhcmlhYmxlVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpC
Mzo6VmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpWYXJp
YWJsZVZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVmFy
aWFibGVWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzV2FzbUFkZHJlc3NWYWx1ZS5jcHA6CisgICAg
ICAgIChKU0M6OkIzOjpXYXNtQWRkcmVzc1ZhbHVlOjpXYXNtQWRkcmVzc1ZhbHVlKToKKyAgICAg
ICAgKEpTQzo6QjM6Oldhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmg6CisgICAgICAgICogYjMvQjNXYXNt
Qm91bmRzQ2hlY2tWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpXYXNtQm91bmRzQ2hlY2tW
YWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5k
c0NoZWNrVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNX
YXNtQm91bmRzQ2hlY2tWYWx1ZS5oOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNr
VmFsdWU6OmFjY2VwdHMpOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNrVmFsdWU6
Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYjMvdGVzdGIzLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czMpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYURvdWJsZUFyZ3VtZW50cyk6Cisg
ICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbEZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1bWVudHMp
OgorICAgICAgICAqIGZ0bC9GVExPdXRwdXQuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6
OmNhbGwpOgorCiAyMDE5LTAzLTI1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgSGVhcDo6aXNNYXJrZWQgYW5kIGZyaWVuZHMgc2hvdWxkIGJlIGluc3RhbmNl
IG1ldGhvZHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDM0
NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBGRUM4
NTQwMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8qIEIz
VXNlQ291bnRzLmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlk
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODRGODFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0NDFC
REFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCAq
LzsgfTsKLQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRBQ0RB
QzAwODBGRjc0IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmgg
Ki87IH07CiAJCTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNrQnlH
cmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkVDODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3JhcGhD
b2xvcmluZy5oICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0QjFC
REFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAKIAkJ
MkFEODkzMkIxN0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4RjAw
NjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJCRjky
MDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVy
ZUlEVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUxQjI2
OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxp
bmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODRGQjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNFNzhE
RjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0
IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJ
MzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyog
UGFyc2VJbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJu
YWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRl
X2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjExMEY3
RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0MiAv
KiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdEOTAw
NzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVj
dWxhdGl2ZUpJVC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcCAqLzsgfTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9C
My5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVB
MEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJNTM0
MUZDNzIxREFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0M0Mw
MEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcxMUU3
MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVu
TG9vcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTM0NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3NDFF
NzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYzNCw3ICs4NjM0LDYgQEAKIAkJ
CQkwRkVDODU0MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1ZUtl
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFs
dWVLZXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4MEZG
NzQgLyogQjNWYWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTg5LDYgKzkxODgsNyBAQAog
CQkJCUE1OTNDRjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIxODlC
MTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIElu
c3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3OUVC
MDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAg
LTEwNjI5LDcgKzEwNjI5LDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyogREZH
U3BlY3VsYXRpdmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdEMjAw
NzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTMzM0JCREQyMTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9C
My5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyogTG93
TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVCRTkx
MDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVCRThC
MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc2Myw2ICsx
MDc2Miw3IEBACiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2Ux
MTkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8qIFVu
aWZpZWRTb3VyY2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5OTAw
MzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNFNzhE
RjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MzZCMzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJj
ZTEyMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzksMTEgKzM5LDYgQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcmVn
KTsKIH0KIAotVmFsdWUqIEFyZ3VtZW50UmVnVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG5ldyBBcmd1bWVudFJlZ1ZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCwxNiArNDAsMTkgQEAKIAogICAgIFJlZyBhcmd1bWVudFJlZygpIGNv
bnN0IHsgcmV0dXJuIG1fcmVnOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19D
SElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQ
cmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNv
bnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7Cisg
ICAgZnJpZW5kIGNsYXNzIFZhbHVlOworICAgIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJv
bUNvbnN0cnVjdG9yKE9yaWdpbiwgUmVnKSB7IHJldHVybiBBcmd1bWVudFJlZzsgfQogCiAgICAg
QXJndW1lbnRSZWdWYWx1ZShPcmlnaW4gb3JpZ2luLCBSZWcgcmVnKQotICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkg
OiBEb3VibGUsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBBcmd1bWVu
dFJlZywgcmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91YmxlLCBaZXJvLCBvcmlnaW4p
CiAgICAgICAgICwgbV9yZWcocmVnKQogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZy5pc1NldCgp
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAJKHJl
dmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDggQEAKICAgICBNZW1vcnlWYWx1ZTo6
ZHVtcE1ldGEoY29tbWEsIG91dCk7CiB9CiAKLVZhbHVlKiBBdG9taWNWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEF0b21pY1ZhbHVlKCp0aGlzKTsKLX0KLQogQXRv
bWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBr
aW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIG9wZXJhbmQsIFZhbHVlKiBw
b2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwg
SGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBr
aW5kLCBvcGVyYW5kLT50eXBlKCksIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwg
b3BlcmFuZCwgcG9pbnRlcikKKyAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQs
IG9wZXJhbmQtPnR5cGUoKSwgVHdvLCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2Us
IG9wZXJhbmQsIHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChi
ZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKQEAgLTY2LDcgKzYx
LDcgQEAKIH0KIAogQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNW
YWx1ZUNBUywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIGV4
cGVjdGVkVmFsdWUsIFZhbHVlKiBuZXdWYWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVl
OjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5n
ZSkKLSAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIGtpbmQub3Bjb2RlKCkg
PT0gQXRvbWljV2Vha0NBUyA/IEludDMyIDogZXhwZWN0ZWRWYWx1ZS0+dHlwZSgpLCBvcmlnaW4s
IG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1ZhbHVlLCBwb2lu
dGVyKQorICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5vcGNvZGUo
KSA9PSBBdG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCksIFRocmVl
LCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1Zh
bHVlLCBwb2ludGVyKQogICAgICwgbV93aWR0aCh3aWR0aCkKIHsKICAgICBBU1NFUlQoYmVzdFR5
cGUoR1AsIGFjY2Vzc1dpZHRoKCkpID09IGFjY2Vzc1R5cGUoKSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0
LDE0ICs0NCwxNSBAQAogICAgIFR5cGUgYWNjZXNzVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGNoaWxk
KDApLT50eXBlKCk7IH0KICAgICAKICAgICBXaWR0aCBhY2Nlc3NXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fd2lkdGg7IH0KKworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
RklYRURfQ0hJTERSRU4KICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCi0gICAgVmFsdWUq
IGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgZW51bSBB
dG9taWNWYWx1ZVJNVyB7IEF0b21pY1ZhbHVlUk1XVGFnIH07CiAgICAgZW51bSBBdG9taWNWYWx1
ZUNBUyB7IEF0b21pY1ZhbHVlQ0FTVGFnIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNCYXNpY0Jsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQmFzaWNCbG9jay5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNCYXNpY0Jsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDggKzg0LDYgQEAKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
ICAgIFZhbHVlVHlwZSogYXBwZW5kTmV3KFByb2NlZHVyZSYsIEFyZ3VtZW50cy4uLik7Ci0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAg
VmFsdWVUeXBlKiBhcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4p
OwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFwcGVuZEludENvbnN0YW50KFByb2Nl
ZHVyZSYsIE9yaWdpbiwgVHlwZSwgaW50NjRfdCB2YWx1ZSk7CiAgICAgVmFsdWUqIGFwcGVuZElu
dENvbnN0YW50KFByb2NlZHVyZSYsIFZhbHVlKiBsaWtlVmFsdWUsIGludDY0X3QgdmFsdWUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5o
CShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Js
b2NrSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNCArNDIsNiBAQAogfQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLVZhbHVlVHlw
ZSogQmFzaWNCbG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwoUHJvY2VkdXJlJiBwcm9jZWR1cmUs
IEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi17Ci0gICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9j
ZWR1cmUuYWRkPFZhbHVlVHlwZT4oYXJndW1lbnRzLi4uKTsKLSAgICBhcHBlbmROb25UZXJtaW5h
bChyZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogVmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjpy
ZXBsYWNlTGFzdFdpdGhOZXcoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCiB7CiAgICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9jZWR1cmUuYWRkPFZhbHVlVHlw
ZT4oYXJndW1lbnRzLi4uKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxs
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxs
VmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDQ2FsbFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOSBAQAogewogfQog
Ci1WYWx1ZSogQ0NhbGxWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3ZvaWQgQ0NhbGxWYWx1ZTo6
YXBwZW5kQXJncyhjb25zdCBWZWN0b3I8VmFsdWUqPiYgYXJncykKIHsKLSAgICByZXR1cm4gbmV3
IENDYWxsVmFsdWUoKnRoaXMpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5kVmVjdG9yKGFy
Z3MpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTcgKzM4
LDIzIEBACiAKICAgICB+Q0NhbGxWYWx1ZSgpOwogCisgICAgdm9pZCBhcHBlbmRBcmdzKGNvbnN0
IFZlY3RvcjxWYWx1ZSo+Jik7CisgICAgCiAgICAgRWZmZWN0cyBlZmZlY3RzOwogCi1wcm90ZWN0
ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU4KKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZy
b21Db25zdHJ1Y3RvcihBcmd1bWVudHMuLi4pIHsgcmV0dXJuIENDYWxsOyB9CisKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9y
aWdpbiBvcmlnaW4sIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0YXRp
Y19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKEVmZmVjdHM6
OmZvckNhbGwoKSkKICAgICB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkg
Pj0gMSk7CkBAIC01Niw3ICs2Miw3IEBACiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1
bWVudHM+CiAgICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEVm
ZmVjdHMmIGVmZmVjdHMsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUo
Q2hlY2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0
YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKGVmZmVj
dHMpCiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1DaGlsZHJlbigpID49IDEpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAJKHJldmlzaW9u
IDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCwxMSArNDAsNiBAQAogICAgIG1fa2luZCA9IENoZWNrQWRkOwog
fQogCi1WYWx1ZSogQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IENoZWNrVmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0Fk
ZCwgQ2hlY2tTdWIsIGFuZCBDaGVja011bC4KIENoZWNrVmFsdWU6OkNoZWNrVmFsdWUoS2luZCBr
aW5kLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KQogICAgIDogU3Rh
Y2ttYXBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBsZWZ0LT50eXBlKCksIG9yaWdpbikKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsMTEgKzUwLDExIEBACiAKICAgICB2b2lkIGNvbnZlcnRUb0FkZCgpOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgogICAgIAog
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBW
YWx1ZTsKIAogICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrQWRkLCBDaGVja1N1YiwgYW5k
IENoZWNrTXVsLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIENoZWNrVmFsdWUoS2luZCwgT3JpZ2lu
LCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0MzJWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAz
LDExICszMDMsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVl
KiBDb25zdDMyVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25z
dDMyVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlm
IC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ29uc3QzMlZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAg
IFRyaVN0YXRlIGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92
ZXJyaWRlOwogICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3Ro
ZXIpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJ
TERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25z
dCBvdmVycmlkZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisg
ICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCks
IGludDMyX3QgPSAwKSB7IHJldHVybiBDb25zdDMyOyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOwotCiAgICAgQ29uc3QzMlZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDMyX3QgdmFsdWUp
Ci0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwgSW50MzIsIG9yaWdpbikK
KyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwgWmVybywgb3Jp
Z2luKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKwog
ICAgIGludDMyX3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAzLDEx
ICszMDMsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBD
b25zdDY0VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdDY0
VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8v
IEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0
VmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3Q2NFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAgIFRy
aVN0YXRlIGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJy
aWRlOwogICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIp
IGNvbnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERS
RU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRT
dHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBv
dmVycmlkZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAg
c3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGlu
dDY0X3QgPSAwKSB7IHJldHVybiBDb25zdDY0OyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOwotCiAgICAgQ29uc3Q2NFZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDY0X3QgdmFsdWUpCi0g
ICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIG9yaWdpbikKKyAg
ICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgWmVybywgb3JpZ2lu
KQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KLSAgICAKKwogcHJpdmF0
ZToKKyAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsK
KwogICAgIGludDY0X3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTk3LDExICsxOTcsNiBAQAogICAgIG91dC5wcmludGYoIiVsZSIsIG1fdmFsdWUp
OwogfQogCi1WYWx1ZSogQ29uc3REb3VibGVWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbmV3IENvbnN0RG91YmxlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTY0LDE2ICs2NCwxOCBAQAogICAgIFRyaVN0YXRlIGdyZWF0ZXJFcXVhbENv
bnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUg
ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJp
ZGU7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9f
Q0hJTERSRU4KIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1
ZTsKIAorICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9y
aWdpbiwgZG91YmxlKSB7IHJldHVybiBDb25zdERvdWJsZTsgfQorCiAgICAgQ29uc3REb3VibGVW
YWx1ZShPcmlnaW4gb3JpZ2luLCBkb3VibGUgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgQ29uc3REb3VibGUsIERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIENvbnN0RG91YmxlLCBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAg
LCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4OSwxMSArMTg5LDYgQEAKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsK
IH0KIAotVmFsdWUqIENvbnN0RmxvYXRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbmV3IENvbnN0RmxvYXRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuaAkod29ya2luZyBjb3B5
KQpAQCAtNjMsMTYgKzYzLDE4IEBACiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFsQ29uc3RhbnQo
Y29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBlcXVhbE9y
VW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJF
TgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisg
ICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJy
aWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBm
bG9hdCkgeyByZXR1cm4gQ29uc3RGbG9hdDsgfQorCiAgICAgQ29uc3RGbG9hdFZhbHVlKE9yaWdp
biBvcmlnaW4sIGZsb2F0IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENv
bnN0RmxvYXQsIEZsb2F0LCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q29uc3RGbG9hdCwgRmxvYXQsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVl
KQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0
clZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQ
dHJWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdFB0clZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDEzICs1MSwxOCBAQAogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29k
ZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFQqKSB7IHJldHVybiBDb25zdFB0clZhbHVlQmFzZTo6
b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAg
IENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCogcG9pbnRlcikKICAgICAgICAgOiBDb25z
dFB0clZhbHVlQmFzZShvcmlnaW4sIGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikpCiAg
ICAgewogICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcGNvZGUg
b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCkgeyByZXR1cm4gQ29uc3RQdHJWYWx1ZUJh
c2U6Om9wY29kZUZyb21Db25zdHJ1Y3RvcigpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
ICAgICBDb25zdFB0clZhbHVlKE9yaWdpbiBvcmlnaW4sIFQgcG9pbnRlcikKICAgICAgICAgOiBD
b25zdFB0clZhbHVlQmFzZShvcmlnaW4sIHN0YXRpY19jYXN0PGludHB0cl90Pihwb2ludGVyKSkK
ICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCw4IEBACiB7CiB9CiAKLVZhbHVlKiBG
ZW5jZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgRmVuY2VWYWx1
ZSgqdGhpcyk7Ci19Ci0KIEZlbmNlVmFsdWU6OkZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVh
cFJhbmdlIHJlYWQsIEhlYXBSYW5nZSB3cml0ZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IEZlbmNlLCBWb2lkLCBvcmlnaW4pCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwg
Vm9pZCwgWmVybywgb3JpZ2luKQogICAgICwgcmVhZChyZWFkKQogICAgICwgd3JpdGUod3JpdGUp
CiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCShyZXZpc2lv
biAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcyLDE0ICs3MiwxNCBAQAogICAgIEhlYXBSYW5nZSByZWFkIHsgSGVh
cFJhbmdlOjp0b3AoKSB9OwogICAgIEhlYXBSYW5nZSB3cml0ZSB7IEhlYXBSYW5nZTo6dG9wKCkg
fTsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsK
KyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgogCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogICAgIAor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgSGVhcFJhbmdl
ID0gSGVhcFJhbmdlKCksIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpKSB7IHJldHVybiBGZW5jZTsg
fQogICAgIEZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVhcFJhbmdlIHJlYWQsIEhlYXBSYW5n
ZSB3cml0ZSk7Ci0gICAgCiAgICAgRmVuY2VWYWx1ZShPcmlnaW4gb3JpZ2luKTsKIH07CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHJldmlzaW9u
IDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzMsMTUgKzczLDEwIEBACiAgICAgICAgIG91dC5wcmludChjb21t
YSwgImZlbmNlUmFuZ2UgPSAiLCBmZW5jZVJhbmdlKCkpOwogfQogCi1WYWx1ZSogTWVtb3J5VmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBNZW1vcnlWYWx1ZSgqdGhp
cyk7Ci19Ci0KIC8vIFVzZSB0aGlzIGZvcm0gZm9yIExvYWQgKGJ1dCBub3QgTG9hZDhaLCBMb2Fk
OFMsIG9yIGFueSBvZiB0aGUgTG9hZHMgdGhhdCBoYXZlIGEgc3VmZml4IHRoYXQKIC8vIGRlc2Ny
aWJlcyB0aGUgcmV0dXJuZWQgdHlwZSkuCiBNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5
VmFsdWU6Ok1lbW9yeVZhbHVlTG9hZCwgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmln
aW4sIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBS
YW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIHBvaW50ZXIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBraW5kLCB0eXBlLCBPbmUsIG9yaWdpbiwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9m
ZnNldCkKICAgICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5n
ZSkKQEAgLTEyNiw3ICsxMjEsNyBAQAogCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBzdG9yZXMuCiBN
ZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlU3RvcmUsIEtp
bmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVt
b3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBm
ZW5jZVJhbmdlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgb3JpZ2lu
LCB2YWx1ZSwgcG9pbnRlcikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQs
IFR3bywgb3JpZ2luLCB2YWx1ZSwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAg
ICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtODQsMTQgKzg0LDE0IEBACiAKICAgICBib29sIGlzQ2Fub25pY2FsV2lkdGgoKSBj
b25zdCB7IHJldHVybiBCMzo6aXNDYW5vbmljYWxXaWR0aChhY2Nlc3NXaWR0aCgpKTsgfQogCisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVj
dGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKLQotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQor
ICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEludCwgdHlwZW5hbWUgPSBJc0xlZ2FsT2Zmc2V0
PEludD4sIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bj
b2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgSW50IG9mZnNldCwg
SGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwgQXJndW1lbnRzLi4uIGFyZ3Vt
ZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4s
IGFyZ3VtZW50cy4uLikKKyAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtp
bmQsIFR5cGUgdHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIElu
dCBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UsIEFyZ3VtZW50
cy4uLiBhcmd1bWVudHMpCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgbnVtQ2hpbGRyZW4sIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4u
KQogICAgICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAgICAgLCBtX3JhbmdlKHJhbmdlKQog
ICAgICAgICAsIG1fZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpAQCAtMTAwLDYgKzEwMCw3IEBACiAg
ICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCiAgICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQzMl90IG9mZnNldCkg
Y29uc3Q7CiAgICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQ2NF90IG9mZnNldCkgY29uc3Q7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0
YW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAKICAgICAgICAgICAgIFsm
XSAoY29uc3QgVmFsdWVLZXkmIGtleSkgLT4gYm9vbCB7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGtleS5vcGNvZGUoKSA9PSBDb25zdEZsb2F0IHx8IGtleS5vcGNvZGUoKSA9PSBDb25zdERvdWJs
ZTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICBsb3dlckZQQ29uc3RhbnRz
KCk7CiAgICAgICAgIAogICAgICAgICBob2lzdENvbnN0YW50cygKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsMTEgKzQ0LDYgQEAKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
bnVtRlBTY3JhdGNoUmVnaXN0ZXJzID0gIiwgbnVtRlBTY3JhdGNoUmVnaXN0ZXJzKTsKIH0KIAot
VmFsdWUqIFBhdGNocG9pbnRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IFBhdGNocG9pbnRWYWx1ZSgqdGhpcyk7Ci19Ci0KIFBhdGNocG9pbnRWYWx1ZTo6UGF0Y2hw
b2ludFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKICAgICA6IEJhc2UoQ2hlY2tlZE9w
Y29kZSwgUGF0Y2hwb2ludCwgdHlwZSwgb3JpZ2luKQogICAgICwgZWZmZWN0cyhFZmZlY3RzOjpm
b3JDYWxsKCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFs
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50
VmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
UGF0Y2hwb2ludFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNiBAQAogICAg
IHVpbnQ4X3QgbnVtR1BTY3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogICAgIHVpbnQ4X3QgbnVtRlBT
Y3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklO
QUxfU0laRV9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRh
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1
ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bj
b2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihUeXBlLCBPcmlnaW4pIHsgcmV0dXJuIFBhdGNocG9p
bnQ7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBQYXRjaHBvaW50VmFsdWUoVHlwZSwgT3JpZ2lu
KTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNyArOTMsNiBAQAogICAgIHJldHVybiBtX3ZhbHVl
cy5hZGQoV1RGTW92ZShjbG9uZSkpOwogfQogCi0KIFZhbHVlKiBQcm9jZWR1cmU6OmFkZEludENv
bnN0YW50KE9yaWdpbiBvcmlnaW4sIFR5cGUgdHlwZSwgaW50NjRfdCB2YWx1ZSkKIHsKICAgICBz
d2l0Y2ggKHR5cGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5o
CShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1
cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMjkyLDcgKzI5Miw3IEBACiAgICAgYm9vbCBtX25lZWRz
VXNlZFJlZ2lzdGVycyB7IHRydWUgfTsKICAgICBib29sIG1faGFzUXVpcmtzIHsgZmFsc2UgfTsK
IH07Ci0KKyAgICAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxF
KEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZUlubGlu
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJ
bmxpbmVzLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Byb2NlZHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTMgKzI5LDE0IEBACiAK
ICNpbmNsdWRlICJCM0Jhc2ljQmxvY2suaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2lu
Y2x1ZGUgIkIzVmFsdWUuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7Ci0KKyAg
ICAKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
VmFsdWVUeXBlKiBQcm9jZWR1cmU6OmFkZChBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogewotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwobmV3IFZhbHVlVHlw
ZShhcmd1bWVudHMuLi4pKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlVHlwZSo+KGFk
ZFZhbHVlSW1wbChWYWx1ZTo6YWxsb2NhdGU8VmFsdWVUeXBlPihhcmd1bWVudHMuLi4pKSk7CiB9
CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MSwxMSArNDEsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgcG9pbnRlckR1bXAobV9zbG90KSk7
CiB9CiAKLVZhbHVlKiBTbG90QmFzZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJl
dHVybiBuZXcgU2xvdEJhc2VWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEs
MTYgKzQxLDE3IEBACiAKICAgICBTdGFja1Nsb3QqIHNsb3QoKSBjb25zdCB7IHJldHVybiBtX3Ns
b3Q7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9O
T19DSElMRFJFTgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCisgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3Io
T3JpZ2luLCBTdGFja1Nsb3QqKSB7IHJldHVybiBTbG90QmFzZTsgfQogICAgIFNsb3RCYXNlVmFs
dWUoT3JpZ2luIG9yaWdpbiwgU3RhY2tTbG90KiBzbG90KQotICAgICAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBvcmlnaW4pCisgICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgU2xvdEJhc2UsIHBvaW50ZXJUeXBlKCksIFplcm8sIG9yaWdpbikK
ICAgICAgICAgLCBtX3Nsb3Qoc2xvdCkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MywxMSArODMsMTEgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5l
IHRoaW5ncyBoYXZlIG5vdCBoYXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+
PSBudW1JZ25vcmVkQWlyQXJncyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUo
KSA+PSBudW1JZ25vcmVkQjNBcmdzKTsKLSAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51
bUlnbm9yZWRBaXJBcmdzID49IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9yZWRC
M0FyZ3MpOworICAgIEFTU0VSVCh2YWx1ZS0+bnVtQ2hpbGRyZW4oKSA+PSBudW1JZ25vcmVkQjNB
cmdzKTsKKyAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51bUlnbm9yZWRBaXJBcmdzID49
IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncyk7CiAgICAgQVNTRVJUKGlu
c3QuYXJnc1swXS5raW5kKCkgPT0gQXJnOjpLaW5kOjpTcGVjaWFsKTsKIAotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNB
cmdzOyArK2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPm51bUNoaWxk
cmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKICAgICAgICAgQXJnJiBhcmcgPSBpbnN0
LmFyZ3NbaSArIG51bUlnbm9yZWRBaXJBcmdzXTsKICAgICAgICAgQ29uc3RyYWluZWRWYWx1ZSBj
aGlsZCA9IHZhbHVlLT5jb25zdHJhaW5lZENoaWxkKGkgKyBudW1JZ25vcmVkQjNBcmdzKTsKIApA
QCAtMTYwLDE2ICsxNjAsMTYgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5lIHRoaW5ncyBo
YXZlIG5vdCBoYXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+PSBudW1JZ25v
cmVkQWlyQXJncyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSA+PSBudW1J
Z25vcmVkQjNBcmdzKTsKKyAgICBBU1NFUlQodmFsdWUtPm51bUNoaWxkcmVuKCkgPj0gbnVtSWdu
b3JlZEIzQXJncyk7CiAKICAgICAvLyBGb3IgdGhlIEluc3QgdG8gYmUgdmFsaWQsIGl0IG5lZWRz
IHRvIGhhdmUgdGhlIHJpZ2h0IG51bWJlciBvZiBhcmd1bWVudHMuCi0gICAgaWYgKGluc3QuYXJn
cy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA8IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAt
IG51bUlnbm9yZWRCM0FyZ3MpCisgICAgaWYgKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVk
QWlyQXJncyA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncykKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gUmVnYXJkbGVzcyBvZiBjb25zdHJhaW50cywgc3Rh
Y2ttYXBzIGhhdmUgc29tZSBiYXNpYyByZXF1aXJlbWVudHMgZm9yIHRoZWlyIGFyZ3VtZW50cy4g
Rm9yCiAgICAgLy8gZXhhbXBsZSwgeW91IGNhbid0IGhhdmUgYSBub24tRlAtb2Zmc2V0IGFkZHJl
c3MuIFRoaXMgdmVyaWZpZXMgdGhvc2UgY29uZGl0aW9ucyBhcyB3ZWxsIGFzIHRoZQogICAgIC8v
IGFyZ3VtZW50IHR5cGVzLgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+Y2hp
bGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzOyAr
K2kpIHsKICAgICAgICAgVmFsdWUqIGNoaWxkID0gdmFsdWUtPmNoaWxkKGkgKyBudW1JZ25vcmVk
QjNBcmdzKTsKICAgICAgICAgQXJnJiBhcmcgPSBpbnN0LmFyZ3NbaSArIG51bUlnbm9yZWRBaXJB
cmdzXTsKIApAQCAtMTc4LDcgKzE3OCw3IEBACiAgICAgfQogCiAgICAgLy8gVGhlIG51bWJlciBv
ZiBjb25zdHJhaW50cyBoYXMgdG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgQjMg
Y2hpbGRyZW4uCi0gICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5jaGls
ZHJlbigpLnNpemUoKSk7CisgICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVl
LT5udW1DaGlsZHJlbigpKTsKIAogICAgIC8vIFZlcmlmeSBhbnkgZXhwbGljaXRseSBzdXBwbGll
ZCBjb25zdHJhaW50cy4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBudW1JZ25vcmVkQjNBcmdzOyBp
IDwgdmFsdWUtPm1fcmVwcy5zaXplKCk7ICsraSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw3ICszNyw3IEBACiB2b2lkIFN0YWNrbWFwVmFsdWU6OmFwcGVuZChWYWx1ZSogdmFsdWUs
IGNvbnN0IFZhbHVlUmVwJiByZXApCiB7CiAgICAgaWYgKHJlcCA9PSBWYWx1ZVJlcDo6Q29sZEFu
eSkgewotICAgICAgICBjaGlsZHJlbigpLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgIGNoaWxkcmVu
VmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDQs
NyArNDQsNyBAQAogICAgIHdoaWxlIChtX3JlcHMuc2l6ZSgpIDwgbnVtQ2hpbGRyZW4oKSkKICAg
ICAgICAgbV9yZXBzLmFwcGVuZChWYWx1ZVJlcDo6Q29sZEFueSk7CiAKLSAgICBjaGlsZHJlbigp
LmFwcGVuZCh2YWx1ZSk7CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmQodmFsdWUpOwogICAg
IG1fcmVwcy5hcHBlbmQocmVwKTsKIH0KIApAQCAtODksNyArODksNyBAQAogfQogCiBTdGFja21h
cFZhbHVlOjpTdGFja21hcFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgb3JpZ2luKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgVmFyQXJn
cywgb3JpZ2luKQogewogICAgIEFTU0VSVChhY2NlcHRzKGtpbmQpKTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNjAsOCArNjAsNyBAQAogCiAgICAgflN0YWNrbWFwVmFsdWUoKTsKIAotICAgIC8v
IFVzZSB0aGlzIHRvIGFkZCBjaGlsZHJlbi4gTm90ZSB0aGF0IHlvdSBjb3VsZCBhbHNvIGFkZCBj
aGlsZHJlbiBieSBkb2luZwotICAgIC8vIGNoaWxkcmVuKCkuYXBwZW5kKCkuIFRoYXQgd2lsbCB3
b3JrIGZpbmUsIGJ1dCBpdCdzIG5vdCByZWNvbW1lbmRlZC4KKyAgICAvLyBVc2UgdGhpcyB0byBh
ZGQgY2hpbGRyZW4uCiAgICAgdm9pZCBhcHBlbmQoY29uc3QgQ29uc3RyYWluZWRWYWx1ZSYgdmFs
dWUpCiAgICAgewogICAgICAgICBhcHBlbmQodmFsdWUudmFsdWUoKSwgdmFsdWUucmVwKCkpOwpA
QCAtMjg1LDYgKzI4NCw4IEBACiAgICAgICAgIHJldHVybiBDb25zdHJhaW5lZFZhbHVlQ29sbGVj
dGlvbigqdGhpcyk7CiAgICAgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJH
U19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wQ2hpbGRyZW4oQ29tbWFQcmlu
dGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGR1bXBNZXRhKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNiwxMyArMTA2LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsICJjYXNlcyA9IFsi
LCBsaXN0RHVtcChtX3ZhbHVlcyksICJdIik7CiB9CiAKLVZhbHVlKiBTd2l0Y2hWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFN3aXRjaFZhbHVlKCp0aGlzKTsKLX0K
LQogU3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBjaGlsZCkK
LSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgb3JpZ2luLCBjaGlsZCkK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgT25lLCBvcmlnaW4sIGNo
aWxkKQogewogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVl
LmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRj
aFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDE0ICs2NCwxNyBAQAogCiAgICAgdm9pZCBk
dW1wU3VjY2Vzc29ycyhjb25zdCBCYXNpY0Jsb2NrKiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRl
OwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3Jp
Z2luLCBWYWx1ZSopIHsgcmV0dXJuIFN3aXRjaDsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN3
aXRjaFZhbHVlKE9yaWdpbiwgVmFsdWUqIGNoaWxkKTsKIAogICAgIFZlY3RvcjxpbnQ2NF90PiBt
X3ZhbHVlczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVl
LmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBz
aWxvblZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICAgICB9CiB9
CiAKLVZhbHVlKiBVcHNpbG9uVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBVcHNpbG9uVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMK
IAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNVcHNpbG9uVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNVcHNpbG9uVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDE5ICs0NSwy
MiBAQAogICAgICAgICBtX3BoaSA9IHBoaTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZB
TFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJ
TkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEo
Q29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVl
KiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBWYWx1ZSogPSBudWxscHRy
KSB7IHJldHVybiBVcHNpbG9uOyB9CiAgICAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgdGhlIFBoaSBk
dXJpbmcgY29uc3RydWN0aW9uIGlzIG9wdGlvbmFsLiBBIHZhbGlkIHBhdHRlcm4gaXMgdG8gZmly
c3QgY3JlYXRlCiAgICAgLy8gdGhlIFVwc2lsb25zIHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVh
dGUgdGhlIFBoaSwgdGhlbiBnbyBiYWNrIGFuZCB0ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAg
IC8vIHRoZSBQaGkuIFRoaXMgYWxsb3dzIHlvdSB0byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwg
b3JkZXIuCiAgICAgVXBzaWxvblZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFs
dWUqIHBoaSA9IG51bGxwdHIpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxv
biwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBV
cHNpbG9uLCBWb2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQog
ICAgIHsKICAgICAgICAgaWYgKHBoaSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1
ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTMgKzQ3LDIzIEBACiAjaW5jbHVkZSA8d3Rm
L0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0RHVtcC5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdQcmludFN0cmVhbS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFZhbHVlOjpkdW1w
UHJlZml4ID0gIkAiOwordm9pZCBEZWVwVmFsdWVEdW1wOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0Cit7CisgICAgaWYgKG1fdmFsdWUpCisgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1f
cHJvYywgb3V0KTsKKyAgICBlbHNlCisgICAgICAgIG91dC5wcmludCgiPG51bGw+Iik7Cit9CiAK
IFZhbHVlOjp+VmFsdWUoKQogeworICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisg
ICAgICAgIGNoaWxkcmVuQWxsb2MoKS0+flZlY3RvcjxWYWx1ZSo+KCk7CiB9CiAKIHZvaWQgVmFs
dWU6OnJlcGxhY2VXaXRoSWRlbnRpdHkoVmFsdWUqIHZhbHVlKQpAQCAtNjIsMjYgKzcyLDEyIEBA
CiAgICAgLy8gYSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmlyc3QgY29sbGVjdCBhbGwgb2Yg
dGhlIGluZm9ybWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1Y3QgdGhlCiAgICAgLy8gcHJl
dmlvdXMgdmFsdWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0cnVjdCB0aGUgSWRlbnRpdHkg
VmFsdWUgaW4gcGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5cGUpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKIAotICAgIGlmICht
X3R5cGUgPT0gVm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFj
ZVdpdGhOb3BJZ25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVu
c2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3Jp
Z2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3du
ZXI7Ci0KLSAgICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAg
dGhpcy0+flZhbHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBv
cmlnaW4sIHZhbHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9p
bmRleCA9IGluZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1f
dHlwZSwgdGhpcy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhC
b3R0b20oSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk3LDE2
ICs5Myw3IEBACiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKCkKIHsK
LSAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3Jp
Z2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICB0aGlzLT5+
VmFsdWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUoTm9wLCBWb2lkLCBvcmlnaW4pOwotCi0g
ICAgdGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAg
cmVwbGFjZVdpdGgoTm9wLCBWb2lkLCB0aGlzLT5vd25lcik7CiB9CiAKIHZvaWQgVmFsdWU6OnJl
cGxhY2VXaXRoUGhpKCkKQEAgLTExNSwzNCArMTAyLDE0IEBACiAgICAgICAgIHJlcGxhY2VXaXRo
Tm9wKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXgg
PSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2Nr
KiBvd25lciA9IHRoaXMtPm93bmVyOwotICAgIFR5cGUgdHlwZSA9IG1fdHlwZTsKIAotICAgIHRo
aXMtPn5WYWx1ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShQaGksIHR5cGUsIG9yaWdpbik7
Ci0KLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsK
KyAgICByZXBsYWNlV2l0aChQaGksIG1fdHlwZSwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZh
bHVlOjpyZXBsYWNlV2l0aEp1bXAoQmFzaWNCbG9jayogb3duZXIsIEZyZXF1ZW50ZWRCbG9jayB0
YXJnZXQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob3duZXItPmxhc3QoKSA9PSB0aGlzKTsKLSAg
ICAKLSAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1f
b3JpZ2luOwotICAgIAotICAgIHRoaXMtPn5WYWx1ZSgpOwotICAgIAotICAgIG5ldyAodGhpcykg
VmFsdWUoSnVtcCwgVm9pZCwgb3JpZ2luKTsKLSAgICAKLSAgICB0aGlzLT5vd25lciA9IG93bmVy
OwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKLSAgICAKKyAgICByZXBsYWNlV2l0aChKdW1w
LCBWb2lkLCB0aGlzLT5vd25lcik7CiAgICAgb3duZXItPnNldFN1Y2Nlc3NvcnModGFyZ2V0KTsK
IH0KIApAQCAtMTQ5LDE3ICsxMTYsNyBAQAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKEJh
c2ljQmxvY2sqIG93bmVyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0g
dGhpcyk7Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBv
cmlnaW4gPSBtX29yaWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBu
ZXcgKHRoaXMpIFZhbHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3du
ZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFj
ZVdpdGgoT29wcywgVm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5jbGVhclN1Y2Nlc3Nv
cnMoKTsKIH0KIApAQCAtMTczLDYgKzEzMCwzMCBAQAogICAgIHJlcGxhY2VXaXRoT29wcyhvd25l
cik7CiB9CiAKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBC
YXNpY0Jsb2NrKiBvd25lcikKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAg
ICB0aGlzLT5+VmFsdWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9v
cmlnaW4pOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRoaXMtPm93bmVyID0g
b3duZXI7Cit9CisKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBl
LCBCYXNpY0Jsb2NrKiBvd25lciwgVmFsdWUqIHZhbHVlKQoreworICAgIHVuc2lnbmVkIGluZGV4
ID0gbV9pbmRleDsKKworICAgIHRoaXMtPn5WYWx1ZSgpOworCisgICAgbmV3ICh0aGlzKSBWYWx1
ZShraW5kLCB0eXBlLCBtX29yaWdpbiwgdmFsdWUpOworCisgICAgdGhpcy0+bV9pbmRleCA9IGlu
ZGV4OworICAgIHRoaXMtPm93bmVyID0gb3duZXI7Cit9CisKIHZvaWQgVmFsdWU6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBib29sIGlzQ29uc3RhbnQgPSBmYWxzZTsKQEAg
LTIwNCwxMSArMTg1LDYgQEAKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBW
YWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsK
LX0KLQogdm9pZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigp
KQpAQCAtNDU3LDExICs0MzMsMTEgQEAKIAogVmFsdWUqIFZhbHVlOjppbnZlcnRlZENvbXBhcmUo
UHJvY2VkdXJlJiBwcm9jKSBjb25zdAogewotICAgIGlmICghbnVtQ2hpbGRyZW4oKSkKKyAgICBp
ZiAobnVtQ2hpbGRyZW4oKSAhPSAyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAo
T3B0aW9uYWw8T3Bjb2RlPiBpbnZlcnRlZE9wY29kZSA9IEIzOjppbnZlcnRlZENvbXBhcmUob3Bj
b2RlKCksIGNoaWxkKDApLT50eXBlKCkpKSB7CiAgICAgICAgIEFTU0VSVCgha2luZCgpLmhhc0V4
dHJhQml0cygpKTsKLSAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNv
ZGUsIHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gcHJvYy5h
ZGQ8VmFsdWU+KCppbnZlcnRlZE9wY29kZSwgdHlwZSgpLCBvcmlnaW4oKSwgY2hpbGQoMCksIGNo
aWxkKDEpKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC00OTUsNiArNDcxLDcg
QEAKIHsKICAgICBpZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICBzd2l0Y2ggKG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1
cm4gYXNJbnQzMigpID09IDAgfHwgYXNJbnQzMigpID09IDE7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDcgQEAKICNpbmNsdWRl
ICJCM1ZhbHVlS2V5LmgiCiAjaW5jbHVkZSAiQjNXaWR0aC5oIgogI2luY2x1ZGUgPHd0Zi9Db21t
YVByaW50ZXIuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9JdGVyYXRvclJhbmdlLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UcmlTdGF0ZS5oPgogCkBAIC01Myw4
ICs1Miw2IEBACiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBWYWx1ZSB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBWZWN0b3I8VmFsdWUqLCAzPiBB
ZGphY2VuY3lMaXN0OwotCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGR1bXBQcmVmaXg7
CiAKICAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQpIHsgcmV0dXJuIHRydWU7IH0KQEAgLTgy
LDE0ICs3OSw2IEBACiAgICAgT3JpZ2luIG9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2lu
OyB9CiAgICAgdm9pZCBzZXRPcmlnaW4oT3JpZ2luIG9yaWdpbikgeyBtX29yaWdpbiA9IG9yaWdp
bjsgfQogICAgIAotICAgIFZhbHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIG1f
Y2hpbGRyZW5baW5kZXhdOyB9Ci0gICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25z
dCB7IHJldHVybiBtX2NoaWxkcmVuW2luZGV4XTsgfQotCi0gICAgVmFsdWUqJiBsYXN0Q2hpbGQo
KSB7IHJldHVybiBtX2NoaWxkcmVuLmxhc3QoKTsgfQotICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBj
b25zdCB7IHJldHVybiBtX2NoaWxkcmVuLmxhc3QoKTsgfQotCi0gICAgdW5zaWduZWQgbnVtQ2hp
bGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuLnNpemUoKTsgfQotCiAgICAgVHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgdm9pZCBzZXRUeXBlKFR5cGUgdHlw
ZSkgeyBtX3R5cGUgPSB0eXBlOyB9CiAKQEAgLTk3LDkgKzg2LDU4IEBACiAgICAgQmFuayByZXN1
bHRCYW5rKCkgY29uc3QgeyByZXR1cm4gYmFua0ZvclR5cGUodHlwZSgpKTsgfQogICAgIFdpZHRo
IHJlc3VsdFdpZHRoKCkgY29uc3QgeyByZXR1cm4gd2lkdGhGb3JUeXBlKHR5cGUoKSk7IH0KIAot
ICAgIEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfSAKLSAg
ICBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRy
ZW47IH0KKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0CisgICAgeworICAgICAgICBp
ZiAobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVu
VmVjdG9yKCkuc2l6ZSgpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbjsKKyAgICB9Cisg
ICAgCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChpbmRleCA8IG51bUNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJl
biA9PSBWYXJBcmdzID8gY2hpbGRyZW5WZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClb
aW5kZXhdOworICAgIH0KKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0Cisg
ICAgeworICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1DaGlsZHJlbigpKTsKKyAgICAgICAgcmV0
dXJuIG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyA/IGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdIDog
Y2hpbGRyZW5BcnJheSgpW2luZGV4XTsKKyAgICB9CisgICAgCisgICAgVmFsdWUqJiBsYXN0Q2hp
bGQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykKKyAgICAg
ICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsKKyAgICAgICAgQVNTRVJUKG1f
bnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVybiBjaGlsZHJlbkFycmF5KClbbV9udW1D
aGlsZHJlbiAtIDFdOworICAgIH0KKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QKKyAgICB7
CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisgICAgICAgICAgICByZXR1
cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVu
ID49IDEpOworICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW21fbnVtQ2hpbGRyZW4gLSAx
XTsKKyAgICB9CiAKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncykgeworICAgICAgICAg
ICAgVmVjdG9yPFZhbHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7CisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7
CisgICAgICAgIH0KKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7Cisg
ICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBtX251bUNoaWxkcmVuIH07CisgICAgfQor
ICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAg
ICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRyZW5WZWN0b3IoKTsKKyAgICAgICAg
ICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCYqdmVjLmJlZ2luKCksICYqdmVjLmVu
ZCgpKTsKKyAgICAgICAgfQorICAgICAgICBWYWx1ZSogY29uc3QqIGJ1ZmZlciA9IGNoaWxkcmVu
QXJyYXkoKTsKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG1fbnVtQ2hpbGRyZW4g
fTsKKyAgICB9CisKICAgICAvLyBJZiB5b3Ugd2FudCB0byByZXBsYWNlIGFsbCB1c2VzIG9mIHRo
aXMgdmFsdWUgd2l0aCBhIGRpZmZlcmVudCB2YWx1ZSwgdGhlbiByZXBsYWNlIHRoaXMKICAgICAv
LyB2YWx1ZSB3aXRoIElkZW50aXR5LiBUaGVuIGRvIGEgcGFzcyBvZiBwZXJmb3JtU3Vic3RpdHV0
aW9uKCkgb24gYWxsIG9mIHRoZSB2YWx1ZXMgdGhhdCB1c2UKICAgICAvLyB0aGlzIG9uZS4gVXN1
YWxseSB3ZSBkbyBhbGwgb2YgdGhpcyBpbiBvbmUgcGFzcyBpbiBwcmUtb3JkZXIsIHdoaWNoIGVu
c3VyZXMgdGhhdCB0aGUKQEAgLTMwMSwxOSArMzM5LDIxOCBAQAogICAgICAgICB0eXBlbmFtZSBz
dGQ6OmVuYWJsZV9pZjxzaXplb2YoSW50KSA8PSBzaXplb2YoT2Zmc2V0VHlwZSk+Ojp0eXBlCiAg
ICAgPiB7IH07CiAKK3Byb3RlY3RlZDoKKyAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Q7CiAK
LXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKLSAgICAK
KyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUsIEJhc2ljQmxvY2sqKTsKKyAgICB2b2lk
IHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUsIEJhc2ljQmxvY2sqLCBWYWx1ZSopOworCiAgICAgdmly
dHVhbCB2b2lkIGR1bXBDaGlsZHJlbihDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
OwogICAgIHZpcnR1YWwgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0OwogCisgICAgLy8gVGhlIHNwZWNpZmljIHZhbHVlIG9mIFZhckFyZ3MgZG9lcyBub3Qg
bWF0dGVyLCBidXQgdGhlIHZhbHVlIG9mIHRoZSBvdGhlcnMgaXMgYXNzdW1lZCB0byBtYXRjaCB0
aGVpciBtZWFuaW5nLgorICAgIGVudW0gTnVtQ2hpbGRyZW4gOiB1aW50OF90IHsgWmVybyA9IDAs
IE9uZSA9IDEsIFR3byA9IDIsIFRocmVlID0gMywgVmFyQXJncyA9IDR9OworCisgICAgY2hhciog
Y2hpbGRyZW5BbGxvYygpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBhZGph
Y2VuY3lMaXN0T2Zmc2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgY29u
c3QgeyByZXR1cm4gYml0d2lzZV9jYXN0PGNvbnN0IGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxp
c3RPZmZzZXQoKTsgfQorICAgIFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpCisgICAg
eworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0
dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKj4qPihjaGlsZHJlbkFsbG9jKCkpOworICAg
IH0KKyAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdAorICAg
IHsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyk7CisgICAgICAgIHJl
dHVybiAqYml0d2lzZV9jYXN0PFZlY3RvcjxWYWx1ZSo+IGNvbnN0Kj4oY2hpbGRyZW5BbGxvYygp
KTsKKyAgICB9CisgICAgVmFsdWUqKiBjaGlsZHJlbkFycmF5KCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX251bUNoaWxkcmVuICE9IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9j
YXN0PFZhbHVlKio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIFZhbHVlKiBjb25zdCog
Y2hpbGRyZW5BcnJheSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJl
biAhPSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3Qq
PihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihLaW5kIGtp
bmQsIEFyZ3VtZW50cy4uLikgeyByZXR1cm4ga2luZC5vcGNvZGUoKTsgfQorICAgIEFMV0FZU19J
TkxJTkUgc3RhdGljIHNpemVfdCBhZGphY2VuY3lMaXN0U3BhY2UoS2luZCBraW5kKQorICAgIHsK
KyAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CisgICAgICAgIGNhc2UgRnJhbWVQb2lu
dGVyOgorICAgICAgICBjYXNlIE5vcDoKKyAgICAgICAgY2FzZSBQaGk6CisgICAgICAgIGNhc2Ug
SnVtcDoKKyAgICAgICAgY2FzZSBPb3BzOgorICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgorICAg
ICAgICBjYXNlIEFyZ3VtZW50UmVnOgorICAgICAgICBjYXNlIENvbnN0MzI6CisgICAgICAgIGNh
c2UgQ29uc3Q2NDoKKyAgICAgICAgY2FzZSBDb25zdEZsb2F0OgorICAgICAgICBjYXNlIENvbnN0
RG91YmxlOgorICAgICAgICBjYXNlIEZlbmNlOgorICAgICAgICBjYXNlIFNsb3RCYXNlOgorICAg
ICAgICBjYXNlIEdldDoKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBjYXNlIFJldHVy
bjoKKyAgICAgICAgY2FzZSBJZGVudGl0eToKKyAgICAgICAgY2FzZSBPcGFxdWU6CisgICAgICAg
IGNhc2UgTmVnOgorICAgICAgICBjYXNlIENsejoKKyAgICAgICAgY2FzZSBBYnM6CisgICAgICAg
IGNhc2UgQ2VpbDoKKyAgICAgICAgY2FzZSBGbG9vcjoKKyAgICAgICAgY2FzZSBTcXJ0OgorICAg
ICAgICBjYXNlIFNFeHQ4OgorICAgICAgICBjYXNlIFNFeHQxNjoKKyAgICAgICAgY2FzZSBUcnVu
YzoKKyAgICAgICAgY2FzZSBTRXh0MzI6CisgICAgICAgIGNhc2UgWkV4dDMyOgorICAgICAgICBj
YXNlIEZsb2F0VG9Eb3VibGU6CisgICAgICAgIGNhc2UgSVRvRDoKKyAgICAgICAgY2FzZSBEb3Vi
bGVUb0Zsb2F0OgorICAgICAgICBjYXNlIElUb0Y6CisgICAgICAgIGNhc2UgQml0d2lzZUNhc3Q6
CisgICAgICAgIGNhc2UgQnJhbmNoOgorICAgICAgICBjYXNlIERlcGVuZDoKKyAgICAgICAgY2Fz
ZSBMb2FkOFo6CisgICAgICAgIGNhc2UgTG9hZDhTOgorICAgICAgICBjYXNlIExvYWQxNlo6Cisg
ICAgICAgIGNhc2UgTG9hZDE2UzoKKyAgICAgICAgY2FzZSBMb2FkOgorICAgICAgICBjYXNlIFN3
aXRjaDoKKyAgICAgICAgY2FzZSBVcHNpbG9uOgorICAgICAgICBjYXNlIFNldDoKKyAgICAgICAg
Y2FzZSBXYXNtQWRkcmVzczoKKyAgICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6CisgICAgICAg
ICAgICByZXR1cm4gc2l6ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgQWRkOgorICAgICAgICBj
YXNlIFN1YjoKKyAgICAgICAgY2FzZSBNdWw6CisgICAgICAgIGNhc2UgRGl2OgorICAgICAgICBj
YXNlIFVEaXY6CisgICAgICAgIGNhc2UgTW9kOgorICAgICAgICBjYXNlIFVNb2Q6CisgICAgICAg
IGNhc2UgQml0QW5kOgorICAgICAgICBjYXNlIEJpdE9yOgorICAgICAgICBjYXNlIEJpdFhvcjoK
KyAgICAgICAgY2FzZSBTaGw6CisgICAgICAgIGNhc2UgU1NocjoKKyAgICAgICAgY2FzZSBaU2hy
OgorICAgICAgICBjYXNlIFJvdFI6CisgICAgICAgIGNhc2UgUm90TDoKKyAgICAgICAgY2FzZSBF
cXVhbDoKKyAgICAgICAgY2FzZSBOb3RFcXVhbDoKKyAgICAgICAgY2FzZSBMZXNzVGhhbjoKKyAg
ICAgICAgY2FzZSBHcmVhdGVyVGhhbjoKKyAgICAgICAgY2FzZSBMZXNzRXF1YWw6CisgICAgICAg
IGNhc2UgR3JlYXRlckVxdWFsOgorICAgICAgICBjYXNlIEFib3ZlOgorICAgICAgICBjYXNlIEJl
bG93OgorICAgICAgICBjYXNlIEFib3ZlRXF1YWw6CisgICAgICAgIGNhc2UgQmVsb3dFcXVhbDoK
KyAgICAgICAgY2FzZSBFcXVhbE9yVW5vcmRlcmVkOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdB
ZGQ6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FuZDoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hn
T3I6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ1N1YjoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hn
WG9yOgorICAgICAgICBjYXNlIEF0b21pY1hjaGc6CisgICAgICAgIGNhc2UgU3RvcmU4OgorICAg
ICAgICBjYXNlIFN0b3JlMTY6CisgICAgICAgIGNhc2UgU3RvcmU6CisgICAgICAgICAgICByZXR1
cm4gMiAqIHNpemVvZihWYWx1ZSopOworICAgICAgICBjYXNlIFNlbGVjdDoKKyAgICAgICAgY2Fz
ZSBBdG9taWNXZWFrQ0FTOgorICAgICAgICBjYXNlIEF0b21pY1N0cm9uZ0NBUzoKKyAgICAgICAg
ICAgIHJldHVybiAzICogc2l6ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgQ0NhbGw6CisgICAg
ICAgIGNhc2UgQ2hlY2s6CisgICAgICAgIGNhc2UgQ2hlY2tBZGQ6CisgICAgICAgIGNhc2UgQ2hl
Y2tTdWI6CisgICAgICAgIGNhc2UgQ2hlY2tNdWw6CisgICAgICAgIGNhc2UgUGF0Y2hwb2ludDoK
KyAgICAgICAgICAgIHJldHVybiBzaXplb2YoVmVjdG9yPFZhbHVlKj4pOworICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiBwcml2YXRlOgor
ICAgIHN0YXRpYyBjaGFyKiBhbGxvY2F0ZVNwYWNlKE9wY29kZSBvcGNvZGUsIHNpemVfdCBzaXpl
KQorICAgIHsKKyAgICAgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RTcGFjZSA9IFZhbHVlOjphZGph
Y2VuY3lMaXN0U3BhY2Uob3Bjb2RlKTsKKyAgICAgICAgLy8gV2UgbXVzdCBhbGxvY2F0ZSBlbm91
Z2ggc3BhY2UgdGhhdCByZXBsYWNlV2l0aElkZW50aXR5IGNhbiB3b3JrIHdpdGhvdXQgYnVmZmVy
IG92ZXJmbG93LgorICAgICAgICBzaXplX3QgYWxsb2NJZGVudGl0eVNpemUgPSBzaXplb2YoVmFs
dWUpICsgc2l6ZW9mKFZhbHVlKik7CisgICAgICAgIHNpemVfdCBhbGxvY1NpemUgPSBzdGQ6Om1h
eChzaXplICsgYWRqYWNlbmN5TGlzdFNwYWNlLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjaGFyKj4oV1RGOjpmYXN0TWFsbG9jKGFsbG9jU2l6ZSkpOwor
ICAgIH0KKworcHJvdGVjdGVkOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlw
ZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHN0YXRpYyBWYWx1ZVR5cGUqIGFsbG9jYXRlKEFyZ3Vt
ZW50cy4uLiBhcmd1bWVudHMpCisgICAgeworICAgICAgICBjaGFyKiBhbGxvYyA9IGFsbG9jYXRl
U3BhY2UoVmFsdWVUeXBlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IoYXJndW1lbnRzLi4uKSwgc2l6
ZW9mKFZhbHVlVHlwZSkpOworICAgICAgICByZXR1cm4gbmV3IChhbGxvYykgVmFsdWVUeXBlKGFy
Z3VtZW50cy4uLik7CisgICAgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KKyAg
ICBzdGF0aWMgVmFsdWVUeXBlKiBhbGxvY2F0ZShjb25zdCBWYWx1ZVR5cGUmIHZhbHVlVG9DbG9u
ZSkKKyAgICB7CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZSh2YWx1ZVRvQ2xv
bmUub3Bjb2RlKCksIHNpemVvZihWYWx1ZVR5cGUpKTsKKyAgICAgICAgVmFsdWVUeXBlKiByZXN1
bHQgPSBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUodmFsdWVUb0Nsb25lKTsKKyAgICAgICAgcmVzdWx0
LT5idWlsZEFkamFjZW5jeUxpc3Qoc2l6ZW9mKFZhbHVlVHlwZSksIHZhbHVlVG9DbG9uZSk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgLy8gUHJvdGVjdGVkIHNvIGl0IHdp
bGwgb25seSBiZSBjYWxsZWQgZnJvbSBhbGxvY2F0ZSBhYm92ZSwgcG9zc2libHkgdGhyb3VnaCB0
aGUgc3ViY2xhc3Nlcydjb3B5IGNvbnN0cnVjdG9ycworICAgIFZhbHVlKGNvbnN0IFZhbHVlJikg
PSBkZWZhdWx0OworCisgICAgVmFsdWUoVmFsdWUmJikgPSBkZWxldGU7CisgICAgVmFsdWUmIG9w
ZXJhdG9yPShjb25zdCBWYWx1ZSYpID0gZGVsZXRlOworICAgIFZhbHVlJiBvcGVyYXRvcj0oVmFs
dWUmJikgPSBkZWxldGU7CisgICAgCisgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RPZmZzZXQoKSBj
b25zdDsKKwogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAgICAgZnJpZW5kIGNsYXNzIFNw
YXJzZUNvbGxlY3Rpb248VmFsdWU+OwogCitwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1l
Li4uIEFyZ3VtZW50cz4KKyAgICB2b2lkIGJ1aWxkQWRqYWNlbmN5TGlzdChOdW1DaGlsZHJlbiBu
dW1DaGlsZHJlbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICB7CisgICAgICAgIGlmIChu
dW1DaGlsZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBuZXcgKGNoaWxkcmVuQWxsb2Mo
KSkgVmVjdG9yPFZhbHVlKj4geyBhcmd1bWVudHMuLi4gfTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorICAgICAgICBBU1NFUlQobnVtQ2hpbGRyZW4gPT0gc2l6ZW9mLi4uKGFyZ3Vt
ZW50cykpOworICAgICAgICBuZXcgKGNoaWxkcmVuQWxsb2MoKSkgVmFsdWUqW3NpemVvZi4uLihh
cmd1bWVudHMpXSB7IGFyZ3VtZW50cy4uLiB9OworICAgIH0KKyAgICB2b2lkIGJ1aWxkQWRqYWNl
bmN5TGlzdChzaXplX3Qgb2Zmc2V0LCBjb25zdCBWYWx1ZSYgdmFsdWVUb0Nsb25lKQorICAgIHsK
KyAgICAgICAgc3dpdGNoICh2YWx1ZVRvQ2xvbmUubV9udW1DaGlsZHJlbikgeworICAgICAgICBj
YXNlIFZhckFyZ3M6CisgICAgICAgICAgICBuZXcgKGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykg
KyBvZmZzZXQpIFZlY3RvcjxWYWx1ZSo+ICh2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5WZWN0b3IoKSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBUaHJlZToKKyAgICAgICAgICAgIGJp
dHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsy
XSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMl07CisgICAgICAgICAgICBGQUxMVEhS
T1VHSDsKKyAgICAgICAgY2FzZSBUd286CisgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8VmFsdWUq
Kj4oYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldClbMV0gPSB2YWx1ZVRvQ2xvbmUu
Y2hpbGRyZW5BcnJheSgpWzFdOworICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIGNh
c2UgT25lOgorICAgICAgICAgICAgYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxj
aGFyKj4odGhpcykgKyBvZmZzZXQpWzBdID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVuQXJyYXkoKVsw
XTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFplcm86CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICAKICAgICAvLyBDaGVja3MgdGhhdCB0aGlzIGtp
bmQgaXMgdmFsaWQgZm9yIHVzZSB3aXRoIEIzOjpWYWx1ZS4KLSAgICBBTFdBWVNfSU5MSU5FIHN0
YXRpYyB2b2lkIGNoZWNrS2luZChLaW5kIGtpbmQsIHVuc2lnbmVkIG51bUFyZ3MpCisgICAgQUxX
QVlTX0lOTElORSBzdGF0aWMgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW5Gb3JLaW5kKEtpbmQga2lu
ZCwgdW5zaWduZWQgbnVtQXJncykKICAgICB7CiAgICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUo
KSkgewogICAgICAgICBjYXNlIEZyYW1lUG9pbnRlcjoKQEAgLTMyNCwxMSArNTYxLDExIEBACiAg
ICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJn
cykpCiAgICAgICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIFplcm87CiAgICAgICAgIGNhc2UgUmV0dXJuOgog
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgPiAxKSkKICAgICAgICAgICAgICAgICBi
YWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBy
ZXR1cm4gbnVtQXJncyA/IE9uZSA6IFplcm87CiAgICAgICAgIGNhc2UgSWRlbnRpdHk6CiAgICAg
ICAgIGNhc2UgT3BhcXVlOgogICAgICAgICBjYXNlIE5lZzoKQEAgLTM1MSw3ICs1ODgsNyBAQAog
ICAgICAgICBjYXNlIERlcGVuZDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzICE9
IDEpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBPbmU7CiAgICAgICAgIGNhc2UgQWRkOgogICAg
ICAgICBjYXNlIFN1YjoKICAgICAgICAgY2FzZSBNdWw6CkBAIC0zODAsMTI5ICs2MTcsMTA1IEBA
CiAgICAgICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShudW1BcmdzICE9IDIpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7
Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBUd287CiAgICAgICAgIGNh
c2UgU2VsZWN0OgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMykpCiAgICAg
ICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgcmV0dXJuIFRocmVlOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
YmFkS2luZChraW5kLCBudW1BcmdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisg
ICAgICAgIHJldHVybiBWYXJBcmdzOwogICAgIH0KIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ2hl
Y2tlZE9wY29kZVRhZyB7IENoZWNrZWRPcGNvZGUgfTsKLQotICAgIFZhbHVlKGNvbnN0IFZhbHVl
JikgPSBkZWZhdWx0OwotICAgIFZhbHVlJiBvcGVyYXRvcj0oY29uc3QgVmFsdWUmKSA9IGRlZmF1
bHQ7CiAgICAgCiAgICAgLy8gSW5zdGFudGlhdGUgdmFsdWVzIHZpYSBQcm9jZWR1cmUuCiAgICAg
Ly8gVGhpcyBmb3JtIHJlcXVpcmVzIHNwZWNpZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRseToKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hl
Y2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiBmaXJzdENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgIGV4cGxpY2l0IFZhbHVl
KENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1D
aGlsZHJlbiwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBh
cmd1bWVudHMpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGUp
CisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdp
bihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCwgYXJndW1lbnRzLi4u
IH0KICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RD
aGlsZCwgYXJndW1lbnRzLi4uKTsKICAgICB9CiAgICAgLy8gVGhpcyBmb3JtIGlzIGZvciBzcGVj
aWZ5aW5nIHRoZSB0eXBlIGV4cGxpY2l0bHkgd2hlbiB0aGUgb3Bjb2RlIGhhcyBubyBjaGlsZHJl
bjoKLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbikKKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFn
LCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBv
cmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGUpCisg
ICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihv
cmlnaW4pCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4pOwog
ICAgIH0KLSAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5m
ZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgotICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bj
b2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQotICAg
ICAgICA6IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0
Q2hpbGQpKQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2NoaWxkcmVu
eyBmaXJzdENoaWxkIH0KLSAgICB7Ci0gICAgfQotICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhv
c2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQg
Zmlyc3QgYW5kIHNlY29uZCBjaGlsZDoKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVu
dHM+Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmln
aW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkLCBBcmd1bWVu
dHMuLi4gYXJndW1lbnRzKQotICAgICAgICA6IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlw
ZSh0eXBlRm9yKGtpbmQsIGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkKSkKLSAgICAgICAgLCBtX29y
aWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCwgc2Vjb25kQ2hp
bGQsIGFyZ3VtZW50cy4uLiB9Ci0gICAgewotICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9y
IHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUg
YWxvbmUsIGFuZCB0aGF0IGRvbid0CiAgICAgLy8gdGFrZSBhbnkgYXJndW1lbnRzOgotICAgIGV4
cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbikK
KyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE51bUNoaWxk
cmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luKQogICAgICAgICA6IG1fa2luZChraW5kKQog
ICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIG51bGxwdHIpKQorICAgICAgICAsIG1fbnVt
Q2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgIHsK
KyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuKTsKICAgICB9Ci0gICAgLy8g
VXNlIHRoaXMgZm9ybSBmb3IgdmFyYXJncy4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bj
b2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgY29uc3QgQWRqYWNl
bmN5TGlzdCYgY2hpbGRyZW4pCisgICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVz
IHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBjaGls
ZDoKKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE51bUNo
aWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCkKICAg
ICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBt
X3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkKSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVu
KG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2No
aWxkcmVuKGNoaWxkcmVuKQogICAgIHsKKyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNo
aWxkcmVuLCBmaXJzdENoaWxkKTsKICAgICB9Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9w
Y29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxp
c3QmJiBjaGlsZHJlbikKKyAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhh
dCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGFuZCBzZWNv
bmQgY2hpbGQ6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIGV4cGxp
Y2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hp
bGRyZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBWYWx1ZSogc2Vjb25kQ2hp
bGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAg
ICAgICwgbV90eXBlKHR5cGUpCisgICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RD
aGlsZCwgc2Vjb25kQ2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4p
CiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oV1RGTW92
ZShjaGlsZHJlbikpCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRy
ZW4sIGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkLCBhcmd1bWVudHMuLi4pOwogICAgIH0KIAogICAg
IC8vIFRoaXMgaXMgdGhlIGNvbnN0cnVjdG9yIHlvdSBlbmQgdXAgYWN0dWFsbHkgY2FsbGluZywg
aWYgeW91J3JlIGluc3RhbnRpYXRpbmcgVmFsdWUKICAgICAvLyBkaXJlY3RseS4KLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQg
a2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbikKKyAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQs
IFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBraW5kLCB0eXBlLCBaZXJvLCBvcmlnaW4pCiAgICAgewotICAgICAgICBjaGVja0tpbmQoa2lu
ZCwgMCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuRm9yS2luZChraW5kLCAw
KSA9PSBaZXJvKTsKICAgICB9CisgICAgLy8gV2UgZXhwbGljaXRseSBjb252ZXJ0IHRoZSBleHRy
YSBhcmd1bWVudHMgdG8gVmFsdWUqICh0aGV5IG1heSBiZSBwb2ludGVycyB0byBzb21lIHN1YmNs
YXNzZXMgb2YgVmFsdWUpIHRvIGxpbWl0IHRlbXBsYXRlIGV4cGxvc2lvbgogICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5k
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMm
Ji4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgb3JpZ2luLCBmaXJzdENoaWxkLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMp
Li4uKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgQXJndW1l
bnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBu
dW1DaGlsZHJlbkZvcktpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50cykpLCBvcmlnaW4sIHN0
YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICB7Ci0gICAgICAgIGNoZWNrS2lu
ZChraW5kLCAxICsgc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwogICAgIH0KICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwg
VHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbikK
LSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGNoaWxk
cmVuKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3Jp
Z2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBudW1DaGlsZHJlbkZvcktpbmQoa2lu
ZCwgMSArIHNpemVvZi4uLihhcmd1bWVudHMpKSwgb3JpZ2luLCBmaXJzdENoaWxkLCBzdGF0aWNf
Y2FzdDxWYWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgewotICAgICAgICBjaGVja0tpbmQoa2lu
ZCwgY2hpbGRyZW4uc2l6ZSgpKTsKICAgICB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgotICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3Jp
Z2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgV1RGTW92ZShjaGlsZHJlbikpCi0gICAg
ewotICAgICAgICBjaGVja0tpbmQoa2luZCwgbV9jaGlsZHJlbi5zaXplKCkpOwotICAgIH0KLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVl
KEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQotICAg
ICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG9yaWdpbiwgc3RkOjpmb3J3YXJkPEFy
Z3VtZW50cz4oYXJndW1lbnRzKS4uLikKLSAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBz
aXplb2YuLi4oYXJndW1lbnRzKSk7Ci0gICAgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBDaGVja1ZhbHVlOyAvLyBDaGVja1ZhbHVlOjpjb252ZXJ0VG9BZGQoKSBtb2RpZmllcyBtX2tp
bmQuCi0gICAgCisKICAgICBzdGF0aWMgVHlwZSB0eXBlRm9yKEtpbmQsIFZhbHVlKiBmaXJzdENo
aWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQgPSBudWxscHRyKTsKIAotICAgIC8vIFRoaXMgZ3JvdXAg
b2YgZmllbGRzIGlzIGFycmFuZ2VkIHRvIGZpdCBpbiA2NCBiaXRzLgorICAgIC8vIG1faW5kZXgg
dG8gbV9udW1DaGlsZHJlbiBhcmUgYXJyYW5nZWQgdG8gZml0IGluIDY0IGJpdHMuCiBwcm90ZWN0
ZWQ6CiAgICAgdW5zaWduZWQgbV9pbmRleCB7IFVJTlRfTUFYIH07CiBwcml2YXRlOgogICAgIEtp
bmQgbV9raW5kOwogICAgIFR5cGUgbV90eXBlOwotICAgIAorcHJvdGVjdGVkOgorICAgIE51bUNo
aWxkcmVuIG1fbnVtQ2hpbGRyZW47Citwcml2YXRlOgogICAgIE9yaWdpbiBtX29yaWdpbjsKLSAg
ICBBZGphY2VuY3lMaXN0IG1fY2hpbGRyZW47CiAKICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNI
IHN0YXRpYyB2b2lkIGJhZEtpbmQoS2luZCwgdW5zaWduZWQpOwogCkBAIC01MTgsMTMgKzczMSw3
IEBACiAgICAgewogICAgIH0KIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dAotICAgIHsKLSAgICAgICAgaWYgKG1fdmFsdWUpCi0gICAgICAgICAgICBtX3ZhbHVlLT5kZWVw
RHVtcChtX3Byb2MsIG91dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG91dC5wcmludCgi
PG51bGw+Iik7Ci0gICAgfQorICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBjb25zdCBQcm9jZWR1cmUqIG1fcHJvYzsKQEAgLTU0MCw2ICs3NDcs
MTE2IEBACiAgICAgcmV0dXJuIERlZXBWYWx1ZUR1bXAobnVsbHB0ciwgdmFsdWUpOwogfQogCisv
LyBUaGUgZm9sbG93aW5nIG1hY3JvcyBhcmUgZGVzaWduZWQgZm9yIHN1YmNsYXNzZXMgb2YgQjM6
OlZhbHVlIHRvIHVzZS4KKy8vIFRoZXkgYXJlIG5ldmVyIHJlcXVpcmVkIGZvciBjb3JyZWN0bmVz
cywgYnV0IGNhbiBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBvZiBjaGlsZC9sYXN0Q2hpbGQvbnVt
Q2hpbGRyZW4vY2hpbGRyZW4gbWV0aG9kcywKKy8vIGZvciB1c2VycyB0aGF0IGFscmVhZHkga25v
dyB0aGUgc3BlY2lmaWMgc3ViY2xhc3Mgb2YgVmFsdWUgdGhleSBhcmUgbWFuaXB1bGF0aW5nLgor
Ly8gVGhlIGZpcnN0IHNldCBpcyB0byBiZSB1c2VkIHdoZW4geW91IGtub3cgc29tZXRoaW5nIGFi
b3V0IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gb2YgYWxsIHZhbHVlcyBvZiBhIGNsYXNzLCBpbmNs
dWRpbmcgaXRzIHN1YmNsYXNzZXM6CisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NI
SUxEUkVOOiBhbHdheXMgMCBjaGlsZHJlbiAoZS5nLiBDb25zdDMyVmFsdWUpCisvLyAtIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKG4pOiBhbHdheXMgbiBjaGlsZHJlbiwg
d2l0aCBuIGluIHsxLCAyLCAzfSAoZS5nLiBVcHNpbG9uVmFsdWUsIHdpdGggbiA9IDEpCisvLyAt
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOOiBkaWZmZXJlbnQg
bnVtYmVycyBvZiBjaGlsZHJlbiwgYnV0IG5ldmVyIGEgdmFyaWFibGUgbnVtYmVyIGF0IHJ1bnRp
bWUgKGUuZy4gTWVtb3J5VmFsdWUsIHRoYXQgY2FuIGhhdmUgYmV0d2VlbiAxIGFuZCAzIGNoaWxk
cmVuKQorLy8gLSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOOiBhbHdh
eXMgYSB2YXJhcmdzIChlLmcuIENDYWxsVmFsdWUpCisvLyBUaGUgc2Vjb25kIHNldCBpcyBvbmx5
IHRvIGJlIHVzZWQgYnkgY2xhc3NlcyB0aGF0IHdlIGtub3cgYXJlIG5vdCBmdXJ0aGVyIHN1YmNs
YXNzZWQgYnkgYW55b25lIGFkZGluZyBmaWVsZHMsCisvLyBhcyB0aGV5IGhhcmRjb2RlIHRoZSBv
ZmZzZXQgb2YgdGhlIGNoaWxkcmVuIGFycmF5L3ZlY3RvciAod2hpY2ggaXMgZXF1YWwgdG8gdGhl
IHNpemUgb2YgdGhlIG9iamVjdCkuCisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFM
X1NJWkVfRklYRURfQ0hJTERSRU4KKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxf
U0laRV9WQVJBUkdTX0NISUxEUkVOCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05P
X0NISUxEUkVOIFwKKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIDA7
IH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIHsgcmV0dXJu
IHtudWxscHRyLCBudWxscHRyfTsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBj
b25zdCo+IGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4geyBudWxscHRyLCBudWxscHRyfTsgfQor
CisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKG4pIFwKK3B1
YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbjsgfSBc
CisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgXAorICAgIHsgXAorICAgICAgICBB
U1NFUlQoaW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRl
eF07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IFwK
KyAgICB7IFwKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9IG4pOyBcCisgICAgICAgIHJldHVybiBj
aGlsZHJlbkFycmF5KClbaW5kZXhdOyBcCisgICAgfSBcCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQo
KSBcCisgICAgeyBcCisgICAgICAgIHJldHVybiBjaGlsZHJlbkFycmF5KClbbiAtIDFdOyBcCisg
ICAgfSBcCisgICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAg
cmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJh
dG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiog
YnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZm
ZXIgKyBuIH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0
Kj4gY2hpbGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVm
ZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIg
KyBuIH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05f
VkFSQVJHU19DSElMRFJFTiBcCitwdWJsaWM6IFwKKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigp
IGNvbnN0IHsgcmV0dXJuIG1fbnVtQ2hpbGRyZW47IH0gXAorICAgIFZhbHVlKiYgY2hpbGQodW5z
aWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IH0gXAorICAgIFZh
bHVlKiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgp
W2luZGV4XTsgfSBcCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBjaGlsZHJlbkFy
cmF5KClbbnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29u
c3QgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgpW251bUNoaWxkcmVuKCkgLSAxXTsgfSBcCisgICAg
V1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgXAorICAgIHsgXAorICAgICAg
ICBWYWx1ZSoqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsgXAorICAgICAgICByZXR1cm4ge2J1
ZmZlciwgYnVmZmVyICsgbnVtQ2hpbGRyZW4oKSB9OyBcCisgICAgfSBcCisgICAgV1RGOjpJdGVy
YXRvclJhbmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QgXAorICAgIHsgXAorICAg
ICAgICBWYWx1ZSogY29uc3QqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsgXAorICAgICAgICBy
ZXR1cm4ge2J1ZmZlciwgYnVmZmVyICsgbnVtQ2hpbGRyZW4oKSB9OyBcCisgICAgfSBcCisKKyNk
ZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJHU19DSElMRFJFTiBcCitwdWJsaWM6
IFwKKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVj
dG9yKCkuc2l6ZSgpOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4KSB7IHJl
dHVybiBjaGlsZHJlblZlY3RvcigpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2ln
bmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBjaGlsZHJlblZlY3RvcigpW2luZGV4XTsgfSBcCisg
ICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsg
fSBcCisgICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9y
KCkubGFzdCgpOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4o
KSBcCisgICAgeyBcCisgICAgICAgIFZlY3RvcjxWYWx1ZSo+JiB2ZWMgPSBjaGlsZHJlblZlY3Rv
cigpOyBcCisgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCYqdmVjLmJlZ2lu
KCksICYqdmVjLmVuZCgpKTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1
ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgY29uc3QgVmVj
dG9yPFZhbHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAg
fSBcCisKKy8vIE9ubHkgdXNlIHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0
IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisvLyBBbHNvIHRoZXJl
IGlzIG5vIHBvaW50IGluIGFwcGx5aW5nIHRoaXMgdG8gY2xhc3NlcyB3aXRoIG5vIGNoaWxkcmVu
LCBhcyB0aGV5IGRvbid0IGhhdmUgYSBjaGlsZHJlbiBhcnJheSB0byBhY2Nlc3MuCisjZGVmaW5l
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4gXAorcHJp
dmF0ZTogXAorICAgIFZhbHVlKiogY2hpbGRyZW5BcnJheSgpIFwKKyAgICB7IFwKKyAgICAgICAg
cmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsg
c2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogY29uc3QqIGNoaWxkcmVuQXJy
YXkoKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFsdWUq
IGNvbnN0Kj4oYml0d2lzZV9jYXN0PGNoYXIgY29uc3QqPih0aGlzKSArIHNpemVvZigqdGhpcykp
OyBcCisgICAgfQorCisvLyBPbmx5IHVzZSB0aGlzIGZvciBjbGFzc2VzIHdpdGggbm8gc3ViY2xh
c3MgdGhhdCBhZGQgbmV3IGZpZWxkcyAoYXMgaXQgdXNlcyBzaXplb2YoKnRoaXMpKQorI2RlZmlu
ZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4gXAor
cHJpdmF0ZTogXAorICAgIFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJlblZlY3RvcigpIFwKKyAgICB7
IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKj4qPihiaXR3aXNl
X2Nhc3Q8Y2hhcio+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKyAgICBjb25z
dCBWZWN0b3I8VmFsdWUqPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdCBcCisgICAgeyBcCisgICAg
ICAgIHJldHVybiAqYml0d2lzZV9jYXN0PFZlY3RvcjxWYWx1ZSo+IGNvbnN0Kj4oYml0d2lzZV9j
YXN0PGNoYXIgY29uc3QqPih0aGlzKSArIHNpemVvZigqdGhpcykpOyBcCisgICAgfSBcCisKIH0g
fSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCShyZXZpc2lvbiAyNDM0
NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGluZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsMTkgKzI3LDE1NyBAQAogCiAjaWYgRU5BQkxFKEIzX0pJVCkKIAorI2lu
Y2x1ZGUgIkIzQXJndW1lbnRSZWdWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQXRvbWljVmFsdWUuaCIK
KyNpbmNsdWRlICJCM0NDYWxsVmFsdWUuaCIKICNpbmNsdWRlICJCM0NoZWNrVmFsdWUuaCIKICNp
bmNsdWRlICJCM0NvbnN0MzJWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3Q2NFZhbHVlLmgiCiAj
aW5jbHVkZSAiQjNDb25zdERvdWJsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdEZsb2F0VmFs
dWUuaCIKKyNpbmNsdWRlICJCM0ZlbmNlVmFsdWUuaCIKKyNpbmNsdWRlICJCM01lbW9yeVZhbHVl
LmgiCiAjaW5jbHVkZSAiQjNQYXRjaHBvaW50VmFsdWUuaCIKICNpbmNsdWRlICJCM1BoaUNoaWxk
cmVuLmgiCiAjaW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJCM1Nsb3RCYXNlVmFs
dWUuaCIKKyNpbmNsdWRlICJCM1N3aXRjaFZhbHVlLmgiCisjaW5jbHVkZSAiQjNVcHNpbG9uVmFs
dWUuaCIKICNpbmNsdWRlICJCM1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNWYXJpYWJsZVZhbHVlLmgi
CisjaW5jbHVkZSAiQjNXYXNtQWRkcmVzc1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNXYXNtQm91bmRz
Q2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9HcmFwaE5vZGVXb3JrbGlzdC5oPgogCiBuYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAorI2RlZmluZSBESVNQQVRDSF9PTl9LSU5EKE1B
Q1JPKSBcCisgICAgc3dpdGNoIChraW5kKCkub3Bjb2RlKCkpIHsgXAorICAgIGNhc2UgRnJhbWVQ
b2ludGVyOiBcCisgICAgY2FzZSBOb3A6IFwKKyAgICBjYXNlIFBoaTogXAorICAgIGNhc2UgSnVt
cDogXAorICAgIGNhc2UgT29wczogXAorICAgIGNhc2UgRW50cnlTd2l0Y2g6IFwKKyAgICBjYXNl
IFJldHVybjogXAorICAgIGNhc2UgSWRlbnRpdHk6IFwKKyAgICBjYXNlIE9wYXF1ZTogXAorICAg
IGNhc2UgTmVnOiBcCisgICAgY2FzZSBDbHo6IFwKKyAgICBjYXNlIEFiczogXAorICAgIGNhc2Ug
Q2VpbDogXAorICAgIGNhc2UgRmxvb3I6IFwKKyAgICBjYXNlIFNxcnQ6IFwKKyAgICBjYXNlIFNF
eHQ4OiBcCisgICAgY2FzZSBTRXh0MTY6IFwKKyAgICBjYXNlIFRydW5jOiBcCisgICAgY2FzZSBT
RXh0MzI6IFwKKyAgICBjYXNlIFpFeHQzMjogXAorICAgIGNhc2UgRmxvYXRUb0RvdWJsZTogXAor
ICAgIGNhc2UgSVRvRDogXAorICAgIGNhc2UgRG91YmxlVG9GbG9hdDogXAorICAgIGNhc2UgSVRv
RjogXAorICAgIGNhc2UgQml0d2lzZUNhc3Q6IFwKKyAgICBjYXNlIEJyYW5jaDogXAorICAgIGNh
c2UgRGVwZW5kOiBcCisgICAgY2FzZSBBZGQ6IFwKKyAgICBjYXNlIFN1YjogXAorICAgIGNhc2Ug
TXVsOiBcCisgICAgY2FzZSBEaXY6IFwKKyAgICBjYXNlIFVEaXY6IFwKKyAgICBjYXNlIE1vZDog
XAorICAgIGNhc2UgVU1vZDogXAorICAgIGNhc2UgQml0QW5kOiBcCisgICAgY2FzZSBCaXRPcjog
XAorICAgIGNhc2UgQml0WG9yOiBcCisgICAgY2FzZSBTaGw6IFwKKyAgICBjYXNlIFNTaHI6IFwK
KyAgICBjYXNlIFpTaHI6IFwKKyAgICBjYXNlIFJvdFI6IFwKKyAgICBjYXNlIFJvdEw6IFwKKyAg
ICBjYXNlIEVxdWFsOiBcCisgICAgY2FzZSBOb3RFcXVhbDogXAorICAgIGNhc2UgTGVzc1RoYW46
IFwKKyAgICBjYXNlIEdyZWF0ZXJUaGFuOiBcCisgICAgY2FzZSBMZXNzRXF1YWw6IFwKKyAgICBj
YXNlIEdyZWF0ZXJFcXVhbDogXAorICAgIGNhc2UgQWJvdmU6IFwKKyAgICBjYXNlIEJlbG93OiBc
CisgICAgY2FzZSBBYm92ZUVxdWFsOiBcCisgICAgY2FzZSBCZWxvd0VxdWFsOiBcCisgICAgY2Fz
ZSBFcXVhbE9yVW5vcmRlcmVkOiBcCisgICAgY2FzZSBTZWxlY3Q6IFwKKyAgICAgICAgcmV0dXJu
IE1BQ1JPKFZhbHVlKTsgXAorICAgIGNhc2UgQXJndW1lbnRSZWc6IFwKKyAgICAgICAgcmV0dXJu
IE1BQ1JPKEFyZ3VtZW50UmVnVmFsdWUpOyBcCisgICAgY2FzZSBDb25zdDMyOiBcCisgICAgICAg
IHJldHVybiBNQUNSTyhDb25zdDMyVmFsdWUpOyBcCisgICAgY2FzZSBDb25zdDY0OiBcCisgICAg
ICAgIHJldHVybiBNQUNSTyhDb25zdDY0VmFsdWUpOyBcCisgICAgY2FzZSBDb25zdEZsb2F0OiBc
CisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdEZsb2F0VmFsdWUpOyBcCisgICAgY2FzZSBDb25z
dERvdWJsZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3REb3VibGVWYWx1ZSk7IFwKKyAg
ICBjYXNlIEZlbmNlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhGZW5jZVZhbHVlKTsgXAorICAg
IGNhc2UgU2xvdEJhc2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFNsb3RCYXNlVmFsdWUpOyBc
CisgICAgY2FzZSBHZXQ6IFwKKyAgICBjYXNlIFNldDogXAorICAgICAgICByZXR1cm4gTUFDUk8o
VmFyaWFibGVWYWx1ZSk7IFwKKyAgICBjYXNlIExvYWQ4WjogXAorICAgIGNhc2UgTG9hZDhTOiBc
CisgICAgY2FzZSBMb2FkMTZaOiBcCisgICAgY2FzZSBMb2FkMTZTOiBcCisgICAgY2FzZSBMb2Fk
OiBcCisgICAgY2FzZSBTdG9yZTg6IFwKKyAgICBjYXNlIFN0b3JlMTY6IFwKKyAgICBjYXNlIFN0
b3JlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhNZW1vcnlWYWx1ZSk7IFwKKyAgICBjYXNlIFN3
aXRjaDogXAorICAgICAgICByZXR1cm4gTUFDUk8oU3dpdGNoVmFsdWUpOyBcCisgICAgY2FzZSBV
cHNpbG9uOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhVcHNpbG9uVmFsdWUpOyBcCisgICAgY2Fz
ZSBXYXNtQWRkcmVzczogXAorICAgICAgICByZXR1cm4gTUFDUk8oV2FzbUFkZHJlc3NWYWx1ZSk7
IFwKKyAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazogXAorICAgICAgICByZXR1cm4gTUFDUk8oV2Fz
bUJvdW5kc0NoZWNrVmFsdWUpOyBcCisgICAgY2FzZSBBdG9taWNYY2hnQWRkOiBcCisgICAgY2Fz
ZSBBdG9taWNYY2hnQW5kOiBcCisgICAgY2FzZSBBdG9taWNYY2hnT3I6IFwKKyAgICBjYXNlIEF0
b21pY1hjaGdTdWI6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdYb3I6IFwKKyAgICBjYXNlIEF0b21p
Y1hjaGc6IFwKKyAgICBjYXNlIEF0b21pY1dlYWtDQVM6IFwKKyAgICBjYXNlIEF0b21pY1N0cm9u
Z0NBUzogXAorICAgICAgICByZXR1cm4gTUFDUk8oQXRvbWljVmFsdWUpOyBcCisgICAgY2FzZSBD
Q2FsbDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ0NhbGxWYWx1ZSk7IFwKKyAgICBjYXNlIENo
ZWNrOiBcCisgICAgY2FzZSBDaGVja0FkZDogXAorICAgIGNhc2UgQ2hlY2tTdWI6IFwKKyAgICBj
YXNlIENoZWNrTXVsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDaGVja1ZhbHVlKTsgXAorICAg
IGNhc2UgUGF0Y2hwb2ludDogXAorICAgICAgICByZXR1cm4gTUFDUk8oUGF0Y2hwb2ludFZhbHVl
KTsgXAorICAgIGRlZmF1bHQ6IFwKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsgXAorICAgIH0KKworQUxXQVlTX0lOTElORSBzaXplX3QgVmFsdWU6OmFkamFjZW5jeUxpc3RP
ZmZzZXQoKSBjb25zdAoreworI2RlZmluZSBWQUxVRV9UWVBFX1NJWkUoVmFsdWVUeXBlKSBzaXpl
b2YoVmFsdWVUeXBlKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQRV9TSVpFKTsKKyN1
bmRlZiBWQUxVRV9UWVBFX1NJWkUKK30KKworQUxXQVlTX0lOTElORSBWYWx1ZSogVmFsdWU6OmNs
b25lSW1wbCgpIGNvbnN0Cit7CisjZGVmaW5lIFZBTFVFX1RZUEVfQ0xPTkUoVmFsdWVUeXBlKSBh
bGxvY2F0ZTxWYWx1ZVR5cGU+KCpzdGF0aWNfY2FzdDxjb25zdCBWYWx1ZVR5cGUqPih0aGlzKSkK
KyAgICBESVNQQVRDSF9PTl9LSU5EKFZBTFVFX1RZUEVfQ0xPTkUpOworI3VuZGVmIFZBTFVFX1RZ
UEVfQ0xPTkUKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgQm90dG9tUHJvdmlkZXI+CiB2b2lkIFZh
bHVlOjpyZXBsYWNlV2l0aEJvdHRvbShjb25zdCBCb3R0b21Qcm92aWRlciYgYm90dG9tUHJvdmlk
ZXIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVl
LmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFy
aWFibGVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEzICs0MSw4IEBACiAgICAgb3V0
LnByaW50KGNvbW1hLCBwb2ludGVyRHVtcChtX3ZhcmlhYmxlKSk7CiB9CiAKLVZhbHVlKiBWYXJp
YWJsZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgVmFyaWFibGVW
YWx1ZSgqdGhpcyk7Ci19Ci0KIFZhcmlhYmxlVmFsdWU6OlZhcmlhYmxlVmFsdWUoS2luZCBraW5k
LCBPcmlnaW4gb3JpZ2luLCBWYXJpYWJsZSogdmFyaWFibGUsIFZhbHVlKiB2YWx1ZSkKLSAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIG9yaWdpbiwgdmFsdWUpCisgICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAg
LCBtX3ZhcmlhYmxlKHZhcmlhYmxlKQogewogICAgIEFTU0VSVChraW5kID09IFNldCk7CkBAIC01
NCw3ICs0OSw3IEBACiB9CiAKIFZhcmlhYmxlVmFsdWU6OlZhcmlhYmxlVmFsdWUoS2luZCBraW5k
LCBPcmlnaW4gb3JpZ2luLCBWYXJpYWJsZSogdmFyaWFibGUpCi0gICAgOiBWYWx1ZShDaGVja2Vk
T3Bjb2RlLCBraW5kLCB2YXJpYWJsZS0+dHlwZSgpLCBvcmlnaW4pCisgICAgOiBWYWx1ZShDaGVj
a2VkT3Bjb2RlLCBraW5kLCB2YXJpYWJsZS0+dHlwZSgpLCBaZXJvLCBvcmlnaW4pCiAgICAgLCBt
X3ZhcmlhYmxlKHZhcmlhYmxlKQogewogICAgIEFTU0VSVChraW5kID09IEdldCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFibGVWYWx1ZS5oCShyZXZpc2lvbiAyNDM0
NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDEzICs0MSwxNSBAQAogCiAgICAgVmFyaWFibGUqIHZhcmlhYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV92YXJpYWJsZTsgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9G
T1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5B
TF9TSVpFX0ZJWEVEX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSog
Y2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICAvLyBVc2UgdGhpcyBm
b3IgU2V0LgogICAgIFZhcmlhYmxlVmFsdWUoS2luZCwgT3JpZ2luLCBWYXJpYWJsZSosIFZhbHVl
Kik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1Zh
bHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
V2FzbUFkZHJlc3NWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEzICszOSw4IEBACiAg
ICAgb3V0LnByaW50KGNvbW1hLCBtX3Bpbm5lZEdQUik7CiB9CiAKLVZhbHVlKiBXYXNtQWRkcmVz
c1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUFkZHJlc3NW
YWx1ZSgqdGhpcyk7Ci19Ci0KIFdhc21BZGRyZXNzVmFsdWU6Oldhc21BZGRyZXNzVmFsdWUoT3Jp
Z2luIG9yaWdpbiwgVmFsdWUqIHZhbHVlLCBHUFJSZWcgcGlubmVkR1BSKQotICAgIDogVmFsdWUo
Q2hlY2tlZE9wY29kZSwgV2FzbUFkZHJlc3MsIEludDY0LCBvcmlnaW4sIHZhbHVlKQorICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUFkZHJlc3MsIEludDY0LCBPbmUsIG9yaWdpbiwgdmFs
dWUpCiAgICAgLCBtX3Bpbm5lZEdQUihwaW5uZWRHUFIpCiB7CiB9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDE0ICs0MCwxNyBAQAogCiAgICAgR1BSUmVnIHBpbm5lZEdQUigpIGNv
bnN0IHsgcmV0dXJuIG1fcGlubmVkR1BSOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJ
WkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQ
cmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9u
ZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bj
b2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBHUFJSZWcpIHsgcmV0dXJuIFdhc21B
ZGRyZXNzOyB9CiAgICAgV2FzbUFkZHJlc3NWYWx1ZShPcmlnaW4sIFZhbHVlKiwgR1BSUmVnKTsK
IAogICAgIEdQUlJlZyBtX3Bpbm5lZEdQUjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogfQogCiBXYXNtQm91bmRzQ2hlY2tWYWx1
ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwgR1BSUmVnIHBpbm5lZFNpemUs
IFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAgICAgLCBtX29mZnNldChvZmZz
ZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6UGlubmVkKQogewpAQCAtNDQsNyArNDQsNyBA
QAogfQogCiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2lu
IG9yaWdpbiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgbWF4aW11bSkKLSAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBw
dHIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6TWF4
aW11bSkKIHsKQEAgLTU1LDExICs1NSw2IEBACiAgICAgbV9ib3VuZHMubWF4aW11bSA9IG1heGlt
dW07CiB9CiAKLVZhbHVlKiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbmV3IFdhc21Cb3VuZHNDaGVja1ZhbHVlKCp0aGlzKTsKLX0KLQogdm9p
ZCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fYm91bmRzVHlwZSkgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1
ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNt
Qm91bmRzQ2hlY2tWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxNSArMzQsNyBAQAogCiBj
bGFzcyBXYXNtQm91bmRzQ2hlY2tWYWx1ZSA6IHB1YmxpYyBWYWx1ZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIGJvb2wgYWNjZXB0cyhLaW5kIGtpbmQpCi0gICAgewotICAgICAgICBzd2l0Y2ggKGtp
bmQub3Bjb2RlKCkpIHsKLSAgICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6Ci0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgfQotICAgIH0KKyAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkg
eyByZXR1cm4ga2luZCA9PSBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICAKICAgICB+V2FzbUJvdW5k
c0NoZWNrVmFsdWUoKTsKIApAQCAtNjAsMTUgKzUyLDIwIEBACiAgICAgVHlwZSBib3VuZHNUeXBl
KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHNUeXBlOyB9CiAgICAgQm91bmRzIGJvdW5kcygpIGNv
bnN0IHsgcmV0dXJuIG1fYm91bmRzOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9G
SVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
RklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmlu
dGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUlt
cGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2Rl
RnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgR1BSUmVnLCBWYWx1ZSosIHVuc2lnbmVkKSB7IHJldHVy
biBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBXYXNtQm91bmRzQ2hl
Y2tWYWx1ZShPcmlnaW4sIEdQUlJlZyBwaW5uZWRHUFIsIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9m
ZnNldCk7CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4s
IFZhbHVlKiwgdW5zaWduZWQsIHNpemVfdCkgeyByZXR1cm4gV2FzbUJvdW5kc0NoZWNrOyB9CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgV2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luLCBWYWx1ZSog
cHRyLCB1bnNpZ25lZCBvZmZzZXQsIHNpemVfdCBtYXhpbXVtKTsKIAogICAgIHVuc2lnbmVkIG1f
b2Zmc2V0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDI0
MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDc0Miw3ICsxMDc0Miw3IEBACiAgICAgQ0NhbGxWYWx1ZSogY2FsbCA9IHJvb3Qt
PmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAgcHJvYywgSW50MzIsIE9yaWdpbigpLAog
ICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIHRh
Z0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMsIEIzQ0NhbGxQ
dHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAg
Y2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9s
VmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwNzY4LDcgKzEwNzY4
LDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+
KAogICAgICAgICBwcm9jLCBJbnQ2NCwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5l
dzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihm
dW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+
Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdz
KTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBP
cmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwNzkwLDcgKzEwNzkwLDcgQEAKICAgICBDQ2FsbFZhbHVl
KiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJbnQz
MiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9j
LCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFyZ3Vt
ZW50czMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0
b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5h
cHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAg
LTEwODkwLDcgKzEwODkwLDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5k
TmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBEb3VibGUsIE9yaWdpbigpLAogICAgICAg
ICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIHRhZ0NGdW5j
dGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFEb3VibGVBcmd1bWVudHMsIEIzQ0NhbGxQ
dHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAg
Y2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9s
VmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwOTE0LDcgKzEwOTE0
LDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+
KAogICAgICAgICBwcm9jLCBGbG9hdCwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5l
dzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihm
dW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzLCBCM0NDYWxsUHRyVGFnKSkpOwotICAgIGNh
bGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwtPmFwcGVuZEFyZ3Mo
YXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVy
biwgT3JpZ2luKCksIGNhbGwpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TE91dHB1dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0
cHV0LmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
T3V0cHV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4MCw3ICszODAsNyBAQAogICAgIExWYWx1ZSBj
YWxsKExUeXBlIHR5cGUsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgVmVjdG9yVHlwZSYgdmVjdG9y
KQogICAgIHsKICAgICAgICAgQjM6OkNDYWxsVmFsdWUqIHJlc3VsdCA9IG1fYmxvY2stPmFwcGVu
ZE5ldzxCMzo6Q0NhbGxWYWx1ZT4obV9wcm9jLCB0eXBlLCBvcmlnaW4oKSwgZnVuY3Rpb24pOwot
ICAgICAgICByZXN1bHQtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKHZlY3Rvcik7CisgICAgICAg
IHJlc3VsdC0+YXBwZW5kQXJncyh2ZWN0b3IpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KICAgICBMVmFsdWUgY2FsbChMVHlwZSB0eXBlLCBMVmFsdWUgZnVuY3Rpb24pIHsgcmV0dXJu
IG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6Q0NhbGxWYWx1ZT4obV9wcm9jLCB0eXBlLCBvcmlnaW4o
KSwgZnVuY3Rpb24pOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365931</attachid>
            <date>2019-03-25 17:58:44 -0700</date>
            <delta_ts>2019-03-27 15:47:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch196091_fixed</filename>
            <type>text/plain</type>
            <size>86232</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0MiBA
QAorMjAxOS0wMy0yNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIEIzOjpWYWx1ZSBzaG91bGQgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgYWRqYWNlbmN5
IGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTYwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUga2V5IGlkZWEgb2YgdGhpcyBvcHRpbWl6YXRpb24gaXMgdG8gcmVwbGFjZSB0aGUgVmVjdG9y
PFZhbHVlKiwgMz4gbV9jaGlsZHJlbiBpbiBCMzo6VmFsdWUgKDQwIGJ5dGVzIG9uIDY0LWJpdHMg
cGxhdGZvcm0pIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgorICAgICAgICAtIE5vdGhpbmcgKDAg
Ynl0ZXMpCisgICAgICAgIC0gMSBWYWx1ZSogKDggYnl0ZXMpCisgICAgICAgIC0gMiBWYWx1ZSog
KDE2IGJ5dGVzKQorICAgICAgICAtIDMgVmFsdWUqICgyNCBieXRlcykKKyAgICAgICAgLSBBIFZl
Y3RvcjxWYWx1ZSo+ICgxNiBieXRlcyArIGhvd2V2ZXIgbWFueSBmb3IgdGhlIGNvbnRlbnQpCisg
ICAgICAgIGFmdGVyIHRoZSBlbmQgb2YgdGhlIFZhbHVlIG9iamVjdCwgZGVwZW5kaW5nIG9uIHRo
ZSBraW5kIG9mIHRoZSBWYWx1ZS4KKyAgICAgICAgU28gZm9yIGV4YW1wbGUsIHdoZW4gYWxsb2Nh
dGluZyBhbiBBZGQsIHdlIHdvdWxkIGFsbG9jYXRlIGFuIGV4dHJhIDE2IGJ5dGVzIGludG8gd2hp
Y2ggdG8gc3RvcmUgMiBWYWx1ZXMuCisgICAgICAgIFRoaXMgd291bGQgaGFsdmUgdGhlIG1lbW9y
eSBjb25zdW1wdGlvbiBvZiBDb25zdDY0L0NvbnN0MzIvTm9wL0lkZW50aXR5IGFuZCBhIGJ1bmNo
IG1vcmUga2luZHMgb2YgdmFsdWVzLCBhbmQgcmVkdWNlIGJ5IGEgbW9yZSBtb2RlcmF0ZSBhbW91
bnQgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiB0aGUgcmVzdCAoZS5nLiBBZGQgd291bGQgZ28g
ZnJvbSA3MiB0byA0OCBieXRlcykuCisKKyAgICAgICAgQSBmZXcgaW1wbGVtZW50YXRpb24gcG9p
bnRzOgorICAgICAgICAtIEV2ZW4gaWYgdGhlcmUgaXMgbm8gY2hpbGRyZW4sIHdlIG11c3QgcmVt
ZW1iZXIgdG8gYWxsb2NhdGUgYXQgbGVhc3QgZW5vdWdoIHNwYWNlIGZvciByZXBsYWNlV2l0aElk
ZW50aXR5IHRvIHdvcmsgbGF0ZXIuIEl0IG5lZWRzIHNpemVvZihWYWx1ZSkgKGZvciB0aGUgb2Jq
ZWN0IGl0c2VsZikgKyBzaXplb2YoVmFsdWUqKSAoZm9yIHRoZSBwb2ludGVyIHRvIGl0cyBjaGls
ZCkKKyAgICAgICAgLSBXZSBtdXN0IG1ha2Ugc3VyZSB0byBkZXN0cm95IHRoZSB2ZWN0b3Igd2hl
bmV2ZXIgd2UgZGVzdHJveSBhIFZhbHVlIHdoaWNoIGlzIFZhckFyZ3MKKyAgICAgICAgLSBXZSBt
dXN0IHJlbWVtYmVyIGhvdyBtYW55IGVsZW1lbnRzIHRoZXJlIGFyZSBpbiB0aGUgY2FzZSB3aGVy
ZSB3ZSBkaWQgbm90IGFsbG9jYXRlIGEgVmVjdG9yLiBXZSBjYW5ub3QgZG8gaXQgcHVyZWx5IGJ5
IHJlbHlpbmcgb24gdGhlIGtpbmQsIGJvdGggZm9yIHNwZWVkIHJlYXNvbnMgYW5kIGJlY2F1c2Ug
UmV0dXJuIGNhbiBoYXZlIGVpdGhlciAwIG9yIDEgYXJndW1lbnQgaW4gQjMKKyAgICAgICAgICBU
aGFua2Z1bGx5LCB3ZSBoYXZlIGFuIGV4dHJhIGJ5dGUgb2YgcGFkZGluZyB0byB1c2UgaW4gdGhl
IG1pZGRsZSBvZiBCMzo6VmFsdWUKKyAgICAgICAgLSBXZSBtdXN0IG1ha2Ugc3VyZSB0byBjb25z
dHJ1Y3QgdGhlIFZlY3RvciB3aGVuZXZlciBjb25zdHJ1Y3RpbmcgYSBWYWx1ZSB3aGljaCBpcyBW
YXJBcmdzLgorICAgICAgICAgIEl0IGNhbm5vdCBiZSBkb25lIGluIHRoZSBjb25zdHJ1Y3RvciBv
ZiBWYWx1ZSwgYmVjYXVzZSBpdCBkb2VzIG5vdCBrbm93IHRoZSBzaXplIG9mIHRoZSBvYmplY3Qg
YmVpbmcgYWxsb2NhdGVkIChpdCBjYW4gYmUgYSBzdWJjbGFzcyBvZiBWYWx1ZSksIGFuZCB0aHVz
IHRoZSBvZmZzZXQgb2YgdGhlIFZlY3Rvci4KKyAgICAgICAgICBTbyB3ZSBkbyBpdCBpbiB0aGUg
YWxsb2NhdGU8VmFsdWVUeXBlPiBmdW5jdGlvbiwgd2hpY2ggaXMgdGhlIG9ubHkgcmVhc29uYWJs
ZSB3YXkgdG8gY29uc3RydWN0IGEgVmFsdWUuCisgICAgICAgIC0gSW4gb3JkZXIgdG8gc3VwcG9y
dCBjbG9uZSgpLCB3ZSBtdXN0IGhhdmUgYSBzZXBhcmF0ZSB2ZXJzaW9uIG9mIGFsbG9jYXRlLCB3
aGljaCBleHRyYWN0cyB0aGUgb3Bjb2RlIGZyb20gdGhlIHRvLWJlLWNsb25lZCBvYmplY3QgaW5z
dGVhZCBvZiBmcm9tIHRoZSBjYWxsIHRvIHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICAtIFNwZWFr
aW5nIG9mIHdoaWNoLCB3ZSBuZWVkIGEgc3BlY2lhbCB0ZW1wbGF0ZWQgZnVuY3Rpb24gb3Bjb2Rl
RnJvbUNvbnN0cnVjdG9yLCBiZWNhdXNlIHNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBvZiBzdWJj
bGFzc2VzIG9mIFZhbHVlIGRvbid0IHRha2UgYW4gZXhwbGljaXQgT3Bjb2RlIGFzIGFyZ3VtZW50
LCB0eXBpY2FsbHkgYmVjYXVzZSB0aGV5IG1hdGNoIGEgc2luZ2xlIG9uZS4KKyAgICAgICAgLSBU
byBtYXhpbWl6ZSBwZXJmb3JtYW5jZSwgd2UgcHJvdmlkZSBzcGVjaWFsaXplZCB2ZXJzaW9ucyBv
ZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hpbGRyZW4vY2hpbGRyZW4gaW4gdGhlIHN1YmNsYXNzZXMg
b2YgVmFsdWUsIHNraXBwaW5nIGNoZWNrcyB3aGVuIHRoZSBhY3R1YWwgdHlwZSBvZiB0aGUgVmFs
dWUgaXMgYWxyZWFkeSBrbm93bi4KKyAgICAgICAgICBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfLi4uIGRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiBCM1Zh
bHVlLmgKKyAgICAgICAgLSBJbiB0aGUgY29uc3RydWN0b3JzIG9mIFZhbHVlLCB3ZSBjb252ZXJ0
IGFsbCBleHRyYSBjaGlsZHJlbiBhcmd1bWVudHMgdG8gVmFsdWUqIGVhZ2VybHkuIEl0IGlzIG5v
dCByZXF1aXJlZCBmb3IgY29ycmVjdG5lc3MgKHRoZXkgd2lsbCBiZSBjb252ZXJ0ZWQgd2hlbiBw
dXQgaW50byBhIFZlY3RvcjxWYWx1ZSo+IG9yIGEgVmFsdWUqIGluIHRoZSBlbmQpLCBidXQgaXQg
aGVscCBsaW1pdCBhbiBleHBsb3Npb24gaW4gdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBpbnN0YW50
aWF0aW9ucy4KKyAgICAgICAgLSBJIG1vdmVkIERlZXBWYWx1ZUR1bXA6OmR1bXAgZnJvbSB0aGUg
LmggdG8gdGhlIC5jcHAsIGFzIHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRvIGlubGluZSBpdCwg
YW5kIHJlY29tcGlsaW5nIEpTQyBpcyBhbHJlYWR5IHNsb3cgZW5vdWdoCisKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGIzL0Iz
QXJndW1lbnRSZWdWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBcmd1bWVudFJlZ1ZhbHVl
OjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQXJndW1lbnRSZWdW
YWx1ZS5oOgorICAgICAgICAqIGIzL0IzQXRvbWljVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpC
Mzo6QXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QjM6OkF0b21pY1Zh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQXRvbWljVmFs
dWUuaDoKKyAgICAgICAgKiBiMy9CM0Jhc2ljQmxvY2suaDoKKyAgICAgICAgKiBiMy9CM0Jhc2lj
QmxvY2tJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpCYXNpY0Jsb2NrOjphcHBlbmROZXdO
b25UZXJtaW5hbCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDQ2FsbFZhbHVlLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkNDYWxsVmFsdWU6OmFwcGVuZEFyZ3MpOgorICAgICAgICAoSlNDOjpC
Mzo6Q0NhbGxWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9C
M0NDYWxsVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NoZWNrVmFsdWUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6Q2hlY2tWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBiMy9CM0NoZWNrVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0MzJWYWx1ZS5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpDb25zdDMyVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogYjMvQjNDb25zdDMyVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0NjRW
YWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpDb25zdDY0VmFsdWU6OmNsb25lSW1wbCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDb25zdDY0VmFsdWUuaDoKKyAgICAgICAgKiBi
My9CM0NvbnN0RG91YmxlVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3REb3VibGVW
YWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0NvbnN0RG91
YmxlVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHA6CisgICAgICAg
IChKU0M6OkIzOjpDb25zdEZsb2F0VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogYjMvQjNDb25zdEZsb2F0VmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0NvbnN0UHRy
VmFsdWUuaDoKKyAgICAgICAgKEpTQzo6QjM6OkNvbnN0UHRyVmFsdWU6Om9wY29kZUZyb21Db25z
dHJ1Y3Rvcik6CisgICAgICAgICogYjMvQjNGZW5jZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6
QjM6OkZlbmNlVmFsdWU6OkZlbmNlVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6RmVuY2VWYWx1
ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0ZlbmNlVmFsdWUu
aDoKKyAgICAgICAgKiBiMy9CM01lbW9yeVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6Ok1l
bW9yeVZhbHVlOjpNZW1vcnlWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpNZW1vcnlWYWx1ZTo6
Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM01lbW9yeVZhbHVlLmg6
CisgICAgICAgICogYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcDoKKyAgICAgICAgKiBiMy9CM1BhdGNo
cG9pbnRWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpQYXRjaHBvaW50VmFsdWU6OmNsb25l
SW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNQYXRjaHBvaW50VmFsdWUuaDoK
KyAgICAgICAgKEpTQzo6QjM6OlBhdGNocG9pbnRWYWx1ZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiMy9CM1Byb2NlZHVyZS5jcHA6CisgICAgICAgICogYjMvQjNQcm9jZWR1
cmUuaDoKKyAgICAgICAgKiBiMy9CM1Byb2NlZHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
QjM6OlByb2NlZHVyZTo6YWRkKToKKyAgICAgICAgKiBiMy9CM1Nsb3RCYXNlVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6U2xvdEJhc2VWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBiMy9CM1Nsb3RCYXNlVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM1N0YWNr
bWFwU3BlY2lhbC5jcHA6CisgICAgICAgIChKU0M6OkIzOjpTdGFja21hcFNwZWNpYWw6OmZvckVh
Y2hBcmdJbXBsKToKKyAgICAgICAgKEpTQzo6QjM6OlN0YWNrbWFwU3BlY2lhbDo6aXNWYWxpZElt
cGwpOgorICAgICAgICAqIGIzL0IzU3RhY2ttYXBWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIz
OjpTdGFja21hcFZhbHVlOjphcHBlbmQpOgorICAgICAgICAoSlNDOjpCMzo6U3RhY2ttYXBWYWx1
ZTo6U3RhY2ttYXBWYWx1ZSk6CisgICAgICAgICogYjMvQjNTdGFja21hcFZhbHVlLmg6CisgICAg
ICAgICogYjMvQjNTd2l0Y2hWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpTd2l0Y2hWYWx1
ZTo6U3dpdGNoVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OmNsb25lSW1w
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNTd2l0Y2hWYWx1ZS5oOgorICAgICAg
ICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYjMvQjNVcHNpbG9uVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6VXBzaWxvblZhbHVl
OjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVXBzaWxvblZhbHVl
Lmg6CisgICAgICAgICogYjMvQjNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpEZWVwVmFs
dWVEdW1wOjpkdW1wIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjp+VmFsdWUpOgor
ICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoSWRlbnRpdHkpOgorICAgICAgICAo
SlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKToKKyAgICAgICAgKEpT
Qzo6QjM6OlZhbHVlOjpyZXBsYWNlV2l0aFBoaSk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6
cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXBsYWNlV2l0aE9v
cHMpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoKToKKyAgICAgICAgKEpT
Qzo6QjM6OlZhbHVlOjppbnZlcnRlZENvbXBhcmUgY29uc3QpOgorICAgICAgICAoSlNDOjpCMzo6
VmFsdWU6OnJldHVybnNCb29sIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpjbG9u
ZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVmFsdWUuaDoKKyAgICAgICAg
KEpTQzo6QjM6OkRlZXBWYWx1ZUR1bXA6OmR1bXAgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGIzL0IzVmFsdWVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6YWRqYWNlbmN5
TGlzdE9mZnNldCBjb25zdCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6Y2xvbmVJbXBsIGNv
bnN0KToKKyAgICAgICAgKiBiMy9CM1ZhcmlhYmxlVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpC
Mzo6VmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpWYXJp
YWJsZVZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzVmFy
aWFibGVWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzV2FzbUFkZHJlc3NWYWx1ZS5jcHA6CisgICAg
ICAgIChKU0M6OkIzOjpXYXNtQWRkcmVzc1ZhbHVlOjpXYXNtQWRkcmVzc1ZhbHVlKToKKyAgICAg
ICAgKEpTQzo6QjM6Oldhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmg6CisgICAgICAgICogYjMvQjNXYXNt
Qm91bmRzQ2hlY2tWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpXYXNtQm91bmRzQ2hlY2tW
YWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5k
c0NoZWNrVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNX
YXNtQm91bmRzQ2hlY2tWYWx1ZS5oOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNr
VmFsdWU6OmFjY2VwdHMpOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNrVmFsdWU6
Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYjMvdGVzdGIzLmNwcDoKKyAgICAg
ICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czMpOgorICAgICAg
ICAoSlNDOjpCMzo6dGVzdENhbGxGdW5jdGlvbldpdGhIZWxsYURvdWJsZUFyZ3VtZW50cyk6Cisg
ICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbEZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1bWVudHMp
OgorICAgICAgICAqIGZ0bC9GVExPdXRwdXQuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6
OmNhbGwpOgorCiAyMDE5LTAzLTI1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgSGVhcDo6aXNNYXJrZWQgYW5kIGZyaWVuZHMgc2hvdWxkIGJlIGluc3RhbmNl
IG1ldGhvZHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDM0
NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY5LDcgKzY2OSw2IEBACiAJCTBGRUM4
NTQwMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjYxQkRBQ0RBQzAwODBGRjc0IC8qIEIz
VXNlQ291bnRzLmggKi87IH07CiAJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlk
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODRGODFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oICovOyB9OwogCQkwRkVDODU0NDFC
REFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkExQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCAq
LzsgfTsKLQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQjFCREFD
REFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKIAkJMEZFQzg1NDcxQkRBQ0RB
QzAwODBGRjc0IC8qIEIzVmFsdWVSZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRUM4NEZEMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmgg
Ki87IH07CiAJCTBGRUM4NTZFMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNrQnlH
cmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkVDODU0OTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3JhcGhD
b2xvcmluZy5oICovOyB9OwogCQkwRkVDODU3MDFCREFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODU0QjFC
REFDREM3MDA4MEZGNzQgLyogQWlyQXJnLmggKi87IH07CkBAIC04NTEsNiArODUwLDggQEAKIAkJ
MkFEODkzMkIxN0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFEODkzMjkxN0UzODY4RjAw
NjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovOyB9OwogCQkyQUY3MzgyRDE4QkJCRjky
MDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVy
ZUlEVGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUxQjI2
OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxp
bmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVD
ODRGQjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsgfTsKKwkJMzNFNzhE
RjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0
IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJ
MzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyog
UGFyc2VJbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJu
YWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRl
X2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA5LDcgKzkxMCw2IEBACiAJCTUzMzNCQkRCMjExMEY3
RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhCQjkwMEIwOEQ0MiAv
KiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JCREMyMTEwRjdEOTAw
NzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFENyAvKiBERkdTcGVj
dWxhdGl2ZUpJVC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcCAqLzsgfTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9C
My5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVB
MEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJNTM0
MUZDNzIxREFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFGQzcxMURBQzM0M0Mw
MEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJCTUzNDYzODcxMUU3
MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVu
TG9vcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTM0NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3NDFF
NzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYzNCw3ICs4NjM0LDYgQEAKIAkJ
CQkwRkVDODU0MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1ZUtl
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFs
dWVLZXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4MEZG
NzQgLyogQjNWYWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTg5LDYgKzkxODgsNyBAQAog
CQkJCUE1OTNDRjdEMTg0MDM2MDMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGRDAwODIxODlC
MTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMzNFNzhERjEyMjQ1NjU1MTAwNEFFRTlGIC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNTdEMjNFNjE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIElu
c3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTk0NTU5NTE4MjQ3OUVC
MDBDQzM4NDMgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAg
LTEwNjI5LDcgKzEwNjI5LDYgQEAKIAkJCQk1MzMzQkJEQzIxMTBGN0Q5MDA3NjE4RUMgLyogREZH
U3BlY3VsYXRpdmVKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMzM0JCREIyMTEwRjdEMjAw
NzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTMzM0JCREQyMTEwRjdFMTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZUTExvd2VyREZHVG9C
My5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE5RTFGNzM1RjE2MDAzN0ZDMzMgLyogTG93
TGV2ZWxJbnRlcnByZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVCRTkx
MDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVCRThC
MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0xMDc2Myw2ICsx
MDc2Miw3IEBACiAJCQkJNTM2QjMxMEMxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2Ux
MTkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjYxRjcxQzU5OTAwMzdGQzMzIC8qIFVu
aWZpZWRTb3VyY2UxMjAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMkQxRjcxQzU5OTAw
MzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNFNzhE
RjIyMjQ1NjYwODAwNEFFRTlGIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MzZCMzEyNTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MzZCMzExRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJj
ZTEyMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzExNDFGNzFDNTk5MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTEyNC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzksMTEgKzM5LDYgQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcmVn
KTsKIH0KIAotVmFsdWUqIEFyZ3VtZW50UmVnVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG5ldyBBcmd1bWVudFJlZ1ZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCwxNiArNDAsMTkgQEAKIAogICAgIFJlZyBhcmd1bWVudFJlZygpIGNv
bnN0IHsgcmV0dXJuIG1fcmVnOyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19D
SElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQ
cmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNv
bnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7Cisg
ICAgZnJpZW5kIGNsYXNzIFZhbHVlOworICAgIAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJv
bUNvbnN0cnVjdG9yKE9yaWdpbiwgUmVnKSB7IHJldHVybiBBcmd1bWVudFJlZzsgfQogCiAgICAg
QXJndW1lbnRSZWdWYWx1ZShPcmlnaW4gb3JpZ2luLCBSZWcgcmVnKQotICAgICAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkg
OiBEb3VibGUsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBBcmd1bWVu
dFJlZywgcmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91YmxlLCBaZXJvLCBvcmlnaW4p
CiAgICAgICAgICwgbV9yZWcocmVnKQogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZy5pc1NldCgp
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAJKHJl
dmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDggQEAKICAgICBNZW1vcnlWYWx1ZTo6
ZHVtcE1ldGEoY29tbWEsIG91dCk7CiB9CiAKLVZhbHVlKiBBdG9taWNWYWx1ZTo6Y2xvbmVJbXBs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEF0b21pY1ZhbHVlKCp0aGlzKTsKLX0KLQogQXRv
bWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZVJNVywgS2luZCBr
aW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIG9wZXJhbmQsIFZhbHVlKiBw
b2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwg
SGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBr
aW5kLCBvcGVyYW5kLT50eXBlKCksIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwg
b3BlcmFuZCwgcG9pbnRlcikKKyAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQs
IG9wZXJhbmQtPnR5cGUoKSwgVHdvLCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2Us
IG9wZXJhbmQsIHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VSVChi
ZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKQEAgLTY2LDcgKzYx
LDcgQEAKIH0KIAogQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlKEF0b21pY1ZhbHVlOjpBdG9taWNW
YWx1ZUNBUywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBXaWR0aCB3aWR0aCwgVmFsdWUqIGV4
cGVjdGVkVmFsdWUsIFZhbHVlKiBuZXdWYWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVl
OjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5n
ZSkKLSAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIGtpbmQub3Bjb2RlKCkg
PT0gQXRvbWljV2Vha0NBUyA/IEludDMyIDogZXhwZWN0ZWRWYWx1ZS0+dHlwZSgpLCBvcmlnaW4s
IG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1ZhbHVlLCBwb2lu
dGVyKQorICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5vcGNvZGUo
KSA9PSBBdG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCksIFRocmVl
LCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIGV4cGVjdGVkVmFsdWUsIG5ld1Zh
bHVlLCBwb2ludGVyKQogICAgICwgbV93aWR0aCh3aWR0aCkKIHsKICAgICBBU1NFUlQoYmVzdFR5
cGUoR1AsIGFjY2Vzc1dpZHRoKCkpID09IGFjY2Vzc1R5cGUoKSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0
LDE0ICs0NCwxNSBAQAogICAgIFR5cGUgYWNjZXNzVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGNoaWxk
KDApLT50eXBlKCk7IH0KICAgICAKICAgICBXaWR0aCBhY2Nlc3NXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fd2lkdGg7IH0KKworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
RklYRURfQ0hJTERSRU4KICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCi0gICAgVmFsdWUq
IGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCiAgICAgZW51bSBB
dG9taWNWYWx1ZVJNVyB7IEF0b21pY1ZhbHVlUk1XVGFnIH07CiAgICAgZW51bSBBdG9taWNWYWx1
ZUNBUyB7IEF0b21pY1ZhbHVlQ0FTVGFnIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNCYXNpY0Jsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQmFzaWNCbG9jay5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNCYXNpY0Jsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDggKzg0LDYgQEAKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
ICAgIFZhbHVlVHlwZSogYXBwZW5kTmV3KFByb2NlZHVyZSYsIEFyZ3VtZW50cy4uLik7Ci0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAg
VmFsdWVUeXBlKiBhcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4p
OwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgVmFsdWUqIGFwcGVuZEludENvbnN0YW50KFByb2Nl
ZHVyZSYsIE9yaWdpbiwgVHlwZSwgaW50NjRfdCB2YWx1ZSk7CiAgICAgVmFsdWUqIGFwcGVuZElu
dENvbnN0YW50KFByb2NlZHVyZSYsIFZhbHVlKiBsaWtlVmFsdWUsIGludDY0X3QgdmFsdWUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5o
CShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Js
b2NrSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNCArNDIsNiBAQAogfQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLVZhbHVlVHlw
ZSogQmFzaWNCbG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwoUHJvY2VkdXJlJiBwcm9jZWR1cmUs
IEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi17Ci0gICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9j
ZWR1cmUuYWRkPFZhbHVlVHlwZT4oYXJndW1lbnRzLi4uKTsKLSAgICBhcHBlbmROb25UZXJtaW5h
bChyZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgogVmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjpy
ZXBsYWNlTGFzdFdpdGhOZXcoUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCiB7CiAgICAgVmFsdWVUeXBlKiByZXN1bHQgPSBwcm9jZWR1cmUuYWRkPFZhbHVlVHlw
ZT4oYXJndW1lbnRzLi4uKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxs
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxs
VmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDQ2FsbFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOSBAQAogewogfQog
Ci1WYWx1ZSogQ0NhbGxWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3ZvaWQgQ0NhbGxWYWx1ZTo6
YXBwZW5kQXJncyhjb25zdCBWZWN0b3I8VmFsdWUqPiYgYXJncykKIHsKLSAgICByZXR1cm4gbmV3
IENDYWxsVmFsdWUoKnRoaXMpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5kVmVjdG9yKGFy
Z3MpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTcgKzM4
LDIzIEBACiAKICAgICB+Q0NhbGxWYWx1ZSgpOwogCisgICAgdm9pZCBhcHBlbmRBcmdzKGNvbnN0
IFZlY3RvcjxWYWx1ZSo+Jik7CisgICAgCiAgICAgRWZmZWN0cyBlZmZlY3RzOwogCi1wcm90ZWN0
ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIAorICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU4KKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZy
b21Db25zdHJ1Y3RvcihBcmd1bWVudHMuLi4pIHsgcmV0dXJuIENDYWxsOyB9CisKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9y
aWdpbiBvcmlnaW4sIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0YXRp
Y19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKEVmZmVjdHM6
OmZvckNhbGwoKSkKICAgICB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkg
Pj0gMSk7CkBAIC01Niw3ICs2Miw3IEBACiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1
bWVudHM+CiAgICAgQ0NhbGxWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEVm
ZmVjdHMmIGVmZmVjdHMsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUo
Q2hlY2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgICAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBWYXJBcmdzLCBvcmlnaW4sIHN0
YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBlZmZlY3RzKGVmZmVj
dHMpCiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1DaGlsZHJlbigpID49IDEpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5jcHAJKHJldmlzaW9u
IDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCwxMSArNDAsNiBAQAogICAgIG1fa2luZCA9IENoZWNrQWRkOwog
fQogCi1WYWx1ZSogQ2hlY2tWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IENoZWNrVmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0Fk
ZCwgQ2hlY2tTdWIsIGFuZCBDaGVja011bC4KIENoZWNrVmFsdWU6OkNoZWNrVmFsdWUoS2luZCBr
aW5kLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KQogICAgIDogU3Rh
Y2ttYXBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBsZWZ0LT50eXBlKCksIG9yaWdpbikKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsMTEgKzUwLDExIEBACiAKICAgICB2b2lkIGNvbnZlcnRUb0FkZCgpOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgogICAgIAog
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBW
YWx1ZTsKIAogICAgIC8vIFVzZSB0aGlzIGZvcm0gZm9yIENoZWNrQWRkLCBDaGVja1N1YiwgYW5k
IENoZWNrTXVsLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIENoZWNrVmFsdWUoS2luZCwgT3JpZ2lu
LCBWYWx1ZSogbGVmdCwgVmFsdWUqIHJpZ2h0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0MzJWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAz
LDExICszMDMsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVl
KiBDb25zdDMyVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25z
dDMyVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlm
IC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ29uc3QzMlZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAg
IFRyaVN0YXRlIGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92
ZXJyaWRlOwogICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3Ro
ZXIpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJ
TERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25z
dCBvdmVycmlkZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisg
ICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCks
IGludDMyX3QgPSAwKSB7IHJldHVybiBDb25zdDMyOyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOwotCiAgICAgQ29uc3QzMlZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDMyX3QgdmFsdWUp
Ci0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwgSW50MzIsIG9yaWdpbikK
KyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwgWmVybywgb3Jp
Z2luKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKwog
ICAgIGludDMyX3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAzLDEx
ICszMDMsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBD
b25zdDY0VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdDY0
VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8v
IEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0
VmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q29uc3Q2NFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDIwICs3NSwyNCBAQAogICAgIFRy
aVN0YXRlIGFib3ZlRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJy
aWRlOwogICAgIFRyaVN0YXRlIGJlbG93RXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIp
IGNvbnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERS
RU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRT
dHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBv
dmVycmlkZTsKKyAgICAvLyBQcm90ZWN0ZWQgYmVjYXVzZSBvZiBDb25zdFB0clZhbHVlCisgICAg
c3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luID0gT3JpZ2luKCksIGlu
dDY0X3QgPSAwKSB7IHJldHVybiBDb25zdDY0OyB9CiAKLSAgICBmcmllbmQgY2xhc3MgUHJvY2Vk
dXJlOwotCiAgICAgQ29uc3Q2NFZhbHVlKE9yaWdpbiBvcmlnaW4sIGludDY0X3QgdmFsdWUpCi0g
ICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIG9yaWdpbikKKyAg
ICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgWmVybywgb3JpZ2lu
KQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KLSAgICAKKwogcHJpdmF0
ZToKKyAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsK
KwogICAgIGludDY0X3QgbV92YWx1ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTk3LDExICsxOTcsNiBAQAogICAgIG91dC5wcmludGYoIiVsZSIsIG1fdmFsdWUp
OwogfQogCi1WYWx1ZSogQ29uc3REb3VibGVWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbmV3IENvbnN0RG91YmxlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTY0LDE2ICs2NCwxOCBAQAogICAgIFRyaVN0YXRlIGdyZWF0ZXJFcXVhbENv
bnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUg
ZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJp
ZGU7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9f
Q0hJTERSRU4KIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1
ZTsKIAorICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9y
aWdpbiwgZG91YmxlKSB7IHJldHVybiBDb25zdERvdWJsZTsgfQorCiAgICAgQ29uc3REb3VibGVW
YWx1ZShPcmlnaW4gb3JpZ2luLCBkb3VibGUgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgQ29uc3REb3VibGUsIERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIENvbnN0RG91YmxlLCBEb3VibGUsIFplcm8sIG9yaWdpbikKICAgICAgICAg
LCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4OSwxMSArMTg5LDYgQEAKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsK
IH0KIAotVmFsdWUqIENvbnN0RmxvYXRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbmV3IENvbnN0RmxvYXRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuaAkod29ya2luZyBjb3B5
KQpAQCAtNjMsMTYgKzYzLDE4IEBACiAgICAgVHJpU3RhdGUgZ3JlYXRlckVxdWFsQ29uc3RhbnQo
Y29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBlcXVhbE9y
VW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJF
TgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisg
ICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJy
aWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBm
bG9hdCkgeyByZXR1cm4gQ29uc3RGbG9hdDsgfQorCiAgICAgQ29uc3RGbG9hdFZhbHVlKE9yaWdp
biBvcmlnaW4sIGZsb2F0IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENv
bnN0RmxvYXQsIEZsb2F0LCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q29uc3RGbG9hdCwgRmxvYXQsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVl
KQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdFB0
clZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQ
dHJWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdFB0clZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDEzICs1MSwxOCBAQAogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29k
ZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFQqKSB7IHJldHVybiBDb25zdFB0clZhbHVlQmFzZTo6
b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAg
IENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCogcG9pbnRlcikKICAgICAgICAgOiBDb25z
dFB0clZhbHVlQmFzZShvcmlnaW4sIGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikpCiAg
ICAgewogICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcGNvZGUg
b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCkgeyByZXR1cm4gQ29uc3RQdHJWYWx1ZUJh
c2U6Om9wY29kZUZyb21Db25zdHJ1Y3RvcigpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
ICAgICBDb25zdFB0clZhbHVlKE9yaWdpbiBvcmlnaW4sIFQgcG9pbnRlcikKICAgICAgICAgOiBD
b25zdFB0clZhbHVlQmFzZShvcmlnaW4sIHN0YXRpY19jYXN0PGludHB0cl90Pihwb2ludGVyKSkK
ICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCw4IEBACiB7CiB9CiAKLVZhbHVlKiBG
ZW5jZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgRmVuY2VWYWx1
ZSgqdGhpcyk7Ci19Ci0KIEZlbmNlVmFsdWU6OkZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVh
cFJhbmdlIHJlYWQsIEhlYXBSYW5nZSB3cml0ZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IEZlbmNlLCBWb2lkLCBvcmlnaW4pCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwg
Vm9pZCwgWmVybywgb3JpZ2luKQogICAgICwgcmVhZChyZWFkKQogICAgICwgd3JpdGUod3JpdGUp
CiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCShyZXZpc2lv
biAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcyLDE0ICs3MiwxNCBAQAogICAgIEhlYXBSYW5nZSByZWFkIHsgSGVh
cFJhbmdlOjp0b3AoKSB9OwogICAgIEhlYXBSYW5nZSB3cml0ZSB7IEhlYXBSYW5nZTo6dG9wKCkg
fTsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsK
KyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT19DSElMRFJFTgogCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogICAgIAor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgSGVhcFJhbmdl
ID0gSGVhcFJhbmdlKCksIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpKSB7IHJldHVybiBGZW5jZTsg
fQogICAgIEZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbiwgSGVhcFJhbmdlIHJlYWQsIEhlYXBSYW5n
ZSB3cml0ZSk7Ci0gICAgCiAgICAgRmVuY2VWYWx1ZShPcmlnaW4gb3JpZ2luKTsKIH07CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHJldmlzaW9u
IDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzMsMTUgKzczLDEwIEBACiAgICAgICAgIG91dC5wcmludChjb21t
YSwgImZlbmNlUmFuZ2UgPSAiLCBmZW5jZVJhbmdlKCkpOwogfQogCi1WYWx1ZSogTWVtb3J5VmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBNZW1vcnlWYWx1ZSgqdGhp
cyk7Ci19Ci0KIC8vIFVzZSB0aGlzIGZvcm0gZm9yIExvYWQgKGJ1dCBub3QgTG9hZDhaLCBMb2Fk
OFMsIG9yIGFueSBvZiB0aGUgTG9hZHMgdGhhdCBoYXZlIGEgc3VmZml4IHRoYXQKIC8vIGRlc2Ny
aWJlcyB0aGUgcmV0dXJuZWQgdHlwZSkuCiBNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5
VmFsdWU6Ok1lbW9yeVZhbHVlTG9hZCwgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmln
aW4sIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBS
YW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIHBvaW50ZXIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBraW5kLCB0eXBlLCBPbmUsIG9yaWdpbiwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9m
ZnNldCkKICAgICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5n
ZSkKQEAgLTEyNiw3ICsxMjEsNyBAQAogCiAvLyBVc2UgdGhpcyBmb3JtIGZvciBzdG9yZXMuCiBN
ZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUoTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlU3RvcmUsIEtp
bmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVt
b3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBm
ZW5jZVJhbmdlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgb3JpZ2lu
LCB2YWx1ZSwgcG9pbnRlcikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQs
IFR3bywgb3JpZ2luLCB2YWx1ZSwgcG9pbnRlcikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAg
ICAsIG1fcmFuZ2UocmFuZ2UpCiAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtODQsMTQgKzg0LDE0IEBACiAKICAgICBib29sIGlzQ2Fub25pY2FsV2lkdGgoKSBj
b25zdCB7IHJldHVybiBCMzo6aXNDYW5vbmljYWxXaWR0aChhY2Nlc3NXaWR0aCgpKTsgfQogCisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVj
dGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKLQotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQor
ICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEludCwgdHlwZW5hbWUgPSBJc0xlZ2FsT2Zmc2V0
PEludD4sIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bj
b2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgSW50IG9mZnNldCwg
SGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwgQXJndW1lbnRzLi4uIGFyZ3Vt
ZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4s
IGFyZ3VtZW50cy4uLikKKyAgICBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtp
bmQsIFR5cGUgdHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIElu
dCBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UsIEFyZ3VtZW50
cy4uLiBhcmd1bWVudHMpCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgbnVtQ2hpbGRyZW4sIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4u
KQogICAgICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAgICAgLCBtX3JhbmdlKHJhbmdlKQog
ICAgICAgICAsIG1fZmVuY2VSYW5nZShmZW5jZVJhbmdlKQpAQCAtMTAwLDYgKzEwMCw3IEBACiAg
ICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCiAgICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQzMl90IG9mZnNldCkg
Y29uc3Q7CiAgICAgYm9vbCBpc0xlZ2FsT2Zmc2V0SW1wbChpbnQ2NF90IG9mZnNldCkgY29uc3Q7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNb3ZlQ29uc3RhbnRzLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0
YW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAKICAgICAgICAgICAgIFsm
XSAoY29uc3QgVmFsdWVLZXkmIGtleSkgLT4gYm9vbCB7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGtleS5vcGNvZGUoKSA9PSBDb25zdEZsb2F0IHx8IGtleS5vcGNvZGUoKSA9PSBDb25zdERvdWJs
ZTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICBsb3dlckZQQ29uc3RhbnRz
KCk7CiAgICAgICAgIAogICAgICAgICBob2lzdENvbnN0YW50cygKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsMTEgKzQ0LDYgQEAKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
bnVtRlBTY3JhdGNoUmVnaXN0ZXJzID0gIiwgbnVtRlBTY3JhdGNoUmVnaXN0ZXJzKTsKIH0KIAot
VmFsdWUqIFBhdGNocG9pbnRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IFBhdGNocG9pbnRWYWx1ZSgqdGhpcyk7Ci19Ci0KIFBhdGNocG9pbnRWYWx1ZTo6UGF0Y2hw
b2ludFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKICAgICA6IEJhc2UoQ2hlY2tlZE9w
Y29kZSwgUGF0Y2hwb2ludCwgdHlwZSwgb3JpZ2luKQogICAgICwgZWZmZWN0cyhFZmZlY3RzOjpm
b3JDYWxsKCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFs
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50
VmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
UGF0Y2hwb2ludFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNiBAQAogICAg
IHVpbnQ4X3QgbnVtR1BTY3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogICAgIHVpbnQ4X3QgbnVtRlBT
Y3JhdGNoUmVnaXN0ZXJzIHsgMCB9OwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklO
QUxfU0laRV9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRh
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1
ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bj
b2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihUeXBlLCBPcmlnaW4pIHsgcmV0dXJuIFBhdGNocG9p
bnQ7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBQYXRjaHBvaW50VmFsdWUoVHlwZSwgT3JpZ2lu
KTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNyArOTMsNiBAQAogICAgIHJldHVybiBtX3ZhbHVl
cy5hZGQoV1RGTW92ZShjbG9uZSkpOwogfQogCi0KIFZhbHVlKiBQcm9jZWR1cmU6OmFkZEludENv
bnN0YW50KE9yaWdpbiBvcmlnaW4sIFR5cGUgdHlwZSwgaW50NjRfdCB2YWx1ZSkKIHsKICAgICBz
d2l0Y2ggKHR5cGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5o
CShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1
cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMjkyLDcgKzI5Miw3IEBACiAgICAgYm9vbCBtX25lZWRz
VXNlZFJlZ2lzdGVycyB7IHRydWUgfTsKICAgICBib29sIG1faGFzUXVpcmtzIHsgZmFsc2UgfTsK
IH07Ci0KKyAgICAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxF
KEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZUlubGlu
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJ
bmxpbmVzLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Byb2NlZHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTMgKzI5LDE0IEBACiAK
ICNpbmNsdWRlICJCM0Jhc2ljQmxvY2suaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2lu
Y2x1ZGUgIkIzVmFsdWUuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7Ci0KKyAg
ICAKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
VmFsdWVUeXBlKiBQcm9jZWR1cmU6OmFkZChBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogewotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwobmV3IFZhbHVlVHlw
ZShhcmd1bWVudHMuLi4pKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlVHlwZSo+KGFk
ZFZhbHVlSW1wbChWYWx1ZTo6YWxsb2NhdGU8VmFsdWVUeXBlPihhcmd1bWVudHMuLi4pKSk7CiB9
CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MSwxMSArNDEsNiBAQAogICAgIG91dC5wcmludChjb21tYSwgcG9pbnRlckR1bXAobV9zbG90KSk7
CiB9CiAKLVZhbHVlKiBTbG90QmFzZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJl
dHVybiBuZXcgU2xvdEJhc2VWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEs
MTYgKzQxLDE3IEBACiAKICAgICBTdGFja1Nsb3QqIHNsb3QoKSBjb25zdCB7IHJldHVybiBtX3Ns
b3Q7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJp
bnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9O
T19DSElMRFJFTgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCisgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3Io
T3JpZ2luLCBTdGFja1Nsb3QqKSB7IHJldHVybiBTbG90QmFzZTsgfQogICAgIFNsb3RCYXNlVmFs
dWUoT3JpZ2luIG9yaWdpbiwgU3RhY2tTbG90KiBzbG90KQotICAgICAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBvcmlnaW4pCisgICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgU2xvdEJhc2UsIHBvaW50ZXJUeXBlKCksIFplcm8sIG9yaWdpbikK
ICAgICAgICAgLCBtX3Nsb3Qoc2xvdCkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MywxMSArODMsMTEgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5l
IHRoaW5ncyBoYXZlIG5vdCBoYXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+
PSBudW1JZ25vcmVkQWlyQXJncyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUo
KSA+PSBudW1JZ25vcmVkQjNBcmdzKTsKLSAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51
bUlnbm9yZWRBaXJBcmdzID49IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9yZWRC
M0FyZ3MpOworICAgIEFTU0VSVCh2YWx1ZS0+bnVtQ2hpbGRyZW4oKSA+PSBudW1JZ25vcmVkQjNB
cmdzKTsKKyAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSAtIG51bUlnbm9yZWRBaXJBcmdzID49
IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncyk7CiAgICAgQVNTRVJUKGlu
c3QuYXJnc1swXS5raW5kKCkgPT0gQXJnOjpLaW5kOjpTcGVjaWFsKTsKIAotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNB
cmdzOyArK2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPm51bUNoaWxk
cmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKICAgICAgICAgQXJnJiBhcmcgPSBpbnN0
LmFyZ3NbaSArIG51bUlnbm9yZWRBaXJBcmdzXTsKICAgICAgICAgQ29uc3RyYWluZWRWYWx1ZSBj
aGlsZCA9IHZhbHVlLT5jb25zdHJhaW5lZENoaWxkKGkgKyBudW1JZ25vcmVkQjNBcmdzKTsKIApA
QCAtMTYwLDE2ICsxNjAsMTYgQEAKIAogICAgIC8vIENoZWNrIHRoYXQgaW5zYW5lIHRoaW5ncyBo
YXZlIG5vdCBoYXBwZW5lZC4KICAgICBBU1NFUlQoaW5zdC5hcmdzLnNpemUoKSA+PSBudW1JZ25v
cmVkQWlyQXJncyk7Ci0gICAgQVNTRVJUKHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSA+PSBudW1J
Z25vcmVkQjNBcmdzKTsKKyAgICBBU1NFUlQodmFsdWUtPm51bUNoaWxkcmVuKCkgPj0gbnVtSWdu
b3JlZEIzQXJncyk7CiAKICAgICAvLyBGb3IgdGhlIEluc3QgdG8gYmUgdmFsaWQsIGl0IG5lZWRz
IHRvIGhhdmUgdGhlIHJpZ2h0IG51bWJlciBvZiBhcmd1bWVudHMuCi0gICAgaWYgKGluc3QuYXJn
cy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA8IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAt
IG51bUlnbm9yZWRCM0FyZ3MpCisgICAgaWYgKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVk
QWlyQXJncyA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJncykKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gUmVnYXJkbGVzcyBvZiBjb25zdHJhaW50cywgc3Rh
Y2ttYXBzIGhhdmUgc29tZSBiYXNpYyByZXF1aXJlbWVudHMgZm9yIHRoZWlyIGFyZ3VtZW50cy4g
Rm9yCiAgICAgLy8gZXhhbXBsZSwgeW91IGNhbid0IGhhdmUgYSBub24tRlAtb2Zmc2V0IGFkZHJl
c3MuIFRoaXMgdmVyaWZpZXMgdGhvc2UgY29uZGl0aW9ucyBhcyB3ZWxsIGFzIHRoZQogICAgIC8v
IGFyZ3VtZW50IHR5cGVzLgotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+Y2hp
bGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzOyArK2kpIHsKKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzOyAr
K2kpIHsKICAgICAgICAgVmFsdWUqIGNoaWxkID0gdmFsdWUtPmNoaWxkKGkgKyBudW1JZ25vcmVk
QjNBcmdzKTsKICAgICAgICAgQXJnJiBhcmcgPSBpbnN0LmFyZ3NbaSArIG51bUlnbm9yZWRBaXJB
cmdzXTsKIApAQCAtMTc4LDcgKzE3OCw3IEBACiAgICAgfQogCiAgICAgLy8gVGhlIG51bWJlciBv
ZiBjb25zdHJhaW50cyBoYXMgdG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgQjMg
Y2hpbGRyZW4uCi0gICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVlLT5jaGls
ZHJlbigpLnNpemUoKSk7CisgICAgQVNTRVJUKHZhbHVlLT5tX3JlcHMuc2l6ZSgpIDw9IHZhbHVl
LT5udW1DaGlsZHJlbigpKTsKIAogICAgIC8vIFZlcmlmeSBhbnkgZXhwbGljaXRseSBzdXBwbGll
ZCBjb25zdHJhaW50cy4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBudW1JZ25vcmVkQjNBcmdzOyBp
IDwgdmFsdWUtPm1fcmVwcy5zaXplKCk7ICsraSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw3ICszNyw3IEBACiB2b2lkIFN0YWNrbWFwVmFsdWU6OmFwcGVuZChWYWx1ZSogdmFsdWUs
IGNvbnN0IFZhbHVlUmVwJiByZXApCiB7CiAgICAgaWYgKHJlcCA9PSBWYWx1ZVJlcDo6Q29sZEFu
eSkgewotICAgICAgICBjaGlsZHJlbigpLmFwcGVuZCh2YWx1ZSk7CisgICAgICAgIGNoaWxkcmVu
VmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDQs
NyArNDQsNyBAQAogICAgIHdoaWxlIChtX3JlcHMuc2l6ZSgpIDwgbnVtQ2hpbGRyZW4oKSkKICAg
ICAgICAgbV9yZXBzLmFwcGVuZChWYWx1ZVJlcDo6Q29sZEFueSk7CiAKLSAgICBjaGlsZHJlbigp
LmFwcGVuZCh2YWx1ZSk7CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmQodmFsdWUpOwogICAg
IG1fcmVwcy5hcHBlbmQocmVwKTsKIH0KIApAQCAtODksNyArODksNyBAQAogfQogCiBTdGFja21h
cFZhbHVlOjpTdGFja21hcFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlw
ZSwgb3JpZ2luKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgVmFyQXJn
cywgb3JpZ2luKQogewogICAgIEFTU0VSVChhY2NlcHRzKGtpbmQpKTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNjAsOCArNjAsNyBAQAogCiAgICAgflN0YWNrbWFwVmFsdWUoKTsKIAotICAgIC8v
IFVzZSB0aGlzIHRvIGFkZCBjaGlsZHJlbi4gTm90ZSB0aGF0IHlvdSBjb3VsZCBhbHNvIGFkZCBj
aGlsZHJlbiBieSBkb2luZwotICAgIC8vIGNoaWxkcmVuKCkuYXBwZW5kKCkuIFRoYXQgd2lsbCB3
b3JrIGZpbmUsIGJ1dCBpdCdzIG5vdCByZWNvbW1lbmRlZC4KKyAgICAvLyBVc2UgdGhpcyB0byBh
ZGQgY2hpbGRyZW4uCiAgICAgdm9pZCBhcHBlbmQoY29uc3QgQ29uc3RyYWluZWRWYWx1ZSYgdmFs
dWUpCiAgICAgewogICAgICAgICBhcHBlbmQodmFsdWUudmFsdWUoKSwgdmFsdWUucmVwKCkpOwpA
QCAtMjg1LDYgKzI4NCw4IEBACiAgICAgICAgIHJldHVybiBDb25zdHJhaW5lZFZhbHVlQ29sbGVj
dGlvbigqdGhpcyk7CiAgICAgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJH
U19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wQ2hpbGRyZW4oQ29tbWFQcmlu
dGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGR1bXBNZXRhKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNiwxMyArMTA2LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsICJjYXNlcyA9IFsi
LCBsaXN0RHVtcChtX3ZhbHVlcyksICJdIik7CiB9CiAKLVZhbHVlKiBTd2l0Y2hWYWx1ZTo6Y2xv
bmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFN3aXRjaFZhbHVlKCp0aGlzKTsKLX0K
LQogU3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBjaGlsZCkK
LSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgb3JpZ2luLCBjaGlsZCkK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFN3aXRjaCwgVm9pZCwgT25lLCBvcmlnaW4sIGNo
aWxkKQogewogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVl
LmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRj
aFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDE0ICs2NCwxNyBAQAogCiAgICAgdm9pZCBk
dW1wU3VjY2Vzc29ycyhjb25zdCBCYXNpY0Jsb2NrKiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRl
OwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3Jp
Z2luLCBWYWx1ZSopIHsgcmV0dXJuIFN3aXRjaDsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN3
aXRjaFZhbHVlKE9yaWdpbiwgVmFsdWUqIGNoaWxkKTsKIAogICAgIFZlY3RvcjxpbnQ2NF90PiBt
X3ZhbHVlczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVl
LmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBz
aWxvblZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDYgQEAKICAgICB9CiB9
CiAKLVZhbHVlKiBVcHNpbG9uVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBVcHNpbG9uVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMK
IAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNVcHNpbG9uVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNVcHNpbG9uVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDE5ICs0NSwy
MiBAQAogICAgICAgICBtX3BoaSA9IHBoaTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZB
TFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJ
TkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEo
Q29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVl
KiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBWYWx1ZSogPSBudWxscHRy
KSB7IHJldHVybiBVcHNpbG9uOyB9CiAgICAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgdGhlIFBoaSBk
dXJpbmcgY29uc3RydWN0aW9uIGlzIG9wdGlvbmFsLiBBIHZhbGlkIHBhdHRlcm4gaXMgdG8gZmly
c3QgY3JlYXRlCiAgICAgLy8gdGhlIFVwc2lsb25zIHdpdGhvdXQgdGhlIFBoaSwgdGhlbiBjcmVh
dGUgdGhlIFBoaSwgdGhlbiBnbyBiYWNrIGFuZCB0ZWxsIHRoZSBVcHNpbG9ucyBhYm91dAogICAg
IC8vIHRoZSBQaGkuIFRoaXMgYWxsb3dzIHlvdSB0byBlbWl0IGNvZGUgaW4gaXRzIG5hdHVyYWwg
b3JkZXIuCiAgICAgVXBzaWxvblZhbHVlKE9yaWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFs
dWUqIHBoaSA9IG51bGxwdHIpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxv
biwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBV
cHNpbG9uLCBWb2lkLCBPbmUsIG9yaWdpbiwgdmFsdWUpCiAgICAgICAgICwgbV9waGkocGhpKQog
ICAgIHsKICAgICAgICAgaWYgKHBoaSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1
ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTMgKzQ3LDIzIEBACiAjaW5jbHVkZSA8d3Rm
L0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0RHVtcC5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdQcmludFN0cmVhbS5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IFZhbHVlOjpkdW1w
UHJlZml4ID0gIkAiOwordm9pZCBEZWVwVmFsdWVEdW1wOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0Cit7CisgICAgaWYgKG1fdmFsdWUpCisgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1f
cHJvYywgb3V0KTsKKyAgICBlbHNlCisgICAgICAgIG91dC5wcmludCgiPG51bGw+Iik7Cit9CiAK
IFZhbHVlOjp+VmFsdWUoKQogeworICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisg
ICAgICAgIGNoaWxkcmVuQWxsb2MoKS0+flZlY3RvcjxWYWx1ZSo+KCk7CiB9CiAKIHZvaWQgVmFs
dWU6OnJlcGxhY2VXaXRoSWRlbnRpdHkoVmFsdWUqIHZhbHVlKQpAQCAtNjIsMjYgKzcyLDEyIEBA
CiAgICAgLy8gYSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmlyc3QgY29sbGVjdCBhbGwgb2Yg
dGhlIGluZm9ybWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1Y3QgdGhlCiAgICAgLy8gcHJl
dmlvdXMgdmFsdWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0cnVjdCB0aGUgSWRlbnRpdHkg
VmFsdWUgaW4gcGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5cGUpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKIAotICAgIGlmICht
X3R5cGUgPT0gVm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFj
ZVdpdGhOb3BJZ25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVu
c2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3Jp
Z2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3du
ZXI7Ci0KLSAgICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAg
dGhpcy0+flZhbHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBv
cmlnaW4sIHZhbHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9p
bmRleCA9IGluZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1f
dHlwZSwgdGhpcy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhC
b3R0b20oSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk3LDE2
ICs5Myw3IEBACiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKCkKIHsK
LSAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3Jp
Z2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICB0aGlzLT5+
VmFsdWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUoTm9wLCBWb2lkLCBvcmlnaW4pOwotCi0g
ICAgdGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAg
cmVwbGFjZVdpdGgoTm9wLCBWb2lkLCB0aGlzLT5vd25lcik7CiB9CiAKIHZvaWQgVmFsdWU6OnJl
cGxhY2VXaXRoUGhpKCkKQEAgLTExNSwzNCArMTAyLDE0IEBACiAgICAgICAgIHJlcGxhY2VXaXRo
Tm9wKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXgg
PSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2Nr
KiBvd25lciA9IHRoaXMtPm93bmVyOwotICAgIFR5cGUgdHlwZSA9IG1fdHlwZTsKIAotICAgIHRo
aXMtPn5WYWx1ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShQaGksIHR5cGUsIG9yaWdpbik7
Ci0KLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsK
KyAgICByZXBsYWNlV2l0aChQaGksIG1fdHlwZSwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZh
bHVlOjpyZXBsYWNlV2l0aEp1bXAoQmFzaWNCbG9jayogb3duZXIsIEZyZXF1ZW50ZWRCbG9jayB0
YXJnZXQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob3duZXItPmxhc3QoKSA9PSB0aGlzKTsKLSAg
ICAKLSAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1f
b3JpZ2luOwotICAgIAotICAgIHRoaXMtPn5WYWx1ZSgpOwotICAgIAotICAgIG5ldyAodGhpcykg
VmFsdWUoSnVtcCwgVm9pZCwgb3JpZ2luKTsKLSAgICAKLSAgICB0aGlzLT5vd25lciA9IG93bmVy
OwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKLSAgICAKKyAgICByZXBsYWNlV2l0aChKdW1w
LCBWb2lkLCB0aGlzLT5vd25lcik7CiAgICAgb3duZXItPnNldFN1Y2Nlc3NvcnModGFyZ2V0KTsK
IH0KIApAQCAtMTQ5LDE3ICsxMTYsNyBAQAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKEJh
c2ljQmxvY2sqIG93bmVyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0g
dGhpcyk7Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBv
cmlnaW4gPSBtX29yaWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBu
ZXcgKHRoaXMpIFZhbHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3du
ZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFj
ZVdpdGgoT29wcywgVm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5jbGVhclN1Y2Nlc3Nv
cnMoKTsKIH0KIApAQCAtMTczLDYgKzEzMCwzMCBAQAogICAgIHJlcGxhY2VXaXRoT29wcyhvd25l
cik7CiB9CiAKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBC
YXNpY0Jsb2NrKiBvd25lcikKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAg
ICB0aGlzLT5+VmFsdWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9v
cmlnaW4pOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRoaXMtPm93bmVyID0g
b3duZXI7Cit9CisKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBl
LCBCYXNpY0Jsb2NrKiBvd25lciwgVmFsdWUqIHZhbHVlKQoreworICAgIHVuc2lnbmVkIGluZGV4
ID0gbV9pbmRleDsKKworICAgIHRoaXMtPn5WYWx1ZSgpOworCisgICAgbmV3ICh0aGlzKSBWYWx1
ZShraW5kLCB0eXBlLCBtX29yaWdpbiwgdmFsdWUpOworCisgICAgdGhpcy0+bV9pbmRleCA9IGlu
ZGV4OworICAgIHRoaXMtPm93bmVyID0gb3duZXI7Cit9CisKIHZvaWQgVmFsdWU6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBib29sIGlzQ29uc3RhbnQgPSBmYWxzZTsKQEAg
LTIwNCwxMSArMTg1LDYgQEAKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBW
YWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsK
LX0KLQogdm9pZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigp
KQpAQCAtNDU3LDExICs0MzMsMTEgQEAKIAogVmFsdWUqIFZhbHVlOjppbnZlcnRlZENvbXBhcmUo
UHJvY2VkdXJlJiBwcm9jKSBjb25zdAogewotICAgIGlmICghbnVtQ2hpbGRyZW4oKSkKKyAgICBp
ZiAobnVtQ2hpbGRyZW4oKSAhPSAyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAo
T3B0aW9uYWw8T3Bjb2RlPiBpbnZlcnRlZE9wY29kZSA9IEIzOjppbnZlcnRlZENvbXBhcmUob3Bj
b2RlKCksIGNoaWxkKDApLT50eXBlKCkpKSB7CiAgICAgICAgIEFTU0VSVCgha2luZCgpLmhhc0V4
dHJhQml0cygpKTsKLSAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNv
ZGUsIHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gcHJvYy5h
ZGQ8VmFsdWU+KCppbnZlcnRlZE9wY29kZSwgdHlwZSgpLCBvcmlnaW4oKSwgY2hpbGQoMCksIGNo
aWxkKDEpKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC00OTUsNiArNDcxLDcg
QEAKIHsKICAgICBpZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICBzd2l0Y2ggKG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1
cm4gYXNJbnQzMigpID09IDAgfHwgYXNJbnQzMigpID09IDE7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRl
ICJCM1dpZHRoLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0
Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8
d3RmL0l0ZXJhdG9yUmFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1RyaVN0YXRlLmg+CiAKQEAgLTUzLDggKzUzLDYgQEAKIGNsYXNzIEpTX0VYUE9S
VF9QUklWQVRFIFZhbHVlIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
LSAgICB0eXBlZGVmIFZlY3RvcjxWYWx1ZSosIDM+IEFkamFjZW5jeUxpc3Q7Ci0KICAgICBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgZHVtcFByZWZpeDsKIAogICAgIHN0YXRpYyBib29sIGFjY2Vw
dHMoS2luZCkgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtODIsMTQgKzgwLDYgQEAKICAgICBPcmlnaW4g
b3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW47IH0KICAgICB2b2lkIHNldE9yaWdpbihP
cmlnaW4gb3JpZ2luKSB7IG1fb3JpZ2luID0gb3JpZ2luOyB9CiAgICAgCi0gICAgVmFsdWUqJiBj
aGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gbV9jaGlsZHJlbltpbmRleF07IH0KLSAgICBW
YWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5baW5k
ZXhdOyB9Ci0KLSAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFz
dCgpOyB9Ci0gICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4u
bGFzdCgpOyB9Ci0KLSAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2hpbGRyZW4uc2l6ZSgpOyB9Ci0KICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KICAgICB2b2lkIHNldFR5cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KIApA
QCAtOTcsOSArODcsNTggQEAKICAgICBCYW5rIHJlc3VsdEJhbmsoKSBjb25zdCB7IHJldHVybiBi
YW5rRm9yVHlwZSh0eXBlKCkpOyB9CiAgICAgV2lkdGggcmVzdWx0V2lkdGgoKSBjb25zdCB7IHJl
dHVybiB3aWR0aEZvclR5cGUodHlwZSgpKTsgfQogCi0gICAgQWRqYWNlbmN5TGlzdCYgY2hpbGRy
ZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9IAotICAgIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNo
aWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorICAgIHVuc2lnbmVkIG51bUNo
aWxkcmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFy
Z3MpCisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7CisgICAgICAg
IHJldHVybiBtX251bUNoaWxkcmVuOworICAgIH0KKyAgICAKKyAgICBWYWx1ZSomIGNoaWxkKHVu
c2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtQ2hpbGRyZW4o
KSk7CisgICAgICAgIHJldHVybiBtX251bUNoaWxkcmVuID09IFZhckFyZ3MgPyBjaGlsZHJlblZl
Y3RvcigpW2luZGV4XSA6IGNoaWxkcmVuQXJyYXkoKVtpbmRleF07CisgICAgfQorICAgIFZhbHVl
KiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRl
eCA8IG51bUNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJB
cmdzID8gY2hpbGRyZW5WZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOwor
ICAgIH0KKyAgICAKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpCisgICAgeworICAgICAgICBpZiAo
bV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVj
dG9yKCkubGFzdCgpOworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAxKTsKKyAgICAg
ICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07CisgICAgfQorICAg
IFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRy
ZW4gPT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3Qo
KTsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVybiBj
aGlsZHJlbkFycmF5KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KIAorICAgIFdURjo6SXRl
cmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpCisgICAgeworICAgICAgICBpZiAobV9udW1D
aGlsZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBWZWN0b3I8VmFsdWUqPiYgdmVjID0g
Y2hpbGRyZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJh
bmdlKCYqdmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfQorICAgICAgICBWYWx1
ZSoqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1
ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICB9CisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZh
bHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNo
aWxkcmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiB2
ZWMgPSBjaGlsZHJlblZlY3RvcigpOworICAgICAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJh
dG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOworICAgICAgICB9CisgICAgICAg
IFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICByZXR1cm4g
e2J1ZmZlciwgYnVmZmVyICsgbV9udW1DaGlsZHJlbiB9OworICAgIH0KKwogICAgIC8vIElmIHlv
dSB3YW50IHRvIHJlcGxhY2UgYWxsIHVzZXMgb2YgdGhpcyB2YWx1ZSB3aXRoIGEgZGlmZmVyZW50
IHZhbHVlLCB0aGVuIHJlcGxhY2UgdGhpcwogICAgIC8vIHZhbHVlIHdpdGggSWRlbnRpdHkuIFRo
ZW4gZG8gYSBwYXNzIG9mIHBlcmZvcm1TdWJzdGl0dXRpb24oKSBvbiBhbGwgb2YgdGhlIHZhbHVl
cyB0aGF0IHVzZQogICAgIC8vIHRoaXMgb25lLiBVc3VhbGx5IHdlIGRvIGFsbCBvZiB0aGlzIGlu
IG9uZSBwYXNzIGluIHByZS1vcmRlciwgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZQpAQCAtMzAxLDE5
ICszNDAsMjE4IEBACiAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHNpemVvZihJbnQp
IDw9IHNpemVvZihPZmZzZXRUeXBlKT46OnR5cGUKICAgICA+IHsgfTsKIAorcHJvdGVjdGVkOgor
ICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKIAotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwg
VmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0OwotICAgIAorICAgIHZvaWQgcmVwbGFjZVdpdGgoS2lu
ZCwgVHlwZSwgQmFzaWNCbG9jayopOworICAgIHZvaWQgcmVwbGFjZVdpdGgoS2luZCwgVHlwZSwg
QmFzaWNCbG9jayosIFZhbHVlKik7CisKICAgICB2aXJ0dWFsIHZvaWQgZHVtcENoaWxkcmVuKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGR1bXBN
ZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAKKyAgICAvLyBUaGUgc3Bl
Y2lmaWMgdmFsdWUgb2YgVmFyQXJncyBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCB0aGUgdmFsdWUgb2Yg
dGhlIG90aGVycyBpcyBhc3N1bWVkIHRvIG1hdGNoIHRoZWlyIG1lYW5pbmcuCisgICAgZW51bSBO
dW1DaGlsZHJlbiA6IHVpbnQ4X3QgeyBaZXJvID0gMCwgT25lID0gMSwgVHdvID0gMiwgVGhyZWUg
PSAzLCBWYXJBcmdzID0gNH07CisKKyAgICBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgeyByZXR1cm4g
Yml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQorICAg
IGNvbnN0IGNoYXIqIGNoaWxkcmVuQWxsb2MoKSBjb25zdCB7IHJldHVybiBiaXR3aXNlX2Nhc3Q8
Y29uc3QgY2hhcio+KHRoaXMpICsgYWRqYWNlbmN5TGlzdE9mZnNldCgpOyB9CisgICAgVmVjdG9y
PFZhbHVlKj4mIGNoaWxkcmVuVmVjdG9yKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNo
aWxkcmVuID09IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxWZWN0b3I8
VmFsdWUqPio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIGNvbnN0IFZlY3RvcjxWYWx1
ZSo+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9udW1D
aGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9y
PFZhbHVlKj4gY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKyAgICBWYWx1ZSoqIGNo
aWxkcmVuQXJyYXkoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gIT0gVmFy
QXJncyk7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFsdWUqKj4oY2hpbGRyZW5BbGxv
YygpKTsKKyAgICB9CisgICAgVmFsdWUqIGNvbnN0KiBjaGlsZHJlbkFycmF5KCkgY29uc3QKKyAg
ICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZhckFyZ3MpOworICAgICAgICBy
ZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKiBjb25zdCo+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAg
fQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEtpbmQga2luZCwgQXJndW1lbnRzLi4uKSB7IHJldHVy
biBraW5kLm9wY29kZSgpOyB9CisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgc2l6ZV90IGFkamFj
ZW5jeUxpc3RTcGFjZShLaW5kIGtpbmQpCisgICAgeworICAgICAgICBzd2l0Y2ggKGtpbmQub3Bj
b2RlKCkpIHsKKyAgICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6CisgICAgICAgIGNhc2UgTm9wOgor
ICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgY2FzZSBKdW1wOgorICAgICAgICBjYXNlIE9vcHM6
CisgICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CisgICAgICAgIGNhc2UgQXJndW1lbnRSZWc6Cisg
ICAgICAgIGNhc2UgQ29uc3QzMjoKKyAgICAgICAgY2FzZSBDb25zdDY0OgorICAgICAgICBjYXNl
IENvbnN0RmxvYXQ6CisgICAgICAgIGNhc2UgQ29uc3REb3VibGU6CisgICAgICAgIGNhc2UgRmVu
Y2U6CisgICAgICAgIGNhc2UgU2xvdEJhc2U6CisgICAgICAgIGNhc2UgR2V0OgorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGNhc2UgUmV0dXJuOgorICAgICAgICBjYXNlIElkZW50aXR5
OgorICAgICAgICBjYXNlIE9wYXF1ZToKKyAgICAgICAgY2FzZSBOZWc6CisgICAgICAgIGNhc2Ug
Q2x6OgorICAgICAgICBjYXNlIEFiczoKKyAgICAgICAgY2FzZSBDZWlsOgorICAgICAgICBjYXNl
IEZsb29yOgorICAgICAgICBjYXNlIFNxcnQ6CisgICAgICAgIGNhc2UgU0V4dDg6CisgICAgICAg
IGNhc2UgU0V4dDE2OgorICAgICAgICBjYXNlIFRydW5jOgorICAgICAgICBjYXNlIFNFeHQzMjoK
KyAgICAgICAgY2FzZSBaRXh0MzI6CisgICAgICAgIGNhc2UgRmxvYXRUb0RvdWJsZToKKyAgICAg
ICAgY2FzZSBJVG9EOgorICAgICAgICBjYXNlIERvdWJsZVRvRmxvYXQ6CisgICAgICAgIGNhc2Ug
SVRvRjoKKyAgICAgICAgY2FzZSBCaXR3aXNlQ2FzdDoKKyAgICAgICAgY2FzZSBCcmFuY2g6Cisg
ICAgICAgIGNhc2UgRGVwZW5kOgorICAgICAgICBjYXNlIExvYWQ4WjoKKyAgICAgICAgY2FzZSBM
b2FkOFM6CisgICAgICAgIGNhc2UgTG9hZDE2WjoKKyAgICAgICAgY2FzZSBMb2FkMTZTOgorICAg
ICAgICBjYXNlIExvYWQ6CisgICAgICAgIGNhc2UgU3dpdGNoOgorICAgICAgICBjYXNlIFVwc2ls
b246CisgICAgICAgIGNhc2UgU2V0OgorICAgICAgICBjYXNlIFdhc21BZGRyZXNzOgorICAgICAg
ICBjYXNlIFdhc21Cb3VuZHNDaGVjazoKKyAgICAgICAgICAgIHJldHVybiBzaXplb2YoVmFsdWUq
KTsKKyAgICAgICAgY2FzZSBBZGQ6CisgICAgICAgIGNhc2UgU3ViOgorICAgICAgICBjYXNlIE11
bDoKKyAgICAgICAgY2FzZSBEaXY6CisgICAgICAgIGNhc2UgVURpdjoKKyAgICAgICAgY2FzZSBN
b2Q6CisgICAgICAgIGNhc2UgVU1vZDoKKyAgICAgICAgY2FzZSBCaXRBbmQ6CisgICAgICAgIGNh
c2UgQml0T3I6CisgICAgICAgIGNhc2UgQml0WG9yOgorICAgICAgICBjYXNlIFNobDoKKyAgICAg
ICAgY2FzZSBTU2hyOgorICAgICAgICBjYXNlIFpTaHI6CisgICAgICAgIGNhc2UgUm90UjoKKyAg
ICAgICAgY2FzZSBSb3RMOgorICAgICAgICBjYXNlIEVxdWFsOgorICAgICAgICBjYXNlIE5vdEVx
dWFsOgorICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAgICBjYXNlIEdyZWF0ZXJUaGFuOgor
ICAgICAgICBjYXNlIExlc3NFcXVhbDoKKyAgICAgICAgY2FzZSBHcmVhdGVyRXF1YWw6CisgICAg
ICAgIGNhc2UgQWJvdmU6CisgICAgICAgIGNhc2UgQmVsb3c6CisgICAgICAgIGNhc2UgQWJvdmVF
cXVhbDoKKyAgICAgICAgY2FzZSBCZWxvd0VxdWFsOgorICAgICAgICBjYXNlIEVxdWFsT3JVbm9y
ZGVyZWQ6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAgICAgICAgY2FzZSBBdG9taWNY
Y2hnQW5kOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdPcjoKKyAgICAgICAgY2FzZSBBdG9taWNY
Y2hnU3ViOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdYb3I6CisgICAgICAgIGNhc2UgQXRvbWlj
WGNoZzoKKyAgICAgICAgY2FzZSBTdG9yZTg6CisgICAgICAgIGNhc2UgU3RvcmUxNjoKKyAgICAg
ICAgY2FzZSBTdG9yZToKKyAgICAgICAgICAgIHJldHVybiAyICogc2l6ZW9mKFZhbHVlKik7Cisg
ICAgICAgIGNhc2UgU2VsZWN0OgorICAgICAgICBjYXNlIEF0b21pY1dlYWtDQVM6CisgICAgICAg
IGNhc2UgQXRvbWljU3Ryb25nQ0FTOgorICAgICAgICAgICAgcmV0dXJuIDMgKiBzaXplb2YoVmFs
dWUqKTsKKyAgICAgICAgY2FzZSBDQ2FsbDoKKyAgICAgICAgY2FzZSBDaGVjazoKKyAgICAgICAg
Y2FzZSBDaGVja0FkZDoKKyAgICAgICAgY2FzZSBDaGVja1N1YjoKKyAgICAgICAgY2FzZSBDaGVj
a011bDoKKyAgICAgICAgY2FzZSBQYXRjaHBvaW50OgorICAgICAgICAgICAgcmV0dXJuIHNpemVv
ZihWZWN0b3I8VmFsdWUqPik7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisKIHByaXZhdGU6CisgICAgc3RhdGljIGNoYXIqIGFsbG9jYXRl
U3BhY2UoT3Bjb2RlIG9wY29kZSwgc2l6ZV90IHNpemUpCisgICAgeworICAgICAgICBzaXplX3Qg
YWRqYWNlbmN5TGlzdFNwYWNlID0gVmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShvcGNvZGUpOwor
ICAgICAgICAvLyBXZSBtdXN0IGFsbG9jYXRlIGVub3VnaCBzcGFjZSB0aGF0IHJlcGxhY2VXaXRo
SWRlbnRpdHkgY2FuIHdvcmsgd2l0aG91dCBidWZmZXIgb3ZlcmZsb3cuCisgICAgICAgIHNpemVf
dCBhbGxvY0lkZW50aXR5U2l6ZSA9IHNpemVvZihWYWx1ZSkgKyBzaXplb2YoVmFsdWUqKTsKKyAg
ICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KHNpemUgKyBhZGphY2VuY3lMaXN0U3Bh
Y2UsIGFsbG9jSWRlbnRpdHlTaXplKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNoYXIq
PihXVEY6OmZhc3RNYWxsb2MoYWxsb2NTaXplKSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAg
c3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGUoQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICB7
CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZShWYWx1ZVR5cGU6Om9wY29kZUZy
b21Db25zdHJ1Y3Rvcihhcmd1bWVudHMuLi4pLCBzaXplb2YoVmFsdWVUeXBlKSk7CisgICAgICAg
IHJldHVybiBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUoYXJndW1lbnRzLi4uKTsKKyAgICB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRpYyBWYWx1ZVR5cGUqIGFsbG9j
YXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAgICAgY2hhciog
YWxsb2MgPSBhbGxvY2F0ZVNwYWNlKHZhbHVlVG9DbG9uZS5vcGNvZGUoKSwgc2l6ZW9mKFZhbHVl
VHlwZSkpOworICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5ldyAoYWxsb2MpIFZhbHVlVHlw
ZSh2YWx1ZVRvQ2xvbmUpOworICAgICAgICByZXN1bHQtPmJ1aWxkQWRqYWNlbmN5TGlzdChzaXpl
b2YoVmFsdWVUeXBlKSwgdmFsdWVUb0Nsb25lKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICB9CisKKyAgICAvLyBQcm90ZWN0ZWQgc28gaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBmcm9tIGFs
bG9jYXRlIGFib3ZlLCBwb3NzaWJseSB0aHJvdWdoIHRoZSBzdWJjbGFzc2VzJ2NvcHkgY29uc3Ry
dWN0b3JzCisgICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7CisKKyAgICBWYWx1ZShW
YWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFZhbHVlJikgPSBk
ZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShWYWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICAKKyAg
ICBzaXplX3QgYWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0OworCiAgICAgZnJpZW5kIGNsYXNz
IFByb2NlZHVyZTsKICAgICBmcmllbmQgY2xhc3MgU3BhcnNlQ29sbGVjdGlvbjxWYWx1ZT47CiAK
K3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHZvaWQg
YnVpbGRBZGphY2VuY3lMaXN0KE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgaWYgKG51bUNoaWxkcmVuID09IFZhckFyZ3MpIHsK
KyAgICAgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWZWN0b3I8VmFsdWUqPiB7IGFyZ3Vt
ZW50cy4uLiB9OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VChudW1DaGlsZHJlbiA9PSBzaXplb2YuLi4oYXJndW1lbnRzKSk7CisgICAgICAgIG5ldyAoY2hp
bGRyZW5BbGxvYygpKSBWYWx1ZSpbc2l6ZW9mLi4uKGFyZ3VtZW50cyldIHsgYXJndW1lbnRzLi4u
IH07CisgICAgfQorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KHNpemVfdCBvZmZzZXQsIGNv
bnN0IFZhbHVlJiB2YWx1ZVRvQ2xvbmUpCisgICAgeworICAgICAgICBzd2l0Y2ggKHZhbHVlVG9D
bG9uZS5tX251bUNoaWxkcmVuKSB7CisgICAgICAgIGNhc2UgVmFyQXJnczoKKyAgICAgICAgICAg
IG5ldyAoYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldCkgVmVjdG9yPFZhbHVlKj4g
KHZhbHVlVG9DbG9uZS5jaGlsZHJlblZlY3RvcigpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFRocmVlOgorICAgICAgICAgICAgYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdp
c2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQpWzJdID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVu
QXJyYXkoKVsyXTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAgICAgICBjYXNlIFR3bzoK
KyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRo
aXMpICsgb2Zmc2V0KVsxXSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMV07CisgICAg
ICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgY2FzZSBPbmU6CisgICAgICAgICAgICBiaXR3
aXNlX2Nhc3Q8VmFsdWUqKj4oYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldClbMF0g
PSB2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5BcnJheSgpWzBdOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgWmVybzoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
ICAgIAogICAgIC8vIENoZWNrcyB0aGF0IHRoaXMga2luZCBpcyB2YWxpZCBmb3IgdXNlIHdpdGgg
QjM6OlZhbHVlLgotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQgY2hlY2tLaW5kKEtpbmQg
a2luZCwgdW5zaWduZWQgbnVtQXJncykKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBOdW1DaGls
ZHJlbiBudW1DaGlsZHJlbkZvcktpbmQoS2luZCBraW5kLCB1bnNpZ25lZCBudW1BcmdzKQogICAg
IHsKICAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CiAgICAgICAgIGNhc2UgRnJhbWVQ
b2ludGVyOgpAQCAtMzI0LDExICs1NjIsMTEgQEAKICAgICAgICAgY2FzZSBFbnRyeVN3aXRjaDoK
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzKSkKICAgICAgICAgICAgICAgICBiYWRL
aW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1
cm4gWmVybzsKICAgICAgICAgY2FzZSBSZXR1cm46CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
bnVtQXJncyA+IDEpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBudW1BcmdzID8gT25lIDogWmVy
bzsKICAgICAgICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBPcGFxdWU6CiAgICAgICAg
IGNhc2UgTmVnOgpAQCAtMzUxLDcgKzU4OSw3IEBACiAgICAgICAgIGNhc2UgRGVwZW5kOgogICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMSkpCiAgICAgICAgICAgICAgICAgYmFk
S2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0
dXJuIE9uZTsKICAgICAgICAgY2FzZSBBZGQ6CiAgICAgICAgIGNhc2UgU3ViOgogICAgICAgICBj
YXNlIE11bDoKQEAgLTM4MCwxMjkgKzYxOCwxMDUgQEAKICAgICAgICAgY2FzZSBFcXVhbE9yVW5v
cmRlcmVkOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMikpCiAgICAgICAg
ICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIFR3bzsKICAgICAgICAgY2FzZSBTZWxlY3Q6CiAgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkobnVtQXJncyAhPSAzKSkKICAgICAgICAgICAgICAgICBiYWRLaW5kKGtpbmQs
IG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gVGhyZWU7
CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFZhckFyZ3M7CiAg
ICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDaGVja2VkT3Bjb2RlVGFnIHsgQ2hlY2tlZE9w
Y29kZSB9OwotCi0gICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7Ci0gICAgVmFsdWUm
IG9wZXJhdG9yPShjb25zdCBWYWx1ZSYpID0gZGVmYXVsdDsKICAgICAKICAgICAvLyBJbnN0YW50
aWF0ZSB2YWx1ZXMgdmlhIFByb2NlZHVyZS4KICAgICAvLyBUaGlzIGZvcm0gcmVxdWlyZXMgc3Bl
Y2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5OgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQs
IFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4u
LiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBr
aW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBW
YWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKICAgICAgICAgOiBtX2tp
bmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVu
KG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2No
aWxkcmVueyBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4gfQogICAgIHsKKyAgICAgICAgYnVpbGRB
ZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4pOwogICAg
IH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHNwZWNpZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRs
eSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNoaWxkcmVuOgotICAgIGV4cGxpY2l0IFZhbHVlKENo
ZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQorICAg
IGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBO
dW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikKICAgICAgICAgOiBtX2tpbmQo
a2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51
bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKICAgICB7CisgICAgICAgIGJ1
aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbik7CiAgICAgfQotICAgIC8vIFRoaXMgZm9ybSBp
cyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9w
Y29kZSBhbmQgZmlyc3QgY2hpbGQ6Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2lu
IG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQpCi0gICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAg
ICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkpCi0gICAgICAgICwgbV9vcmln
aW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57IGZpcnN0Q2hpbGQgfQotICAgIHsKLSAg
ICB9Ci0gICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVy
IHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBhbmQgc2Vjb25kIGNoaWxkOgot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShD
aGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENo
aWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAg
IDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGls
ZCwgc2Vjb25kQ2hpbGQpKQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBt
X2NoaWxkcmVueyBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJndW1lbnRzLi4uIH0KLSAgICB7
Ci0gICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBp
bmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbG9uZSwgYW5kIHRoYXQgZG9uJ3QKICAg
ICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29k
ZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNr
ZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBv
cmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGVGb3Io
a2luZCwgbnVsbHB0cikpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAg
ICAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxp
c3QobnVtQ2hpbGRyZW4pOwogICAgIH0KLSAgICAvLyBVc2UgdGhpcyBmb3JtIGZvciB2YXJhcmdz
LgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbikKKyAgICAv
LyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlw
ZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgorICAgIGV4cGxpY2l0IFZhbHVlKENo
ZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdp
biBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQogICAgICAgICA6IG1fa2luZChraW5kKQotICAg
ICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0
Q2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAgICAgICAgICwg
bV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oY2hpbGRyZW4pCiAgICAgewor
ICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4sIGZpcnN0Q2hpbGQpOwogICAg
IH0KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQorICAgIC8vIFRo
aXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZy
b20gdGhlIG9wY29kZSBhbmQgZmlyc3QgYW5kIHNlY29uZCBjaGlsZDoKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbiwgVmFs
dWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50
cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAg
ICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCkpCisgICAg
ICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmln
aW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihXVEZNb3ZlKGNoaWxkcmVuKSkKICAgICB7CisgICAg
ICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCwgc2Vjb25kQ2hp
bGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogCiAgICAgLy8gVGhpcyBpcyB0aGUgY29uc3RydWN0
b3IgeW91IGVuZCB1cCBhY3R1YWxseSBjYWxsaW5nLCBpZiB5b3UncmUgaW5zdGFudGlhdGluZyBW
YWx1ZQogICAgIC8vIGRpcmVjdGx5LgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBv
cmlnaW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2lu
KQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2lu
KQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFplcm8sIG9yaWdp
bikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCAwKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQobnVtQ2hpbGRyZW5Gb3JLaW5kKGtpbmQsIDApID09IFplcm8pOwogICAgIH0KKyAgICAv
LyBXZSBleHBsaWNpdGx5IGNvbnZlcnQgdGhlIGV4dHJhIGFyZ3VtZW50cyB0byBWYWx1ZSogKHRo
ZXkgbWF5IGJlIHBvaW50ZXJzIHRvIHNvbWUgc3ViY2xhc3NlcyBvZiBWYWx1ZSkgdG8gbGltaXQg
dGVtcGxhdGUgZXhwbG9zaW9uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgot
ICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdp
biwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKLSAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0
ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCisgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG51bUNoaWxkcmVuRm9yS2luZChraW5kLCBz
aXplb2YuLi4oYXJndW1lbnRzKSksIG9yaWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVu
dHMpLi4uKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIDEgKyBzaXplb2YuLi4oYXJn
dW1lbnRzKSk7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAg
ICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4s
IGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgY2hpbGRyZW4pCisgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBB
cmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtp
bmQsIHR5cGUsIG51bUNoaWxkcmVuRm9yS2luZChraW5kLCAxICsgc2l6ZW9mLi4uKGFyZ3VtZW50
cykpLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4u
LikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBjaGlsZHJlbi5zaXplKCkpOwogICAg
IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0
IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBBZGphY2VuY3lMaXN0
JiYgY2hpbGRyZW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwg
b3JpZ2luLCBXVEZNb3ZlKGNoaWxkcmVuKSkKLSAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5k
LCBtX2NoaWxkcmVuLnNpemUoKSk7Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2lu
LCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQot
ICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIHNpemVvZi4uLihhcmd1bWVudHMpKTsKLSAg
ICB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIENoZWNrVmFsdWU7IC8vIENoZWNrVmFs
dWU6OmNvbnZlcnRUb0FkZCgpIG1vZGlmaWVzIG1fa2luZC4KLSAgICAKKwogICAgIHN0YXRpYyBU
eXBlIHR5cGVGb3IoS2luZCwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCA9
IG51bGxwdHIpOwogCi0gICAgLy8gVGhpcyBncm91cCBvZiBmaWVsZHMgaXMgYXJyYW5nZWQgdG8g
Zml0IGluIDY0IGJpdHMuCisgICAgLy8gbV9pbmRleCB0byBtX251bUNoaWxkcmVuIGFyZSBhcnJh
bmdlZCB0byBmaXQgaW4gNjQgYml0cy4KIHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBtX2luZGV4
IHsgVUlOVF9NQVggfTsKIHByaXZhdGU6CiAgICAgS2luZCBtX2tpbmQ7CiAgICAgVHlwZSBtX3R5
cGU7Ci0gICAgCitwcm90ZWN0ZWQ6CisgICAgTnVtQ2hpbGRyZW4gbV9udW1DaGlsZHJlbjsKK3By
aXZhdGU6CiAgICAgT3JpZ2luIG1fb3JpZ2luOwotICAgIEFkamFjZW5jeUxpc3QgbV9jaGlsZHJl
bjsKIAogICAgIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggc3RhdGljIHZvaWQgYmFkS2luZChLaW5k
LCB1bnNpZ25lZCk7CiAKQEAgLTUxOCwxMyArNzMyLDcgQEAKICAgICB7CiAgICAgfQogCi0gICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobV92
YWx1ZSkKLSAgICAgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1fcHJvYywgb3V0KTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCI8bnVsbD4iKTsKLSAgICB9CisgICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGNvbnN0IFBy
b2NlZHVyZSogbV9wcm9jOwpAQCAtNTQwLDYgKzc0OCwxMTYgQEAKICAgICByZXR1cm4gRGVlcFZh
bHVlRHVtcChudWxscHRyLCB2YWx1ZSk7CiB9CiAKKy8vIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGFy
ZSBkZXNpZ25lZCBmb3Igc3ViY2xhc3NlcyBvZiBCMzo6VmFsdWUgdG8gdXNlLgorLy8gVGhleSBh
cmUgbmV2ZXIgcmVxdWlyZWQgZm9yIGNvcnJlY3RuZXNzLCBidXQgY2FuIGltcHJvdmUgdGhlIHBl
cmZvcm1hbmNlIG9mIGNoaWxkL2xhc3RDaGlsZC9udW1DaGlsZHJlbi9jaGlsZHJlbiBtZXRob2Rz
LAorLy8gZm9yIHVzZXJzIHRoYXQgYWxyZWFkeSBrbm93IHRoZSBzcGVjaWZpYyBzdWJjbGFzcyBv
ZiBWYWx1ZSB0aGV5IGFyZSBtYW5pcHVsYXRpbmcuCisvLyBUaGUgZmlyc3Qgc2V0IGlzIHRvIGJl
IHVzZWQgd2hlbiB5b3Uga25vdyBzb21ldGhpbmcgYWJvdXQgdGhlIG51bWJlciBvZiBjaGlsZHJl
biBvZiBhbGwgdmFsdWVzIG9mIGEgY2xhc3MsIGluY2x1ZGluZyBpdHMgc3ViY2xhc3NlczoKKy8v
IC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU46IGFsd2F5cyAwIGNoaWxkcmVu
IChlLmcuIENvbnN0MzJWYWx1ZSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURf
Q0hJTERSRU4obik6IGFsd2F5cyBuIGNoaWxkcmVuLCB3aXRoIG4gaW4gezEsIDIsIDN9IChlLmcu
IFVwc2lsb25WYWx1ZSwgd2l0aCBuID0gMSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
Tk9OX1ZBUkFSR1NfQ0hJTERSRU46IGRpZmZlcmVudCBudW1iZXJzIG9mIGNoaWxkcmVuLCBidXQg
bmV2ZXIgYSB2YXJpYWJsZSBudW1iZXIgYXQgcnVudGltZSAoZS5nLiBNZW1vcnlWYWx1ZSwgdGhh
dCBjYW4gaGF2ZSBiZXR3ZWVuIDEgYW5kIDMgY2hpbGRyZW4pCisvLyAtIEIzX1NQRUNJQUxJWkVf
VkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU46IGFsd2F5cyBhIHZhcmFyZ3MgKGUuZy4gQ0NhbGxW
YWx1ZSkKKy8vIFRoZSBzZWNvbmQgc2V0IGlzIG9ubHkgdG8gYmUgdXNlZCBieSBjbGFzc2VzIHRo
YXQgd2Uga25vdyBhcmUgbm90IGZ1cnRoZXIgc3ViY2xhc3NlZCBieSBhbnlvbmUgYWRkaW5nIGZp
ZWxkcywKKy8vIGFzIHRoZXkgaGFyZGNvZGUgdGhlIG9mZnNldCBvZiB0aGUgY2hpbGRyZW4gYXJy
YXkvdmVjdG9yICh3aGljaCBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0KS4KKy8v
IC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorLy8g
LSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKyNk
ZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4gXAorICAgIHVuc2lnbmVk
IG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gMDsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJh
bmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgeyByZXR1cm4ge251bGxwdHIsIG51bGxwdHJ9OyB9IFwK
KyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCB7
IHJldHVybiB7IG51bGxwdHIsIG51bGxwdHJ9OyB9CisKKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9W
QUxVRV9GT1JfRklYRURfQ0hJTERSRU4obikgXAorcHVibGljOiBcCisgICAgdW5zaWduZWQgbnVt
Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBuOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2ln
bmVkIGluZGV4KSBcCisgICAgeyBcCisgICAgICAgIEFTU0VSVChpbmRleCA8PSBuKTsgXAorICAg
ICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgXAorICAgIH0gXAorICAgIFZhbHVl
KiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBBU1NFUlQo
aW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IFwK
KyAgICB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIFwKKyAgICB7IFwKKyAgICAgICAgcmV0
dXJuIGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogbGFzdENo
aWxkKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW24g
LSAxXTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJl
bigpIFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7
IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorICAg
IFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAg
ICB7IFwKKyAgICAgICAgVmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwK
KyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAorICAgIH0gXAorCisjZGVm
aW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1Ymxp
YzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1DaGls
ZHJlbjsgfSBcCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gY2hp
bGRyZW5BcnJheSgpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4
KSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSom
IGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtudW1DaGlsZHJlbigpIC0gMV07
IH0gXAorICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5
KClbbnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUq
Kj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiogYnVmZmVyID0gY2hpbGRy
ZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJl
bigpIH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4g
Y2hpbGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVmZmVy
ID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBu
dW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVF
X0ZPUl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7IH0gXAorICAgIFZh
bHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5k
ZXhdOyB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJu
IGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsg
cmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgpOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxk
KCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7IH0gXAorICAgIFdURjo6
SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmVj
dG9yPFZhbHVlKj4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAg
fSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29u
c3QgXAorICAgIHsgXAorICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqPiYgdmVjID0gY2hpbGRy
ZW5WZWN0b3IoKTsgXAorICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZl
Yy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7IFwKKyAgICB9IFwKKworLy8gT25seSB1c2UgdGhpcyBm
b3IgY2xhc3NlcyB3aXRoIG5vIHN1YmNsYXNzIHRoYXQgYWRkIG5ldyBmaWVsZHMgKGFzIGl0IHVz
ZXMgc2l6ZW9mKCp0aGlzKSkKKy8vIEFsc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gYXBwbHlpbmcg
dGhpcyB0byBjbGFzc2VzIHdpdGggbm8gY2hpbGRyZW4sIGFzIHRoZXkgZG9uJ3QgaGF2ZSBhIGNo
aWxkcmVuIGFycmF5IHRvIGFjY2Vzcy4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
RklOQUxfU0laRV9GSVhFRF9DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmFsdWUqKiBjaGls
ZHJlbkFycmF5KCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVl
Kio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0g
XAorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgpIGNvbnN0IFwKKyAgICB7IFwKKyAg
ICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hh
ciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9CisKKy8vIE9ubHkgdXNl
IHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0IGFkZCBuZXcgZmllbGRzIChh
cyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9S
X0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTiBcCitwcml2YXRlOiBcCisgICAgVmVjdG9yPFZh
bHVlKj4mIGNoaWxkcmVuVmVjdG9yKCkgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gKmJpdHdp
c2VfY2FzdDxWZWN0b3I8VmFsdWUqPio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXpl
b2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBjaGlsZHJl
blZlY3RvcigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8
VmVjdG9yPFZhbHVlKj4gY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsg
c2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVmFsdWVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzVmFsdWVJbmxpbmVzLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOSArMjcsMTU3
IEBACiAKICNpZiBFTkFCTEUoQjNfSklUKQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVl
LmgiCisjaW5jbHVkZSAiQjNBdG9taWNWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5o
IgogI2luY2x1ZGUgIkIzQ2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgi
CiAjaW5jbHVkZSAiQjNDb25zdDY0VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFs
dWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VW
YWx1ZS5oIgorI2luY2x1ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9p
bnRWYWx1ZS5oIgogI2luY2x1ZGUgIkIzUGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2Nl
ZHVyZS5oIgorI2luY2x1ZGUgIkIzU2xvdEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNo
VmFsdWUuaCIKKyNpbmNsdWRlICJCM1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUu
aCIKKyNpbmNsdWRlICJCM1ZhcmlhYmxlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNz
VmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8
d3RmL0dyYXBoTm9kZVdvcmtsaXN0Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMg
ewogCisjZGVmaW5lIERJU1BBVENIX09OX0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2ggKGtpbmQo
KS5vcGNvZGUoKSkgeyBcCisgICAgY2FzZSBGcmFtZVBvaW50ZXI6IFwKKyAgICBjYXNlIE5vcDog
XAorICAgIGNhc2UgUGhpOiBcCisgICAgY2FzZSBKdW1wOiBcCisgICAgY2FzZSBPb3BzOiBcCisg
ICAgY2FzZSBFbnRyeVN3aXRjaDogXAorICAgIGNhc2UgUmV0dXJuOiBcCisgICAgY2FzZSBJZGVu
dGl0eTogXAorICAgIGNhc2UgT3BhcXVlOiBcCisgICAgY2FzZSBOZWc6IFwKKyAgICBjYXNlIENs
ejogXAorICAgIGNhc2UgQWJzOiBcCisgICAgY2FzZSBDZWlsOiBcCisgICAgY2FzZSBGbG9vcjog
XAorICAgIGNhc2UgU3FydDogXAorICAgIGNhc2UgU0V4dDg6IFwKKyAgICBjYXNlIFNFeHQxNjog
XAorICAgIGNhc2UgVHJ1bmM6IFwKKyAgICBjYXNlIFNFeHQzMjogXAorICAgIGNhc2UgWkV4dDMy
OiBcCisgICAgY2FzZSBGbG9hdFRvRG91YmxlOiBcCisgICAgY2FzZSBJVG9EOiBcCisgICAgY2Fz
ZSBEb3VibGVUb0Zsb2F0OiBcCisgICAgY2FzZSBJVG9GOiBcCisgICAgY2FzZSBCaXR3aXNlQ2Fz
dDogXAorICAgIGNhc2UgQnJhbmNoOiBcCisgICAgY2FzZSBEZXBlbmQ6IFwKKyAgICBjYXNlIEFk
ZDogXAorICAgIGNhc2UgU3ViOiBcCisgICAgY2FzZSBNdWw6IFwKKyAgICBjYXNlIERpdjogXAor
ICAgIGNhc2UgVURpdjogXAorICAgIGNhc2UgTW9kOiBcCisgICAgY2FzZSBVTW9kOiBcCisgICAg
Y2FzZSBCaXRBbmQ6IFwKKyAgICBjYXNlIEJpdE9yOiBcCisgICAgY2FzZSBCaXRYb3I6IFwKKyAg
ICBjYXNlIFNobDogXAorICAgIGNhc2UgU1NocjogXAorICAgIGNhc2UgWlNocjogXAorICAgIGNh
c2UgUm90UjogXAorICAgIGNhc2UgUm90TDogXAorICAgIGNhc2UgRXF1YWw6IFwKKyAgICBjYXNl
IE5vdEVxdWFsOiBcCisgICAgY2FzZSBMZXNzVGhhbjogXAorICAgIGNhc2UgR3JlYXRlclRoYW46
IFwKKyAgICBjYXNlIExlc3NFcXVhbDogXAorICAgIGNhc2UgR3JlYXRlckVxdWFsOiBcCisgICAg
Y2FzZSBBYm92ZTogXAorICAgIGNhc2UgQmVsb3c6IFwKKyAgICBjYXNlIEFib3ZlRXF1YWw6IFwK
KyAgICBjYXNlIEJlbG93RXF1YWw6IFwKKyAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6IFwKKyAg
ICBjYXNlIFNlbGVjdDogXAorICAgICAgICByZXR1cm4gTUFDUk8oVmFsdWUpOyBcCisgICAgY2Fz
ZSBBcmd1bWVudFJlZzogXAorICAgICAgICByZXR1cm4gTUFDUk8oQXJndW1lbnRSZWdWYWx1ZSk7
IFwKKyAgICBjYXNlIENvbnN0MzI6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0MzJWYWx1
ZSk7IFwKKyAgICBjYXNlIENvbnN0NjQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0NjRW
YWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0RmxvYXQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENv
bnN0RmxvYXRWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0RG91YmxlOiBcCisgICAgICAgIHJldHVy
biBNQUNSTyhDb25zdERvdWJsZVZhbHVlKTsgXAorICAgIGNhc2UgRmVuY2U6IFwKKyAgICAgICAg
cmV0dXJuIE1BQ1JPKEZlbmNlVmFsdWUpOyBcCisgICAgY2FzZSBTbG90QmFzZTogXAorICAgICAg
ICByZXR1cm4gTUFDUk8oU2xvdEJhc2VWYWx1ZSk7IFwKKyAgICBjYXNlIEdldDogXAorICAgIGNh
c2UgU2V0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhWYXJpYWJsZVZhbHVlKTsgXAorICAgIGNh
c2UgTG9hZDhaOiBcCisgICAgY2FzZSBMb2FkOFM6IFwKKyAgICBjYXNlIExvYWQxNlo6IFwKKyAg
ICBjYXNlIExvYWQxNlM6IFwKKyAgICBjYXNlIExvYWQ6IFwKKyAgICBjYXNlIFN0b3JlODogXAor
ICAgIGNhc2UgU3RvcmUxNjogXAorICAgIGNhc2UgU3RvcmU6IFwKKyAgICAgICAgcmV0dXJuIE1B
Q1JPKE1lbW9yeVZhbHVlKTsgXAorICAgIGNhc2UgU3dpdGNoOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhTd2l0Y2hWYWx1ZSk7IFwKKyAgICBjYXNlIFVwc2lsb246IFwKKyAgICAgICAgcmV0dXJu
IE1BQ1JPKFVwc2lsb25WYWx1ZSk7IFwKKyAgICBjYXNlIFdhc21BZGRyZXNzOiBcCisgICAgICAg
IHJldHVybiBNQUNSTyhXYXNtQWRkcmVzc1ZhbHVlKTsgXAorICAgIGNhc2UgV2FzbUJvdW5kc0No
ZWNrOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhXYXNtQm91bmRzQ2hlY2tWYWx1ZSk7IFwKKyAg
ICBjYXNlIEF0b21pY1hjaGdBZGQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBbmQ6IFwKKyAgICBj
YXNlIEF0b21pY1hjaGdPcjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1N1YjogXAorICAgIGNhc2Ug
QXRvbWljWGNoZ1hvcjogXAorICAgIGNhc2UgQXRvbWljWGNoZzogXAorICAgIGNhc2UgQXRvbWlj
V2Vha0NBUzogXAorICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhBdG9taWNWYWx1ZSk7IFwKKyAgICBjYXNlIENDYWxsOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhDQ2FsbFZhbHVlKTsgXAorICAgIGNhc2UgQ2hlY2s6IFwKKyAgICBjYXNlIENoZWNrQWRk
OiBcCisgICAgY2FzZSBDaGVja1N1YjogXAorICAgIGNhc2UgQ2hlY2tNdWw6IFwKKyAgICAgICAg
cmV0dXJuIE1BQ1JPKENoZWNrVmFsdWUpOyBcCisgICAgY2FzZSBQYXRjaHBvaW50OiBcCisgICAg
ICAgIHJldHVybiBNQUNSTyhQYXRjaHBvaW50VmFsdWUpOyBcCisgICAgZGVmYXVsdDogXAorICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyBcCisgICAgfQorCitBTFdBWVNfSU5M
SU5FIHNpemVfdCBWYWx1ZTo6YWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Cit7CisjZGVmaW5l
IFZBTFVFX1RZUEVfU0laRShWYWx1ZVR5cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFU
Q0hfT05fS0lORChWQUxVRV9UWVBFX1NJWkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQor
CitBTFdBWVNfSU5MSU5FIFZhbHVlKiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3sKKyNkZWZp
bmUgVkFMVUVfVFlQRV9DTE9ORShWYWx1ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRp
Y19jYXN0PGNvbnN0IFZhbHVlVHlwZSo+KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFM
VUVfVFlQRV9DTE9ORSk7CisjdW5kZWYgVkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBCb3R0b21Qcm92aWRlcj4KIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNv
bnN0IEJvdHRvbVByb3ZpZGVyJiBib3R0b21Qcm92aWRlcikKIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDEsMTMgKzQxLDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1w
KG1fdmFyaWFibGUpKTsKIH0KIAotVmFsdWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBWYXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFi
bGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxl
KiB2YXJpYWJsZSwgVmFsdWUqIHZhbHVlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQs
IFZvaWQsIE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7
CiAgICAgQVNTRVJUKGtpbmQgPT0gU2V0KTsKQEAgLTU0LDcgKzQ5LDcgQEAKIH0KIAogVmFyaWFi
bGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxl
KiB2YXJpYWJsZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50
eXBlKCksIG9yaWdpbikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxl
LT50eXBlKCksIFplcm8sIG9yaWdpbikKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAg
ICAgQVNTRVJUKGtpbmQgPT0gR2V0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhcmlhYmxlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNWYXJpYWJsZVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDE1
IEBACiAKICAgICBWYXJpYWJsZSogdmFyaWFibGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxl
OyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgor
ICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwog
cHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlk
ZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBj
bGFzcyBWYWx1ZTsKIAogICAgIC8vIFVzZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1
ZShLaW5kLCBPcmlnaW4sIFZhcmlhYmxlKiwgVmFsdWUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcGlu
bmVkR1BSKTsKIH0KIAotVmFsdWUqIFdhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG5ldyBXYXNtQWRkcmVzc1ZhbHVlKCp0aGlzKTsKLX0KLQogV2FzbUFk
ZHJlc3NWYWx1ZTo6V2FzbUFkZHJlc3NWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUs
IEdQUlJlZyBwaW5uZWRHUFIpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVz
cywgSW50NjQsIG9yaWdpbiwgdmFsdWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNt
QWRkcmVzcywgSW50NjQsIE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fcGlubmVkR1BSKHBp
bm5lZEdQUikKIHsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRy
ZXNzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNt
QWRkcmVzc1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTQgKzQwLDE3
IEBACiAKICAgICBHUFJSZWcgcGlubmVkR1BSKCkgY29uc3QgeyByZXR1cm4gbV9waW5uZWRHUFI7
IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwot
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNz
IFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2lu
LCBWYWx1ZSosIEdQUlJlZykgeyByZXR1cm4gV2FzbUFkZHJlc3M7IH0KICAgICBXYXNtQWRkcmVz
c1ZhbHVlKE9yaWdpbiwgVmFsdWUqLCBHUFJSZWcpOwogCiAgICAgR1BSUmVnIG1fcGlubmVkR1BS
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHND
aGVja1ZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICsz
Niw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShP
cmlnaW4gb3JpZ2luLCBHUFJSZWcgcGlubmVkU2l6ZSwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zm
c2V0KQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4s
IHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBv
cmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShU
eXBlOjpQaW5uZWQpCiB7CkBAIC00NCw3ICs0NCw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1Zh
bHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNp
Z25lZCBvZmZzZXQsIHNpemVfdCBtYXhpbXVtKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
V2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4sIHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IFdhc21Cb3VuZHNDaGVjaywgT25lLCBvcmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNl
dCkKICAgICAsIG1fYm91bmRzVHlwZShUeXBlOjpNYXhpbXVtKQogewpAQCAtNTUsMTEgKzU1LDYg
QEAKICAgICBtX2JvdW5kcy5tYXhpbXVtID0gbWF4aW11bTsKIH0KIAotVmFsdWUqIFdhc21Cb3Vu
ZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUJv
dW5kc0NoZWNrVmFsdWUoKnRoaXMpOwotfQotCiB2b2lkIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpk
dW1wTWV0YShDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIHN3aXRjaCAobV9ib3VuZHNUeXBlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDE1ICszNCw3IEBACiAKIGNsYXNzIFdhc21Cb3VuZHNDaGVja1ZhbHVl
IDogcHVibGljIFZhbHVlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQg
a2luZCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUoKSkgewotICAgICAgICBj
YXNlIFdhc21Cb3VuZHNDaGVjazoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAg
IHN0YXRpYyBib29sIGFjY2VwdHMoS2luZCBraW5kKSB7IHJldHVybiBraW5kID09IFdhc21Cb3Vu
ZHNDaGVjazsgfQogICAgIAogICAgIH5XYXNtQm91bmRzQ2hlY2tWYWx1ZSgpOwogCkBAIC02MCwx
NSArNTIsMjAgQEAKICAgICBUeXBlIGJvdW5kc1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5k
c1R5cGU7IH0KICAgICBCb3VuZHMgYm91bmRzKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHM7IH0K
IAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNf
U1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBH
UFJSZWcsIFZhbHVlKiwgdW5zaWduZWQpIHsgcmV0dXJuIFdhc21Cb3VuZHNDaGVjazsgfQogICAg
IEpTX0VYUE9SVF9QUklWQVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9yaWdpbiwgR1BSUmVnIHBp
bm5lZEdQUiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KTsKKworICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCB1bnNpZ25lZCwgc2l6ZV90
KSB7IHJldHVybiBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBXYXNt
Qm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4sIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCwgc2l6
ZV90IG1heGltdW0pOwogCiAgICAgdW5zaWduZWQgbV9vZmZzZXQ7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvdGVzdGIzLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzQyLDcgKzEwNzQyLDcg
QEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAog
ICAgICAgICBwcm9jLCBJbnQzMiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxD
b25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5j
dGlvbldpdGhIZWxsYUFyZ3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGls
ZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwog
ICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdp
bigpLCBjYWxsKTsKIApAQCAtMTA3NjgsNyArMTA3NjgsNyBAQAogICAgIENDYWxsVmFsdWUqIGNh
bGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDY0LCBP
cmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9y
aWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRz
MiwgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rvcihh
cmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVu
ZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA3
OTAsNyArMTA3OTAsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8
Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDMyLCBPcmlnaW4oKSwKICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25Q
dHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMywgQjNDQ2FsbFB0clRhZykpKTsK
LSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBl
bmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9j
LCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA4OTAsNyArMTA4OTAsNyBAQAogICAg
IENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAg
IHByb2MsIERvdWJsZSwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0
clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldp
dGhIZWxsYURvdWJsZUFyZ3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGls
ZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwog
ICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdp
bigpLCBjYWxsKTsKIApAQCAtMTA5MTQsNyArMTA5MTQsNyBAQAogICAgIENDYWxsVmFsdWUqIGNh
bGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEZsb2F0LCBP
cmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9y
aWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1
bWVudHMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0
b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5h
cHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkocmV2aXNpb24gMjQzNDcxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzgwLDcgKzM4MCw3IEBACiAgICAgTFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVlIGZ1
bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCiAgICAgewogICAgICAgICBCMzo6Q0Nh
bGxWYWx1ZSogcmVzdWx0ID0gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3By
b2MsIHR5cGUsIG9yaWdpbigpLCBmdW5jdGlvbik7Ci0gICAgICAgIHJlc3VsdC0+Y2hpbGRyZW4o
KS5hcHBlbmRWZWN0b3IodmVjdG9yKTsKKyAgICAgICAgcmVzdWx0LT5hcHBlbmRBcmdzKHZlY3Rv
cik7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIExWYWx1ZSBjYWxsKExUeXBl
IHR5cGUsIExWYWx1ZSBmdW5jdGlvbikgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpD
Q2FsbFZhbHVlPihtX3Byb2MsIHR5cGUsIG9yaWdpbigpLCBmdW5jdGlvbik7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366116</attachid>
            <date>2019-03-27 15:47:35 -0700</date>
            <delta_ts>2019-03-29 12:38:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch196091_reallyFixed</filename>
            <type>text/plain</type>
            <size>85870</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQzNTY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzOSBA
QAorMjAxOS0wMy0yNyAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIEIzOjpWYWx1ZSBzaG91bGQgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgYWRqYWNlbmN5
IGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTYwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUga2V5IGlkZWEgb2YgdGhpcyBvcHRpbWl6YXRpb24gaXMgdG8gcmVwbGFjZSB0aGUgVmVjdG9y
PFZhbHVlKiwgMz4gbV9jaGlsZHJlbiBpbiBCMzo6VmFsdWUgKDQwIGJ5dGVzIG9uIDY0LWJpdHMg
cGxhdGZvcm0pIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgorICAgICAgICAtIE5vdGhpbmcgKDAg
Ynl0ZXMpCisgICAgICAgIC0gMSBWYWx1ZSogKDggYnl0ZXMpCisgICAgICAgIC0gMiBWYWx1ZSog
KDE2IGJ5dGVzKQorICAgICAgICAtIDMgVmFsdWUqICgyNCBieXRlcykKKyAgICAgICAgLSBBIFZl
Y3RvcjxWYWx1ZSosIDM+CisgICAgICAgIGFmdGVyIHRoZSBlbmQgb2YgdGhlIFZhbHVlIG9iamVj
dCwgZGVwZW5kaW5nIG9uIHRoZSBraW5kIG9mIHRoZSBWYWx1ZS4KKyAgICAgICAgU28gZm9yIGV4
YW1wbGUsIHdoZW4gYWxsb2NhdGluZyBhbiBBZGQsIHdlIHdvdWxkIGFsbG9jYXRlIGFuIGV4dHJh
IDE2IGJ5dGVzIGludG8gd2hpY2ggdG8gc3RvcmUgMiBWYWx1ZXMuCisgICAgICAgIFRoaXMgd291
bGQgaGFsdmUgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiBDb25zdDY0L0NvbnN0MzIvTm9wL0lk
ZW50aXR5IGFuZCBhIGJ1bmNoIG1vcmUga2luZHMgb2YgdmFsdWVzLCBhbmQgcmVkdWNlIGJ5IGEg
bW9yZSBtb2RlcmF0ZSBhbW91bnQgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiB0aGUgcmVzdCBv
ZiBub24tdmFyYXJncyB2YWx1ZXMgKGUuZy4gQWRkIHdvdWxkIGdvIGZyb20gNzIgdG8gNDggYnl0
ZXMpLgorCisgICAgICAgIEEgZmV3IGltcGxlbWVudGF0aW9uIHBvaW50czoKKyAgICAgICAgLSBF
dmVuIGlmIHRoZXJlIGlzIG5vIGNoaWxkcmVuLCB3ZSBtdXN0IHJlbWVtYmVyIHRvIGFsbG9jYXRl
IGF0IGxlYXN0IGVub3VnaCBzcGFjZSBmb3IgcmVwbGFjZVdpdGhJZGVudGl0eSB0byB3b3JrIGxh
dGVyLiBJdCBuZWVkcyBzaXplb2YoVmFsdWUpIChmb3IgdGhlIG9iamVjdCBpdHNlbGYpICsgc2l6
ZW9mKFZhbHVlKikgKGZvciB0aGUgcG9pbnRlciB0byBpdHMgY2hpbGQpCisgICAgICAgIC0gV2Ug
bXVzdCBtYWtlIHN1cmUgdG8gZGVzdHJveSB0aGUgdmVjdG9yIHdoZW5ldmVyIHdlIGRlc3Ryb3kg
YSBWYWx1ZSB3aGljaCBpcyBWYXJBcmdzCisgICAgICAgIC0gV2UgbXVzdCByZW1lbWJlciBob3cg
bWFueSBlbGVtZW50cyB0aGVyZSBhcmUgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZGlkIG5vdCBhbGxv
Y2F0ZSBhIFZlY3Rvci4gV2UgY2Fubm90IGRvIGl0IHB1cmVseSBieSByZWx5aW5nIG9uIHRoZSBr
aW5kLCBib3RoIGZvciBzcGVlZCByZWFzb25zIGFuZCBiZWNhdXNlIFJldHVybiBjYW4gaGF2ZSBl
aXRoZXIgMCBvciAxIGFyZ3VtZW50IGluIEIzCisgICAgICAgICAgVGhhbmtmdWxseSwgd2UgaGF2
ZSBhbiBleHRyYSBieXRlIG9mIHBhZGRpbmcgdG8gdXNlIGluIHRoZSBtaWRkbGUgb2YgQjM6OlZh
bHVlCisgICAgICAgIC0gSW4gb3JkZXIgdG8gc3VwcG9ydCBjbG9uZSgpLCB3ZSBtdXN0IGhhdmUg
YSBzZXBhcmF0ZSB2ZXJzaW9uIG9mIGFsbG9jYXRlLCB3aGljaCBleHRyYWN0cyB0aGUgb3Bjb2Rl
IGZyb20gdGhlIHRvLWJlLWNsb25lZCBvYmplY3QgaW5zdGVhZCBvZiBmcm9tIHRoZSBjYWxsIHRv
IHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICAtIFNwZWFraW5nIG9mIHdoaWNoLCB3ZSBuZWVkIGEg
c3BlY2lhbCB0ZW1wbGF0ZWQgZnVuY3Rpb24gb3Bjb2RlRnJvbUNvbnN0cnVjdG9yLCBiZWNhdXNl
IHNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBvZiBzdWJjbGFzc2VzIG9mIFZhbHVlIGRvbid0IHRh
a2UgYW4gZXhwbGljaXQgT3Bjb2RlIGFzIGFyZ3VtZW50LCB0eXBpY2FsbHkgYmVjYXVzZSB0aGV5
IG1hdGNoIGEgc2luZ2xlIG9uZS4KKyAgICAgICAgLSBUbyBtYXhpbWl6ZSBwZXJmb3JtYW5jZSwg
d2UgcHJvdmlkZSBzcGVjaWFsaXplZCB2ZXJzaW9ucyBvZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hp
bGRyZW4vY2hpbGRyZW4gaW4gdGhlIHN1YmNsYXNzZXMgb2YgVmFsdWUsIHNraXBwaW5nIGNoZWNr
cyB3aGVuIHRoZSBhY3R1YWwgdHlwZSBvZiB0aGUgVmFsdWUgaXMgYWxyZWFkeSBrbm93bi4KKyAg
ICAgICAgICBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
Li4uIGRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiBCM1ZhbHVlLmgKKyAgICAgICAgLSBJbiB0aGUg
Y29uc3RydWN0b3JzIG9mIFZhbHVlLCB3ZSBjb252ZXJ0IGFsbCBleHRyYSBjaGlsZHJlbiBhcmd1
bWVudHMgdG8gVmFsdWUqIGVhZ2VybHkuIEl0IGlzIG5vdCByZXF1aXJlZCBmb3IgY29ycmVjdG5l
c3MgKHRoZXkgd2lsbCBiZSBjb252ZXJ0ZWQgd2hlbiBwdXQgaW50byBhIFZlY3RvcjxWYWx1ZSo+
IG9yIGEgVmFsdWUqIGluIHRoZSBlbmQpLCBidXQgaXQgaGVscHMgbGltaXQgYW4gZXhwbG9zaW9u
IGluIHRoZSBudW1iZXIgb2YgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMuCisgICAgICAgIC0gSSBt
b3ZlZCBEZWVwVmFsdWVEdW1wOjpkdW1wIGZyb20gdGhlIC5oIHRvIHRoZSAuY3BwLCBhcyB0aGVy
ZSBpcyBubyBnb29kIHJlYXNvbiB0byBpbmxpbmUgaXQsIGFuZCByZWNvbXBpbGluZyBKU0MgaXMg
YWxyZWFkeSBzbG93IGVub3VnaAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6QXJndW1lbnRSZWdWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuaDoKKyAgICAgICAgKiBiMy9C
M0F0b21pY1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkF0b21pY1ZhbHVlOjpBdG9taWNW
YWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0F0b21pY1ZhbHVlLmg6CisgICAgICAgICogYjMvQjNC
YXNpY0Jsb2NrLmg6CisgICAgICAgICogYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5oOgorICAgICAg
ICAoSlNDOjpCMzo6QmFzaWNCbG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwpOiBEZWxldGVkLgor
ICAgICAgICAqIGIzL0IzQ0NhbGxWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpDQ2FsbFZh
bHVlOjphcHBlbmRBcmdzKToKKyAgICAgICAgKEpTQzo6QjM6OkNDYWxsVmFsdWU6OmNsb25lSW1w
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDQ2FsbFZhbHVlLmg6CisgICAgICAg
ICogYjMvQjNDaGVja1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkNoZWNrVmFsdWU6OmNs
b25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDaGVja1ZhbHVlLmg6Cisg
ICAgICAgICogYjMvQjNDb25zdDMyVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3Qz
MlZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3Qz
MlZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdDY0VmFsdWUuY3BwOgorICAgICAgICAoSlND
OjpCMzo6Q29uc3Q2NFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGIzL0IzQ29uc3Q2NFZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OkNvbnN0RG91YmxlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmg6CisgICAgICAgICog
YjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3RGbG9hdFZh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3RGbG9h
dFZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdFB0clZhbHVlLmg6CisgICAgICAgIChKU0M6
OkIzOjpDb25zdFB0clZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIz
L0IzRmVuY2VWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpGZW5jZVZhbHVlOjpGZW5jZVZh
bHVlKToKKyAgICAgICAgKEpTQzo6QjM6OkZlbmNlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogYjMvQjNGZW5jZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNNZW1v
cnlWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUp
OgorICAgICAgICAoSlNDOjpCMzo6TWVtb3J5VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogYjMvQjNNZW1vcnlWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzTW92ZUNv
bnN0YW50cy5jcHA6CisgICAgICAgICogYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwOgorICAgICAg
ICAoSlNDOjpCMzo6UGF0Y2hwb2ludFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGIzL0IzUGF0Y2hwb2ludFZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpQYXRj
aHBvaW50VmFsdWU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYjMvQjNQcm9j
ZWR1cmUuY3BwOgorICAgICAgICAqIGIzL0IzUHJvY2VkdXJlLmg6CisgICAgICAgICogYjMvQjNQ
cm9jZWR1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpQcm9jZWR1cmU6OmFkZCk6Cisg
ICAgICAgICogYjMvQjNTbG90QmFzZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlNsb3RC
YXNlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNTbG90
QmFzZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwOgorICAgICAg
ICAoSlNDOjpCMzo6U3RhY2ttYXBTcGVjaWFsOjpmb3JFYWNoQXJnSW1wbCk6CisgICAgICAgIChK
U0M6OkIzOjpTdGFja21hcFNwZWNpYWw6OmlzVmFsaWRJbXBsKToKKyAgICAgICAgKiBiMy9CM1N0
YWNrbWFwVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6U3RhY2ttYXBWYWx1ZTo6YXBwZW5k
KToKKyAgICAgICAgKEpTQzo6QjM6OlN0YWNrbWFwVmFsdWU6OlN0YWNrbWFwVmFsdWUpOgorICAg
ICAgICAqIGIzL0IzU3RhY2ttYXBWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzU3dpdGNoVmFsdWUu
Y3BwOgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKToKKyAgICAg
ICAgKEpTQzo6QjM6OlN3aXRjaFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIGIzL0IzU3dpdGNoVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6QjM6OlN3aXRjaFZhbHVl
OjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIzL0IzVXBzaWxvblZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OlVwc2lsb25WYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9CM1Vwc2lsb25WYWx1ZS5oOgorICAgICAgICAqIGIzL0IzVmFs
dWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6RGVlcFZhbHVlRHVtcDo6ZHVtcCBjb25zdCk6Cisg
ICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6flZhbHVlKToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVl
OjpyZXBsYWNlV2l0aElkZW50aXR5KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXBsYWNl
V2l0aE5vcElnbm9yaW5nVHlwZSk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdp
dGhQaGkpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoSnVtcCk6CisgICAg
ICAgIChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKToKKyAgICAgICAgKEpTQzo6QjM6
OlZhbHVlOjpyZXBsYWNlV2l0aCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6aW52ZXJ0ZWRD
b21wYXJlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXR1cm5zQm9vbCBjb25z
dCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBiMy9CM1ZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpEZWVwVmFsdWVEdW1w
OjpkdW1wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhbHVlSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OmFkamFjZW5jeUxpc3RPZmZzZXQgY29uc3QpOgorICAg
ICAgICAoSlNDOjpCMzo6VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6CisgICAgICAgICogYjMvQjNW
YXJpYWJsZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlZhcmlhYmxlVmFsdWU6OlZhcmlh
YmxlVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6VmFyaWFibGVWYWx1ZTo6Y2xvbmVJbXBsIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAg
KiBiMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUFkZHJl
c3NWYWx1ZTo6V2FzbUFkZHJlc3NWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpXYXNtQWRkcmVz
c1ZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUFk
ZHJlc3NWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNrVmFsdWU6Oldhc21Cb3VuZHNDaGVja1Zh
bHVlKToKKyAgICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaDoK
KyAgICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjphY2NlcHRzKToKKyAgICAg
ICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3Ip
OgorICAgICAgICAqIGIzL3Rlc3RiMy5jcHA6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbEZ1
bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFBcmd1bWVudHMyKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFBcmd1bWVudHMzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFEb3VibGVBcmd1bWVudHMpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdENh
bGxGdW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzKToKKyAgICAgICAgKiBmdGwvRlRMT3V0
cHV0Lmg6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpjYWxsKToKKwogMjAxOS0wMy0yNyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIE93bmVy
IG9mIHdhdGNocG9pbnRzIHNob3VsZCB2YWxpZGF0ZSBhdCBHQyBmaW5hbGl6aW5nIHBoYXNlCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQzNDcxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTY2OSw3ICs2NjksNiBAQAogCQkwRkVDODU0MDFCREFDREFD
MDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRUM4NEY2MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5o
ICovOyB9OwogCQkwRkVDODU0MjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RjgxQkRBQ0RB
QzAwODBGRjc0IC8qIEIzVmFsaWRhdGUuaCAqLzsgfTsKIAkJMEZFQzg1NDQxQkRBQ0RBQzAwODBG
Rjc0IC8qIEIzVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGRUM4NEZBMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlLmggKi87IH07Ci0JCTBG
RUM4NTQ1MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkIxQkRBQ0RBQzAwODBGRjc0
IC8qIEIzVmFsdWVJbmxpbmVzLmggKi87IH07CiAJCTBGRUM4NTQ3MUJEQUNEQUMwMDgwRkY3NCAv
KiBCM1ZhbHVlUmVwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkVDODRGRDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZVJlcC5oICovOyB9OwogCQkw
RkVDODU2RTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2NhdGVTdGFja0J5R3JhcGhDb2xvcmlu
Zy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg1
NDkxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFsbG9jYXRlU3RhY2tCeUdyYXBoQ29sb3JpbmcuaCAq
LzsgfTsKIAkJMEZFQzg1NzAxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFyZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg1NEIxQkRBQ0RDNzAwODBG
Rjc0IC8qIEFpckFyZy5oICovOyB9OwpAQCAtODUxLDYgKzg1MCw4IEBACiAJCTJBRDg5MzJCMTdF
Mzg2OEYwMDY2ODI3NiAvKiBIZWFwSXRlcmF0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRDg5MzI5MTdFMzg2OEYwMDY2ODI3NiAvKiBI
ZWFwSXRlcmF0aW9uU2NvcGUuaCAqLzsgfTsKIAkJMkFGNzM4MkQxOEJCQkY5MjAwOEE1QTM3IC8q
IFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQzNDJG
MzZGNzI0NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNv
dXJjZU9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTMzRTc4REYxMjI0NTY1NTEwMDRBRUU5RiAvKiBCM1ZhbHVlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkIxQkRBQ0RB
QzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggKi87IH07CisJCTMzRTc4REYyMjI0NTY2MDgw
MDRBRUU5RiAvKiBGVExMb3dlckRGR1RvQjMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMDQxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTExvd2Vy
REZHVG9CMy5jcHAgKi87IH07CiAJCTM3MUQ4NDJEMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5
bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcx
RDg0MkMxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgKi87IH07CiAJCTM3QzczOEQyMUVE
QjU2RTQwMDNGMkIwQiAvKiBQYXJzZUludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzdDNzM4RDExRURCNTY3MjAwM0YyQjBCIC8qIFBhcnNlSW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUy
NzcxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVy
X2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMjk1MjczMUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNf
d3JhcHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTkwOSw3ICs5MTAsNiBAQAogCQk1MzMzQkJEQjIxMTBGN0QyMDA3NjE4RUMg
LyogREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4Njg4MEYxQjE0MzI4QkI5MDBCMDhENDIgLyogREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAgKi87IH07CiAJCTUzMzNCQkRDMjExMEY3RDkwMDc2MThFQyAvKiBE
RkdTcGVjdWxhdGl2ZUpJVC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NkVDOURDMjEzMjhERjgyMDAyQjJBRDcgLyogREZHU3BlY3VsYXRpdmVKSVQu
Y3BwICovOyB9OwogCQk1MzMzQkJERDIxMTBGN0UxMDA3NjE4RUMgLyogREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
Njg4MEY0QzE0MzUzQjIxMDBCMDhENDIgLyogREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgKi87IH07
Ci0JCTUzMzNCQkRFMjExMEZBM0UwMDc2MThFQyAvKiBGVExMb3dlckRGR1RvQjMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTBBMDQxNzA1MTNE
QjAwQkI3MjJDIC8qIEZUTExvd2VyREZHVG9CMy5jcHAgKi87IH07CiAJCTUzNDFGQzcyMURBQzM0
M0MwMEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQxRkM3MTFEQUMzNDNDMDBFN0U0RDcgLyog
QjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oICovOyB9OwogCQk1MzQ2Mzg3MTFFNzBDRjNEMDBGMTJB
QzEgLyogSlNSdW5Mb29wVGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUzNDYzODcwMUU3MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUzNDYz
ODc1MUU3MERERUMwMEYxMkFDMSAvKiBQcm9taXNlRGVmZXJyZWRUaW1lci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzQxRTcwRERFQzAwRjEy
QUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2MzQsNyArODYzNCw2IEBACiAJCQkJMEZFQzg1NDAx
QkRBQ0RBQzAwODBGRjc0IC8qIEIzVXNlQ291bnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVD
ODU0MjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWxpZGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZFQzg1NDQxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTBGRUM4NTQ1MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlSW5saW5lcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEYzMzhFMTUxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFsdWVLZXkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMzM4RTE2MUJGMDI3NkMwMDEzQzg4RiAvKiBCM1ZhbHVlS2V5SW5saW5l
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQzg1NDcxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFs
dWVSZXAuaCBpbiBIZWFkZXJzICovLApAQCAtOTE4OSw2ICs5MTg4LDcgQEAKIAkJCQlBNTkzQ0Y3
RDE4NDAzNjAzMDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1MzI0Mzg4MTg1NjgzMzUwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIz
MSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMzRTc4REYx
MjI0NTY1NTEwMDRBRUU5RiAvKiBCM1ZhbHVlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU3RDIzRTYxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1RDBBMUJCMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZp
cm9ubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU5NDU1OTUxODI0NzlFQjAwQ0MzODQzIC8q
IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYyOSw3ICsx
MDYyOSw2IEBACiAJCQkJNTMzM0JCREMyMTEwRjdEOTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZl
SklULmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzMzNCQkRCMjExMEY3RDIwMDc2MThFQyAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzMzNCQkREMjEx
MEY3RTEwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUzMzNCQkRFMjExMEZBM0UwMDc2MThFQyAvKiBGVExMb3dlckRGR1RvQjMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTM2QjMxOUUxRjczNUYxNjAwMzdGQzMzIC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NEExNThFQkU5MTAwNENCOUZGIC8q
IHVkaXM4Ni5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NDAxNThFQkU4QjAwNENCOUZGIC8q
IHVkaXM4Nl9kZWNvZGUuYyBpbiBTb3VyY2VzICovLApAQCAtMTA3NjMsNiArMTA3NjIsNyBAQAog
CQkJCTUzNkIzMTBDMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUzNkIzMTI2MUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNl
MTIwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTJEMUY3MUM1OTkwMDM3RkMzMyAvKiBV
bmlmaWVkU291cmNlMTIxLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMzRTc4REYyMjI0NTY2MDgw
MDRBRUU5RiAvKiBGVExMb3dlckRGR1RvQjMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMx
MjUxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTM2QjMxMUUxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMTQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2UxMjQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDExICszOSw2IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3JlZyk7CiB9CiAKLVZh
bHVlKiBBcmd1bWVudFJlZ1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBu
ZXcgQXJndW1lbnRSZWdWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpC
MwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUuaAkod29ya2luZyBjb3B5KQpA
QCAtNDAsMTYgKzQwLDE5IEBACiAKICAgICBSZWcgYXJndW1lbnRSZWcoKSBjb25zdCB7IHJldHVy
biBtX3JlZzsgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KKwog
cHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0m
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlk
ZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBj
bGFzcyBWYWx1ZTsKKyAgICAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3Rv
cihPcmlnaW4sIFJlZykgeyByZXR1cm4gQXJndW1lbnRSZWc7IH0KIAogICAgIEFyZ3VtZW50UmVn
VmFsdWUoT3JpZ2luIG9yaWdpbiwgUmVnIHJlZykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bj
b2RlLCBBcmd1bWVudFJlZywgcmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91YmxlLCBv
cmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5p
c0dQUigpID8gcG9pbnRlclR5cGUoKSA6IERvdWJsZSwgWmVybywgb3JpZ2luKQogICAgICAgICAs
IG1fcmVnKHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVChyZWcuaXNTZXQoKSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0
NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDEzICs0MSw4IEBACiAgICAgTWVtb3J5VmFsdWU6OmR1bXBNZXRhKGNv
bW1hLCBvdXQpOwogfQogCi1WYWx1ZSogQXRvbWljVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG5ldyBBdG9taWNWYWx1ZSgqdGhpcyk7Ci19Ci0KIEF0b21pY1ZhbHVlOjpB
dG9taWNWYWx1ZShBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWVSTVcsIEtpbmQga2luZCwgT3JpZ2lu
IG9yaWdpbiwgV2lkdGggd2lkdGgsIFZhbHVlKiBvcGVyYW5kLCBWYWx1ZSogcG9pbnRlciwgTWVt
b3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBm
ZW5jZVJhbmdlKQotICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3BlcmFu
ZC0+dHlwZSgpLCBvcmlnaW4sIG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIG9wZXJhbmQsIHBv
aW50ZXIpCisgICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBvcGVyYW5kLT50
eXBlKCksIFR3bywgb3JpZ2luLCBvZmZzZXQsIHJhbmdlLCBmZW5jZVJhbmdlLCBvcGVyYW5kLCBw
b2ludGVyKQogICAgICwgbV93aWR0aCh3aWR0aCkKIHsKICAgICBBU1NFUlQoYmVzdFR5cGUoR1As
IGFjY2Vzc1dpZHRoKCkpID09IGFjY2Vzc1R5cGUoKSk7CkBAIC02Niw3ICs2MSw3IEBACiB9CiAK
IEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZShBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWVDQVMsIEtp
bmQga2luZCwgT3JpZ2luIG9yaWdpbiwgV2lkdGggd2lkdGgsIFZhbHVlKiBleHBlY3RlZFZhbHVl
LCBWYWx1ZSogbmV3VmFsdWUsIFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlw
ZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBN
ZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBraW5kLm9wY29kZSgpID09IEF0b21pY1dl
YWtDQVMgPyBJbnQzMiA6IGV4cGVjdGVkVmFsdWUtPnR5cGUoKSwgb3JpZ2luLCBvZmZzZXQsIHJh
bmdlLCBmZW5jZVJhbmdlLCBleHBlY3RlZFZhbHVlLCBuZXdWYWx1ZSwgcG9pbnRlcikKKyAgICA6
IE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIGtpbmQub3Bjb2RlKCkgPT0gQXRvbWlj
V2Vha0NBUyA/IEludDMyIDogZXhwZWN0ZWRWYWx1ZS0+dHlwZSgpLCBUaHJlZSwgb3JpZ2luLCBv
ZmZzZXQsIHJhbmdlLCBmZW5jZVJhbmdlLCBleHBlY3RlZFZhbHVlLCBuZXdWYWx1ZSwgcG9pbnRl
cikKICAgICAsIG1fd2lkdGgod2lkdGgpCiB7CiAgICAgQVNTRVJUKGJlc3RUeXBlKEdQLCBhY2Nl
c3NXaWR0aCgpKSA9PSBhY2Nlc3NUeXBlKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQXRvbWljVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNBdG9taWNWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNBdG9taWNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNCArNDQsMTUg
QEAKICAgICBUeXBlIGFjY2Vzc1R5cGUoKSBjb25zdCB7IHJldHVybiBjaGlsZCgwKS0+dHlwZSgp
OyB9CiAgICAgCiAgICAgV2lkdGggYWNjZXNzV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRo
OyB9CisKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxE
UkVOCiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQ
cmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwotICAgIAotICAgIFZhbHVlKiBjbG9uZUltcGwo
KSBjb25zdCBvdmVycmlkZTsKLSAgICAKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIGVudW0gQXRvbWljVmFsdWVS
TVcgeyBBdG9taWNWYWx1ZVJNV1RhZyB9OwogICAgIGVudW0gQXRvbWljVmFsdWVDQVMgeyBBdG9t
aWNWYWx1ZUNBU1RhZyB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNC
bG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxv
Y2suaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFz
aWNCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC04NCw4ICs4NCw2IEBACiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBWYWx1ZVR5
cGUqIGFwcGVuZE5ldyhQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4pOwotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIFZhbHVlVHlwZSog
YXBwZW5kTmV3Tm9uVGVybWluYWwoUHJvY2VkdXJlJiwgQXJndW1lbnRzLi4uKTsKIAogICAgIEpT
X0VYUE9SVF9QUklWQVRFIFZhbHVlKiBhcHBlbmRJbnRDb25zdGFudChQcm9jZWR1cmUmLCBPcmln
aW4sIFR5cGUsIGludDY0X3QgdmFsdWUpOwogICAgIFZhbHVlKiBhcHBlbmRJbnRDb25zdGFudChQ
cm9jZWR1cmUmLCBWYWx1ZSogbGlrZVZhbHVlLCBpbnQ2NF90IHZhbHVlKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2tJbmxpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAkocmV2aXNpb24g
MjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTQgKzQyLDYgQEAKIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci1WYWx1ZVR5cGUqIEJhc2ljQmxv
Y2s6OmFwcGVuZE5ld05vblRlcm1pbmFsKFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVudHMu
Li4gYXJndW1lbnRzKQotewotICAgIFZhbHVlVHlwZSogcmVzdWx0ID0gcHJvY2VkdXJlLmFkZDxW
YWx1ZVR5cGU+KGFyZ3VtZW50cy4uLik7Ci0gICAgYXBwZW5kTm9uVGVybWluYWwocmVzdWx0KTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KIFZhbHVlVHlwZSogQmFzaWNCbG9jazo6cmVwbGFjZUxhc3RX
aXRoTmV3KFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogewog
ICAgIFZhbHVlVHlwZSogcmVzdWx0ID0gcHJvY2VkdXJlLmFkZDxWYWx1ZVR5cGU+KGFyZ3VtZW50
cy4uLik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDkgQEAKIHsKIH0KIAotVmFsdWUqIEND
YWxsVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Cit2b2lkIENDYWxsVmFsdWU6OmFwcGVuZEFyZ3Mo
Y29uc3QgVmVjdG9yPFZhbHVlKj4mIGFyZ3MpCiB7Ci0gICAgcmV0dXJuIG5ldyBDQ2FsbFZhbHVl
KCp0aGlzKTsKKyAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZFZlY3RvcihhcmdzKTsKIH0KIAog
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDQ2FsbFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q0NhbGxWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDQ2FsbFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE3ICszOCwyMyBAQAogCiAg
ICAgfkNDYWxsVmFsdWUoKTsKIAorICAgIHZvaWQgYXBwZW5kQXJncyhjb25zdCBWZWN0b3I8VmFs
dWUqPiYpOworICAgIAogICAgIEVmZmVjdHMgZWZmZWN0czsKIAotcHJvdGVjdGVkOgotICAgIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLSAgICAKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
RklOQUxfU0laRV9WQVJBUkdTX0NISUxEUkVOCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZS4uLiBBcmd1bWVudHM+CisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0
b3IoQXJndW1lbnRzLi4uKSB7IHJldHVybiBDQ2FsbDsgfQorCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUuLi4gQXJndW1lbnRzPgogICAgIENDYWxsVmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2lu
LCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IENDYWxsLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShDaGVj
a2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwgVmFyQXJncywgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1
ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgICAgICwgZWZmZWN0cyhFZmZlY3RzOjpmb3JDYWxsKCkp
CiAgICAgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1DaGlsZHJlbigpID49IDEpOwpAQCAt
NTYsNyArNjIsNyBAQAogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAg
IENDYWxsVmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBFZmZlY3RzJiBlZmZl
Y3RzLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNv
ZGUsIENDYWxsLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShD
aGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwgVmFyQXJncywgb3JpZ2luLCBzdGF0aWNfY2FzdDxW
YWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgICAgICwgZWZmZWN0cyhlZmZlY3RzKQogICAgIHsK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW4oKSA+PSAxKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDAsMTEgKzQwLDYgQEAKICAgICBtX2tpbmQgPSBDaGVja0FkZDsKIH0KIAotVmFsdWUq
IENoZWNrVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDaGVja1Zh
bHVlKCp0aGlzKTsKLX0KLQogLy8gVXNlIHRoaXMgZm9ybSBmb3IgQ2hlY2tBZGQsIENoZWNrU3Vi
LCBhbmQgQ2hlY2tNdWwuCiBDaGVja1ZhbHVlOjpDaGVja1ZhbHVlKEtpbmQga2luZCwgT3JpZ2lu
IG9yaWdpbiwgVmFsdWUqIGxlZnQsIFZhbHVlKiByaWdodCkKICAgICA6IFN0YWNrbWFwVmFsdWUo
Q2hlY2tlZE9wY29kZSwga2luZCwgbGVmdC0+dHlwZSgpLCBvcmlnaW4pCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDExICs1MCwxMSBAQAogCiAgICAgdm9pZCBjb252ZXJ0VG9BZGQoKTsKIAotcHJvdGVjdGVkOgot
ICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KICAgICAKIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAg
ICAvLyBVc2UgdGhpcyBmb3JtIGZvciBDaGVja0FkZCwgQ2hlY2tTdWIsIGFuZCBDaGVja011bC4K
ICAgICBKU19FWFBPUlRfUFJJVkFURSBDaGVja1ZhbHVlKEtpbmQsIE9yaWdpbiwgVmFsdWUqIGxl
ZnQsIFZhbHVlKiByaWdodCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dDMyVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Nv
bnN0MzJWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0NvbnN0MzJWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMywxMSArMzAzLDYg
QEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3QzMlZh
bHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgQ29uc3QzMlZhbHVlKCp0
aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUo
QjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmgJ
KHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSwyMCArNzUsMjQgQEAKICAgICBUcmlTdGF0ZSBh
Ym92ZUVxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAg
ICBUcmlTdGF0ZSBiZWxvd0VxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBv
dmVycmlkZTsKIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHBy
b3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgLy8gUHJvdGVjdGVkIGJlY2F1c2Ugb2YgQ29uc3RQdHJWYWx1ZQorICAgIHN0YXRpYyBP
cGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQzMl90ID0g
MCkgeyByZXR1cm4gQ29uc3QzMjsgfQogCi0gICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKLQog
ICAgIENvbnN0MzJWYWx1ZShPcmlnaW4gb3JpZ2luLCBpbnQzMl90IHZhbHVlKQotICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0MzIsIEludDMyLCBvcmlnaW4pCisgICAgICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3QzMiwgSW50MzIsIFplcm8sIG9yaWdpbikKICAgICAg
ICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9CiAKIHByaXZhdGU6CisgICAgZnJpZW5k
IGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKICAgICBpbnQzMl90
IG1fdmFsdWU7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0
NjRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0NjRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMywxMSArMzAzLDYgQEAK
ICAgICBvdXQucHJpbnQoY29tbWEsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3Q2NFZhbHVl
OjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgQ29uc3Q2NFZhbHVlKCp0aGlz
KTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNf
SklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgJKHJl
dmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSwyMCArNzUsMjQgQEAKICAgICBUcmlTdGF0ZSBhYm92
ZUVxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBU
cmlTdGF0ZSBiZWxvd0VxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVy
cmlkZTsKIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3Rl
Y3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29u
c3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgLy8gUHJvdGVjdGVkIGJlY2F1c2Ugb2YgQ29uc3RQdHJWYWx1ZQorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQ2NF90ID0gMCkg
eyByZXR1cm4gQ29uc3Q2NDsgfQogCi0gICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKLQogICAg
IENvbnN0NjRWYWx1ZShPcmlnaW4gb3JpZ2luLCBpbnQ2NF90IHZhbHVlKQotICAgICAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIENvbnN0NjQsIEludDY0LCBvcmlnaW4pCisgICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgQ29uc3Q2NCwgSW50NjQsIFplcm8sIG9yaWdpbikKICAgICAgICAg
LCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6CisgICAgZnJp
ZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKICAgICBpbnQ2
NF90IG1fdmFsdWU7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dERvdWJsZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdERvdWJsZVZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
NywxMSArMTk3LDYgQEAKICAgICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFs
dWUqIENvbnN0RG91YmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5l
dyBDb25zdERvdWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIz
CiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC02NCwxNiArNjQsMTggQEAKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25z
dCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9y
ZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCiAK
LSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICB2
b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7
CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIGRvdWJs
ZSkgeyByZXR1cm4gQ29uc3REb3VibGU7IH0KKwogICAgIENvbnN0RG91YmxlVmFsdWUoT3JpZ2lu
IG9yaWdpbiwgZG91YmxlIHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENv
bnN0RG91YmxlLCBEb3VibGUsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBDb25zdERvdWJsZSwgRG91YmxlLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3RGbG9hdFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdEZsb2F0VmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODks
MTEgKzE4OSw2IEBACiAgICAgb3V0LnByaW50ZigiJWxlIiwgbV92YWx1ZSk7CiB9CiAKLVZhbHVl
KiBDb25zdEZsb2F0VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBD
b25zdEZsb2F0VmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAog
I2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdEZsb2F0VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdEZsb2F0VmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE2
ICs2MywxOCBAQAogICAgIFRyaVN0YXRlIGdyZWF0ZXJFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgZXF1YWxPclVub3JkZXJlZENv
bnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoK
LSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAotICAgIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHZvaWQgZHVt
cE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKworICAg
IHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgZmxvYXQpIHsgcmV0
dXJuIENvbnN0RmxvYXQ7IH0KKwogICAgIENvbnN0RmxvYXRWYWx1ZShPcmlnaW4gb3JpZ2luLCBm
bG9hdCB2YWx1ZSkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdEZsb2F0LCBG
bG9hdCwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0RmxvYXQs
IEZsb2F0LCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0UHRyVmFsdWUuaAko
cmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMyArNTEsMTggQEAKIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3Ry
dWN0b3IoT3JpZ2luLCBUKikgeyByZXR1cm4gQ29uc3RQdHJWYWx1ZUJhc2U6Om9wY29kZUZyb21D
b25zdHJ1Y3RvcigpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBDb25zdFB0clZh
bHVlKE9yaWdpbiBvcmlnaW4sIFQqIHBvaW50ZXIpCiAgICAgICAgIDogQ29uc3RQdHJWYWx1ZUJh
c2Uob3JpZ2luLCBiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KHBvaW50ZXIpKQogICAgIHsKICAgICB9
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21D
b25zdHJ1Y3RvcihPcmlnaW4sIFQpIHsgcmV0dXJuIENvbnN0UHRyVmFsdWVCYXNlOjpvcGNvZGVG
cm9tQ29uc3RydWN0b3IoKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgQ29uc3RQ
dHJWYWx1ZShPcmlnaW4gb3JpZ2luLCBUIHBvaW50ZXIpCiAgICAgICAgIDogQ29uc3RQdHJWYWx1
ZUJhc2Uob3JpZ2luLCBzdGF0aWNfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikpCiAgICAgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAJKHJldmlzaW9uIDI0
MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCwxMyArMzQsOCBAQAogewogfQogCi1WYWx1ZSogRmVuY2VWYWx1ZTo6
Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IEZlbmNlVmFsdWUoKnRoaXMpOwot
fQotCiBGZW5jZVZhbHVlOjpGZW5jZVZhbHVlKE9yaWdpbiBvcmlnaW4sIEhlYXBSYW5nZSByZWFk
LCBIZWFwUmFuZ2Ugd3JpdGUpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwgVm9p
ZCwgb3JpZ2luKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgRmVuY2UsIFZvaWQsIFplcm8s
IG9yaWdpbikKICAgICAsIHJlYWQocmVhZCkKICAgICAsIHdyaXRlKHdyaXRlKQogewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuaAkocmV2aXNpb24gMjQzNDcxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC03MiwxNCArNzIsMTQgQEAKICAgICBIZWFwUmFuZ2UgcmVhZCB7IEhlYXBSYW5nZTo6dG9w
KCkgfTsKICAgICBIZWFwUmFuZ2Ugd3JpdGUgeyBIZWFwUmFuZ2U6OnRvcCgpIH07CiAKLXByb3Rl
Y3RlZDoKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKICAgICAKKyAgICBzdGF0aWMg
T3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIEhlYXBSYW5nZSA9IEhlYXBSYW5n
ZSgpLCBIZWFwUmFuZ2UgPSBIZWFwUmFuZ2UoKSkgeyByZXR1cm4gRmVuY2U7IH0KICAgICBGZW5j
ZVZhbHVlKE9yaWdpbiBvcmlnaW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFuZ2Ugd3JpdGUpOwot
ICAgIAogICAgIEZlbmNlVmFsdWUoT3JpZ2luIG9yaWdpbik7CiB9OwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTczLDE1ICs3MywxMCBAQAogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJmZW5jZVJh
bmdlID0gIiwgZmVuY2VSYW5nZSgpKTsKIH0KIAotVmFsdWUqIE1lbW9yeVZhbHVlOjpjbG9uZUlt
cGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgTWVtb3J5VmFsdWUoKnRoaXMpOwotfQotCiAv
LyBVc2UgdGhpcyBmb3JtIGZvciBMb2FkIChidXQgbm90IExvYWQ4WiwgTG9hZDhTLCBvciBhbnkg
b2YgdGhlIExvYWRzIHRoYXQgaGF2ZSBhIHN1ZmZpeCB0aGF0CiAvLyBkZXNjcmliZXMgdGhlIHJl
dHVybmVkIHR5cGUpLgogTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlKE1lbW9yeVZhbHVlOjpNZW1v
cnlWYWx1ZUxvYWQsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSog
cG9pbnRlciwgTWVtb3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2Us
IEhlYXBSYW5nZSBmZW5jZVJhbmdlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwg
dHlwZSwgb3JpZ2luLCBwb2ludGVyKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwg
dHlwZSwgT25lLCBvcmlnaW4sIHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAg
LCBtX3JhbmdlKHJhbmdlKQogICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMjYs
NyArMTIxLDcgQEAKIAogLy8gVXNlIHRoaXMgZm9ybSBmb3Igc3RvcmVzLgogTWVtb3J5VmFsdWU6
Ok1lbW9yeVZhbHVlKE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZVN0b3JlLCBLaW5kIGtpbmQsIE9y
aWdpbiBvcmlnaW4sIFZhbHVlKiB2YWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpP
ZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkK
LSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIG9yaWdpbiwgdmFsdWUsIHBv
aW50ZXIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBUd28sIG9yaWdp
biwgdmFsdWUsIHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX3Jhbmdl
KHJhbmdlKQogICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0
LDE0ICs4NCwxNCBAQAogCiAgICAgYm9vbCBpc0Nhbm9uaWNhbFdpZHRoKCkgY29uc3QgeyByZXR1
cm4gQjM6OmlzQ2Fub25pY2FsV2lkdGgoYWNjZXNzV2lkdGgoKSk7IH0KIAorICAgIEIzX1NQRUNJ
QUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2
b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7
Ci0KLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KKyAgICAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBJbnQsIHR5cGVuYW1lID0gSXNMZWdhbE9mZnNldDxJbnQ+LCB0eXBl
bmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2lu
ZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEludCBvZmZzZXQsIEhlYXBSYW5nZSBy
YW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAg
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMu
Li4pCisgICAgTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5
cGUsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBJbnQgb2Zmc2V0LCBI
ZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlLCBBcmd1bWVudHMuLi4gYXJndW1l
bnRzKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG51bUNoaWxk
cmVuLCBvcmlnaW4sIHN0YXRpY19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAg
LCBtX29mZnNldChvZmZzZXQpCiAgICAgICAgICwgbV9yYW5nZShyYW5nZSkKICAgICAgICAgLCBt
X2ZlbmNlUmFuZ2UoZmVuY2VSYW5nZSkKQEAgLTEwMCw2ICsxMDAsNyBAQAogICAgIAogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsK
IAogICAgIGJvb2wgaXNMZWdhbE9mZnNldEltcGwoaW50MzJfdCBvZmZzZXQpIGNvbnN0OwogICAg
IGJvb2wgaXNMZWdhbE9mZnNldEltcGwoaW50NjRfdCBvZmZzZXQpIGNvbnN0OwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAJKHJldmlzaW9uIDI0
MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBACiAgICAgICAgICAgICBbJl0gKGNvbnN0IFZh
bHVlS2V5JiBrZXkpIC0+IGJvb2wgewogICAgICAgICAgICAgICAgIHJldHVybiBrZXkub3Bjb2Rl
KCkgPT0gQ29uc3RGbG9hdCB8fCBrZXkub3Bjb2RlKCkgPT0gQ29uc3REb3VibGU7CiAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgbG93ZXJGUENvbnN0YW50cygpOwogICAgICAg
ICAKICAgICAgICAgaG9pc3RDb25zdGFudHMoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDExICs0NCw2IEBACiAgICAgICAgIG91dC5wcmludChjb21tYSwgIm51bUZQU2NyYXRj
aFJlZ2lzdGVycyA9ICIsIG51bUZQU2NyYXRjaFJlZ2lzdGVycyk7CiB9CiAKLVZhbHVlKiBQYXRj
aHBvaW50VmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBQYXRjaHBv
aW50VmFsdWUoKnRoaXMpOwotfQotCiBQYXRjaHBvaW50VmFsdWU6OlBhdGNocG9pbnRWYWx1ZShU
eXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCiAgICAgOiBCYXNlKENoZWNrZWRPcGNvZGUsIFBhdGNo
cG9pbnQsIHR5cGUsIG9yaWdpbikKICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgJKHJl
dmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSwxNCArNjEsMTYgQEAKICAgICB1aW50OF90IG51
bUdQU2NyYXRjaFJlZ2lzdGVycyB7IDAgfTsKICAgICB1aW50OF90IG51bUZQU2NyYXRjaFJlZ2lz
dGVycyB7IDAgfTsKIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFS
QVJHU19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50
ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1w
bCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1
cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVG
cm9tQ29uc3RydWN0b3IoVHlwZSwgT3JpZ2luKSB7IHJldHVybiBQYXRjaHBvaW50OyB9CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgUGF0Y2hwb2ludFZhbHVlKFR5cGUsIE9yaWdpbik7CiB9OwogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHJldmlzaW9uIDI0
MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkzLDcgKzkzLDYgQEAKICAgICByZXR1cm4gbV92YWx1ZXMuYWRkKFdURk1v
dmUoY2xvbmUpKTsKIH0KIAotCiBWYWx1ZSogUHJvY2VkdXJlOjphZGRJbnRDb25zdGFudChPcmln
aW4gb3JpZ2luLCBUeXBlIHR5cGUsIGludDY0X3QgdmFsdWUpCiB7CiAgICAgc3dpdGNoICh0eXBl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAkocmV2aXNpb24g
MjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgIGJvb2wgbV9uZWVkc1VzZWRSZWdpc3Rl
cnMgeyB0cnVlIH07CiAgICAgYm9vbCBtX2hhc1F1aXJrcyB7IGZhbHNlIH07CiB9OwotCisgICAg
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlSW5saW5lcy5oCShy
ZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJ
bmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEzICsyOSwxNCBAQAogCiAjaW5jbHVkZSAi
QjNCYXNpY0Jsb2NrLmgiCiAjaW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJCM1Zh
bHVlLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewotCisgICAgCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KIFZhbHVlVHlwZSog
UHJvY2VkdXJlOjphZGQoQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8VmFsdWVUeXBlKj4oYWRkVmFsdWVJbXBsKG5ldyBWYWx1ZVR5cGUoYXJndW1lbnRz
Li4uKSkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwo
VmFsdWU6OmFsbG9jYXRlPFZhbHVlVHlwZT4oYXJndW1lbnRzLi4uKSkpOwogfQogCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6QjMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RC
YXNlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Ns
b3RCYXNlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNTbG90QmFzZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYg
QEAKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fc2xvdCkpOwogfQogCi1WYWx1
ZSogU2xvdEJhc2VWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFNs
b3RCYXNlVmFsdWUoKnRoaXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2Vu
ZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
bG90QmFzZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
U2xvdEJhc2VWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNTbG90QmFzZVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE2ICs0MSwxNyBA
QAogCiAgICAgU3RhY2tTbG90KiBzbG90KCkgY29uc3QgeyByZXR1cm4gbV9zbG90OyB9CiAKLXBy
b3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4K
IAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgU3Rh
Y2tTbG90KikgeyByZXR1cm4gU2xvdEJhc2U7IH0KICAgICBTbG90QmFzZVZhbHVlKE9yaWdpbiBv
cmlnaW4sIFN0YWNrU2xvdCogc2xvdCkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBT
bG90QmFzZSwgcG9pbnRlclR5cGUoKSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIFNsb3RCYXNlLCBwb2ludGVyVHlwZSgpLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwg
bV9zbG90KHNsb3QpCiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1N0YWNrbWFwU3BlY2lhbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBTcGVjaWFsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODMsMTEgKzgzLDExIEBACiAKICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2
ZSBub3QgaGFwcGVuZWQuCiAgICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3Jl
ZEFpckFyZ3MpOwotICAgIEFTU0VSVCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdu
b3JlZEIzQXJncyk7Ci0gICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWly
QXJncyA+PSB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKTsKKyAg
ICBBU1NFUlQodmFsdWUtPm51bUNoaWxkcmVuKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAg
QVNTRVJUKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA+PSB2YWx1ZS0+bnVt
Q2hpbGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3MpOwogICAgIEFTU0VSVChpbnN0LmFyZ3NbMF0u
a2luZCgpID09IEFyZzo6S2luZDo6U3BlY2lhbCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVt
SWdub3JlZEIzQXJnczsgKytpKSB7CiAgICAgICAgIEFyZyYgYXJnID0gaW5zdC5hcmdzW2kgKyBu
dW1JZ25vcmVkQWlyQXJnc107CiAgICAgICAgIENvbnN0cmFpbmVkVmFsdWUgY2hpbGQgPSB2YWx1
ZS0+Y29uc3RyYWluZWRDaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAKQEAgLTE2MCwxNiAr
MTYwLDE2IEBACiAKICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFw
cGVuZWQuCiAgICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3Mp
OwotICAgIEFTU0VSVCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJn
cyk7CisgICAgQVNTRVJUKHZhbHVlLT5udW1DaGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3Mp
OwogCiAgICAgLy8gRm9yIHRoZSBJbnN0IHRvIGJlIHZhbGlkLCBpdCBuZWVkcyB0byBoYXZlIHRo
ZSByaWdodCBudW1iZXIgb2YgYXJndW1lbnRzLgotICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0g
bnVtSWdub3JlZEFpckFyZ3MgPCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVk
QjNBcmdzKQorICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2
YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3MpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIC8vIFJlZ2FyZGxlc3Mgb2YgY29uc3RyYWludHMsIHN0YWNrbWFwcyBoYXZl
IHNvbWUgYmFzaWMgcmVxdWlyZW1lbnRzIGZvciB0aGVpciBhcmd1bWVudHMuIEZvcgogICAgIC8v
IGV4YW1wbGUsIHlvdSBjYW4ndCBoYXZlIGEgbm9uLUZQLW9mZnNldCBhZGRyZXNzLiBUaGlzIHZl
cmlmaWVzIHRob3NlIGNvbmRpdGlvbnMgYXMgd2VsbCBhcyB0aGUKICAgICAvLyBhcmd1bWVudCB0
eXBlcy4KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPmNoaWxkcmVuKCkuc2l6
ZSgpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CiAgICAg
ICAgIFZhbHVlKiBjaGlsZCA9IHZhbHVlLT5jaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAg
ICAgICAgIEFyZyYgYXJnID0gaW5zdC5hcmdzW2kgKyBudW1JZ25vcmVkQWlyQXJnc107CiAKQEAg
LTE3OCw3ICsxNzgsNyBAQAogICAgIH0KIAogICAgIC8vIFRoZSBudW1iZXIgb2YgY29uc3RyYWlu
dHMgaGFzIHRvIGJlIG5vIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIEIzIGNoaWxkcmVuLgot
ICAgIEFTU0VSVCh2YWx1ZS0+bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXpl
KCkpOworICAgIEFTU0VSVCh2YWx1ZS0+bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+bnVtQ2hpbGRy
ZW4oKSk7CiAKICAgICAvLyBWZXJpZnkgYW55IGV4cGxpY2l0bHkgc3VwcGxpZWQgY29uc3RyYWlu
dHMuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtSWdub3JlZEIzQXJnczsgaSA8IHZhbHVlLT5t
X3JlcHMuc2l6ZSgpOyArK2kpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0
YWNrbWFwVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1N0YWNrbWFwVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcs
NyBAQAogdm9pZCBTdGFja21hcFZhbHVlOjphcHBlbmQoVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1
ZVJlcCYgcmVwKQogewogICAgIGlmIChyZXAgPT0gVmFsdWVSZXA6OkNvbGRBbnkpIHsKLSAgICAg
ICAgY2hpbGRyZW4oKS5hcHBlbmQodmFsdWUpOworICAgICAgICBjaGlsZHJlblZlY3RvcigpLmFw
cGVuZCh2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTQ0LDcgKzQ0LDcgQEAK
ICAgICB3aGlsZSAobV9yZXBzLnNpemUoKSA8IG51bUNoaWxkcmVuKCkpCiAgICAgICAgIG1fcmVw
cy5hcHBlbmQoVmFsdWVSZXA6OkNvbGRBbnkpOwogCi0gICAgY2hpbGRyZW4oKS5hcHBlbmQodmFs
dWUpOworICAgIGNoaWxkcmVuVmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICBtX3JlcHMuYXBw
ZW5kKHJlcCk7CiB9CiAKQEAgLTg5LDcgKzg5LDcgQEAKIH0KIAogU3RhY2ttYXBWYWx1ZTo6U3Rh
Y2ttYXBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2lu
IG9yaWdpbikKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbikK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbikK
IHsKICAgICBBU1NFUlQoYWNjZXB0cyhraW5kKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYw
LDggKzYwLDcgQEAKIAogICAgIH5TdGFja21hcFZhbHVlKCk7CiAKLSAgICAvLyBVc2UgdGhpcyB0
byBhZGQgY2hpbGRyZW4uIE5vdGUgdGhhdCB5b3UgY291bGQgYWxzbyBhZGQgY2hpbGRyZW4gYnkg
ZG9pbmcKLSAgICAvLyBjaGlsZHJlbigpLmFwcGVuZCgpLiBUaGF0IHdpbGwgd29yayBmaW5lLCBi
dXQgaXQncyBub3QgcmVjb21tZW5kZWQuCisgICAgLy8gVXNlIHRoaXMgdG8gYWRkIGNoaWxkcmVu
LgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IENvbnN0cmFpbmVkVmFsdWUmIHZhbHVlKQogICAgIHsK
ICAgICAgICAgYXBwZW5kKHZhbHVlLnZhbHVlKCksIHZhbHVlLnJlcCgpKTsKQEAgLTI4NSw2ICsy
ODQsOCBAQAogICAgICAgICByZXR1cm4gQ29uc3RyYWluZWRWYWx1ZUNvbGxlY3Rpb24oKnRoaXMp
OwogICAgIH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU4K
KwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXIm
LCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzU3dpdGNoVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYs
MTMgKzEwNiw4IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCAiY2FzZXMgPSBbIiwgbGlzdER1bXAo
bV92YWx1ZXMpLCAiXSIpOwogfQogCi1WYWx1ZSogU3dpdGNoVmFsdWU6OmNsb25lSW1wbCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBTd2l0Y2hWYWx1ZSgqdGhpcyk7Ci19Ci0KIFN3aXRjaFZh
bHVlOjpTd2l0Y2hWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogY2hpbGQpCi0gICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBTd2l0Y2gsIFZvaWQsIG9yaWdpbiwgY2hpbGQpCisgICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBTd2l0Y2gsIFZvaWQsIE9uZSwgb3JpZ2luLCBjaGlsZCkKIHsKIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oCShyZXZpc2lv
biAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC02NCwxNCArNjQsMTcgQEAKIAogICAgIHZvaWQgZHVtcFN1Y2Nlc3Nv
cnMoY29uc3QgQmFzaWNCbG9jayosIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAg
ICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJ
QUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgog
ICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVy
cmlkZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsK
IAorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUq
KSB7IHJldHVybiBTd2l0Y2g7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBTd2l0Y2hWYWx1ZShP
cmlnaW4sIFZhbHVlKiBjaGlsZCk7CiAKICAgICBWZWN0b3I8aW50NjRfdD4gbV92YWx1ZXM7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAJKHJldmlz
aW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDExICs0NSw2IEBACiAgICAgfQogfQogCi1WYWx1ZSog
VXBzaWxvblZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgVXBzaWxv
blZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAv
LyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxv
blZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxv
blZhbHVlLmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Vwc2lsb25WYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxOSArNDUsMjIgQEAKICAgICAg
ICAgbV9waGkgPSBwaGk7CiAgICAgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklY
RURfQ0hJTERSRU4oMSkKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJ
WEVEX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRl
ciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBs
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVy
ZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZy
b21Db25zdHJ1Y3RvcihPcmlnaW4sIFZhbHVlKiwgVmFsdWUqID0gbnVsbHB0cikgeyByZXR1cm4g
VXBzaWxvbjsgfQogICAgIC8vIE5vdGUgdGhhdCBwYXNzaW5nIHRoZSBQaGkgZHVyaW5nIGNvbnN0
cnVjdGlvbiBpcyBvcHRpb25hbC4gQSB2YWxpZCBwYXR0ZXJuIGlzIHRvIGZpcnN0IGNyZWF0ZQog
ICAgIC8vIHRoZSBVcHNpbG9ucyB3aXRob3V0IHRoZSBQaGksIHRoZW4gY3JlYXRlIHRoZSBQaGks
IHRoZW4gZ28gYmFjayBhbmQgdGVsbCB0aGUgVXBzaWxvbnMgYWJvdXQKICAgICAvLyB0aGUgUGhp
LiBUaGlzIGFsbG93cyB5b3UgdG8gZW1pdCBjb2RlIGluIGl0cyBuYXR1cmFsIG9yZGVyLgogICAg
IFVwc2lsb25WYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIFZhbHVlKiBwaGkgPSBu
dWxscHRyKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFVwc2lsb24sIFZvaWQsIG9y
aWdpbiwgdmFsdWUpCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxvbiwgVm9p
ZCwgT25lLCBvcmlnaW4sIHZhbHVlKQogICAgICAgICAsIG1fcGhpKHBoaSkKICAgICB7CiAgICAg
ICAgIGlmIChwaGkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuY3BwCShyZXZp
c2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDEzICs0NywyMyBAQAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJp
bnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgQjMgewogCiBjb25zdCBjaGFyKiBjb25zdCBWYWx1ZTo6ZHVtcFByZWZpeCA9ICJA
IjsKK3ZvaWQgRGVlcFZhbHVlRHVtcDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorewor
ICAgIGlmIChtX3ZhbHVlKQorICAgICAgICBtX3ZhbHVlLT5kZWVwRHVtcChtX3Byb2MsIG91dCk7
CisgICAgZWxzZQorICAgICAgICBvdXQucHJpbnQoIjxudWxsPiIpOworfQogCiBWYWx1ZTo6flZh
bHVlKCkKIHsKKyAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICBjaGls
ZHJlbkFsbG9jKCktPn5WZWN0b3I8VmFsdWUqLCAzPigpOwogfQogCiB2b2lkIFZhbHVlOjpyZXBs
YWNlV2l0aElkZW50aXR5KFZhbHVlKiB2YWx1ZSkKQEAgLTYyLDI2ICs3MiwxMiBAQAogICAgIC8v
IGEgcGxhaW4gSWRlbnRpdHkgVmFsdWUuIFdlIGZpcnN0IGNvbGxlY3QgYWxsIG9mIHRoZSBpbmZv
cm1hdGlvbiB3ZSBuZWVkLCB0aGVuIHdlIGRlc3RydWN0IHRoZQogICAgIC8vIHByZXZpb3VzIHZh
bHVlIGluIHBsYWNlLCBhbmQgdGhlbiB3ZSBjb25zdHJ1Y3QgdGhlIElkZW50aXR5IFZhbHVlIGlu
IHBsYWNlLgogCi0gICAgQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+bV90eXBlKTsKKyAgICBSRUxF
QVNFX0FTU0VSVChtX3R5cGUgPT0gdmFsdWUtPnR5cGUoKSk7CiAKLSAgICBpZiAobV90eXBlID09
IFZvaWQpIHsKKyAgICBpZiAobV90eXBlID09IFZvaWQpCiAgICAgICAgIHJlcGxhY2VXaXRoTm9w
SWdub3JpbmdUeXBlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB1bnNpZ25lZCBp
bmRleCA9IG1faW5kZXg7Ci0gICAgVHlwZSB0eXBlID0gbV90eXBlOwotICAgIE9yaWdpbiBvcmln
aW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2NrKiBvd25lciA9IHRoaXMtPm93bmVyOwotCi0g
ICAgUkVMRUFTRV9BU1NFUlQodHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKLQotICAgIHRoaXMtPn5W
YWx1ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShJZGVudGl0eSwgdHlwZSwgb3JpZ2luLCB2
YWx1ZSk7Ci0KLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBp
bmRleDsKKyAgICBlbHNlCisgICAgICAgIHJlcGxhY2VXaXRoKElkZW50aXR5LCBtX3R5cGUsIHRo
aXMtPm93bmVyLCB2YWx1ZSk7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKElu
c2VydGlvblNldCYgaW5zZXJ0aW9uU2V0LCBzaXplX3QgaW5kZXgpCkBAIC05NywxNiArOTMsNyBA
QAogCiB2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aE5vcElnbm9yaW5nVHlwZSgpCiB7Ci0gICAgdW5z
aWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAg
ICBCYXNpY0Jsb2NrKiBvd25lciA9IHRoaXMtPm93bmVyOwotCi0gICAgdGhpcy0+flZhbHVlKCk7
Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKE5vcCwgVm9pZCwgb3JpZ2luKTsKLQotICAgIHRoaXMt
Pm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHJlcGxhY2VX
aXRoKE5vcCwgVm9pZCwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZhbHVlOjpyZXBsYWNlV2l0
aFBoaSgpCkBAIC0xMTUsMzQgKzEwMiwxNCBAQAogICAgICAgICByZXBsYWNlV2l0aE5vcCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAotICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRl
eDsKLSAgICBPcmlnaW4gb3JpZ2luID0gbV9vcmlnaW47Ci0gICAgQmFzaWNCbG9jayogb3duZXIg
PSB0aGlzLT5vd25lcjsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7CiAKLSAgICB0aGlzLT5+VmFs
dWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUoUGhpLCB0eXBlLCBvcmlnaW4pOwotCi0gICAg
dGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAgcmVw
bGFjZVdpdGgoUGhpLCBtX3R5cGUsIHRoaXMtPm93bmVyKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVw
bGFjZVdpdGhKdW1wKEJhc2ljQmxvY2sqIG93bmVyLCBGcmVxdWVudGVkQmxvY2sgdGFyZ2V0KQog
ewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0gdGhpcyk7Ci0gICAgCi0gICAg
dW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsK
LSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBuZXcgKHRoaXMpIFZhbHVlKEp1
bXAsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0
aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFjZVdpdGgoSnVtcCwgVm9pZCwg
dGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5zZXRTdWNjZXNzb3JzKHRhcmdldCk7CiB9CiAKQEAg
LTE0OSwxNyArMTE2LDcgQEAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoT29wcyhCYXNpY0Jsb2Nr
KiBvd25lcikKIHsKICAgICBSRUxFQVNFX0FTU0VSVChvd25lci0+bGFzdCgpID09IHRoaXMpOwot
ICAgIAotICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBPcmlnaW4gb3JpZ2luID0g
bV9vcmlnaW47Ci0gICAgCi0gICAgdGhpcy0+flZhbHVlKCk7Ci0gICAgCi0gICAgbmV3ICh0aGlz
KSBWYWx1ZShPb3BzLCBWb2lkLCBvcmlnaW4pOwotICAgIAotICAgIHRoaXMtPm93bmVyID0gb3du
ZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OwotICAgIAorICAgIHJlcGxhY2VXaXRoKE9v
cHMsIFZvaWQsIHRoaXMtPm93bmVyKTsKICAgICBvd25lci0+Y2xlYXJTdWNjZXNzb3JzKCk7CiB9
CiAKQEAgLTE3Myw2ICsxMzAsMzAgQEAKICAgICByZXBsYWNlV2l0aE9vcHMob3duZXIpOwogfQog
Cit2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aChLaW5kIGtpbmQsIFR5cGUgdHlwZSwgQmFzaWNCbG9j
ayogb3duZXIpCit7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OworCisgICAgdGhpcy0+
flZhbHVlKCk7CisKKyAgICBuZXcgKHRoaXMpIFZhbHVlKGtpbmQsIHR5cGUsIG1fb3JpZ2luKTsK
KworICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICB0aGlzLT5vd25lciA9IG93bmVyOwor
fQorCit2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aChLaW5kIGtpbmQsIFR5cGUgdHlwZSwgQmFzaWNC
bG9jayogb3duZXIsIFZhbHVlKiB2YWx1ZSkKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5k
ZXg7CisKKyAgICB0aGlzLT5+VmFsdWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwg
dHlwZSwgbV9vcmlnaW4sIHZhbHVlKTsKKworICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAg
ICB0aGlzLT5vd25lciA9IG93bmVyOworfQorCiB2b2lkIFZhbHVlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgYm9vbCBpc0NvbnN0YW50ID0gZmFsc2U7CkBAIC0yMDQsMTEg
KzE4NSw2IEBACiAgICAgICAgIG91dC5wcmludCgiKSIpOwogfQogCi1WYWx1ZSogVmFsdWU6OmNs
b25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBWYWx1ZSgqdGhpcyk7Ci19Ci0KIHZv
aWQgVmFsdWU6OmR1bXBDaGlsZHJlbihDb21tYVByaW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogewogICAgIGZvciAoVmFsdWUqIGNoaWxkIDogY2hpbGRyZW4oKSkKQEAgLTQ1
NywxMSArNDMzLDExIEBACiAKIFZhbHVlKiBWYWx1ZTo6aW52ZXJ0ZWRDb21wYXJlKFByb2NlZHVy
ZSYgcHJvYykgY29uc3QKIHsKLSAgICBpZiAoIW51bUNoaWxkcmVuKCkpCisgICAgaWYgKG51bUNo
aWxkcmVuKCkgIT0gMikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKE9wdGlvbmFs
PE9wY29kZT4gaW52ZXJ0ZWRPcGNvZGUgPSBCMzo6aW52ZXJ0ZWRDb21wYXJlKG9wY29kZSgpLCBj
aGlsZCgwKS0+dHlwZSgpKSkgewogICAgICAgICBBU1NFUlQoIWtpbmQoKS5oYXNFeHRyYUJpdHMo
KSk7Ci0gICAgICAgIHJldHVybiBwcm9jLmFkZDxWYWx1ZT4oKmludmVydGVkT3Bjb2RlLCB0eXBl
KCksIG9yaWdpbigpLCBjaGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVl
PigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkKDApLCBjaGlsZCgxKSk7
CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtNDk1LDYgKzQ3MSw3IEBACiB7CiAg
ICAgaWYgKHR5cGUoKSAhPSBJbnQzMikKICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgc3dp
dGNoIChvcGNvZGUoKSkgewogICAgIGNhc2UgQ29uc3QzMjoKICAgICAgICAgcmV0dXJuIGFzSW50
MzIoKSA9PSAwIHx8IGFzSW50MzIoKSA9PSAxOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiQjNXaWR0
aC5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1h
bGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9JdGVy
YXRvclJhbmdlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9UcmlTdGF0ZS5oPgogCkBAIC01Myw4ICs1Myw2IEBACiBjbGFzcyBKU19FWFBPUlRfUFJJVkFU
RSBWYWx1ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBWZWN0b3I8VmFsdWUqLCAzPiBBZGphY2VuY3lMaXN0OwotCiAgICAgc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGR1bXBQcmVmaXg7CiAKICAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQp
IHsgcmV0dXJuIHRydWU7IH0KQEAgLTgyLDE0ICs4MCw2IEBACiAgICAgT3JpZ2luIG9yaWdpbigp
IGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAgICAgdm9pZCBzZXRPcmlnaW4oT3JpZ2luIG9y
aWdpbikgeyBtX29yaWdpbiA9IG9yaWdpbjsgfQogICAgIAotICAgIFZhbHVlKiYgY2hpbGQodW5z
aWduZWQgaW5kZXgpIHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhdOyB9Ci0gICAgVmFsdWUqIGNo
aWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuW2luZGV4XTsgfQot
Ci0gICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBtX2NoaWxkcmVuLmxhc3QoKTsgfQot
ICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuLmxhc3QoKTsg
fQotCi0gICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVu
LnNpemUoKTsgfQotCiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAg
ICAgdm9pZCBzZXRUeXBlKFR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyB9CiAKQEAgLTk3LDkg
Kzg3LDU4IEBACiAgICAgQmFuayByZXN1bHRCYW5rKCkgY29uc3QgeyByZXR1cm4gYmFua0ZvclR5
cGUodHlwZSgpKTsgfQogICAgIFdpZHRoIHJlc3VsdFdpZHRoKCkgY29uc3QgeyByZXR1cm4gd2lk
dGhGb3JUeXBlKHR5cGUoKSk7IH0KIAotICAgIEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKCkgeyBy
ZXR1cm4gbV9jaGlsZHJlbjsgfSAKLSAgICBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW47IH0KKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAg
ICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkuc2l6ZSgpOworICAgICAgICByZXR1cm4g
bV9udW1DaGlsZHJlbjsKKyAgICB9CisgICAgCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBp
bmRleCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IG51bUNoaWxkcmVuKCkpOworICAg
ICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzID8gY2hpbGRyZW5WZWN0b3IoKVtp
bmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOworICAgIH0KKyAgICBWYWx1ZSogY2hpbGQo
dW5zaWduZWQgaW5kZXgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1D
aGlsZHJlbigpKTsKKyAgICAgICAgcmV0dXJuIG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyA/IGNo
aWxkcmVuVmVjdG9yKClbaW5kZXhdIDogY2hpbGRyZW5BcnJheSgpW2luZGV4XTsKKyAgICB9Cisg
ICAgCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hp
bGRyZW4gPT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxh
c3QoKTsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVy
biBjaGlsZHJlbkFycmF5KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KKyAgICBWYWx1ZSog
bGFzdENoaWxkKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZh
ckFyZ3MpCisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7CisgICAg
ICAgIEFTU0VSVChtX251bUNoaWxkcmVuID49IDEpOworICAgICAgICByZXR1cm4gY2hpbGRyZW5B
cnJheSgpW21fbnVtQ2hpbGRyZW4gLSAxXTsKKyAgICB9CiAKKyAgICBXVEY6Okl0ZXJhdG9yUmFu
Z2U8VmFsdWUqKj4gY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4g
PT0gVmFyQXJncykgeworICAgICAgICAgICAgVmVjdG9yPFZhbHVlKiwgMz4mIHZlYyA9IGNoaWxk
cmVuVmVjdG9yKCk7CisgICAgICAgICAgICByZXR1cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgm
KnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7CisgICAgICAgIH0KKyAgICAgICAgVmFsdWUqKiBi
dWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7CisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIg
KyBtX251bUNoaWxkcmVuIH07CisgICAgfQorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSog
Y29uc3QqPiBjaGlsZHJlbigpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJl
biA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8VmFsdWUqLCAzPiYgdmVj
ID0gY2hpbGRyZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRv
clJhbmdlKCYqdmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfQorICAgICAgICBW
YWx1ZSogY29uc3QqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgcmV0dXJuIHti
dWZmZXIsIGJ1ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICB9CisKICAgICAvLyBJZiB5b3Ug
d2FudCB0byByZXBsYWNlIGFsbCB1c2VzIG9mIHRoaXMgdmFsdWUgd2l0aCBhIGRpZmZlcmVudCB2
YWx1ZSwgdGhlbiByZXBsYWNlIHRoaXMKICAgICAvLyB2YWx1ZSB3aXRoIElkZW50aXR5LiBUaGVu
IGRvIGEgcGFzcyBvZiBwZXJmb3JtU3Vic3RpdHV0aW9uKCkgb24gYWxsIG9mIHRoZSB2YWx1ZXMg
dGhhdCB1c2UKICAgICAvLyB0aGlzIG9uZS4gVXN1YWxseSB3ZSBkbyBhbGwgb2YgdGhpcyBpbiBv
bmUgcGFzcyBpbiBwcmUtb3JkZXIsIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUKQEAgLTMwMSwxOSAr
MzQwLDIxOCBAQAogICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzaXplb2YoSW50KSA8
PSBzaXplb2YoT2Zmc2V0VHlwZSk+Ojp0eXBlCiAgICAgPiB7IH07CiAKK3Byb3RlY3RlZDoKKyAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdDsKLSAgICAKKyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQs
IFR5cGUsIEJhc2ljQmxvY2sqKTsKKyAgICB2b2lkIHJlcGxhY2VXaXRoKEtpbmQsIFR5cGUsIEJh
c2ljQmxvY2sqLCBWYWx1ZSopOworCiAgICAgdmlydHVhbCB2b2lkIGR1bXBDaGlsZHJlbihDb21t
YVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBkdW1wTWV0
YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0OwogCisgICAgLy8gVGhlIHNwZWNp
ZmljIHZhbHVlIG9mIFZhckFyZ3MgZG9lcyBub3QgbWF0dGVyLCBidXQgdGhlIHZhbHVlIG9mIHRo
ZSBvdGhlcnMgaXMgYXNzdW1lZCB0byBtYXRjaCB0aGVpciBtZWFuaW5nLgorICAgIGVudW0gTnVt
Q2hpbGRyZW4gOiB1aW50OF90IHsgWmVybyA9IDAsIE9uZSA9IDEsIFR3byA9IDIsIFRocmVlID0g
MywgVmFyQXJncyA9IDR9OworCisgICAgY2hhciogY2hpbGRyZW5BbGxvYygpIHsgcmV0dXJuIGJp
dHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBhZGphY2VuY3lMaXN0T2Zmc2V0KCk7IH0KKyAgICBj
b25zdCBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgY29uc3QgeyByZXR1cm4gYml0d2lzZV9jYXN0PGNv
bnN0IGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQorICAgIFZlY3RvcjxW
YWx1ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpCisgICAgeworICAgICAgICBBU1NFUlQobV9udW1D
aGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9y
PFZhbHVlKiwgMz4qPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKyAgICBjb25zdCBWZWN0b3I8
VmFsdWUqLCAzPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiAqYml0d2lzZV9jYXN0
PFZlY3RvcjxWYWx1ZSosIDM+IGNvbnN0Kj4oY2hpbGRyZW5BbGxvYygpKTsKKyAgICB9CisgICAg
VmFsdWUqKiBjaGlsZHJlbkFycmF5KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxk
cmVuICE9IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGNo
aWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgp
IGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiAhPSBWYXJBcmdzKTsK
KyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29uc3QqPihjaGlsZHJlbkFsbG9j
KCkpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBz
dGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihLaW5kIGtpbmQsIEFyZ3VtZW50cy4u
LikgeyByZXR1cm4ga2luZC5vcGNvZGUoKTsgfQorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHNp
emVfdCBhZGphY2VuY3lMaXN0U3BhY2UoS2luZCBraW5kKQorICAgIHsKKyAgICAgICAgc3dpdGNo
IChraW5kLm9wY29kZSgpKSB7CisgICAgICAgIGNhc2UgRnJhbWVQb2ludGVyOgorICAgICAgICBj
YXNlIE5vcDoKKyAgICAgICAgY2FzZSBQaGk6CisgICAgICAgIGNhc2UgSnVtcDoKKyAgICAgICAg
Y2FzZSBPb3BzOgorICAgICAgICBjYXNlIEVudHJ5U3dpdGNoOgorICAgICAgICBjYXNlIEFyZ3Vt
ZW50UmVnOgorICAgICAgICBjYXNlIENvbnN0MzI6CisgICAgICAgIGNhc2UgQ29uc3Q2NDoKKyAg
ICAgICAgY2FzZSBDb25zdEZsb2F0OgorICAgICAgICBjYXNlIENvbnN0RG91YmxlOgorICAgICAg
ICBjYXNlIEZlbmNlOgorICAgICAgICBjYXNlIFNsb3RCYXNlOgorICAgICAgICBjYXNlIEdldDoK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBjYXNlIFJldHVybjoKKyAgICAgICAgY2Fz
ZSBJZGVudGl0eToKKyAgICAgICAgY2FzZSBPcGFxdWU6CisgICAgICAgIGNhc2UgTmVnOgorICAg
ICAgICBjYXNlIENsejoKKyAgICAgICAgY2FzZSBBYnM6CisgICAgICAgIGNhc2UgQ2VpbDoKKyAg
ICAgICAgY2FzZSBGbG9vcjoKKyAgICAgICAgY2FzZSBTcXJ0OgorICAgICAgICBjYXNlIFNFeHQ4
OgorICAgICAgICBjYXNlIFNFeHQxNjoKKyAgICAgICAgY2FzZSBUcnVuYzoKKyAgICAgICAgY2Fz
ZSBTRXh0MzI6CisgICAgICAgIGNhc2UgWkV4dDMyOgorICAgICAgICBjYXNlIEZsb2F0VG9Eb3Vi
bGU6CisgICAgICAgIGNhc2UgSVRvRDoKKyAgICAgICAgY2FzZSBEb3VibGVUb0Zsb2F0OgorICAg
ICAgICBjYXNlIElUb0Y6CisgICAgICAgIGNhc2UgQml0d2lzZUNhc3Q6CisgICAgICAgIGNhc2Ug
QnJhbmNoOgorICAgICAgICBjYXNlIERlcGVuZDoKKyAgICAgICAgY2FzZSBMb2FkOFo6CisgICAg
ICAgIGNhc2UgTG9hZDhTOgorICAgICAgICBjYXNlIExvYWQxNlo6CisgICAgICAgIGNhc2UgTG9h
ZDE2UzoKKyAgICAgICAgY2FzZSBMb2FkOgorICAgICAgICBjYXNlIFN3aXRjaDoKKyAgICAgICAg
Y2FzZSBVcHNpbG9uOgorICAgICAgICBjYXNlIFNldDoKKyAgICAgICAgY2FzZSBXYXNtQWRkcmVz
czoKKyAgICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6CisgICAgICAgICAgICByZXR1cm4gc2l6
ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgQWRkOgorICAgICAgICBjYXNlIFN1YjoKKyAgICAg
ICAgY2FzZSBNdWw6CisgICAgICAgIGNhc2UgRGl2OgorICAgICAgICBjYXNlIFVEaXY6CisgICAg
ICAgIGNhc2UgTW9kOgorICAgICAgICBjYXNlIFVNb2Q6CisgICAgICAgIGNhc2UgQml0QW5kOgor
ICAgICAgICBjYXNlIEJpdE9yOgorICAgICAgICBjYXNlIEJpdFhvcjoKKyAgICAgICAgY2FzZSBT
aGw6CisgICAgICAgIGNhc2UgU1NocjoKKyAgICAgICAgY2FzZSBaU2hyOgorICAgICAgICBjYXNl
IFJvdFI6CisgICAgICAgIGNhc2UgUm90TDoKKyAgICAgICAgY2FzZSBFcXVhbDoKKyAgICAgICAg
Y2FzZSBOb3RFcXVhbDoKKyAgICAgICAgY2FzZSBMZXNzVGhhbjoKKyAgICAgICAgY2FzZSBHcmVh
dGVyVGhhbjoKKyAgICAgICAgY2FzZSBMZXNzRXF1YWw6CisgICAgICAgIGNhc2UgR3JlYXRlckVx
dWFsOgorICAgICAgICBjYXNlIEFib3ZlOgorICAgICAgICBjYXNlIEJlbG93OgorICAgICAgICBj
YXNlIEFib3ZlRXF1YWw6CisgICAgICAgIGNhc2UgQmVsb3dFcXVhbDoKKyAgICAgICAgY2FzZSBF
cXVhbE9yVW5vcmRlcmVkOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdBZGQ6CisgICAgICAgIGNh
c2UgQXRvbWljWGNoZ0FuZDoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hnT3I6CisgICAgICAgIGNh
c2UgQXRvbWljWGNoZ1N1YjoKKyAgICAgICAgY2FzZSBBdG9taWNYY2hnWG9yOgorICAgICAgICBj
YXNlIEF0b21pY1hjaGc6CisgICAgICAgIGNhc2UgU3RvcmU4OgorICAgICAgICBjYXNlIFN0b3Jl
MTY6CisgICAgICAgIGNhc2UgU3RvcmU6CisgICAgICAgICAgICByZXR1cm4gMiAqIHNpemVvZihW
YWx1ZSopOworICAgICAgICBjYXNlIFNlbGVjdDoKKyAgICAgICAgY2FzZSBBdG9taWNXZWFrQ0FT
OgorICAgICAgICBjYXNlIEF0b21pY1N0cm9uZ0NBUzoKKyAgICAgICAgICAgIHJldHVybiAzICog
c2l6ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgQ0NhbGw6CisgICAgICAgIGNhc2UgQ2hlY2s6
CisgICAgICAgIGNhc2UgQ2hlY2tBZGQ6CisgICAgICAgIGNhc2UgQ2hlY2tTdWI6CisgICAgICAg
IGNhc2UgQ2hlY2tNdWw6CisgICAgICAgIGNhc2UgUGF0Y2hwb2ludDoKKyAgICAgICAgICAgIHJl
dHVybiBzaXplb2YoVmVjdG9yPFZhbHVlKiwgMz4pOworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiBwcml2YXRlOgorICAgIHN0YXRpYyBj
aGFyKiBhbGxvY2F0ZVNwYWNlKE9wY29kZSBvcGNvZGUsIHNpemVfdCBzaXplKQorICAgIHsKKyAg
ICAgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RTcGFjZSA9IFZhbHVlOjphZGphY2VuY3lMaXN0U3Bh
Y2Uob3Bjb2RlKTsKKyAgICAgICAgLy8gV2UgbXVzdCBhbGxvY2F0ZSBlbm91Z2ggc3BhY2UgdGhh
dCByZXBsYWNlV2l0aElkZW50aXR5IGNhbiB3b3JrIHdpdGhvdXQgYnVmZmVyIG92ZXJmbG93Lgor
ICAgICAgICBzaXplX3QgYWxsb2NJZGVudGl0eVNpemUgPSBzaXplb2YoVmFsdWUpICsgc2l6ZW9m
KFZhbHVlKik7CisgICAgICAgIHNpemVfdCBhbGxvY1NpemUgPSBzdGQ6Om1heChzaXplICsgYWRq
YWNlbmN5TGlzdFNwYWNlLCBhbGxvY0lkZW50aXR5U2l6ZSk7CisgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxjaGFyKj4oV1RGOjpmYXN0TWFsbG9jKGFsbG9jU2l6ZSkpOworICAgIH0KKworcHJv
dGVjdGVkOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgorICAgIHN0YXRpYyBWYWx1ZVR5cGUqIGFsbG9jYXRlKEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCisgICAgeworICAgICAgICBjaGFyKiBhbGxvYyA9IGFsbG9jYXRlU3BhY2UoVmFsdWVU
eXBlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IoYXJndW1lbnRzLi4uKSwgc2l6ZW9mKFZhbHVlVHlw
ZSkpOworICAgICAgICByZXR1cm4gbmV3IChhbGxvYykgVmFsdWVUeXBlKGFyZ3VtZW50cy4uLik7
CisgICAgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KKyAgICBzdGF0aWMgVmFs
dWVUeXBlKiBhbGxvY2F0ZShjb25zdCBWYWx1ZVR5cGUmIHZhbHVlVG9DbG9uZSkKKyAgICB7Cisg
ICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZSh2YWx1ZVRvQ2xvbmUub3Bjb2RlKCks
IHNpemVvZihWYWx1ZVR5cGUpKTsKKyAgICAgICAgVmFsdWVUeXBlKiByZXN1bHQgPSBuZXcgKGFs
bG9jKSBWYWx1ZVR5cGUodmFsdWVUb0Nsb25lKTsKKyAgICAgICAgcmVzdWx0LT5idWlsZEFkamFj
ZW5jeUxpc3Qoc2l6ZW9mKFZhbHVlVHlwZSksIHZhbHVlVG9DbG9uZSk7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorCisgICAgLy8gUHJvdGVjdGVkIHNvIGl0IHdpbGwgb25seSBiZSBj
YWxsZWQgZnJvbSBhbGxvY2F0ZSBhYm92ZSwgcG9zc2libHkgdGhyb3VnaCB0aGUgc3ViY2xhc3Nl
cydjb3B5IGNvbnN0cnVjdG9ycworICAgIFZhbHVlKGNvbnN0IFZhbHVlJikgPSBkZWZhdWx0Owor
CisgICAgVmFsdWUoVmFsdWUmJikgPSBkZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShjb25z
dCBWYWx1ZSYpID0gZGVsZXRlOworICAgIFZhbHVlJiBvcGVyYXRvcj0oVmFsdWUmJikgPSBkZWxl
dGU7CisgICAgCisgICAgc2l6ZV90IGFkamFjZW5jeUxpc3RPZmZzZXQoKSBjb25zdDsKKwogICAg
IGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAgICAgZnJpZW5kIGNsYXNzIFNwYXJzZUNvbGxlY3Rp
b248VmFsdWU+OwogCitwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KKyAgICB2b2lkIGJ1aWxkQWRqYWNlbmN5TGlzdChOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwg
QXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICB7CisgICAgICAgIGlmIChudW1DaGlsZHJlbiA9
PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBuZXcgKGNoaWxkcmVuQWxsb2MoKSkgVmVjdG9yPFZh
bHVlKiwgMz4geyBhcmd1bWVudHMuLi4gfTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBBU1NFUlQobnVtQ2hpbGRyZW4gPT0gc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwor
ICAgICAgICBuZXcgKGNoaWxkcmVuQWxsb2MoKSkgVmFsdWUqW3NpemVvZi4uLihhcmd1bWVudHMp
XSB7IGFyZ3VtZW50cy4uLiB9OworICAgIH0KKyAgICB2b2lkIGJ1aWxkQWRqYWNlbmN5TGlzdChz
aXplX3Qgb2Zmc2V0LCBjb25zdCBWYWx1ZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAgICAg
c3dpdGNoICh2YWx1ZVRvQ2xvbmUubV9udW1DaGlsZHJlbikgeworICAgICAgICBjYXNlIFZhckFy
Z3M6CisgICAgICAgICAgICBuZXcgKGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQp
IFZlY3RvcjxWYWx1ZSosIDM+ICh2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5WZWN0b3IoKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBUaHJlZToKKyAgICAgICAgICAgIGJpdHdpc2Vf
Y2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsyXSA9IHZh
bHVlVG9DbG9uZS5jaGlsZHJlbkFycmF5KClbMl07CisgICAgICAgICAgICBGQUxMVEhST1VHSDsK
KyAgICAgICAgY2FzZSBUd286CisgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8VmFsdWUqKj4oYml0
d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldClbMV0gPSB2YWx1ZVRvQ2xvbmUuY2hpbGRy
ZW5BcnJheSgpWzFdOworICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIGNhc2UgT25l
OgorICAgICAgICAgICAgYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxjaGFyKj4o
dGhpcykgKyBvZmZzZXQpWzBdID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVuQXJyYXkoKVswXTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFplcm86CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgIH0KKyAgICAKICAgICAvLyBDaGVja3MgdGhhdCB0aGlzIGtpbmQgaXMg
dmFsaWQgZm9yIHVzZSB3aXRoIEIzOjpWYWx1ZS4KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyB2
b2lkIGNoZWNrS2luZChLaW5kIGtpbmQsIHVuc2lnbmVkIG51bUFyZ3MpCisgICAgQUxXQVlTX0lO
TElORSBzdGF0aWMgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW5Gb3JLaW5kKEtpbmQga2luZCwgdW5z
aWduZWQgbnVtQXJncykKICAgICB7CiAgICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUoKSkgewog
ICAgICAgICBjYXNlIEZyYW1lUG9pbnRlcjoKQEAgLTMyNCwxMSArNTYyLDExIEBACiAgICAgICAg
IGNhc2UgRW50cnlTd2l0Y2g6CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncykpCiAg
ICAgICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgcmV0dXJuIFplcm87CiAgICAgICAgIGNhc2UgUmV0dXJuOgogICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgPiAxKSkKICAgICAgICAgICAgICAgICBiYWRLaW5k
KGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4g
bnVtQXJncyA/IE9uZSA6IFplcm87CiAgICAgICAgIGNhc2UgSWRlbnRpdHk6CiAgICAgICAgIGNh
c2UgT3BhcXVlOgogICAgICAgICBjYXNlIE5lZzoKQEAgLTM1MSw3ICs1ODksNyBAQAogICAgICAg
ICBjYXNlIERlcGVuZDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzICE9IDEpKQog
ICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIHJldHVybiBPbmU7CiAgICAgICAgIGNhc2UgQWRkOgogICAgICAgICBj
YXNlIFN1YjoKICAgICAgICAgY2FzZSBNdWw6CkBAIC0zODAsMTI5ICs2MTgsMTA1IEBACiAgICAg
ICAgIGNhc2UgRXF1YWxPclVub3JkZXJlZDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1B
cmdzICE9IDIpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBUd287CiAgICAgICAgIGNhc2UgU2Vs
ZWN0OgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMykpCiAgICAgICAgICAg
ICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgcmV0dXJuIFRocmVlOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYmFkS2lu
ZChraW5kLCBudW1BcmdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAg
IHJldHVybiBWYXJBcmdzOwogICAgIH0KIAogcHJvdGVjdGVkOgogICAgIGVudW0gQ2hlY2tlZE9w
Y29kZVRhZyB7IENoZWNrZWRPcGNvZGUgfTsKLQotICAgIFZhbHVlKGNvbnN0IFZhbHVlJikgPSBk
ZWZhdWx0OwotICAgIFZhbHVlJiBvcGVyYXRvcj0oY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7CiAg
ICAgCiAgICAgLy8gSW5zdGFudGlhdGUgdmFsdWVzIHZpYSBQcm9jZWR1cmUuCiAgICAgLy8gVGhp
cyBmb3JtIHJlcXVpcmVzIHNwZWNpZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRseToKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9w
Y29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJz
dENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNr
ZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJl
biwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVu
dHMpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGUpCisgICAg
ICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmln
aW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCwgYXJndW1lbnRzLi4uIH0KICAg
ICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RDaGlsZCwg
YXJndW1lbnRzLi4uKTsKICAgICB9CiAgICAgLy8gVGhpcyBmb3JtIGlzIGZvciBzcGVjaWZ5aW5n
IHRoZSB0eXBlIGV4cGxpY2l0bHkgd2hlbiB0aGUgb3Bjb2RlIGhhcyBubyBjaGlsZHJlbjoKLSAg
ICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwg
T3JpZ2luIG9yaWdpbikKKyAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5k
IGtpbmQsIFR5cGUgdHlwZSwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4p
CiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV90eXBlKHR5cGUpCisgICAgICAg
ICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmlnaW4p
CiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4pOwogICAgIH0K
LSAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4gaW5mZXIgdGhl
aXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgotICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFn
LCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQotICAgICAgICA6
IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0Q2hpbGQp
KQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2NoaWxkcmVueyBmaXJz
dENoaWxkIH0KLSAgICB7Ci0gICAgfQotICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bj
b2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3Qg
YW5kIHNlY29uZCBjaGlsZDoKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0g
ICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3Jp
Z2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgVmFsdWUqIHNlY29uZENoaWxkLCBBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQotICAgICAgICA6IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBl
Rm9yKGtpbmQsIGZpcnN0Q2hpbGQsIHNlY29uZENoaWxkKSkKLSAgICAgICAgLCBtX29yaWdpbihv
cmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbnsgZmlyc3RDaGlsZCwgc2Vjb25kQ2hpbGQsIGFy
Z3VtZW50cy4uLiB9Ci0gICAgewotICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3Nl
IG9wY29kZXMgdGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYWxvbmUs
IGFuZCB0aGF0IGRvbid0CiAgICAgLy8gdGFrZSBhbnkgYXJndW1lbnRzOgotICAgIGV4cGxpY2l0
IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbikKKyAgICBl
eHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE51bUNoaWxkcmVuIG51
bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luKQogICAgICAgICA6IG1fa2luZChraW5kKQogICAgICAg
ICAsIG1fdHlwZSh0eXBlRm9yKGtpbmQsIG51bGxwdHIpKQorICAgICAgICAsIG1fbnVtQ2hpbGRy
ZW4obnVtQ2hpbGRyZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgIHsKKyAgICAg
ICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuKTsKICAgICB9Ci0gICAgLy8gVXNlIHRo
aXMgZm9ybSBmb3IgdmFyYXJncy4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFn
LCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgY29uc3QgQWRqYWNlbmN5TGlz
dCYgY2hpbGRyZW4pCisgICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVzIHRoYXQg
Y2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBjaGlsZDoKKyAg
ICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE51bUNoaWxkcmVu
IG51bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCkKICAgICAgICAg
OiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX3R5cGUo
dHlwZUZvcihraW5kLCBmaXJzdENoaWxkKSkKKyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51bUNo
aWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKLSAgICAgICAgLCBtX2NoaWxkcmVu
KGNoaWxkcmVuKQogICAgIHsKKyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVu
LCBmaXJzdENoaWxkKTsKICAgICB9Ci0gICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRh
ZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIEFkamFjZW5jeUxpc3QmJiBj
aGlsZHJlbikKKyAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4g
aW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGFuZCBzZWNvbmQgY2hp
bGQ6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIGV4cGxpY2l0IFZh
bHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hpbGRyZW4s
IE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFy
Z3VtZW50cy4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwg
bV90eXBlKHR5cGUpCisgICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCwg
c2Vjb25kQ2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRyZW4pCiAgICAg
ICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oV1RGTW92ZShjaGls
ZHJlbikpCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4sIGZp
cnN0Q2hpbGQsIHNlY29uZENoaWxkLCBhcmd1bWVudHMuLi4pOwogICAgIH0KIAogICAgIC8vIFRo
aXMgaXMgdGhlIGNvbnN0cnVjdG9yIHlvdSBlbmQgdXAgYWN0dWFsbHkgY2FsbGluZywgaWYgeW91
J3JlIGluc3RhbnRpYXRpbmcgVmFsdWUKICAgICAvLyBkaXJlY3RseS4KLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwg
VHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IGtpbmQsIHR5cGUsIG9yaWdpbikKKyAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5k
LCB0eXBlLCBaZXJvLCBvcmlnaW4pCiAgICAgewotICAgICAgICBjaGVja0tpbmQoa2luZCwgMCk7
CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuRm9yS2luZChraW5kLCAwKSA9PSBa
ZXJvKTsKICAgICB9CisgICAgLy8gV2UgZXhwbGljaXRseSBjb252ZXJ0IHRoZSBleHRyYSBhcmd1
bWVudHMgdG8gVmFsdWUqICh0aGV5IG1heSBiZSBwb2ludGVycyB0byBzb21lIHN1YmNsYXNzZXMg
b2YgVmFsdWUpIHRvIGxpbWl0IHRlbXBsYXRlIGV4cGxvc2lvbgogICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBl
IHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMmJi4uLiBh
cmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3Jp
Z2luLCBmaXJzdENoaWxkLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKQor
ICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRzLi4u
IGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBudW1DaGls
ZHJlbkZvcktpbmQoa2luZCwgc2l6ZW9mLi4uKGFyZ3VtZW50cykpLCBvcmlnaW4sIHN0YXRpY19j
YXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5k
LCAxICsgc2l6ZW9mLi4uKGFyZ3VtZW50cykpOwogICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBjaGlsZHJlbikKLSAgICAg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4sIGNoaWxkcmVuKQor
ICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBW
YWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBudW1DaGlsZHJlbkZvcktpbmQoa2luZCwgMSAr
IHNpemVvZi4uLihhcmd1bWVudHMpKSwgb3JpZ2luLCBmaXJzdENoaWxkLCBzdGF0aWNfY2FzdDxW
YWx1ZSo+KGFyZ3VtZW50cykuLi4pCiAgICAgewotICAgICAgICBjaGVja0tpbmQoa2luZCwgY2hp
bGRyZW4uc2l6ZSgpKTsKICAgICB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRz
PgotICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9y
aWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxkcmVuKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgV1RGTW92ZShjaGlsZHJlbikpCi0gICAgewotICAg
ICAgICBjaGVja0tpbmQoa2luZCwgbV9jaGlsZHJlbi5zaXplKCkpOwotICAgIH0KLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQg
a2luZCwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQotICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG9yaWdpbiwgc3RkOjpmb3J3YXJkPEFyZ3VtZW50
cz4oYXJndW1lbnRzKS4uLikKLSAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBzaXplb2Yu
Li4oYXJndW1lbnRzKSk7Ci0gICAgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBDaGVj
a1ZhbHVlOyAvLyBDaGVja1ZhbHVlOjpjb252ZXJ0VG9BZGQoKSBtb2RpZmllcyBtX2tpbmQuCi0g
ICAgCisKICAgICBzdGF0aWMgVHlwZSB0eXBlRm9yKEtpbmQsIFZhbHVlKiBmaXJzdENoaWxkLCBW
YWx1ZSogc2Vjb25kQ2hpbGQgPSBudWxscHRyKTsKIAotICAgIC8vIFRoaXMgZ3JvdXAgb2YgZmll
bGRzIGlzIGFycmFuZ2VkIHRvIGZpdCBpbiA2NCBiaXRzLgorICAgIC8vIG1faW5kZXggdG8gbV9u
dW1DaGlsZHJlbiBhcmUgYXJyYW5nZWQgdG8gZml0IGluIDY0IGJpdHMuCiBwcm90ZWN0ZWQ6CiAg
ICAgdW5zaWduZWQgbV9pbmRleCB7IFVJTlRfTUFYIH07CiBwcml2YXRlOgogICAgIEtpbmQgbV9r
aW5kOwogICAgIFR5cGUgbV90eXBlOwotICAgIAorcHJvdGVjdGVkOgorICAgIE51bUNoaWxkcmVu
IG1fbnVtQ2hpbGRyZW47Citwcml2YXRlOgogICAgIE9yaWdpbiBtX29yaWdpbjsKLSAgICBBZGph
Y2VuY3lMaXN0IG1fY2hpbGRyZW47CiAKICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHN0YXRp
YyB2b2lkIGJhZEtpbmQoS2luZCwgdW5zaWduZWQpOwogCkBAIC01MTgsMTMgKzczMiw3IEBACiAg
ICAgewogICAgIH0KIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAotICAg
IHsKLSAgICAgICAgaWYgKG1fdmFsdWUpCi0gICAgICAgICAgICBtX3ZhbHVlLT5kZWVwRHVtcCht
X3Byb2MsIG91dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG91dC5wcmludCgiPG51bGw+
Iik7Ci0gICAgfQorICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJp
dmF0ZToKICAgICBjb25zdCBQcm9jZWR1cmUqIG1fcHJvYzsKQEAgLTU0MCw2ICs3NDgsMTE2IEBA
CiAgICAgcmV0dXJuIERlZXBWYWx1ZUR1bXAobnVsbHB0ciwgdmFsdWUpOwogfQogCisvLyBUaGUg
Zm9sbG93aW5nIG1hY3JvcyBhcmUgZGVzaWduZWQgZm9yIHN1YmNsYXNzZXMgb2YgQjM6OlZhbHVl
IHRvIHVzZS4KKy8vIFRoZXkgYXJlIG5ldmVyIHJlcXVpcmVkIGZvciBjb3JyZWN0bmVzcywgYnV0
IGNhbiBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBvZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hpbGRy
ZW4vY2hpbGRyZW4gbWV0aG9kcywKKy8vIGZvciB1c2VycyB0aGF0IGFscmVhZHkga25vdyB0aGUg
c3BlY2lmaWMgc3ViY2xhc3Mgb2YgVmFsdWUgdGhleSBhcmUgbWFuaXB1bGF0aW5nLgorLy8gVGhl
IGZpcnN0IHNldCBpcyB0byBiZSB1c2VkIHdoZW4geW91IGtub3cgc29tZXRoaW5nIGFib3V0IHRo
ZSBudW1iZXIgb2YgY2hpbGRyZW4gb2YgYWxsIHZhbHVlcyBvZiBhIGNsYXNzLCBpbmNsdWRpbmcg
aXRzIHN1YmNsYXNzZXM6CisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVO
OiBhbHdheXMgMCBjaGlsZHJlbiAoZS5nLiBDb25zdDMyVmFsdWUpCisvLyAtIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKG4pOiBhbHdheXMgbiBjaGlsZHJlbiwgd2l0aCBu
IGluIHsxLCAyLCAzfSAoZS5nLiBVcHNpbG9uVmFsdWUsIHdpdGggbiA9IDEpCisvLyAtIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NISUxEUkVOOiBkaWZmZXJlbnQgbnVtYmVy
cyBvZiBjaGlsZHJlbiwgYnV0IG5ldmVyIGEgdmFyaWFibGUgbnVtYmVyIGF0IHJ1bnRpbWUgKGUu
Zy4gTWVtb3J5VmFsdWUsIHRoYXQgY2FuIGhhdmUgYmV0d2VlbiAxIGFuZCAzIGNoaWxkcmVuKQor
Ly8gLSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOOiBhbHdheXMgYSB2
YXJhcmdzIChlLmcuIENDYWxsVmFsdWUpCisvLyBUaGUgc2Vjb25kIHNldCBpcyBvbmx5IHRvIGJl
IHVzZWQgYnkgY2xhc3NlcyB0aGF0IHdlIGtub3cgYXJlIG5vdCBmdXJ0aGVyIHN1YmNsYXNzZWQg
YnkgYW55b25lIGFkZGluZyBmaWVsZHMsCisvLyBhcyB0aGV5IGhhcmRjb2RlIHRoZSBvZmZzZXQg
b2YgdGhlIGNoaWxkcmVuIGFycmF5L3ZlY3RvciAod2hpY2ggaXMgZXF1YWwgdG8gdGhlIHNpemUg
b2YgdGhlIG9iamVjdCkuCisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVf
RklYRURfQ0hJTERSRU4KKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9W
QVJBUkdTX0NISUxEUkVOCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxE
UkVOIFwKKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIDA7IH0gXAor
ICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIHsgcmV0dXJuIHtudWxs
cHRyLCBudWxscHRyfTsgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25zdCo+
IGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4geyBudWxscHRyLCBudWxscHRyfTsgfQorCisjZGVm
aW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKG4pIFwKK3B1YmxpYzog
XAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbjsgfSBcCisgICAg
VmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgXAorICAgIHsgXAorICAgICAgICBBU1NFUlQo
aW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IFwK
KyAgICB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IFwKKyAgICB7
IFwKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9IG4pOyBcCisgICAgICAgIHJldHVybiBjaGlsZHJl
bkFycmF5KClbaW5kZXhdOyBcCisgICAgfSBcCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSBcCisg
ICAgeyBcCisgICAgICAgIHJldHVybiBjaGlsZHJlbkFycmF5KClbbiAtIDFdOyBcCisgICAgfSBc
CisgICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJu
IGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFu
Z2U8VmFsdWUqKj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiogYnVmZmVy
ID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBu
IH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hp
bGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiBjb25zdCogYnVmZmVyID0g
Y2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZmZXIgKyBuIH07
IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJH
U19DSElMRFJFTiBcCitwdWJsaWM6IFwKKyAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0
IHsgcmV0dXJuIG1fbnVtQ2hpbGRyZW47IH0gXAorICAgIFZhbHVlKiYgY2hpbGQodW5zaWduZWQg
aW5kZXgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtpbmRleF07IH0gXAorICAgIFZhbHVlKiBj
aGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4
XTsgfSBcCisgICAgVmFsdWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBjaGlsZHJlbkFycmF5KClb
bnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QgeyBy
ZXR1cm4gY2hpbGRyZW5BcnJheSgpW251bUNoaWxkcmVuKCkgLSAxXTsgfSBcCisgICAgV1RGOjpJ
dGVyYXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgXAorICAgIHsgXAorICAgICAgICBWYWx1
ZSoqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsgXAorICAgICAgICByZXR1cm4ge2J1ZmZlciwg
YnVmZmVyICsgbnVtQ2hpbGRyZW4oKSB9OyBcCisgICAgfSBcCisgICAgV1RGOjpJdGVyYXRvclJh
bmdlPFZhbHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBW
YWx1ZSogY29uc3QqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsgXAorICAgICAgICByZXR1cm4g
e2J1ZmZlciwgYnVmZmVyICsgbnVtQ2hpbGRyZW4oKSB9OyBcCisgICAgfSBcCisKKyNkZWZpbmUg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJHU19DSElMRFJFTiBcCitwdWJsaWM6IFwKKyAg
ICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCku
c2l6ZSgpOyB9IFwKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBj
aGlsZHJlblZlY3RvcigpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxkKHVuc2lnbmVkIGlu
ZGV4KSBjb25zdCB7IHJldHVybiBjaGlsZHJlblZlY3RvcigpW2luZGV4XTsgfSBcCisgICAgVmFs
dWUqJiBsYXN0Q2hpbGQoKSB7IHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsgfSBcCisg
ICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFz
dCgpOyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKSBcCisg
ICAgeyBcCisgICAgICAgIFZlY3RvcjxWYWx1ZSosIDM+JiB2ZWMgPSBjaGlsZHJlblZlY3Rvcigp
OyBcCisgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCYqdmVjLmJlZ2luKCks
ICYqdmVjLmVuZCgpKTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSog
Y29uc3QqPiBjaGlsZHJlbigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgY29uc3QgVmVjdG9y
PFZhbHVlKiwgMz4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAg
fSBcCisKKy8vIE9ubHkgdXNlIHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0aGF0
IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisvLyBBbHNvIHRoZXJl
IGlzIG5vIHBvaW50IGluIGFwcGx5aW5nIHRoaXMgdG8gY2xhc3NlcyB3aXRoIG5vIGNoaWxkcmVu
LCBhcyB0aGV5IGRvbid0IGhhdmUgYSBjaGlsZHJlbiBhcnJheSB0byBhY2Nlc3MuCisjZGVmaW5l
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4gXAorcHJp
dmF0ZTogXAorICAgIFZhbHVlKiogY2hpbGRyZW5BcnJheSgpIFwKKyAgICB7IFwKKyAgICAgICAg
cmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsg
c2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKyAgICBWYWx1ZSogY29uc3QqIGNoaWxkcmVuQXJy
YXkoKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFsdWUq
IGNvbnN0Kj4oYml0d2lzZV9jYXN0PGNoYXIgY29uc3QqPih0aGlzKSArIHNpemVvZigqdGhpcykp
OyBcCisgICAgfQorCisvLyBPbmx5IHVzZSB0aGlzIGZvciBjbGFzc2VzIHdpdGggbm8gc3ViY2xh
c3MgdGhhdCBhZGQgbmV3IGZpZWxkcyAoYXMgaXQgdXNlcyBzaXplb2YoKnRoaXMpKQorI2RlZmlu
ZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4gXAor
cHJpdmF0ZTogXAorICAgIFZlY3RvcjxWYWx1ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpIFwKKyAg
ICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKiwgMz4qPihi
aXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9IFwKKyAg
ICBjb25zdCBWZWN0b3I8VmFsdWUqLCAzPiYgY2hpbGRyZW5WZWN0b3IoKSBjb25zdCBcCisgICAg
eyBcCisgICAgICAgIHJldHVybiAqYml0d2lzZV9jYXN0PFZlY3RvcjxWYWx1ZSosIDM+IGNvbnN0
Kj4oYml0d2lzZV9jYXN0PGNoYXIgY29uc3QqPih0aGlzKSArIHNpemVvZigqdGhpcykpOyBcCisg
ICAgfSBcCisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIz
X0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5oCShy
ZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUlubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTkgKzI3LDE1NyBAQAogCiAjaWYgRU5BQkxFKEIz
X0pJVCkKIAorI2luY2x1ZGUgIkIzQXJndW1lbnRSZWdWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQXRv
bWljVmFsdWUuaCIKKyNpbmNsdWRlICJCM0NDYWxsVmFsdWUuaCIKICNpbmNsdWRlICJCM0NoZWNr
VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0MzJWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3Q2
NFZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdERvdWJsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQjND
b25zdEZsb2F0VmFsdWUuaCIKKyNpbmNsdWRlICJCM0ZlbmNlVmFsdWUuaCIKKyNpbmNsdWRlICJC
M01lbW9yeVZhbHVlLmgiCiAjaW5jbHVkZSAiQjNQYXRjaHBvaW50VmFsdWUuaCIKICNpbmNsdWRl
ICJCM1BoaUNoaWxkcmVuLmgiCiAjaW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJC
M1Nsb3RCYXNlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1N3aXRjaFZhbHVlLmgiCisjaW5jbHVkZSAi
QjNVcHNpbG9uVmFsdWUuaCIKICNpbmNsdWRlICJCM1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNWYXJp
YWJsZVZhbHVlLmgiCisjaW5jbHVkZSAiQjNXYXNtQWRkcmVzc1ZhbHVlLmgiCisjaW5jbHVkZSAi
QjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9HcmFwaE5vZGVXb3JrbGlz
dC5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAorI2RlZmluZSBESVNQQVRD
SF9PTl9LSU5EKE1BQ1JPKSBcCisgICAgc3dpdGNoIChraW5kKCkub3Bjb2RlKCkpIHsgXAorICAg
IGNhc2UgRnJhbWVQb2ludGVyOiBcCisgICAgY2FzZSBOb3A6IFwKKyAgICBjYXNlIFBoaTogXAor
ICAgIGNhc2UgSnVtcDogXAorICAgIGNhc2UgT29wczogXAorICAgIGNhc2UgRW50cnlTd2l0Y2g6
IFwKKyAgICBjYXNlIFJldHVybjogXAorICAgIGNhc2UgSWRlbnRpdHk6IFwKKyAgICBjYXNlIE9w
YXF1ZTogXAorICAgIGNhc2UgTmVnOiBcCisgICAgY2FzZSBDbHo6IFwKKyAgICBjYXNlIEFiczog
XAorICAgIGNhc2UgQ2VpbDogXAorICAgIGNhc2UgRmxvb3I6IFwKKyAgICBjYXNlIFNxcnQ6IFwK
KyAgICBjYXNlIFNFeHQ4OiBcCisgICAgY2FzZSBTRXh0MTY6IFwKKyAgICBjYXNlIFRydW5jOiBc
CisgICAgY2FzZSBTRXh0MzI6IFwKKyAgICBjYXNlIFpFeHQzMjogXAorICAgIGNhc2UgRmxvYXRU
b0RvdWJsZTogXAorICAgIGNhc2UgSVRvRDogXAorICAgIGNhc2UgRG91YmxlVG9GbG9hdDogXAor
ICAgIGNhc2UgSVRvRjogXAorICAgIGNhc2UgQml0d2lzZUNhc3Q6IFwKKyAgICBjYXNlIEJyYW5j
aDogXAorICAgIGNhc2UgRGVwZW5kOiBcCisgICAgY2FzZSBBZGQ6IFwKKyAgICBjYXNlIFN1Yjog
XAorICAgIGNhc2UgTXVsOiBcCisgICAgY2FzZSBEaXY6IFwKKyAgICBjYXNlIFVEaXY6IFwKKyAg
ICBjYXNlIE1vZDogXAorICAgIGNhc2UgVU1vZDogXAorICAgIGNhc2UgQml0QW5kOiBcCisgICAg
Y2FzZSBCaXRPcjogXAorICAgIGNhc2UgQml0WG9yOiBcCisgICAgY2FzZSBTaGw6IFwKKyAgICBj
YXNlIFNTaHI6IFwKKyAgICBjYXNlIFpTaHI6IFwKKyAgICBjYXNlIFJvdFI6IFwKKyAgICBjYXNl
IFJvdEw6IFwKKyAgICBjYXNlIEVxdWFsOiBcCisgICAgY2FzZSBOb3RFcXVhbDogXAorICAgIGNh
c2UgTGVzc1RoYW46IFwKKyAgICBjYXNlIEdyZWF0ZXJUaGFuOiBcCisgICAgY2FzZSBMZXNzRXF1
YWw6IFwKKyAgICBjYXNlIEdyZWF0ZXJFcXVhbDogXAorICAgIGNhc2UgQWJvdmU6IFwKKyAgICBj
YXNlIEJlbG93OiBcCisgICAgY2FzZSBBYm92ZUVxdWFsOiBcCisgICAgY2FzZSBCZWxvd0VxdWFs
OiBcCisgICAgY2FzZSBFcXVhbE9yVW5vcmRlcmVkOiBcCisgICAgY2FzZSBTZWxlY3Q6IFwKKyAg
ICAgICAgcmV0dXJuIE1BQ1JPKFZhbHVlKTsgXAorICAgIGNhc2UgQXJndW1lbnRSZWc6IFwKKyAg
ICAgICAgcmV0dXJuIE1BQ1JPKEFyZ3VtZW50UmVnVmFsdWUpOyBcCisgICAgY2FzZSBDb25zdDMy
OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdDMyVmFsdWUpOyBcCisgICAgY2FzZSBDb25z
dDY0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdDY0VmFsdWUpOyBcCisgICAgY2FzZSBD
b25zdEZsb2F0OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdEZsb2F0VmFsdWUpOyBcCisg
ICAgY2FzZSBDb25zdERvdWJsZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ29uc3REb3VibGVW
YWx1ZSk7IFwKKyAgICBjYXNlIEZlbmNlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhGZW5jZVZh
bHVlKTsgXAorICAgIGNhc2UgU2xvdEJhc2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFNsb3RC
YXNlVmFsdWUpOyBcCisgICAgY2FzZSBHZXQ6IFwKKyAgICBjYXNlIFNldDogXAorICAgICAgICBy
ZXR1cm4gTUFDUk8oVmFyaWFibGVWYWx1ZSk7IFwKKyAgICBjYXNlIExvYWQ4WjogXAorICAgIGNh
c2UgTG9hZDhTOiBcCisgICAgY2FzZSBMb2FkMTZaOiBcCisgICAgY2FzZSBMb2FkMTZTOiBcCisg
ICAgY2FzZSBMb2FkOiBcCisgICAgY2FzZSBTdG9yZTg6IFwKKyAgICBjYXNlIFN0b3JlMTY6IFwK
KyAgICBjYXNlIFN0b3JlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhNZW1vcnlWYWx1ZSk7IFwK
KyAgICBjYXNlIFN3aXRjaDogXAorICAgICAgICByZXR1cm4gTUFDUk8oU3dpdGNoVmFsdWUpOyBc
CisgICAgY2FzZSBVcHNpbG9uOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhVcHNpbG9uVmFsdWUp
OyBcCisgICAgY2FzZSBXYXNtQWRkcmVzczogXAorICAgICAgICByZXR1cm4gTUFDUk8oV2FzbUFk
ZHJlc3NWYWx1ZSk7IFwKKyAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazogXAorICAgICAgICByZXR1
cm4gTUFDUk8oV2FzbUJvdW5kc0NoZWNrVmFsdWUpOyBcCisgICAgY2FzZSBBdG9taWNYY2hnQWRk
OiBcCisgICAgY2FzZSBBdG9taWNYY2hnQW5kOiBcCisgICAgY2FzZSBBdG9taWNYY2hnT3I6IFwK
KyAgICBjYXNlIEF0b21pY1hjaGdTdWI6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdYb3I6IFwKKyAg
ICBjYXNlIEF0b21pY1hjaGc6IFwKKyAgICBjYXNlIEF0b21pY1dlYWtDQVM6IFwKKyAgICBjYXNl
IEF0b21pY1N0cm9uZ0NBUzogXAorICAgICAgICByZXR1cm4gTUFDUk8oQXRvbWljVmFsdWUpOyBc
CisgICAgY2FzZSBDQ2FsbDogXAorICAgICAgICByZXR1cm4gTUFDUk8oQ0NhbGxWYWx1ZSk7IFwK
KyAgICBjYXNlIENoZWNrOiBcCisgICAgY2FzZSBDaGVja0FkZDogXAorICAgIGNhc2UgQ2hlY2tT
dWI6IFwKKyAgICBjYXNlIENoZWNrTXVsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDaGVja1Zh
bHVlKTsgXAorICAgIGNhc2UgUGF0Y2hwb2ludDogXAorICAgICAgICByZXR1cm4gTUFDUk8oUGF0
Y2hwb2ludFZhbHVlKTsgXAorICAgIGRlZmF1bHQ6IFwKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgXAorICAgIH0KKworQUxXQVlTX0lOTElORSBzaXplX3QgVmFsdWU6OmFk
amFjZW5jeUxpc3RPZmZzZXQoKSBjb25zdAoreworI2RlZmluZSBWQUxVRV9UWVBFX1NJWkUoVmFs
dWVUeXBlKSBzaXplb2YoVmFsdWVUeXBlKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQ
RV9TSVpFKTsKKyN1bmRlZiBWQUxVRV9UWVBFX1NJWkUKK30KKworQUxXQVlTX0lOTElORSBWYWx1
ZSogVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Cit7CisjZGVmaW5lIFZBTFVFX1RZUEVfQ0xPTkUo
VmFsdWVUeXBlKSBhbGxvY2F0ZTxWYWx1ZVR5cGU+KCpzdGF0aWNfY2FzdDxjb25zdCBWYWx1ZVR5
cGUqPih0aGlzKSkKKyAgICBESVNQQVRDSF9PTl9LSU5EKFZBTFVFX1RZUEVfQ0xPTkUpOworI3Vu
ZGVmIFZBTFVFX1RZUEVfQ0xPTkUKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgQm90dG9tUHJvdmlk
ZXI+CiB2b2lkIFZhbHVlOjpyZXBsYWNlV2l0aEJvdHRvbShjb25zdCBCb3R0b21Qcm92aWRlciYg
Ym90dG9tUHJvdmlkZXIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJp
YWJsZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YXJpYWJsZVZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzVmFyaWFibGVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEzICs0MSw4
IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBwb2ludGVyRHVtcChtX3ZhcmlhYmxlKSk7CiB9CiAK
LVZhbHVlKiBWYXJpYWJsZVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBu
ZXcgVmFyaWFibGVWYWx1ZSgqdGhpcyk7Ci19Ci0KIFZhcmlhYmxlVmFsdWU6OlZhcmlhYmxlVmFs
dWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBWYXJpYWJsZSogdmFyaWFibGUsIFZhbHVlKiB2
YWx1ZSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIG9yaWdpbiwgdmFs
dWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBPbmUsIG9yaWdpbiwg
dmFsdWUpCiAgICAgLCBtX3ZhcmlhYmxlKHZhcmlhYmxlKQogewogICAgIEFTU0VSVChraW5kID09
IFNldCk7CkBAIC01NCw3ICs0OSw3IEBACiB9CiAKIFZhcmlhYmxlVmFsdWU6OlZhcmlhYmxlVmFs
dWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBWYXJpYWJsZSogdmFyaWFibGUpCi0gICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB2YXJpYWJsZS0+dHlwZSgpLCBvcmlnaW4pCisgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB2YXJpYWJsZS0+dHlwZSgpLCBaZXJvLCBvcmln
aW4pCiAgICAgLCBtX3ZhcmlhYmxlKHZhcmlhYmxlKQogewogICAgIEFTU0VSVChraW5kID09IEdl
dCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFyaWFibGVWYWx1ZS5oCShy
ZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEzICs0MSwxNSBAQAogCiAgICAgVmFyaWFibGUq
IHZhcmlhYmxlKCkgY29uc3QgeyByZXR1cm4gbV92YXJpYWJsZTsgfQogCisgICAgQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU4KKyAgICBCM19TUEVDSUFMSVpFX1ZB
TFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lk
IGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAK
LSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICAv
LyBVc2UgdGhpcyBmb3IgU2V0LgogICAgIFZhcmlhYmxlVmFsdWUoS2luZCwgT3JpZ2luLCBWYXJp
YWJsZSosIFZhbHVlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRk
cmVzc1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNX
YXNtQWRkcmVzc1ZhbHVlLmNwcAkocmV2aXNpb24gMjQzNDcxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEz
ICszOSw4IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3Bpbm5lZEdQUik7CiB9CiAKLVZhbHVl
KiBXYXNtQWRkcmVzc1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcg
V2FzbUFkZHJlc3NWYWx1ZSgqdGhpcyk7Ci19Ci0KIFdhc21BZGRyZXNzVmFsdWU6Oldhc21BZGRy
ZXNzVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZhbHVlLCBHUFJSZWcgcGlubmVkR1BSKQot
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUFkZHJlc3MsIEludDY0LCBvcmlnaW4sIHZh
bHVlKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUFkZHJlc3MsIEludDY0LCBPbmUs
IG9yaWdpbiwgdmFsdWUpCiAgICAgLCBtX3Bpbm5lZEdQUihwaW5uZWRHUFIpCiB7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUFkZHJlc3NWYWx1ZS5oCShyZXZp
c2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1Zh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE0ICs0MCwxNyBAQAogCiAgICAgR1BSUmVnIHBp
bm5lZEdQUigpIGNvbnN0IHsgcmV0dXJuIG1fcGlubmVkR1BSOyB9CiAKKyAgICBCM19TUEVDSUFM
SVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVf
Rk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVt
cE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRp
YyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCBHUFJSZWcpIHsg
cmV0dXJuIFdhc21BZGRyZXNzOyB9CiAgICAgV2FzbUFkZHJlc3NWYWx1ZShPcmlnaW4sIFZhbHVl
KiwgR1BSUmVnKTsKIAogICAgIEdQUlJlZyBtX3Bpbm5lZEdQUjsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5jcHAJKHJldmlz
aW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVj
a1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogfQogCiBXYXNtQm91
bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNrVmFsdWUoT3JpZ2luIG9yaWdpbiwgR1BSUmVn
IHBpbm5lZFNpemUsIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCkKLSAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3JpZ2luLCBwdHIpCisgICAgOiBWYWx1ZShD
aGVja2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9uZSwgb3JpZ2luLCBwdHIpCiAgICAgLCBt
X29mZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5cGUoVHlwZTo6UGlubmVkKQogewpAQCAt
NDQsNyArNDQsNyBAQAogfQogCiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6V2FzbUJvdW5kc0NoZWNr
VmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0LCBzaXplX3Qg
bWF4aW11bSkKLSAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgb3Jp
Z2luLCBwdHIpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQm91bmRzQ2hlY2ssIE9u
ZSwgb3JpZ2luLCBwdHIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX2JvdW5kc1R5
cGUoVHlwZTo6TWF4aW11bSkKIHsKQEAgLTU1LDExICs1NSw2IEBACiAgICAgbV9ib3VuZHMubWF4
aW11bSA9IG1heGltdW07CiB9CiAKLVZhbHVlKiBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6Y2xvbmVJ
bXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFdhc21Cb3VuZHNDaGVja1ZhbHVlKCp0aGlz
KTsKLX0KLQogdm9pZCBXYXNtQm91bmRzQ2hlY2tWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVy
JiBjb21tYSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fYm91bmRz
VHlwZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNr
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91
bmRzQ2hlY2tWYWx1ZS5oCShyZXZpc2lvbiAyNDM0NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxNSAr
MzQsNyBAQAogCiBjbGFzcyBXYXNtQm91bmRzQ2hlY2tWYWx1ZSA6IHB1YmxpYyBWYWx1ZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIGJvb2wgYWNjZXB0cyhLaW5kIGtpbmQpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKLSAgICAgICAgY2FzZSBXYXNtQm91bmRzQ2hlY2s6
Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KKyAgICBzdGF0aWMgYm9vbCBhY2NlcHRz
KEtpbmQga2luZCkgeyByZXR1cm4ga2luZCA9PSBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICAKICAg
ICB+V2FzbUJvdW5kc0NoZWNrVmFsdWUoKTsKIApAQCAtNjAsMTUgKzUyLDIwIEBACiAgICAgVHlw
ZSBib3VuZHNUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHNUeXBlOyB9CiAgICAgQm91bmRz
IGJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRzOyB9CiAKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9S
X0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1l
dGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBP
cGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgR1BSUmVnLCBWYWx1ZSosIHVuc2ln
bmVkKSB7IHJldHVybiBXYXNtQm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBX
YXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4sIEdQUlJlZyBwaW5uZWRHUFIsIFZhbHVlKiBwdHIs
IHVuc2lnbmVkIG9mZnNldCk7CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihPcmlnaW4sIFZhbHVlKiwgdW5zaWduZWQsIHNpemVfdCkgeyByZXR1cm4gV2FzbUJvdW5k
c0NoZWNrOyB9CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgV2FzbUJvdW5kc0NoZWNrVmFsdWUoT3Jp
Z2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvZmZzZXQsIHNpemVfdCBtYXhpbXVtKTsKIAogICAg
IHVuc2lnbmVkIG1fb2Zmc2V0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3Ri
My5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJ
KHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDc0Miw3ICsxMDc0Miw3IEBACiAgICAgQ0NhbGxWYWx1ZSog
Y2FsbCA9IHJvb3QtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPigKICAgICAgICAgcHJvYywgSW50MzIs
IE9yaWdpbigpLAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywg
T3JpZ2luKCksIHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVu
dHMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3Io
YXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBl
bmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEw
NzY4LDcgKzEwNzY4LDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3
PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJbnQ2NCwgT3JpZ2luKCksCiAgICAgICAgIHJv
b3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9u
UHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50czIsIEIzQ0NhbGxQdHJUYWcpKSk7
Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBw
ZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJv
YywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEwNzkwLDcgKzEwNzkwLDcgQEAKICAg
ICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAg
ICBwcm9jLCBJbnQzMiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0
clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldp
dGhIZWxsYUFyZ3VtZW50czMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4o
KS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAK
ICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwg
Y2FsbCk7CiAKQEAgLTEwODkwLDcgKzEwODkwLDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0g
cm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBEb3VibGUsIE9yaWdp
bigpLAogICAgICAgICByb290LT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4ocHJvYywgT3JpZ2lu
KCksIHRhZ0NGdW5jdGlvblB0cjx2b2lkKj4oZnVuY3Rpb25XaXRoSGVsbGFEb3VibGVBcmd1bWVu
dHMsIEIzQ0NhbGxQdHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3Io
YXJncyk7CisgICAgY2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBl
bmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKQEAgLTEw
OTE0LDcgKzEwOTE0LDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3
PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBGbG9hdCwgT3JpZ2luKCksCiAgICAgICAgIHJv
b3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9u
UHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzLCBCM0NDYWxsUHRyVGFn
KSkpOwotICAgIGNhbGwtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIGNhbGwt
PmFwcGVuZEFyZ3MoYXJncyk7CiAgICAgCiAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVl
KHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTE91dHB1dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3V0cHV0LmgJKHJldmlzaW9uIDI0MzQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3V0cHV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4MCw3ICszODAsNyBAQAog
ICAgIExWYWx1ZSBjYWxsKExUeXBlIHR5cGUsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgVmVjdG9y
VHlwZSYgdmVjdG9yKQogICAgIHsKICAgICAgICAgQjM6OkNDYWxsVmFsdWUqIHJlc3VsdCA9IG1f
YmxvY2stPmFwcGVuZE5ldzxCMzo6Q0NhbGxWYWx1ZT4obV9wcm9jLCB0eXBlLCBvcmlnaW4oKSwg
ZnVuY3Rpb24pOwotICAgICAgICByZXN1bHQtPmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKHZlY3Rv
cik7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kQXJncyh2ZWN0b3IpOwogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KICAgICBMVmFsdWUgY2FsbChMVHlwZSB0eXBlLCBMVmFsdWUgZnVuY3Rp
b24pIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6Q0NhbGxWYWx1ZT4obV9wcm9jLCB0
eXBlLCBvcmlnaW4oKSwgZnVuY3Rpb24pOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366298</attachid>
            <date>2019-03-29 12:38:21 -0700</date>
            <delta_ts>2019-04-15 16:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch196091</filename>
            <type>text/plain</type>
            <size>85932</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzOSBA
QAorMjAxOS0wMy0yOSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIEIzOjpWYWx1ZSBzaG91bGQgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgYWRqYWNlbmN5
IGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTYwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUga2V5IGlkZWEgb2YgdGhpcyBvcHRpbWl6YXRpb24gaXMgdG8gcmVwbGFjZSB0aGUgVmVjdG9y
PFZhbHVlKiwgMz4gbV9jaGlsZHJlbiBpbiBCMzo6VmFsdWUgKDQwIGJ5dGVzIG9uIDY0LWJpdHMg
cGxhdGZvcm0pIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgorICAgICAgICAtIE5vdGhpbmcgKDAg
Ynl0ZXMpCisgICAgICAgIC0gMSBWYWx1ZSogKDggYnl0ZXMpCisgICAgICAgIC0gMiBWYWx1ZSog
KDE2IGJ5dGVzKQorICAgICAgICAtIDMgVmFsdWUqICgyNCBieXRlcykKKyAgICAgICAgLSBBIFZl
Y3RvcjxWYWx1ZSosIDM+CisgICAgICAgIGFmdGVyIHRoZSBlbmQgb2YgdGhlIFZhbHVlIG9iamVj
dCwgZGVwZW5kaW5nIG9uIHRoZSBraW5kIG9mIHRoZSBWYWx1ZS4KKyAgICAgICAgU28gZm9yIGV4
YW1wbGUsIHdoZW4gYWxsb2NhdGluZyBhbiBBZGQsIHdlIHdvdWxkIGFsbG9jYXRlIGFuIGV4dHJh
IDE2IGJ5dGVzIGludG8gd2hpY2ggdG8gc3RvcmUgMiBWYWx1ZXMuCisgICAgICAgIFRoaXMgd291
bGQgaGFsdmUgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiBDb25zdDY0L0NvbnN0MzIvTm9wL0lk
ZW50aXR5IGFuZCBhIGJ1bmNoIG1vcmUga2luZHMgb2YgdmFsdWVzLCBhbmQgcmVkdWNlIGJ5IGEg
bW9yZSBtb2RlcmF0ZSBhbW91bnQgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiB0aGUgcmVzdCBv
ZiBub24tdmFyYXJncyB2YWx1ZXMgKGUuZy4gQWRkIHdvdWxkIGdvIGZyb20gNzIgdG8gNDggYnl0
ZXMpLgorCisgICAgICAgIEEgZmV3IGltcGxlbWVudGF0aW9uIHBvaW50czoKKyAgICAgICAgLSBF
dmVuIGlmIHRoZXJlIGlzIG5vIGNoaWxkcmVuLCB3ZSBtdXN0IHJlbWVtYmVyIHRvIGFsbG9jYXRl
IGF0IGxlYXN0IGVub3VnaCBzcGFjZSBmb3IgcmVwbGFjZVdpdGhJZGVudGl0eSB0byB3b3JrIGxh
dGVyLiBJdCBuZWVkcyBzaXplb2YoVmFsdWUpIChmb3IgdGhlIG9iamVjdCBpdHNlbGYpICsgc2l6
ZW9mKFZhbHVlKikgKGZvciB0aGUgcG9pbnRlciB0byBpdHMgY2hpbGQpCisgICAgICAgIC0gV2Ug
bXVzdCBtYWtlIHN1cmUgdG8gZGVzdHJveSB0aGUgdmVjdG9yIHdoZW5ldmVyIHdlIGRlc3Ryb3kg
YSBWYWx1ZSB3aGljaCBpcyBWYXJBcmdzCisgICAgICAgIC0gV2UgbXVzdCByZW1lbWJlciBob3cg
bWFueSBlbGVtZW50cyB0aGVyZSBhcmUgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZGlkIG5vdCBhbGxv
Y2F0ZSBhIFZlY3Rvci4gV2UgY2Fubm90IGRvIGl0IHB1cmVseSBieSByZWx5aW5nIG9uIHRoZSBr
aW5kLCBib3RoIGZvciBzcGVlZCByZWFzb25zIGFuZCBiZWNhdXNlIFJldHVybiBjYW4gaGF2ZSBl
aXRoZXIgMCBvciAxIGFyZ3VtZW50IGluIEIzCisgICAgICAgICAgVGhhbmtmdWxseSwgd2UgaGF2
ZSBhbiBleHRyYSBieXRlIG9mIHBhZGRpbmcgdG8gdXNlIGluIHRoZSBtaWRkbGUgb2YgQjM6OlZh
bHVlCisgICAgICAgIC0gSW4gb3JkZXIgdG8gc3VwcG9ydCBjbG9uZSgpLCB3ZSBtdXN0IGhhdmUg
YSBzZXBhcmF0ZSB2ZXJzaW9uIG9mIGFsbG9jYXRlLCB3aGljaCBleHRyYWN0cyB0aGUgb3Bjb2Rl
IGZyb20gdGhlIHRvLWJlLWNsb25lZCBvYmplY3QgaW5zdGVhZCBvZiBmcm9tIHRoZSBjYWxsIHRv
IHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICAtIFNwZWFraW5nIG9mIHdoaWNoLCB3ZSBuZWVkIGEg
c3BlY2lhbCB0ZW1wbGF0ZWQgZnVuY3Rpb24gb3Bjb2RlRnJvbUNvbnN0cnVjdG9yLCBiZWNhdXNl
IHNvbWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBvZiBzdWJjbGFzc2VzIG9mIFZhbHVlIGRvbid0IHRh
a2UgYW4gZXhwbGljaXQgT3Bjb2RlIGFzIGFyZ3VtZW50LCB0eXBpY2FsbHkgYmVjYXVzZSB0aGV5
IG1hdGNoIGEgc2luZ2xlIG9uZS4KKyAgICAgICAgLSBUbyBtYXhpbWl6ZSBwZXJmb3JtYW5jZSwg
d2UgcHJvdmlkZSBzcGVjaWFsaXplZCB2ZXJzaW9ucyBvZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hp
bGRyZW4vY2hpbGRyZW4gaW4gdGhlIHN1YmNsYXNzZXMgb2YgVmFsdWUsIHNraXBwaW5nIGNoZWNr
cyB3aGVuIHRoZSBhY3R1YWwgdHlwZSBvZiB0aGUgVmFsdWUgaXMgYWxyZWFkeSBrbm93bi4KKyAg
ICAgICAgICBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
Li4uIGRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiBCM1ZhbHVlLmgKKyAgICAgICAgLSBJbiB0aGUg
Y29uc3RydWN0b3JzIG9mIFZhbHVlLCB3ZSBjb252ZXJ0IGFsbCBleHRyYSBjaGlsZHJlbiBhcmd1
bWVudHMgdG8gVmFsdWUqIGVhZ2VybHkuIEl0IGlzIG5vdCByZXF1aXJlZCBmb3IgY29ycmVjdG5l
c3MgKHRoZXkgd2lsbCBiZSBjb252ZXJ0ZWQgd2hlbiBwdXQgaW50byBhIFZlY3RvcjxWYWx1ZSo+
IG9yIGEgVmFsdWUqIGluIHRoZSBlbmQpLCBidXQgaXQgaGVscHMgbGltaXQgYW4gZXhwbG9zaW9u
IGluIHRoZSBudW1iZXIgb2YgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMuCisgICAgICAgIC0gSSBt
b3ZlZCBEZWVwVmFsdWVEdW1wOjpkdW1wIGZyb20gdGhlIC5oIHRvIHRoZSAuY3BwLCBhcyB0aGVy
ZSBpcyBubyBnb29kIHJlYXNvbiB0byBpbmxpbmUgaXQsIGFuZCByZWNvbXBpbGluZyBKU0MgaXMg
YWxyZWFkeSBzbG93IGVub3VnaAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6QXJndW1lbnRSZWdWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuaDoKKyAgICAgICAgKiBiMy9C
M0F0b21pY1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkF0b21pY1ZhbHVlOjpBdG9taWNW
YWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM0F0b21pY1ZhbHVlLmg6CisgICAgICAgICogYjMvQjNC
YXNpY0Jsb2NrLmg6CisgICAgICAgICogYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5oOgorICAgICAg
ICAoSlNDOjpCMzo6QmFzaWNCbG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwpOiBEZWxldGVkLgor
ICAgICAgICAqIGIzL0IzQ0NhbGxWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpDQ2FsbFZh
bHVlOjphcHBlbmRBcmdzKToKKyAgICAgICAgKEpTQzo6QjM6OkNDYWxsVmFsdWU6OmNsb25lSW1w
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDQ2FsbFZhbHVlLmg6CisgICAgICAg
ICogYjMvQjNDaGVja1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkNoZWNrVmFsdWU6OmNs
b25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDaGVja1ZhbHVlLmg6Cisg
ICAgICAgICogYjMvQjNDb25zdDMyVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3Qz
MlZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3Qz
MlZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdDY0VmFsdWUuY3BwOgorICAgICAgICAoSlND
OjpCMzo6Q29uc3Q2NFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGIzL0IzQ29uc3Q2NFZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OkNvbnN0RG91YmxlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmg6CisgICAgICAgICog
YjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3RGbG9hdFZh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3RGbG9h
dFZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdFB0clZhbHVlLmg6CisgICAgICAgIChKU0M6
OkIzOjpDb25zdFB0clZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIz
L0IzRmVuY2VWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpGZW5jZVZhbHVlOjpGZW5jZVZh
bHVlKToKKyAgICAgICAgKEpTQzo6QjM6OkZlbmNlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogYjMvQjNGZW5jZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNNZW1v
cnlWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUp
OgorICAgICAgICAoSlNDOjpCMzo6TWVtb3J5VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogYjMvQjNNZW1vcnlWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzTW92ZUNv
bnN0YW50cy5jcHA6CisgICAgICAgICogYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwOgorICAgICAg
ICAoSlNDOjpCMzo6UGF0Y2hwb2ludFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGIzL0IzUGF0Y2hwb2ludFZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpQYXRj
aHBvaW50VmFsdWU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYjMvQjNQcm9j
ZWR1cmUuY3BwOgorICAgICAgICAqIGIzL0IzUHJvY2VkdXJlLmg6CisgICAgICAgICogYjMvQjNQ
cm9jZWR1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpQcm9jZWR1cmU6OmFkZCk6Cisg
ICAgICAgICogYjMvQjNTbG90QmFzZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlNsb3RC
YXNlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNTbG90
QmFzZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwOgorICAgICAg
ICAoSlNDOjpCMzo6U3RhY2ttYXBTcGVjaWFsOjpmb3JFYWNoQXJnSW1wbCk6CisgICAgICAgIChK
U0M6OkIzOjpTdGFja21hcFNwZWNpYWw6OmlzVmFsaWRJbXBsKToKKyAgICAgICAgKiBiMy9CM1N0
YWNrbWFwVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6U3RhY2ttYXBWYWx1ZTo6YXBwZW5k
KToKKyAgICAgICAgKEpTQzo6QjM6OlN0YWNrbWFwVmFsdWU6OlN0YWNrbWFwVmFsdWUpOgorICAg
ICAgICAqIGIzL0IzU3RhY2ttYXBWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzU3dpdGNoVmFsdWUu
Y3BwOgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKToKKyAgICAg
ICAgKEpTQzo6QjM6OlN3aXRjaFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIGIzL0IzU3dpdGNoVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6QjM6OlN3aXRjaFZhbHVl
OjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIzL0IzVXBzaWxvblZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OlVwc2lsb25WYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9CM1Vwc2lsb25WYWx1ZS5oOgorICAgICAgICAqIGIzL0IzVmFs
dWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6RGVlcFZhbHVlRHVtcDo6ZHVtcCBjb25zdCk6Cisg
ICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6flZhbHVlKToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVl
OjpyZXBsYWNlV2l0aElkZW50aXR5KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXBsYWNl
V2l0aE5vcElnbm9yaW5nVHlwZSk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdp
dGhQaGkpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoSnVtcCk6CisgICAg
ICAgIChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKToKKyAgICAgICAgKEpTQzo6QjM6
OlZhbHVlOjpyZXBsYWNlV2l0aCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6aW52ZXJ0ZWRD
b21wYXJlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXR1cm5zQm9vbCBjb25z
dCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBiMy9CM1ZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpEZWVwVmFsdWVEdW1w
OjpkdW1wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhbHVlSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OmFkamFjZW5jeUxpc3RPZmZzZXQgY29uc3QpOgorICAg
ICAgICAoSlNDOjpCMzo6VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6CisgICAgICAgICogYjMvQjNW
YXJpYWJsZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlZhcmlhYmxlVmFsdWU6OlZhcmlh
YmxlVmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6VmFyaWFibGVWYWx1ZTo6Y2xvbmVJbXBsIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAg
KiBiMy9CM1dhc21BZGRyZXNzVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUFkZHJl
c3NWYWx1ZTo6V2FzbUFkZHJlc3NWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpXYXNtQWRkcmVz
c1ZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUFk
ZHJlc3NWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwOgor
ICAgICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNrVmFsdWU6Oldhc21Cb3VuZHNDaGVja1Zh
bHVlKToKKyAgICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaDoK
KyAgICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjphY2NlcHRzKToKKyAgICAg
ICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3Ip
OgorICAgICAgICAqIGIzL3Rlc3RiMy5jcHA6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbEZ1
bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFBcmd1bWVudHMyKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFBcmd1bWVudHMzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVu
Y3Rpb25XaXRoSGVsbGFEb3VibGVBcmd1bWVudHMpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdENh
bGxGdW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzKToKKyAgICAgICAgKiBmdGwvRlRMT3V0
cHV0Lmg6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpjYWxsKToKKwogMjAxOS0wMy0yNyAg
U2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICB2YWxpZGF0ZU9TUkVu
dHJ5VmFsdWUgd2l0aCBJbnQ1MiBzaG91bGQgYm94IHRoZSB2YWx1ZSBiZWluZyBjaGVja2VkIGlu
dG8gZG91YmxlIGZvcm1hdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02NjksNyArNjY5LDYgQEAK
IAkJMEZFQzg1NDAxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVXNlQ291bnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGNjFCREFDREFDMDA4MEZG
NzQgLyogQjNVc2VDb3VudHMuaCAqLzsgfTsKIAkJMEZFQzg1NDIxQkRBQ0RBQzAwODBGRjc0IC8q
IEIzVmFsaWRhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUM4NEY4MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggKi87IH07CiAJCTBG
RUM4NTQ0MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGQTFCREFDREFDMDA4MEZGNzQgLyogQjNW
YWx1ZS5oICovOyB9OwotCQkwRkVDODU0NTFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGlu
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUM4
NEZCMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlSW5saW5lcy5oICovOyB9OwogCQkwRkVDODU0
NzFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzg0RkQxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFs
dWVSZXAuaCAqLzsgfTsKIAkJMEZFQzg1NkUxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFsbG9jYXRl
U3RhY2tCeUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRUM4NTQ5MUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBbGxvY2F0ZVN0YWNr
QnlHcmFwaENvbG9yaW5nLmggKi87IH07CiAJCTBGRUM4NTcwMUJEQUNEQzcwMDgwRkY3NCAvKiBB
aXJBcmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RUM4NTRCMUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJBcmcuaCAqLzsgfTsKQEAgLTg1MSw2ICs4NTAs
OCBAQAogCQkyQUQ4OTMyQjE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUQ4OTMyOTE3
RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi87IH07CiAJCTJBRjczODJE
MThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUY3MzgyQjE4QkJCRjkyMDA4QTVBMzcgLyog
U3RydWN0dXJlSURUYWJsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTJEMzQyRjM2RjcyNDQwOTY4MDRBREIyNCAvKiBTb3VyY2VPcmlnaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQyNUJBMTMzN0U0
MzQ0RTFCMjY5QTY3MSAvKiBTb3VyY2VPcmlnaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzM0U3OERGMTIyNDU2NTUxMDA0QUVFOUYgLyogQjNW
YWx1ZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUM4NEZCMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlSW5saW5lcy5oICovOyB9Owor
CQkzM0U3OERGMjIyNDU2NjA4MDA0QUVFOUYgLyogRlRMTG93ZXJERkdUb0IzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEwQTA0MTcwNTEzREIw
MEJCNzIyQyAvKiBGVExMb3dlckRGR1RvQjMuY3BwICovOyB9OwogCQkzNzFEODQyRDE3Qzk4QjZF
MDBFQ0Y5OTQgLyogbGliei5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDM3MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICov
OyB9OwogCQkzN0M3MzhEMjFFREI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIwMDNG
MkIwQiAvKiBQYXJzZUludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0
ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNf
Z2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05MDksNyArOTEwLDYgQEAKIAkJNTMzM0JC
REIyMTEwRjdEMjAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY4ODBGMUIxNDMyOEJCOTAw
QjA4RDQyIC8qIERGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwICovOyB9OwogCQk1MzMzQkJEQzIx
MTBGN0Q5MDA3NjE4RUMgLyogREZHU3BlY3VsYXRpdmVKSVQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZFQzlEQzIxMzI4REY4MjAwMkIyQUQ3IC8q
IERGR1NwZWN1bGF0aXZlSklULmNwcCAqLzsgfTsKIAkJNTMzM0JCREQyMTEwRjdFMTAwNzYxOEVD
IC8qIERGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODY4ODBGNEMxNDM1M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0
aXZlSklUNjQuY3BwICovOyB9OwotCQk1MzMzQkJERTIxMTBGQTNFMDA3NjE4RUMgLyogRlRMTG93
ZXJERkdUb0IzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRUEwQTA0MTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvQjMuY3BwICovOyB9
OwogCQk1MzQxRkM3MjFEQUMzNDNDMDBFN0U0RDcgLyogQjNXYXNtQm91bmRzQ2hlY2tWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0MUZDNzEx
REFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaCAqLzsgfTsKIAkJNTM0
NjM4NzExRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzQ2Mzg3MDFFNzBDRjNEMDBGMTJBQzEg
LyogSlNSdW5Mb29wVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MzQ2Mzg3NTFFNzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVk
VGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUz
NDYzODc0MUU3MERERUMwMEYxMkFDMSAvKiBQcm9taXNlRGVmZXJyZWRUaW1lci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NjM0LDcgKzg2MzQs
NiBAQAogCQkJCTBGRUM4NTQwMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1VzZUNvdW50cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZFQzg1NDIxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsaWRhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRUM4NTQ0MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlLmgg
aW4gSGVhZGVycyAqLywKLQkJCQkwRkVDODU0NTFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzM4RTE1MUJGMDI3NkMwMDEzQzg4RiAvKiBC
M1ZhbHVlS2V5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjMzOEUxNjFCRjAyNzZDMDAxM0M4OEYg
LyogQjNWYWx1ZUtleUlubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTQ3MUJEQUNE
QUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmggaW4gSGVhZGVycyAqLywKQEAgLTkxODksNiArOTE4
OCw3IEBACiAJCQkJQTU5M0NGN0QxODQwMzYwMzAwQkZDRTI3IC8qIEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMyNDM4ODE4NTY4MzM1MDAyRUQ2OTIg
LyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUZE
MDA4MjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzM0U3OERGMTIyNDU2NTUxMDA0QUVFOUYgLyogQjNWYWx1ZUlubGluZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1N0QyM0U2MTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUQwQTFCQjE4NjIzMDFCMDBDN0I0
OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1OTQ1NTk1
MTgyNDc5RUIwMENDMzg0MyAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLApAQCAtMTA2MjksNyArMTA2MjksNiBAQAogCQkJCTUzMzNCQkRDMjExMEY3RDkwMDc2MThF
QyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzMzQkJEQjIx
MTBGN0QyMDA3NjE4RUMgLyogREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzMzQkJERDIxMTBGN0UxMDA3NjE4RUMgLyogREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQk1MzMzQkJERTIxMTBGQTNFMDA3NjE4RUMgLyogRlRMTG93
ZXJERkdUb0IzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTlFMUY3MzVGMTYwMDM3RkMz
MyAvKiBMb3dMZXZlbEludGVycHJldGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzRB
MTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODYuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzQw
MTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2RlLmMgaW4gU291cmNlcyAqLywKQEAgLTEw
NzYzLDYgKzEwNzYyLDcgQEAKIAkJCQk1MzZCMzEwQzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmll
ZFNvdXJjZTExOS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEyNjFGNzFDNTk5MDAzN0ZD
MzMgLyogVW5pZmllZFNvdXJjZTEyMC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEyRDFG
NzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEyMS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkzM0U3OERGMjIyNDU2NjA4MDA0QUVFOUYgLyogRlRMTG93ZXJERkdUb0IzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUzNkIzMTI1MUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTIy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTFFMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlm
aWVkU291cmNlMTIzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTE0MUY3MUM1OTkwMDM3
RkMzMyAvKiBVbmlmaWVkU291cmNlMTI0LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAJKHJldmlzaW9u
IDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVnVmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMSArMzksNiBAQAogICAgIG91dC5wcmludChjb21t
YSwgbV9yZWcpOwogfQogCi1WYWx1ZSogQXJndW1lbnRSZWdWYWx1ZTo6Y2xvbmVJbXBsKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbmV3IEFyZ3VtZW50UmVnVmFsdWUoKnRoaXMpOwotfQotCiB9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXJndW1lbnRSZWdWYWx1ZS5oCShyZXZpc2lv
biAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE2ICs0MCwxOSBAQAogCiAgICAgUmVnIGFyZ3VtZW50
UmVnKCkgY29uc3QgeyByZXR1cm4gbV9yZWc7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVf
Rk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJp
bnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJ
bXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2Nl
ZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisgICAgCisgICAgc3RhdGljIE9wY29kZSBv
cGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBSZWcpIHsgcmV0dXJuIEFyZ3VtZW50UmVnOyB9
CiAKICAgICBBcmd1bWVudFJlZ1ZhbHVlKE9yaWdpbiBvcmlnaW4sIFJlZyByZWcpCi0gICAgICAg
IDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5pc0dQUigpID8gcG9pbnRl
clR5cGUoKSA6IERvdWJsZSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IEFyZ3VtZW50UmVnLCByZWcuaXNHUFIoKSA/IHBvaW50ZXJUeXBlKCkgOiBEb3VibGUsIFplcm8s
IG9yaWdpbikKICAgICAgICAgLCBtX3JlZyhyZWcpCiAgICAgewogICAgICAgICBBU1NFUlQocmVn
LmlzU2V0KCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVl
LmNwcAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRv
bWljVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMyArNDEsOCBAQAogICAgIE1lbW9y
eVZhbHVlOjpkdW1wTWV0YShjb21tYSwgb3V0KTsKIH0KIAotVmFsdWUqIEF0b21pY1ZhbHVlOjpj
bG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgQXRvbWljVmFsdWUoKnRoaXMpOwot
fQotCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFsdWU6OkF0b21pY1ZhbHVlUk1X
LCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRoLCBWYWx1ZSogb3BlcmFuZCwg
VmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNldCwgSGVhcFJhbmdl
IHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IE1lbW9yeVZhbHVlKENoZWNrZWRP
cGNvZGUsIGtpbmQsIG9wZXJhbmQtPnR5cGUoKSwgb3JpZ2luLCBvZmZzZXQsIHJhbmdlLCBmZW5j
ZVJhbmdlLCBvcGVyYW5kLCBwb2ludGVyKQorICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29k
ZSwga2luZCwgb3BlcmFuZC0+dHlwZSgpLCBUd28sIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVu
Y2VSYW5nZSwgb3BlcmFuZCwgcG9pbnRlcikKICAgICAsIG1fd2lkdGgod2lkdGgpCiB7CiAgICAg
QVNTRVJUKGJlc3RUeXBlKEdQLCBhY2Nlc3NXaWR0aCgpKSA9PSBhY2Nlc3NUeXBlKCkpOwpAQCAt
NjYsNyArNjEsNyBAQAogfQogCiBBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWUoQXRvbWljVmFsdWU6
OkF0b21pY1ZhbHVlQ0FTLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFdpZHRoIHdpZHRoLCBW
YWx1ZSogZXhwZWN0ZWRWYWx1ZSwgVmFsdWUqIG5ld1ZhbHVlLCBWYWx1ZSogcG9pbnRlciwgTWVt
b3J5VmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBm
ZW5jZVJhbmdlKQotICAgIDogTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwga2luZC5v
cGNvZGUoKSA9PSBBdG9taWNXZWFrQ0FTID8gSW50MzIgOiBleHBlY3RlZFZhbHVlLT50eXBlKCks
IG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1ZSwgbmV3VmFs
dWUsIHBvaW50ZXIpCisgICAgOiBNZW1vcnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBraW5k
Lm9wY29kZSgpID09IEF0b21pY1dlYWtDQVMgPyBJbnQzMiA6IGV4cGVjdGVkVmFsdWUtPnR5cGUo
KSwgVGhyZWUsIG9yaWdpbiwgb2Zmc2V0LCByYW5nZSwgZmVuY2VSYW5nZSwgZXhwZWN0ZWRWYWx1
ZSwgbmV3VmFsdWUsIHBvaW50ZXIpCiAgICAgLCBtX3dpZHRoKHdpZHRoKQogewogICAgIEFTU0VS
VChiZXN0VHlwZShHUCwgYWNjZXNzV2lkdGgoKSkgPT0gYWNjZXNzVHlwZSgpKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0F0b21pY1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAkocmV2aXNpb24gMjQzNTk3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUuaAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMTQgKzQ0LDE1IEBACiAgICAgVHlwZSBhY2Nlc3NUeXBlKCkgY29uc3QgeyByZXR1
cm4gY2hpbGQoMCktPnR5cGUoKTsgfQogICAgIAogICAgIFdpZHRoIGFjY2Vzc1dpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV93aWR0aDsgfQorCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklO
QUxfU0laRV9GSVhFRF9DSElMRFJFTgogICAgIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1l
dGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKLSAgICAKLSAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisKIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAg
ICBlbnVtIEF0b21pY1ZhbHVlUk1XIHsgQXRvbWljVmFsdWVSTVdUYWcgfTsKICAgICBlbnVtIEF0
b21pY1ZhbHVlQ0FTIHsgQXRvbWljVmFsdWVDQVNUYWcgfTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNCYXNpY0Jsb2NrLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtODQsOCArODQs
NiBAQAogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1
bWVudHM+CiAgICAgVmFsdWVUeXBlKiBhcHBlbmROZXcoUHJvY2VkdXJlJiwgQXJndW1lbnRzLi4u
KTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KLSAgICBWYWx1ZVR5cGUqIGFwcGVuZE5ld05vblRlcm1pbmFsKFByb2NlZHVyZSYsIEFyZ3Vt
ZW50cy4uLik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBWYWx1ZSogYXBwZW5kSW50Q29uc3Rh
bnQoUHJvY2VkdXJlJiwgT3JpZ2luLCBUeXBlLCBpbnQ2NF90IHZhbHVlKTsKICAgICBWYWx1ZSog
YXBwZW5kSW50Q29uc3RhbnQoUHJvY2VkdXJlJiwgVmFsdWUqIGxpa2VWYWx1ZSwgaW50NjRfdCB2
YWx1ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrSW5saW5l
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2tJ
bmxpbmVzLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0Jhc2ljQmxvY2tJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE0ICs0Miw2IEBACiB9
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgot
VmFsdWVUeXBlKiBCYXNpY0Jsb2NrOjphcHBlbmROZXdOb25UZXJtaW5hbChQcm9jZWR1cmUmIHBy
b2NlZHVyZSwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLXsKLSAgICBWYWx1ZVR5cGUqIHJlc3Vs
dCA9IHByb2NlZHVyZS5hZGQ8VmFsdWVUeXBlPihhcmd1bWVudHMuLi4pOwotICAgIGFwcGVuZE5v
blRlcm1pbmFsKHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiBWYWx1ZVR5cGUqIEJhc2lj
QmxvY2s6OnJlcGxhY2VMYXN0V2l0aE5ldyhQcm9jZWR1cmUmIHByb2NlZHVyZSwgQXJndW1lbnRz
Li4uIGFyZ3VtZW50cykKIHsKICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IHByb2NlZHVyZS5hZGQ8
VmFsdWVUeXBlPihhcmd1bWVudHMuLi4pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ0NhbGxWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ0NhbGxWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NDYWxsVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw5ICszNCw5IEBA
CiB7CiB9CiAKLVZhbHVlKiBDQ2FsbFZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAordm9pZCBDQ2Fs
bFZhbHVlOjphcHBlbmRBcmdzKGNvbnN0IFZlY3RvcjxWYWx1ZSo+JiBhcmdzKQogewotICAgIHJl
dHVybiBuZXcgQ0NhbGxWYWx1ZSgqdGhpcyk7CisgICAgY2hpbGRyZW5WZWN0b3IoKS5hcHBlbmRW
ZWN0b3IoYXJncyk7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0NDYWxsVmFsdWUuaAkocmV2aXNpb24gMjQzNTk3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCwxNyArMzgsMjMgQEAKIAogICAgIH5DQ2FsbFZhbHVlKCk7CiAKKyAgICB2b2lkIGFwcGVuZEFy
Z3MoY29uc3QgVmVjdG9yPFZhbHVlKj4mKTsKKyAgICAKICAgICBFZmZlY3RzIGVmZmVjdHM7CiAK
LXByb3RlY3RlZDoKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAg
CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfVkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgorCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHN0YXRpYyBPcGNvZGUg
b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEFyZ3VtZW50cy4uLikgeyByZXR1cm4gQ0NhbGw7IH0KKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBDQ2FsbFZhbHVlKFR5cGUg
dHlwZSwgT3JpZ2luIG9yaWdpbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBW
YWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisg
ICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIFZhckFyZ3MsIG9yaWdp
biwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgICAgICAsIGVmZmVjdHMo
RWZmZWN0czo6Zm9yQ2FsbCgpKQogICAgIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hp
bGRyZW4oKSA+PSAxKTsKQEAgLTU2LDcgKzYyLDcgQEAKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
Li4uIEFyZ3VtZW50cz4KICAgICBDQ2FsbFZhbHVlKFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwg
Y29uc3QgRWZmZWN0cyYgZWZmZWN0cywgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAgICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4p
CisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgQ0NhbGwsIHR5cGUsIFZhckFyZ3MsIG9y
aWdpbiwgc3RhdGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgICAgICAsIGVmZmVj
dHMoZWZmZWN0cykKICAgICB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bUNoaWxkcmVuKCkg
Pj0gMSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDExICs0MCw2IEBACiAgICAgbV9raW5kID0gQ2hl
Y2tBZGQ7CiB9CiAKLVZhbHVlKiBDaGVja1ZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAg
IHJldHVybiBuZXcgQ2hlY2tWYWx1ZSgqdGhpcyk7Ci19Ci0KIC8vIFVzZSB0aGlzIGZvcm0gZm9y
IENoZWNrQWRkLCBDaGVja1N1YiwgYW5kIENoZWNrTXVsLgogQ2hlY2tWYWx1ZTo6Q2hlY2tWYWx1
ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBsZWZ0LCBWYWx1ZSogcmlnaHQpCiAg
ICAgOiBTdGFja21hcFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIGxlZnQtPnR5cGUoKSwgb3Jp
Z2luKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrVmFsdWUuaAkocmV2aXNp
b24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tWYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC01MCwxMSArNTAsMTEgQEAKIAogICAgIHZvaWQgY29udmVydFRvQWRk
KCk7CiAKLXByb3RlY3RlZDoKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9WQVJBUkdTX0NISUxEUkVO
CiAgICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5k
IGNsYXNzIFZhbHVlOwogCiAgICAgLy8gVXNlIHRoaXMgZm9ybSBmb3IgQ2hlY2tBZGQsIENoZWNr
U3ViLCBhbmQgQ2hlY2tNdWwuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgQ2hlY2tWYWx1ZShLaW5k
LCBPcmlnaW4sIFZhbHVlKiBsZWZ0LCBWYWx1ZSogcmlnaHQpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMDMsMTEgKzMwMyw2IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3ZhbHVlKTsKIH0K
IAotVmFsdWUqIENvbnN0MzJWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bmV3IENvbnN0MzJWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwog
CiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0MzJWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NvbnN0MzJWYWx1ZS5oCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDb25zdDMyVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNzUsMjAgKzc1LDI0
IEBACiAgICAgVHJpU3RhdGUgYWJvdmVFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgYmVsb3dFcXVhbENvbnN0YW50KGNvbnN0IFZh
bHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9OT19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50
ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1w
bCgpIGNvbnN0IG92ZXJyaWRlOworICAgIC8vIFByb3RlY3RlZCBiZWNhdXNlIG9mIENvbnN0UHRy
VmFsdWUKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4gPSBP
cmlnaW4oKSwgaW50MzJfdCA9IDApIHsgcmV0dXJuIENvbnN0MzI7IH0KIAotICAgIGZyaWVuZCBj
bGFzcyBQcm9jZWR1cmU7Ci0KICAgICBDb25zdDMyVmFsdWUoT3JpZ2luIG9yaWdpbiwgaW50MzJf
dCB2YWx1ZSkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDMyLCBJbnQzMiwg
b3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0MzIsIEludDMyLCBa
ZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAgICAgfQogCiBw
cml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZh
bHVlOworCiAgICAgaW50MzJfdCBtX3ZhbHVlOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMDMsMTEgKzMwMyw2IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3ZhbHVlKTsKIH0KIAot
VmFsdWUqIENvbnN0NjRWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3
IENvbnN0NjRWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAj
ZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NvbnN0NjRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NvbnN0NjRWYWx1ZS5oCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdDY0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNzUsMjAgKzc1LDI0IEBA
CiAgICAgVHJpU3RhdGUgYWJvdmVFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgVHJpU3RhdGUgYmVsb3dFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9O
T19DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXIm
LCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIC8vIFByb3RlY3RlZCBiZWNhdXNlIG9mIENvbnN0UHRyVmFs
dWUKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4gPSBPcmln
aW4oKSwgaW50NjRfdCA9IDApIHsgcmV0dXJuIENvbnN0NjQ7IH0KIAotICAgIGZyaWVuZCBjbGFz
cyBQcm9jZWR1cmU7Ci0KICAgICBDb25zdDY0VmFsdWUoT3JpZ2luIG9yaWdpbiwgaW50NjRfdCB2
YWx1ZSkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdDY0LCBJbnQ2NCwgb3Jp
Z2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0NjQsIEludDY0LCBaZXJv
LCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAgICAgfQotICAgIAor
CiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNz
IFZhbHVlOworCiAgICAgaW50NjRfdCBtX3ZhbHVlOwogfTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVWYWx1ZS5jcHAJKHJldmlzaW9uIDI0MzU5
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTcsMTEgKzE5Nyw2IEBACiAgICAgb3V0LnByaW50ZigiJWxlIiwg
bV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBDb25zdERvdWJsZVZhbHVlOjpjbG9uZUltcGwoKSBjb25z
dAotewotICAgIHJldHVybiBuZXcgQ29uc3REb3VibGVWYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAv
LyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmgJKHJldmlzaW9u
IDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91YmxlVmFsdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTYgKzY0LDE4IEBACiAgICAgVHJpU3RhdGUgZ3JlYXRl
ckVxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBU
cmlTdGF0ZSBlcXVhbE9yVW5vcmRlcmVkQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25z
dCBvdmVycmlkZTsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVy
JiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVF
X0ZPUl9OT19DSElMRFJFTgogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRl
OwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCisgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVh
bSYpIGNvbnN0IG92ZXJyaWRlOworCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3Ry
dWN0b3IoT3JpZ2luLCBkb3VibGUpIHsgcmV0dXJuIENvbnN0RG91YmxlOyB9CisKICAgICBDb25z
dERvdWJsZVZhbHVlKE9yaWdpbiBvcmlnaW4sIGRvdWJsZSB2YWx1ZSkKLSAgICAgICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBDb25zdERvdWJsZSwgRG91YmxlLCBvcmlnaW4pCisgICAgICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgQ29uc3REb3VibGUsIERvdWJsZSwgWmVybywgb3JpZ2luKQog
ICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNTk3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTg5LDExICsxODksNiBAQAogICAgIG91dC5wcmludGYoIiVsZSIsIG1f
dmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3RGbG9hdFZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAot
ewotICAgIHJldHVybiBuZXcgQ29uc3RGbG9hdFZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDI0MzU5
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MywxNiArNjMsMTggQEAKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxD
b25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRl
IGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJy
aWRlOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmlu
dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05P
X0NISUxEUkVOCiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFs
dWU7CiAKKyAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29u
c3Qgb3ZlcnJpZGU7CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihP
cmlnaW4sIGZsb2F0KSB7IHJldHVybiBDb25zdEZsb2F0OyB9CisKICAgICBDb25zdEZsb2F0VmFs
dWUoT3JpZ2luIG9yaWdpbiwgZmxvYXQgdmFsdWUpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9w
Y29kZSwgQ29uc3RGbG9hdCwgRmxvYXQsIG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2Vk
T3Bjb2RlLCBDb25zdEZsb2F0LCBGbG9hdCwgWmVybywgb3JpZ2luKQogICAgICAgICAsIG1fdmFs
dWUodmFsdWUpCiAgICAgewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0NvbnN0UHRyVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDb25zdFB0clZhbHVlLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0UHRyVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTMgKzUxLDE4
IEBACiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQg
Y2xhc3MgVmFsdWU7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVCopIHsgcmV0dXJuIENvbnN0UHRyVmFs
dWVCYXNlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IoKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CiAgICAgQ29uc3RQdHJWYWx1ZShPcmlnaW4gb3JpZ2luLCBUKiBwb2ludGVyKQogICAgICAg
ICA6IENvbnN0UHRyVmFsdWVCYXNlKG9yaWdpbiwgYml0d2lzZV9jYXN0PGludHB0cl90Pihwb2lu
dGVyKSkKICAgICB7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgc3RhdGlj
IE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBUKSB7IHJldHVybiBDb25zdFB0
clZhbHVlQmFzZTo6b3Bjb2RlRnJvbUNvbnN0cnVjdG9yKCk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgogICAgIENvbnN0UHRyVmFsdWUoT3JpZ2luIG9yaWdpbiwgVCBwb2ludGVyKQogICAg
ICAgICA6IENvbnN0UHRyVmFsdWVCYXNlKG9yaWdpbiwgc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KHBv
aW50ZXIpKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFs
dWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNG
ZW5jZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMTMgKzM0LDggQEAKIHsKIH0KIAot
VmFsdWUqIEZlbmNlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBG
ZW5jZVZhbHVlKCp0aGlzKTsKLX0KLQogRmVuY2VWYWx1ZTo6RmVuY2VWYWx1ZShPcmlnaW4gb3Jp
Z2luLCBIZWFwUmFuZ2UgcmVhZCwgSGVhcFJhbmdlIHdyaXRlKQotICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgRmVuY2UsIFZvaWQsIG9yaWdpbikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IEZlbmNlLCBWb2lkLCBaZXJvLCBvcmlnaW4pCiAgICAgLCByZWFkKHJlYWQpCiAgICAgLCB3cml0
ZSh3cml0ZSkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNGZW5jZVZhbHVlLmgJ
KHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFs
dWUuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsMTQgKzcyLDE0IEBACiAgICAgSGVhcFJhbmdlIHJl
YWQgeyBIZWFwUmFuZ2U6OnRvcCgpIH07CiAgICAgSGVhcFJhbmdlIHdyaXRlIHsgSGVhcFJhbmdl
Ojp0b3AoKSB9OwogCi1wcm90ZWN0ZWQ6Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92
ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCiAKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7
CiAgICAgCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBI
ZWFwUmFuZ2UgPSBIZWFwUmFuZ2UoKSwgSGVhcFJhbmdlID0gSGVhcFJhbmdlKCkpIHsgcmV0dXJu
IEZlbmNlOyB9CiAgICAgRmVuY2VWYWx1ZShPcmlnaW4gb3JpZ2luLCBIZWFwUmFuZ2UgcmVhZCwg
SGVhcFJhbmdlIHdyaXRlKTsKLSAgICAKICAgICBGZW5jZVZhbHVlKE9yaWdpbiBvcmlnaW4pOwog
fTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01lbW9yeVZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFs
dWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MywxNSArNzMsMTAgQEAKICAgICAgICAgb3V0LnBy
aW50KGNvbW1hLCAiZmVuY2VSYW5nZSA9ICIsIGZlbmNlUmFuZ2UoKSk7CiB9CiAKLVZhbHVlKiBN
ZW1vcnlWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IE1lbW9yeVZh
bHVlKCp0aGlzKTsKLX0KLQogLy8gVXNlIHRoaXMgZm9ybSBmb3IgTG9hZCAoYnV0IG5vdCBMb2Fk
OFosIExvYWQ4Uywgb3IgYW55IG9mIHRoZSBMb2FkcyB0aGF0IGhhdmUgYSBzdWZmaXggdGhhdAog
Ly8gZGVzY3JpYmVzIHRoZSByZXR1cm5lZCB0eXBlKS4KIE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1
ZShNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWVMb2FkLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3Jp
Z2luIG9yaWdpbiwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNl
dCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgcG9pbnRlcikKKyAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIE9uZSwgb3JpZ2luLCBwb2ludGVyKQogICAgICwgbV9v
ZmZzZXQob2Zmc2V0KQogICAgICwgbV9yYW5nZShyYW5nZSkKICAgICAsIG1fZmVuY2VSYW5nZShm
ZW5jZVJhbmdlKQpAQCAtMTI2LDcgKzEyMSw3IEBACiAKIC8vIFVzZSB0aGlzIGZvcm0gZm9yIHN0
b3Jlcy4KIE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZShNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWVT
dG9yZSwgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIFZhbHVlKiBwb2lu
dGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVh
cFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lk
LCBvcmlnaW4sIHZhbHVlLCBwb2ludGVyKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgVm9pZCwgVHdvLCBvcmlnaW4sIHZhbHVlLCBwb2ludGVyKQogICAgICwgbV9vZmZzZXQob2Zm
c2V0KQogICAgICwgbV9yYW5nZShyYW5nZSkKICAgICAsIG1fZmVuY2VSYW5nZShmZW5jZVJhbmdl
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTWVtb3J5VmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCShyZXZpc2lv
biAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC04NCwxNCArODQsMTQgQEAKIAogICAgIGJvb2wgaXNDYW5vbmljYWxX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIEIzOjppc0Nhbm9uaWNhbFdpZHRoKGFjY2Vzc1dpZHRoKCkp
OyB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgor
CiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVh
bSYpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJy
aWRlOwotCisgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSW50LCB0eXBlbmFtZSA9IElzTGVn
YWxPZmZzZXQ8SW50PiwgdHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIE1lbW9yeVZhbHVlKENo
ZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBJbnQg
b2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlLCBBcmd1bWVudHMu
Li4gYXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUs
IG9yaWdpbiwgYXJndW1lbnRzLi4uKQorICAgIE1lbW9yeVZhbHVlKENoZWNrZWRPcGNvZGVUYWcs
IEtpbmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9y
aWdpbiwgSW50IG9mZnNldCwgSGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSwg
QXJndW1lbnRzLi4uIGFyZ3VtZW50cykKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBr
aW5kLCB0eXBlLCBudW1DaGlsZHJlbiwgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3Vt
ZW50cykuLi4pCiAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICAgICAsIG1fcmFuZ2Uo
cmFuZ2UpCiAgICAgICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMDAsNiArMTAw
LDcgQEAKICAgICAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBm
cmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICBib29sIGlzTGVnYWxPZmZzZXRJbXBsKGludDMyX3Qg
b2Zmc2V0KSBjb25zdDsKICAgICBib29sIGlzTGVnYWxPZmZzZXRJbXBsKGludDY0X3Qgb2Zmc2V0
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFu
dHMuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNN
b3ZlQ29uc3RhbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQAogICAgICAg
ICAgICAgWyZdIChjb25zdCBWYWx1ZUtleSYga2V5KSAtPiBib29sIHsKICAgICAgICAgICAgICAg
ICByZXR1cm4ga2V5Lm9wY29kZSgpID09IENvbnN0RmxvYXQgfHwga2V5Lm9wY29kZSgpID09IENv
bnN0RG91YmxlOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIGxvd2VyRlBD
b25zdGFudHMoKTsKICAgICAgICAgCiAgICAgICAgIGhvaXN0Q29uc3RhbnRzKApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwCShyZXZpc2lv
biAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMSArNDQsNiBAQAogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJudW1GUFNjcmF0Y2hSZWdpc3RlcnMgPSAiLCBudW1GUFNjcmF0Y2hSZWdpc3RlcnMp
OwogfQogCi1WYWx1ZSogUGF0Y2hwb2ludFZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAg
IHJldHVybiBuZXcgUGF0Y2hwb2ludFZhbHVlKCp0aGlzKTsKLX0KLQogUGF0Y2hwb2ludFZhbHVl
OjpQYXRjaHBvaW50VmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQogICAgIDogQmFzZShD
aGVja2VkT3Bjb2RlLCBQYXRjaHBvaW50LCB0eXBlLCBvcmlnaW4pCiAgICAgLCBlZmZlY3RzKEVm
ZmVjdHM6OmZvckNhbGwoKSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNo
cG9pbnRWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Bh
dGNocG9pbnRWYWx1ZS5oCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNQYXRjaHBvaW50VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTQgKzYxLDE2
IEBACiAgICAgdWludDhfdCBudW1HUFNjcmF0Y2hSZWdpc3RlcnMgeyAwIH07CiAgICAgdWludDhf
dCBudW1GUFNjcmF0Y2hSZWdpc3RlcnMgeyAwIH07CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVF
X0ZPUl9GSU5BTF9TSVpFX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQg
ZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0
YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKFR5cGUsIE9yaWdpbikgeyByZXR1cm4g
UGF0Y2hwb2ludDsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFBhdGNocG9pbnRWYWx1ZShUeXBl
LCBPcmlnaW4pOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2Vk
dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1
cmUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQ
cm9jZWR1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw2IEBACiAgICAgcmV0dXJu
IG1fdmFsdWVzLmFkZChXVEZNb3ZlKGNsb25lKSk7CiB9CiAKLQogVmFsdWUqIFByb2NlZHVyZTo6
YWRkSW50Q29uc3RhbnQoT3JpZ2luIG9yaWdpbiwgVHlwZSB0eXBlLCBpbnQ2NF90IHZhbHVlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
UHJvY2VkdXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJv
Y2VkdXJlLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Byb2NlZHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOTIsNyArMjkyLDcgQEAKICAgICBib29s
IG1fbmVlZHNVc2VkUmVnaXN0ZXJzIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9oYXNRdWlya3MgeyBm
YWxzZSB9OwogfTsKLQorICAgIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAv
LyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2Vk
dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1By
b2NlZHVyZUlubGluZXMuaAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzUHJvY2VkdXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyArMjks
MTQgQEAKIAogI2luY2x1ZGUgIkIzQmFzaWNCbG9jay5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJl
LmgiCisjaW5jbHVkZSAiQjNWYWx1ZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIz
IHsKLQorICAgIAogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1
bWVudHM+CiBWYWx1ZVR5cGUqIFByb2NlZHVyZTo6YWRkKEFyZ3VtZW50cy4uLiBhcmd1bWVudHMp
CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlVHlwZSo+KGFkZFZhbHVlSW1wbChuZXcg
VmFsdWVUeXBlKGFyZ3VtZW50cy4uLikpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsdWVU
eXBlKj4oYWRkVmFsdWVJbXBsKFZhbHVlOjphbGxvY2F0ZTxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4u
LikpKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmNwcAkocmV2aXNpb24gMjQzNTk3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQxLDExICs0MSw2IEBACiAgICAgb3V0LnByaW50KGNvbW1hLCBwb2ludGVyRHVtcCht
X3Nsb3QpKTsKIH0KIAotVmFsdWUqIFNsb3RCYXNlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG5ldyBTbG90QmFzZVZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuaAkocmV2aXNpb24gMjQzNTk3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MSwxNiArNDEsMTcgQEAKIAogICAgIFN0YWNrU2xvdCogc2xvdCgpIGNvbnN0IHsgcmV0
dXJuIG1fc2xvdDsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50
ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAgIEIzX1NQRUNJQUxJWkVfVkFM
VUVfRk9SX05PX0NISUxEUkVOCiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQg
Y2xhc3MgVmFsdWU7CiAKKyAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3Ry
ZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25z
dHJ1Y3RvcihPcmlnaW4sIFN0YWNrU2xvdCopIHsgcmV0dXJuIFNsb3RCYXNlOyB9CiAgICAgU2xv
dEJhc2VWYWx1ZShPcmlnaW4gb3JpZ2luLCBTdGFja1Nsb3QqIHNsb3QpCi0gICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgU2xvdEJhc2UsIHBvaW50ZXJUeXBlKCksIG9yaWdpbikKKyAgICAg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBTbG90QmFzZSwgcG9pbnRlclR5cGUoKSwgWmVybywg
b3JpZ2luKQogICAgICAgICAsIG1fc2xvdChzbG90KQogICAgIHsKICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwU3BlY2lhbC5jcHAJKHJldmlzaW9u
IDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwU3BlY2lhbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDExICs4MywxMSBAQAogCiAgICAgLy8gQ2hlY2sgdGhh
dCBpbnNhbmUgdGhpbmdzIGhhdmUgbm90IGhhcHBlbmVkLgogICAgIEFTU0VSVChpbnN0LmFyZ3Mu
c2l6ZSgpID49IG51bUlnbm9yZWRBaXJBcmdzKTsKLSAgICBBU1NFUlQodmFsdWUtPmNoaWxkcmVu
KCkuc2l6ZSgpID49IG51bUlnbm9yZWRCM0FyZ3MpOwotICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6
ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPj0gdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVt
SWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKHZhbHVlLT5udW1DaGlsZHJlbigpID49IG51bUln
bm9yZWRCM0FyZ3MpOworICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFp
ckFyZ3MgPj0gdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdzKTsKICAgICBB
U1NFUlQoaW5zdC5hcmdzWzBdLmtpbmQoKSA9PSBBcmc6OktpbmQ6OlNwZWNpYWwpOwogCi0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUln
bm9yZWRCM0FyZ3M7ICsraSkgeworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+
bnVtQ2hpbGRyZW4oKSAtIG51bUlnbm9yZWRCM0FyZ3M7ICsraSkgewogICAgICAgICBBcmcmIGFy
ZyA9IGluc3QuYXJnc1tpICsgbnVtSWdub3JlZEFpckFyZ3NdOwogICAgICAgICBDb25zdHJhaW5l
ZFZhbHVlIGNoaWxkID0gdmFsdWUtPmNvbnN0cmFpbmVkQ2hpbGQoaSArIG51bUlnbm9yZWRCM0Fy
Z3MpOwogCkBAIC0xNjAsMTYgKzE2MCwxNiBAQAogCiAgICAgLy8gQ2hlY2sgdGhhdCBpbnNhbmUg
dGhpbmdzIGhhdmUgbm90IGhhcHBlbmVkLgogICAgIEFTU0VSVChpbnN0LmFyZ3Muc2l6ZSgpID49
IG51bUlnbm9yZWRBaXJBcmdzKTsKLSAgICBBU1NFUlQodmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgp
ID49IG51bUlnbm9yZWRCM0FyZ3MpOworICAgIEFTU0VSVCh2YWx1ZS0+bnVtQ2hpbGRyZW4oKSA+
PSBudW1JZ25vcmVkQjNBcmdzKTsKIAogICAgIC8vIEZvciB0aGUgSW5zdCB0byBiZSB2YWxpZCwg
aXQgbmVlZHMgdG8gaGF2ZSB0aGUgcmlnaHQgbnVtYmVyIG9mIGFyZ3VtZW50cy4KLSAgICBpZiAo
aW5zdC5hcmdzLnNpemUoKSAtIG51bUlnbm9yZWRBaXJBcmdzIDwgdmFsdWUtPmNoaWxkcmVuKCku
c2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJncykKKyAgICBpZiAoaW5zdC5hcmdzLnNpemUoKSAtIG51
bUlnbm9yZWRBaXJBcmdzIDwgdmFsdWUtPm51bUNoaWxkcmVuKCkgLSBudW1JZ25vcmVkQjNBcmdz
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBSZWdhcmRsZXNzIG9mIGNvbnN0cmFp
bnRzLCBzdGFja21hcHMgaGF2ZSBzb21lIGJhc2ljIHJlcXVpcmVtZW50cyBmb3IgdGhlaXIgYXJn
dW1lbnRzLiBGb3IKICAgICAvLyBleGFtcGxlLCB5b3UgY2FuJ3QgaGF2ZSBhIG5vbi1GUC1vZmZz
ZXQgYWRkcmVzcy4gVGhpcyB2ZXJpZmllcyB0aG9zZSBjb25kaXRpb25zIGFzIHdlbGwgYXMgdGhl
CiAgICAgLy8gYXJndW1lbnQgdHlwZXMuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZh
bHVlLT5jaGlsZHJlbigpLnNpemUoKSAtIG51bUlnbm9yZWRCM0FyZ3M7ICsraSkgeworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51bUlnbm9yZWRC
M0FyZ3M7ICsraSkgewogICAgICAgICBWYWx1ZSogY2hpbGQgPSB2YWx1ZS0+Y2hpbGQoaSArIG51
bUlnbm9yZWRCM0FyZ3MpOwogICAgICAgICBBcmcmIGFyZyA9IGluc3QuYXJnc1tpICsgbnVtSWdu
b3JlZEFpckFyZ3NdOwogCkBAIC0xNzgsNyArMTc4LDcgQEAKICAgICB9CiAKICAgICAvLyBUaGUg
bnVtYmVyIG9mIGNvbnN0cmFpbnRzIGhhcyB0byBiZSBubyBncmVhdGVyIHRoYW4gdGhlIG51bWJl
ciBvZiBCMyBjaGlsZHJlbi4KLSAgICBBU1NFUlQodmFsdWUtPm1fcmVwcy5zaXplKCkgPD0gdmFs
dWUtPmNoaWxkcmVuKCkuc2l6ZSgpKTsKKyAgICBBU1NFUlQodmFsdWUtPm1fcmVwcy5zaXplKCkg
PD0gdmFsdWUtPm51bUNoaWxkcmVuKCkpOwogCiAgICAgLy8gVmVyaWZ5IGFueSBleHBsaWNpdGx5
IHN1cHBsaWVkIGNvbnN0cmFpbnRzLgogICAgIGZvciAodW5zaWduZWQgaSA9IG51bUlnbm9yZWRC
M0FyZ3M7IGkgPCB2YWx1ZS0+bV9yZXBzLnNpemUoKTsgKytpKSB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21hcFZhbHVlLmNwcAkocmV2aXNpb24gMjQzNTk3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM3LDcgKzM3LDcgQEAKIHZvaWQgU3RhY2ttYXBWYWx1ZTo6YXBwZW5kKFZhbHVl
KiB2YWx1ZSwgY29uc3QgVmFsdWVSZXAmIHJlcCkKIHsKICAgICBpZiAocmVwID09IFZhbHVlUmVw
OjpDb2xkQW55KSB7Ci0gICAgICAgIGNoaWxkcmVuKCkuYXBwZW5kKHZhbHVlKTsKKyAgICAgICAg
Y2hpbGRyZW5WZWN0b3IoKS5hcHBlbmQodmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC00NCw3ICs0NCw3IEBACiAgICAgd2hpbGUgKG1fcmVwcy5zaXplKCkgPCBudW1DaGlsZHJl
bigpKQogICAgICAgICBtX3JlcHMuYXBwZW5kKFZhbHVlUmVwOjpDb2xkQW55KTsKIAotICAgIGNo
aWxkcmVuKCkuYXBwZW5kKHZhbHVlKTsKKyAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZCh2YWx1
ZSk7CiAgICAgbV9yZXBzLmFwcGVuZChyZXApOwogfQogCkBAIC04OSw3ICs4OSw3IEBACiB9CiAK
IFN0YWNrbWFwVmFsdWU6OlN0YWNrbWFwVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5k
LCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBr
aW5kLCB0eXBlLCBvcmlnaW4pCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBl
LCBWYXJBcmdzLCBvcmlnaW4pCiB7CiAgICAgQVNTRVJUKGFjY2VwdHMoa2luZCkpOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuaAkocmV2aXNpb24g
MjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBWYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw3IEBACiAKICAgICB+U3RhY2ttYXBWYWx1ZSgpOwog
Ci0gICAgLy8gVXNlIHRoaXMgdG8gYWRkIGNoaWxkcmVuLiBOb3RlIHRoYXQgeW91IGNvdWxkIGFs
c28gYWRkIGNoaWxkcmVuIGJ5IGRvaW5nCi0gICAgLy8gY2hpbGRyZW4oKS5hcHBlbmQoKS4gVGhh
dCB3aWxsIHdvcmsgZmluZSwgYnV0IGl0J3Mgbm90IHJlY29tbWVuZGVkLgorICAgIC8vIFVzZSB0
aGlzIHRvIGFkZCBjaGlsZHJlbi4KICAgICB2b2lkIGFwcGVuZChjb25zdCBDb25zdHJhaW5lZFZh
bHVlJiB2YWx1ZSkKICAgICB7CiAgICAgICAgIGFwcGVuZCh2YWx1ZS52YWx1ZSgpLCB2YWx1ZS5y
ZXAoKSk7CkBAIC0yODUsNiArMjg0LDggQEAKICAgICAgICAgcmV0dXJuIENvbnN0cmFpbmVkVmFs
dWVDb2xsZWN0aW9uKCp0aGlzKTsKICAgICB9CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZP
Ul9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBDaGlsZHJlbihD
b21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgZHVt
cE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHJldmlzaW9uIDI0
MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA2LDEzICsxMDYsOCBAQAogICAgIG91dC5wcmludChjb21tYSwgImNh
c2VzID0gWyIsIGxpc3REdW1wKG1fdmFsdWVzKSwgIl0iKTsKIH0KIAotVmFsdWUqIFN3aXRjaFZh
bHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgU3dpdGNoVmFsdWUoKnRo
aXMpOwotfQotCiBTd2l0Y2hWYWx1ZTo6U3dpdGNoVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUq
IGNoaWxkKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgU3dpdGNoLCBWb2lkLCBvcmlnaW4s
IGNoaWxkKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgU3dpdGNoLCBWb2lkLCBPbmUsIG9y
aWdpbiwgY2hpbGQpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3
aXRjaFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dp
dGNoVmFsdWUuaAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzU3dpdGNoVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTQgKzY0LDE3IEBACiAKICAg
ICB2b2lkIGR1bXBTdWNjZXNzb3JzKGNvbnN0IEJhc2ljQmxvY2sqLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOwogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERS
RU4oMSkKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxE
UkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50
U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qg
b3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBm
cmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihPcmlnaW4sIFZhbHVlKikgeyByZXR1cm4gU3dpdGNoOyB9CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgU3dpdGNoVmFsdWUoT3JpZ2luLCBWYWx1ZSogY2hpbGQpOwogCiAgICAgVmVjdG9yPGlu
dDY0X3Q+IG1fdmFsdWVzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxv
blZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNVcHNp
bG9uVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNVcHNpbG9uVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMSArNDUsNiBAQAog
ICAgIH0KIH0KIAotVmFsdWUqIFVwc2lsb25WYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbmV3IFVwc2lsb25WYWx1ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpCMwogCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUs
MTkgKzQ1LDIyIEBACiAgICAgICAgIG1fcGhpID0gcGhpOwogICAgIH0KIAorICAgIEIzX1NQRUNJ
QUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxV
RV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBk
dW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0g
ICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3Rh
dGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1ZSosIFZhbHVlKiA9
IG51bGxwdHIpIHsgcmV0dXJuIFVwc2lsb247IH0KICAgICAvLyBOb3RlIHRoYXQgcGFzc2luZyB0
aGUgUGhpIGR1cmluZyBjb25zdHJ1Y3Rpb24gaXMgb3B0aW9uYWwuIEEgdmFsaWQgcGF0dGVybiBp
cyB0byBmaXJzdCBjcmVhdGUKICAgICAvLyB0aGUgVXBzaWxvbnMgd2l0aG91dCB0aGUgUGhpLCB0
aGVuIGNyZWF0ZSB0aGUgUGhpLCB0aGVuIGdvIGJhY2sgYW5kIHRlbGwgdGhlIFVwc2lsb25zIGFi
b3V0CiAgICAgLy8gdGhlIFBoaS4gVGhpcyBhbGxvd3MgeW91IHRvIGVtaXQgY29kZSBpbiBpdHMg
bmF0dXJhbCBvcmRlci4KICAgICBVcHNpbG9uVmFsdWUoT3JpZ2luIG9yaWdpbiwgVmFsdWUqIHZh
bHVlLCBWYWx1ZSogcGhpID0gbnVsbHB0cikKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2Rl
LCBVcHNpbG9uLCBWb2lkLCBvcmlnaW4sIHZhbHVlKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRP
cGNvZGUsIFVwc2lsb24sIFZvaWQsIE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAgICAgLCBtX3Bo
aShwaGkpCiAgICAgewogICAgICAgICBpZiAocGhpKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhbHVlLmNwcAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMyArNDcsMjMgQEAKICNpbmNs
dWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAjaW5j
bHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIAogY29uc3QgY2hhciogY29uc3QgVmFs
dWU6OmR1bXBQcmVmaXggPSAiQCI7Cit2b2lkIERlZXBWYWx1ZUR1bXA6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKK3sKKyAgICBpZiAobV92YWx1ZSkKKyAgICAgICAgbV92YWx1ZS0+ZGVl
cER1bXAobV9wcm9jLCBvdXQpOworICAgIGVsc2UKKyAgICAgICAgb3V0LnByaW50KCI8bnVsbD4i
KTsKK30KIAogVmFsdWU6On5WYWx1ZSgpCiB7CisgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFy
QXJncykKKyAgICAgICAgYml0d2lzZV9jYXN0PFZlY3RvcjxWYWx1ZSosIDM+ICo+KGNoaWxkcmVu
QWxsb2MoKSktPlZlY3RvcjxWYWx1ZSosIDM+Ojp+VmVjdG9yKCk7CiB9CiAKIHZvaWQgVmFsdWU6
OnJlcGxhY2VXaXRoSWRlbnRpdHkoVmFsdWUqIHZhbHVlKQpAQCAtNjIsMjYgKzcyLDEyIEBACiAg
ICAgLy8gYSBwbGFpbiBJZGVudGl0eSBWYWx1ZS4gV2UgZmlyc3QgY29sbGVjdCBhbGwgb2YgdGhl
IGluZm9ybWF0aW9uIHdlIG5lZWQsIHRoZW4gd2UgZGVzdHJ1Y3QgdGhlCiAgICAgLy8gcHJldmlv
dXMgdmFsdWUgaW4gcGxhY2UsIGFuZCB0aGVuIHdlIGNvbnN0cnVjdCB0aGUgSWRlbnRpdHkgVmFs
dWUgaW4gcGxhY2UuCiAKLSAgICBBU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5cGUpOworICAg
IFJFTEVBU0VfQVNTRVJUKG1fdHlwZSA9PSB2YWx1ZS0+dHlwZSgpKTsKIAotICAgIGlmIChtX3R5
cGUgPT0gVm9pZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFjZVdp
dGhOb3BJZ25vcmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2ln
bmVkIGluZGV4ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3JpZ2lu
IG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7
Ci0KLSAgICBSRUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAgdGhp
cy0+flZhbHVlKCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBvcmln
aW4sIHZhbHVlKTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRl
eCA9IGluZGV4OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1fdHlw
ZSwgdGhpcy0+b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhCb3R0
b20oSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk3LDE2ICs5
Myw3IEBACiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKCkKIHsKLSAg
ICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2lu
OwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICB0aGlzLT5+VmFs
dWUoKTsKLQotICAgIG5ldyAodGhpcykgVmFsdWUoTm9wLCBWb2lkLCBvcmlnaW4pOwotCi0gICAg
dGhpcy0+b3duZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAgcmVw
bGFjZVdpdGgoTm9wLCBWb2lkLCB0aGlzLT5vd25lcik7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxh
Y2VXaXRoUGhpKCkKQEAgLTExNSwzNCArMTAyLDE0IEBACiAgICAgICAgIHJlcGxhY2VXaXRoTm9w
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBt
X2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2NrKiBv
d25lciA9IHRoaXMtPm93bmVyOwotICAgIFR5cGUgdHlwZSA9IG1fdHlwZTsKIAotICAgIHRoaXMt
Pn5WYWx1ZSgpOwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShQaGksIHR5cGUsIG9yaWdpbik7Ci0K
LSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAg
ICByZXBsYWNlV2l0aChQaGksIG1fdHlwZSwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZhbHVl
OjpyZXBsYWNlV2l0aEp1bXAoQmFzaWNCbG9jayogb3duZXIsIEZyZXF1ZW50ZWRCbG9jayB0YXJn
ZXQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob3duZXItPmxhc3QoKSA9PSB0aGlzKTsKLSAgICAK
LSAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3Jp
Z2luOwotICAgIAotICAgIHRoaXMtPn5WYWx1ZSgpOwotICAgIAotICAgIG5ldyAodGhpcykgVmFs
dWUoSnVtcCwgVm9pZCwgb3JpZ2luKTsKLSAgICAKLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwot
ICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKLSAgICAKKyAgICByZXBsYWNlV2l0aChKdW1wLCBW
b2lkLCB0aGlzLT5vd25lcik7CiAgICAgb3duZXItPnNldFN1Y2Nlc3NvcnModGFyZ2V0KTsKIH0K
IApAQCAtMTQ5LDE3ICsxMTYsNyBAQAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKEJhc2lj
QmxvY2sqIG93bmVyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0gdGhp
cyk7Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmln
aW4gPSBtX29yaWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBuZXcg
KHRoaXMpIFZhbHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3duZXIg
PSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFjZVdp
dGgoT29wcywgVm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5jbGVhclN1Y2Nlc3NvcnMo
KTsKIH0KIApAQCAtMTczLDYgKzEzMCwzMCBAQAogICAgIHJlcGxhY2VXaXRoT29wcyhvd25lcik7
CiB9CiAKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBCYXNp
Y0Jsb2NrKiBvd25lcikKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAgICB0
aGlzLT5+VmFsdWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9vcmln
aW4pOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRoaXMtPm93bmVyID0gb3du
ZXI7Cit9CisKK3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBC
YXNpY0Jsb2NrKiBvd25lciwgVmFsdWUqIHZhbHVlKQoreworICAgIHVuc2lnbmVkIGluZGV4ID0g
bV9pbmRleDsKKworICAgIHRoaXMtPn5WYWx1ZSgpOworCisgICAgbmV3ICh0aGlzKSBWYWx1ZShr
aW5kLCB0eXBlLCBtX29yaWdpbiwgdmFsdWUpOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4
OworICAgIHRoaXMtPm93bmVyID0gb3duZXI7Cit9CisKIHZvaWQgVmFsdWU6OmR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBib29sIGlzQ29uc3RhbnQgPSBmYWxzZTsKQEAgLTIw
NCwxMSArMTg1LDYgQEAKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBWYWx1
ZTo6Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsKLX0K
LQogdm9pZCBWYWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigpKQpA
QCAtNDU3LDExICs0MzMsMTEgQEAKIAogVmFsdWUqIFZhbHVlOjppbnZlcnRlZENvbXBhcmUoUHJv
Y2VkdXJlJiBwcm9jKSBjb25zdAogewotICAgIGlmICghbnVtQ2hpbGRyZW4oKSkKKyAgICBpZiAo
bnVtQ2hpbGRyZW4oKSAhPSAyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoT3B0
aW9uYWw8T3Bjb2RlPiBpbnZlcnRlZE9wY29kZSA9IEIzOjppbnZlcnRlZENvbXBhcmUob3Bjb2Rl
KCksIGNoaWxkKDApLT50eXBlKCkpKSB7CiAgICAgICAgIEFTU0VSVCgha2luZCgpLmhhc0V4dHJh
Qml0cygpKTsKLSAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNvZGUs
IHR5cGUoKSwgb3JpZ2luKCksIGNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gcHJvYy5hZGQ8
VmFsdWU+KCppbnZlcnRlZE9wY29kZSwgdHlwZSgpLCBvcmlnaW4oKSwgY2hpbGQoMCksIGNoaWxk
KDEpKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC00OTUsNiArNDcxLDcgQEAK
IHsKICAgICBpZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBzd2l0Y2ggKG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1cm4g
YXNJbnQzMigpID09IDAgfHwgYXNJbnQzMigpID09IDE7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhbHVlLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJC
M1dpZHRoLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3Rm
L0l0ZXJhdG9yUmFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL1RyaVN0YXRlLmg+CiAKQEAgLTUzLDggKzUzLDYgQEAKIGNsYXNzIEpTX0VYUE9SVF9Q
UklWQVRFIFZhbHVlIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAg
ICB0eXBlZGVmIFZlY3RvcjxWYWx1ZSosIDM+IEFkamFjZW5jeUxpc3Q7Ci0KICAgICBzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgZHVtcFByZWZpeDsKIAogICAgIHN0YXRpYyBib29sIGFjY2VwdHMo
S2luZCkgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtODIsMTQgKzgwLDYgQEAKICAgICBPcmlnaW4gb3Jp
Z2luKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW47IH0KICAgICB2b2lkIHNldE9yaWdpbihPcmln
aW4gb3JpZ2luKSB7IG1fb3JpZ2luID0gb3JpZ2luOyB9CiAgICAgCi0gICAgVmFsdWUqJiBjaGls
ZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gbV9jaGlsZHJlbltpbmRleF07IH0KLSAgICBWYWx1
ZSogY2hpbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhd
OyB9Ci0KLSAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgp
OyB9Ci0gICAgVmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFz
dCgpOyB9Ci0KLSAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hp
bGRyZW4uc2l6ZSgpOyB9Ci0KICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7
IH0KICAgICB2b2lkIHNldFR5cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KIApAQCAt
OTcsOSArODcsNTggQEAKICAgICBCYW5rIHJlc3VsdEJhbmsoKSBjb25zdCB7IHJldHVybiBiYW5r
Rm9yVHlwZSh0eXBlKCkpOyB9CiAgICAgV2lkdGggcmVzdWx0V2lkdGgoKSBjb25zdCB7IHJldHVy
biB3aWR0aEZvclR5cGUodHlwZSgpKTsgfQogCi0gICAgQWRqYWNlbmN5TGlzdCYgY2hpbGRyZW4o
KSB7IHJldHVybiBtX2NoaWxkcmVuOyB9IAotICAgIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxk
cmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorICAgIHVuc2lnbmVkIG51bUNoaWxk
cmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3Mp
CisgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7CisgICAgICAgIHJl
dHVybiBtX251bUNoaWxkcmVuOworICAgIH0KKyAgICAKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2ln
bmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtQ2hpbGRyZW4oKSk7
CisgICAgICAgIHJldHVybiBtX251bUNoaWxkcmVuID09IFZhckFyZ3MgPyBjaGlsZHJlblZlY3Rv
cigpW2luZGV4XSA6IGNoaWxkcmVuQXJyYXkoKVtpbmRleF07CisgICAgfQorICAgIFZhbHVlKiBj
aGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8
IG51bUNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJBcmdz
ID8gY2hpbGRyZW5WZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOworICAg
IH0KKyAgICAKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpCisgICAgeworICAgICAgICBpZiAobV9u
dW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9y
KCkubGFzdCgpOworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAxKTsKKyAgICAgICAg
cmV0dXJuIGNoaWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07CisgICAgfQorICAgIFZh
bHVlKiBsYXN0Q2hpbGQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4g
PT0gVmFyQXJncykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsK
KyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVybiBjaGls
ZHJlbkFycmF5KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KIAorICAgIFdURjo6SXRlcmF0
b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpCisgICAgeworICAgICAgICBpZiAobV9udW1DaGls
ZHJlbiA9PSBWYXJBcmdzKSB7CisgICAgICAgICAgICBWZWN0b3I8VmFsdWUqLCAzPiYgdmVjID0g
Y2hpbGRyZW5WZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJh
bmdlKCYqdmVjLmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfQorICAgICAgICBWYWx1
ZSoqIGJ1ZmZlciA9IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1
ZmZlciArIG1fbnVtQ2hpbGRyZW4gfTsKKyAgICB9CisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZh
bHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNo
aWxkcmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSosIDM+
JiB2ZWMgPSBjaGlsZHJlblZlY3RvcigpOworICAgICAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0
ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOworICAgICAgICB9CisgICAg
ICAgIFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICByZXR1
cm4ge2J1ZmZlciwgYnVmZmVyICsgbV9udW1DaGlsZHJlbiB9OworICAgIH0KKwogICAgIC8vIElm
IHlvdSB3YW50IHRvIHJlcGxhY2UgYWxsIHVzZXMgb2YgdGhpcyB2YWx1ZSB3aXRoIGEgZGlmZmVy
ZW50IHZhbHVlLCB0aGVuIHJlcGxhY2UgdGhpcwogICAgIC8vIHZhbHVlIHdpdGggSWRlbnRpdHku
IFRoZW4gZG8gYSBwYXNzIG9mIHBlcmZvcm1TdWJzdGl0dXRpb24oKSBvbiBhbGwgb2YgdGhlIHZh
bHVlcyB0aGF0IHVzZQogICAgIC8vIHRoaXMgb25lLiBVc3VhbGx5IHdlIGRvIGFsbCBvZiB0aGlz
IGluIG9uZSBwYXNzIGluIHByZS1vcmRlciwgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZQpAQCAtMzAx
LDE5ICszNDAsMjE4IEBACiAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHNpemVvZihJ
bnQpIDw9IHNpemVvZihPZmZzZXRUeXBlKT46OnR5cGUKICAgICA+IHsgfTsKIAorcHJvdGVjdGVk
OgorICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdDsKIAotcHJvdGVjdGVkOgotICAgIHZpcnR1
YWwgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0OwotICAgIAorICAgIHZvaWQgcmVwbGFjZVdpdGgo
S2luZCwgVHlwZSwgQmFzaWNCbG9jayopOworICAgIHZvaWQgcmVwbGFjZVdpdGgoS2luZCwgVHlw
ZSwgQmFzaWNCbG9jayosIFZhbHVlKik7CisKICAgICB2aXJ0dWFsIHZvaWQgZHVtcENoaWxkcmVu
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGR1
bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAKKyAgICAvLyBUaGUg
c3BlY2lmaWMgdmFsdWUgb2YgVmFyQXJncyBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCB0aGUgdmFsdWUg
b2YgdGhlIG90aGVycyBpcyBhc3N1bWVkIHRvIG1hdGNoIHRoZWlyIG1lYW5pbmcuCisgICAgZW51
bSBOdW1DaGlsZHJlbiA6IHVpbnQ4X3QgeyBaZXJvID0gMCwgT25lID0gMSwgVHdvID0gMiwgVGhy
ZWUgPSAzLCBWYXJBcmdzID0gNH07CisKKyAgICBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgeyByZXR1
cm4gYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQor
ICAgIGNvbnN0IGNoYXIqIGNoaWxkcmVuQWxsb2MoKSBjb25zdCB7IHJldHVybiBiaXR3aXNlX2Nh
c3Q8Y29uc3QgY2hhcio+KHRoaXMpICsgYWRqYWNlbmN5TGlzdE9mZnNldCgpOyB9CisgICAgVmVj
dG9yPFZhbHVlKiwgMz4mIGNoaWxkcmVuVmVjdG9yKCkKKyAgICB7CisgICAgICAgIEFTU0VSVCht
X251bUNoaWxkcmVuID09IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxW
ZWN0b3I8VmFsdWUqLCAzPio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIGNvbnN0IFZl
Y3RvcjxWYWx1ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICBB
U1NFUlQobV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNl
X2Nhc3Q8VmVjdG9yPFZhbHVlKiwgMz4gY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0K
KyAgICBWYWx1ZSoqIGNoaWxkcmVuQXJyYXkoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fbnVt
Q2hpbGRyZW4gIT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFsdWUq
Kj4oY2hpbGRyZW5BbGxvYygpKTsKKyAgICB9CisgICAgVmFsdWUqIGNvbnN0KiBjaGlsZHJlbkFy
cmF5KCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZhckFy
Z3MpOworICAgICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKiBjb25zdCo+KGNoaWxkcmVu
QWxsb2MoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgor
ICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEtpbmQga2luZCwgQXJndW1l
bnRzLi4uKSB7IHJldHVybiBraW5kLm9wY29kZSgpOyB9CisgICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgc2l6ZV90IGFkamFjZW5jeUxpc3RTcGFjZShLaW5kIGtpbmQpCisgICAgeworICAgICAgICBz
d2l0Y2ggKGtpbmQub3Bjb2RlKCkpIHsKKyAgICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6CisgICAg
ICAgIGNhc2UgTm9wOgorICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgY2FzZSBKdW1wOgorICAg
ICAgICBjYXNlIE9vcHM6CisgICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CisgICAgICAgIGNhc2Ug
QXJndW1lbnRSZWc6CisgICAgICAgIGNhc2UgQ29uc3QzMjoKKyAgICAgICAgY2FzZSBDb25zdDY0
OgorICAgICAgICBjYXNlIENvbnN0RmxvYXQ6CisgICAgICAgIGNhc2UgQ29uc3REb3VibGU6Cisg
ICAgICAgIGNhc2UgRmVuY2U6CisgICAgICAgIGNhc2UgU2xvdEJhc2U6CisgICAgICAgIGNhc2Ug
R2V0OgorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGNhc2UgUmV0dXJuOgorICAgICAg
ICBjYXNlIElkZW50aXR5OgorICAgICAgICBjYXNlIE9wYXF1ZToKKyAgICAgICAgY2FzZSBOZWc6
CisgICAgICAgIGNhc2UgQ2x6OgorICAgICAgICBjYXNlIEFiczoKKyAgICAgICAgY2FzZSBDZWls
OgorICAgICAgICBjYXNlIEZsb29yOgorICAgICAgICBjYXNlIFNxcnQ6CisgICAgICAgIGNhc2Ug
U0V4dDg6CisgICAgICAgIGNhc2UgU0V4dDE2OgorICAgICAgICBjYXNlIFRydW5jOgorICAgICAg
ICBjYXNlIFNFeHQzMjoKKyAgICAgICAgY2FzZSBaRXh0MzI6CisgICAgICAgIGNhc2UgRmxvYXRU
b0RvdWJsZToKKyAgICAgICAgY2FzZSBJVG9EOgorICAgICAgICBjYXNlIERvdWJsZVRvRmxvYXQ6
CisgICAgICAgIGNhc2UgSVRvRjoKKyAgICAgICAgY2FzZSBCaXR3aXNlQ2FzdDoKKyAgICAgICAg
Y2FzZSBCcmFuY2g6CisgICAgICAgIGNhc2UgRGVwZW5kOgorICAgICAgICBjYXNlIExvYWQ4WjoK
KyAgICAgICAgY2FzZSBMb2FkOFM6CisgICAgICAgIGNhc2UgTG9hZDE2WjoKKyAgICAgICAgY2Fz
ZSBMb2FkMTZTOgorICAgICAgICBjYXNlIExvYWQ6CisgICAgICAgIGNhc2UgU3dpdGNoOgorICAg
ICAgICBjYXNlIFVwc2lsb246CisgICAgICAgIGNhc2UgU2V0OgorICAgICAgICBjYXNlIFdhc21B
ZGRyZXNzOgorICAgICAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazoKKyAgICAgICAgICAgIHJldHVy
biBzaXplb2YoVmFsdWUqKTsKKyAgICAgICAgY2FzZSBBZGQ6CisgICAgICAgIGNhc2UgU3ViOgor
ICAgICAgICBjYXNlIE11bDoKKyAgICAgICAgY2FzZSBEaXY6CisgICAgICAgIGNhc2UgVURpdjoK
KyAgICAgICAgY2FzZSBNb2Q6CisgICAgICAgIGNhc2UgVU1vZDoKKyAgICAgICAgY2FzZSBCaXRB
bmQ6CisgICAgICAgIGNhc2UgQml0T3I6CisgICAgICAgIGNhc2UgQml0WG9yOgorICAgICAgICBj
YXNlIFNobDoKKyAgICAgICAgY2FzZSBTU2hyOgorICAgICAgICBjYXNlIFpTaHI6CisgICAgICAg
IGNhc2UgUm90UjoKKyAgICAgICAgY2FzZSBSb3RMOgorICAgICAgICBjYXNlIEVxdWFsOgorICAg
ICAgICBjYXNlIE5vdEVxdWFsOgorICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAgICBjYXNl
IEdyZWF0ZXJUaGFuOgorICAgICAgICBjYXNlIExlc3NFcXVhbDoKKyAgICAgICAgY2FzZSBHcmVh
dGVyRXF1YWw6CisgICAgICAgIGNhc2UgQWJvdmU6CisgICAgICAgIGNhc2UgQmVsb3c6CisgICAg
ICAgIGNhc2UgQWJvdmVFcXVhbDoKKyAgICAgICAgY2FzZSBCZWxvd0VxdWFsOgorICAgICAgICBj
YXNlIEVxdWFsT3JVbm9yZGVyZWQ6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAgICAg
ICAgY2FzZSBBdG9taWNYY2hnQW5kOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdPcjoKKyAgICAg
ICAgY2FzZSBBdG9taWNYY2hnU3ViOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdYb3I6CisgICAg
ICAgIGNhc2UgQXRvbWljWGNoZzoKKyAgICAgICAgY2FzZSBTdG9yZTg6CisgICAgICAgIGNhc2Ug
U3RvcmUxNjoKKyAgICAgICAgY2FzZSBTdG9yZToKKyAgICAgICAgICAgIHJldHVybiAyICogc2l6
ZW9mKFZhbHVlKik7CisgICAgICAgIGNhc2UgU2VsZWN0OgorICAgICAgICBjYXNlIEF0b21pY1dl
YWtDQVM6CisgICAgICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOgorICAgICAgICAgICAgcmV0dXJu
IDMgKiBzaXplb2YoVmFsdWUqKTsKKyAgICAgICAgY2FzZSBDQ2FsbDoKKyAgICAgICAgY2FzZSBD
aGVjazoKKyAgICAgICAgY2FzZSBDaGVja0FkZDoKKyAgICAgICAgY2FzZSBDaGVja1N1YjoKKyAg
ICAgICAgY2FzZSBDaGVja011bDoKKyAgICAgICAgY2FzZSBQYXRjaHBvaW50OgorICAgICAgICAg
ICAgcmV0dXJuIHNpemVvZihWZWN0b3I8VmFsdWUqLCAzPik7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKIHByaXZhdGU6CisgICAgc3Rh
dGljIGNoYXIqIGFsbG9jYXRlU3BhY2UoT3Bjb2RlIG9wY29kZSwgc2l6ZV90IHNpemUpCisgICAg
eworICAgICAgICBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNlID0gVmFsdWU6OmFkamFjZW5jeUxp
c3RTcGFjZShvcGNvZGUpOworICAgICAgICAvLyBXZSBtdXN0IGFsbG9jYXRlIGVub3VnaCBzcGFj
ZSB0aGF0IHJlcGxhY2VXaXRoSWRlbnRpdHkgY2FuIHdvcmsgd2l0aG91dCBidWZmZXIgb3ZlcmZs
b3cuCisgICAgICAgIHNpemVfdCBhbGxvY0lkZW50aXR5U2l6ZSA9IHNpemVvZihWYWx1ZSkgKyBz
aXplb2YoVmFsdWUqKTsKKyAgICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KHNpemUg
KyBhZGphY2VuY3lMaXN0U3BhY2UsIGFsbG9jSWRlbnRpdHlTaXplKTsKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNoYXIqPihXVEY6OmZhc3RNYWxsb2MoYWxsb2NTaXplKSk7CisgICAgfQor
Citwcm90ZWN0ZWQ6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4u
LiBBcmd1bWVudHM+CisgICAgc3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGUoQXJndW1lbnRzLi4u
IGFyZ3VtZW50cykKKyAgICB7CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZShW
YWx1ZVR5cGU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcihhcmd1bWVudHMuLi4pLCBzaXplb2YoVmFs
dWVUeXBlKSk7CisgICAgICAgIHJldHVybiBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUoYXJndW1lbnRz
Li4uKTsKKyAgICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRp
YyBWYWx1ZVR5cGUqIGFsbG9jYXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAg
IHsKKyAgICAgICAgY2hhciogYWxsb2MgPSBhbGxvY2F0ZVNwYWNlKHZhbHVlVG9DbG9uZS5vcGNv
ZGUoKSwgc2l6ZW9mKFZhbHVlVHlwZSkpOworICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5l
dyAoYWxsb2MpIFZhbHVlVHlwZSh2YWx1ZVRvQ2xvbmUpOworICAgICAgICByZXN1bHQtPmJ1aWxk
QWRqYWNlbmN5TGlzdChzaXplb2YoVmFsdWVUeXBlKSwgdmFsdWVUb0Nsb25lKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQgc28gaXQgd2lsbCBvbmx5
IGJlIGNhbGxlZCBmcm9tIGFsbG9jYXRlIGFib3ZlLCBwb3NzaWJseSB0aHJvdWdoIHRoZSBzdWJj
bGFzc2VzJ2NvcHkgY29uc3RydWN0b3JzCisgICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1
bHQ7CisKKyAgICBWYWx1ZShWYWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9
KGNvbnN0IFZhbHVlJikgPSBkZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShWYWx1ZSYmKSA9
IGRlbGV0ZTsKKyAgICAKKyAgICBzaXplX3QgYWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Owor
CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKICAgICBmcmllbmQgY2xhc3MgU3BhcnNlQ29s
bGVjdGlvbjxWYWx1ZT47CiAKK3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KE51bUNoaWxkcmVuIG51bUNoaWxk
cmVuLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgaWYgKG51bUNoaWxk
cmVuID09IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWZWN0
b3I8VmFsdWUqLCAzPiB7IGFyZ3VtZW50cy4uLiB9OworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIEFTU0VSVChudW1DaGlsZHJlbiA9PSBzaXplb2YuLi4oYXJndW1lbnRz
KSk7CisgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWYWx1ZSpbc2l6ZW9mLi4uKGFyZ3Vt
ZW50cyldIHsgYXJndW1lbnRzLi4uIH07CisgICAgfQorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lM
aXN0KHNpemVfdCBvZmZzZXQsIGNvbnN0IFZhbHVlJiB2YWx1ZVRvQ2xvbmUpCisgICAgeworICAg
ICAgICBzd2l0Y2ggKHZhbHVlVG9DbG9uZS5tX251bUNoaWxkcmVuKSB7CisgICAgICAgIGNhc2Ug
VmFyQXJnczoKKyAgICAgICAgICAgIG5ldyAoYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9m
ZnNldCkgVmVjdG9yPFZhbHVlKiwgMz4gKHZhbHVlVG9DbG9uZS5jaGlsZHJlblZlY3RvcigpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFRocmVlOgorICAgICAgICAgICAgYml0
d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQpWzJd
ID0gdmFsdWVUb0Nsb25lLmNoaWxkcmVuQXJyYXkoKVsyXTsKKyAgICAgICAgICAgIEZBTExUSFJP
VUdIOworICAgICAgICBjYXNlIFR3bzoKKyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoq
PihiaXR3aXNlX2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsxXSA9IHZhbHVlVG9DbG9uZS5j
aGlsZHJlbkFycmF5KClbMV07CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgY2Fz
ZSBPbmU6CisgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8VmFsdWUqKj4oYml0d2lzZV9jYXN0PGNo
YXIqPih0aGlzKSArIG9mZnNldClbMF0gPSB2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5BcnJheSgpWzBd
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWmVybzoKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgfQorICAgIAogICAgIC8vIENoZWNrcyB0aGF0IHRoaXMga2lu
ZCBpcyB2YWxpZCBmb3IgdXNlIHdpdGggQjM6OlZhbHVlLgotICAgIEFMV0FZU19JTkxJTkUgc3Rh
dGljIHZvaWQgY2hlY2tLaW5kKEtpbmQga2luZCwgdW5zaWduZWQgbnVtQXJncykKKyAgICBBTFdB
WVNfSU5MSU5FIHN0YXRpYyBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbkZvcktpbmQoS2luZCBraW5k
LCB1bnNpZ25lZCBudW1BcmdzKQogICAgIHsKICAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgp
KSB7CiAgICAgICAgIGNhc2UgRnJhbWVQb2ludGVyOgpAQCAtMzI0LDExICs1NjIsMTEgQEAKICAg
ICAgICAgY2FzZSBFbnRyeVN3aXRjaDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1Bcmdz
KSkKICAgICAgICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICByZXR1cm4gWmVybzsKICAgICAgICAgY2FzZSBSZXR1cm46CiAg
ICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncyA+IDEpKQogICAgICAgICAgICAgICAgIGJh
ZEtpbmQoa2luZCwgbnVtQXJncyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJl
dHVybiBudW1BcmdzID8gT25lIDogWmVybzsKICAgICAgICAgY2FzZSBJZGVudGl0eToKICAgICAg
ICAgY2FzZSBPcGFxdWU6CiAgICAgICAgIGNhc2UgTmVnOgpAQCAtMzUxLDcgKzU4OSw3IEBACiAg
ICAgICAgIGNhc2UgRGVwZW5kOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0g
MSkpCiAgICAgICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIE9uZTsKICAgICAgICAgY2FzZSBBZGQ6CiAgICAg
ICAgIGNhc2UgU3ViOgogICAgICAgICBjYXNlIE11bDoKQEAgLTM4MCwxMjkgKzYxOCwxMDUgQEAK
ICAgICAgICAgY2FzZSBFcXVhbE9yVW5vcmRlcmVkOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KG51bUFyZ3MgIT0gMikpCiAgICAgICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsK
LSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIFR3bzsKICAgICAgICAgY2Fz
ZSBTZWxlY3Q6CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncyAhPSAzKSkKICAgICAg
ICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICByZXR1cm4gVGhyZWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBi
YWRLaW5kKGtpbmQsIG51bUFyZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIFZhckFyZ3M7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDaGVj
a2VkT3Bjb2RlVGFnIHsgQ2hlY2tlZE9wY29kZSB9OwotCi0gICAgVmFsdWUoY29uc3QgVmFsdWUm
KSA9IGRlZmF1bHQ7Ci0gICAgVmFsdWUmIG9wZXJhdG9yPShjb25zdCBWYWx1ZSYpID0gZGVmYXVs
dDsKICAgICAKICAgICAvLyBJbnN0YW50aWF0ZSB2YWx1ZXMgdmlhIFByb2NlZHVyZS4KICAgICAv
LyBUaGlzIGZvcm0gcmVxdWlyZXMgc3BlY2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5OgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVj
a2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUq
IGZpcnN0Q2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUo
Q2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51bUNo
aWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFy
Z3VtZW50cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkK
KyAgICAgICAgLCBtX251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2lu
KG9yaWdpbikKLSAgICAgICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4g
fQogICAgIHsKKyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENo
aWxkLCBhcmd1bWVudHMuLi4pOwogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHNwZWNp
ZnlpbmcgdGhlIHR5cGUgZXhwbGljaXRseSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNoaWxkcmVu
OgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcs
IEtpbmQga2luZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9y
aWdpbikKICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAg
ICAgICAgLCBtX251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9y
aWdpbikKICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbik7CiAg
ICAgfQotICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZl
ciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgY2hpbGQ6Ci0gICAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNv
ZGVUYWcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQpCi0gICAg
ICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RD
aGlsZCkpCi0gICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57
IGZpcnN0Q2hpbGQgfQotICAgIHsKLSAgICB9Ci0gICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9z
ZSBvcGNvZGVzIHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBm
aXJzdCBhbmQgc2Vjb25kIGNoaWxkOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdp
biBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFyZ3VtZW50
cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBl
KHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCwgc2Vjb25kQ2hpbGQpKQotICAgICAgICAsIG1fb3Jp
Z2luKG9yaWdpbikKLSAgICAgICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBzZWNvbmRDaGls
ZCwgYXJndW1lbnRzLi4uIH0KLSAgICB7Ci0gICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3Ig
dGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBh
bG9uZSwgYW5kIHRoYXQgZG9uJ3QKICAgICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhw
bGljaXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luKQor
ICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRy
ZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAg
ICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgbnVsbHB0cikpCisgICAgICAgICwgbV9udW1D
aGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgewor
ICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4pOwogICAgIH0KLSAgICAvLyBV
c2UgdGhpcyBmb3JtIGZvciB2YXJhcmdzLgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNv
ZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2Vu
Y3lMaXN0JiBjaGlsZHJlbikKKyAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMg
dGhhdCBjYW4gaW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxk
OgorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hp
bGRyZW4gbnVtQ2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQogICAg
ICAgICA6IG1fa2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1f
dHlwZSh0eXBlRm9yKGtpbmQsIGZpcnN0Q2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4o
bnVtQ2hpbGRyZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hp
bGRyZW4oY2hpbGRyZW4pCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hp
bGRyZW4sIGZpcnN0Q2hpbGQpOwogICAgIH0KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bj
b2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlz
dCYmIGNoaWxkcmVuKQorICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0
IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgYW5kIHNlY29u
ZCBjaGlsZDoKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgZXhwbGlj
aXQgVmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGls
ZHJlbiwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGls
ZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAg
ICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENo
aWxkLCBzZWNvbmRDaGlsZCkpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikK
ICAgICAgICAgLCBtX29yaWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihXVEZNb3Zl
KGNoaWxkcmVuKSkKICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJl
biwgZmlyc3RDaGlsZCwgc2Vjb25kQ2hpbGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogCiAgICAg
Ly8gVGhpcyBpcyB0aGUgY29uc3RydWN0b3IgeW91IGVuZCB1cCBhY3R1YWxseSBjYWxsaW5nLCBp
ZiB5b3UncmUgaW5zdGFudGlhdGluZyBWYWx1ZQogICAgIC8vIGRpcmVjdGx5LgotICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBr
aW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9w
Y29kZSwga2luZCwgdHlwZSwgb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwg
VHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IGtpbmQsIHR5cGUsIFplcm8sIG9yaWdpbikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5k
LCAwKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW5Gb3JLaW5kKGtpbmQsIDAp
ID09IFplcm8pOwogICAgIH0KKyAgICAvLyBXZSBleHBsaWNpdGx5IGNvbnZlcnQgdGhlIGV4dHJh
IGFyZ3VtZW50cyB0byBWYWx1ZSogKHRoZXkgbWF5IGJlIHBvaW50ZXJzIHRvIHNvbWUgc3ViY2xh
c3NlcyBvZiBWYWx1ZSkgdG8gbGltaXQgdGVtcGxhdGUgZXhwbG9zaW9uCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQs
IFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cyYm
Li4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBl
LCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cyku
Li4pCisgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVu
dHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG51
bUNoaWxkcmVuRm9yS2luZChraW5kLCBzaXplb2YuLi4oYXJndW1lbnRzKSksIG9yaWdpbiwgc3Rh
dGljX2Nhc3Q8VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5k
KGtpbmQsIDEgKyBzaXplb2YuLi4oYXJndW1lbnRzKSk7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBU
eXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQot
ICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgY2hpbGRy
ZW4pCisgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmln
aW4sIFZhbHVlKiBmaXJzdENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG51bUNoaWxkcmVuRm9yS2luZChraW5k
LCAxICsgc2l6ZW9mLi4uKGFyZ3VtZW50cykpLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0YXRpY19j
YXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5k
LCBjaGlsZHJlbi5zaXplKCkpOwogICAgIH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1
bWVudHM+Ci0gICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmln
aW4gb3JpZ2luLCBBZGphY2VuY3lMaXN0JiYgY2hpbGRyZW4pCi0gICAgICAgIDogVmFsdWUoQ2hl
Y2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luLCBXVEZNb3ZlKGNoaWxkcmVuKSkKLSAgICB7
Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBtX2NoaWxkcmVuLnNpemUoKSk7Ci0gICAgfQotICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUo
S2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0gICAg
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8QXJn
dW1lbnRzPihhcmd1bWVudHMpLi4uKQotICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIHNp
emVvZi4uLihhcmd1bWVudHMpKTsKLSAgICB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IENoZWNrVmFsdWU7IC8vIENoZWNrVmFsdWU6OmNvbnZlcnRUb0FkZCgpIG1vZGlmaWVzIG1fa2lu
ZC4KLSAgICAKKwogICAgIHN0YXRpYyBUeXBlIHR5cGVGb3IoS2luZCwgVmFsdWUqIGZpcnN0Q2hp
bGQsIFZhbHVlKiBzZWNvbmRDaGlsZCA9IG51bGxwdHIpOwogCi0gICAgLy8gVGhpcyBncm91cCBv
ZiBmaWVsZHMgaXMgYXJyYW5nZWQgdG8gZml0IGluIDY0IGJpdHMuCisgICAgLy8gbV9pbmRleCB0
byBtX251bUNoaWxkcmVuIGFyZSBhcnJhbmdlZCB0byBmaXQgaW4gNjQgYml0cy4KIHByb3RlY3Rl
ZDoKICAgICB1bnNpZ25lZCBtX2luZGV4IHsgVUlOVF9NQVggfTsKIHByaXZhdGU6CiAgICAgS2lu
ZCBtX2tpbmQ7CiAgICAgVHlwZSBtX3R5cGU7Ci0gICAgCitwcm90ZWN0ZWQ6CisgICAgTnVtQ2hp
bGRyZW4gbV9udW1DaGlsZHJlbjsKK3ByaXZhdGU6CiAgICAgT3JpZ2luIG1fb3JpZ2luOwotICAg
IEFkamFjZW5jeUxpc3QgbV9jaGlsZHJlbjsKIAogICAgIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gg
c3RhdGljIHZvaWQgYmFkS2luZChLaW5kLCB1bnNpZ25lZCk7CiAKQEAgLTUxOCwxMyArNzMyLDcg
QEAKICAgICB7CiAgICAgfQogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
Ci0gICAgewotICAgICAgICBpZiAobV92YWx1ZSkKLSAgICAgICAgICAgIG1fdmFsdWUtPmRlZXBE
dW1wKG1fcHJvYywgb3V0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCI8
bnVsbD4iKTsKLSAgICB9CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIGNvbnN0IFByb2NlZHVyZSogbV9wcm9jOwpAQCAtNTQwLDYgKzc0OCwx
MTYgQEAKICAgICByZXR1cm4gRGVlcFZhbHVlRHVtcChudWxscHRyLCB2YWx1ZSk7CiB9CiAKKy8v
IFRoZSBmb2xsb3dpbmcgbWFjcm9zIGFyZSBkZXNpZ25lZCBmb3Igc3ViY2xhc3NlcyBvZiBCMzo6
VmFsdWUgdG8gdXNlLgorLy8gVGhleSBhcmUgbmV2ZXIgcmVxdWlyZWQgZm9yIGNvcnJlY3RuZXNz
LCBidXQgY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIGNoaWxkL2xhc3RDaGlsZC9udW1D
aGlsZHJlbi9jaGlsZHJlbiBtZXRob2RzLAorLy8gZm9yIHVzZXJzIHRoYXQgYWxyZWFkeSBrbm93
IHRoZSBzcGVjaWZpYyBzdWJjbGFzcyBvZiBWYWx1ZSB0aGV5IGFyZSBtYW5pcHVsYXRpbmcuCisv
LyBUaGUgZmlyc3Qgc2V0IGlzIHRvIGJlIHVzZWQgd2hlbiB5b3Uga25vdyBzb21ldGhpbmcgYWJv
dXQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBhbGwgdmFsdWVzIG9mIGEgY2xhc3MsIGluY2x1
ZGluZyBpdHMgc3ViY2xhc3NlczoKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJ
TERSRU46IGFsd2F5cyAwIGNoaWxkcmVuIChlLmcuIENvbnN0MzJWYWx1ZSkKKy8vIC0gQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4obik6IGFsd2F5cyBuIGNoaWxkcmVuLCB3
aXRoIG4gaW4gezEsIDIsIDN9IChlLmcuIFVwc2lsb25WYWx1ZSwgd2l0aCBuID0gMSkKKy8vIC0g
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU46IGRpZmZlcmVudCBu
dW1iZXJzIG9mIGNoaWxkcmVuLCBidXQgbmV2ZXIgYSB2YXJpYWJsZSBudW1iZXIgYXQgcnVudGlt
ZSAoZS5nLiBNZW1vcnlWYWx1ZSwgdGhhdCBjYW4gaGF2ZSBiZXR3ZWVuIDEgYW5kIDMgY2hpbGRy
ZW4pCisvLyAtIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU46IGFsd2F5
cyBhIHZhcmFyZ3MgKGUuZy4gQ0NhbGxWYWx1ZSkKKy8vIFRoZSBzZWNvbmQgc2V0IGlzIG9ubHkg
dG8gYmUgdXNlZCBieSBjbGFzc2VzIHRoYXQgd2Uga25vdyBhcmUgbm90IGZ1cnRoZXIgc3ViY2xh
c3NlZCBieSBhbnlvbmUgYWRkaW5nIGZpZWxkcywKKy8vIGFzIHRoZXkgaGFyZGNvZGUgdGhlIG9m
ZnNldCBvZiB0aGUgY2hpbGRyZW4gYXJyYXkvdmVjdG9yICh3aGljaCBpcyBlcXVhbCB0byB0aGUg
c2l6ZSBvZiB0aGUgb2JqZWN0KS4KKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxf
U0laRV9GSVhFRF9DSElMRFJFTgorLy8gLSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9T
SVpFX1ZBUkFSR1NfQ0hJTERSRU4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9f
Q0hJTERSRU4gXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gMDsg
fSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgeyByZXR1cm4g
e251bGxwdHIsIG51bGxwdHJ9OyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNv
bnN0Kj4gY2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB7IG51bGxwdHIsIG51bGxwdHJ9OyB9CisK
KyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4obikgXAorcHVi
bGljOiBcCisgICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBuOyB9IFwK
KyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBcCisgICAgeyBcCisgICAgICAgIEFT
U0VSVChpbmRleCA8PSBuKTsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4
XTsgXAorICAgIH0gXAorICAgIFZhbHVlKiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgXAor
ICAgIHsgXAorICAgICAgICBBU1NFUlQoaW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNo
aWxkcmVuQXJyYXkoKVtpbmRleF07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgp
IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAg
ICB9IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBy
ZXR1cm4gY2hpbGRyZW5BcnJheSgpW24gLSAxXTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0
b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqKiBi
dWZmZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZl
ciArIG4gfTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3Qq
PiBjaGlsZHJlbigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqIGNvbnN0KiBidWZm
ZXIgPSBjaGlsZHJlbkFycmF5KCk7IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciAr
IG4gfTsgXAorICAgIH0gXAorCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9W
QVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkg
Y29uc3QgeyByZXR1cm4gbV9udW1DaGlsZHJlbjsgfSBcCisgICAgVmFsdWUqJiBjaGlsZCh1bnNp
Z25lZCBpbmRleCkgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgfSBcCisgICAgVmFs
dWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClb
aW5kZXhdOyB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuQXJy
YXkoKVtudW1DaGlsZHJlbigpIC0gMV07IH0gXAorICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25z
dCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbbnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBX
VEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAg
IFZhbHVlKiogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVm
ZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJh
dG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAg
ICAgIFZhbHVlKiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJl
dHVybiB7YnVmZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKworI2Rl
ZmluZSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzog
XAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0
b3IoKS5zaXplKCk7IH0gXAorICAgIFZhbHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0
dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAg
ICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgpOyB9
IFwKKyAgICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3Io
KS5sYXN0KCk7IH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigp
IFwKKyAgICB7IFwKKyAgICAgICAgVmVjdG9yPFZhbHVlKiwgMz4mIHZlYyA9IGNoaWxkcmVuVmVj
dG9yKCk7IFwKKyAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVn
aW4oKSwgJip2ZWMuZW5kKCkpOyBcCisgICAgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZh
bHVlKiBjb25zdCo+IGNoaWxkcmVuKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBjb25zdCBW
ZWN0b3I8VmFsdWUqLCAzPiYgdmVjID0gY2hpbGRyZW5WZWN0b3IoKTsgXAorICAgICAgICByZXR1
cm4gV1RGOjptYWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7IFwK
KyAgICB9IFwKKworLy8gT25seSB1c2UgdGhpcyBmb3IgY2xhc3NlcyB3aXRoIG5vIHN1YmNsYXNz
IHRoYXQgYWRkIG5ldyBmaWVsZHMgKGFzIGl0IHVzZXMgc2l6ZW9mKCp0aGlzKSkKKy8vIEFsc28g
dGhlcmUgaXMgbm8gcG9pbnQgaW4gYXBwbHlpbmcgdGhpcyB0byBjbGFzc2VzIHdpdGggbm8gY2hp
bGRyZW4sIGFzIHRoZXkgZG9uJ3QgaGF2ZSBhIGNoaWxkcmVuIGFycmF5IHRvIGFjY2Vzcy4KKyNk
ZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTiBc
Citwcml2YXRlOiBcCisgICAgVmFsdWUqKiBjaGlsZHJlbkFycmF5KCkgXAorICAgIHsgXAorICAg
ICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhp
cykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIFZhbHVlKiBjb25zdCogY2hpbGRy
ZW5BcnJheSgpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxW
YWx1ZSogY29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0
aGlzKSk7IFwKKyAgICB9CisKKy8vIE9ubHkgdXNlIHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBz
dWJjbGFzcyB0aGF0IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisj
ZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJF
TiBcCitwcml2YXRlOiBcCisgICAgVmVjdG9yPFZhbHVlKiwgMz4mIGNoaWxkcmVuVmVjdG9yKCkg
XAorICAgIHsgXAorICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxWZWN0b3I8VmFsdWUqLCAz
Pio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0g
XAorICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0IFwK
KyAgICB7IFwKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKiwgMz4g
Y29uc3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7
IFwKKyAgICB9IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFC
TEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVJbmxpbmVz
LmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVl
SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOSArMjcsMTU3IEBACiAKICNpZiBFTkFC
TEUoQjNfSklUKQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVlLmgiCisjaW5jbHVkZSAi
QjNBdG9taWNWYWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5oIgogI2luY2x1ZGUgIkIz
Q2hlY2tWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgiCiAjaW5jbHVkZSAiQjND
b25zdDY0VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFsdWUuaCIKICNpbmNsdWRl
ICJCM0NvbnN0RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VWYWx1ZS5oIgorI2luY2x1
ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9pbnRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkIzUGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2luY2x1
ZGUgIkIzU2xvdEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNoVmFsdWUuaCIKKyNpbmNs
dWRlICJCM1Vwc2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUuaCIKKyNpbmNsdWRlICJC
M1ZhcmlhYmxlVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNzVmFsdWUuaCIKKyNpbmNs
dWRlICJCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0dyYXBoTm9kZVdv
cmtsaXN0Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCisjZGVmaW5lIERJ
U1BBVENIX09OX0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2ggKGtpbmQoKS5vcGNvZGUoKSkgeyBc
CisgICAgY2FzZSBGcmFtZVBvaW50ZXI6IFwKKyAgICBjYXNlIE5vcDogXAorICAgIGNhc2UgUGhp
OiBcCisgICAgY2FzZSBKdW1wOiBcCisgICAgY2FzZSBPb3BzOiBcCisgICAgY2FzZSBFbnRyeVN3
aXRjaDogXAorICAgIGNhc2UgUmV0dXJuOiBcCisgICAgY2FzZSBJZGVudGl0eTogXAorICAgIGNh
c2UgT3BhcXVlOiBcCisgICAgY2FzZSBOZWc6IFwKKyAgICBjYXNlIENsejogXAorICAgIGNhc2Ug
QWJzOiBcCisgICAgY2FzZSBDZWlsOiBcCisgICAgY2FzZSBGbG9vcjogXAorICAgIGNhc2UgU3Fy
dDogXAorICAgIGNhc2UgU0V4dDg6IFwKKyAgICBjYXNlIFNFeHQxNjogXAorICAgIGNhc2UgVHJ1
bmM6IFwKKyAgICBjYXNlIFNFeHQzMjogXAorICAgIGNhc2UgWkV4dDMyOiBcCisgICAgY2FzZSBG
bG9hdFRvRG91YmxlOiBcCisgICAgY2FzZSBJVG9EOiBcCisgICAgY2FzZSBEb3VibGVUb0Zsb2F0
OiBcCisgICAgY2FzZSBJVG9GOiBcCisgICAgY2FzZSBCaXR3aXNlQ2FzdDogXAorICAgIGNhc2Ug
QnJhbmNoOiBcCisgICAgY2FzZSBEZXBlbmQ6IFwKKyAgICBjYXNlIEFkZDogXAorICAgIGNhc2Ug
U3ViOiBcCisgICAgY2FzZSBNdWw6IFwKKyAgICBjYXNlIERpdjogXAorICAgIGNhc2UgVURpdjog
XAorICAgIGNhc2UgTW9kOiBcCisgICAgY2FzZSBVTW9kOiBcCisgICAgY2FzZSBCaXRBbmQ6IFwK
KyAgICBjYXNlIEJpdE9yOiBcCisgICAgY2FzZSBCaXRYb3I6IFwKKyAgICBjYXNlIFNobDogXAor
ICAgIGNhc2UgU1NocjogXAorICAgIGNhc2UgWlNocjogXAorICAgIGNhc2UgUm90UjogXAorICAg
IGNhc2UgUm90TDogXAorICAgIGNhc2UgRXF1YWw6IFwKKyAgICBjYXNlIE5vdEVxdWFsOiBcCisg
ICAgY2FzZSBMZXNzVGhhbjogXAorICAgIGNhc2UgR3JlYXRlclRoYW46IFwKKyAgICBjYXNlIExl
c3NFcXVhbDogXAorICAgIGNhc2UgR3JlYXRlckVxdWFsOiBcCisgICAgY2FzZSBBYm92ZTogXAor
ICAgIGNhc2UgQmVsb3c6IFwKKyAgICBjYXNlIEFib3ZlRXF1YWw6IFwKKyAgICBjYXNlIEJlbG93
RXF1YWw6IFwKKyAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6IFwKKyAgICBjYXNlIFNlbGVjdDog
XAorICAgICAgICByZXR1cm4gTUFDUk8oVmFsdWUpOyBcCisgICAgY2FzZSBBcmd1bWVudFJlZzog
XAorICAgICAgICByZXR1cm4gTUFDUk8oQXJndW1lbnRSZWdWYWx1ZSk7IFwKKyAgICBjYXNlIENv
bnN0MzI6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0MzJWYWx1ZSk7IFwKKyAgICBjYXNl
IENvbnN0NjQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0NjRWYWx1ZSk7IFwKKyAgICBj
YXNlIENvbnN0RmxvYXQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0RmxvYXRWYWx1ZSk7
IFwKKyAgICBjYXNlIENvbnN0RG91YmxlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdERv
dWJsZVZhbHVlKTsgXAorICAgIGNhc2UgRmVuY2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKEZl
bmNlVmFsdWUpOyBcCisgICAgY2FzZSBTbG90QmFzZTogXAorICAgICAgICByZXR1cm4gTUFDUk8o
U2xvdEJhc2VWYWx1ZSk7IFwKKyAgICBjYXNlIEdldDogXAorICAgIGNhc2UgU2V0OiBcCisgICAg
ICAgIHJldHVybiBNQUNSTyhWYXJpYWJsZVZhbHVlKTsgXAorICAgIGNhc2UgTG9hZDhaOiBcCisg
ICAgY2FzZSBMb2FkOFM6IFwKKyAgICBjYXNlIExvYWQxNlo6IFwKKyAgICBjYXNlIExvYWQxNlM6
IFwKKyAgICBjYXNlIExvYWQ6IFwKKyAgICBjYXNlIFN0b3JlODogXAorICAgIGNhc2UgU3RvcmUx
NjogXAorICAgIGNhc2UgU3RvcmU6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKE1lbW9yeVZhbHVl
KTsgXAorICAgIGNhc2UgU3dpdGNoOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhTd2l0Y2hWYWx1
ZSk7IFwKKyAgICBjYXNlIFVwc2lsb246IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFVwc2lsb25W
YWx1ZSk7IFwKKyAgICBjYXNlIFdhc21BZGRyZXNzOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhX
YXNtQWRkcmVzc1ZhbHVlKTsgXAorICAgIGNhc2UgV2FzbUJvdW5kc0NoZWNrOiBcCisgICAgICAg
IHJldHVybiBNQUNSTyhXYXNtQm91bmRzQ2hlY2tWYWx1ZSk7IFwKKyAgICBjYXNlIEF0b21pY1hj
aGdBZGQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBbmQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdP
cjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1N1YjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1hvcjog
XAorICAgIGNhc2UgQXRvbWljWGNoZzogXAorICAgIGNhc2UgQXRvbWljV2Vha0NBUzogXAorICAg
IGNhc2UgQXRvbWljU3Ryb25nQ0FTOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhBdG9taWNWYWx1
ZSk7IFwKKyAgICBjYXNlIENDYWxsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDQ2FsbFZhbHVl
KTsgXAorICAgIGNhc2UgQ2hlY2s6IFwKKyAgICBjYXNlIENoZWNrQWRkOiBcCisgICAgY2FzZSBD
aGVja1N1YjogXAorICAgIGNhc2UgQ2hlY2tNdWw6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENo
ZWNrVmFsdWUpOyBcCisgICAgY2FzZSBQYXRjaHBvaW50OiBcCisgICAgICAgIHJldHVybiBNQUNS
TyhQYXRjaHBvaW50VmFsdWUpOyBcCisgICAgZGVmYXVsdDogXAorICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyBcCisgICAgfQorCitBTFdBWVNfSU5MSU5FIHNpemVfdCBWYWx1
ZTo6YWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0Cit7CisjZGVmaW5lIFZBTFVFX1RZUEVfU0la
RShWYWx1ZVR5cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFUQ0hfT05fS0lORChWQUxV
RV9UWVBFX1NJWkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQorCitBTFdBWVNfSU5MSU5F
IFZhbHVlKiBWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3sKKyNkZWZpbmUgVkFMVUVfVFlQRV9D
TE9ORShWYWx1ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRpY19jYXN0PGNvbnN0IFZh
bHVlVHlwZSo+KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQRV9DTE9ORSk7
CisjdW5kZWYgVkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCb3R0b21Q
cm92aWRlcj4KIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNvbnN0IEJvdHRvbVByb3Zp
ZGVyJiBib3R0b21Qcm92aWRlcikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhcmlhYmxlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1ZhcmlhYmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMg
KzQxLDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fdmFyaWFibGUpKTsK
IH0KIAotVmFsdWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG5ldyBWYXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFibGVWYWx1ZTo6VmFyaWFi
bGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSwgVmFs
dWUqIHZhbHVlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgb3JpZ2lu
LCB2YWx1ZSkKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIE9uZSwgb3Jp
Z2luLCB2YWx1ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtp
bmQgPT0gU2V0KTsKQEAgLTU0LDcgKzQ5LDcgQEAKIH0KIAogVmFyaWFibGVWYWx1ZTo6VmFyaWFi
bGVWYWx1ZShLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSkKLSAg
ICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIG9yaWdpbikK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIFplcm8s
IG9yaWdpbikKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtpbmQg
PT0gR2V0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVl
LmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zhcmlh
YmxlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDE1IEBACiAKICAgICBWYXJp
YWJsZSogdmFyaWFibGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxlOyB9CiAKKyAgICBCM19T
UEVDSUFMSVpFX1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJ
WkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAog
ICAgIC8vIFVzZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1ZShLaW5kLCBPcmlnaW4s
IFZhcmlhYmxlKiwgVmFsdWUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dh
c21BZGRyZXNzVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1dhc21BZGRyZXNzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDM1OTcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksMTMgKzM5LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcGlubmVkR1BSKTsKIH0KIAot
VmFsdWUqIFdhc21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBXYXNtQWRkcmVzc1ZhbHVlKCp0aGlzKTsKLX0KLQogV2FzbUFkZHJlc3NWYWx1ZTo6V2Fz
bUFkZHJlc3NWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIEdQUlJlZyBwaW5uZWRH
UFIpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQsIG9yaWdp
biwgdmFsdWUpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQs
IE9uZSwgb3JpZ2luLCB2YWx1ZSkKICAgICAsIG1fcGlubmVkR1BSKHBpbm5lZEdQUikKIHsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgJ
KHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRy
ZXNzVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTQgKzQwLDE3IEBACiAKICAgICBHUFJS
ZWcgcGlubmVkR1BSKCkgY29uc3QgeyByZXR1cm4gbV9waW5uZWRHUFI7IH0KIAorICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9W
QUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwog
Ci0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAg
c3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1ZSosIEdQUlJl
ZykgeyByZXR1cm4gV2FzbUFkZHJlc3M7IH0KICAgICBXYXNtQWRkcmVzc1ZhbHVlKE9yaWdpbiwg
VmFsdWUqLCBHUFJSZWcpOwogCiAgICAgR1BSUmVnIG1fcGlubmVkR1BSOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmNwcAko
cmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5k
c0NoZWNrVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiB9CiAKIFdh
c21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBH
UFJSZWcgcGlubmVkU2l6ZSwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KQotICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4sIHB0cikKKyAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBvcmlnaW4sIHB0cikKICAg
ICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShUeXBlOjpQaW5uZWQpCiB7
CkBAIC00NCw3ICs0NCw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRz
Q2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvZmZzZXQsIHNp
emVfdCBtYXhpbXVtKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNr
LCBvcmlnaW4sIHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVj
aywgT25lLCBvcmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91
bmRzVHlwZShUeXBlOjpNYXhpbXVtKQogewpAQCAtNTUsMTEgKzU1LDYgQEAKICAgICBtX2JvdW5k
cy5tYXhpbXVtID0gbWF4aW11bTsKIH0KIAotVmFsdWUqIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpj
bG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUJvdW5kc0NoZWNrVmFsdWUo
KnRoaXMpOwotfQotCiB2b2lkIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpkdW1wTWV0YShDb21tYVBy
aW50ZXImIGNvbW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIHN3aXRjaCAobV9i
b3VuZHNUeXBlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRz
Q2hlY2tWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dh
c21Cb3VuZHNDaGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0MzU5NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDE1ICszNCw3IEBACiAKIGNsYXNzIFdhc21Cb3VuZHNDaGVja1ZhbHVlIDogcHVibGljIFZhbHVl
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkKLSAgICB7Ci0g
ICAgICAgIHN3aXRjaCAoa2luZC5vcGNvZGUoKSkgewotICAgICAgICBjYXNlIFdhc21Cb3VuZHND
aGVjazoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAgIHN0YXRpYyBib29sIGFj
Y2VwdHMoS2luZCBraW5kKSB7IHJldHVybiBraW5kID09IFdhc21Cb3VuZHNDaGVjazsgfQogICAg
IAogICAgIH5XYXNtQm91bmRzQ2hlY2tWYWx1ZSgpOwogCkBAIC02MCwxNSArNTIsMjAgQEAKICAg
ICBUeXBlIGJvdW5kc1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kc1R5cGU7IH0KICAgICBC
b3VuZHMgYm91bmRzKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHM7IH0KIAorICAgIEIzX1NQRUNJ
QUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxV
RV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBk
dW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0g
ICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3Rh
dGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBHUFJSZWcsIFZhbHVlKiwg
dW5zaWduZWQpIHsgcmV0dXJuIFdhc21Cb3VuZHNDaGVjazsgfQogICAgIEpTX0VYUE9SVF9QUklW
QVRFIFdhc21Cb3VuZHNDaGVja1ZhbHVlKE9yaWdpbiwgR1BSUmVnIHBpbm5lZEdQUiwgVmFsdWUq
IHB0ciwgdW5zaWduZWQgb2Zmc2V0KTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNv
bnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqLCB1bnNpZ25lZCwgc2l6ZV90KSB7IHJldHVybiBXYXNt
Qm91bmRzQ2hlY2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBXYXNtQm91bmRzQ2hlY2tWYWx1
ZShPcmlnaW4sIFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IG1heGltdW0pOwog
CiAgICAgdW5zaWduZWQgbV9vZmZzZXQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
dGVzdGIzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIz
LmNwcAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3Ri
My5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzQyLDcgKzEwNzQyLDcgQEAKICAgICBDQ2FsbFZh
bHVlKiBjYWxsID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJ
bnQzMiwgT3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihw
cm9jLCBPcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFy
Z3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZl
Y3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3Qt
PmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApA
QCAtMTA3NjgsNyArMTA3NjgsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBl
bmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDY0LCBPcmlnaW4oKSwKICAgICAg
ICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVu
Y3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMiwgQjNDQ2FsbFB0clRh
ZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxs
LT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1
ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA3OTAsNyArMTA3OTAsNyBA
QAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAg
ICAgICAgIHByb2MsIEludDMyLCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENv
bnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0
aW9uV2l0aEhlbGxhQXJndW1lbnRzMywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGls
ZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwog
ICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdp
bigpLCBjYWxsKTsKIApAQCAtMTA4OTAsNyArMTA4OTAsNyBAQAogICAgIENDYWxsVmFsdWUqIGNh
bGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIERvdWJsZSwg
T3JpZ2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBP
cmlnaW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYURvdWJsZUFy
Z3VtZW50cywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZl
Y3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3Qt
PmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApA
QCAtMTA5MTQsNyArMTA5MTQsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBl
bmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEZsb2F0LCBPcmlnaW4oKSwKICAgICAg
ICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVu
Y3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1bWVudHMsIEIzQ0NhbGxQ
dHJUYWcpKSk7Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAg
Y2FsbC0+YXBwZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9s
VmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkocmV2aXNpb24gMjQzNTk3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgwLDcgKzM4MCw3
IEBACiAgICAgTFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBW
ZWN0b3JUeXBlJiB2ZWN0b3IpCiAgICAgewogICAgICAgICBCMzo6Q0NhbGxWYWx1ZSogcmVzdWx0
ID0gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3Byb2MsIHR5cGUsIG9yaWdp
bigpLCBmdW5jdGlvbik7Ci0gICAgICAgIHJlc3VsdC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3Io
dmVjdG9yKTsKKyAgICAgICAgcmVzdWx0LT5hcHBlbmRBcmdzKHZlY3Rvcik7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIExWYWx1ZSBjYWxsKExUeXBlIHR5cGUsIExWYWx1ZSBm
dW5jdGlvbikgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3By
b2MsIHR5cGUsIG9yaWdpbigpLCBmdW5jdGlvbik7IH0K
</data>
<flag name="review"
          id="382679"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>367458</attachid>
            <date>2019-04-15 14:23:44 -0700</date>
            <delta_ts>2019-04-15 14:23:44 -0700</delta_ts>
            <desc>Numbers file measuring the JetStream2 impact</desc>
            <filename>Numbers196091.numbers</filename>
            <type>application/zip</type>
            <size>428604</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">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
xwEFAOABBQD5AQUgkh8KAwirH8IMAQ0Ugh0KAwiZAQUAsAEFAMcBBQDeAQUo9R0TCIIdEg4I+C4W
tQmgBSoC9h8aAwj2H78CCPYfEpkCCOcwEgMCBAAYrgEiCQoDCgEbEAEYACIFCwQaEBULABkZCwAY
GQsAFxkLACAZCwAfGQsAHhkLAB0ZCwAcGQsAERkLABAZCwAPGQsADhkLAA0ZCwAWGQsAFRkLABQZ
CwATGQsAEgEL0Cow7BzuHO8c8BztHLEbshuAHYEd8RzyHPMc9Bz1HPYc9xz4HPkc+hz7HPwc/Rz+
HP8cEh4IJRsUAAAYOSoSRj4AKAoDCLIbEgMIsRsaAQUAIgEFqCoDCO0cMgMI7hw6AwjvHEIDCPAc
SgMI7BxSAwiAHVoDCIEdYABqAwixG3IBLwB6AQUAgg6qDQAbDsgNBLEbDsgN8FXxHJoBAwjyHKIB
AwjzHKoBAwj0HLIBAwj1HLoBAwj7HMIBAwj8HMoBAwj9HNIBAwj+HNoBAwj/HOIBAwj2HOoBAwj3
HPIBAwj4HPoBAwj5HIICAwj6HOKuAAwTCJkdNkECAPdBQSD3H8cCCPcfEp3+QQL+QQL+QQKiQQLY
NIMdhR2GHYcdhB2xG7UbtBuyG5cdmB2IHYkdih2LHYwdjR2OHY8dkB2RHZIdkx2UHZUdlh0SImlg
RUUAFlZCADKbAQC1QUkAtEFJZIQdMgMIhR06AwiGHUIDCIcdSgMIgx1SAwiXQUkcmB1gAWoDCLVB
SQC1QUkAtUVJALVFSQC1RUkEiB1BSQSJHUFJBIodQUkEix1BSQSMHUFJBJIdQUl8kx3KAQMIlB3S
AQMIlR3aAQMIlh3iAQMIjR3qAQMIjh1BSQSPHUFJBJAdQUkAkeauAAgTCLA6SQIA+EFJAPiBigD4
/ooE/ooE/ooEsooEwJodnB2dHZ4dmx2zG7Ibrh2vHZ8doB2hHaIdox2kHaUdph2nHagdqR2qHasd
rB2tHRIyigRGPgBRQQCzgYoAs0FBFLMbKgMIm0FBAJxBQQCdQUEAnkFBAJpBQQCuQUEcrx1gAmoD
CLNBQQCzQUEAs0VBALNFQQCzRUEAn0VBAKBFQQChRUEAokVBAKNFQQCpRUEAqkVBAKtFQQCsRUEA
rUVBAKRFQQClRUEApkVBAKdFQQCo5q4ACBMIxzpBAgD5QUEA+YGKAPn+igT+igT+igSyigTYsR2z
HbQdtR2yHbMbthu3G7IbxR3GHbYdtx24Hbkduh27HbwdvR2+Hb8dwB3BHcIdwx3EHRIiCNnPABZW
QgAySQIAtkFJALdBSQCyQUkAs0FJALRBSQC1QUkAsUFJAMVBSRzGHWADagMItkFJALZBSQC2RUkA
tkVJALZFSQC2RUkAt0VJALhFSQC5RUkAukVJAMBFSQDBRUkAwkVJAMNFSQDERUkAu0VJALxFSQC9
RUkAvkVJAL/mrgAIEwjeOkkCAPpBSQD6gYoA+v6KBP6KBP6KBLKKBCDIHcodyx3MHcmFioDcHd0d
zR3OHc8d0B3RHdId0x3UHdUd1h3XHdgd2R3aHds6igRGPgAyQQKZihTJHTIDCMpBQQDLQUEAzEFB
AMhBQQDcQUEM3R1gBHqKBADNRUEAzkVBAM9FQQDQRUEA0UVBANdFQQDYRUEA2UVBANpFQQDbRUEA
0kVBANNFQQDURUEA1UVBANbmrgAIEwj1OkECAPtBQQD7QUEA+/5BAv5BAv5BArJBAiTfHeEd4h3j
HeAdDlULgPMd9B3kHeUd5h3nHegd6R3qHesd7B3tHe4d7x3wHfEd8jpBAkY+AFFBOlULAOBBQQDh
QUEA4kFBAONBQQDfQUEA80FBDPQdYAV6VQsA5EVBAOVFQQDmRUEA50VBAOhFQQDuRUEA70VBAPBF
QQDxRUEA8kVBAOlFQQDqRUEA60VBAOxFQQDt5q4AJEAIrh4SOwicJxIS8RrAiQEqLpYelx6YHpke
mh6bHpwenR6eHp8eoB6iHqMepB6lHqYepx6oHqkeqh6rHqwerQ71DSiWHhIDCJceGgMImAEFGJke
IgMImh7h+AEFAJwBBQCdAQUAngEFAJ8BBRSgHjIDCKIBBQCjAQUApAEFAKUBBQCmAQUApwEFAKgB
BQCpAQUAqgEFAKsBBXysHjoQ+L8qlK0cQNKd03yefUqrloLxBAUKAwitHkAIxz7KALCvHrAesR6y
HrMetB61HrYetx64Hrkeux68Hr0evh6/HsAewR7CHsMexB7FHsYBygCvAcoAsAHFALEBBQCyAcoA
swGxALQBBQC1AQUAtgEFALcBBQC4AQUAuQGYALsBBQC8AQUAvQEFAL4BBQC/AQUAwAEFAMEBBQDC
AQUAwwEFAMQBBUzFHjoQ2EIerLoeR/en/R6MLri1/g3KEMYeQAjgPsoAsMgeyR7KHssezB7NHs4e
zx7QHtEe0h7UHtUe1h7XHtge2R7aHtse3B7dHt4e3wHKAMgBygDJAcUAygEFAMsBygDMAbEAzQEF
AM4BBQDPAQUA0AEFANEBBQDSAZgA1AEFANUBBQDWAQUA1wEFANgBBQDZAQUA2gEFANsBBQDcAQUA
3QEFTN4eOhDorxEJrgFHz6861kDuAr82DcoQ3x5ACPk+ygCw4R7iHuMe5B7lHuYe5x7oHuke6h7r
Hu0e7h7vHvAe8R7yHvMe9B71HvYe9x74AcoA4QHKAOIBxQDjAQUA5AHKAOUBsQDmAQUA5wEFAOgB
BQDpAQUA6gEFAOsBmADtAQUA7gEFAO8BBQDwAQUA8QEFAPIBBQDzAQUA9AEFAPUBBQD2AQVM9x46
EEXL5rpsQk6+pALWpc91cN0NyhT4HkAIkh86KAOw+h77Hvwe/R7+Hv8egB+BH4Ifgx+EH4Yfhx+I
H4kfih+LH4wfjR+OH48fkB+RDiURAPoBygD7AcUA/AEFAP0BygD+AbEA/wEFFIAfKgMIgQEFAIIB
BQCDAQUAhA5dHgCGAQUAhwEFAIgBBQCJAQUAigEFAIsBBQCMAQUAjQEFAI4BBQCPAQVMkB86EHeA
88SA20PhqXg/3PWtYmANyhCRH0AIqz7KALCTH5QflR+WH5cfmB+ZH5ofmx+cH50fnx+gH6Efoh+j
H6QfpR+mH6cfqB+pH6oByhSTHxIDCJTBagCVAQUAlg4OHwCXAbEAmAEFAJkBBQCaAQUAmwEFAJwB
BQCdAZgAnwEFAKABBQChAQUAogEFAKMBBQCkAQUApQEFAKYBBQCnAQUAqAEFTKkfOhB4LvurTu1E
PZujp28Qt0sdDcokqh8TCOYfEg4IzRqtHwwFKgLyAZgQ8h8VCPIOdhwRGRQKKgT8H6wBGwD8Aa4Q
rB8TCPw6OQAYwx8aAwjDH1BLAwQUAAAAAADUco9OAAaM/sQCAADEAgAAEwAAAEluZGV4L1ZpZXdT
dGF0ZS5pd2EAwAIArQpsFAi0IRIPCNIBEgMBAAUYBioDxv09CgQIxv09NAEFEBIuCPpdCRzwQ+MB
KiHH/T3I/T3J/T3K/T3L/T3M/T3N/T3O/T3P/T3Q/T3R/T0IADAAcAF4AIgBAJABAZgBAaIBCg0A
AIBBFQAAEUOqAQ0ggJ1EFQAglkSyAQ04ACBFFQAAtETCAR4KBAjHBXwAyAUGAMkFBgDKBQbwQ8v9
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
0gEWRMfZ/rWy+7GgYRCUv/GrgeqY+AEWRO/q5tiJl/6lDxC4g6bit5ao+gFvoJW6hZPwgvii0AEQ
s/3tmL+hnYMwIhQIntewsuut4qIMEKm1r5LAxo6GARZEvZqQw9DN86EyEL6Du82N052jARag+/ne
5vL3qqBbELu/rYHC+qO8MCIVCNnK08fJs5qilAEQi4OQgbDZm9cBF0iZwfb1rLCOo8oBELnTnJT+
67fXARdI2Y2t2/LI4aTiARCF4ei7ob3q8wEXSJSXsLa3u/ml5gEQqa+ylJHSgPoBckS8qJ6ml5Xm
p1AQmP2z7PDU7fwBFkSQ64zYudSGoUgQva/C7OWlrv0BQ6jlh/CMorfKo44BEIqduKmTyZ6GMSIV
CMDhkoqinoygugEQm53jufnu2YkxAfhA0vvqoZCxoVkQurfO24HXvJkBLUjnyK/ngfbDpP4BEKbL
+oLK9oG8AReg1bvPnoXezKanARCw+5aUspzkxjEiFAjYtKXmtd3BpzAQgovlnry6gdQBFkTB9sne
m934oiEQgse7i+rD+eMBQ0ikibn3hvuyo48BEKXJ0/2VmYf2ARdIu7/1pr+l8qCYARCK566Plcz3
+wEXGOjrnKrno/sBLniEu8CurJ7zjzIiFQixtL/Sm/nWofsBEKPlupmBmd2lARdI/Y7s9dSgo6e8
ARC277+5xYHTqQEXoKGs4LDtv5ugqgEQmLX4mtntrqoyIhMIzuyKn7yosSAQvsnapp/vyLIyDlUO
9KgB6LGE/KyhovABEKW7zbC4lLC4MiIUCKSFuZLVnMKiFhC3t9XjptDR3DIiFAi3kty53MKnpyQQ
pufppayT5+IyIhQI+uvEjry+vKM9EJvJiI/itIDmMiIVCMTHnuKYgsCjvwEQvqOejIa1v+kyIhQI
uMCxw8+a0KMjEKG/1ZfJmIXzMiIVCLKXktfG+NymgwEQl8/LvfDl9fUyIhUIlq+5nLDc1KTqARCE
69zN3Pmx/jIiFAj0wtWYpeLjpCgQo8eMrsKmk4IzIhUIoJT4jp7J26LRARCa1eC+ifTJhzMiFQjk
uJPal5Ouo+sBEJbD79zfg+G+MyIVCOCjl5fo0filggEQovPvgMPau8YzIhUIqPfmrNjQ56PzARC7
rbuCnNbHyzMiFQjnieLju8PlougBEJ6RydWy0vzMMyIUCPqFh7KZ6bOiExCLh+qf4L74zjMiFAiH
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
poffkEIOOglEn9rh6b2roJkBEJOprv3055qWAUREuf2gjaPnmaBFEI6tm+vJ+pSpARZE4p2Kxuy9
x6A+EJKDxPfuzKm5ARZE17rK08HLo6IREKDbn/2KpYDbARZImrqSgMrpjrRpEMjprJmD64iIQw6Z
DkSO2rbSyoajmAEQuaXS47DisJABFyDFrbrT+Iueo93h5myFn+XuipRDIhQIoY6Vh5iV66YxEJ/V
2uyoopifAS0Y6cXuvKK2jA5bDRiGt4XJtfejBRdIjKr1zYLMq6bVARCo5+ffjc6GoQEuSJyRjeCz
gOqhgQEQl/+qkbTUuKYBW0Smos/0sP/zpjAQiouo/9rLt78BLUiix6/G89zppugBEI7pv6LGqbLA
AS1EyO+3k46+9qZbEIbNiOzhuLHCAS1I7aTK16e6waD7ARCl97uqlJ6J1gEt8D7gqIz8jLrdogoQ
hd2esbPi2oBEIhUIv722gavl+KS9ARCyl/TOs6O0hkQiFAjdhYuc+K7Q5i0Q0vmlhZCE3qEBLUjS
nPns7LD/oLUBEKyL9Kjgi/+1ARdIkcqa8o/qj6X+ARCB/9zywN7augEXSMaOi5TogI6l2gEQs9+F
o+XixsEBW0TPq9q3x7SYpEkQpqfEgoTQxMUBFkSsloOazpONpxQQg/3595isz+cBQ0iCyOvSpOvr
os4BEJ+V8s6Uy6DoAS1IguuvvfKowKB1EIORq6G9gbGRRUFgoNu6odOR+aEsEK/x5vqEkbaSRSIV
CKH/u9OT3fCj0QEQsZGUteLghKBFwWhAvumv2Lifo2IQpe+Boqbj2qYBLUj21Zf/57S3pPYBEIDV
maH8xqOrARdI/8nn8/65u6fMARCKt439j6yTtAFxROTDnPeihYWlCRCLueea+drHxAEWRICh8sTA
i92hVxCf2+DFwOWqygFDSOKCjKn/tvyhmQEQt63oseyV2tEBF0iildf8pPiaoMgBELfPpYHEmJfa
ARdI9ejlrrm2haWXARCq5dz3n+KQ3QEXSNjp+uOry4r2kgEQtui5wYfMh+UBckTThK2nvYvzoSkQ
tu+83o7Q3PkBLaDSyLfzg5+NoegBEJenxOyRgrKMRiIUCMue0IjJxNmkURCZzYTu4J/EowEWoIOD
86PZzd+hShCv2dCTnJv+pUYiFQjxk72F55fJp6sBEJqV4MKHl9rKARdIg/fGnJHgoqbGARCjt/DB
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
1dT81KavARCC24/s17Sq12wiFAjc3vWs0f28ojgQkbnK/ZX/u5VtIhQI97O79qTfgqIyEJKv8O/r
iMGZbSIVCO/ux860j+mjjwEQhMnzh9670MNtIhQI1aSys77f6qcRELStv8O51cT2bSIVCJC215qm
uemktwEQo9e8qIfa7fltIhQIypSM8/yfsaMZEJGF1432+LuEbiIUCIDzkaPEh+OgNhC2jYzZ3s3w
iW4iFQjq1tbjjaLRocsBEKP1rLShiomVbiIVCK7y3aqsg4+hqQEQvqXfvYf2yqFuIhUIys/cxKKa
hKW4ARCi7bb1ipj0oW4iFAjqg7/H4MqYoScQmefgw8iyr6ZuIhQI67jrobLX06VFEJ3TysLxkNjB
biIUCOfc8YKxu7KleBChx5zWvYerxm4iFAjSxLH6gKHkpgYQusO4rMv18sduIhQIqdbK1KzshKVa
EKGVuJiFma/LbiIUCJabgtOVh4ShcRCH58+S/K+Y1G4iFAjshu3G85KeohcQpu389MjqyNhuIhQI
7YCj2NjI36JnELbLy+j+0tf5biIVCO/0//qIx7KnuwEQvL+KnrPv4pdvIhQIyPGQn4+8sqMuEKit
htz0+faZbyIVCJeQ2ufkztanwQEQhZftxbW01qZvIhUI4a27iciB26T1ARC934+Iz6+buW8iFQiL
t6rA26TGoLoBEI29+9SoxIi+byIVCIiamZeWr+GiyQEQmZXK8NHV3sNvIhQIjPS6mpGOuKB5EKej
0OSJlMHNbyIVCPHojYO9ju+j8gEQur3gn7Lu7dJvIhUIx4W8ts2636KCARC8x4e7x5OD628iFQiK
2qiShI7VovsBEI2t7sGn7cn6byIVCNrjy5q6hcKlnQEQr8PLt4rqo/tvIhQIt8WN7Ziq26dIEL3V
2LbAnef/byIUCOfh8I3V0vChbRCQu9H7yvGwgnAiFQi06eDIuYu4p9gBEI6pldrxoo2OcCIVCOiu
w8DHkIKgqgEQi++SkpDZ4JJwIhQI4vr9zZOW/6JREI3nvOzj9velcCIVCMy0z9TYvZqn3AEQtpuS
vtygtalwIhQI/JPXrYT7uaYeEIat4YL71pW5cCIUCJDIx4Xb1KSiAhCnp+DF+pngwHAiFAim0ffw
56/ToBAQo+/mnM+XmsVwIhQIzKiG2tOOnKJtEISLn7yfhcLMcCIUCNqthNXmop+hOhCU5dXLhaOW
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
oC4QvffU9a3IpoOAASIWCLTQkojBi6CnrgEQmJPYu9683YOAASIWCNm2lrnc15KnzwEQjK3NjbSt
joSAASIVCOz3tvyMiKGhehCXz6udjJbh4oABIhYIpf72u++T06KcARCQn5SMs4jV54ABIhYIreLW
75ufzqKyARCWy4XIkuDm7oABIhUI3fiTmM7c9KUtEL39tojrosT2gAEiFQiayJyUqOyHoUoQm9Ol
seOEkPiAASIWCP6tya7327+isgEQgM3Mhtiy9/mAASIVCO2Z/pDnk9WhNBCow8Hsuq/UqoEBIhYI
w7bQ7oy/0KCwARCYv6PwnbzRs4EBIhYIjtmL+ISB8aKvARCF5e/2i+qIxIEBIhUInIrY/9LDyaMg
EIPB4NqhksfGgQEiFgjGgo+Ni6rJoP4BELDZkYrbkY3LgQEiFgj0+Muw9NDQpoIBEJizvK//wtnf
gQEiFQjDmqmanqOkoVYQmpHX+ommj/2BASIWCKCSg4PK5b2n0AEQre2pjLXH9ZSCASIVCK2+g6ed
gfikTRCdpZWPnbT7noIBIhYIho3PhbyGtaHpARCcg9vo6uLGx4IBIhYI+pGrgNyvlaDgARCq993Q
uKDS0IIBIhYIgOCBmNnNhafzARCQt/L61NqR5oIBIhYI0ujx4Nuz/aH7ARCaq96ExrqN7oIBIhUI
ntmlneLwy6U1EJav28HfgtiKgwEiFQiE3JqA5PrbpVAQgO/t1+rri6uDASIVCNav3K6BhfigDBCs
p5TgsvCFtYMBIhYInM+Ojp2dzaP8ARCZ07Dw7N7UvIMBIhUIz5Ce4MO+3aIhEJ2prr3c0ojEgwEi
FgjdtbCU2Nmhob8BELODgtznnqnWgwEiFQi157rx5dWsoh4Qso/fvZjwle+DASIVCNzGza7sjt2k
IBC4076S84bs8IMBIhUI64bx0ZCtt6Y4EIefnt33waKEhAEiFgib4duIlrOxp+wBEIfzyaTI4LKE
hAEiFQjnhbrWvYzM9WQQ0KmO2uyXs4qEASIVCN6Y4MbE6MehXxCDy+CauZv8ioQBIhUIsayRx5ij
uaRnEIah47fr7MuLhAEiFQiu3NOBy+ygojYQm+2JypL5jqGEASIWCICdot3Vy8ei4QEQu4HIzYa6
hMCEASIVCJLw3rWooL+hERCD0dqM2JPC24QBIhUIoYiil/XF16dlEJz7hfTrjP7ghAEiFQiV29Pj
oZfzoVwQv4HQ4Y/QxP2EASIVCL/y2NyArI2kcRCIm9iHzfLCiYUBIhYI34js8fHq4KabARC4/9fr
tsjKjIUBIhUIiNyhwanR0qdIEIOD+8Oyg92PhQEiFgiPqYm+1r7OpvcBEJTZ/YaT6a+WhQEiFQi2
jum9uqPppSwQpaOzl7z77p6FASIWCKTb+5jn0ZGjmwEQjpOUy7DUo6CFASIVCKju2ILgurGhBxCd
2aWJxqmloYUBIhYIi6WhiuSzmqHLARCFtcKT1qyFq4UBIhUIlL2utYy76qAhELDZh+jT97ivhQEi
Fgj1gOmrg5jRoIABEL3nmdTum6u7hQEiFgjb9LP36prboPEBEJ2x2ZfI3ePAhQEiFQi8is6zjNO9
pmMQio3Mw77rseeFASIVCJWfv5uC+4ujbRC81/Las72g7YUBIhYI9cqXz5Tn26feARCPt8P0p8jv
7oUBIhYIgL3cyrGvsKazARCOlc/88unX94UBIhUI9oGIu//x26AzEKTr8ZiIqaWFhgEiFgjk+rvr
otXZpNUBEICF4JWF8tiNhgEiFQje5by6m+HMoEMQnI2SlqHfhr6GASIVCNudh/H47sqmRBCdhbS+
3sqHv4YBIhUIl+Cq69XxtKB0EIWhm5iUiLvFhgEiFQj4/siouNKuoWQQp5uryLOj5eCGASIVCMie
2eLe4p+gNxCQ8Z7UjMb06oYBIhYI8oK8xePD1qXEARCehZjmwYmqoIcBIhYIvIq+ifuxs6P5ARCK
3f2T5Ybxx4cBIhYIoNyajOSsi6GpARCpm6jr0ay62IcBIhYIhISGxY/GmKbAARCMp67b7c2f9IcB
IhYIurGejbvQxaXLARCbs7+QhPmyhIgBIhUI7PW/1cbGsqISEKrtx/vyofGMiAEiFQioxf+72uWK
pgkQlf+ItJeQ+qSIASIVCNqoxcv8ycakaRCb4ZDu0f7SpYgBIhUIvIyg2sH8vaYCEKTzwdXa1rGn
iAEiFQiF/qKficjyoj0Qp8mAsZ2Hq7CIASIVCPLsh4XeovqmLhCh24b7x9CvwYgBIhYI+ZfZkY2u
06DNARC72ZPWmfH74YgBIhYIma/Pmtj79aHGARC8pdD40+XPiokBIhYIgK6ehd/UqKDGARCT9+CS
sYicj4kBIhYIm7+qmLXPz6SPARCGvcPXqLTUqYkBIhUIr/rj7qKa7qUoELSNu4WZt+mriQEiFgjB
ko69hr6dofgBEIGHh7eUi6C6iQEiFgjCpeK83q2gpsUBEKmXmtSD3cfAiQEiFgjx8t3I49ypoPwB
EKXVudemr9HDiQEiFgimxsC+qIDYpcgBEJ+b65u019LeiQEiFQjOtO6J2u2Np04Qo6PcrZ6OrOmJ
ASIWCOSdgYz+ie2k5gEQraWs8MPT/vCJASIWCNGo+JrR++KkpgEQtdeE/NmivvmJASIVCJi39Mn3
vtWkdBCP79bSgouHhYoBIhYIyYbD+qCF2KXeARC884Xh7seOo4oBIhYImKnbruLJl6CRARCIy/uL
hd2+sooBIhYI/sunivWf36GJARC+t9r+nYCZtYoBIhUIybPl++Hr+6VpEKGT7/+8g7zPigEiFgiI
qJ+WvrGZp/0BEKrZz5/lssvTigEiFgj+kqP2gvuxorUBELX9vdvN++3yigEiFQikmcrz6fycoS8Q
rdey0LLBxPiKASIVCML9tqOWmOSnfxCW1Z2nyaK3+4oBIhUIx6SlmdDHuKBBEJ6zoPXjxdOTiwEi
FgjazNrtgM2HoOcBEKC5m8bB8oCWiwEiFQjczrSF4unhpE4QgJv10PShj5iLASIVCIzcqMyfjO6j
YhCjp9P6jY+OoYsBIhUIrbvIvoyzvadbEKq1j/inwrykiwEiFQirkoGootGPojYQudnu/fvKr7KL
ASIWCLj02t+woMOhpQEQgJWnx/GKj8OLASIVCMzLndee8L6jFRCn6aPxibHa3YsBIhYIlbP5t76E
jqDGARC/xcvywavN4YsBIhYIsOOs18OzsqH0ARCm89ubire554sBIhUI+t68/Nfr9qALEITpuPDv
jt/qiwEiFgid9pK0pqbtopYBEKSDprbPkfv/iwEiFQjIpInr3uKZphQQt+Hi89GC3IuMASIWCLTJ
4dihhf6lswEQhPeW4aTa5YuMASIWCKmapaHim5emlgEQg6WU9aWoyp6MASIWCJbUotXj2MqgtwEQ
oO2hh5Wd3riMASIVCLq//9SxxN6gARCezZ3j242Yu4wBIhUIi+nF8KvBxaEpEJW9oZTm0Pe8jAEi
FQihsp2x1YqWpwYQpo3VlqOYxsKMASIWCOvFwonxxLynsAEQuNeG4tDcpMuMASIWCJ29kYT6nrOh
3gEQn7Pw5r/jts+MASIVCNuomPbXwYalBBCIy+D3+pCd0YwBIhUI6s/hwY243qMSEJWnibH3/YbZ
jAEiFQie6NKK+o/BoDAQn/vIiu3qvOSMASIWCO6b0+KW6bqmiwEQu6mlu+L8uvOMASIWCJmdv6Si
+rWgoAEQi+u3uYiLufiMASIVCOWgjODbw8mmahCPy5+PmMLUkI0BIhYIzuKv5peKjKeYARCi78XM
9cO4v40BIhUIvpbG9/T/raAyEIu5ya6jo+HzjQEiFgjel+2Gl8qBpsoBEJf9i+6UjKuJjgEiFgj9
jbXY7Kivor4BEJmDor/y+vSYjgEiFQjv5eD35vj5pAQQguOA2rvppLmOASIWCLP8v6r0xPqg8AEQ
rpm3y8KclMyOASIVCILEntux34WhWRCG47eE4Nm44I4BIhUInO6kvYP3n6VCEL/b2MiVi73mjgEi
FQiezKGRtajNpCYQiZuXioqOloWPASIVCKvkhtPd/9imGRC/+azr3fiOh48BIhUI/67P2/aq7qdZ
EJ+32MOO4b+LjwEiFQjR99nf9bSaohMQpq261/vjvp+PASIVCPivuOPWmbKlOxCmpePIktjYvo8B
IhUIqcfZ5Zvs8qRTEIOTxJ37tdjBjwEiFgigmvaqjqWNofwBEJ2xut/lydnejwEiFQjIiIyEvr3R
oS4QlL20pNOlpumPASIWCN+26++u0+mm8QEQi+n6m6W3rIeQASIWCPH2zNTctYug6gEQiZ+k/4ra
5Z+QASIWCN2s26SHnuCloAEQhfeNtdiF8dqQASIWCKnVr8iAt+6n/gEQp6e2ssTZgI6RASIWCJ2u
183Qz8+izQEQm5fw1sn3kLKRASIWCJTu87Lomo2jhQEQm9/7rKa9+LORASIVCLvOpISq6qalUxCV
r+2v24m8uZEBIhYIrJbEk7//u6TDARCyi+aYy6qqxZEBIhYIkr/9iJbq+aHBARCQnfWL8LTSy5EB
IhUI772tjvOh86cPEKznu+mA5OeLkgEiFgiA0cXP/87qoMIBEI+T/q2C8sCmkgEiFQjG3suYyND4
pWgQj82Q1su22qmSASIVCN3kwYb3h8ujMhCOqaD6n4SXr5IBIhYIiNvzzrKF6aHyARC91ZO2gOGN
tpIBIhYIz7zH9rKPuKTiARCi1bSTqMmRwpIBIhYInOb9ufSp8qXQARCpqbHD5pjb1ZIBIhUIl/mz
nPStm6UoEIHlo6O1/aTZkgEiFQjP74vah/SyoRsQi8nDrOz8seuSASIVCMGH1aHV1sKkChCt64//
jd/E7pIBIhYI4OPusPi15aH3ARCm/4Duo4DS8ZIBIhUIg+n6jvHAmKd4EIe1vYDKrLzykgEiFQiD
k+vPyJPCoTAQnpeOpd/xsPmSASIVCMWI6r6juv6jHxC8uY/x6NuwrJMBIhYIzfGCkcmX/aLrARCq
x+KwmLDzsZMBIhUIp47x3Yv05aN3EL/rp7PI5bTFkwEiFgiG8pKwiYS0ouUBEKPDw53I2IbWkwEi
Fgj1mO+z1rqZp5UBEIenjdD4qejjkwEiFgjV2MTWxubgofYBEKO3vo/Dt47nkwEiFgjQ9fCcnP3u
p/QBELWduJyzirD0kwEiFQiZuYOD+LvYpGQQvLX2tJqAw/2TASIVCNfguvnPstaidxC4z+3gi5iY
gpQBIhUIvo7treWKhKV2EIbV/5aUld6WlAEiFQiysMj57dixoAMQlq2fkMT5l5iUASIVCI3I7/C3
uvygLxCv26GdjZSanJQBIhYIkrXj74iOmaGHARC5l6qYwJ+SqpQBIhUIorvLxfq+m6BzEJ6N3JaA
4qTXlAEiFgi09cilneORoesBEIXFlo6Ep5DwlAEiFQiD0uWx4fa+olEQuJ22qfvHtfaUASIVCLi4
ndXAuuGhGhCI9dOBs/vKi5UBIhUI0ane9ZzMoKZ5EIqR+7PV/9melQEiFgjmisbeseyTpaQBEIL1
2pPKiqOolQEiFQjajY2Q8NjuoXgQlPGk/qb4/cqVASIWCKLvgZv0076njwEQvseF+ISW79GVASIW
CMatybmbpvaktwEQpLut5MHCopGWASIVCOW0ivmr7NqnRhC7mcKR2oaIk5YBIhYI+tOj3dL646Hm
ARCgo5aA64vImZYBIhUIgvfw9t2z+6UVEJHN4fKArqmplgEiFgiin5Cl37WYp/0BEJ692Zy/64/G
lgEiFQi377y0q5OOp0UQia+jn8GW6NmWASIVCPD6wavH59WkOhCE+56ZhLvT3pYBIhYI+bnQnfaS
zqTpARC6x/3swuyP4ZYBIhUIrPHQs/q0x6Q2ELi91e3q+q/xlgEiFgi58aDlr5i7otIBEIrHkNO9
j9v3lgEiFgjV37yO67PfovUBEITztISj0PT3lgEiFQjJ0Kn3rojFoWoQo5eSsdeF24SXASIWCPHu
g+bcxoantQEQvquayL3Ix5yXASIVCL+/w5KjxqymFRC84/3sxd6BuJcBIhUIpvXU5bLIn6VtEILh
vJm06sTKlwEiFgiDv7nk+I6xpfoBELjxjr6ZrZralwEiFQis66KClsjVpj4QjYO3mNfkhuSXASIW
CM+4yo6D5vCh0wEQoL3v+cTDgvyXASIUCMrSkcGwtbonEKqX/pLrkdWXmAEiFgiTz6eGpI/lptcB
EIHx+8L2zqermAEiFQiI9cSTwPGSoiUQmtfoufuvyrqYASIVCKaT84uhifmhYhCq1438hpmgu5gB
IhYItevr3/nX3aenARChsaORvoq+u5gBIhYIm7qCqq3DrKKFARCtj67psfD63ZgBIhYIh7rEu57V
96axARCJ0crY2KrN4pgBIhYI0Or4+oPf/qWrARCi8YDyz6/vhpkBIhYI7KGPm4eYmaXWARCMh7ia
i5voipkBIhUInJSksNnx0qEyEKXB1dP+87iVmQEiFQiMoeOn1/Lnp3QQrY/en8Wnv5aZASIWCLK6
/YzXm7Kk9QEQtfvKt93DyKeZASIWCJP887C3ipCjzgEQg//FqqKGoaqZASIVCOeSwfKJm5DyChCi
3aX25aDlqpkBIhUI4peugNWpj6NDEKWr2q+Lwa6umQEiFgjuspqIlIDypeMBEJ+pgP6728WxmQEi
FQity/7rwqbrp20Qq9/mgIbqhb6ZASIWCLvs0bHnqtug+AEQhZn6jf+8xM+ZASIWCLWH87G7ityn
pQEQsYvg85no/uWZASIVCO6Bur3xpM6jFBCJie2ksvW67JkBIhUI1dzcls3Ng6MoELfNhPzXgsPt
mQEiFQi8+7bC6tmJp2IQjaGilJvp8fOZASIWCOKo45PaiNuhzAEQnOeNrMGd//SZASIWCLint9j5
hfikzwEQu5WHiLr+57maASIWCJPFsoCj+5OlsAEQpPuDn6ug/diaASIWCM64lf2XpM+l7QEQl5v1
su+yxNmaASIVCKXG4sqD+46iSBC6p423+4Co6poBIhUIjq7MgZDh1KRIEKm5tNbK9MLrmgEiFgid
hOHL0Nv7oscBEL6RsIG+p/X0mgEiFQjglZvDi6+Eo0wQiJvi+/aXqKObASIVCMy2vsXwz7ugOBC2
icbV2qzbr5sBIhUI3fqjr+b9tqVOELaXh9ydy9jdmwEiFgjUxuTb7tezopsBEJzzio3k3f7nmwEi
FgjyzYuo65ewouYBEKGRm5eU1arsmwEiFgj+75mCn+uWocQBEKzx4ueD7IntmwEiFQim4cKslYb+
pz8Qp9PHrsfjsPWbASIVCOic1tawyJSmRBC0o9rkhsnyiZwBIhUIuvzoi/ie26FGEIrB17DVn8mx
nAEiFQiri/3tzbfhpDsQqY2b0q2zxdacASIWCMK10/6Op5qh0gEQtNvsvJDa2+ucASIWCPbo9c2/
8pKm6QEQpbGV/obS4eucASIVCMr+/5vPhIunWxC2y5eUrf20/JwBIhYI0MXPh97y8qSgARC/9bbi
1uTtjp0BIhYIvoDVj7K9rKC3ARCblZvf/ovv0J0BIhUIiuKD7pPmraYzEL+t6dTXrcLTnQEiFQjf
s/KUg4/FpzQQmbHHlZ6ZguOdASIVCLLFofGWyZCmPRCk2dDRxM3Z+Z0BIhYIyruDmuz+tKOOARC2
w8W7ureB+p0BIhUI34XWmPPfp6VOEJaxl+3mndSBngEiFgiqpdbZrvLgofMBEJ/zq62qxtGKngEi
FQi6ydWioo7wo0IQitOS5P/X5YqeASIVCNCIrpOP+u6iRBCvrY+/md6qi54BIhYIyMjnx/+a96Wf
ARCIr8GKvqqClp4BIhUIyLuRtsyQyqUREI6r8IPd7suangEiFQj3gKGtlZK/pgIQuNOuoOCykLee
ASIWCM/mz++0n4+kvgEQqenQkYK69LqeASIVCLO2kYLzluSnYBChw/OfnePHxp4BIhUI0a3njfKY
w6YcEKyPzZ+bouLLngEiFgji/67PkdmKprsBEKap+urjmsndngEiFQicr9SPpsGOolQQje+a/PKY
oJOfASIVCJGSzu3Al6ylPRCO1Yzv24S8mJ8BIhUIup2rjqzh26NfEKjXgYGj9+GmnwEiFQjblLGJ
lv7RoQ8Qlu2axtLHubufASIVCOaE0evat8ymWxCQg43Vk9ffvJ8BIhUI64asppuyt6ZiEITF++qu
g5nNnwEiFQif7NPbjb28oCYQiJeYwe3j28+fASIVCKqCoPmbn9ulUhCSg87KgZGs3Z8BIhUI1+/b
74LtzqMUEJXTntmq2LH8nwEiFQiF26v7yKLLpTMQq62E2dGGm4+gASIVCOLlyJGl6eClZBCX9euh
qaKTpKABIhYIwr29jabf+KHYARC1z/X9+euHr6ABIhYI/qj9yJu0wqGGARCzk9+/47O/tqABIhUI
9sKWlY/EwaZEEKvXp7j5h77AoAEiFgjb1+2UwrfPoK8BELODgP2Hi5bEoAEiFQi1ltW01sLnpAsQ
qdHl/6eh28WgASIVCPnaiYGcm8CjchCShcKovN+AxqABIhUIrpiayI6C0qRtEKHB/L2frML0oAEi
FgjeovS8zpzNpI4BEILRlYulouH1oAEiFQjZ/8PintSVozIQlfu/5ovEuKuhASIWCInXy8elyOmh
5gEQmJXV4NzBmbyhASIVCKPh25v8tOehURCuv8Lp+bjawaEBIhUIupjV8YDataccEJGB5oiDoubb
oQEiFgj6oNz/wIy0oPIBELuHzsbI6K/koQEiFQjX0ezq+6DUpWUQvvvX1P/Z4uWhASIVCMLWy4yI
34KlFxC6o5fGh4uK9aEBIhYI26Spm6nZqqfdARCihfiIy5KAkKIBIhUIh9KxiYPjmqdeEIXDt/nw
pLuVogEiFQiNgqfe4seXoyIQtoWr6/H98a2iASIVCO+uhs/I3PWkChCNsdOHiMGmr6IBIhUIzsep
q66w96BAEKaT9Zy08uq5ogEiFgjfnpb73KKqouMBELedl62ooubBogEiFgiIrP3M2JWBoo8BEIrb
nbaQk+bOogEiFgjStqqz+82yp9wBELz7gI6dp9HZogEiFgi9xqeP5/bPoJUBELH92JHwyMWSowEi
FgjGs6Px8tm5ossBEITHibyEpKqrowEiFgiUyqG0v5Htop4BEJGn2aPLw8O9owEiFQjy8umb9anj
pTgQlr3tsZzqvsCjASIWCIOywdeFj7ig7AEQmff+3Mqh8cijASIVCJKa88Ocl52gXBCTidvIjvru
06MBIhYIrP2qlIHDu6XjARCQ/7CIismx1aMBIhYIzpDB+fGMlqD0ARCPyZb72tn13aMBIhUIr6r8
v9jwqKN9EI/pxervzermowEiFgiljvy/pZfGotgBEID5ysSuz8j8owEiFQjcgZTv+52OpgoQno3F
uMGLjZ+kASIVCKOol8XEqpWnWBCAyZvo58O8vaQBIhYI3sLvubufsqHGARCer6C2wJO2xqQBIhYI
/v3/habepqXbARC3sfDN/oWizqQBIhUIzNCl246bxKIREKm5sqicnbfjpAEiFgjvrJ7uuKaIo7cB
EKL92N7vjLWJpQEiFQjHjafB3KKIpRwQuMvvya63rZClASIVCLOVqLKj1+OhcRC6ga6eiqjYkqUB
IhUI8bO41LT2pqAwELndpeb6wZ+VpQEiFQil0N62kcvXoyYQqc+nlor2q7elASIWCIHVpJ6p15qg
hgEQi4mw163lv8mlASIVCNTDtffp5vKmXBCLjd36uqeu0aUBIhUI07TavpLVsKEQEKzDoJenu/LZ
pQEiFgij1Iecl/jloqgBELGFgM/Vu9nipQEiFgilsdb2n+bWppcBEIXZp6TIv8OBpgEiFQiQ2vHY
sqnLo1YQn4X0ltLQz42mASIVCKDItazJ3ZWlfRCPvbmDvL2GkKYBIhYI/PKLttO1pqOtARCIvfjW
7b+SlKYBIhUIwZ3V7Ynv26J9EJ/t+/nTqoqXpgEiFgjh3ee6robvpJMBEL+DxIjG5fuopgEiFQie
sKbDl6Wqo3UQv8nIiLL5primASIVCPKa3PXzxLCkSxCKz5CJwdPjxaYBIhYIxb+A8I/E3KKiARCu
0dSTqfrr2KYBIhYI7e3/9or7waO4ARCFk43ZxM3256YBIhYI1rjVw+/Bk6bEARCt78vknsfX7qYB
IhUImfrr896Xm6YxELfX6YmNqofzpgEiFQiO1JHX3bDFoh8QpNOX+bjPz6mnASIWCLaoqpO93qyg
kAEQlqn9v5+MiMmnASIVCLPjlIabhd+mTBCQheWumruB0KcBIhUIkP+034a8v6VZEJrB5Zbjwb/T
pwEiFQj+45uUmPP1oyAQu4mKkqyrjOCnASIVCJn0gq3w9ZSlTxC5u//+9bqV4KcBIhUIyKvMvcXI
0aAIEKSpv/fj3qzspwEiFgi24fO04+6foOQBEKXrmpagnr+UqAEiFQj35PfJgMi2o1cQgv2hgcLz
l5aoASIVCLqn6srh64ilPxCnz8/qsI+ytagBIhUI4oyVi6X7jqIYEJHp58XQ4t21qAEiFQiqoIai
5erPoSYQpLnTqbSszNWoASIVCPig6Z7egeKjGhC7mZXf3bvW16gBIhYI5pXzh9Ck16eWARCpt4nx
spjT5agBIhYIgcXvh76smqHzARC9s+jKxu7n7agBIhYIt7L/taecwKCFARCOkYWL/KTz+agBIhYI
gK+Plefp+KatARCzpZKJgfzRhKkBIhYIxfy2+9n8/qDeARCFt9+ni/75iKkBIhUI/5qK9NGjyqUe
EIyzxOPK1ISTqQEiFgjIzt2y46WZpN4BEIjf04ujkqKTqQEiFQitrvDviseRphcQsbP/v5uDxbap
ASIVCJH7qba/irWjehClxd2mgpXJuakBIhUI0JW+zYGenqUpELnVx/CbwYrCqQEiFgid0sKS8+Gv
pZ0BEJW9hem7/NDnqQEiFQjb1Outg5veoCUQso2E3vaekvKpASIVCKbxwKrzifqiNBCTw9eKhdLq
gKoBIhYIjanLkZiPqaTIARCQm5fv/MGJiKoBIhYIlvT8xb+Wy6HgARCf7bTIhOOLkKoBIhYI1u7n
0+GWsqLFARCPlYXP9ZHEoqoBIhYI7NLgqtO6yKT1ARCR95Xy6Oait6oBIhUI2/Ou+v+48KEVEK+X
3OX9kofUqgEiFgi8xYjAkvzKo80BEKSzy+2Cxu+BqwEiFgi/pOuklLiepZEBELn95Y2/+O2EqwEi
Fgilx6nn/Z/CpbgBEJO1maOZz4maqwEiFgjP08H3grHqpZoBEKePkZWmwqudqwEiFQiHmc3k3fep
ogIQieOKwcGb7qyrASIWCM3H0/jr297a4wEQlKu704Hxp8OrASIVCNqdtPPo/7mmFRC9wdP62JDn
x6sBIhYI2b6pi5THw6CzARCD8+nOzO+Hz6sBIhYIuYfs3LzqyqeKARCel6qcsb+u0qsBIhUIofG0
xPDF+6cFEJ7bstDD/P/+qwEiFgjug8OPn73Cov8BEL3xjKDui4GFrAEiFQjflaer/r+KpBAQqdPE
iob/j4qsASIVCJzgnNy8ra6iIxCft/X938nVl6wBIhYIkKbrmrepvKXoARCKnaHOsYGsoqwBIhUI
5O+xhtCryaYzEJfz8obM/PqjrAEiFQjUr7Wv15iIpAQQjN/2qvjgkqysASIVCNOEr4z1w5GkYRCs
i5DRtYWq5KwBIhUIwZ6j74bY/6AmEK+X1aq+m4/mrAEiFQj/1KbOg+fnoAwQm/H/tZedzOasASIW
CJD2nJO89KelrQEQicf1w9+wzOysASIVCKHTgtflsYanFhCq4ebEqZaEgK0BIhUIguLaxIXb56FB
EJ6fpZXv4amKrQEiFQjwkte3rufmoSkQvaWiwpeu1JqtASIWCOKnksDo7aCnvAEQgsvhvLGC8Kit
ASIWCODg2eWlgIKiiQEQrvfM1sGdirutASIVCKvTkaqz1/CkYxCLoavg3ebt1K0BIhYI8unYmqzN
6KTLARCOsfDmwJvI4q0BIhUI1ZP0++2I8KRUEKyH2fqX0KOIrgEiFQjSx7nEwcKFo30QtP29x56E
lpauASIWCOLb28KS9K6kjQEQub3b4Pb1vJeuASIWCI7budii2N2lgwEQu82e67XM1peuASIVCJ/+
/ZWe7tuhbBCWnYHJgISyra4BIhYI2oOo5MfshqWgARCsiam599ffua4BIhUI7YyuoLe4maZ6EI7p
7/mY0/69rgEiFgic84/v/cP7pKIBEJOFnKzWpZHNrgEiFgjQtu6088mmo80BEJaP7uzEzILtrgEi
FgiVzdfi+tm2oukBEJezyc/Cn9nxrgEiFQjk8LTU0I7rpBgQteGIipyw3/GuASIWCNGRj7TDw/6m
jQEQl73f34eBlPiuASIVCMvdlsKEt+6lHhCLwb7PkumapK8BIhYIk+qm6IyBorCbARClmbHkgeKR
sK8BIhYIl7S5z/qNy6bAARCO053OqPqIy68BIhYIo6bBnJbJiqTTARCqq6mkgdWjzq8BIhYIj63s
39T+xKKbARCWgZeI6+6hlLABIhYI/aPtydzTz6PVARC5pcuAkpqumrABIhYIt5yUlJalhKeEARCO
64Dl96P6nrABIhUIgJjqgdr74aIyELzvw7/FraGhsAEiFQjjrajstL6FozsQk6fzp+2P0suwASIV
CK6ake6/pNCnBBCF5c3EnIXPzLABIhUI1aD+xemKwqdUEK69kKvCxfTqsAEiFgjKgr7/yJ39pJcB
ELK1kJqR0Nn2sAEiFQj/oJze0snUp00QmK39/c2z2fqwASIWCMufr7Cew5mhzAEQounxk7+mufuw
ASIWCKHE18O77ImlrAEQuJOzuvPBs42xASIWCL+sp6SPjayiwQEQqo/A3t642bCxASIVCKea5Kaj
6e6mKRCMoYrc3d7zvLEBIhYIivzEyvPVu6PgARCtz6LP9fbM47EBIhUIvMbK6KXwoKdnEI6n0ZPf
8JDzsQEiFQj05aO6js/IoHoQgqHZ27iN7PuxASIVCKnwgtSi5uilchCX66qKqvz9/7EBIhUIvL7r
xMKW86I9EIb7+PiHh4+AsgEiFgjb35W3rIO0pfkBEKSF1M6kgsWCsgEiFQiU4PTb3ZD7owIQmeXz
mq7ut4myASIVCJmTgvCqjKOmXRCks+/V6oP7nrIBIhYIor2fmc/X0KCFARCmtZzs7MTHyLIBIhYI
kubnqpKI+aPdARCLwd3NuNWuy7IBIhUItIC93N+Cs6Y5EJ+brIXriuTSsgEiFQj54MOi7rb5pE0Q
g6fb6+Gls/KyASIVCKuB4Y6R35miDxCJ38P0qrqah7MBIhYIgbbiqLLO/aSsARC1kcb1pcSJmLMB
IhUI6Nf62oX1o6clEKzJ3PeL8pOaswEiFgj1i9ClxOuapZEBEKzhis3c35uhswEiFgi/tvuIjZTc
ouUBEKi7ttbhk57IswEiFQiB28nhx+6+oBcQqqWNpZzjjeSzASIWCMXZ4/yAz42k8QEQq6Od6oza
7eazASIWCIjT17WQkduksAEQv8PY3Iv/2uezASIVCKi3pa3C7LSgCxCP4aLJlv20+bMBIhUI1dOz
tLCF3KcBEIrrnov4+r39swEiFgiF2Kbsjo3xpu8BELOl9ervx6ODtAEiFgibttXYkYGOppoBEIKr
k96+1JmRtAEiFgiDh9eRupjPpKcBEI35p5Ps7IGYtAEiFQisz7u48r6boVoQjLGU6o6ruKW0ASIW
CP6Codmq3LuhjwEQqd2c/cCx+L60ASIVCIqUguG5va6hVBClt/7WxLbv+7QBIhYIoOXk5onBsKGU
ARCY57mM35HyirUBIhUImrDJ66HT1aBREK6Do+js+K6UtQEiFQiKg++Khqz3pwcQl8mCnfvwhL21
ASIWCNKho/+Vl7TymwEQl6O00p2GpsO1ASIVCO2ls+GVovSlARChl7XDhe7NyLUBIhUI747QhpTn
maROELaltJDDzqjPtQEiFQiH8arF/aieo3kQrYvPlOWlr9C1ASIVCJrmud/WrbilchCe9d2E8LeF
gLYBIhYItabPpNHxraS0ARCk6ePpgaumkrYBIhYI///a/fi1x6anARCzgdiJ/dumlrYBIhYI5MG8
6Zfu6KTnARCdx5GggKTimbYBIhYIr6KCku7msqbEARCj6f3gyrC4obYBIhUIhqrg6dCQvqMvEJnZ
06nUx+u2tgEiFQiXgdW0pI7uoEcQk7v1/+e3m8e2ASIVCJj9xqv3vqGkMBCho8KN5Nmm0rYBIhUI
457XvNTMhqQYEJHbwNLM8s7btgEiFQjDwdqCrdm3pUYQh6vE/vaoium2ASIWCJXNqK2+yoGh0QEQ
kLPd2se6rfK2ASIVCP2P4dq9juSnaRCB1YuIt4Lk8rYBIhYI3eOCnt/S7KWQARC/m4ra8NXJ97YB
IhYIqcKv7oPjkaLfARC0oe7V38KohLcBIhUIltuN25XA06B3EJLl0KD6pcKQtwEiFgjgjLD9yMv3
oYUBEJXdwf/ood2StwEiFQi2hJ6Jw6n/pRoQiY340r2y3pO3ASIWCIWa0uCi84GitgEQnuXZtKGT
j5W3ASIWCJyLh4Xbj5CnrwEQkveGrqDzx5W3ASIVCKy0t4qekrSkHBC8i7eF1IPCmLcBIhYI69PG
y97+oqCpARCcrdiv5aW0nbcBIhYIsbnFlYSAraOSARCvvbPqvPitobcBIhUI1KjigN7VyaRNEJTR
xJ3drOG4twEiFQiYzsi577WSoEMQhfPb24TEjrm3ASIVCJX10fqSiuiiAhCus7/Yj/aSwLcBIhUI
5/2Ggfuwu6IfEKCz+K7b1+bRtwEiFQjX7qrTlO2zoHIQjv/exqygutW3ASIVCNvr/sS7goigURCM
3cyzrpL267cBIhUIwd3xjoqw76J2EJPty7L9mdb7twEiFgjMwNiL26CUpv4BEJzh76bE3fCKuAEi
FgimsN7GzNruoPYBEKDn+v7bpMqLuAEiFQid0NHmlv3gpz8Qs/Gyl62o/JG4ASIWCLfRzqCKrdSn
owEQosOnnujo9Km4ASIWCIn1sf+1z/aixAEQmYXS9cHov7G4ASIVCLOtiaqPwe2jVhCUs7jY8vOk
vrgBIhYI4dH8sNHAlKf6ARCx0bzP6ou9zLgBIhYI/cCdu4DxgqH2ARCHl6eM1NKl8bgBIhUIxarZ
7Yan6aI4EJj7zYWC1bH/uAEiFQiywISCj+iQp28Qic++ya3TsYO5ASIVCITS0rjwv/2jTxCZoe3i
6PagjbkBIhYI4punm9y7/KOjARCsv5eW7ebTsLkBIhYI766s58fLvaS0ARCV94eI85/Jw7kBIhUI
wqC42rityqIPEKCbkOKVu7bjuQEiFgiOr/DRocbiopsBEJ6DsdP80OLpuQEiFQituLzq9fySpWoQ
tPW8p6Dayvm5ASIVCPuoocHG75ChaRCwy8uKufHShboBIhUIkOWL+9za66QTEJL/pvDo89ekugEi
FgjUmeL0y7Opo/IBEJChta+CgpCougEiFQiy4vnkv8qbox8Qsouh9NGaj626ASIVCOahgJ2WtaGm
IhCuu/6wtbPm0LoBIhYI1/Siv7f+zKerARCk6ZrX5eCx1LoBIhYIjeKyks/t3KTfARC+p+STmYzR
2LoBIhUIrMDOtcnjrqUDEJOXqpmZpNnlugEiFgiN9dKbhqqopo8BELGXqbSewJTougEiFgjh9off
hLTWp70BELabwuy689fwugEiFQj0x/e7uOvXpEIQoZXGnI6P1/u6ASIVCK2PmZea59CjcBC25c6f
vsed/LoBIhYIsemqoda2naTJARC4xbXZ+9WN/7oBIhUI5aa/3dnIlaJrEJytgLDY2cKluwEiFgiC
x6PT2MbCpfQBEJDZqqOrvYzRuwEiFQi6u7OnsYeEoRAQoKuk39vU0uu7ASIVCKXj3oLiz9ahBxC3
q5Pt0smA/bsBIhYI08b5uNT64aTQARChk+z40MajhbwBIhYI0faY+MmUz6HVARCgu6PFu6Teh7wB
IhYIkNOVgby0mKb+ARCy9+COzMvOi7wBIhYIxpefvLO0kKXhARCrl8n137y/orwBIhUIrOKPmpKs
oqcYELTd843whL6kvAEiFQjv8OuA0c3ApTQQu/f05rGT3qi8ASIVCIG+kPmL482mCxCPpevg/Yit
qbwBIhYIg5WDyKTn+KSgARC6u+iFjYbSsrwBIhYIvKetp9fWqaW/ARCP6eW3kavnxbwBIhUI7tCv
xbzjzKFkELDL66qpnvXPvAEiFQj28ZbB3ozQpAYQqu2puN7CyPW8ASIVCOj1rtH8kpmkKBCKo+GM
kNC8mL0BIhYItev8loS++qHVARCUi/LLh970mr0BIhYI+tbtiaaHh6SoARCxn6Xtk+3Ln70BIhYI
g+eQhoH5taTtARCJ//D2nen8rb0BIhUIvuPD9PGrmKN4EK/JzqTw3eq+vQEiFAjQvuGD45W0JhC+
2fe9uKeny70BIhUIlNCD1ZTN9KF5EKrj2YGIm4zbvQEiFgjOubjcpvOFps4BEJ6p7/bywOL/vQEi
Fgiiv76jj+bWoNMBEIylz9W8wZeIvgEiFgjP5qeGoMbno9MBELy9n6/hmYiLvgEiFgicsNmO296a
pvcBEKOd96vwyZajvgEiFgiT7tfQobW4odkBEKLBiuHGxPWlvgEiFQi4z5HX/Ie6ph0QotHQg72l
p7K+ASIWCIn6kpnlh+ig9AEQtdvsuZa5+su+ASIWCMTOrPOZ2bug+gEQl/Pxu4DLtsy+ASIWCJWd
tdHBrsWgrwEQldPi6by23tW+ASIWCMLe7PWstI+ngQEQn62Yj6XNwOa+ASIVCKvUjZ3/5NijAxCX
v8az4Mmb574BIhYIufSHodfGqKfDARCTxf/SkOPE574BIhYIo9fg3M3ko6blARCnx4HT+O6L6r4B
IhUI9qDEvJuKwaMREKX9osyin6yLvwEiFgjIuJTS1If7puIBEIyNs6/Q86CNvwEiFQi/sKO8jYSt
piYQm+vY9Y3w15u/ASIWCJax66/g+vOgmQEQo5fV/dXPpqO/ASIVCLHh5+2N9OajYRCXx8OX5I27
sr8BIhUIsajB3fi90qIFEInT5vqnrrbOvwEiFQjCmKDuisL7ogcQodun3Muw3ta/ASIWCIOQkv6P
joCixAEQk++i44iJ9o/AASIWCLDJqKj7yfSl0wEQmLeo7Zjv45bAASIVCOO5jfD58cztbxD8hqCJ
5+3bnsABIhUI7+m+9Om24aRCELzTzLOqy6WlwAEiFgikkrC1rIeZotgBEJ2F+/Dx6ZWowAEiFQjH
hKWcy6npo0kQi/uIxK2g7LTAASIVCMzyr/v0gJKjBhCT44LxtP29xsABIhUIkreQ/NGpkaENEIrL
4+7FgbPIwAEiFQj10eiRyP+WpwIQn93FkreYhdrAASIVCLHJ+7Lzv4+hbhCxzcri7s7S6sABIhUI
vK+1hOWs6aU7EJO16PKXgoz2wAEiFgjM/P3CpIzIpZoBEIbDoYfZyvH+wAEiFQj+54PUqLzypiwQ
u/O2u7+KmorBASIWCN7D94DZ8oOnygEQt5np8bO7wLLBASIVCNjUt8H/jP6kKBCy1cPywsvbwcEB
IhYIn5La47XTjKfJARC00YXv37T4xcEBIhUIte7N58HusaN8ELObmpHzhNzWwQEiFQibrPGM8fen
oiQQsM3R4/D3xtrBASIVCN+/8Zfi49CiFhC8ufbq7/+O5MEBIhUIxe71pPqQyKcXEKfXm6fE3enz
wQEiFgi2g4nA84CrodkBEKa9+4mu4u+UwgEiFgivj9bZjtntooQBEL7pst/LksOawgEiFQjex46Z
+PCpol0Ql8Xei9zO/abCASIWCMvT88rUzeeh8wEQqp3Uks6gksPCASIVCILmyLnGuvemARC4t7Ps
scSU0sIBIhUI4Pe0o7eb3qNoEJPPxeWSlNjuwgEiFgjZzYnryqXmo+ABEKrRhrDTwOz3wgEiFgj7
uITm5suBoIIBEIeF+fLl0pb9wgEiFgjxlsaX2p3PprsBEL/b0s310+iGwwEiFQjM5biIwbv0pQwQ
jf/Yod73q4fDASIWCP7nmfGcq/Gl5gEQhJWAiNCDz53DASIWCNGD55P6wpSigwEQpdu0lr+vnqfD
ASIVCJb4p6Wd8taicBCU7/K95undv8MBIhUI/JbaqszR3KcKEJSZ8YSdtaDSwwEiFQiWurOvgrS3
p34QrvOTrcW584/EASIWCI6qhoSUuZClowEQrM+HgsS58KzEASIWCNnCvJbljPqhnwEQg+elzeCo
967EASIVCLSIwNjKkIaiZBC7hdyR7vnyucQBIhYInL6a4Kr03aLkARCJ9+y+0oPDwMQBIhUIgqqN
lb/BuKZYEI733fyQws3IxAEiFQjA+KCB5Pi5pGIQovHh8tPD3OTEASIWCIqbirubzsiixwEQkLnf
5efB1u7EASIVCMDor4L3wIWgbxCc2/Xnq6/h9MQBIhUI9uDHjO/Ry6VNEJfNv86316GKxQEiFQil
6PPzy+qWoWcQks3E3q7555TFASIWCN685dj0pp+n9wEQo/+ggeGhqJjFASIWCK33s6HfoqemgwEQ
upXPysim+p/FASIVCLmTxvihh/mmHBCBkZf3hq7xsMUBIhYIve6j2rD9+KaCARCvhYy31aHIuMUB
IhYIkP7i5Iuam6PGARCv9e2h6ZXVwsUBIhYIgJ7SxeGCy6DXARCWgYaHo57xxMUBIhYIpKbr6Ja6
w6SKARC5r5/WkI+hyMUBIhUI1NCEy4Ow1qMlEK+/6ZGY8JvKxQEiFgiT4Yei3q6CpuUBEJzt6aD/
j7nMxQEiFgjtgMPIz/Syo8oBELK/qoOS6YmNxgEiFQil4IavyZiJol4QmNuKicrd8NPGASIVCOCf
/IvYm9CmCxCouYKDkcLO18YBIhYIv4WBgY/hwKf+ARCaw8fH6LmR7cYBIhUIjfChg5OOvqZ4EJep
pfra8r/4xgEiFQj2hLqBlqbcpgUQndHR5vHX6PvGASIWCJSI7ubYoJahvAEQhfunvfby+KXHASIV
CNLVopC2krCgAhCcj/LKi/aRpscBIhYI9raf19r9+aDHARCvv+u2/P6mxMcBIhUIwrC6rvWouKI2
ELvzgvno557IxwEiFQiS1p6EgauKpgEQjsOGj+Dn1e/HASIWCLvesofB8YiljwEQgYfPlLvg+/HH
ASIVCN7FguDx9PyjLxCtk5Svgb7+/scBIhYInKijnMbpwKTHARC28ZaOyY2IncgBIhYI3ZW0yJfe
gqKAARC2/bq9qfORr8gBIhUI3+/nxKW6waYTEL/LmM3ZuMPayAEiFQjAw/uD0+XSpHgQruGyxeHY
9abJASIVCNGY/KjtmNKjchC3m5D5lKb3s8kBIhUI+e6ixdzPnaVKELab0IKt1ZG4yQEiFgjVoZC2
lNCWpaUBEK6vztzxgoW/yQEiFQiz+uro1v6conUQmY/w46XilMzJASIWCPyq7+6v4tKmmwEQk5fs
+tW77NXJASIVCLuFt4TZreGkdBCI3dvL+9D918kBIhUI/+D6ipbH66AlEJKPu7mG5sTtyQEiFQiy
2b/tv6Wlo0wQnc2MtNikiu/JASIVCN2IvbPWxumgHRC/1+jEgLj28ckBIhYI74HRj9WdqqLwARC9
2dHni8Lzi8oBIhUIwtmrurbdzaNFEJjRzNjcsOyOygEiFQjNy/K9sbH1oykQj7Xr1p/3jJ3KASIV
CKzJ3bzp8+CmcxCA08jcgPrGpcoBIhUIjJzz3Ky876ZlEL6FyaqWp8OmygEiFgiFu8LbiNuzpIUB
EK3pxYKQzIGwygEiFQjrscvQ7+/npWAQtKv/h6qS5b/KASIWCPa62vm0pYmlpQEQiYPI0tSOrtHK
ASIVCL2bqIaY36KnGRCym+Xmg6H84coBIhYIh4G0wqb7j6L3ARCCneyEt/qt68oBIhYI+eGomKqE
nqOgARCV25umsazwlMsBIhUIo/uv6ZSsnqYfEIzN3Kvz/qKcywEiFgiU0LSwxq2QodoBEKmd8v+t
q/mfywEiFgjDsZebqJfIopEBEL3/7q62/q+6ywEiFgikg/es39uQo60BEKLVuPz/ys3DywEiFQjD
97+lvtKYojQQtcvlwYiM/MTLASIVCKGdiMaK+K6nKBCdz5mR+Nu64MsBIhUIneq2p7Dg8qJvEITR
xebBg5HwywEiFQjA9vmF6N3woggQlOX9y57G9PfLASIWCJvyz+/AhJai4wEQrbvW0dHphvrLASIW
CLGowe2p3dij9gEQs5Pa2K+Y+v/LASIVCLjkrse1tealQxCKr7Wu7fiqhMwBIhYItLCbl+rqx6H4
ARC5n6SbtaysicwBIhYIiaOekfWQkPPiARC1sKX0p+KTjcwBIhUI65T9kNCxuKFJELK/ttOkur2X
zAEiFgi1mfeAw4TDpL0BELiH79DbgsKhzAEiFgjwtZ+4rtDio/8BEI2t37vm5I6ozAEiFQjgjt3c
u/6moRIQts+Ly+TMqbPMASIWCKrR9MT3htilzAEQpPuOw53g97PMASIVCMWc5q2lx7aiBxCs17/5
p/DitswBIhUIgbOVqM77haI/ELubxZm/9NDGzAEiFQiF+qiw46zDoWEQl/uW2PTp2M/MASIVCMbi
orimxdaiIhCH1bXb7daF6MwBIhUI+Mr+nMyi+aJXEIzBl/rxz7zszAEiFQjZou2O/ufypmcQne/Q
tvSdmYTNASIWCJvKlc+n4YOj3wEQlumNx7WsuKDNASIVCLKgvr7jrsymaBCz0+7Bq+Pmsc0BIhYI
saGz3rv+iKTeARCF8fHkt5Gqss0BIhUIho7i9JD8uKZQEJKt69HL3YK0zQEiFQjPsrn5m7iWoGsQ
tKmVzouRsr3NASIWCIXamv/pmNSh3QEQiO+cqejbr8DNASIWCLj9hram3KGlyQEQhruC3+uQi8HN
ASIVCIjsp9j5lsekcBCI89irqIfkws0BIhYI582q6/71xKKkARC52dPEno6k4M0BIhUI/NGuwvSF
5aYuELKLjcbf84znzQEiFgjcmLbLw9/2oPkBEIvP74aBhMnszQEiFQjMrPqGytjOpXwQo/mxlbSB
tofOASIVCMC/v4mSyeqiZBCuo4De3bq3kM4BIhYIoszz0K6X5aakARCsp+7o0IuomM4BIhUI1a23
85mJ6aJoEIefgJ+8zqqbzgEiFgja16GEl92NpdUBEL/xpu+W7+uczgEiFQjO6buJsuqYowwQuM/4
rLbC4eXOASIVCJOHsLvc2L6lGBCn7bOhpeewic8BIhUIhMam2Z6uy6R8ELLL7uynpL6LzwEiFQjs
9/vU8PzjpSQQgam+tNSMkaPPASIVCM3HxNfTptWgeBCm8efhn6D8o88BIhYI94PAhue06qShARCd
66uUu6aLxM8BIhUIjtfnnabb3qYdEJf5n57dl/LHzwEiFQiuzeah86quoGMQraXis8CW5drPASIV
CNbu3bbwhMWhbRC9ge2fmZml5s8BIhYI8f6c4uz6saDeARCr4+SS1ryS9c8BIhYI27Wlzb72sKP5
ARC70Z/C3c+S+c8BIhYI6IqggZvu5qLZARC6xdatjpiKldABIhUI4rGW/crO2qMDELW7idCq7PGf
0AEiFQjqjprPkLHcpXYQsJ/It9ifwqXQASIWCKnNmpyC1tKh9QEQp8urntH3sLLQASIWCKXS+IrS
4YShmgEQmd/rm+aDyb3QASIWCPOotJzeiYDzpwEQ2pK7jZ+IpNzQASIWCP2EydPUhI+iugEQqI2X
hZPcxOXQASIWCMnB1+y234SgowEQsovb3rqc4OvQASIWCLXkvci60bql7gEQiY2At+mGgOzQASIV
CNiB+5/6tbikBBCn75/A9P/f/dABIhYIj8Xqu6/EkaHJARCd46udzI6Fh9EBIhUIzf3G7cO05aBy
EKqr7OWI8fCM0QEiFQimxLzSmracpRcQirGV5IOCr5LRASIWCKvIs7rF1oKm2QEQnJ/EiO3rxqnR
ASIWCOz83ar7wqWnzgEQvYvHsrKKjs3RASIWCPnq3tWx0M2kogEQk9/DjK/d2eXRASIWCLHP9ICa
k46hswEQt8mkjP2biuvRASIWCMu7jcOP9JOhggEQi5WJh8Xh6ZHSASIWCIzZ+Oq3gK+huQEQgaXw
z+Dyt6DSASIWCMvlhY7l4/im2gEQlaXf9a7xprHSASIVCM2p1oDvwOWiRBC0k+eKi9rlx9IBIhUI
6Zrx0rGb9aMqEJCPianUsOvK0gEiFgjk1dHQpfjOppoBEI6f2JXInozS0gEiFQigsraa/+28oHgQ
kvmHgrON2dXSASIWCLjQiKCY/bCilAEQpOOM/YSz1NvSASIWCOmX2tmSkvOnggEQq9v8iKjZ5PzS
ASIWCMH6xdKI4oqitAEQvPHF4fnVx5XTASIVCIfekPC7oZqjEBCi17j0/NeFpNMBIhUI4bHruI2m
1ac5EL3rw8jalMDV0wEiFgjc05XImK/WpecBEK2p7vzW+fva0wEiFQjc+rTH/fikoCIQhNmsm43B
rt7TASIVCNCLhqPK+eSjexCTgdGE9eyC49MBIhUIqZe1ncypuqBkEKihhIKSuuzl0wEiFgiHlJDX
pbWyougBEJDdgY/O2tfv0wEiFgjWnKuYhuGto6gBEJyp85Ov7ub/0wEiFgithc60tMeepNUBEJj5
1Kj0kuSh1AEiFQjT/Yib85WQpxoQjsnR55+JkaLUASIWCJzR/r+oxNak4QEQhZHJuf2FjbrUASIW
CLnGw6/tvuKhmgEQn/HD9dWdv9vUASIWCNz1qOe78sih2QEQo8eJk8+XhOTUASIWCLbn2uTU4IOi
1QEQv5/UlKLF6ffUASIVCLnm/Y6007qgFxC90ZL2j97MjNUBIhUIt6Szja3RgadDEKfd8brou5qe
1QEiFgiT6ITP+ITqprIBEJqD1YaG9dKj1QEiFgiJmf7tpbjGoKcBEJaFkseT4urx1QEiFQig1cqo
qKCIpFEQjtvm0umspfvVASIVCMPk0+yVlMShDxCwmbTihKLOh9YBIhYI6OHl7KbLvqP+ARCuibDQ
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
pJsBEI7HpNDGxrGlBRhIt6a7o/Wq46XEARC3jeyArN68wAUYGMWMxuHsw9EO52sgneGLu+Kel9jg
ITFEs9SxuNmM9KMXELjRvtmNjIzvBS9MgIrAoMbhtaf7ARChudzYs7udiOEBd0yyu/Sn17Dio50B
EJbZ0aWi7sCi4QFHROOguJmKtKKgIBCb3fr2kKjyqQUvSInOu4LI5YajgQEQpd2Q5OWL7q8FL0SY
0vrChcTWoWEQjcvyyoWP28EFF0S1963Lupvqok8QoLOAj+K4g9UFF0TIy/ifuo7Go0IQuvHx6uKw
kt0FF0T3/cLKvLi+phIQkd+gk/OYvOUFF0Tv2/Lz3vPOpHgQgK287+Tvg/sFi0jk1sGfi/jspukB
EJbJuKeE/dj/BS9IkPGs9536rKIoELjH0sX67+eF4gHpIJ76+7mzseKkog5dgRTG4OTPo5YFGEjW
wKjs3dHJoPMBEKOtyeaf3d26BRhMvJ/0mYGT8aaiARCLp4+1qIbSzuIhGUTWtoy8heLXogsQpt+1
v8fApeYFF0DdzrmRhYuaohEQvoWQ2beGxQkXQM7zyIyMo+GnZRCs+6y9qfzPCRdE59StrLKBx6Mx
EITZutj8x9j2BXRIk/2divLunaD+ARCD15uZpv+A+QUYGJXB0Nau0rsOpgkgv6OSn6jVioTjAYxE
vc+48c62iqN/EI65rsD40/6NBRdE56mF4YyyyKQiEISfxvun8qOSBRdIlvC9k7DP46J5ELDP2puX
loWX4yEZSKiL67DavbCgxQEQvZfD2Z2Tq6QFL0Tx75yhmYPepx0QgqeN2fmWwakFLxjmj8jH25+s
EluDGLuD+t/Uz74FGEjRmZjijLa2pewBELnT3dGYmp7IBRgY14yJsaue3hK/CRjB5Kqs3PXNBRgY
6fC/iOuC4g4Bbxyj54TbyNuh1wUYGPyBpLK9yPUOEYocsZnq3/f81eAFGEjqif3K7cfhpOsBEIif
ls7F5qP7BRhInqrW/7KkyaTKARCbyYnmz+jt/wUYTMeF/NOJgpKktAEQppPGkNXuu4nkITRE5qnh
o+egzaF9EL65nuutt42cBRdIiqKmtNiB3qUjEJLjjLik1aq65CEdSLWYzp3mou2g3gEQiOfZ7eaV
4ccFGBic17aU9+XPwUEctPHUqve5nPIFGBjRp5Cq4vLSQZUcro+K/unhtvcFGEyG0N3P4uT0pokB
EIaf5dmZwIOU5QGOSIufr/jwu7GidRCLtajP3fXjouUBd0jh+PqmgM2FoaABEJiZqtbFgOmqBS9E
oNHDm8So6acREIbnp++f06rEBS8Y3qm8kv3l5A5vfhykxZ32+MqT2QUYRNXZ27CH47igrwEQudv3
nZOMmQEYSBQIkejHlKaV6SEQt6eA0avno+4FXUSX7r+5gsW3oGkQsP+40JqTj/MFRUy8kca6oJO4
pYoBEIHl2JaLjvaB5gGkGJmK+auK69AO8Iogh9Wj6s3UiJHmAdNEk5fj86iXzqJ7EK+pud2my9uV
BRdElKm8i5b09KVbEIWPrYSR/8O1BUZIm4TtxKO11aSgARCXs4uCgIexvgUvRK2Os8v0rM2nIBCO
1eOO166F1AUvSML73bu4h+KjoQEQmN+opdW41ecFL0CT5MWR8aTHpgQQksHG7/Pf6gEXUBYInKK/
19nru6PDARCmw7S9rdKy6gVHTNrbsL7u1s+izwEQoqnGpuX4pqfnAdRMi6uW0dPWkqPOARCKm5Wt
pZG0rOcB1ESw5Z2OoIOXoXAQu5vNzfOOtrEFF0Ssn+/xlK2DpUoQtrPDo82r7LYFRkj5meDaxZqt
odMBEJep09ycx+2+BRhIzOT16dSXoaToARCIk8zSnP782AVHRMTX5OfHkq6iXRCewcCb28Wi2QUv
SJGWg4KWsLWnsAEQrJvz/b/GmesFL0Tk1ZuEwuHPplQQlPmFrO3NlPMFL0ipz5G22PqIoasBEJD5
1auhrsb7BRhIhKqn7dm8tKbuARC+2//0+KyB/wVHSMSy+Z2quaKkIxCX/4uLlZ3DjugB60SJ/sia
872VpjgQtMvAgPe8y5cFF0T7+5SK+7LfpmsQoP/ryoXE9qAFF0i1w4qVj+z8pWkQsIWAxLaU6K3o
IUhIv+bNxtLBtqTHARCgw6mSo+DnwQUYSL7wn9yVr5mnhAEQj+uWofK5hskFGBiovcyJ1ZWNDvSE
HKqV/5r3/9PSBRhIzcHd+8+G0KHWARCj48f6i6aM/wV3SJ2mteHqoJ+mfBCD6e7d3Y3ykekBd0jK
o6Gq39WKpcABELGT8IXF7++jBRhMw5O0pYqh8qLKARCak4X4yICnuOkB7ET4h8z0zKCjpkUQp/Ge
tJLM5cEFL0iBj/rLlJjboKgBEL7R7IfXhfLEBS9E54fZg6D98qUOEJ/d1cvahqTJBRdErqO9+Ine
j6IpELGZhbW8zN7LBRdEx5eZ9dmrhaN9EJSjspOelt/RBV1Ii4PuhMaQ3qSkARCPodGGhKm68QUY
SJHuqJjllvqm6wEQm+WumeGOxfcFGEi1mY/p3ILZpOIBEJC10cPbiNz8BRhIyc6X5Pv2uKG0ARCt
t6Gm/7yf/QUYGLqkgLD8rJMOnXEgj6GJn7KytofqIRwYuduS15rD46FwHJHNyqTags+MBRgYup26
zdORuw7yjyCfs+uUvaqaleohHECmv++dwYGfoiYQkMGKmLW/3AEXIBYIyu/P3eve2w6nexyD9fXV
/K/8ngVHIJ3mv56+34ug9g4bdxSW9prw66sFGEj/9qjbi7PXoNkBELrju/KS8vqwBRhIspGp3+6u
xaWWARCP2cCe64msuwV3RNW8uZTn+++nZhCtgamfisLYzAUXRJr+u+PXrpalZBC8t8m69Jay7wVG
SNa9iee3+YGgsgEQrtf/y834lfcFGCDAwsT89KuCpYwOP5MY1Iro9byM6yEFSPDNw6W8o/yhigEQ
ueWWqIjy0JcFGEis3p70mMeRprABELSpppePib64BRhIwKrNwdaEn6L6ARCan4+X1fWu1wUYSOma
o8Ozq9GgnQEQurvmyZmR9d4FGEzM+Zqm+9PVoLYBEJzn0Lfh5oD/6yFNSJaEw/fxi+WhChCst9PH
35HKguwBj0zJvfzN/Yy5pvoBEJuF6fq0yPKQ7AEvRNOA2dS349yieBCK2cuVlKe7nwUXRP3Uu6Hc
/72gSRCF5by3lOn6twVGHJTAyPjf1rqjDgqKGMOK0Zeaq7wFL0SJ6an6v8znplsQuMeP5MG/zcQF
L0jy6Py03oLApM4BEIil0r7AjvrKBRgYpMLuoLGGpQGNHKyz79qBqPHnBRgYnKqA7Z2gqQ4fiByy
9f2P8/OT7wUYTLrdw8eovMei5gEQl4Penc3DjdbtAb1Ip7PooJ7XvqN+EImx94Kl4MrZ7QHsSJy6
58OiiPilrgEQjYvfreCVvN8FGEjo5/fb6La1oqoBEIKZyaTB5cn3BUdE7a+30JOM/qAfEL+l//39
uab+BRdI3qnd7LfA/qVCEJjvm5D4lLeZ7gFeGMLRmvPKuugOMHgggNeWz/jRzKDuAY1Ezs3+6tra
7KBEELXzleaG2YCrBRdEnMKxxc6vhqVJELr7iLL7w/WwBRdE7rGihoKP6qJeEKSBmuSF2PG+BV1I
5bf/uq65p6PKARCkz+bS8quiyAUYSNiuiP+J29mllQEQhfm1p56Hmu0FR0TSwI+z3YKLoDgQteu4
1Yf2tPMFF0ikmImfgo6VpD8QicmV6o7+y4DvAaNI8sfd7/K32qIbEKPx6PPV7LKO7wHSHPrIl6CS
rtuiDuuSGKHanarQxJoFGEjj9p3v6vGqpaEBEKSPifab4MebBUdEhrHSlK6VpqZeEKDD6OiDlcyw
BRdEh7Ozqqmq/KcnEJ39sfLeqtbDBRdE2JPTov/PqKZXEKDJ6KbexbzKBRdEl++0mJ3tl6R1EIWH
1q+drKXUBXRIp/fYhduqv6DUARCHnfv9gpOK7AUvROm6r7CvuquMYxCD46alw8va+AUvTJbM+cPF
pqGnpwEQoKWJ/NGgs5HwAepEw4Wtiq+bqqcVEJGFgIv0zL+bBRdE49qa0ZqmnqIWEJ/r+avl7ce4
BRdEmvaXh87WgKRbELfv1dHHkYLOBRdE/dHc6+TX9aZpELXTv+TqmsjXBRdEiP+i8OXc6qRqEL23
maOmmZfuBRdI4dz98qWXuqUaEJuxkuyY8Kzz8CFdSI3m+rPPqPujxgEQhZXq7c/zgfkFGEigo92Q
ucCPp4YBEJKHuKDixNL+BRhMp+bvnNqzoqa6ARCIxZebqY28jfEF0kT6perE4oWkKBCjua3ly9r1
qvEBXxjvjomw0qn5DmgSHJKrxcn4ztLVBS9EmOzr8Zi08aFWELHh78rX7OXZBRdEvtSxk4KEnKV9
EJTFtd7g06jcBUZI7fbBs/7E86HYARCEja/ilKz95gUvRJCZ9ePNo9agDBCmh7yWqdT09QUvTJXp
zpC2mN6ltgEQuJmVtuitqozyAaRE1fHy3MnJq6d9EImr/Ov07N2eBRdIgdiigoaBzKEIELaBz9yZ
1/Wg8gG7SIjNq9qauqeh5AEQgKGwndqUp6sFL0TZ7YDC7uvspgIQpPPbrZfOyr4FF0TSp/a5763k
oD0Qt92sz/KcpcIFRkiw9bGpyOKVpL8BEJHPuqrNx/THBRhI2+Hf1OLc8qScARC5rbDvqfT7yQUY
GICX9JPJuvoOZAociOHY74bP09oFGEjpho+cqOWIpsYBEL+F+sShqoveBRhI09v+87PuoKHLARCq
gdDft5aZ6wUYSNWI/sKb/OijhgEQqb38nPy9gPUFGEy4vpCwgq6Ppa8BEJinkPv6stmA8yEcSJeC
7KbuscCgGhCb09qJ2LbUhPMhBRzlnM3dtLfLpQ7kjxj1waCJmIKOBS9E29PIh7WyxKRcEIq38Lq7
lqamBRdEm+TAnJKY/6dbEKfthOeOobrFBUYYluPn2/fR0wHtHJq9yrqhqoHUBRgY2Irl9IXX5w7+
ihyvm4KzvrfE2AUYSPahs6f4mKygiQEQgaX9nN3e3NkFGEjOv/7Zsdm9pYkBEJLrnu3E4uDfBXdE
y/Xjpf2l6qcDELGt5MXV3bbmBS8YnfaA6YC/0g5plxyn4deinbC05wUYSLbQ4/zNmv2k4AEQo8fQ
ybvrlOgFGEjkvfPi8OaMoLkBELvB9oWc+P7qBRhI16+9nbSd8aefARC///r9kMyI+wV3SIe1nbiV
5LmjCRCFvdqL0PXmhfQhNEiu+Y+W9qnipLcBELmP0v3xgYy2BRhIlsyxke/706SXARCm9c6TmqjB
xwUYTKaV5pyozZmktQEQvJH+2+PlyKf1AUhM5Yuai53erKXlARC24cumjo+FyPUhq0T0q/zW7o6t
oUkQq6+VmtP0kPIFL0i106euhYjopcIBEKqD44GbkYjzBRhMypfF1fTavKDaARCdsZ3J5NqAgvYB
X6Dt1MDm0LuvorkBEJrnurL/woeI9gEiFQiX96S56bbYplEQosHei8SqywEXUBYIxf/kwdrUs6Cb
ARCS772lmcvuiQVHSOaxlNPv+pCkowEQnIGZn5OR44oFGEjIuL2ooJ6soNkBEI6XmNa4+LOiBRhI
ru+ak5TxlqWFARCYzbK0mpiUswV3RJPgwIGgkIWjZBCfkayXr863vQUXSJ6etp385tCmcxCtjcHa
hvSliPcBpUTb0IiImv+1pnEQvunimcCT2YwFF0To+f3BxfGuoGsQvdP8m7f3ypEFF0jyw5qPtfOh
oUYQkr+moILYq8/3IQIY/MXMiJ+j3w4Cfxy3u5iR0sj81gUvRLq8lYT6zP2jaxCN55GppsWP1wUX
ROWmpIOdw/2iDhC1gZz0q8zo3gUXRPC7q9zkpfymJxCa+fGWsJXp6QUXRIKrvu+bh+ugZBCQnZXm
xvyc7gUXRJ2t5t3Ov5iidxCPlZy3pOGF+AWLGPaHwbHJh/oOzg0ctIv19Pz0m/kFL0jojr+MjpHj
oywQrKnt2MSP4Yr4Af9EvdGP7/vazaZVEI2709jtlMeTBRdI+Y2lg9Pn96VzEJyXnYPBlLuc+AHo
SOifpsSI166mjQEQgava/P6KqrgFL0SI0Z3264O8pGcQrKezs7/y6L4FF0Tgs9jz6MfYpTsQtvHu
ifrqicAFRhzLr9HOrbi5pg5WDRj/0LjJtprLBRhIxZL0gaj12qGJARCEl47DnYeK0gUYSO2Co6SQ
/vmk/AEQgvuP2oKC9N0FGEj7zZve2Zu8paoBELqto+u8npLsBXdE+7LLir6BlaNSEIGJ/PScroPv
BS9EvaevjsqgiKT9ARCshfuCoKrLCRgYtt3I1Pja1Q65Dhybgb3VpJTv9wVHRLXq6/S/9b+jRRCw
obb1h6vx+gVHTLaJvJr0rbOlhwEQmpft44nT0YD5IRxI/pDR7rzspaHMARCQyYqlnMDBhAUYGMnl
uvLXwN+huHi12b+nrY+Ci/kBIhUIm8bHz+SShaBmELH/5pug28eSBRdInoa50bHNnaEJEKa3sK7d
/pKR+gEuRO/Y1oTyvrykFRCylbaszYK9nQUXRJen5pqcsNuTNBDYy6nJ+8i9owUXRMTY/822792k
fxCZkZWN/OqjpwUXRJ3PvbTVzfihfRCEtcaDk+2qrQUXRPe527y7pr39IxDOl/Wzk6H9rgUXSIDb
0P+1x4qiaBCe89S9+5/73PoB6BiXiYv0pbmYDiIbHI6TosvfwMzoBRhIpLKE/Pj56aO0ARCQ/b7L
gaaW8wUYTJL9+rrxucik5QEQnpGtnLH7/Kj7AUgYzouDyc3YmoGtIJaFz+fsiunl+wHqRI7QksrZ
7oSmfxCRxb/Qw+6Q5wUvSJj4l6nE79OhyQEQgtfC9pKguPcFL0jz7I3t8oyioDAQg4H8jd65xor8
AUZIiIfE5sTit6JbELj/3LGR3rCP/AF1SMScno+/g+mn1QEQs/mX89DHlcQFL0S9iIHkgu/CoSoQ
kZ+6oZnF+vAFLxiMgeTz4IKKDtQIHKKLle2Q2YDyBRgY44ia48vN7g6OCRyv/5aa/Ivf9QUYSLi6
vpGRgs6miAEQion3gZyirfgFX0ii+8SC/POrpVQQofGhn76ri4n9AY5M9rTt9//F1qCnARCSkfLl
5rTsqf0BvUTDqO+X9s71pDwQopWIqbzR7b0FL0ie3JuZocPEod0BEIe/zeqbsbXEBRhIjLf338zX
/6WPARCm08KX2aiKyAUYSMmgxLmzyMSgrAEQmPn13vT4sdUFGCC1saH4tpaMoswOQx0U89a67p7h
BXdE3PO4+OLFuKIuEILtx6Hu9ov3BS9I8svY4brR8qeXARCglZu/4fPv+wUYSLrY8PzS4NWkyAEQ
ot+Wmsagwf0FR0j9o4qt85S1pWAQgpeZjrzS5J7+Ae0g8NW+m5v3r6KJDiaBGPqT5uGdtv4B7Uj+
q8S8hKuroREQpduJhKv064X/ARdE6rnIwpj+5aQxEJO9k+aJyvuTBRdEhJ/Bzv/a3KBDEK2Z8cbB
8syXBRdE1OjI/cO436JnEKfD9I7vqM+2BRdI5qCZnJ2ph6QFEL3rmYubmNXK/wGLSIii4PX7xuOi
jAEQi8XY+Y3lws0FL0Tho+WvvZaRowMQrqOv8f+nsNgFF0TuotvSz7jjoDoQjKHZu8momfIFF0S1
h8CZs8GAonIQnv39lviPgv0FF/SiIrD5oviFs4KgThCCt86z7oHD/v8BKNMDKKENKIIHKKEEKOYL
KJwBKOYEKMEQKIYJKOoFKMkDKM0DKL0MKO8NKIwKKKcNKNsNKMYGKMQMKLMCKOMDKMYEKK4KKJcC
KHIomQ0omw8oZyiZCCiJAijjByjlDCjgCiiqBii6AyjHCiiWDyj4ByilCCjoCijXAijyDCiiBSik
BSiRAyiwCSi8BCiiAihvKIUBKN4DKL0LKOgQKPgEKIwPKPYDKNUBKNwLKN0PKM0JKMwGKNAFKOsL
KHgokggo9QUo7A8otAwo+gUolwwoUSjICSiXASjaCijwCSiCDyi+AyjhDyiMCyi4DijsBCiZDygn
KM8FKJ4JKBwoqAEo/g0ohg4ojgIo4A4omg8opRAo6gEong8ozgMozgko5w8o4QwosQMo+g4olQco
2wcoOyj6Dyi7DSjkAiiXECj6BigzKOEKKKEMKJkOKIIJKJkRKEcoiQ4o9wUojw8o4Ako5QEo8xAo
7AkorA4ozgYoyAEomwsoiwoo9AQonwko9Qgo1AEooggolgco2AYo4gEo8AUo0BAo3AQoiw4o8w4o
hAYowgYozQQo2g4o8Q0o4QkosAUoggsoiAMo5AMo5wIo7AcokwQo1gwo8wUoxAoo/wgo5woo2Qco
wwkoggoovAooBCjWDiixCSj1ASinASjlCyh6KMMEKLoKKLUFKIUPKPwJKMoDKHAoiAkoKCiUDihp
KI4IKLIQKOoPKNQCKIIEKPwGKNANKOMCKKACKMIIKPcKKOcEKN0KKFwo1Q8o/Ago9wYojAwogwgo
QSiACCi5ByjpCygZKMwNKJwIKIoBKL0HKP8DKJcFKNgNKIQCKMYFKIwBKIANKLUDKJYBKLgGKOIM
KMMNKO8HKLoLKJIPKP4CKMsEKL4QKOkCKP8FKKsPKNQKKMIMKIYBKIkEKDUowgkoRCiCECjeBijV
CijhBShtKJEBKNQIKLoBKPgGKPIJKKsEKM8KKNIPKIgLKMoHKKwLKOoEKHMo6Q8olgQowQ8orAwo
6A0orhAoESiDDyiIDCjEDyjvCCiNASgBKMoGKK8NKFootxAohA0ogwkorg8oqwwohBAo/gsonwQo
KSi1AigeKNgEKJ0LKLoQKI4PKP8KKM4NKLcCKNkMKNIJKLMKKMAOKIgRKN4LKM8LKPYFKN8HKIoR
KM4QKMoCKIAQKDwoXyjAASjoDyiwDCjRCSjyCii6CSiMBCiQCyigDijaECi2DCjMDyj6DSjqDiid
CSiBDSitCCibESjfBCi0CyjtCCilDijeCCikASiQAijzBCjaDyh/KKEFKIcBKO8FKK4LKM8MKOsK
KJYJKMkKKB0ouxAoogQo3A0otwYosQ8opAwokwso+Q8o0AgovgIo7ggolA0oxBAotQsorwkoyBAo
7g0o0wEogQ4ogREowBAojQ4opgcovQIougcotQko0gcouwko/Qoo7w8oiA0opgUouQ4oqQEogwYo
/QwohQcovgUomAYomw0oqgIolggosgIoowIo9A4o6Qco5g4o4w4oywYodShYKN0NKP8CKPoHKO4G
KNwBKKkHKMEDKPQHKJYFKOMFKOUPKJ0DKIcRKPwEKNEKKPwKKEUokAgozQEoxQEotAEozwQoyAso
wAcoqQ4o6AYo+A0orBAo5AQozQIokgcoqxAorwcorg0o8Q8o8QMouAso/QUozQ8oAiiyCSicAyjG
CCi/DCiVDCisASjLASi0CSjTBCjTDiieBCiSECioDSiYESiaByiGCijcAyiaDiiVCCjSDCi6BCjA
Ayj+CijYASi2ECijCSipDyjcDiitByjlECirCSjzDCjeDii/ByjzCCirDSiODSiSBiinAygLKLYJ
KLIMKIAMKKUNKL0NKI4DKJENKMkEKJ0EKOIIKJMBKJYDKK0BKJ8QKJ4BKMQIKLEMKLIEKNMJKNEN
KOEHKPECKLUEKLUHKPgMKNMCKIYRKKARKO8MKK8LKHsotAIovAMojQkoihAovAsotwEo9wgouAQo
1A4o7QwopwsoqgMoxAso/gco1RAohQUoxgcouAIoig8ohxAo2AMovAEojQso5QUosgUoogkouA8o
kwYohw4oowwo0g4oowcowA8oygQo6w4ozQgozgwo1AMo5Aoo8g0oyA0o/AEo8wko2QoolgIowAso
wwEoxg0omwwo1QQotAYouAEo8QEo8w8opgIorgEojAkoyQgosQ4o1gYoqAoogQko4QgoqwYonwoo
8RAoPyj7ASitDiihCyiaAiiGCyitDyihECiaBSiLBijXByjFBSimASioByjEBSiWCiiRDyjUBigY
KLgQKL4KKL0GKLsPKKYQKMwKKDIo6AMoqQso3A8olAso5BAoiwMolQ8osA0omgQoByjWECj6DCjA
CSiVASiuBSjkBSitCSjaBSj3ASiFAii3BCjCAyjjASi/DyjwDyi0BSjBCCi0Byi8DyjnByiJESiS
ASjAAii0DSj6ASjjBCgJKMgHKMQGKKkEKP0QKPEFKKwPKKQCKJ8LKN0BKOoNKEkosRAoqQYoowMo
8QYowQEorQso5wYo2wYo6QgolQ0oiQso0gQonxEo0AoouQkouQUo3g0ovQ8o0wYomBAovgso2QYo
gAso3wMokQkongcolAQo/QQorAUo9AMo4A8oqg0oiwIonAwomwMo6AcouA0oiQUouQ0o7Qko0wUo
kQcogAooxAIovw0o5hAohQko7A4o8wYorAYojgsotgQo1gIogAYo1A0o8wsotQ8o+BAogwEo6goo
sQIoqgUoZSifDSi3DSidDCiJECi8DijbDCjXBCjaCyjdCyiLESjfDihTKI4QKMEOKMUHKJAHKJwG
KKoLKKAMKGgo8QsorQwo9RAoswso1AQosw0o8gYokA0ongIo1ggoxQIomwoo5AgopgwokwoohAEo
fCiXDiivAyjYBShhKIEDKPkHKMwMKIsJKK8MKPkEKIcKKLYOKN4PKLcMKPwMKJcLKOMIKMAKKMUO
KNELKIgPKJILKPAQKIQDKO8QKAYolg0o8Qkorw4o4Aso4wkovwEoxAMoyxAo3BAotQYo6Qwowgco
/QEokQIolAcoiAEokxEo2w8okgUohAQoixAoqAIoigIotQwoiAIo8AYoywwoug4o4Q0oqAMo2Ako
QCjkASjhBCiAAijPDyj4BSiZASjmDyjvCSjZCCjIBChxKLEGKIIMKN4BKMgPKIMOKKUGKP4MKKQD
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
2QQonREokgoo/ggorwIo3wgowgUo6wEo2woo8AwoiwgopAoouwcojwgonAQo5A4opQco5gcohQQo
2ggo1gco1w4ouAkozggozQ4o+Qko3w0o1A8o6QYo6gMoqwUo9QIo2gMo1wEo+wQo4AQopQEorAoo
/wkotwso0xAozAQo9g8okwMomQIoug0ojQYonwgoCCjdCCiMECi/CijbBSibBiipBSjLDSiiDiif
Aij1DSimCiitBSgrKKwHKK0QKP8NKL8FKIcHKLIGKNgPKKkJKLsDKIwOKMoQKJEKKJ0CKNoCKI8C
KIcPKJgLKJwKKJ0FKKMPKKcIKN0MKLELKPYLKLAPKOEDKJ4IKMkBKKsDKMoKKP8QKI4FKG4o5Ako
oQYoqgoolwco6wwo+gIouAMorgQokw4ozAEo9w4otwkooAoojQoohQYojgEovQMouAwojxAo0Qco
kwgogQQomAUo8AcomQUoygwowwso+QEozgso+w4oyAIo9AIorgMo+gMoywoosgco5gIopwko/QIo
rwQowwgoxwwo4g4ovQUoow0o1gQoow4ogg0o5Q4o3QUopA8omAoo8g8ogQcosQQo9ggoiQko/Q0o
swMo7gkolQQomRAoxxAogwso6wMopxAo9AwongwoqQwo4AwoJCiyCyiZCii6CCjKDiiGDyjoCyie
ESjFBCjwBCidECjtBigSKP0HKI0DKJQGKNcDKF4orwgo+hAoLCi0CiiMEShmKIcEKMkLKMoFKLkE
KPwHKN8QKLEFKJYRKOcFKMENKPYJKM4BKMcIKMcHKNMHKLYGKLwNKKkCKIwGKO4EKOYNKMMCKKYE
KN4EKJoBKOIQKMYBKPYCKPYEKP8OKLsKKKYPKIMFKI8RKOQHKJICKOcLKL8EKNcJKO0KKIoOKKgP
KJ4KKIkDKP4EKHco9goozgIooQEojRAojwso7wEo+wMo0gMo4BAo+w8olg4o1QYo3wYoywUorA0o
yRAoxQsojwco1wYojgoouQwo4AIoxgsolgwoqgwo/gEo3Awo3AUo2Q4ozw0oGijwAiiHDSjECSie
BSjfCyjFECiECCjQBCikDiiRBijGCiiaDSjpECjQDCjvBijCBCiiBiieDSj8AiiSAyiMAyihByiU
AyioCyixCCjVDSiwAyj8DiibDii5ASiYASiFESiPBCjZDyjvBCjfAiiMBSj2ECjiCijOBSjRAij1
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
UQAAAAAAAElA0QEAAAAAAAAAANEBAAAAAAAAAADRAQAAAAAAAAAA0QEAAAAAAAAAANEBAAAAAAAA
AADRAQAAAAAAAAAA2QEAAAAAAAAAANkBAAAAAAAAAADZAQAAAAAAAAAA2QEAAAAAAAAAANkBAAAA
AAAAAADZAQAAAAAAAAAA4AEA4AEA4AEA4AEA4AEA4AEADwiLIBIKCPswEgMBAAUYAA8IjCASCgit
MRIDAwIKGAUKAwjDHxMI9B8SDgiuMRIDAwIKGAoqAo0gCgMIwx8SAwiNIA8IjSASCgj7MBIDAQAF
GABQSwMEFAAAAAAAOXGPTo8UuZ4gBAAAIAQAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDAz
OC5pd2EAHAQAhAm4EAjGHxILCPUuEgMBAAUY8wgIARCkAxoNCJMDEAwaBkNyeXB0bxoUCJIDEAga
DWMFDygtYWVzLXNwGhQIkS4WAAhtZDUBFiAVCJADEAoaDmMJLIBzaGExLVNQGhsIjwMQEhoUZGF0
ZS1mb3JtYXQtdG9mdGUBNCAbCI4DEAQaFEQdHRB4cGFyYgEdVBEIjQMQLRoKZGVsdGEtYmx1ZRoT
CIwBTdAMZWFybGV5LWJveWVyGhEIiwMQPxoKRXNwcmVlLXd0YhoUCIoDEBcaDWZsaWdodFBsYW5u
ZQEpgIkDEAIaCmZsb2F0LW1tLmMaFAiIAxAFGg1HYXVzc2lhbgFnTHIaDQiHAxCnARoFR2JlbXUa
FQiGAfDADmdjYy1sb29wcy13YXNtGg8IhQMQCxoIaGFzaC1tYXAaEwiEAxAwGgxIYXNoU2V0LQUm
NBEIggMQIBoKanNoaW50BZ7w1x8IgQMQARoYanNvbi1zdHJpbmdpZnktaW5zcGVjdG9yGhAIgAMQ
RxoJbGViYWItd3RiGg8I/wIQPxoITWFuZHJlZWwaCQj+AhAdGgJNTBoQCP0CEAMaCU4tYm9keS1T
UBoUCPwCEAgaDU5hdmllci1zdG9rZXMaEgj7AhANGgtPY3RhbmUtemxpYhoXCPoCECYaEE9mZmxp
bmVBc3NlbWJsZXIaCwj5AhA6GgRQZGZzGhII+AIQQxoLUHJlcGFjay13dGIaFQj3AhACGg5xdWlj
a3NvcnQtdykVgPYCEBgaCFJheXRyYWNlGg0I9QIQChoGUmVnZXhwGg8I8wGFMAhSaWNoYXJkcxoU
CPIBIAANEREpXHgMCPECEAgaBXNwbGF5GhoI8AIQBxoTU3RhbmZvcmQtTWQsYWVzGh0I5AIQDBoW
PhwAJHBia2RmMhodCNwBSUIfACRzaGEyNTYaHAjbAT4AFSmGDC11bnAB4Fxjb2RlLVNQGhII2gIQ
CRoLdGFnY2xvdWQBFCgPCNkCEDEaCFRzZgmreBII2AIQ/wEaClR5cGVzY3JpcHQaFAjVAhBBGg1V
Z2wh2gRqcyX48DwPCNQCEA4aCFVuaVBva2VyGgsIzgIQ1wIaA1dTTBoRCKMDEBAaCjNkLWN1YmUt
c3AaFQiiAxAQGg4zZC1yLVABgzAQCKEDEEAaCUFjb3JuDVpEnwMQGBoIYWktYXN0YXIaCgieYRS4
A0FpchoPCJ0DEBsaCGFzeW5jLWZzGg4InAMQORoHYmFieWxvbhoSCJsDEDgaC2IJEAVSNBAImgMQ
BhoJYmFzZTY0AXbQDAiZAxArGgVCYXNpYxoMCJgDEFYaBUJveDJEGgsIlgMQFhoEQ2RqcxoPCJUD
EA8aCENoYWkFTFwXCJQDECgaEGNvZmZlZXNjcmlwdC13dGJQSwMEFAAAAAAALnCPTiCFQxwaAAAA
GgAAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDAzOS5pd2EAFgAAFEwPCMcfEgoI9S4SAwEA
BRgECAQQAlBLAwQUAAAAAADTdelMoePtexoAAAAaAAAAHgAAAEluZGV4L1RhYmxlcy9EYXRhTGlz
dC00MDQwLml3YQAWAAAUTA8IyB8SCgj1LhIDAQAFGAQICRABUEsDBBQAAAAAAG5xj06C9ncEOQAA
ADkAAAAeAAAASW5kZXgvVGFibGVzL0RhdGFMaXN0LTQwNDEuaXdhADUAADPIDwjJHxIKCPUuEgMD
AgoYIwgCEAQaEQgDEMQiMgoIgAIQ/QEgACgAGgoIAhChETIDCIQCUEsDBBQAAAAAAG5xj06wDcux
VgAAAFYAAAAeAAAASW5kZXgvVGFibGVzL0RhdGFMaXN0LTQwNDIuaXdhAFIAAE/wTg8Iyh8SCgj1
LhIDAQAFGD8IAxACGjkIARACKjMKMQoRCCTSAQQIABAA2gEFCMEiEAAKEAgk0gEECAAQANoBBAgB
EAAKAggdCgYIEBAPGAFQSwMEFAAAAAAA03XpTDqjOw0aAAAAGgAAAB4AAABJbmRleC9UYWJsZXMv
RGF0YUxpc3QtNDA0My5pd2EAFgAAFEwPCMsfEgoI9S4SAwMCChgECAwQAVBLAwQUAAAAAADTdelM
w81feRoAAAAaAAAAHgAAAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDQ0Lml3YQAWAAAUTA8IzB8S
Cgj1LhIDAQAFGAQIBRABUEsDBBQAAAAAAC5wj07LudwHGgAAABoAAAAeAAAASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNDUuaXdhABYAABRMDwjNHxIKCPUuEgMBAAUYBAgIEAJQSwMEFAAAAAAA03Xp
TH3h13caAAAAGgAAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA0Ni5pd2EAFgAAFEwPCM4f
EgoI9S4SAwEABRgECAoQAVBLAwQUAAAAAADTdelMqz1HmRoAAAAaAAAAHgAAAEluZGV4L1RhYmxl
cy9EYXRhTGlzdC00MDQ3Lml3YQAWAAAUTA8Izx8SCgj1LhIDAQAFGAQICxABUEsDBBQAAAAAAG5x
j04Zr5B1OQAAADkAAAAeAAAASW5kZXgvVGFibGVzL0RhdGFMaXN0LTQwNDguaXdhADUAADPIDwjQ
HxIKCPUuEgMBAAUYIwgCEAQaEQgDEIhFMgoIgAIQ/QEgACgAGgoIAhChETIDCIQCUEsDBBQAAAAA
ANN16UyOK9hJGgAAABoAAAAeAAAASW5kZXgvVGFibGVzL0RhdGFMaXN0LTQwNTAuaXdhABYAABRM
DwjSHxIKCPUuEgMBAAUYBAgBEAFQSwMEFAAAAAAA03XpTIRfQaAaAAAAGgAAAB4AAABJbmRleC9U
YWJsZXMvRGF0YUxpc3QtNDA1MS5pd2EAFgAAFEwPCNMfEgoI9S4SAwEABRgECAQQAVBLAwQUAAAA
AADTdelMs8a3SRoAAAAaAAAAHgAAAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDUyLml3YQAWAAAU
TA8I1B8SCgj1LhIDAQAFGAQICRABUEsDBBQAAAAAACNvj06zn7CqGgAAABoAAAAeAAAASW5kZXgv
VGFibGVzL0RhdGFMaXN0LTQwNTMuaXdhABYAABRMDwjVHxIKCPUuEgMBAAUYBAgCEAFQSwMEFAAA
AAAA03XpTOYo9EEaAAAAGgAAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA1NC5pd2EAFgAA
FEwPCNYfEgoI9S4SAwEABRgECAMQAVBLAwQUAAAAAAAjb49OOtn6pRoAAAAaAAAAHgAAAEluZGV4
L1RhYmxlcy9EYXRhTGlzdC00MDU1Lml3YQAWAAAUTA8I1x8SCgj1LhIDAQAFGAQIDBABUEsDBBQA
AAAAANN16UzdRlRcGgAAABoAAAAeAAAASW5kZXgvVGFibGVzL0RhdGFMaXN0LTQwNTYuaXdhABYA
ABRMDwjYHxIKCPUuEgMBAAUYBAgFEAFQSwMEFAAAAAAA03XpTG9j3rsaAAAAGgAAAB4AAABJbmRl
eC9UYWJsZXMvRGF0YUxpc3QtNDA1Ny5pd2EAFgAAFEwPCNkfEgoI9S4SAwEABRgECAgQAVBLAwQU
AAAAAADTdelMY2rcUhoAAAAaAAAAHgAAAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDU4Lml3YQAW
AAAUTA8I2h8SCgj1LhIDAQAFGAQIChABUEsDBBQAAAAAANN16Uy1tky8GgAAABoAAAAeAAAASW5k
ZXgvVGFibGVzL0RhdGFMaXN0LTQwNTkuaXdhABYAABRMDwjbHxIKCPUuEgMBAAUYBAgLEAFQSwME
FAAAAAAA03XpTF6Hs1IaAAAAGgAAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA2MC5pd2EA
FgAAFEwPCNwfEgoI9S4SAwEABRgECAIQAVBLAwQUAAAAAABucY9OlWFOE1kAAABZAAAAKQAAAElu
ZGV4L1RhYmxlcy9IZWFkZXJTdG9yYWdlQnVja2V0LTQwOTQuaXdhAFUAAHCQDwj+HxIKCPYuEgMB
AAUYYAgBEgwIABUAAMRCGAAgohESDAgBFS4OADgCFWaSEEMYACChERILCAMRKhAAEgsIBC4NAAAF
Lg0AJAYVAADEQhgAIABQSwMEFAAAAAAAbnGPTkbFqP14KwAAeCsAACkAAABJbmRleC9UYWJsZXMv
SGVhZGVyU3RvcmFnZUJ1Y2tldC00MDk1Lml3YQB0KwDw8AGQEQj/HxIMCPYuEgMBAAUY3vABCAES
CwgAFQAAAAAYACADEgsIAS4NAAACLg0AAAMuDQAABC4NAAAFLg0AAAYuDQAABy4NAAAILg0AAAku
DQAACi4NAAALLg0AAAwuDQAADS4NAAAOLg0AAA8uDQAAEC4NAAARLg0AABIuDQAAEy4NAAAULg0A
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
mzIOAACcMg4AAJ0yDgAAnjIOAACfMg4AAKAyDgAooREVAAAAABgAIAJQSwMEFAAAAAAA03XpTJWI
3yMaAAAAGgAAAB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA5Ni5pd2EAFgAAFEwPCIAgEgoI
9S4SAwEABRgECAcQAVBLAwQUAAAAAADTdelMSvh3WxgAAAAYAAAAKQAAAEluZGV4L1RhYmxlcy9I
ZWFkZXJTdG9yYWdlQnVja2V0LTQxMDQuaXdhABQAABJEDwiIIBIKCPYuEgMBAAUYAggBUEsDBBQA
AAAAANN16UzbaR/1GAAAABgAAAApAAAASW5kZXgvVGFibGVzL0hlYWRlclN0b3JhZ2VCdWNrZXQt
NDEwNS5pd2EAFAAAEkQPCIkgEgoI9i4SAwEABRgCCAFQSwMEFAAAAAAA03XpTBpNWjEaAAAAGgAA
AB4AAABJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDEwNi5pd2EAFgAAFEwPCIogEgoI9S4SAwEABRgE
CAcQAVBLAwQUAAAAAAAjb49ORyqfdSsAAAArAAAAFQAAAEluZGV4L1RhYmxlcy9UaWxlLml3YQAn
AAAlkBgIkiASEwjyLhIDAQAFGAwiBwoDCgEHGAAIABAAGAAgADAFOAFQSwMEFAAAAAAAxnGPTvC6
HgSCVQAAglUAABoAAABJbmRleC9UYWJsZXMvVGlsZS01NjM2Lml3YQCuEgCAgATwPBoIhCwSFQjy
LhIDAQAFGI/3EiIHCgMKAQcYAAgCEP8BGIAGIIACKrgJCAAQAxpMBAIAACQAAAAAAAEAAwABCBQA
AACAqUABDE4cAAiAB/gJHAwDAAAUASxQAAAAAgAAAKMBAAAi/gMAABwAOAD//gEA/gEA/gEA/gEA
/gEA/gEA/gEA2gEAECgFMmAFQQ4gAAAAATAAAMAMAQoRARRAMAEAAABBWS4kAAR4gAEWEQEdJAEp
FAAAAAgQAkVdAAVNaQA6QWUIJABI/mUC/mUC/mUC/mUC/mUC/mUC/mUC4mUCECq4CQgBYrsEBBqj
iZ8AAkrXBASV8Akc/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsEjrsEBI0JgX0RAZ2Xnd8EUAn+uwT+
uwT+uwT+uwT+uwT+uwT+uwT+uwTKuwQAAmK7BAS4jomfTrsEBDbcCRz+uwT+uwT+uwT+uwT+uwT+
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
2QEQAxpMBAJBCgEBAAFFVwUBCICQQEE6UhwABAzeCRwMAwAAFAUtSVNBXwAiQVcIHAA4/lcC/lcC
/lcC/lcC/lcC/lcC/lcC4lcCPrwEACCKvAQEMHhNRgUB/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
mrwEANpmvAQAZGq8BAQg3P68BP68BP68BP68BP68BP68BP68BP68BKa8BAAZirwEBIBwhbUNAf68
BP68BP68BP68BP68BP68BP68BP68BJq8BADbZrwEBGCKiaBOlAkE5tYJHP54Cf54Cf54Cf54Cf54
Cf54Cf54Cf54CY54CQBMDr4LFQGdmA79DQQAABJYDgSYWwEKEQEdJA08/jQO/jQO/jQO/jQO/jQO
/jQO/jQO/jQOUjQOANxmvAQEGIaJoE68BAQY1Akc/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEjrwE
AMONpAkBnZgNGA4UEwRgUAkeCQEdJP68BP68BP68BP68BP68BP68BP68BP68BG68BADdZrwEBKiF
iaBOvAQEetMJHP68BP68BP68BP68BP68BP68BP68BP68BI68BAC1jaQJAZ2YDRiBvAToTQkeCQEd
JP68BP68BP68BP68BP68BP68BP68BP68BG68BADeZrwEAOhqvAQAaP68BP68BP68BP68BP68BP68
BP68BP68BKq8BAC9jaQJAZ2YDRiBvACg/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEzrwEAN9mvAQE
oIQWXAlOeAkEeNIJHP54Cf54Cf54Cf54Cf54Cf54Cf54Cf54CY54CQCUjaQJAVa8BATgSQkeCQEd
JP54Cf54Cf54Cf54Cf54Cf54Cf54Cf54CW54CQDgZrwEBOCCiaBOvAQE+tAJHP68BP68BP68BP68
BP68BP68BP68BP68BI68BABcirwEBOhDibYJAf68BP68BP68BP68BP68BP68BP68BP68BJq8BADh
ZrwEABhqvAQAYv68BP68BP68BP68BP68BP68BP68BP68BKq8BABDirwEBIhBibYJAf68BP68BP68
BP68BP68BP68BP68BP68BJq8BADiZrwEBKiBFlwJTngJBOTPCRz+eAn+eAn+eAn+eAn+eAn+eAn+
eAn+eAmOeAkANYq8BATIP4m2CQH+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vASavAQA42a8BAAwarwE
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
5rsEAERiuwRupxcE0Kv+7BL+7BL+7BL+7BL+7BL+7BL+7BL+7BKm7BKOpxcE6A0elgkBASqaCf7s
Ev7sEv7sEv7sEv7sEv7sEv7sEv7sEm7sEgBFYrsEBABeiZ9OYhwAsP67BP67BP67BP67BP67BP67
BP67BP67BKq7BAB4gY4VAZ2XKuwSANj+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwTOuwQARmK7BABA
arsEBICqidf+Yhz+Yhz+Yhz+Yhz+Yhz+Yhz+Yhz+YhyOYhwAeZW3AQFWuwQAQP67BP67BP67BP67
BP67BP67BP67BP67BM67BABHYrsEBIBdiZ9OdgkE0KkJHP67BP67BP67BP67BP67BP67BP67BP67
BI67BAB2gbIVAVa7BAToDBUhBAAALiQA/jEO/jEO/jEO/jEO/jEO/jEO/jEO/jEObjEOAEj+uwT+
uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwTmuwQASf67
BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BOa7BABK
/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE5rsE
AEv+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwTm
uwQATGK7BAQAWhaLF06nFwSgqAkc/qcX/qcX/qcX/qcX/qcX/qcX/qcX/qcXjqcXBGgALgEAVqcX
AFD+pxf+pxf+pxf+pxf+pxf+pxf+pxf+pxfOpxcATWK7BATAWomfTrsEAID+uwT+uwT+uwT+uwT+
uwT+uwT+uwT+uwSquwQEawAuAQBWuwQAQP67BP67BP67BP67BP67BP67BP67BP67BM67BABOYrsE
BEBaZrsEAAD+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwSquwQEaQAuAQBWuwQAAP67BP67BP67BP67
BP67BP67BP67BP67BM67BABPZrsEAFlquwQApwkc/jEO/jEO/jEO/jEO/jEO/jEO/jEO/jEOjjEO
AGUuugRauwQEgAsuJQCd3/7YJf7YJf7YJf7YJf7YJf7YJf7YJf7YJW7YJQBQYrsEAABquwQE4Kb+
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
AP68BP68BP68BP68BP68BP68BP68BP68BM68BADIarwEangJBACPFlAO/vAS/vAS/vAS/vAS/vAS
/vAS/vAS/vASjvASjngJAOAaQC8JASqcCQ0Y/giO/giO/giO/giO/giO/giO/giO/giOUgiOAMlm
vARu8BIEwI3+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vASmvASO8BIAuI2kCQH+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vASavAQAyma8BAQAQImgTqwX/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwErrwEACCJ
kQ0BnZgqFDT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATSvAQAy9a8BAAA/ngJ/ngJ/ngJ/ngJ/ngJ
/ngJ/ngJ/ngJqngJjrwEAKD+eAn+eAn+eAn+eAn+eAn+eAn+eAn+eAnOeAkAzGq8BAA+angJAIsJ
HP7wEv7wEv7wEv7wEv7wEv7wEv7wEv7wEo7wEgAeGnIJCQFWeAkAeP68BP68BP68BP68BP68BP68
BP68BP68BM68BADNarwEAD2JoE40DgAA/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEqrwEAB2JtQ0B
VrwEAGD+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATOvAQAzmq8BAA8ZrwEBECJCRz+eAn+eAn+eAn+
eAn+eAn+eAn+eAn+eAmOeAkAHI22CQFWvAQAKP68BP68BP68BP68BP68BP68BP68BP68BM68BADP
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE6rwE
ANBqvAQAOhZcCVI0DgCICRz+eAn+eAn+eAn+eAn+eAn+eAn+eAn+eAmOeAkAGhZxCQ0BVngJJoLX
AQEdJBqQCf7gJf7gJf7gJf7gJf7gJf7gJf7gJf7gJVLgJQDRarwEADiJoFK8BACGCRz+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vASOvAQAGIGPFQGdmCokIQDADQwJAR0k/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwEbrwEANL+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vATqvAQA0/68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68
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
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQA2Ga8BAQARmZ4
CQSglAkc/jQO/jQO/jQO/jQO/jQO2jQOAJANAKr3AgD//gEA/gEAbgEAGCgFMmAFAgAFARABMAAA
LAUKEQEkQDABAAAAAwAAAC4kAAQoBREgAQEdJAEpKAAAAAgQAgB6AQAAAScBWyA6/gMAACQASAD+
CQH+CQFuCQH+AQD+AQD+AQD+AQD+AQBuAQAsKrkJCNkBEAMaTAQCQQoBAQABRVcJAQRGQEE6UhwA
BKCUCRwMAwAAFAktRVNBXwAiQVcIHAA4/lcC/lcC/lcC/lcC/lcC/lcC/lcC4lcC/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwEorwEANr+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQA22a8BATWqxZcCU6UCQQv+gkcOngJCHkBAP54Cf54Cf54
Cf54Cf54Cf54Cf54Cf54CUZ4CQTrDRqaCwUBKhAODv0NBAAAElgOBPCiDkoOEQEdJA76Cxo0DkFd
/jQO/jQO/jQO/jQO/jQO/jQO/jQO/jQOMjQOANz+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQA3Wa8BATgqRZcCU54CQQx+Akc/ngJ/ngJ/ngJ
/ngJ/ngJ/ngJ/ngJ/ngJjngJBPAMDjoJEQEqVAkqeAkEEIP+eAn+eAn+eAn+eAn+eAn+eAn+eAn+
eAnKeAkA3ma8BACQarwEAAn+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vASqvAQAyIq8BASQgP68BP68
BP68BP68BP68BP68BP68BP68BMq8BADfZrwEBKydFlwJTngJBMvqCRz+eAn+eAn+eAn+eAn+eAn+
eAn+eAn+eAmOeAkEawcedAkBAVZ4CQRY1gEcEQEdJP7wEv7wEv7wEv7wEv7wEv7wEv7wEv7wEm7w
EgDgZrwEBASciaBOvAQEaOkJHP68BP68BP68BP68BP68BP68BP68BP68BI68BAABirwEBEDLkbgB
Af68BP68BP68BP68BP68BP68BP68BP68BJq8BADhZrwEBByaiaBOvAQERegJHP68BP68BP68BP68
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
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAq/68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BOq8BACsarwEamgcBGCrFgwT/iQh/iQh/iQh
/iQh/iQh/iQh/iQh/iQhjiQhjmgcBLANDgwTEQEqFBP+JCH+JCH+JCH+JCH+JCH+JCH+JCH+JCFu
JCEArWq8BABdiaBOJCEEgKoJHP68BP68BP68BP68BP68BP68BP68BP68BI68BAB3kZMFAZ2YLlgv
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEzrwEAK7WvAQAQP68BP68BP68BP68BP68BP68BP68BP68
BP68BDq8BAAg/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEzrwEAK9qvAQAWhZcCU54CQRwqAkc/ngJ
/ngJ/ngJ/ngJ/ngJ/ngJ/ngJ/ngJjngJBGsALgEAVngJBDgMWiQA/jQO/jQO/jQO/jQO/jQO/jQO
/jQO/jQObjQOALBmvAQEQFqJoE68BABQ/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwEqrwEBGkALgEA
VrwEACj+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATOvAQAsWa8BASAW2a8BAAg/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwEqrwEAG4uuwRavAQAEP68BP68BP68BP68BP68BP68BP68BP68BM68BACyZrwE
bngJBHCnidj+NA7+NA7+NA7+NA7+NA7+NA7+NA7+NA6ONA6OeAkEuAsu4QQqnAn+NA7+NA7+NA7+
NA7+NA7+NA7+NA7+NA5uNA4As2a8BATAWYmgTjQO/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwErrwE
AGculwQumAQqaBz+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATSvAQAtGa8BABA/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwEjbwAZf68BP68BP68BP68BP68BP68BP68BP68BP68BF68BAC1ZrwEBABa
/ngJ/ngJ/ngJ/ngJ/ngJ/ngJ/ngJ/ngJ/ngJFngJBGgALgEAKhAO/ngJ/ngJ/ngJ/ngJ/ngJ/ngJ
/ngJ/ngJ/ngJALZmvAQEQFhmvAQEsKUJHP7wEv7wEv7wEv7wEv7wEv7wEv7wEv7wEo7wEgBhLrsE
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
Of67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BOa7
BAA6/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE
5rsEADv+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+
uwTmuwQAPP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67
BP67BOa7BAA9YrsEBABLFosXTqcXAGD+pxf+pxf+pxf+pxf+pxf+pxf+pxf+pxeqpxcANiKjFwEB
VqcXABj+pxf+pxf+pxf+pxf+pxf+pxf+pxf+pxfOpxcAPma7BABKZrsEACD+uwT+uwT+uwT+uwT+
uwT+uwT+uwT+uwSquwQANIGyFQFWuwQACP67BP67BP67BP67BP67BP67BP67BP67BM67BAA/ZrsE
AEz+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwSJuwA4lbcBAf67BP67BP67BP67BP67BP67BP67
BP67BP67BJ27AEBmuwT+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+dgn+
dgn+dgn+dgn+dgl+dgkAQf67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67
BP67BP67BP67BP67BOa7BABC/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE
/rsE/rsE/rsE/rsE/rsE5rsEAEP+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+
uwT+uwT+uwT+uwT+uwT+uwTmuwQARP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67BP67
BP67BP67BP67BP67BP67BP67BOa7BABF/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE/rsE
/rsE/rsE/rsE/rsE/rsE/rsE/rsE5rsEAEb+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwT+
uwT+uwT+uwT+uwT+uwT+uwT+uwT+uwTmuwQAR/67BP67BP67BP67BP67BP67BP67BP67BP67BP67
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
/rwE/rwE/rwE/rwE/rwE/rwE6rwEAIz+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAjf68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BOq8BACO/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE6rwEAI/+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAkGq8BAA9FjwvTnxQBECNCRz+WC/+WC/+WC/+
WC/+WC/+WC/+WC/+WC+OWC8AHQ5PLxUBVlgvAKgODKgVAR0kDRj+Xar+Xar+Xar+Xar+Xar+Xar+
Xar+XapGXaoMuQkIkf68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BOq8BACS/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE6rwEAJP+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vATqvAQAlP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BOq8BACV/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwE6rwEAJb+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAl/68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BOq8BACY/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE6rwEAJn+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAmv68BP68BP68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BP68BP68BOq8BACb/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE6rwEAJz+vAT+vAT+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAnf68BP68BP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BOq8BACe/rwE/rwE/rwE/rwE/rwE/rwE
/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE/rwE6rwEAJ/+vAT+vAT+vAT+vAT+vAT+
vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vAT+vATqvAQAoP68BP68BP68BP68BP68
BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BP68BN68BCCdCQihARACGkAOYFAA
LBL7TRYe9g58+BgjFqFS1258FmRQBAIAQiAAGFHEIlTq6skFIBIS9gAg/hD2/hD2/hD2/hD2/hD2
/hD2/hD24hD2AP8OEvYAUCIC40QyAACRiE7xGt26q/04jO5L4AISzfpBVQ5LUC4oADjTc8HPINZw
FmkUjOFsQQYyKAASvfoAKP5VAv5VAv5VAv5VAv5VAv5VAv5VAupVAgwwBTgBUEsDBBQAAAAAANN1
6UyWZv4UFgAAABYAAAAmAAAASW5kZXgvQW5ub3RhdGlvbkF1dGhvclN0b3JhZ2UtNDA2NC5pd2EA
EgAAEDwPCOAfEgoI1QESAwEABRgAUEsDBBQAAAAAAC5wj06nXN53F4kAABeJAAAhAAAASW5kZXgv
RG9jdW1lbnRTdHlsZXNoZWV0LTQwNjguaXdhAIgvAICABPQIA64FCOQfEqgFCJEDEgMBAAUYm2Qq
mgW5G7gbmh6WHpceoh6jHqwepB6lHqYepx6oHqkeqh6rHq0emx6cHp0enh6fHqAemB6ZHrMerx6w
HrsevB7FHr0evh6/HsAewR7CHsMexB7GHrQetR62HrceuB65HrEesh7MHsgeyR7UHtUe3h7WHtce
2B7ZHtoe2x7cHt0e3x7NHs4ezx7QHtEe0h7KHsse5R7hHuIe7R7uHvce7x7wHvEe8h7zHvQe9R72
Hvge5h7nHuge6R7qHuse4x7kHv4e+h77HoYfhx+QH4gfiR+KH4sfjB+NH44fjx+RH/8egB+BH4If
gx+EH/we/R6XH5MflB+fH6AfqR+hH6Ifox+kH6Ufph+nH6gfqh+YH5kfmh+bH5wfnR+VH5Yf2RuU
IM0bzhvPG9Ab0RvSG8AbwRvCG8MbxBvFG9Mb1BvVG9Yb1xvYG5obxhvHG8gbyRvKG8sb2huVIJYg
lyCYIJkgmiCbIJwg2xvsHIMdmh2xHcgd3x3tHPEc8hzzHPQc9RzwHO8c7hz2HPcc+Bz5HPochB2I
HYkdih2LHYwdhx2GHYUdjR2OHY8dkB2RHZsdnx2gHaEdoh2jHZ4dnR2cHaQdpR2mHacdqB2yHbYd
tx24Hbkduh21HbQdsx27HbwdvR2+Hb8dyR3NHc4dzx3QHdEdzB3LHcod0h3THdQd1R3WHeAd5B3l
HeYd5x3oHeMd4h3hHekd6h3rHewd7R37HPwc/Rz+HP8ckh2THZQdlR2WHakdqh2rHawdrR3AHcEd
wh3DHcQd1x3YHdkd2h3bHe4d7x3wHfEd8h2BHYAdmB2XHa8drh3GHcUd3R3cHfQd8x2SG5MbnBum
G6kbrBuuG5QbsRuyG7MbtBu1G7YbtxuVG54blhufG5cbmBuhG5kbzBsKAwiSGwoDCJMbCgMIlBsK
AwiVGwoDCJYbCgMIlxsKAwiYGwoDCJkbCgMImhsKAwicGwoDCJ4bCgMInxsKAwihGwoDCKYbCgMI
qRsKAwisGwoDCK4bCgMIsQFGALIBBQCzAQUAtAEFALUBBQC2AQUAtwEFALgBBQC5AQUAugEFALsB
BQC8AQUAvQEFAL4BBQC/AQUAwAEFAMEBBQDCAQUAwwEFAMQBBQDFAQUAxgEFAMcBBQDIAQUAyQEF
AMoBBQDLAQUAzAEFAM0BBQDOAQUAzwEFANABBQDRAQUA0gEFANMBBQDUAQUA1QEFANYBBQDXAQUA
2AEFANkBBQDaAQUA2wEFFOwcCgMI7QEFAO4BBQDvAQUA8AEFAPEBBQDyAQUA8wEFAPQBBQD1AQUA
9gEFAPcBBQD4AQUA+QEFAPoBBQD7AQUA/AEFAP0BBQD+AQUA/wEFFIAdCgMIgQEFAIMBBQCEAQUA
hQEFAIYBBQCHAQUAiAEFAIkBBQCKAQUAiwEFAIwBBQCNAQUAjgEFAI8BBQCQAQUAkQEFAJIBBQCT
AQUAlAEFAJUBBQCWAQUAlwEFAJgBBQCaAQUAmwEFAJwBBQCdAQUAngEFAJ8BBQCgAQUAoQEFAKIB
BQCjAQUApAEFAKUBBQCmAQUApwEFAKgBBQCpAQUAqgEFAKsBBQCsAQUArQEFAK4BBQCvAQUAsQEF
ALIBBQCzAQUAtAEFALUBBQC2AQUAtwEFALgBBQC5AQUAugEFALsBBQC8AQUAvQEFAL4BBQC/AQUA
wAEFAMEBBQDCAQUAwwEFAMQBBQDFAQUAxgEFAMgBBQDJAQUAygEFAMsBBQDMAQUAzQEFAM4BBQDP
AQUA0AEFANEBBQDSAQUA0wEFANQBBQDVAQUA1gEFANcBBQDYAQUA2QEFANoBBQDbAQUA3AEFAN0B
BQDfAQUA4AEFAOEBBQDiAQUA4wEFAOQBBQDlAQUA5gEFAOcBBQDoAQUA6QEFAOoBBQDrAQUA7AEF
AO0BBQDuAQUA7wEFAPABBQDxAQUA8gEFAPMBBQD0AQUUlh4KAwiXAQUAmAEFAJkBBQCaAQUAmwEF
AJwBBQCdAQUAngEFAJ8BBQCgAQUAogEFAKMBBQCkAQUApQEFAKYBBQCnAQUAqAEFAKkBBQCqAQUA
qwEFAKwBBQCtAQUArwEFALABBQCxAQUAsgEFALMBBQC0AQUAtQEFALYBBQC3AQUAuAEFALkBBQC7
AQUAvAEFAL0BBQC+AQUAvwEFAMABBQDBAQUAwgEFAMMBBQDEAQUAxQEFAMYBBQDIAQUAyQEFAMoB
BQDLAQUAzAEFAM0BBQDOAQUAzwEFANABBQDRAQUA0gEFANQBBQDVAQUA1gEFANcBBQDYAQUA2QEF
ANoBBQDbAQUA3AEFAN0BBQDeAQUA3wEFAOEBBQDiAQUA4wEFAOQBBQDlAQUA5gEFAOcBBQDoAQUA
6QEFAOoBBQDrAQUA7QEFAO4BBQDvAQUA8AEFAPEBBQDyAQUA8wEFAPQBBQD1AQUA9gEFAPcBBQD4
AQUA+gEFAPsBBQD8AQUA/QEFAP4BBQD/AQUEgB+BGgEFAIIBBQCDAQUAhAEFAIYBBQCHAQUAiAEF
AIkBBQCKAQUAiwEFAIwBBQCNAQUAjgEFAI8BBQCQAQUAkQEFAJMBBQCUAQUAlQEFAJYBBQCXAQUA
mAEFAJkBBQCaAQUAmwEFAJwBBQCdAQUAnwEFAKABBQChAQUAogEFAKMBBQCkAQUApQEFAKYBBQCn
AQUAqAEFAKkBBQCqAQUAtAEFALUBBQC2AQUAtwEFALgBBQC5AQUAugEFALsBBQC8AQUAvQEFAL4B
BQC/AQUAwAEFAMEBBQDCAQUUlCAKAwiVAQUAlgEFAJcBBQCYAQUAmQEFAJoBBQCbAQUAnAEFFIom
CgMIiwEFAIwBBQSWKWE5AQUAmAEFoJkpEiAKGWNoYXJhY3Rlci1zdHlsZS1oeXBlcmxpbmsSAwi5
GxIbChRjOiIAMG51bGwSAwi4GxIdChYBP2h0LTAtY2F0ZWdvcnlheGlzXzASAwiaHhIUCg0VHzBo
YXJ0EgMIlh4SFQoOBQ4kLTAtbGVnZW5kEmHODBIfChgRFyRwYXJhZ3JhcGhTAZIFTgCibiEAFDES
AwijHhHNAVk6QgAAMQGRAKxuQwAQMhIDCKRuIQAQMxIDCKVuIQAQNBIDCKZuIQAQNRIDCKduIQAQ
NhIDCKhuIQAQNxIDCKluIQAQOBIDCKpuIQAkORIDCKseEh4KFzFsLHJlZmVyZW5jZUxpbilrFK0e
EhcKEBEgEHNlcmllKdIAm04ZACF8AJxOGQAhUgCdThkAIUoAnk4ZACFCAJ9OGQAhOhSgHhIaChMR
lhB2YWx1ZVVrAJhaHAABnASZHlmmADFGpgIAs12mBDEtBV8MEgMIr12mADFZpgCwPVsAMT5kAkFj
ALtuIQABjgC8XaZCQgBFpgDFbkMAEDISAwi9biEAIVwAvm4hACFkAL9uIQAhbADAbiEAQaYAwW4h
AEGmAMJuIQBBpgDDbiEAQaYAxF2mADFKpgIAxl0pADEupgIAtE4ZACF8ALVOGQAhUgC2ThkAIUoA
t04ZACFCALhOGQAhOgC5XYoAMTqmAgCxWhwAAZwAsl2mADJGpgIAzF2mADJVpgDIXaYAMlmmAMk9
WwAyTqYCANRuIQABjgDVXaZCQgBFpgDebkMAIVQA1m4hABAzEgMI124hACFkANhuIQAhbADZbiEA
QaYA2m4hAEGmANtuIQBBpgDcbiEAQaYA3V2mADJKpgIA310pADIupgIAzU4ZACF8AM5OGQAhUgDP
ThkAIUoA0E4ZACFCANFOGQAhOgDSXYoAMjqmAgDKWhwAAZwAy12mADNGpgIA5V2mADNVpgDhXaYA
M1mmAOI9WwAzTqYCAO1uIQABjgDuXaZCQgBFpgD3bkMAIVQA724hACFcAPBuIQAQNBIDCPFuIQAh
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
XlQANo0GlvwAHmUKXlQAzlABHmUKYlQAyvwA/mUKbmUKYqgA/mUKXmUKUnEA/mUK/mUKxmUKUscA
2tgDHmUKXlQAzjQCHmUKXlQAzjADHmUKXlQAzqgAHmUKXlQANqgAJWKCgAT+ZQouZQoQWf4SPyUB
BQwtWP4S/mUK/mUK8mUKAJgOZQoepFwQ0AIKGhJOh4UeYT4Ar6FDBIA/GvQ9AIn+oVwqoVwEOAIS
R0wAbQ6JIAh6AIp6QlzOiAQOiUwUgD+qAQC6el0Azp9cBMgBDkpNAPASzUw4iAIAmAIAqAIDuAIC
EAiZjmEBIl01/mEB/mEB/mEB/mEBamEBDAHgAQA2YQEAASVhALMuYQEuZl8mlHMWTIhRxf5mX/5m
X/5mX/5mX95mXwCvIWlOZl8aW4kxYP5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5m
X/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5m
X/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5mX/5m
X/5mX/5mX/5mX/5mX/5mX25mXwCwDhpRSmZfADEasIweBA7+Zl96Zl8Auw6LDh4iXi5mXyp1cxby
XBb2D/5mX/5mX/5mX/5mX05mXwC8LkQBLn5aQkQBFp4SBFA4fn5aUp1I/vdX/vdX/vdXIvdXAMUu
MAEuZl9GMAFVdf7MVv7MVv7MVv7MVp7MVgC9LlwBcowCFiJALowC/mZf/mZf/mZfzmZfAL4uMAEA
myoKXUKMAhbtNgRQOHavW8r8V/5mX/5mX6JmXwC/LiwBclwCFrQtLlwCAEBSwmH+Zl/+Zl/+Zl92
Zl8AwC4wAS6zW0JcAhZ/JARQOHbnBMpcAv6zW/6zW/6zW16zWwDBLlsBcrcD/mZf/mZf/mZf7mZf
FmZfAMKiLAH+Zl/+Zl/+Zl/uZl8WZl8Awy4sAXKzA/5mX/5mX/5mX/5mX8JmXwDEolsB/mZf/mZf
/mZf/mZfwmZfAMYOTA5KZl9CEaQeVQ7+Zl9uZl8AtCHoTmZfJn+kEYf+Zl/+Zl/+Zl/+Zl+CZl8c
5NisPiV8+kFOZl9SHAAabStSHAAabStSHAAabStSHAAAWhYdVVIcABptK1IcABptK1IcABptK25m
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
s1sA8y5bAXK3A/5mX/5mX/5mX+5mXxZmXwD0oiwB/mZf/mZf/mZf7mZfFmZfAPUuLAFyswP+Zl/+
Zl/+Zl/+Zl/CZl8A9qJbAf5mX/5mX/5mX/5mX8JmXwD4DkwOSmZfADP+Zl/OZl8A5iHoTmZfADP+
Zl/+Zl/+Zl/+Zl/GZl9SuUcabStSHAAabStSHAAabStSHAAabStSHAAabStSHAAabStSHAAabStS
HAAabStuZl9SOAAebStSHQAebStSHQD+AVX+AVX+AVX+AVX+AVUOAVVSWQFCrSUO2iSGrSUebSv+
Zl9OZl9eqADOJiIAghrCXWJUAMpxKh5tK15UADaVJ5ZQAR5tK15UADb8AJZUAB5tK2JUAMr8AP5t
K25tK2KoAP5tK15tK1JxAP5tK/5tK8ZtK1LHANrYAx5tK15UAM40Ah5tK15UAM4wAx5tK15UAM6o
AB5tK15UADaoACVigtUq/tI1LtI1Du8gACUOYiUuVxZC6AEFEoKYAP5tK/ZtKwDngmUKFmsX/tI1
/tI1/tI1/tI1jtI1RRYIi+QTMhYCGmUKUhwAGmUKUhwAGmUKUhwAGmUKUhwAGmUKUhwAGmUKUhwA
GmUKUhwAGmUKbmZfUjgAHmUKUh0AHmUKUh0A/mUK/mUK/mUK/mUK/mUKDmUKUlkBQqUElsEIHmUK
/mZfTmZfXqgAzm0IHmUKYlQAymkJHmUKXlQANo0GllABHmUKXlQANvwAllQAHmUKYlQAyvwA/mUK
bmUKYqgA/mUKXmUKUnEA/mUK/mUKxmUKUscA2tgDHmUKXlQAzjQCHmUKXlQAzjADHmUKXlQAzqgA
HmUKXlQANqgAJWKCzQn+ZQpCZQoIooMpDiYuAEwqPjvOmAD+ZQr2ZQoA6IJlChZEH/5lCv5lCv5l
Cv5lCqJlCgi08qcyHlIuZQo+HAAuZQo+HAAuZQo+HAAuZQo+HAAuZQo+HAAuZQo+HAAuZQo+HAAa
ZQpuZl9lqj44ADJlCj4dADJlCj4dAP43QP43QP43QP43QP43QA43QFKTAdqNBh5lCl72DzYZCJYV
CR6cSl6oADZUAAW6guUFMmUKPlUCDhY1ymkJMmUKSlQANvUFlvwAMmUKSlQANvwAllQAMmUKTlQA
yvwA/mUKgmUKTqgA/mUKcmUKPnEA/mUK/mUK2mUKPscA2tgDMmUKSlQAzjQCMmUKSlQAzjADMmUK
SlQAzqgAMmUKSlQANqgAJWKCgAT+ZQpCZQoMKsLsPhJejQA1oScSEI3OmAD+ZQr2ZQoA6YJlChZ5
KP5lCv5lCv5lCv5lCo5lCjTHn24/Jb4QCj4thrA+PU0WGmUKUhwAGmUKUhwAGmUKUhwAGmUKUhwA
GmUKUhwAGmUKUhwAGmUKUhwAGmUKbmZfUjgAHmUKUh0AHmUKUh0A/mUK/mUK/mUK/mUK/mUKDmUK
UlkB2o0GHmUK/mZfTmZfXqgAzm0IHmUKYlQAymkJHmUKXlQANvUFlhEKHmUKXlQANvwAllQAHmUK
YlQAyvwA/mUKbmUKYqgA/mUKXmUKUnEA/mUK/mUKxmUKUscA2tgDHmUKXlQAzjQCHmUKXlQAzjAD
HmUKXlQAzqgAHmUKXlQANqgAJWL+ZQrGZQoccB4UPi0xk0weTwhC6AEFEoKYAP5lCvZlCgDqgmUK
FrIx/mUK/mUK/mUK/mUKjmUKIC9ONT8l+wi7PS5FIRplClIcABplClIcABplClIcABplClIcABpl
ClIcABplClIcABplClIcABplCm5mX1I4AB5lClIdAB5lClIdAP5lCv5lCv5lCv5lCv5lCg5lClJZ
AUKlBJbBCB5lCv5mX05mX16oAM5tCB5lCmJUAMppCR5lCl5UADaNBpZQAR5lCl5UADb8AJZUAB5l
CmJUAMr8AP5lCm5lCmKoAP5lCl5lClJxAP5lCv5lCsZlClLHANrYAx5lCl5UAM40Ah5lCl5UAM4w
Ax5lCl5UAM6oAB5lCl5UADaoACVigs0J/soULsoUHGKBaD8lZtrvMk8IQugBBRKCmAD+ZQr2ZQoA
64JlChbnOv5lCv5lCv5lCv5lCo5lChxjnwk/JW4ScDIWAhplClIcABplClIcABplClIcABplClIc
ABplClIcABplClIcABplClIcABplCm5mX1I4AB5lClIdAB5lClIdAP5lCv5lCv5lCv5lCv5lCg5l
ClJZAUKlBJbBCB5lCg5hXwAlAQX+Zl8qZl9eqADObQgeZQpiVADKaQkeZQpeVAA2jQaWUAEeZQpe
VAA2/ACWVAAeZQpiVADK/AD+ZQpuZQpiqAD+ZQpeZQpScQD+ZQr+ZQrGZQpSxwDa2AMeZQpeVADO
NAIeZQpeVADOMAMeZQpeVADOqAAeZQpeVAA2qAAlYoLNCf5lCi5lChyW0jw/JXexpDJPCELoAQUS
gpgA/mUK9mUKAOMOZQpOZl8AM/5mX/5mX/5mX/5mX/5mXxpmXwDkjmEBIl01/mZf/mZf/mZf/mZf
ymZfAP4uYQEuZl8ENC3+Zl/+Zl/+Zl/+Zl/+Zl82Zl8A+iFpTmZfBDQt/mZf/mZf/mZf/mZf/mZf
/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf
/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf
/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZf/mZfomZfAPsOGlFKZl8ANP5mX7ZmXwSG
H1rMvgA0/mZf/mZf/mZf/mZfpmZfAIcuRAEuflpCRAEWnhKGflr+Zl/+Zl/+Zl92Zl8AkC4wAS5m
X0YwAf5mX/5mX/5mX/5mX8JmXwCILlwBcowCFiJALowC/mZf/mZf/mZfzmZfAIkuMAEur1tCjAIW
7Tb+Zl/+Zl/+Zl/uZl8Aii4sAXJcAha0LS5cAv5mX/5mX/5mX85mXwCLLjABLrNbQlwCFn8k/mZf
/mZf/mZf/mZfqmZfAIwuWwFytwP+Zl/+Zl/+Zl/uZl8WZl8AjaIsAf5mX/5mX/5mX+5mXxZmXwCO
LiwBcrMD/mZf/mZf/mZf/mZfwmZfAI+iWwH+Zl/+Zl/+Zl/+Zl/CZl8MkR8SCk5mXwA0/mZfzmZf
AP8O3RxOZl8ANP5mX/5mX/5mX/5mX8ZmXzCdHUw/Jcg1Jj4t4i73Hk1CGm0rUhwAGm0rUhwAGm0r
UhwAGm0rUhwAGm0rUhwAGm0rUhwAGm0rUhwAGm0rbmZfUjgAHm0rUh0AHm0rUh0AAJD+zL7+zL7+
zL7+zL7uzL4azL5SWQFCrSWWySkebSv+Zl9OZl9eqADOdSkebStiVADKcSoebSteVAA2lSeWUAEe
bSteVAA2/ACWVAAebStiVADK/AD+bStubStiqAD+bStebStScQD+bSv+bSvGbStSxwDa2AMebSte
VADONAIebSteVADOMAMebSteVADOqAAebSteVAA2qAAlYoLVKv5tKy5tKzDQUH8/JeTmTz4t0pca
Ks2JzpgA/m0r9m0rAIAOTQxyZQoWaxf+0jX+0jX+0jX+0jWO0jUwU60DPyVMl4E+LaYNEVEWGmUK
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
ckAbLJrsGD4loCQiPy3e8v4zZBpAG/5TAC5TABpAG/5TAC5TAC5AG/5YAC5YAP7+AP7+AJr+ACpA
G/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+
ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+
AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+
AP7+AMr+ACpAG/7+AP7+AP7+AMr+AAQwiBJergCYJkAbAABaQBsAABawnipAGzCCgIA+JcLAwD4t
kpERHj4P2n04dkAbCAAAgP5AG0JAG9ZUAHZAG9ZUAHZAG9ZUAB5AG/6kAS6kAXZAG9aoAHZAGw7V
LcZgEx5AG/78AC78AHZAG9b8AHZAG9ZUAHZAG9ZUAHZAG9ZUAHZAG9ZUAHZAG9ZUAHZAG9ZUAB5A
G16gAs6TLx5AG/5UAC5UAB5AG/5UAC5UAB5AG/5UAC5UAB5AG/5UAC5UAB5AG15UAO5AG/5UAC5U
AB5AG/5UAC5UAB5AG/5UAC5UAB5AG/5UAC5UAHZAG9acA3ZAG9ZUAHZAG9ZUAHZAG9ZUAHZAG9ZU
AP5AG/5AG/5AG/5AG/5AG/5AG5ZAGwCaXkAbADL+QBsiQBsw7AhfPiWyPK8+Ld/IzCo6Us7tBhpC
Gv5TAC5TABpAG/5TAC5TAC5AG/5YAC5YAP7+AP7+AJr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+
AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+
AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpA
G/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+ACpAG/7+AP7+AP7+AMr+
ALKANg7wuSpAG14EK87sGv5AG/5AG/5AG/5AG/5AG15AG/6kAS6kAf5AG9JAG8o4HR5AG/78AC78
AP5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG05AG16gAs5TFB5AG/5UAC5UAB5AG/5UAC5UAB5A
G/5UAC5UAB5AG/5UAC5UAB5AG15UAO5AG/5UAC5UAB5AG/5UAC5UAB5AG/5UAC5UAB5AG/5UAC5U
AP5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AGyZAGwCxXkAbADN2QBsQ7exs
PyUBBQAtAQVygDYw1hxYPiUCl/o+LaboIhErDoE4ym09GkIa/lMALlMAGkAb/lMALlMALkAb/lgA
LlgA/v4A/v4Amv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4A
KkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4A
yv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A
/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AKkAb/v4A/v4A/v4Ayv4AskAb/sBR4sBR1vwsdsBR1lQA/oA2
/oA2voA2/rAULrAU/kAb/kAb/kAbHkAbzvwW/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb
/kAb/kAb/kAb/kAb/kAb/kAb/kAbmkAbAPoXAN/4AkwAIAAtAACAQDInCAEVAAAAABgAJQEHYgUA
HKoEUQoYCAEdFSUALQEKFDUAAIA/YAFCCEA/GMJUAACy/lQASlQAALr+VABKVAAAwnpUAASAPsb8
AADK/lQASlQAANL+VABKVAAA2v5UAEpUAADi/lQASlQAAOp6VABB4ln0AAKS9AIA8v5UAEpUAAD6
/lQASlQABIIFdpwDzvwAAIr+VABKVABwEAjIHRILCPMuEgMBAAUYrzYKGRISdGFibGUtNC0FCEhT
dHlsZSoDCOQfUDRajzYIARIahXYQ6ehoPyUBBQAtAQWNdjyoAQGwAQGCAuQdCA8a+wEKegUBAEDG
pQMAEv5TAEZTAAAa/lMARlMABCA//v4A/v4A/v4A8v4AAB/+/gD+/gD+/gDy/gAAL/7+AP7+AP7+
APL+AP74A/74A/74A/b4AwAB/vwB/vwB/vwB8vwBABD+/gD+/gD+/gDy/gAAAv7+AP7+AP7+APL+
AAAE/v4A/v4A/v4A8v4AACD+/gD+/gD+/gDy/gAACP7+AP7+AP7+APL+AAAT/v4A/v4A/v4A8v4A
ACz+/gD+/gD+/gDy/gAAA/7+AP7+AP7+APL+AAAM/v4A/v4A/v4A8v4A2DCIAgGQAgGYAgGgAgGo
AgGwAgHKAhJIZWx2ZXRpY2FOZXVlLUJvbGTQAgHYAgHgAgHoAgDyAlESPg8OqhMS2RM6tBMAAMq0
EwD6elQAzgwTBIIDdhUPzlQAAIr+VABKVAAAkv5UAEpUAACaelQAzqQBAKJ6VADOUAEAqv5UAEpU
AACyelQAzvwAALp6VADO/AAAwv5UAEpUAADK/lQASlQAANL+VABKVAAA2v5UAEpUAADielQANvgB
AAAWrBUAAoHCAEAVBYnRAQ8JBQDq/lQASlQAAPJ+VADKUxQA+v5UAEpUAACCflQWyqgAAIr+VABK
VAAAkv5UAEpUAACaelQAzpgaAKL+VABKVAD+QBv+QBv+QBv+QBv+QBv+QBv+QBv+QBv+QBv+QBv+
QBv+QBv+QBv+QBv+QBv+QBv+QBsWQBsA315AGwA1dkAbEOvraz8lAQUALQEF/kAb/kAb/kAb/kAb
/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb
/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb
/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAb/kAbFkAb
AABaQBsYANgCAOACAIpAG85cFH5AGzb8Fg5aLw6+KyboFk4KAP5AG/5AG/5AGx5AG878AH5AG86k
Af5AG9JAGzKMHZagLn5AG878AH5AG86kAf5AG/5AG/5AGx5AG878AH5AG85UAP5AG/5AG/5AG/5A
G/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5AG/5A
G/5AG/5AG/5AG/5AG/5AG95AGxwPCO0cEgoI9BqANhA+ChwSFRJ3NihDZWxsLTAtYm9keSqCNiwE
WhwKABgBQABKFA0OLDsAFQEFAB0BBQAlAQUIDwjxLk4AEGAKJBIdLk4AQGNhdGVnb3J5TGV2ZWwx
Um93Ftg2DARaNgoW1TYQ0/FTPyUBBQAtAQUalRsEGABmcAAA8qZwAAAySnAAEBUdSz8lAQUALQEF
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
AQHYAQFmNA/gAQD4AQHCAgMIkhvIDq9LDm8wCBQI/L5aAXkX/loB/loB/loB/loBeloBAP2+WgGZ
BP5aAf5aAf5aAf5aAXpaAQD+vloBmfH+WgH+WgH+WgH+WgF6WgEA/75aAbne/loB/loB/loB/loB
eloBBJId3cIA11rCBgAxWsIGAMDdwgANMn5Rxb1SYRVavQYEiAHNpQiqAS9up1EkgJ1DHQAAoEAg
ARLGHhQwADgAsAH+1Ab+1Aaa1AYAk75sAS7UBv5sAf5sAf5sAf5sAbpsAQCUvmwBLuYG/mwB/mwB
/mwB/mwBumwBAJW+bAEu+Ab+bAH+bAH+bAH+bAG6bAEAlr5sAS4KB/5sAf5sAf5sAf5sAbpsAQCp
LmwBAPRaHAcAMlocBwDd/Rxe3g2uIQeC3g3+OQf+OQf+OQdqOQcAqr6JAS45B/6JAf6JAf6JAf6J
Af6JAS6JAQCrvokBLlYH/okB/okB/okB/okB/okBLokBAKy+iQEucwf+iQH+iQH+iQH+iQH+iQEu
iQEArb6JAS6QB/6JAf6JAf6JAf6JAf6JAS6JAQDALokBXosVADNarQeOixVSwiNazg7prVIyABYP
Ff6LFf6LFa6LFQDBvloBLn4H/loB/loB/loB/loBcloBAMK+WgEuTwf+WgH+WgH+WgH+WgFyWgEA
w75aAS4gB/5aAf5aAf5aAf5aAXJaAQDEvloBLvEG/loB/loB/loB/loBcloBANcuWgFebw4ANFrC
Bv5LCP5LCP5LCP5LCP5LCC5LCADYvokBLvEG/okB/okB/okB/okB/okBLokBANm+iQEuIAf+iQH+
iQH+iQH+iQH+iQEuiQEA2r6JAS5PB/6JAf6JAf6JAf6JAf6JAS6JAQDbvokBLn4H/okB/okB/okB
/okB/okBLokBAO4uiQFebw5WJCb+kh7+kh7+kh7+kh56kh4A775aAS5+B45hCg6gJBI5VC5rOnLJ
D/5UJf5UJf5UJRpUJQDwvloBLk8H/loB/loB/loB/loBcloBAPG+WgEuIAf+WgH+WgH+WgH+WgFy
WgEA8r5aAS7xBv5aAf5aAf5aAf5aAWpaAQgQCIEOPmkA6Rq8KhyUAQp2Ch0SFhK6KihOYW1lLTAt
c2hhcC6EhAwDWlMSept0yrdXGFADWhgQATJSVU4IEAiAAaUeYSsYqAIKKwoNVA4jhRwgRGVmYXVs
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
SPyAxLSx+sukfxC7ubn6taep/toBigCDQUhIk9SA59zg6KDbARC6zYu9sL7jCQ6WCGHrSK7N2aL5
gZCn6QEQppvJ6I/xgasSnA0Ak8HcWIOZ5v7wgN+jBBCRidmWruT79CZaGgi6AflI0t/HqeGOzKK6
ARCS7ZL9rbzitw5xJQDqAcNE9eeCmOzf1KQ8EK2T2f6m9uPRErohAMIBHEjXsL/bvcmTofEBEKqp
rLugk/edDpkcAJoBHFyQtJLq8oy7o6oBEJP5r/G995WGW1oZCPIBw8DlkpiHsfGtpHMQgP3WhpPX
9v96YAQagwQI4R8SEUNhbGN1bGF0aW9uRW5naW5lGhZDPhMADuQmGDUiAwIEACoBBUAyBwgBEKwf
GAEyBgjkHxDsHAURBIIdEREowh8yAwiELDIDCIUBBQCGAQUAxgEUAIcBCgDHAQoAiAEKAMgFChAg
MgMIiQEPAMkBDwCJAQ8AigEPAMoBDwCKAQ8AiwEPAMsBDwCMAQoAzAEKBP4fCX0AvgENAP8NDQC/
AQ0AzQEFAM4BBQDPAQUA0AEFBIAgCS4AwA0pBIAdCRAE7hwJCADvDQgA8A0IAO0NCASxGwkgALIN
CAC0DUAAtQ0IALYNCAC3DQgAuA0IALkNCAC7DQgAvQ0IAMENCACBDYAAug0QALwBpQCSAewA0gEK
ANMBBQDWAQUA2AEFANkBBQDaAQUA2wEFANQBBQDcAQUA1wEFDNUfUAAO1QrBYESo25Dmpp7Co0AQ
ruuWtfLv4MoOCRIAxEF1ZNzGkP2vk8enIBCLqevT347+mOwBYAkaOAjVlkYpADU2gCkwAxpICOAf
EhdBbm5vdEU+EEF1dGhvHuctBBocWhkAQUs+qCsMMAiMLDKQKQQaEBofLg7rLwwtNTY0NjIAAbYA
zpa2AAA0PhYrCDAIh3ZsADp8MAFsAMmabAAAMTJIKkAJGi8ItCESCVZpZXdTdGF0ZRkeGDIICOEf
EMNhQnFLHFAAYAoaOAjclmsAADY+ry0IMAiJdtcAQp0ACDgIy5ZsADp5KxwDGroZCAESCB4KKx3W
hQ4Aqk3TAKkNCACoDQgApw0IAKYNCAClDQgApA0IAKMNCACiDQgAoQ0IAKANCACfDQgAnQ0IAJwN
CACbDQgAmg0IAJkNCACYDQgAlw0IAJYNCACVDQgAlA0IAJMNCACRDQgAkA0IAI8NCACODQgAjQ0I
AIwNCACLDQgAig0IAIkNCACIDQgAhw0IAIYNCACEDQgAgw0IAIINCACBDQgAgA0IBP8eKUgA/g0I
AP0NCAD8DQgA+w0IAPoNCAD4DQgA9w0IAPYNCAD1DQgA9A0IAPMNCADyDQgA8Q0IAPANCADvDQgA
7g0IAO0NCADrDQgA6g0IAOgNCADnDQgA5g0IAOUNCADkDQgA4w0IAOINCADhDQgA3w0IAN4NCADd
DQgA3A0IANsNCADaDQgA2Q0IANgNCADXDQgA1g0IANUNCADUDQgA0g0IANENCADQDQgAzw0IAM4N
CADNDQgAzA0IAMsNCADKDQgAyQ0IAMgNCADGDQgAxQ0IAMQNCADDDQgAwg0IAMENCADADQgAvw0I
AL4NCAC9DQgAvA0IALsNCAC5DQgAuA0IALcNCAC2DQgAtQ0IALQNCACzDQgAsg0IALENCACwDQgA
rw0IAK0NCACsDQgAqw0IAKoNCACpDQgAqA0IAKcNCACmDQgApQ0IAPLNswDwDQgA7w0IAO4NCADt
DQgA6w0IAOgNCADmDQgA5Q0IAPMNCADbDQgA2g0IANkNCADYDQgA1w0IANYNCADVDQgA1A0IANMN
CADSDQgA0Q0IANANCADPDQgAzg0IAM0NCADcDQgAyQ0IAMwNCADLDQgAyg0IAMgNCADEDQgAww0I
AMINCADBDQgAwA0IAL8NCAC+DQgAvQ0IALwNCAC7DQgAug0IALkNCAC4DQgAtw0IALYNCADGDQgA
xQ0IALcagwgAtg0IALINGAC1DQgAtA0IALMNCACxDQgArQ0IAKwNCACrDQgAqg0IAKkNCACoDQgA
pw0IAKYNCAClDQgApA0IAKMNCACiDQgAoQ0IAKANCACfDQgArw0IAK4NCACzDbgAmw0QAJ4NCACd
DQgAnA0IAJoNCACUDQgAkw0IAJINCACRDQgAkA0IAI8NCACODQgAjQ0IAIwNCACLDQgAig0IAIkN
CACIDQgAmA0IAJcNCAC0DagAtQ0IAIQNGACHDQgAhg0IAIUNCACDDQgA/xozCgD+DQgA/Q0IAPwN
CAD7DQgA+g0IAPkNCAD3DQgA9g0IAPUNCAD0DQgA8w0IAPINCADxDQgeQwoeywoeowoeswoewwoe
0woe4woe8woA7A1IAPQNwACpDfAA8Q0QAKYNEADsDRAAoQ0QAOoNEACfDRAA6Q0QAJ4NEADnDRAA
nA0QAL8NCAC+DQgAvQ0IALwNCAC7DQgAug0IALkNCAC4DQgA5A1QAJkNEADjDRAAmA0QAOINEACX
DRAA4Q0QAJYNEADgDRAAlQ0QAN8NEACUDRAAkw0IAKON6ADYDRAAog0QANcNEADWDQgAoA0YANUN
EACfDRAA1A0QAJ4NEADTDRAAnQ0QANINEACcDRAA0Q0QAJsNEADQDRAAmg0QAM8NEACZDRAAzg0Q
AJgNEADNDRAAlw0QAMwNEACWDRAAyw0QAMoNCADJDQgAyA0IAMcNCADGDQgAxQ0IAMQNCADDDQgA
wg0IAMENCADADQgApA1oFNkbMgMI5Bq9CADdLV0Akg0lAKwNCAD4QW0S8woW3QgY6R4yAwi0IQkN
FJYdMgMI4Q0aAJUBDSTgHzoCCAc6AggIEtsMALIO2wxE0omKjM3uvKBIEIvT072VodjnDiISAOAO
/A5Eh8+O9Z+zgKYfELnnq6Oyj6e8EigcAK8O9wxcv5qZx7ed+aSgARCgw7258IKjuS1aGgj1DvcP
SKGKuLPv1pmiIxCvj4HQlsTmwOoOcxMAxw5zE0z3zfPRid+8po0BEK7bxujMndSDqwEddKwfEhYI
zqvzj7Sk+qKjARC0saW84639y/4BWhoIggFWSOr7m7bt7vOmgAEQkYXd36bV9ZEO3xkArg68EFi3
vLb599zKoxgQlOf56s35oIoFWhoIsQGpSKjy4q/Y/bykhwEQldvnmuiSyJ0O2hoAsAFTGJupqrip
4okOPiQciZmE6MG9sfoO+Q8ArgE4SLTi5eqW05alQhCXgf6P3vGT5qIBqADeDukSSObS/OnMv+Wi
qgEQlPWc9Kqx2roSgCkAqwE5RNrTz42Yl8WjTxCsiaajxo7QuhLNEgCzARxA2Ljf36vyu6QOEJvT
+/2E4vAOaBYIGAgBMusrCLHp8SKcMACSIaNY5PioxqrmkqBIEK2195P93ajKKlobCLAhMkyb56jc
97+qp88BEJH3nbmErpug2yEyAJkB30jI8dCFsZWooW8Qj5X5seqJ6PulARwArQGKSLyOzfuIovqn
ChCvq7HNxt20pIgB3wD5IaRMtNb1ytahjKXSARC798PH3NbuuqYBOQDHAVXwW9qjyvbQq9ahzwEQ
rdWvntSGpNo8YAgiXAgIEhR77MsZ0Vh+/+wDxVDfElUiEnjdQRoXdGlsZV9wYXBlcl9tZWRncmF5
LmpwZWcqImdpbmdlci8wMF90aGVtZS90QikAwFIFogYCGAEiWggHEhSx2EVANguoRBIp7MJvU1Oc
fc4EvRoWdGlsZV9wYXBlcl9sdGcVXQghZ2liXQAAbAUoEVzYYwgJEhQWNXGYx/mRNd5Io5tpYd9/
2nLI9RoaaGFyZGNvdmVyX2J1bGxldF9ibGFjay5wbmcqJj5gAFYsAA1lFt8RDuQRIDoDBAANQApS
BA46QAAYAQUQEhIIh1YWYUBAGyoGkSCQII8gCgcICRIDCJEBCRAHEgMIkAEJNAgSAwiPIA8IkSAS
CgiGDTMoGgoYCAEdiIcHPyUBBQAtAQUkNQAAgD9gAQ8IkEYqAByGhQU/JYeGBjoqAACPRioAUL++
vj4lwcDAPi3DwsI+NQAAgD9gAVBLAwQUAAAAAADUco9Ox0lqNUIBAABCAQAAGQAUAE1ldGFkYXRh
L1Byb3BlcnRpZXMucGxpc3QBABAAQgEAAAAAAABCAQAAAAAAAGJwbGlzdDAw1gECAwQFBgcICQoL
DF8QEWZpbGVGb3JtYXRWZXJzaW9uWHJldmlzaW9uW2lzTXVsdGlQYWdlWXNoYXJlVVVJRFxkb2N1
bWVudFVVSURbdmVyc2lvblVVSURWNC4wLjEzXxAnMDo6NTM0MzdDMzYtRTI4OS00MzE1LTkwRjct
OUNEN0YzM0M0N0JDCF8QJDBCRUQxMTM0LTYxOUQtNDJFMC04NjRELTUyQzI5Njk5N0RBQl8QJDBC
RUQxMTM0LTYxOUQtNDJFMC04NjRELTUyQzI5Njk5N0RBQl8QJDUzNDM3QzM2LUUyODktNDMxNS05
MEY3LTlDRDdGMzNDNDdCQwAIABUAKQAyAD4ASABVAGEAaACSAJMAugDhAAAAAAAAAgEAAAAAAAAA
DQAAAAAAAAAAAAAAAAAAAQhQSwMEFAAAAAAAI2+PTmOGrockAAAAJAAAABsAFABNZXRhZGF0YS9E
b2N1bWVudElkZW50aWZpZXIBABAAJAAAAAAAAAAkAAAAAAAAADBCRUQxMTM0LTYxOUQtNDJFMC04
NjRELTUyQzI5Njk5N0RBQlBLAwQUAAAAAAAjb49O/Vl3uhEBAAARAQAAIgAUAE1ldGFkYXRhL0J1
aWxkVmVyc2lvbkhpc3RvcnkucGxpc3QBABAAEQEAAAAAAAARAQAAAAAAADw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxl
Ly9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlM
aXN0LTEuMC5kdGQiPgo8cGxpc3QgdmVyc2lvbj0iMS4wIj4KPGFycmF5PgoJPHN0cmluZz5UZW1w
bGF0ZTogQmxhbmsgKDIwMTgtMDctMDkgMTQ6NDYpPC9zdHJpbmc+Cgk8c3RyaW5nPk02LjAtNjE5
NC0yPC9zdHJpbmc+CjwvYXJyYXk+CjwvcGxpc3Q+ClBLAwQUAAAAAADGcY9OetJej31sAQB9bAEA
CwAUAHByZXZpZXcuanBnAQAQAH1sAQAAAAAAfWwBAAAAAAD/2P/gABBKRklGAAEBAABIAEgAAP/h
AExFeGlmAABNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAADoAEAAwAAAAEAAQAAoAIABAAAAAEA
AAIooAMABAAAAAEAAALQAAAAAP/tADhQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAADhCSU0EJQAA
AAAAENQdjNmPALIE6YAJmOz4Qn7/wAARCALQAigDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAA
AAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB
kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn
aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT
1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI
CQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6
goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9sAQwACAgICAgIDAgIDBAMDAwQFBAQEBAUHBQUFBQUHCAcHBwcHBwgI
CAgICAgICgoKCgoKCwsLCwsNDQ0NDQ0NDQ0N/9sAQwECAgIDAwMGAwMGDQkHCQ0NDQ0NDQ0NDQ0N
DQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N/90ABAAj/9oADAMBAAIRAxEA
PwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi
iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D9/KKKKACiiigAooooAKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi
iigD/9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
KACiiigAooooAKKKKAKt9cS2llcXVvbS3ssMTyJbQGNZZ2VSRGhleOMO5G1S7ouT8zAZI8R0f9of
wNf2F5d6zHc+Hbm1/tDytP1Sew+3Xf8AZklzDceRDbXdwTtls50TeU8wxsU3KCR7xXzPr37Lfg3x
BdLPc67rscKzXVwtsslm8SS3t7fXszx+baSNEztqEsTGNlLRJErElNxAO9s/jn8LL82sln4gspbW
5srm9N2txE1vALZ7GMxSuHOyaRtRt/KTBMgcFc5Xd0GufEfwroWj6Lr7zzahp3iC/wBN0+wutMgk
voJJNVnjt7eRpoVaKOBnlX97Iypg4BLFVPkGofsseC9acXfiDW9a1XUEt47WO9uvsBdIoJbCWFfK
SyW3fy209Mb4m3CWXduzGY/V7f4Z+HbXwRpHgK3aaLTtGutLvIWiEMMjzaVew38ZdY4lhAlnhBlE
caAhmCBOCAD0OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
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
dAzQG6n87e7xuSkgzcSMFcMqsQygMiFeMtfgL8LrHSodDsNNvLWwtSTa28GrajFHalopIHNuEuR5
HmRSusnlbfM3HfuJzXsNFAHnlr8KPh9ZK0dto0SxO6O0RklaIlLi7ulHllym0TX1w2zG0iTaRtVQ
uZqPwQ+Fmqaneaxd6DF9rv7OWwmeGaeAfZprT7C8aLFIixj7N+7BQKVHKkNzXq1FAHF+Ffh94U8F
XN9eeHraeKbUT+/e4vLm8OPOnuNqfaZZfKTzbmV9se1cv0wAB2lFFABRRRQAUUUUAFFFFAFS2sbW
0muri3TZJezCec5J3yLGkQOCSB8kajAwOM9SSbdFFABRRRQAUUUUAFFFFAFRLG1jv5tTRMXM8MUE
j5PzRwNIyDGcDBlc5Ayc85wMW6KKACiiigAooooAKKKKAKlzY2t3Na3Fwm+SymM8ByRskaN4icAg
H5JGGDkc56gEW6KKACiiigAooooAKKKKAKl7Y2uowrb3ieZGk0M4GSuJLeRZYzkEH5XRTjocYORk
VboooAKKKKACiiigAooooAKqWFja6XYW2mWKeVbWkKQQpkttjjUKoyxJOAAMkk+tW6KACiiigAoo
ooA//9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9lQSwMEFAAAAAAAxnGPThObvRqlBAAA
pQQAABEAFABwcmV2aWV3LW1pY3JvLmpwZwEAEAClBAAAAAAAAKUEAAAAAAAA/9j/4AAQSkZJRgAB
AQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEA
AKACAAQAAAABAAAAKaADAAQAAAABAAAANQAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAA
AAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgANQApAwEiAAIRAQMRAf/EAB8AAAEF
AQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFB
BhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RV
VldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC
w8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAA
AAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRC
kaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdo
aWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT
1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAgICAgICAwICAwQDAwMEBQQEBAQFBwUFBQUF
BwgHBwcHBwcICAgICAgICAoKCgoKCgsLCwsLDQ0NDQ0NDQ0NDf/bAEMBAgICAwMDBgMDBg0JBwkN
DQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/dAAQAA//a
AAwDAQACEQMRAD8A/ejUNRayjeQR79hUYzj7xA9O2aybrxKbbUk077PuL7Pn3Y++SOmO2PWpdc4g
nPTmP+a1yurBf+EhtvX9z/6GaAO6N5P5pIC+Wq8rg5J7HOeB7Y/GpPtrZUbByM9/8KoHGZP90f1p
Rjcn+6f6UAaEd4zsoKjltv64q/WJDjen/XT+prboA//Q/dbXv+PefjPMf/oS1x2vTeTrkUoAJjWI
4z1wzH0rs9b/ANTP/wAA/mK4nxKMarGR3SPP/fTUAd2er/7o/rSj7yf7p/pTT1k/3R/WlH3k/wB0
/wBKAJIfvp/10/qa26xIPvp/10/qa26AP//R/dbXTtgn4ByYxz7sorktZiS616GCQ4BEQ464LGuu
13/j3n+sf81rl9QyPE0H0h9f7xoA604zJ/uj+tKMbk/3T/Sg5zJ/uj+tAzuT/dP9KAJIfvp/10/q
a26xIc70/wCun9TW3QB//9L98bmyt7pWSYEhsZwcdMY/lVGbQtPnvEvnVvNTbjDcfKSRx+NbNFAF
b7JBydvXryaPskGQdvQYHJqzRQBXW1hUggdDkcnrViiigD//2VBLAwQUAAAAAADGcY9OrGGW24op
AACKKQAADwAUAHByZXZpZXctd2ViLmpwZwEAEACKKQAAAAAAAIopAAAAAAAA/9j/4AAQSkZJRgAB
AQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEA
AKACAAQAAAABAAAAraADAAQAAAABAAAA4QAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAA
AAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgA4QCtAwEiAAIRAQMRAf/EAB8AAAEF
AQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFB
BhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RV
VldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC
w8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAA
AAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRC
kaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdo
aWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT
1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAgICAgICAwICAwQDAwMEBQQEBAQFBwUFBQUF
BwgHBwcHBwcICAgICAgICAoKCgoKCgsLCwsLDQ0NDQ0NDQ0NDf/bAEMBAgICAwMDBgMDBg0JBwkN
DQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/dAAQAC//a
AAwDAQACEQMRAD8A/fyiiqr3tlGxSS4iVl4IZ1BH4ZoAtUVT/tHT/wDn5h/7+L/jR/aOn/8APzD/
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
SwECPgAUAAAAAAA5cY9OjxS5niAEAAAgBAAAHgAAAAAAAAAAAAAAAADGFgEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwMzguaXdhUEsBAj4AFAAAAAAALnCPTiCFQxwaAAAAGgAAAB4AAAAAAAAAAAAA
AAAAIhsBAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDM5Lml3YVBLAQI+ABQAAAAAANN16Uyh4+17
GgAAABoAAAAeAAAAAAAAAAAAAAAAAHgbAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA0MC5pd2FQ
SwECPgAUAAAAAABucY9OgvZ3BDkAAAA5AAAAHgAAAAAAAAAAAAAAAADOGwEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNDEuaXdhUEsBAj4AFAAAAAAAbnGPTrANy7FWAAAAVgAAAB4AAAAAAAAAAAAA
AAAAQxwBAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDQyLml3YVBLAQI+ABQAAAAAANN16Uw6ozsN
GgAAABoAAAAeAAAAAAAAAAAAAAAAANUcAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA0My5pd2FQ
SwECPgAUAAAAAADTdelMw81feRoAAAAaAAAAHgAAAAAAAAAAAAAAAAArHQEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNDQuaXdhUEsBAj4AFAAAAAAALnCPTsu53AcaAAAAGgAAAB4AAAAAAAAAAAAA
AAAAgR0BAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDQ1Lml3YVBLAQI+ABQAAAAAANN16Ux94dd3
GgAAABoAAAAeAAAAAAAAAAAAAAAAANcdAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA0Ni5pd2FQ
SwECPgAUAAAAAADTdelMqz1HmRoAAAAaAAAAHgAAAAAAAAAAAAAAAAAtHgEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNDcuaXdhUEsBAj4AFAAAAAAAbnGPThmvkHU5AAAAOQAAAB4AAAAAAAAAAAAA
AAAAgx4BAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDQ4Lml3YVBLAQI+ABQAAAAAANN16UyOK9hJ
GgAAABoAAAAeAAAAAAAAAAAAAAAAAPgeAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA1MC5pd2FQ
SwECPgAUAAAAAADTdelMhF9BoBoAAAAaAAAAHgAAAAAAAAAAAAAAAABOHwEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNTEuaXdhUEsBAj4AFAAAAAAA03XpTLPGt0kaAAAAGgAAAB4AAAAAAAAAAAAA
AAAApB8BAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDUyLml3YVBLAQI+ABQAAAAAACNvj06zn7Cq
GgAAABoAAAAeAAAAAAAAAAAAAAAAAPofAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA1My5pd2FQ
SwECPgAUAAAAAADTdelM5ij0QRoAAAAaAAAAHgAAAAAAAAAAAAAAAABQIAEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNTQuaXdhUEsBAj4AFAAAAAAAI2+PTjrZ+qUaAAAAGgAAAB4AAAAAAAAAAAAA
AAAApiABAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDU1Lml3YVBLAQI+ABQAAAAAANN16UzdRlRc
GgAAABoAAAAeAAAAAAAAAAAAAAAAAPwgAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA1Ni5pd2FQ
SwECPgAUAAAAAADTdelMb2PeuxoAAAAaAAAAHgAAAAAAAAAAAAAAAABSIQEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNTcuaXdhUEsBAj4AFAAAAAAA03XpTGNq3FIaAAAAGgAAAB4AAAAAAAAAAAAA
AAAAqCEBAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDU4Lml3YVBLAQI+ABQAAAAAANN16Uy1tky8
GgAAABoAAAAeAAAAAAAAAAAAAAAAAP4hAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDA1OS5pd2FQ
SwECPgAUAAAAAADTdelMXoezUhoAAAAaAAAAHgAAAAAAAAAAAAAAAABUIgEASW5kZXgvVGFibGVz
L0RhdGFMaXN0LTQwNjAuaXdhUEsBAj4AFAAAAAAAbnGPTpVhThNZAAAAWQAAACkAAAAAAAAAAAAA
AAAAqiIBAEluZGV4L1RhYmxlcy9IZWFkZXJTdG9yYWdlQnVja2V0LTQwOTQuaXdhUEsBAj4AFAAA
AAAAbnGPTkbFqP14KwAAeCsAACkAAAAAAAAAAAAAAAAASiMBAEluZGV4L1RhYmxlcy9IZWFkZXJT
dG9yYWdlQnVja2V0LTQwOTUuaXdhUEsBAj4AFAAAAAAA03XpTJWI3yMaAAAAGgAAAB4AAAAAAAAA
AAAAAAAACU8BAEluZGV4L1RhYmxlcy9EYXRhTGlzdC00MDk2Lml3YVBLAQI+ABQAAAAAANN16UxK
+HdbGAAAABgAAAApAAAAAAAAAAAAAAAAAF9PAQBJbmRleC9UYWJsZXMvSGVhZGVyU3RvcmFnZUJ1
Y2tldC00MTA0Lml3YVBLAQI+ABQAAAAAANN16UzbaR/1GAAAABgAAAApAAAAAAAAAAAAAAAAAL5P
AQBJbmRleC9UYWJsZXMvSGVhZGVyU3RvcmFnZUJ1Y2tldC00MTA1Lml3YVBLAQI+ABQAAAAAANN1
6UwaTVoxGgAAABoAAAAeAAAAAAAAAAAAAAAAAB1QAQBJbmRleC9UYWJsZXMvRGF0YUxpc3QtNDEw
Ni5pd2FQSwECPgAUAAAAAAAjb49ORyqfdSsAAAArAAAAFQAAAAAAAAAAAAAAAABzUAEASW5kZXgv
VGFibGVzL1RpbGUuaXdhUEsBAj4AFAAAAAAAxnGPTvC6HgSCVQAAglUAABoAAAAAAAAAAAAAAAAA
0VABAEluZGV4L1RhYmxlcy9UaWxlLTU2MzYuaXdhUEsBAj4AFAAAAAAAxnGPTsTxdhUTVQAAE1UA
ABoAAAAAAAAAAAAAAAAAi6YBAEluZGV4L1RhYmxlcy9UaWxlLTU2MzcuaXdhUEsBAj4AFAAAAAAA
xnGPTsv8kGFsVgAAbFYAABoAAAAAAAAAAAAAAAAA1vsBAEluZGV4L1RhYmxlcy9UaWxlLTU2Mzgu
aXdhUEsBAj4AFAAAAAAAxnGPToVMe9dWTwAAVk8AABoAAAAAAAAAAAAAAAAAelICAEluZGV4L1Rh
Ymxlcy9UaWxlLTU2MzkuaXdhUEsBAj4AFAAAAAAAxnGPTs+qUr3FVwAAxVcAABoAAAAAAAAAAAAA
AAAACKICAEluZGV4L1RhYmxlcy9UaWxlLTU2NDAuaXdhUEsBAj4AFAAAAAAAxnGPTv7uGR9tVwAA
bVcAABoAAAAAAAAAAAAAAAAABfoCAEluZGV4L1RhYmxlcy9UaWxlLTU2NDEuaXdhUEsBAj4AFAAA
AAAAxnGPTqCqOst3TwAAd08AABoAAAAAAAAAAAAAAAAAqlEDAEluZGV4L1RhYmxlcy9UaWxlLTU2
NDIuaXdhUEsBAj4AFAAAAAAAxnGPThsOJkVaUgAAWlIAABoAAAAAAAAAAAAAAAAAWaEDAEluZGV4
L1RhYmxlcy9UaWxlLTU2NDMuaXdhUEsBAj4AFAAAAAAAxnGPTq5wu5iLLAAAiywAABoAAAAAAAAA
AAAAAAAA6/MDAEluZGV4L1RhYmxlcy9UaWxlLTU2NDQuaXdhUEsBAj4AFAAAAAAA03XpTJZm/hQW
AAAAFgAAACYAAAAAAAAAAAAAAAAAriAEAEluZGV4L0Fubm90YXRpb25BdXRob3JTdG9yYWdlLTQw
NjQuaXdhUEsBAj4AFAAAAAAALnCPTqdc3ncXiQAAF4kAACEAAAAAAAAAAAAAAAAACCEEAEluZGV4
L0RvY3VtZW50U3R5bGVzaGVldC00MDY4Lml3YVBLAQI+ABQAAAAAANN16UyHnpciFwAAABcAAAAa
AAAAAAAAAAAAAAAAAF6qBABJbmRleC9Eb2N1bWVudE1ldGFkYXRhLml3YVBLAQI+ABQAAAAAANRy
j05DgwbJozEAAKMxAAASAAAAAAAAAAAAAAAAAK2qBABJbmRleC9NZXRhZGF0YS5pd2FQSwECPgAU
AAAAAADUco9Ox0lqNUIBAABCAQAAGQAAAAAAAAAAAAAAAACA3AQATWV0YWRhdGEvUHJvcGVydGll
cy5wbGlzdFBLAQI+ABQAAAAAACNvj05jhq6HJAAAACQAAAAbAAAAAAAAAAAAAAAAAA3eBABNZXRh
ZGF0YS9Eb2N1bWVudElkZW50aWZpZXJQSwECPgAUAAAAAAAjb49O/Vl3uhEBAAARAQAAIgAAAAAA
AAAAAAAAAAB+3gQATWV0YWRhdGEvQnVpbGRWZXJzaW9uSGlzdG9yeS5wbGlzdFBLAQI+ABQAAAAA
AMZxj0560l6PfWwBAH1sAQALAAAAAAAAAAAAAAAAAOPfBABwcmV2aWV3LmpwZ1BLAQI+ABQAAAAA
AMZxj04Tm70apQQAAKUEAAARAAAAAAAAAAAAAAAAAJ1MBgBwcmV2aWV3LW1pY3JvLmpwZ1BLAQI+
ABQAAAAAAMZxj06sYZbbiikAAIopAAAPAAAAAAAAAAAAAAAAAIVRBgBwcmV2aWV3LXdlYi5qcGdQ
SwUGAAAAADMAMwDWDgAAUHsGAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367474</attachid>
            <date>2019-04-15 16:13:29 -0700</date>
            <delta_ts>2019-04-15 16:53:29 -0700</delta_ts>
            <desc>PatchForLanding</desc>
            <filename>patch196091_rebased</filename>
            <type>text/plain</type>
            <size>85923</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ0MjgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzOSBA
QAorMjAxOS0wNC0xNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisg
ICAgICAgIEIzOjpWYWx1ZSBzaG91bGQgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgYWRqYWNlbmN5
IGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTYwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICBUaGUg
a2V5IGlkZWEgb2YgdGhpcyBvcHRpbWl6YXRpb24gaXMgdG8gcmVwbGFjZSB0aGUgVmVjdG9yPFZh
bHVlKiwgMz4gbV9jaGlsZHJlbiBpbiBCMzo6VmFsdWUgKDQwIGJ5dGVzIG9uIDY0LWJpdHMgcGxh
dGZvcm0pIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgorICAgICAgICAtIE5vdGhpbmcgKDAgYnl0
ZXMpCisgICAgICAgIC0gMSBWYWx1ZSogKDggYnl0ZXMpCisgICAgICAgIC0gMiBWYWx1ZSogKDE2
IGJ5dGVzKQorICAgICAgICAtIDMgVmFsdWUqICgyNCBieXRlcykKKyAgICAgICAgLSBBIFZlY3Rv
cjxWYWx1ZSosIDM+CisgICAgICAgIGFmdGVyIHRoZSBlbmQgb2YgdGhlIFZhbHVlIG9iamVjdCwg
ZGVwZW5kaW5nIG9uIHRoZSBraW5kIG9mIHRoZSBWYWx1ZS4KKyAgICAgICAgU28gZm9yIGV4YW1w
bGUsIHdoZW4gYWxsb2NhdGluZyBhbiBBZGQsIHdlIHdvdWxkIGFsbG9jYXRlIGFuIGV4dHJhIDE2
IGJ5dGVzIGludG8gd2hpY2ggdG8gc3RvcmUgMiBWYWx1ZXMuCisgICAgICAgIFRoaXMgd291bGQg
aGFsdmUgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiBDb25zdDY0L0NvbnN0MzIvTm9wL0lkZW50
aXR5IGFuZCBhIGJ1bmNoIG1vcmUga2luZHMgb2YgdmFsdWVzLCBhbmQgcmVkdWNlIGJ5IGEgbW9y
ZSBtb2RlcmF0ZSBhbW91bnQgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBvZiB0aGUgcmVzdCBvZiBu
b24tdmFyYXJncyB2YWx1ZXMgKGUuZy4gQWRkIHdvdWxkIGdvIGZyb20gNzIgdG8gNDggYnl0ZXMp
LgorCisgICAgICAgIEEgZmV3IGltcGxlbWVudGF0aW9uIHBvaW50czoKKyAgICAgICAgLSBFdmVu
IGlmIHRoZXJlIGlzIG5vIGNoaWxkcmVuLCB3ZSBtdXN0IHJlbWVtYmVyIHRvIGFsbG9jYXRlIGF0
IGxlYXN0IGVub3VnaCBzcGFjZSBmb3IgcmVwbGFjZVdpdGhJZGVudGl0eSB0byB3b3JrIGxhdGVy
LiBJdCBuZWVkcyBzaXplb2YoVmFsdWUpIChmb3IgdGhlIG9iamVjdCBpdHNlbGYpICsgc2l6ZW9m
KFZhbHVlKikgKGZvciB0aGUgcG9pbnRlciB0byBpdHMgY2hpbGQpCisgICAgICAgIC0gV2UgbXVz
dCBtYWtlIHN1cmUgdG8gZGVzdHJveSB0aGUgdmVjdG9yIHdoZW5ldmVyIHdlIGRlc3Ryb3kgYSBW
YWx1ZSB3aGljaCBpcyBWYXJBcmdzCisgICAgICAgIC0gV2UgbXVzdCByZW1lbWJlciBob3cgbWFu
eSBlbGVtZW50cyB0aGVyZSBhcmUgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZGlkIG5vdCBhbGxvY2F0
ZSBhIFZlY3Rvci4gV2UgY2Fubm90IGRvIGl0IHB1cmVseSBieSByZWx5aW5nIG9uIHRoZSBraW5k
LCBib3RoIGZvciBzcGVlZCByZWFzb25zIGFuZCBiZWNhdXNlIFJldHVybiBjYW4gaGF2ZSBlaXRo
ZXIgMCBvciAxIGFyZ3VtZW50IGluIEIzCisgICAgICAgICAgVGhhbmtmdWxseSwgd2UgaGF2ZSBh
biBleHRyYSBieXRlIG9mIHBhZGRpbmcgdG8gdXNlIGluIHRoZSBtaWRkbGUgb2YgQjM6OlZhbHVl
CisgICAgICAgIC0gSW4gb3JkZXIgdG8gc3VwcG9ydCBjbG9uZSgpLCB3ZSBtdXN0IGhhdmUgYSBz
ZXBhcmF0ZSB2ZXJzaW9uIG9mIGFsbG9jYXRlLCB3aGljaCBleHRyYWN0cyB0aGUgb3Bjb2RlIGZy
b20gdGhlIHRvLWJlLWNsb25lZCBvYmplY3QgaW5zdGVhZCBvZiBmcm9tIHRoZSBjYWxsIHRvIHRo
ZSBjb25zdHJ1Y3RvcgorICAgICAgICAtIFNwZWFraW5nIG9mIHdoaWNoLCB3ZSBuZWVkIGEgc3Bl
Y2lhbCB0ZW1wbGF0ZWQgZnVuY3Rpb24gb3Bjb2RlRnJvbUNvbnN0cnVjdG9yLCBiZWNhdXNlIHNv
bWUgb2YgdGhlIGNvbnN0cnVjdG9ycyBvZiBzdWJjbGFzc2VzIG9mIFZhbHVlIGRvbid0IHRha2Ug
YW4gZXhwbGljaXQgT3Bjb2RlIGFzIGFyZ3VtZW50LCB0eXBpY2FsbHkgYmVjYXVzZSB0aGV5IG1h
dGNoIGEgc2luZ2xlIG9uZS4KKyAgICAgICAgLSBUbyBtYXhpbWl6ZSBwZXJmb3JtYW5jZSwgd2Ug
cHJvdmlkZSBzcGVjaWFsaXplZCB2ZXJzaW9ucyBvZiBjaGlsZC9sYXN0Q2hpbGQvbnVtQ2hpbGRy
ZW4vY2hpbGRyZW4gaW4gdGhlIHN1YmNsYXNzZXMgb2YgVmFsdWUsIHNraXBwaW5nIGNoZWNrcyB3
aGVuIHRoZSBhY3R1YWwgdHlwZSBvZiB0aGUgVmFsdWUgaXMgYWxyZWFkeSBrbm93bi4KKyAgICAg
ICAgICBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfLi4u
IGRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiBCM1ZhbHVlLmgKKyAgICAgICAgLSBJbiB0aGUgY29u
c3RydWN0b3JzIG9mIFZhbHVlLCB3ZSBjb252ZXJ0IGFsbCBleHRyYSBjaGlsZHJlbiBhcmd1bWVu
dHMgdG8gVmFsdWUqIGVhZ2VybHkuIEl0IGlzIG5vdCByZXF1aXJlZCBmb3IgY29ycmVjdG5lc3Mg
KHRoZXkgd2lsbCBiZSBjb252ZXJ0ZWQgd2hlbiBwdXQgaW50byBhIFZlY3RvcjxWYWx1ZSo+IG9y
IGEgVmFsdWUqIGluIHRoZSBlbmQpLCBidXQgaXQgaGVscHMgbGltaXQgYW4gZXhwbG9zaW9uIGlu
IHRoZSBudW1iZXIgb2YgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMuCisgICAgICAgIC0gSSBtb3Zl
ZCBEZWVwVmFsdWVEdW1wOjpkdW1wIGZyb20gdGhlIC5oIHRvIHRoZSAuY3BwLCBhcyB0aGVyZSBp
cyBubyBnb29kIHJlYXNvbiB0byBpbmxpbmUgaXQsIGFuZCByZWNvbXBpbGluZyBKU0MgaXMgYWxy
ZWFkeSBzbG93IGVub3VnaAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuY3BwOgorICAg
ICAgICAoSlNDOjpCMzo6QXJndW1lbnRSZWdWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBiMy9CM0FyZ3VtZW50UmVnVmFsdWUuaDoKKyAgICAgICAgKiBiMy9CM0F0
b21pY1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkF0b21pY1ZhbHVlOjpBdG9taWNWYWx1
ZSk6CisgICAgICAgIChKU0M6OkIzOjpBdG9taWNWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBiMy9CM0F0b21pY1ZhbHVlLmg6CisgICAgICAgICogYjMvQjNCYXNp
Y0Jsb2NrLmg6CisgICAgICAgICogYjMvQjNCYXNpY0Jsb2NrSW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpCMzo6QmFzaWNCbG9jazo6YXBwZW5kTmV3Tm9uVGVybWluYWwpOiBEZWxldGVkLgorICAg
ICAgICAqIGIzL0IzQ0NhbGxWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpDQ2FsbFZhbHVl
OjphcHBlbmRBcmdzKToKKyAgICAgICAgKEpTQzo6QjM6OkNDYWxsVmFsdWU6OmNsb25lSW1wbCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDQ2FsbFZhbHVlLmg6CisgICAgICAgICog
YjMvQjNDaGVja1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkNoZWNrVmFsdWU6OmNsb25l
SW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNDaGVja1ZhbHVlLmg6CisgICAg
ICAgICogYjMvQjNDb25zdDMyVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3QzMlZh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3QzMlZh
bHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdDY0VmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpC
Mzo6Q29uc3Q2NFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIz
L0IzQ29uc3Q2NFZhbHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcDoK
KyAgICAgICAgKEpTQzo6QjM6OkNvbnN0RG91YmxlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogYjMvQjNDb25zdERvdWJsZVZhbHVlLmg6CisgICAgICAgICogYjMv
QjNDb25zdEZsb2F0VmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Q29uc3RGbG9hdFZhbHVl
OjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzQ29uc3RGbG9hdFZh
bHVlLmg6CisgICAgICAgICogYjMvQjNDb25zdFB0clZhbHVlLmg6CisgICAgICAgIChKU0M6OkIz
OjpDb25zdFB0clZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIzL0Iz
RmVuY2VWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpGZW5jZVZhbHVlOjpGZW5jZVZhbHVl
KToKKyAgICAgICAgKEpTQzo6QjM6OkZlbmNlVmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogYjMvQjNGZW5jZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNNZW1vcnlW
YWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpNZW1vcnlWYWx1ZTo6TWVtb3J5VmFsdWUpOgor
ICAgICAgICAoSlNDOjpCMzo6TWVtb3J5VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogYjMvQjNNZW1vcnlWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzTW92ZUNvbnN0
YW50cy5jcHA6CisgICAgICAgICogYjMvQjNQYXRjaHBvaW50VmFsdWUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6UGF0Y2hwb2ludFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIGIzL0IzUGF0Y2hwb2ludFZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpQYXRjaHBv
aW50VmFsdWU6Om9wY29kZUZyb21Db25zdHJ1Y3Rvcik6CisgICAgICAgICogYjMvQjNQcm9jZWR1
cmUuY3BwOgorICAgICAgICAqIGIzL0IzUHJvY2VkdXJlLmg6CisgICAgICAgICogYjMvQjNQcm9j
ZWR1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkIzOjpQcm9jZWR1cmU6OmFkZCk6CisgICAg
ICAgICogYjMvQjNTbG90QmFzZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlNsb3RCYXNl
VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYjMvQjNTbG90QmFz
ZVZhbHVlLmg6CisgICAgICAgICogYjMvQjNTdGFja21hcFNwZWNpYWwuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6U3RhY2ttYXBTcGVjaWFsOjpmb3JFYWNoQXJnSW1wbCk6CisgICAgICAgIChKU0M6
OkIzOjpTdGFja21hcFNwZWNpYWw6OmlzVmFsaWRJbXBsKToKKyAgICAgICAgKiBiMy9CM1N0YWNr
bWFwVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6U3RhY2ttYXBWYWx1ZTo6YXBwZW5kKToK
KyAgICAgICAgKEpTQzo6QjM6OlN0YWNrbWFwVmFsdWU6OlN0YWNrbWFwVmFsdWUpOgorICAgICAg
ICAqIGIzL0IzU3RhY2ttYXBWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzU3dpdGNoVmFsdWUuY3Bw
OgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKToKKyAgICAgICAg
KEpTQzo6QjM6OlN3aXRjaFZhbHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIGIzL0IzU3dpdGNoVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6QjM6OlN3aXRjaFZhbHVlOjpv
cGNvZGVGcm9tQ29uc3RydWN0b3IpOgorICAgICAgICAqIGIzL0IzVXBzaWxvblZhbHVlLmNwcDoK
KyAgICAgICAgKEpTQzo6QjM6OlVwc2lsb25WYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBiMy9CM1Vwc2lsb25WYWx1ZS5oOgorICAgICAgICAqIGIzL0IzVmFsdWUu
Y3BwOgorICAgICAgICAoSlNDOjpCMzo6RGVlcFZhbHVlRHVtcDo6ZHVtcCBjb25zdCk6CisgICAg
ICAgIChKU0M6OkIzOjpWYWx1ZTo6flZhbHVlKToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpy
ZXBsYWNlV2l0aElkZW50aXR5KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXBsYWNlV2l0
aE5vcElnbm9yaW5nVHlwZSk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdpdGhQ
aGkpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OnJlcGxhY2VXaXRoSnVtcCk6CisgICAgICAg
IChKU0M6OkIzOjpWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKToKKyAgICAgICAgKEpTQzo6QjM6OlZh
bHVlOjpyZXBsYWNlV2l0aCk6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6aW52ZXJ0ZWRDb21w
YXJlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QjM6OlZhbHVlOjpyZXR1cm5zQm9vbCBjb25zdCk6
CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBiMy9CM1ZhbHVlLmg6CisgICAgICAgIChKU0M6OkIzOjpEZWVwVmFsdWVEdW1wOjpk
dW1wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhbHVlSW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpCMzo6VmFsdWU6OmFkamFjZW5jeUxpc3RPZmZzZXQgY29uc3QpOgorICAgICAg
ICAoSlNDOjpCMzo6VmFsdWU6OmNsb25lSW1wbCBjb25zdCk6CisgICAgICAgICogYjMvQjNWYXJp
YWJsZVZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OlZhcmlhYmxlVmFsdWU6OlZhcmlhYmxl
VmFsdWUpOgorICAgICAgICAoSlNDOjpCMzo6VmFyaWFibGVWYWx1ZTo6Y2xvbmVJbXBsIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9CM1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAgKiBi
My9CM1dhc21BZGRyZXNzVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6V2FzbUFkZHJlc3NW
YWx1ZTo6V2FzbUFkZHJlc3NWYWx1ZSk6CisgICAgICAgIChKU0M6OkIzOjpXYXNtQWRkcmVzc1Zh
bHVlOjpjbG9uZUltcGwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUFkZHJl
c3NWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwOgorICAg
ICAgICAoSlNDOjpCMzo6V2FzbUJvdW5kc0NoZWNrVmFsdWU6Oldhc21Cb3VuZHNDaGVja1ZhbHVl
KToKKyAgICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIGIzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuaDoKKyAg
ICAgICAgKEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjphY2NlcHRzKToKKyAgICAgICAg
KEpTQzo6QjM6Oldhc21Cb3VuZHNDaGVja1ZhbHVlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IpOgor
ICAgICAgICAqIGIzL3Rlc3RiMy5jcHA6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbEZ1bmN0
aW9uV2l0aEhlbGxhQXJndW1lbnRzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVuY3Rp
b25XaXRoSGVsbGFBcmd1bWVudHMyKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVuY3Rp
b25XaXRoSGVsbGFBcmd1bWVudHMzKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDYWxsRnVuY3Rp
b25XaXRoSGVsbGFEb3VibGVBcmd1bWVudHMpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdENhbGxG
dW5jdGlvbldpdGhIZWxsYUZsb2F0QXJndW1lbnRzKToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0
Lmg6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpjYWxsKToKKwogMjAxOS0wNC0xNCAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFrZV0gSmF2
YVNjcmlwdENvcmUgZGVyaXZlZCBzb3VyY2VzIHNob3VsZCBvbmx5IGJlIHJlZmVyZW5jZWQgaW5z
aWRlIEphdmFTY3JpcHRDb3JlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY2OSw3ICs2NjksNiBA
QAogCQkwRkVDODU0MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUM4NEY2MUJEQUNEQUMwMDgw
RkY3NCAvKiBCM1VzZUNvdW50cy5oICovOyB9OwogCQkwRkVDODU0MjFCREFDREFDMDA4MEZGNzQg
LyogQjNWYWxpZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZFQzg0RjgxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsaWRhdGUuaCAqLzsgfTsKIAkJ
MEZFQzg1NDQxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUM4NEZBMUJEQUNEQUMwMDgwRkY3NCAvKiBC
M1ZhbHVlLmggKi87IH07Ci0JCTBGRUM4NTQ1MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlSW5s
aW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZF
Qzg0RkIxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggKi87IH07CiAJCTBGRUM4
NTQ3MUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbHVlUmVwLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDODRGRDFCREFDREFDMDA4MEZGNzQgLyogQjNW
YWx1ZVJlcC5oICovOyB9OwogCQkwRkVDODU2RTFCREFDREM3MDA4MEZGNzQgLyogQWlyQWxsb2Nh
dGVTdGFja0J5R3JhcGhDb2xvcmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZFQzg1NDkxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFsbG9jYXRlU3Rh
Y2tCeUdyYXBoQ29sb3JpbmcuaCAqLzsgfTsKIAkJMEZFQzg1NzAxQkRBQ0RDNzAwODBGRjc0IC8q
IEFpckFyZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZFQzg1NEIxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckFyZy5oICovOyB9OwpAQCAtODU3LDYgKzg1
Niw4IEBACiAJCTJBRjczODJEMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUY3MzgyQjE4
QkJCRjkyMDA4QTVBMzcgLyogU3RydWN0dXJlSURUYWJsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEMzQyRjM2RjcyNDQwOTY4MDRBREIyNCAv
KiBTb3VyY2VPcmlnaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQyNUJBMTMzN0U0MzQ0RTFCMjY5QTY3MSAvKiBTb3VyY2VPcmlnaW4uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMzk1QzcwNzIyNTU1
RjZEMDBCREJGQUQgLyogQjNFbGltaW5hdGVEZWFkQ29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5NUM3MDUyMjU1NUY2RDAwQkRCRkFEIC8qIEIz
RWxpbWluYXRlRGVhZENvZGUuaCAqLzsgfTsKKwkJMzNCMkE1NDcyMjY1MzQ4MTAwNUEwRjc5IC8q
IEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkVDODRGQjFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZUlubGluZXMuaCAqLzsg
fTsKKwkJMzNCMkE1NDgyMjY1NDNCRjAwNUEwRjc5IC8qIEZUTExvd2VyREZHVG9CMy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVBMEEwNDE3MDUx
M0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5
OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxp
YiAqLzsgfTsKIAkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1Njcy
MDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2Vu
ZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0
aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTE4LDcgKzkxOSw2IEBACiAJCTUz
MzNCQkRCMjExMEY3RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjFCMTQzMjhC
QjkwMEIwOEQ0MiAvKiBERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAqLzsgfTsKIAkJNTMzM0JC
REMyMTEwRjdEOTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RUM5REMyMTMyOERGODIwMDJCMkFE
NyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5jcHAgKi87IH07CiAJCTUzMzNCQkREMjExMEY3RTEwMDc2
MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODgwRjRDMTQzNTNCMjEwMEIwOEQ0MiAvKiBERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcCAqLzsgfTsKLQkJNTMzM0JCREUyMTEwRkEzRTAwNzYxOEVDIC8qIEZU
TExvd2VyREZHVG9CMy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkVBMEEwNDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0IzLmNwcCAq
LzsgfTsKIAkJNTM0MUZDNzIxREFDMzQzQzAwRTdFNEQ3IC8qIEIzV2FzbUJvdW5kc0NoZWNrVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNDFG
QzcxMURBQzM0M0MwMEU3RTRENyAvKiBCM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmggKi87IH07CiAJ
CTUzNDYzODcxMUU3MENGM0QwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM0NjM4NzAxRTcwQ0YzRDAwRjEy
QUMxIC8qIEpTUnVuTG9vcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTM0NjM4NzUxRTcwRERFQzAwRjEyQUMxIC8qIFByb21pc2VEZWZl
cnJlZFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MzQ2Mzg3NDFFNzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODUwNCw2ICs4
NTA0LDcgQEAKIAkJCQkwRjJDNjNCQzFFNjM0NDBDMDBDMTM4MzkgLyogQWlyQmxvY2tJbnNlcnRp
b25TZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjM4NzhFMUJGQkM0NEQwMEUzQUIxRSAvKiBB
aXJCbG9ja1dvcmtsaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjc5QzdDQTFFNzRDOTNCMDBF
QjM0RDEgLyogQWlyQnJlYWtDcml0aWNhbEVkZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzM0Iy
QTU0NzIyNjUzNDgxMDA1QTBGNzkgLyogQjNWYWx1ZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGNjE4MzJBMUM0NUJGMDcwMDcyNDUwQiAvKiBBaXJDQ2FsbGluZ0NvbnZlbnRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc0MUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJDQ2FsbFNw
ZWNpYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRjRCNEM3MUU4ODkzQzUwMERCQkU4NiAvKiBB
aXJDRkcuaCBpbiBIZWFkZXJzICovLApAQCAtODY5Niw3ICs4Njk3LDYgQEAKIAkJCQkwRkVDODU0
MDFCREFDREFDMDA4MEZGNzQgLyogQjNVc2VDb3VudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RUM4NTQyMUJEQUNEQUMwMDgwRkY3NCAvKiBCM1ZhbGlkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRkVDODU0NDFCREFDREFDMDA4MEZGNzQgLyogQjNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMEZFQzg1NDUxQkRBQ0RBQzAwODBGRjc0IC8qIEIzVmFsdWVJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjMzOEUxNTFCRjAyNzZDMDAxM0M4OEYgLyogQjNWYWx1ZUtleS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYzMzhFMTYxQkYwMjc2QzAwMTNDODhGIC8qIEIzVmFsdWVLZXlJbmxp
bmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODU0NzFCREFDREFDMDA4MEZGNzQgLyogQjNW
YWx1ZVJlcC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDcwMSw3ICsxMDcwMSw2IEBACiAJCQkJNTMz
M0JCREMyMTEwRjdEOTAwNzYxOEVDIC8qIERGR1NwZWN1bGF0aXZlSklULmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzMzNCQkRCMjExMEY3RDIwMDc2MThFQyAvKiBERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzMzNCQkREMjExMEY3RTEwMDc2MThFQyAvKiBE
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUzMzNCQkRFMjExMEZB
M0UwMDc2MThFQyAvKiBGVExMb3dlckRGR1RvQjMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2
QjMxOUUxRjczNUYxNjAwMzdGQzMzIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZGNDI3NEExNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5jIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZGNDI3NDAxNThFQkU4QjAwNENCOUZGIC8qIHVkaXM4Nl9kZWNvZGUuYyBp
biBTb3VyY2VzICovLApAQCAtMTA4MzUsNiArMTA4MzQsNyBAQAogCQkJCTUzNkIzMTBDMUY3MUM1
OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUz
NkIzMTI2MUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTIwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzNkIzMTJEMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTIxLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTMzQjJBNTQ4MjI2NTQzQkYwMDVBMEY3OSAvKiBGVExMb3dl
ckRGR1RvQjMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMjUxRjcxQzU5OTAwMzdGQzMz
IC8qIFVuaWZpZWRTb3VyY2UxMjIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxMUUxRjcx
QzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM2QjMxMTQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjQuY3BwIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJlZ1ZhbHVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVudFJl
Z1ZhbHVlLmNwcAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQXJndW1lbnRSZWdWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDExICszOSw2IEBA
CiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3JlZyk7CiB9CiAKLVZhbHVlKiBBcmd1bWVudFJlZ1Zh
bHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgQXJndW1lbnRSZWdWYWx1
ZSgqdGhpcyk7Ci19Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMwogCiAjZW5kaWYgLy8gRU5B
QkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0FyZ3VtZW50UmVn
VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBcmd1bWVu
dFJlZ1ZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0FyZ3VtZW50UmVnVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTYgKzQwLDE5IEBA
CiAKICAgICBSZWcgYXJndW1lbnRSZWcoKSBjb25zdCB7IHJldHVybiBtX3JlZzsgfQogCisgICAg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZv
aWQgZHVtcE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsK
IAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKKyAgICAK
KyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFJlZykgeyBy
ZXR1cm4gQXJndW1lbnRSZWc7IH0KIAogICAgIEFyZ3VtZW50UmVnVmFsdWUoT3JpZ2luIG9yaWdp
biwgUmVnIHJlZykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBBcmd1bWVudFJlZywg
cmVnLmlzR1BSKCkgPyBwb2ludGVyVHlwZSgpIDogRG91YmxlLCBvcmlnaW4pCisgICAgICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgQXJndW1lbnRSZWcsIHJlZy5pc0dQUigpID8gcG9pbnRlclR5
cGUoKSA6IERvdWJsZSwgWmVybywgb3JpZ2luKQogICAgICAgICAsIG1fcmVnKHJlZykKICAgICB7
CiAgICAgICAgIEFTU0VSVChyZWcuaXNTZXQoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQXRvbWljVmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEz
ICs0MSw4IEBACiAgICAgTWVtb3J5VmFsdWU6OmR1bXBNZXRhKGNvbW1hLCBvdXQpOwogfQogCi1W
YWx1ZSogQXRvbWljVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBB
dG9taWNWYWx1ZSgqdGhpcyk7Ci19Ci0KIEF0b21pY1ZhbHVlOjpBdG9taWNWYWx1ZShBdG9taWNW
YWx1ZTo6QXRvbWljVmFsdWVSTVcsIEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgV2lkdGggd2lk
dGgsIFZhbHVlKiBvcGVyYW5kLCBWYWx1ZSogcG9pbnRlciwgTWVtb3J5VmFsdWU6Ok9mZnNldFR5
cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJhbmdlKQotICAgIDog
TWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3BlcmFuZC0+dHlwZSgpLCBvcmlnaW4s
IG9mZnNldCwgcmFuZ2UsIGZlbmNlUmFuZ2UsIG9wZXJhbmQsIHBvaW50ZXIpCisgICAgOiBNZW1v
cnlWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBvcGVyYW5kLT50eXBlKCksIFR3bywgb3JpZ2lu
LCBvZmZzZXQsIHJhbmdlLCBmZW5jZVJhbmdlLCBvcGVyYW5kLCBwb2ludGVyKQogICAgICwgbV93
aWR0aCh3aWR0aCkKIHsKICAgICBBU1NFUlQoYmVzdFR5cGUoR1AsIGFjY2Vzc1dpZHRoKCkpID09
IGFjY2Vzc1R5cGUoKSk7CkBAIC02Niw3ICs2MSw3IEBACiB9CiAKIEF0b21pY1ZhbHVlOjpBdG9t
aWNWYWx1ZShBdG9taWNWYWx1ZTo6QXRvbWljVmFsdWVDQVMsIEtpbmQga2luZCwgT3JpZ2luIG9y
aWdpbiwgV2lkdGggd2lkdGgsIFZhbHVlKiBleHBlY3RlZFZhbHVlLCBWYWx1ZSogbmV3VmFsdWUs
IFZhbHVlKiBwb2ludGVyLCBNZW1vcnlWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIEhlYXBSYW5n
ZSByYW5nZSwgSGVhcFJhbmdlIGZlbmNlUmFuZ2UpCi0gICAgOiBNZW1vcnlWYWx1ZShDaGVja2Vk
T3Bjb2RlLCBraW5kLCBraW5kLm9wY29kZSgpID09IEF0b21pY1dlYWtDQVMgPyBJbnQzMiA6IGV4
cGVjdGVkVmFsdWUtPnR5cGUoKSwgb3JpZ2luLCBvZmZzZXQsIHJhbmdlLCBmZW5jZVJhbmdlLCBl
eHBlY3RlZFZhbHVlLCBuZXdWYWx1ZSwgcG9pbnRlcikKKyAgICA6IE1lbW9yeVZhbHVlKENoZWNr
ZWRPcGNvZGUsIGtpbmQsIGtpbmQub3Bjb2RlKCkgPT0gQXRvbWljV2Vha0NBUyA/IEludDMyIDog
ZXhwZWN0ZWRWYWx1ZS0+dHlwZSgpLCBUaHJlZSwgb3JpZ2luLCBvZmZzZXQsIHJhbmdlLCBmZW5j
ZVJhbmdlLCBleHBlY3RlZFZhbHVlLCBuZXdWYWx1ZSwgcG9pbnRlcikKICAgICAsIG1fd2lkdGgo
d2lkdGgpCiB7CiAgICAgQVNTRVJUKGJlc3RUeXBlKEdQLCBhY2Nlc3NXaWR0aCgpKSA9PSBhY2Nl
c3NUeXBlKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQXRvbWljVmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNWYWx1ZS5o
CShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNBdG9taWNW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNCArNDQsMTUgQEAKICAgICBUeXBlIGFjY2Vz
c1R5cGUoKSBjb25zdCB7IHJldHVybiBjaGlsZCgwKS0+dHlwZSgpOyB9CiAgICAgCiAgICAgV2lk
dGggYWNjZXNzV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CisKKyAgICBCM19TUEVD
SUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxEUkVOCiAgICAgCiBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0
IG92ZXJyaWRlOwotICAgIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsK
LSAgICAKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVu
ZCBjbGFzcyBWYWx1ZTsKIAogICAgIGVudW0gQXRvbWljVmFsdWVSTVcgeyBBdG9taWNWYWx1ZVJN
V1RhZyB9OwogICAgIGVudW0gQXRvbWljVmFsdWVDQVMgeyBBdG9taWNWYWx1ZUNBU1RhZyB9OwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAkocmV2aXNpb24gMjQ0
MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NCw4ICs4NCw2IEBACiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5
cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBWYWx1ZVR5cGUqIGFwcGVuZE5ldyhQcm9j
ZWR1cmUmLCBBcmd1bWVudHMuLi4pOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwg
dHlwZW5hbWUuLi4gQXJndW1lbnRzPgotICAgIFZhbHVlVHlwZSogYXBwZW5kTmV3Tm9uVGVybWlu
YWwoUHJvY2VkdXJlJiwgQXJndW1lbnRzLi4uKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIFZh
bHVlKiBhcHBlbmRJbnRDb25zdGFudChQcm9jZWR1cmUmLCBPcmlnaW4sIFR5cGUsIGludDY0X3Qg
dmFsdWUpOwogICAgIFZhbHVlKiBhcHBlbmRJbnRDb25zdGFudChQcm9jZWR1cmUmLCBWYWx1ZSog
bGlrZVZhbHVlLCBpbnQ2NF90IHZhbHVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0Jhc2ljQmxvY2tJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9ja0lubGluZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDIsMTQgKzQyLDYgQEAKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBl
bmFtZS4uLiBBcmd1bWVudHM+Ci1WYWx1ZVR5cGUqIEJhc2ljQmxvY2s6OmFwcGVuZE5ld05vblRl
cm1pbmFsKFByb2NlZHVyZSYgcHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQotewot
ICAgIFZhbHVlVHlwZSogcmVzdWx0ID0gcHJvY2VkdXJlLmFkZDxWYWx1ZVR5cGU+KGFyZ3VtZW50
cy4uLik7Ci0gICAgYXBwZW5kTm9uVGVybWluYWwocmVzdWx0KTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50
cz4KIFZhbHVlVHlwZSogQmFzaWNCbG9jazo6cmVwbGFjZUxhc3RXaXRoTmV3KFByb2NlZHVyZSYg
cHJvY2VkdXJlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQogewogICAgIFZhbHVlVHlwZSogcmVz
dWx0ID0gcHJvY2VkdXJlLmFkZDxWYWx1ZVR5cGU+KGFyZ3VtZW50cy4uLik7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmNwcAkocmV2aXNpb24gMjQ0MjcxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0LDkgKzM0LDkgQEAKIHsKIH0KIAotVmFsdWUqIENDYWxsVmFsdWU6OmNsb25lSW1w
bCgpIGNvbnN0Cit2b2lkIENDYWxsVmFsdWU6OmFwcGVuZEFyZ3MoY29uc3QgVmVjdG9yPFZhbHVl
Kj4mIGFyZ3MpCiB7Ci0gICAgcmV0dXJuIG5ldyBDQ2FsbFZhbHVlKCp0aGlzKTsKKyAgICBjaGls
ZHJlblZlY3RvcigpLmFwcGVuZFZlY3RvcihhcmdzKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkIzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ0NhbGxWYWx1ZS5oCShyZXZp
c2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDQ2FsbFZhbHVlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDE3ICszOCwyMyBAQAogCiAgICAgfkNDYWxsVmFsdWUoKTsK
IAorICAgIHZvaWQgYXBwZW5kQXJncyhjb25zdCBWZWN0b3I8VmFsdWUqPiYpOworICAgIAogICAg
IEVmZmVjdHMgZWZmZWN0czsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBj
b25zdCBvdmVycmlkZTsKLSAgICAKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdT
X0NISUxEUkVOCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9WQVJBUkdT
X0NISUxEUkVOCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBm
cmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+
CisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoQXJndW1lbnRzLi4uKSB7
IHJldHVybiBDQ2FsbDsgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
ICAgIENDYWxsVmFsdWUoVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMuLi4gYXJn
dW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBvcmln
aW4sIGFyZ3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2FsbCwg
dHlwZSwgVmFyQXJncywgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50cykuLi4p
CiAgICAgICAgICwgZWZmZWN0cyhFZmZlY3RzOjpmb3JDYWxsKCkpCiAgICAgewogICAgICAgICBS
RUxFQVNFX0FTU0VSVChudW1DaGlsZHJlbigpID49IDEpOwpAQCAtNTYsNyArNjIsNyBAQAogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIENDYWxsVmFsdWUoVHlwZSB0
eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBFZmZlY3RzJiBlZmZlY3RzLCBBcmd1bWVudHMuLi4g
YXJndW1lbnRzKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENDYWxsLCB0eXBlLCBv
cmlnaW4sIGFyZ3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDQ2Fs
bCwgdHlwZSwgVmFyQXJncywgb3JpZ2luLCBzdGF0aWNfY2FzdDxWYWx1ZSo+KGFyZ3VtZW50cyku
Li4pCiAgICAgICAgICwgZWZmZWN0cyhlZmZlY3RzKQogICAgIHsKICAgICAgICAgUkVMRUFTRV9B
U1NFUlQobnVtQ2hpbGRyZW4oKSA+PSAxKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NoZWNrVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0NoZWNrVmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNDaGVja1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTEgKzQwLDYg
QEAKICAgICBtX2tpbmQgPSBDaGVja0FkZDsKIH0KIAotVmFsdWUqIENoZWNrVmFsdWU6OmNsb25l
SW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDaGVja1ZhbHVlKCp0aGlzKTsKLX0KLQog
Ly8gVXNlIHRoaXMgZm9ybSBmb3IgQ2hlY2tBZGQsIENoZWNrU3ViLCBhbmQgQ2hlY2tNdWwuCiBD
aGVja1ZhbHVlOjpDaGVja1ZhbHVlKEtpbmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGxl
ZnQsIFZhbHVlKiByaWdodCkKICAgICA6IFN0YWNrbWFwVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgbGVmdC0+dHlwZSgpLCBvcmlnaW4pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNDaGVja1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
Q2hlY2tWYWx1ZS5oCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDaGVja1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDExICs1MCwxMSBAQAogCiAg
ICAgdm9pZCBjb252ZXJ0VG9BZGQoKTsKIAotcHJvdGVjdGVkOgotICAgIFZhbHVlKiBjbG9uZUlt
cGwoKSBjb25zdCBvdmVycmlkZTsKKyAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9T
SVpFX1ZBUkFSR1NfQ0hJTERSRU4KICAgICAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFBy
b2NlZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKICAgICAvLyBVc2UgdGhpcyBmb3Jt
IGZvciBDaGVja0FkZCwgQ2hlY2tTdWIsIGFuZCBDaGVja011bC4KICAgICBKU19FWFBPUlRfUFJJ
VkFURSBDaGVja1ZhbHVlKEtpbmQsIE9yaWdpbiwgVmFsdWUqIGxlZnQsIFZhbHVlKiByaWdodCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDMyVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5jcHAJKHJl
dmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMywxMSArMzAzLDYgQEAKICAgICBvdXQucHJpbnQo
Y29tbWEsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3QzMlZhbHVlOjpjbG9uZUltcGwoKSBj
b25zdAotewotICAgIHJldHVybiBuZXcgQ29uc3QzMlZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8v
IG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3QzMlZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0MzJWYWx1ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03NSwyMCArNzUsMjQgQEAKICAgICBUcmlTdGF0ZSBhYm92ZUVxdWFsQ29uc3RhbnQo
Y29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBiZWxvd0Vx
dWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAorICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lk
IGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAK
LSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgLy8gUHJvdGVjdGVk
IGJlY2F1c2Ugb2YgQ29uc3RQdHJWYWx1ZQorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNv
bnN0cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQzMl90ID0gMCkgeyByZXR1cm4gQ29uc3Qz
MjsgfQogCi0gICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKLQogICAgIENvbnN0MzJWYWx1ZShP
cmlnaW4gb3JpZ2luLCBpbnQzMl90IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNv
ZGUsIENvbnN0MzIsIEludDMyLCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwgQ29uc3QzMiwgSW50MzIsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVl
KQogICAgIHsKICAgICB9CiAKIHByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsK
KyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKICAgICBpbnQzMl90IG1fdmFsdWU7CiB9OwogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdDY0VmFsdWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5jcHAJKHJldmlz
aW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMywxMSArMzAzLDYgQEAKICAgICBvdXQucHJpbnQoY29t
bWEsIG1fdmFsdWUpOwogfQogCi1WYWx1ZSogQ29uc3Q2NFZhbHVlOjpjbG9uZUltcGwoKSBjb25z
dAotewotICAgIHJldHVybiBuZXcgQ29uc3Q2NFZhbHVlKCp0aGlzKTsKLX0KLQogfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3Q2NFZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0NjRWYWx1ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC03NSwyMCArNzUsMjQgQEAKICAgICBUcmlTdGF0ZSBhYm92ZUVxdWFsQ29uc3RhbnQoY29u
c3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKICAgICBUcmlTdGF0ZSBiZWxvd0VxdWFs
Q29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlkZTsKIAorICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1
bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgLy8gUHJvdGVjdGVkIGJl
Y2F1c2Ugb2YgQ29uc3RQdHJWYWx1ZQorICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0
cnVjdG9yKE9yaWdpbiA9IE9yaWdpbigpLCBpbnQ2NF90ID0gMCkgeyByZXR1cm4gQ29uc3Q2NDsg
fQogCi0gICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKLQogICAgIENvbnN0NjRWYWx1ZShPcmln
aW4gb3JpZ2luLCBpbnQ2NF90IHZhbHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUs
IENvbnN0NjQsIEludDY0LCBvcmlnaW4pCisgICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwg
Q29uc3Q2NCwgSW50NjQsIFplcm8sIG9yaWdpbikKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQog
ICAgIHsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVy
ZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CisKICAgICBpbnQ2NF90IG1fdmFsdWU7CiB9Owog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdERvdWJsZVZhbHVl
LmNwcAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3REb3VibGVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NywxMSArMTk3LDYgQEAKICAg
ICBvdXQucHJpbnRmKCIlbGUiLCBtX3ZhbHVlKTsKIH0KIAotVmFsdWUqIENvbnN0RG91YmxlVmFs
dWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdERvdWJsZVZhbHVl
KCp0aGlzKTsKLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFC
TEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3REb3VibGVW
YWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RG91
YmxlVmFsdWUuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzQ29uc3REb3VibGVWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxNiArNjQsMTggQEAK
ICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIpIGNv
bnN0IG92ZXJyaWRlOwogICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChjb25z
dCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBk
dW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOworICAg
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PX0NISUxEUkVOCiAKLSAgICBWYWx1ZSogY2xvbmVJ
bXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2Nl
ZHVyZTsKKyAgICBmcmllbmQgY2xhc3MgVmFsdWU7CiAKKyAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBzdGF0aWMgT3Bj
b2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIGRvdWJsZSkgeyByZXR1cm4gQ29uc3RE
b3VibGU7IH0KKwogICAgIENvbnN0RG91YmxlVmFsdWUoT3JpZ2luIG9yaWdpbiwgZG91YmxlIHZh
bHVlKQotICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0RG91YmxlLCBEb3VibGUs
IG9yaWdpbikKKyAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdERvdWJsZSwgRG91
YmxlLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUu
Y3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25z
dEZsb2F0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODksMTEgKzE4OSw2IEBACiAgICAg
b3V0LnByaW50ZigiJWxlIiwgbV92YWx1ZSk7CiB9CiAKLVZhbHVlKiBDb25zdEZsb2F0VmFsdWU6
OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBDb25zdEZsb2F0VmFsdWUoKnRo
aXMpOwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShC
M19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFsdWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb25zdEZsb2F0VmFs
dWUuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29u
c3RGbG9hdFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE2ICs2MywxOCBAQAogICAgIFRy
aVN0YXRlIGdyZWF0ZXJFcXVhbENvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgVHJpU3RhdGUgZXF1YWxPclVub3JkZXJlZENvbnN0YW50KGNvbnN0IFZhbHVl
KiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGR1bXBNZXRh
KENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BF
Q0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAotICAgIFZhbHVlKiBjbG9uZUltcGwoKSBj
b25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwor
ICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVy
JiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bj
b2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgZmxvYXQpIHsgcmV0dXJuIENvbnN0RmxvYXQ7IH0K
KwogICAgIENvbnN0RmxvYXRWYWx1ZShPcmlnaW4gb3JpZ2luLCBmbG9hdCB2YWx1ZSkKLSAgICAg
ICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBDb25zdEZsb2F0LCBGbG9hdCwgb3JpZ2luKQorICAg
ICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIENvbnN0RmxvYXQsIEZsb2F0LCBaZXJvLCBvcmln
aW4pCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0UHRyVmFsdWUuaAkocmV2aXNpb24gMjQ0MjcxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RQdHJWYWx1ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MSwxMyArNTEsMTggQEAKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBUKikg
eyByZXR1cm4gQ29uc3RQdHJWYWx1ZUJhc2U6Om9wY29kZUZyb21Db25zdHJ1Y3RvcigpOyB9Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBDb25zdFB0clZhbHVlKE9yaWdpbiBvcmlnaW4s
IFQqIHBvaW50ZXIpCiAgICAgICAgIDogQ29uc3RQdHJWYWx1ZUJhc2Uob3JpZ2luLCBiaXR3aXNl
X2Nhc3Q8aW50cHRyX3Q+KHBvaW50ZXIpKQogICAgIHsKICAgICB9CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4s
IFQpIHsgcmV0dXJuIENvbnN0UHRyVmFsdWVCYXNlOjpvcGNvZGVGcm9tQ29uc3RydWN0b3IoKTsg
fQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgQ29uc3RQdHJWYWx1ZShPcmlnaW4gb3Jp
Z2luLCBUIHBvaW50ZXIpCiAgICAgICAgIDogQ29uc3RQdHJWYWx1ZUJhc2Uob3JpZ2luLCBzdGF0
aWNfY2FzdDxpbnRwdHJfdD4ocG9pbnRlcikpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5jcHAJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0ZlbmNlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwx
MyArMzQsOCBAQAogewogfQogCi1WYWx1ZSogRmVuY2VWYWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gbmV3IEZlbmNlVmFsdWUoKnRoaXMpOwotfQotCiBGZW5jZVZhbHVlOjpG
ZW5jZVZhbHVlKE9yaWdpbiBvcmlnaW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFuZ2Ugd3JpdGUp
Ci0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBGZW5jZSwgVm9pZCwgb3JpZ2luKQorICAgIDog
VmFsdWUoQ2hlY2tlZE9wY29kZSwgRmVuY2UsIFZvaWQsIFplcm8sIG9yaWdpbikKICAgICAsIHJl
YWQocmVhZCkKICAgICAsIHdyaXRlKHdyaXRlKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzRmVuY2VWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy9CM0ZlbmNlVmFsdWUuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzRmVuY2VWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03MiwxNCArNzIsMTQg
QEAKICAgICBIZWFwUmFuZ2UgcmVhZCB7IEhlYXBSYW5nZTo6dG9wKCkgfTsKICAgICBIZWFwUmFu
Z2Ugd3JpdGUgeyBIZWFwUmFuZ2U6OnRvcCgpIH07CiAKLXByb3RlY3RlZDoKLSAgICBWYWx1ZSog
Y2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
Tk9fQ0hJTERSRU4KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOworICAg
IGZyaWVuZCBjbGFzcyBWYWx1ZTsKICAgICAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21D
b25zdHJ1Y3RvcihPcmlnaW4sIEhlYXBSYW5nZSA9IEhlYXBSYW5nZSgpLCBIZWFwUmFuZ2UgPSBI
ZWFwUmFuZ2UoKSkgeyByZXR1cm4gRmVuY2U7IH0KICAgICBGZW5jZVZhbHVlKE9yaWdpbiBvcmln
aW4sIEhlYXBSYW5nZSByZWFkLCBIZWFwUmFuZ2Ugd3JpdGUpOwotICAgIAogICAgIEZlbmNlVmFs
dWUoT3JpZ2luIG9yaWdpbik7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNNZW1vcnlWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzTWVtb3J5VmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNNZW1vcnlWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDE1ICs3Mywx
MCBAQAogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJmZW5jZVJhbmdlID0gIiwgZmVuY2VSYW5n
ZSgpKTsKIH0KIAotVmFsdWUqIE1lbW9yeVZhbHVlOjpjbG9uZUltcGwoKSBjb25zdAotewotICAg
IHJldHVybiBuZXcgTWVtb3J5VmFsdWUoKnRoaXMpOwotfQotCiAvLyBVc2UgdGhpcyBmb3JtIGZv
ciBMb2FkIChidXQgbm90IExvYWQ4WiwgTG9hZDhTLCBvciBhbnkgb2YgdGhlIExvYWRzIHRoYXQg
aGF2ZSBhIHN1ZmZpeCB0aGF0CiAvLyBkZXNjcmliZXMgdGhlIHJldHVybmVkIHR5cGUpLgogTWVt
b3J5VmFsdWU6Ok1lbW9yeVZhbHVlKE1lbW9yeVZhbHVlOjpNZW1vcnlWYWx1ZUxvYWQsIEtpbmQg
a2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcG9pbnRlciwgTWVtb3J5VmFs
dWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhlYXBSYW5nZSBmZW5jZVJh
bmdlKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luLCBwb2lu
dGVyKQorICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgdHlwZSwgT25lLCBvcmlnaW4s
IHBvaW50ZXIpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX3JhbmdlKHJhbmdlKQog
ICAgICwgbV9mZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkBAIC0xMjYsNyArMTIxLDcgQEAKIAogLy8g
VXNlIHRoaXMgZm9ybSBmb3Igc3RvcmVzLgogTWVtb3J5VmFsdWU6Ok1lbW9yeVZhbHVlKE1lbW9y
eVZhbHVlOjpNZW1vcnlWYWx1ZVN0b3JlLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiB2YWx1ZSwgVmFsdWUqIHBvaW50ZXIsIE1lbW9yeVZhbHVlOjpPZmZzZXRUeXBlIG9mZnNldCwg
SGVhcFJhbmdlIHJhbmdlLCBIZWFwUmFuZ2UgZmVuY2VSYW5nZSkKLSAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIGtpbmQsIFZvaWQsIG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIpCisgICAgOiBWYWx1
ZShDaGVja2VkT3Bjb2RlLCBraW5kLCBWb2lkLCBUd28sIG9yaWdpbiwgdmFsdWUsIHBvaW50ZXIp
CiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX3JhbmdlKHJhbmdlKQogICAgICwgbV9m
ZW5jZVJhbmdlKGZlbmNlUmFuZ2UpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNN
ZW1vcnlWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM01l
bW9yeVZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM01lbW9yeVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDE0ICs4NCwxNCBAQAogCiAg
ICAgYm9vbCBpc0Nhbm9uaWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gQjM6OmlzQ2Fub25pY2Fs
V2lkdGgoYWNjZXNzV2lkdGgoKSk7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05P
Tl9WQVJBUkdTX0NISUxEUkVOCisKIHByb3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1h
UHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICBWYWx1ZSogY2xv
bmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KKyAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJ
bnQsIHR5cGVuYW1lID0gSXNMZWdhbE9mZnNldDxJbnQ+LCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+
Ci0gICAgTWVtb3J5VmFsdWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4sIEludCBvZmZzZXQsIEhlYXBSYW5nZSByYW5nZSwgSGVhcFJhbmdlIGZl
bmNlUmFuZ2UsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwga2luZCwgdHlwZSwgb3JpZ2luLCBhcmd1bWVudHMuLi4pCisgICAgTWVtb3J5VmFs
dWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51
bUNoaWxkcmVuLCBPcmlnaW4gb3JpZ2luLCBJbnQgb2Zmc2V0LCBIZWFwUmFuZ2UgcmFuZ2UsIEhl
YXBSYW5nZSBmZW5jZVJhbmdlLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG51bUNoaWxkcmVuLCBvcmlnaW4sIHN0YXRp
Y19jYXN0PFZhbHVlKj4oYXJndW1lbnRzKS4uLikKICAgICAgICAgLCBtX29mZnNldChvZmZzZXQp
CiAgICAgICAgICwgbV9yYW5nZShyYW5nZSkKICAgICAgICAgLCBtX2ZlbmNlUmFuZ2UoZmVuY2VS
YW5nZSkKQEAgLTEwMCw2ICsxMDAsNyBAQAogICAgIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIGJvb2wgaXNMZWdh
bE9mZnNldEltcGwoaW50MzJfdCBvZmZzZXQpIGNvbnN0OwogICAgIGJvb2wgaXNMZWdhbE9mZnNl
dEltcGwoaW50NjRfdCBvZmZzZXQpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzTW92ZUNvbnN0YW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzTW92ZUNvbnN0YW50cy5jcHAJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM01vdmVDb25zdGFudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
OCw3ICs1OCw3IEBACiAgICAgICAgICAgICBbJl0gKGNvbnN0IFZhbHVlS2V5JiBrZXkpIC0+IGJv
b2wgewogICAgICAgICAgICAgICAgIHJldHVybiBrZXkub3Bjb2RlKCkgPT0gQ29uc3RGbG9hdCB8
fCBrZXkub3Bjb2RlKCkgPT0gQ29uc3REb3VibGU7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAg
CisKICAgICAgICAgbG93ZXJGUENvbnN0YW50cygpOwogICAgICAgICAKICAgICAgICAgaG9pc3RD
b25zdGFudHMoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQYXRjaHBvaW50VmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9p
bnRWYWx1ZS5jcHAJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1BhdGNocG9pbnRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDExICs0NCw2IEBA
CiAgICAgICAgIG91dC5wcmludChjb21tYSwgIm51bUZQU2NyYXRjaFJlZ2lzdGVycyA9ICIsIG51
bUZQU2NyYXRjaFJlZ2lzdGVycyk7CiB9CiAKLVZhbHVlKiBQYXRjaHBvaW50VmFsdWU6OmNsb25l
SW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBQYXRjaHBvaW50VmFsdWUoKnRoaXMpOwot
fQotCiBQYXRjaHBvaW50VmFsdWU6OlBhdGNocG9pbnRWYWx1ZShUeXBlIHR5cGUsIE9yaWdpbiBv
cmlnaW4pCiAgICAgOiBCYXNlKENoZWNrZWRPcGNvZGUsIFBhdGNocG9pbnQsIHR5cGUsIG9yaWdp
bikKICAgICAsIGVmZmVjdHMoRWZmZWN0czo6Zm9yQ2FsbCgpKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzUGF0Y2hwb2ludFZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1BhdGNocG9pbnRWYWx1ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02MSwxNCArNjEsMTYgQEAKICAgICB1aW50OF90IG51bUdQU2NyYXRjaFJlZ2lzdGVy
cyB7IDAgfTsKICAgICB1aW50OF90IG51bUZQU2NyYXRjaFJlZ2lzdGVycyB7IDAgfTsKIAorICAg
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTgorCiBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYp
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRl
OwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNs
YXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoVHlw
ZSwgT3JpZ2luKSB7IHJldHVybiBQYXRjaHBvaW50OyB9CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
UGF0Y2hwb2ludFZhbHVlKFR5cGUsIE9yaWdpbik7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDcg
KzkzLDYgQEAKICAgICByZXR1cm4gbV92YWx1ZXMuYWRkKFdURk1vdmUoY2xvbmUpKTsKIH0KIAot
CiBWYWx1ZSogUHJvY2VkdXJlOjphZGRJbnRDb25zdGFudChPcmlnaW4gb3JpZ2luLCBUeXBlIHR5
cGUsIGludDY0X3QgdmFsdWUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5Miw3
ICsyOTIsNyBAQAogICAgIGJvb2wgbV9uZWVkc1VzZWRSZWdpc3RlcnMgeyB0cnVlIH07CiAgICAg
Ym9vbCBtX2hhc1F1aXJrcyB7IGZhbHNlIH07CiB9OwotCisgICAgCiB9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlSW5saW5lcy5oCShyZXZpc2lvbiAyNDQyNzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmVJbmxpbmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDEzICsyOSwxNCBAQAogCiAjaW5jbHVkZSAiQjNCYXNpY0Jsb2NrLmgiCiAj
aW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJCM1ZhbHVlLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgQjMgewotCisgICAgCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5
cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KIFZhbHVlVHlwZSogUHJvY2VkdXJlOjphZGQoQXJn
dW1lbnRzLi4uIGFyZ3VtZW50cykKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsdWVUeXBl
Kj4oYWRkVmFsdWVJbXBsKG5ldyBWYWx1ZVR5cGUoYXJndW1lbnRzLi4uKSkpOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxWYWx1ZVR5cGUqPihhZGRWYWx1ZUltcGwoVmFsdWU6OmFsbG9jYXRlPFZh
bHVlVHlwZT4oYXJndW1lbnRzLi4uKSkpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Nsb3RCYXNlVmFsdWUuY3BwCShy
ZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYgQEAKICAgICBvdXQucHJpbnQo
Y29tbWEsIHBvaW50ZXJEdW1wKG1fc2xvdCkpOwogfQogCi1WYWx1ZSogU2xvdEJhc2VWYWx1ZTo6
Y2xvbmVJbXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFNsb3RCYXNlVmFsdWUoKnRoaXMp
OwotfQotCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjMKIAogI2VuZGlmIC8vIEVOQUJMRShCM19K
SVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZhbHVlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU2xvdEJhc2VWYWx1ZS5oCShy
ZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTbG90QmFzZVZh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE2ICs0MSwxNyBAQAogCiAgICAgU3RhY2tTbG90
KiBzbG90KCkgY29uc3QgeyByZXR1cm4gbV9zbG90OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lk
IGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4KIAotICAgIFZhbHVlKiBjbG9u
ZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJv
Y2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHZvaWQgZHVtcE1ldGEoQ29t
bWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBP
cGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgU3RhY2tTbG90KikgeyByZXR1cm4g
U2xvdEJhc2U7IH0KICAgICBTbG90QmFzZVZhbHVlKE9yaWdpbiBvcmlnaW4sIFN0YWNrU2xvdCog
c2xvdCkKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBTbG90QmFzZSwgcG9pbnRlclR5
cGUoKSwgb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFNsb3RCYXNlLCBw
b2ludGVyVHlwZSgpLCBaZXJvLCBvcmlnaW4pCiAgICAgICAgICwgbV9zbG90KHNsb3QpCiAgICAg
ewogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwU3BlY2lh
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2ttYXBT
cGVjaWFsLmNwcAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzU3RhY2ttYXBTcGVjaWFsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMsMTEgKzgzLDExIEBA
CiAKICAgICAvLyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFwcGVuZWQuCiAg
ICAgQVNTRVJUKGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3MpOwotICAgIEFT
U0VSVCh2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7Ci0gICAg
QVNTRVJUKGluc3QuYXJncy5zaXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA+PSB2YWx1ZS0+Y2hp
bGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKTsKKyAgICBBU1NFUlQodmFsdWUtPm51
bUNoaWxkcmVuKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKGluc3QuYXJncy5z
aXplKCkgLSBudW1JZ25vcmVkQWlyQXJncyA+PSB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSAtIG51bUln
bm9yZWRCM0FyZ3MpOwogICAgIEFTU0VSVChpbnN0LmFyZ3NbMF0ua2luZCgpID09IEFyZzo6S2lu
ZDo6U3BlY2lhbCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPmNoaWxk
cmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGlsZHJlbigpIC0gbnVtSWdub3JlZEIzQXJnczsgKytp
KSB7CiAgICAgICAgIEFyZyYgYXJnID0gaW5zdC5hcmdzW2kgKyBudW1JZ25vcmVkQWlyQXJnc107
CiAgICAgICAgIENvbnN0cmFpbmVkVmFsdWUgY2hpbGQgPSB2YWx1ZS0+Y29uc3RyYWluZWRDaGls
ZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAKQEAgLTE2MCwxNiArMTYwLDE2IEBACiAKICAgICAv
LyBDaGVjayB0aGF0IGluc2FuZSB0aGluZ3MgaGF2ZSBub3QgaGFwcGVuZWQuCiAgICAgQVNTRVJU
KGluc3QuYXJncy5zaXplKCkgPj0gbnVtSWdub3JlZEFpckFyZ3MpOwotICAgIEFTU0VSVCh2YWx1
ZS0+Y2hpbGRyZW4oKS5zaXplKCkgPj0gbnVtSWdub3JlZEIzQXJncyk7CisgICAgQVNTRVJUKHZh
bHVlLT5udW1DaGlsZHJlbigpID49IG51bUlnbm9yZWRCM0FyZ3MpOwogCiAgICAgLy8gRm9yIHRo
ZSBJbnN0IHRvIGJlIHZhbGlkLCBpdCBuZWVkcyB0byBoYXZlIHRoZSByaWdodCBudW1iZXIgb2Yg
YXJndW1lbnRzLgotICAgIGlmIChpbnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3Mg
PCB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkgLSBudW1JZ25vcmVkQjNBcmdzKQorICAgIGlmIChp
bnN0LmFyZ3Muc2l6ZSgpIC0gbnVtSWdub3JlZEFpckFyZ3MgPCB2YWx1ZS0+bnVtQ2hpbGRyZW4o
KSAtIG51bUlnbm9yZWRCM0FyZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIFJl
Z2FyZGxlc3Mgb2YgY29uc3RyYWludHMsIHN0YWNrbWFwcyBoYXZlIHNvbWUgYmFzaWMgcmVxdWly
ZW1lbnRzIGZvciB0aGVpciBhcmd1bWVudHMuIEZvcgogICAgIC8vIGV4YW1wbGUsIHlvdSBjYW4n
dCBoYXZlIGEgbm9uLUZQLW9mZnNldCBhZGRyZXNzLiBUaGlzIHZlcmlmaWVzIHRob3NlIGNvbmRp
dGlvbnMgYXMgd2VsbCBhcyB0aGUKICAgICAvLyBhcmd1bWVudCB0eXBlcy4KLSAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgdmFsdWUtPmNoaWxkcmVuKCkuc2l6ZSgpIC0gbnVtSWdub3JlZEIz
QXJnczsgKytpKSB7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlLT5udW1DaGls
ZHJlbigpIC0gbnVtSWdub3JlZEIzQXJnczsgKytpKSB7CiAgICAgICAgIFZhbHVlKiBjaGlsZCA9
IHZhbHVlLT5jaGlsZChpICsgbnVtSWdub3JlZEIzQXJncyk7CiAgICAgICAgIEFyZyYgYXJnID0g
aW5zdC5hcmdzW2kgKyBudW1JZ25vcmVkQWlyQXJnc107CiAKQEAgLTE3OCw3ICsxNzgsNyBAQAog
ICAgIH0KIAogICAgIC8vIFRoZSBudW1iZXIgb2YgY29uc3RyYWludHMgaGFzIHRvIGJlIG5vIGdy
ZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIEIzIGNoaWxkcmVuLgotICAgIEFTU0VSVCh2YWx1ZS0+
bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+Y2hpbGRyZW4oKS5zaXplKCkpOworICAgIEFTU0VSVCh2
YWx1ZS0+bV9yZXBzLnNpemUoKSA8PSB2YWx1ZS0+bnVtQ2hpbGRyZW4oKSk7CiAKICAgICAvLyBW
ZXJpZnkgYW55IGV4cGxpY2l0bHkgc3VwcGxpZWQgY29uc3RyYWludHMuCiAgICAgZm9yICh1bnNp
Z25lZCBpID0gbnVtSWdub3JlZEIzQXJnczsgaSA8IHZhbHVlLT5tX3JlcHMuc2l6ZSgpOyArK2kp
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N0YWNrbWFwVmFsdWUuY3Bw
CShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21h
cFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQAogdm9pZCBTdGFja21h
cFZhbHVlOjphcHBlbmQoVmFsdWUqIHZhbHVlLCBjb25zdCBWYWx1ZVJlcCYgcmVwKQogewogICAg
IGlmIChyZXAgPT0gVmFsdWVSZXA6OkNvbGRBbnkpIHsKLSAgICAgICAgY2hpbGRyZW4oKS5hcHBl
bmQodmFsdWUpOworICAgICAgICBjaGlsZHJlblZlY3RvcigpLmFwcGVuZCh2YWx1ZSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTQ0LDcgKzQ0LDcgQEAKICAgICB3aGlsZSAobV9yZXBz
LnNpemUoKSA8IG51bUNoaWxkcmVuKCkpCiAgICAgICAgIG1fcmVwcy5hcHBlbmQoVmFsdWVSZXA6
OkNvbGRBbnkpOwogCi0gICAgY2hpbGRyZW4oKS5hcHBlbmQodmFsdWUpOworICAgIGNoaWxkcmVu
VmVjdG9yKCkuYXBwZW5kKHZhbHVlKTsKICAgICBtX3JlcHMuYXBwZW5kKHJlcCk7CiB9CiAKQEAg
LTg5LDcgKzg5LDcgQEAKIH0KIAogU3RhY2ttYXBWYWx1ZTo6U3RhY2ttYXBWYWx1ZShDaGVja2Vk
T3Bjb2RlVGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbikKLSAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbikKKyAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIGtpbmQsIHR5cGUsIFZhckFyZ3MsIG9yaWdpbikKIHsKICAgICBBU1NFUlQoYWNj
ZXB0cyhraW5kKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTdGFja21h
cFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3RhY2tt
YXBWYWx1ZS5oCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNTdGFja21hcFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDcgQEAKIAogICAg
IH5TdGFja21hcFZhbHVlKCk7CiAKLSAgICAvLyBVc2UgdGhpcyB0byBhZGQgY2hpbGRyZW4uIE5v
dGUgdGhhdCB5b3UgY291bGQgYWxzbyBhZGQgY2hpbGRyZW4gYnkgZG9pbmcKLSAgICAvLyBjaGls
ZHJlbigpLmFwcGVuZCgpLiBUaGF0IHdpbGwgd29yayBmaW5lLCBidXQgaXQncyBub3QgcmVjb21t
ZW5kZWQuCisgICAgLy8gVXNlIHRoaXMgdG8gYWRkIGNoaWxkcmVuLgogICAgIHZvaWQgYXBwZW5k
KGNvbnN0IENvbnN0cmFpbmVkVmFsdWUmIHZhbHVlKQogICAgIHsKICAgICAgICAgYXBwZW5kKHZh
bHVlLnZhbHVlKCksIHZhbHVlLnJlcCgpKTsKQEAgLTI4NSw2ICsyODQsOCBAQAogICAgICAgICBy
ZXR1cm4gQ29uc3RyYWluZWRWYWx1ZUNvbGxlY3Rpb24oKnRoaXMpOwogICAgIH0KIAorICAgIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAg
IHZvaWQgZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNv
bnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZh
bHVlLmNwcAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
U3dpdGNoVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTMgKzEwNiw4IEBACiAgICAg
b3V0LnByaW50KGNvbW1hLCAiY2FzZXMgPSBbIiwgbGlzdER1bXAobV92YWx1ZXMpLCAiXSIpOwog
fQogCi1WYWx1ZSogU3dpdGNoVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG5ldyBTd2l0Y2hWYWx1ZSgqdGhpcyk7Ci19Ci0KIFN3aXRjaFZhbHVlOjpTd2l0Y2hWYWx1ZShP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogY2hpbGQpCi0gICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBT
d2l0Y2gsIFZvaWQsIG9yaWdpbiwgY2hpbGQpCisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBT
d2l0Y2gsIFZvaWQsIE9uZSwgb3JpZ2luLCBjaGlsZCkKIHsKIH0KIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL0IzU3dpdGNoVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02
NCwxNCArNjQsMTcgQEAKIAogICAgIHZvaWQgZHVtcFN1Y2Nlc3NvcnMoY29uc3QgQmFzaWNCbG9j
ayosIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBCM19TUEVDSUFMSVpFX1ZB
TFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJ
TkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVtcE1ldGEo
Q29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFZhbHVl
KiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAorICAgIHN0YXRpYyBPcGNv
ZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVmFsdWUqKSB7IHJldHVybiBTd2l0Y2g7
IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBTd2l0Y2hWYWx1ZShPcmlnaW4sIFZhbHVlKiBjaGls
ZCk7CiAKICAgICBWZWN0b3I8aW50NjRfdD4gbV92YWx1ZXM7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNVcHNpbG9uVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDExICs0NSw2IEBACiAgICAgfQogfQogCi1WYWx1ZSogVXBzaWxvblZhbHVlOjpjbG9u
ZUltcGwoKSBjb25zdAotewotICAgIHJldHVybiBuZXcgVXBzaWxvblZhbHVlKCp0aGlzKTsKLX0K
LQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVXBzaWxvblZhbHVlLmgJKHJldmlzaW9u
IDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Vwc2lsb25WYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NSwxOSArNDUsMjIgQEAKICAgICAgICAgbV9waGkgPSBwaGk7CiAg
ICAgfQogCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4oMSkKKyAg
ICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX0ZJWEVEX0NISUxEUkVOCisKIHBy
b3RlY3RlZDoKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBWYWx1ZSogY2xvbmVJbXBsKCkgY29uc3Qgb3ZlcnJpZGU7
Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKKyAgICBmcmllbmQgY2xh
c3MgVmFsdWU7CiAKKyAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmln
aW4sIFZhbHVlKiwgVmFsdWUqID0gbnVsbHB0cikgeyByZXR1cm4gVXBzaWxvbjsgfQogICAgIC8v
IE5vdGUgdGhhdCBwYXNzaW5nIHRoZSBQaGkgZHVyaW5nIGNvbnN0cnVjdGlvbiBpcyBvcHRpb25h
bC4gQSB2YWxpZCBwYXR0ZXJuIGlzIHRvIGZpcnN0IGNyZWF0ZQogICAgIC8vIHRoZSBVcHNpbG9u
cyB3aXRob3V0IHRoZSBQaGksIHRoZW4gY3JlYXRlIHRoZSBQaGksIHRoZW4gZ28gYmFjayBhbmQg
dGVsbCB0aGUgVXBzaWxvbnMgYWJvdXQKICAgICAvLyB0aGUgUGhpLiBUaGlzIGFsbG93cyB5b3Ug
dG8gZW1pdCBjb2RlIGluIGl0cyBuYXR1cmFsIG9yZGVyLgogICAgIFVwc2lsb25WYWx1ZShPcmln
aW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIFZhbHVlKiBwaGkgPSBudWxscHRyKQotICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIFVwc2lsb24sIFZvaWQsIG9yaWdpbiwgdmFsdWUpCisgICAg
ICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgVXBzaWxvbiwgVm9pZCwgT25lLCBvcmlnaW4sIHZh
bHVlKQogICAgICAgICAsIG1fcGhpKHBoaSkKICAgICB7CiAgICAgICAgIGlmIChwaGkpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3
LDEzICs0NywyMyBAQAogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KICNpbmNsdWRlIDx3
dGYvTGlzdER1bXAuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiBj
b25zdCBjaGFyKiBjb25zdCBWYWx1ZTo6ZHVtcFByZWZpeCA9ICJAIjsKK3ZvaWQgRGVlcFZhbHVl
RHVtcDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIGlmIChtX3ZhbHVlKQor
ICAgICAgICBtX3ZhbHVlLT5kZWVwRHVtcChtX3Byb2MsIG91dCk7CisgICAgZWxzZQorICAgICAg
ICBvdXQucHJpbnQoIjxudWxsPiIpOworfQogCiBWYWx1ZTo6flZhbHVlKCkKIHsKKyAgICBpZiAo
bV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzKQorICAgICAgICBiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZh
bHVlKiwgMz4gKj4oY2hpbGRyZW5BbGxvYygpKS0+VmVjdG9yPFZhbHVlKiwgMz46On5WZWN0b3Io
KTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhJZGVudGl0eShWYWx1ZSogdmFsdWUpCkBA
IC02MiwyNyArNzIsMTMgQEAKICAgICAvLyBhIHBsYWluIElkZW50aXR5IFZhbHVlLiBXZSBmaXJz
dCBjb2xsZWN0IGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gd2UgbmVlZCwgdGhlbiB3ZSBkZXN0cnVj
dCB0aGUKICAgICAvLyBwcmV2aW91cyB2YWx1ZSBpbiBwbGFjZSwgYW5kIHRoZW4gd2UgY29uc3Ry
dWN0IHRoZSBJZGVudGl0eSBWYWx1ZSBpbiBwbGFjZS4KIAotICAgIEFTU0VSVChtX3R5cGUgPT0g
dmFsdWUtPm1fdHlwZSk7CisgICAgUkVMRUFTRV9BU1NFUlQobV90eXBlID09IHZhbHVlLT5tX3R5
cGUpOwogICAgIEFTU0VSVCh2YWx1ZSAhPSB0aGlzKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVm9p
ZCkgeworICAgIGlmIChtX3R5cGUgPT0gVm9pZCkKICAgICAgICAgcmVwbGFjZVdpdGhOb3BJZ25v
cmluZ1R5cGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2lnbmVkIGluZGV4
ID0gbV9pbmRleDsKLSAgICBUeXBlIHR5cGUgPSBtX3R5cGU7Ci0gICAgT3JpZ2luIG9yaWdpbiA9
IG1fb3JpZ2luOwotICAgIEJhc2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICBS
RUxFQVNFX0FTU0VSVCh0eXBlID09IHZhbHVlLT50eXBlKCkpOwotCi0gICAgdGhpcy0+flZhbHVl
KCk7Ci0KLSAgICBuZXcgKHRoaXMpIFZhbHVlKElkZW50aXR5LCB0eXBlLCBvcmlnaW4sIHZhbHVl
KTsKLQotICAgIHRoaXMtPm93bmVyID0gb3duZXI7Ci0gICAgdGhpcy0+bV9pbmRleCA9IGluZGV4
OworICAgIGVsc2UKKyAgICAgICAgcmVwbGFjZVdpdGgoSWRlbnRpdHksIG1fdHlwZSwgdGhpcy0+
b3duZXIsIHZhbHVlKTsKIH0KIAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhCb3R0b20oSW5zZXJ0
aW9uU2V0JiBpbnNlcnRpb25TZXQsIHNpemVfdCBpbmRleCkKQEAgLTk4LDE2ICs5NCw3IEBACiAK
IHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoTm9wSWdub3JpbmdUeXBlKCkKIHsKLSAgICB1bnNpZ25l
ZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAgIEJh
c2ljQmxvY2sqIG93bmVyID0gdGhpcy0+b3duZXI7Ci0KLSAgICB0aGlzLT5+VmFsdWUoKTsKLQot
ICAgIG5ldyAodGhpcykgVmFsdWUoTm9wLCBWb2lkLCBvcmlnaW4pOwotCi0gICAgdGhpcy0+b3du
ZXIgPSBvd25lcjsKLSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7CisgICAgcmVwbGFjZVdpdGgo
Tm9wLCBWb2lkLCB0aGlzLT5vd25lcik7CiB9CiAKIHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoUGhp
KCkKQEAgLTExNiwzNCArMTAzLDE0IEBACiAgICAgICAgIHJlcGxhY2VXaXRoTm9wKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4Owot
ICAgIE9yaWdpbiBvcmlnaW4gPSBtX29yaWdpbjsKLSAgICBCYXNpY0Jsb2NrKiBvd25lciA9IHRo
aXMtPm93bmVyOwotICAgIFR5cGUgdHlwZSA9IG1fdHlwZTsKIAotICAgIHRoaXMtPn5WYWx1ZSgp
OwotCi0gICAgbmV3ICh0aGlzKSBWYWx1ZShQaGksIHR5cGUsIG9yaWdpbik7Ci0KLSAgICB0aGlz
LT5vd25lciA9IG93bmVyOwotICAgIHRoaXMtPm1faW5kZXggPSBpbmRleDsKKyAgICByZXBsYWNl
V2l0aChQaGksIG1fdHlwZSwgdGhpcy0+b3duZXIpOwogfQogCiB2b2lkIFZhbHVlOjpyZXBsYWNl
V2l0aEp1bXAoQmFzaWNCbG9jayogb3duZXIsIEZyZXF1ZW50ZWRCbG9jayB0YXJnZXQpCiB7CiAg
ICAgUkVMRUFTRV9BU1NFUlQob3duZXItPmxhc3QoKSA9PSB0aGlzKTsKLSAgICAKLSAgICB1bnNp
Z25lZCBpbmRleCA9IG1faW5kZXg7Ci0gICAgT3JpZ2luIG9yaWdpbiA9IG1fb3JpZ2luOwotICAg
IAotICAgIHRoaXMtPn5WYWx1ZSgpOwotICAgIAotICAgIG5ldyAodGhpcykgVmFsdWUoSnVtcCwg
Vm9pZCwgb3JpZ2luKTsKLSAgICAKLSAgICB0aGlzLT5vd25lciA9IG93bmVyOwotICAgIHRoaXMt
Pm1faW5kZXggPSBpbmRleDsKLSAgICAKKyAgICByZXBsYWNlV2l0aChKdW1wLCBWb2lkLCB0aGlz
LT5vd25lcik7CiAgICAgb3duZXItPnNldFN1Y2Nlc3NvcnModGFyZ2V0KTsKIH0KIApAQCAtMTUw
LDE3ICsxMTcsNyBAQAogdm9pZCBWYWx1ZTo6cmVwbGFjZVdpdGhPb3BzKEJhc2ljQmxvY2sqIG93
bmVyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyLT5sYXN0KCkgPT0gdGhpcyk7Ci0gICAg
Ci0gICAgdW5zaWduZWQgaW5kZXggPSBtX2luZGV4OwotICAgIE9yaWdpbiBvcmlnaW4gPSBtX29y
aWdpbjsKLSAgICAKLSAgICB0aGlzLT5+VmFsdWUoKTsKLSAgICAKLSAgICBuZXcgKHRoaXMpIFZh
bHVlKE9vcHMsIFZvaWQsIG9yaWdpbik7Ci0gICAgCi0gICAgdGhpcy0+b3duZXIgPSBvd25lcjsK
LSAgICB0aGlzLT5tX2luZGV4ID0gaW5kZXg7Ci0gICAgCisgICAgcmVwbGFjZVdpdGgoT29wcywg
Vm9pZCwgdGhpcy0+b3duZXIpOwogICAgIG93bmVyLT5jbGVhclN1Y2Nlc3NvcnMoKTsKIH0KIApA
QCAtMTc0LDYgKzEzMSwzMCBAQAogICAgIHJlcGxhY2VXaXRoT29wcyhvd25lcik7CiB9CiAKK3Zv
aWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBCYXNpY0Jsb2NrKiBv
d25lcikKK3sKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1faW5kZXg7CisKKyAgICB0aGlzLT5+VmFs
dWUoKTsKKworICAgIG5ldyAodGhpcykgVmFsdWUoa2luZCwgdHlwZSwgbV9vcmlnaW4pOworCisg
ICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRoaXMtPm93bmVyID0gb3duZXI7Cit9CisK
K3ZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoKEtpbmQga2luZCwgVHlwZSB0eXBlLCBCYXNpY0Jsb2Nr
KiBvd25lciwgVmFsdWUqIHZhbHVlKQoreworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9pbmRleDsK
KworICAgIHRoaXMtPn5WYWx1ZSgpOworCisgICAgbmV3ICh0aGlzKSBWYWx1ZShraW5kLCB0eXBl
LCBtX29yaWdpbiwgdmFsdWUpOworCisgICAgdGhpcy0+bV9pbmRleCA9IGluZGV4OworICAgIHRo
aXMtPm93bmVyID0gb3duZXI7Cit9CisKIHZvaWQgVmFsdWU6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKIHsKICAgICBib29sIGlzQ29uc3RhbnQgPSBmYWxzZTsKQEAgLTIwNSwxMSArMTg2
LDYgQEAKICAgICAgICAgb3V0LnByaW50KCIpIik7CiB9CiAKLVZhbHVlKiBWYWx1ZTo6Y2xvbmVJ
bXBsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFZhbHVlKCp0aGlzKTsKLX0KLQogdm9pZCBW
YWx1ZTo6ZHVtcENoaWxkcmVuKENvbW1hUHJpbnRlciYgY29tbWEsIFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CiB7CiAgICAgZm9yIChWYWx1ZSogY2hpbGQgOiBjaGlsZHJlbigpKQpAQCAtNDU4LDEx
ICs0MzQsMTEgQEAKIAogVmFsdWUqIFZhbHVlOjppbnZlcnRlZENvbXBhcmUoUHJvY2VkdXJlJiBw
cm9jKSBjb25zdAogewotICAgIGlmICghbnVtQ2hpbGRyZW4oKSkKKyAgICBpZiAobnVtQ2hpbGRy
ZW4oKSAhPSAyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoT3B0aW9uYWw8T3Bj
b2RlPiBpbnZlcnRlZE9wY29kZSA9IEIzOjppbnZlcnRlZENvbXBhcmUob3Bjb2RlKCksIGNoaWxk
KDApLT50eXBlKCkpKSB7CiAgICAgICAgIEFTU0VSVCgha2luZCgpLmhhc0V4dHJhQml0cygpKTsK
LSAgICAgICAgcmV0dXJuIHByb2MuYWRkPFZhbHVlPigqaW52ZXJ0ZWRPcGNvZGUsIHR5cGUoKSwg
b3JpZ2luKCksIGNoaWxkcmVuKCkpOworICAgICAgICByZXR1cm4gcHJvYy5hZGQ8VmFsdWU+KCpp
bnZlcnRlZE9wY29kZSwgdHlwZSgpLCBvcmlnaW4oKSwgY2hpbGQoMCksIGNoaWxkKDEpKTsKICAg
ICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC00OTYsNiArNDcyLDcgQEAKIHsKICAgICBp
ZiAodHlwZSgpICE9IEludDMyKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2gg
KG9wY29kZSgpKSB7CiAgICAgY2FzZSBDb25zdDMyOgogICAgICAgICByZXR1cm4gYXNJbnQzMigp
ID09IDAgfHwgYXNJbnQzMigpID09IDE7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVl
LmgJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJCM1dpZHRoLmgi
CiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9j
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL0l0ZXJhdG9y
UmFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Ry
aVN0YXRlLmg+CiAKQEAgLTUzLDggKzUzLDYgQEAKIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFZh
bHVlIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICB0eXBlZGVm
IFZlY3RvcjxWYWx1ZSosIDM+IEFkamFjZW5jeUxpc3Q7Ci0KICAgICBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgZHVtcFByZWZpeDsKIAogICAgIHN0YXRpYyBib29sIGFjY2VwdHMoS2luZCkgeyBy
ZXR1cm4gdHJ1ZTsgfQpAQCAtODIsMTQgKzgwLDYgQEAKICAgICBPcmlnaW4gb3JpZ2luKCkgY29u
c3QgeyByZXR1cm4gbV9vcmlnaW47IH0KICAgICB2b2lkIHNldE9yaWdpbihPcmlnaW4gb3JpZ2lu
KSB7IG1fb3JpZ2luID0gb3JpZ2luOyB9CiAgICAgCi0gICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25l
ZCBpbmRleCkgeyByZXR1cm4gbV9jaGlsZHJlbltpbmRleF07IH0KLSAgICBWYWx1ZSogY2hpbGQo
dW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW5baW5kZXhdOyB9Ci0KLSAg
ICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0gICAg
VmFsdWUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4ubGFzdCgpOyB9Ci0K
LSAgICB1bnNpZ25lZCBudW1DaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4uc2l6
ZSgpOyB9Ci0KICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICB2
b2lkIHNldFR5cGUoVHlwZSB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KIApAQCAtOTcsOSArODcs
NTggQEAKICAgICBCYW5rIHJlc3VsdEJhbmsoKSBjb25zdCB7IHJldHVybiBiYW5rRm9yVHlwZSh0
eXBlKCkpOyB9CiAgICAgV2lkdGggcmVzdWx0V2lkdGgoKSBjb25zdCB7IHJldHVybiB3aWR0aEZv
clR5cGUodHlwZSgpKTsgfQogCi0gICAgQWRqYWNlbmN5TGlzdCYgY2hpbGRyZW4oKSB7IHJldHVy
biBtX2NoaWxkcmVuOyB9IAotICAgIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKCkgY29u
c3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29u
c3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09IFZhckFyZ3MpCisgICAgICAg
ICAgICByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXplKCk7CisgICAgICAgIHJldHVybiBtX251
bUNoaWxkcmVuOworICAgIH0KKyAgICAKKyAgICBWYWx1ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtQ2hpbGRyZW4oKSk7CisgICAgICAg
IHJldHVybiBtX251bUNoaWxkcmVuID09IFZhckFyZ3MgPyBjaGlsZHJlblZlY3RvcigpW2luZGV4
XSA6IGNoaWxkcmVuQXJyYXkoKVtpbmRleF07CisgICAgfQorICAgIFZhbHVlKiBjaGlsZCh1bnNp
Z25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IG51bUNoaWxk
cmVuKCkpOworICAgICAgICByZXR1cm4gbV9udW1DaGlsZHJlbiA9PSBWYXJBcmdzID8gY2hpbGRy
ZW5WZWN0b3IoKVtpbmRleF0gOiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOworICAgIH0KKyAgICAK
KyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpCisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJl
biA9PSBWYXJBcmdzKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgp
OworICAgICAgICBBU1NFUlQobV9udW1DaGlsZHJlbiA+PSAxKTsKKyAgICAgICAgcmV0dXJuIGNo
aWxkcmVuQXJyYXkoKVttX251bUNoaWxkcmVuIC0gMV07CisgICAgfQorICAgIFZhbHVlKiBsYXN0
Q2hpbGQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fbnVtQ2hpbGRyZW4gPT0gVmFyQXJn
cykKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlblZlY3RvcigpLmxhc3QoKTsKKyAgICAgICAg
QVNTRVJUKG1fbnVtQ2hpbGRyZW4gPj0gMSk7CisgICAgICAgIHJldHVybiBjaGlsZHJlbkFycmF5
KClbbV9udW1DaGlsZHJlbiAtIDFdOworICAgIH0KIAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxW
YWx1ZSoqPiBjaGlsZHJlbigpCisgICAgeworICAgICAgICBpZiAobV9udW1DaGlsZHJlbiA9PSBW
YXJBcmdzKSB7CisgICAgICAgICAgICBWZWN0b3I8VmFsdWUqLCAzPiYgdmVjID0gY2hpbGRyZW5W
ZWN0b3IoKTsKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om1ha2VJdGVyYXRvclJhbmdlKCYqdmVj
LmJlZ2luKCksICYqdmVjLmVuZCgpKTsKKyAgICAgICAgfQorICAgICAgICBWYWx1ZSoqIGJ1ZmZl
ciA9IGNoaWxkcmVuQXJyYXkoKTsKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG1f
bnVtQ2hpbGRyZW4gfTsKKyAgICB9CisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25z
dCo+IGNoaWxkcmVuKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX251bUNoaWxkcmVuID09
IFZhckFyZ3MpIHsKKyAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxWYWx1ZSosIDM+JiB2ZWMgPSBj
aGlsZHJlblZlY3RvcigpOworICAgICAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJhdG9yUmFu
Z2UoJip2ZWMuYmVnaW4oKSwgJip2ZWMuZW5kKCkpOworICAgICAgICB9CisgICAgICAgIFZhbHVl
KiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOworICAgICAgICByZXR1cm4ge2J1ZmZl
ciwgYnVmZmVyICsgbV9udW1DaGlsZHJlbiB9OworICAgIH0KKwogICAgIC8vIElmIHlvdSB3YW50
IHRvIHJlcGxhY2UgYWxsIHVzZXMgb2YgdGhpcyB2YWx1ZSB3aXRoIGEgZGlmZmVyZW50IHZhbHVl
LCB0aGVuIHJlcGxhY2UgdGhpcwogICAgIC8vIHZhbHVlIHdpdGggSWRlbnRpdHkuIFRoZW4gZG8g
YSBwYXNzIG9mIHBlcmZvcm1TdWJzdGl0dXRpb24oKSBvbiBhbGwgb2YgdGhlIHZhbHVlcyB0aGF0
IHVzZQogICAgIC8vIHRoaXMgb25lLiBVc3VhbGx5IHdlIGRvIGFsbCBvZiB0aGlzIGluIG9uZSBw
YXNzIGluIHByZS1vcmRlciwgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZQpAQCAtMzAxLDE5ICszNDAs
MjE4IEBACiAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHNpemVvZihJbnQpIDw9IHNp
emVvZihPZmZzZXRUeXBlKT46OnR5cGUKICAgICA+IHsgfTsKIAorcHJvdGVjdGVkOgorICAgIFZh
bHVlKiBjbG9uZUltcGwoKSBjb25zdDsKIAotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgVmFsdWUq
IGNsb25lSW1wbCgpIGNvbnN0OwotICAgIAorICAgIHZvaWQgcmVwbGFjZVdpdGgoS2luZCwgVHlw
ZSwgQmFzaWNCbG9jayopOworICAgIHZvaWQgcmVwbGFjZVdpdGgoS2luZCwgVHlwZSwgQmFzaWNC
bG9jayosIFZhbHVlKik7CisKICAgICB2aXJ0dWFsIHZvaWQgZHVtcENoaWxkcmVuKENvbW1hUHJp
bnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGR1bXBNZXRhKENv
bW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Q7CiAKKyAgICAvLyBUaGUgc3BlY2lmaWMg
dmFsdWUgb2YgVmFyQXJncyBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCB0aGUgdmFsdWUgb2YgdGhlIG90
aGVycyBpcyBhc3N1bWVkIHRvIG1hdGNoIHRoZWlyIG1lYW5pbmcuCisgICAgZW51bSBOdW1DaGls
ZHJlbiA6IHVpbnQ4X3QgeyBaZXJvID0gMCwgT25lID0gMSwgVHdvID0gMiwgVGhyZWUgPSAzLCBW
YXJBcmdzID0gNH07CisKKyAgICBjaGFyKiBjaGlsZHJlbkFsbG9jKCkgeyByZXR1cm4gYml0d2lz
ZV9jYXN0PGNoYXIqPih0aGlzKSArIGFkamFjZW5jeUxpc3RPZmZzZXQoKTsgfQorICAgIGNvbnN0
IGNoYXIqIGNoaWxkcmVuQWxsb2MoKSBjb25zdCB7IHJldHVybiBiaXR3aXNlX2Nhc3Q8Y29uc3Qg
Y2hhcio+KHRoaXMpICsgYWRqYWNlbmN5TGlzdE9mZnNldCgpOyB9CisgICAgVmVjdG9yPFZhbHVl
KiwgMz4mIGNoaWxkcmVuVmVjdG9yKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxk
cmVuID09IFZhckFyZ3MpOworICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxWZWN0b3I8VmFs
dWUqLCAzPio+KGNoaWxkcmVuQWxsb2MoKSk7CisgICAgfQorICAgIGNvbnN0IFZlY3RvcjxWYWx1
ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV9u
dW1DaGlsZHJlbiA9PSBWYXJBcmdzKTsKKyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVj
dG9yPFZhbHVlKiwgMz4gY29uc3QqPihjaGlsZHJlbkFsbG9jKCkpOworICAgIH0KKyAgICBWYWx1
ZSoqIGNoaWxkcmVuQXJyYXkoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fbnVtQ2hpbGRyZW4g
IT0gVmFyQXJncyk7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VmFsdWUqKj4oY2hpbGRy
ZW5BbGxvYygpKTsKKyAgICB9CisgICAgVmFsdWUqIGNvbnN0KiBjaGlsZHJlbkFycmF5KCkgY29u
c3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtX251bUNoaWxkcmVuICE9IFZhckFyZ3MpOworICAg
ICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFZhbHVlKiBjb25zdCo+KGNoaWxkcmVuQWxsb2MoKSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgorICAgIHN0YXRp
YyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9yKEtpbmQga2luZCwgQXJndW1lbnRzLi4uKSB7
IHJldHVybiBraW5kLm9wY29kZSgpOyB9CisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgc2l6ZV90
IGFkamFjZW5jeUxpc3RTcGFjZShLaW5kIGtpbmQpCisgICAgeworICAgICAgICBzd2l0Y2ggKGtp
bmQub3Bjb2RlKCkpIHsKKyAgICAgICAgY2FzZSBGcmFtZVBvaW50ZXI6CisgICAgICAgIGNhc2Ug
Tm9wOgorICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgY2FzZSBKdW1wOgorICAgICAgICBjYXNl
IE9vcHM6CisgICAgICAgIGNhc2UgRW50cnlTd2l0Y2g6CisgICAgICAgIGNhc2UgQXJndW1lbnRS
ZWc6CisgICAgICAgIGNhc2UgQ29uc3QzMjoKKyAgICAgICAgY2FzZSBDb25zdDY0OgorICAgICAg
ICBjYXNlIENvbnN0RmxvYXQ6CisgICAgICAgIGNhc2UgQ29uc3REb3VibGU6CisgICAgICAgIGNh
c2UgRmVuY2U6CisgICAgICAgIGNhc2UgU2xvdEJhc2U6CisgICAgICAgIGNhc2UgR2V0OgorICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGNhc2UgUmV0dXJuOgorICAgICAgICBjYXNlIElk
ZW50aXR5OgorICAgICAgICBjYXNlIE9wYXF1ZToKKyAgICAgICAgY2FzZSBOZWc6CisgICAgICAg
IGNhc2UgQ2x6OgorICAgICAgICBjYXNlIEFiczoKKyAgICAgICAgY2FzZSBDZWlsOgorICAgICAg
ICBjYXNlIEZsb29yOgorICAgICAgICBjYXNlIFNxcnQ6CisgICAgICAgIGNhc2UgU0V4dDg6Cisg
ICAgICAgIGNhc2UgU0V4dDE2OgorICAgICAgICBjYXNlIFRydW5jOgorICAgICAgICBjYXNlIFNF
eHQzMjoKKyAgICAgICAgY2FzZSBaRXh0MzI6CisgICAgICAgIGNhc2UgRmxvYXRUb0RvdWJsZToK
KyAgICAgICAgY2FzZSBJVG9EOgorICAgICAgICBjYXNlIERvdWJsZVRvRmxvYXQ6CisgICAgICAg
IGNhc2UgSVRvRjoKKyAgICAgICAgY2FzZSBCaXR3aXNlQ2FzdDoKKyAgICAgICAgY2FzZSBCcmFu
Y2g6CisgICAgICAgIGNhc2UgRGVwZW5kOgorICAgICAgICBjYXNlIExvYWQ4WjoKKyAgICAgICAg
Y2FzZSBMb2FkOFM6CisgICAgICAgIGNhc2UgTG9hZDE2WjoKKyAgICAgICAgY2FzZSBMb2FkMTZT
OgorICAgICAgICBjYXNlIExvYWQ6CisgICAgICAgIGNhc2UgU3dpdGNoOgorICAgICAgICBjYXNl
IFVwc2lsb246CisgICAgICAgIGNhc2UgU2V0OgorICAgICAgICBjYXNlIFdhc21BZGRyZXNzOgor
ICAgICAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazoKKyAgICAgICAgICAgIHJldHVybiBzaXplb2Yo
VmFsdWUqKTsKKyAgICAgICAgY2FzZSBBZGQ6CisgICAgICAgIGNhc2UgU3ViOgorICAgICAgICBj
YXNlIE11bDoKKyAgICAgICAgY2FzZSBEaXY6CisgICAgICAgIGNhc2UgVURpdjoKKyAgICAgICAg
Y2FzZSBNb2Q6CisgICAgICAgIGNhc2UgVU1vZDoKKyAgICAgICAgY2FzZSBCaXRBbmQ6CisgICAg
ICAgIGNhc2UgQml0T3I6CisgICAgICAgIGNhc2UgQml0WG9yOgorICAgICAgICBjYXNlIFNobDoK
KyAgICAgICAgY2FzZSBTU2hyOgorICAgICAgICBjYXNlIFpTaHI6CisgICAgICAgIGNhc2UgUm90
UjoKKyAgICAgICAgY2FzZSBSb3RMOgorICAgICAgICBjYXNlIEVxdWFsOgorICAgICAgICBjYXNl
IE5vdEVxdWFsOgorICAgICAgICBjYXNlIExlc3NUaGFuOgorICAgICAgICBjYXNlIEdyZWF0ZXJU
aGFuOgorICAgICAgICBjYXNlIExlc3NFcXVhbDoKKyAgICAgICAgY2FzZSBHcmVhdGVyRXF1YWw6
CisgICAgICAgIGNhc2UgQWJvdmU6CisgICAgICAgIGNhc2UgQmVsb3c6CisgICAgICAgIGNhc2Ug
QWJvdmVFcXVhbDoKKyAgICAgICAgY2FzZSBCZWxvd0VxdWFsOgorICAgICAgICBjYXNlIEVxdWFs
T3JVbm9yZGVyZWQ6CisgICAgICAgIGNhc2UgQXRvbWljWGNoZ0FkZDoKKyAgICAgICAgY2FzZSBB
dG9taWNYY2hnQW5kOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdPcjoKKyAgICAgICAgY2FzZSBB
dG9taWNYY2hnU3ViOgorICAgICAgICBjYXNlIEF0b21pY1hjaGdYb3I6CisgICAgICAgIGNhc2Ug
QXRvbWljWGNoZzoKKyAgICAgICAgY2FzZSBTdG9yZTg6CisgICAgICAgIGNhc2UgU3RvcmUxNjoK
KyAgICAgICAgY2FzZSBTdG9yZToKKyAgICAgICAgICAgIHJldHVybiAyICogc2l6ZW9mKFZhbHVl
Kik7CisgICAgICAgIGNhc2UgU2VsZWN0OgorICAgICAgICBjYXNlIEF0b21pY1dlYWtDQVM6Cisg
ICAgICAgIGNhc2UgQXRvbWljU3Ryb25nQ0FTOgorICAgICAgICAgICAgcmV0dXJuIDMgKiBzaXpl
b2YoVmFsdWUqKTsKKyAgICAgICAgY2FzZSBDQ2FsbDoKKyAgICAgICAgY2FzZSBDaGVjazoKKyAg
ICAgICAgY2FzZSBDaGVja0FkZDoKKyAgICAgICAgY2FzZSBDaGVja1N1YjoKKyAgICAgICAgY2Fz
ZSBDaGVja011bDoKKyAgICAgICAgY2FzZSBQYXRjaHBvaW50OgorICAgICAgICAgICAgcmV0dXJu
IHNpemVvZihWZWN0b3I8VmFsdWUqLCAzPik7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKIHByaXZhdGU6CisgICAgc3RhdGljIGNoYXIq
IGFsbG9jYXRlU3BhY2UoT3Bjb2RlIG9wY29kZSwgc2l6ZV90IHNpemUpCisgICAgeworICAgICAg
ICBzaXplX3QgYWRqYWNlbmN5TGlzdFNwYWNlID0gVmFsdWU6OmFkamFjZW5jeUxpc3RTcGFjZShv
cGNvZGUpOworICAgICAgICAvLyBXZSBtdXN0IGFsbG9jYXRlIGVub3VnaCBzcGFjZSB0aGF0IHJl
cGxhY2VXaXRoSWRlbnRpdHkgY2FuIHdvcmsgd2l0aG91dCBidWZmZXIgb3ZlcmZsb3cuCisgICAg
ICAgIHNpemVfdCBhbGxvY0lkZW50aXR5U2l6ZSA9IHNpemVvZihWYWx1ZSkgKyBzaXplb2YoVmFs
dWUqKTsKKyAgICAgICAgc2l6ZV90IGFsbG9jU2l6ZSA9IHN0ZDo6bWF4KHNpemUgKyBhZGphY2Vu
Y3lMaXN0U3BhY2UsIGFsbG9jSWRlbnRpdHlTaXplKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNoYXIqPihXVEY6OmZhc3RNYWxsb2MoYWxsb2NTaXplKSk7CisgICAgfQorCitwcm90ZWN0
ZWQ6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVu
dHM+CisgICAgc3RhdGljIFZhbHVlVHlwZSogYWxsb2NhdGUoQXJndW1lbnRzLi4uIGFyZ3VtZW50
cykKKyAgICB7CisgICAgICAgIGNoYXIqIGFsbG9jID0gYWxsb2NhdGVTcGFjZShWYWx1ZVR5cGU6
Om9wY29kZUZyb21Db25zdHJ1Y3Rvcihhcmd1bWVudHMuLi4pLCBzaXplb2YoVmFsdWVUeXBlKSk7
CisgICAgICAgIHJldHVybiBuZXcgKGFsbG9jKSBWYWx1ZVR5cGUoYXJndW1lbnRzLi4uKTsKKyAg
ICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIHN0YXRpYyBWYWx1ZVR5
cGUqIGFsbG9jYXRlKGNvbnN0IFZhbHVlVHlwZSYgdmFsdWVUb0Nsb25lKQorICAgIHsKKyAgICAg
ICAgY2hhciogYWxsb2MgPSBhbGxvY2F0ZVNwYWNlKHZhbHVlVG9DbG9uZS5vcGNvZGUoKSwgc2l6
ZW9mKFZhbHVlVHlwZSkpOworICAgICAgICBWYWx1ZVR5cGUqIHJlc3VsdCA9IG5ldyAoYWxsb2Mp
IFZhbHVlVHlwZSh2YWx1ZVRvQ2xvbmUpOworICAgICAgICByZXN1bHQtPmJ1aWxkQWRqYWNlbmN5
TGlzdChzaXplb2YoVmFsdWVUeXBlKSwgdmFsdWVUb0Nsb25lKTsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQgc28gaXQgd2lsbCBvbmx5IGJlIGNhbGxl
ZCBmcm9tIGFsbG9jYXRlIGFib3ZlLCBwb3NzaWJseSB0aHJvdWdoIHRoZSBzdWJjbGFzc2VzJ2Nv
cHkgY29uc3RydWN0b3JzCisgICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1bHQ7CisKKyAg
ICBWYWx1ZShWYWx1ZSYmKSA9IGRlbGV0ZTsKKyAgICBWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFZh
bHVlJikgPSBkZWxldGU7CisgICAgVmFsdWUmIG9wZXJhdG9yPShWYWx1ZSYmKSA9IGRlbGV0ZTsK
KyAgICAKKyAgICBzaXplX3QgYWRqYWNlbmN5TGlzdE9mZnNldCgpIGNvbnN0OworCiAgICAgZnJp
ZW5kIGNsYXNzIFByb2NlZHVyZTsKICAgICBmcmllbmQgY2xhc3MgU3BhcnNlQ29sbGVjdGlvbjxW
YWx1ZT47CiAKK3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgor
ICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBBcmd1
bWVudHMuLi4gYXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgaWYgKG51bUNoaWxkcmVuID09IFZh
ckFyZ3MpIHsKKyAgICAgICAgICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWZWN0b3I8VmFsdWUq
LCAzPiB7IGFyZ3VtZW50cy4uLiB9OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVChudW1DaGlsZHJlbiA9PSBzaXplb2YuLi4oYXJndW1lbnRzKSk7CisgICAg
ICAgIG5ldyAoY2hpbGRyZW5BbGxvYygpKSBWYWx1ZSpbc2l6ZW9mLi4uKGFyZ3VtZW50cyldIHsg
YXJndW1lbnRzLi4uIH07CisgICAgfQorICAgIHZvaWQgYnVpbGRBZGphY2VuY3lMaXN0KHNpemVf
dCBvZmZzZXQsIGNvbnN0IFZhbHVlJiB2YWx1ZVRvQ2xvbmUpCisgICAgeworICAgICAgICBzd2l0
Y2ggKHZhbHVlVG9DbG9uZS5tX251bUNoaWxkcmVuKSB7CisgICAgICAgIGNhc2UgVmFyQXJnczoK
KyAgICAgICAgICAgIG5ldyAoYml0d2lzZV9jYXN0PGNoYXIqPih0aGlzKSArIG9mZnNldCkgVmVj
dG9yPFZhbHVlKiwgMz4gKHZhbHVlVG9DbG9uZS5jaGlsZHJlblZlY3RvcigpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFRocmVlOgorICAgICAgICAgICAgYml0d2lzZV9jYXN0
PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBvZmZzZXQpWzJdID0gdmFsdWVU
b0Nsb25lLmNoaWxkcmVuQXJyYXkoKVsyXTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAg
ICAgICBjYXNlIFR3bzoKKyAgICAgICAgICAgIGJpdHdpc2VfY2FzdDxWYWx1ZSoqPihiaXR3aXNl
X2Nhc3Q8Y2hhcio+KHRoaXMpICsgb2Zmc2V0KVsxXSA9IHZhbHVlVG9DbG9uZS5jaGlsZHJlbkFy
cmF5KClbMV07CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgY2FzZSBPbmU6Cisg
ICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8VmFsdWUqKj4oYml0d2lzZV9jYXN0PGNoYXIqPih0aGlz
KSArIG9mZnNldClbMF0gPSB2YWx1ZVRvQ2xvbmUuY2hpbGRyZW5BcnJheSgpWzBdOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWmVybzoKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgfQorICAgIAogICAgIC8vIENoZWNrcyB0aGF0IHRoaXMga2luZCBpcyB2YWxp
ZCBmb3IgdXNlIHdpdGggQjM6OlZhbHVlLgotICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQg
Y2hlY2tLaW5kKEtpbmQga2luZCwgdW5zaWduZWQgbnVtQXJncykKKyAgICBBTFdBWVNfSU5MSU5F
IHN0YXRpYyBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbkZvcktpbmQoS2luZCBraW5kLCB1bnNpZ25l
ZCBudW1BcmdzKQogICAgIHsKICAgICAgICAgc3dpdGNoIChraW5kLm9wY29kZSgpKSB7CiAgICAg
ICAgIGNhc2UgRnJhbWVQb2ludGVyOgpAQCAtMzI0LDExICs1NjIsMTEgQEAKICAgICAgICAgY2Fz
ZSBFbnRyeVN3aXRjaDoKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShudW1BcmdzKSkKICAgICAg
ICAgICAgICAgICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICByZXR1cm4gWmVybzsKICAgICAgICAgY2FzZSBSZXR1cm46CiAgICAgICAgICAg
ICBpZiAoVU5MSUtFTFkobnVtQXJncyA+IDEpKQogICAgICAgICAgICAgICAgIGJhZEtpbmQoa2lu
ZCwgbnVtQXJncyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBudW1B
cmdzID8gT25lIDogWmVybzsKICAgICAgICAgY2FzZSBJZGVudGl0eToKICAgICAgICAgY2FzZSBP
cGFxdWU6CiAgICAgICAgIGNhc2UgTmVnOgpAQCAtMzUxLDcgKzU4OSw3IEBACiAgICAgICAgIGNh
c2UgRGVwZW5kOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3MgIT0gMSkpCiAgICAg
ICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgcmV0dXJuIE9uZTsKICAgICAgICAgY2FzZSBBZGQ6CiAgICAgICAgIGNhc2Ug
U3ViOgogICAgICAgICBjYXNlIE11bDoKQEAgLTM4MCwxMjkgKzYxOCwxMDUgQEAKICAgICAgICAg
Y2FzZSBFcXVhbE9yVW5vcmRlcmVkOgogICAgICAgICAgICAgaWYgKFVOTElLRUxZKG51bUFyZ3Mg
IT0gMikpCiAgICAgICAgICAgICAgICAgYmFkS2luZChraW5kLCBudW1BcmdzKTsKLSAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIFR3bzsKICAgICAgICAgY2FzZSBTZWxlY3Q6
CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkobnVtQXJncyAhPSAzKSkKICAgICAgICAgICAgICAg
ICBiYWRLaW5kKGtpbmQsIG51bUFyZ3MpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICByZXR1cm4gVGhyZWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBiYWRLaW5kKGtp
bmQsIG51bUFyZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgcmV0
dXJuIFZhckFyZ3M7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDaGVja2VkT3Bjb2Rl
VGFnIHsgQ2hlY2tlZE9wY29kZSB9OwotCi0gICAgVmFsdWUoY29uc3QgVmFsdWUmKSA9IGRlZmF1
bHQ7Ci0gICAgVmFsdWUmIG9wZXJhdG9yPShjb25zdCBWYWx1ZSYpID0gZGVmYXVsdDsKICAgICAK
ICAgICAvLyBJbnN0YW50aWF0ZSB2YWx1ZXMgdmlhIFByb2NlZHVyZS4KICAgICAvLyBUaGlzIGZv
cm0gcmVxdWlyZXMgc3BlY2lmeWluZyB0aGUgdHlwZSBleHBsaWNpdGx5OgogICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2Rl
VGFnLCBLaW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hp
bGQsIEFyZ3VtZW50cy4uLiBhcmd1bWVudHMpCisgICAgZXhwbGljaXQgVmFsdWUoQ2hlY2tlZE9w
Y29kZVRhZywgS2luZCBraW5kLCBUeXBlIHR5cGUsIE51bUNoaWxkcmVuIG51bUNoaWxkcmVuLCBP
cmlnaW4gb3JpZ2luLCBWYWx1ZSogZmlyc3RDaGlsZCwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykK
ICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAg
LCBtX251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikK
LSAgICAgICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBhcmd1bWVudHMuLi4gfQogICAgIHsK
KyAgICAgICAgYnVpbGRBZGphY2VuY3lMaXN0KG51bUNoaWxkcmVuLCBmaXJzdENoaWxkLCBhcmd1
bWVudHMuLi4pOwogICAgIH0KICAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHNwZWNpZnlpbmcgdGhl
IHR5cGUgZXhwbGljaXRseSB3aGVuIHRoZSBvcGNvZGUgaGFzIG5vIGNoaWxkcmVuOgotICAgIGV4
cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmln
aW4gb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2lu
ZCwgVHlwZSB0eXBlLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3JpZ2luIG9yaWdpbikKICAg
ICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKKyAgICAgICAgLCBt
X251bUNoaWxkcmVuKG51bUNoaWxkcmVuKQogICAgICAgICAsIG1fb3JpZ2luKG9yaWdpbikKICAg
ICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbik7CiAgICAgfQotICAg
IC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0
eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgY2hpbGQ6Ci0gICAgdGVtcGxhdGU8dHlwZW5h
bWUuLi4gQXJndW1lbnRzPgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtp
bmQga2luZCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQpCi0gICAgICAgIDogbV9r
aW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Ioa2luZCwgZmlyc3RDaGlsZCkpCi0g
ICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW57IGZpcnN0Q2hp
bGQgfQotICAgIHsKLSAgICB9Ci0gICAgLy8gVGhpcyBmb3JtIGlzIGZvciB0aG9zZSBvcGNvZGVz
IHRoYXQgY2FuIGluZmVyIHRoZWlyIHR5cGUgZnJvbSB0aGUgb3Bjb2RlIGFuZCBmaXJzdCBhbmQg
c2Vjb25kIGNoaWxkOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBl
eHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBLaW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4s
IFZhbHVlKiBmaXJzdENoaWxkLCBWYWx1ZSogc2Vjb25kQ2hpbGQsIEFyZ3VtZW50cy4uLiBhcmd1
bWVudHMpCi0gICAgICAgIDogbV9raW5kKGtpbmQpCi0gICAgICAgICwgbV90eXBlKHR5cGVGb3Io
a2luZCwgZmlyc3RDaGlsZCwgc2Vjb25kQ2hpbGQpKQotICAgICAgICAsIG1fb3JpZ2luKG9yaWdp
bikKLSAgICAgICAgLCBtX2NoaWxkcmVueyBmaXJzdENoaWxkLCBzZWNvbmRDaGlsZCwgYXJndW1l
bnRzLi4uIH0KLSAgICB7Ci0gICAgfQogICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bj
b2RlcyB0aGF0IGNhbiBpbmZlciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbG9uZSwgYW5k
IHRoYXQgZG9uJ3QKICAgICAvLyB0YWtlIGFueSBhcmd1bWVudHM6Ci0gICAgZXhwbGljaXQgVmFs
dWUoQ2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luKQorICAgIGV4cGxp
Y2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVtQ2hp
bGRyZW4sIE9yaWdpbiBvcmlnaW4pCiAgICAgICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwg
bV90eXBlKHR5cGVGb3Ioa2luZCwgbnVsbHB0cikpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihu
dW1DaGlsZHJlbikKICAgICAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgeworICAgICAgICBi
dWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4pOwogICAgIH0KLSAgICAvLyBVc2UgdGhpcyBm
b3JtIGZvciB2YXJhcmdzLgotICAgIGV4cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtp
bmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2luLCBjb25zdCBBZGphY2VuY3lMaXN0JiBj
aGlsZHJlbikKKyAgICAvLyBUaGlzIGZvcm0gaXMgZm9yIHRob3NlIG9wY29kZXMgdGhhdCBjYW4g
aW5mZXIgdGhlaXIgdHlwZSBmcm9tIHRoZSBvcGNvZGUgYW5kIGZpcnN0IGNoaWxkOgorICAgIGV4
cGxpY2l0IFZhbHVlKENoZWNrZWRPcGNvZGVUYWcsIEtpbmQga2luZCwgTnVtQ2hpbGRyZW4gbnVt
Q2hpbGRyZW4sIE9yaWdpbiBvcmlnaW4sIFZhbHVlKiBmaXJzdENoaWxkKQogICAgICAgICA6IG1f
a2luZChraW5kKQotICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgICAgICAsIG1fdHlwZSh0eXBl
Rm9yKGtpbmQsIGZpcnN0Q2hpbGQpKQorICAgICAgICAsIG1fbnVtQ2hpbGRyZW4obnVtQ2hpbGRy
ZW4pCiAgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICAgICAsIG1fY2hpbGRyZW4oY2hp
bGRyZW4pCiAgICAgeworICAgICAgICBidWlsZEFkamFjZW5jeUxpc3QobnVtQ2hpbGRyZW4sIGZp
cnN0Q2hpbGQpOwogICAgIH0KLSAgICBleHBsaWNpdCBWYWx1ZShDaGVja2VkT3Bjb2RlVGFnLCBL
aW5kIGtpbmQsIFR5cGUgdHlwZSwgT3JpZ2luIG9yaWdpbiwgQWRqYWNlbmN5TGlzdCYmIGNoaWxk
cmVuKQorICAgIC8vIFRoaXMgZm9ybSBpcyBmb3IgdGhvc2Ugb3Bjb2RlcyB0aGF0IGNhbiBpbmZl
ciB0aGVpciB0eXBlIGZyb20gdGhlIG9wY29kZSBhbmQgZmlyc3QgYW5kIHNlY29uZCBjaGlsZDoK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgZXhwbGljaXQgVmFsdWUo
Q2hlY2tlZE9wY29kZVRhZywgS2luZCBraW5kLCBOdW1DaGlsZHJlbiBudW1DaGlsZHJlbiwgT3Jp
Z2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVlKiBzZWNvbmRDaGlsZCwgQXJndW1l
bnRzLi4uIGFyZ3VtZW50cykKICAgICAgICAgOiBtX2tpbmQoa2luZCkKLSAgICAgICAgLCBtX3R5
cGUodHlwZSkKKyAgICAgICAgLCBtX3R5cGUodHlwZUZvcihraW5kLCBmaXJzdENoaWxkLCBzZWNv
bmRDaGlsZCkpCisgICAgICAgICwgbV9udW1DaGlsZHJlbihudW1DaGlsZHJlbikKICAgICAgICAg
LCBtX29yaWdpbihvcmlnaW4pCi0gICAgICAgICwgbV9jaGlsZHJlbihXVEZNb3ZlKGNoaWxkcmVu
KSkKICAgICB7CisgICAgICAgIGJ1aWxkQWRqYWNlbmN5TGlzdChudW1DaGlsZHJlbiwgZmlyc3RD
aGlsZCwgc2Vjb25kQ2hpbGQsIGFyZ3VtZW50cy4uLik7CiAgICAgfQogCiAgICAgLy8gVGhpcyBp
cyB0aGUgY29uc3RydWN0b3IgeW91IGVuZCB1cCBhY3R1YWxseSBjYWxsaW5nLCBpZiB5b3UncmUg
aW5zdGFudGlhdGluZyBWYWx1ZQogICAgIC8vIGRpcmVjdGx5LgotICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBl
IHR5cGUsIE9yaWdpbiBvcmlnaW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2lu
ZCwgdHlwZSwgb3JpZ2luKQorICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBl
LCBPcmlnaW4gb3JpZ2luKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5
cGUsIFplcm8sIG9yaWdpbikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCAwKTsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQobnVtQ2hpbGRyZW5Gb3JLaW5kKGtpbmQsIDApID09IFplcm8p
OwogICAgIH0KKyAgICAvLyBXZSBleHBsaWNpdGx5IGNvbnZlcnQgdGhlIGV4dHJhIGFyZ3VtZW50
cyB0byBWYWx1ZSogKHRoZXkgbWF5IGJlIHBvaW50ZXJzIHRvIHNvbWUgc3ViY2xhc3NlcyBvZiBW
YWx1ZSkgdG8gbGltaXQgdGVtcGxhdGUgZXhwbG9zaW9uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUu
Li4gQXJndW1lbnRzPgotICAgICAgICBleHBsaWNpdCBWYWx1ZShLaW5kIGtpbmQsIFR5cGUgdHlw
ZSwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGZpcnN0Q2hpbGQsIEFyZ3VtZW50cyYmLi4uIGFyZ3Vt
ZW50cykKLSAgICAgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBraW5kLCB0eXBlLCBvcmlnaW4s
IGZpcnN0Q2hpbGQsIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pCisgICAg
ZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMuLi4gYXJn
dW1lbnRzKQorICAgICAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIG51bUNoaWxkcmVu
Rm9yS2luZChraW5kLCBzaXplb2YuLi4oYXJndW1lbnRzKSksIG9yaWdpbiwgc3RhdGljX2Nhc3Q8
VmFsdWUqPihhcmd1bWVudHMpLi4uKQogICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIDEg
KyBzaXplb2YuLi4oYXJndW1lbnRzKSk7CiAgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUs
IE9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkamFjZW5jeUxpc3QmIGNoaWxkcmVuKQotICAgICAgICA6
IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG9yaWdpbiwgY2hpbGRyZW4pCisgICAg
ZXhwbGljaXQgVmFsdWUoS2luZCBraW5kLCBUeXBlIHR5cGUsIE9yaWdpbiBvcmlnaW4sIFZhbHVl
KiBmaXJzdENoaWxkLCBBcmd1bWVudHMuLi4gYXJndW1lbnRzKQorICAgICAgICA6IFZhbHVlKENo
ZWNrZWRPcGNvZGUsIGtpbmQsIHR5cGUsIG51bUNoaWxkcmVuRm9yS2luZChraW5kLCAxICsgc2l6
ZW9mLi4uKGFyZ3VtZW50cykpLCBvcmlnaW4sIGZpcnN0Q2hpbGQsIHN0YXRpY19jYXN0PFZhbHVl
Kj4oYXJndW1lbnRzKS4uLikKICAgICB7Ci0gICAgICAgIGNoZWNrS2luZChraW5kLCBjaGlsZHJl
bi5zaXplKCkpOwogICAgIH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci0g
ICAgICAgIGV4cGxpY2l0IFZhbHVlKEtpbmQga2luZCwgVHlwZSB0eXBlLCBPcmlnaW4gb3JpZ2lu
LCBBZGphY2VuY3lMaXN0JiYgY2hpbGRyZW4pCi0gICAgICAgIDogVmFsdWUoQ2hlY2tlZE9wY29k
ZSwga2luZCwgdHlwZSwgb3JpZ2luLCBXVEZNb3ZlKGNoaWxkcmVuKSkKLSAgICB7Ci0gICAgICAg
IGNoZWNrS2luZChraW5kLCBtX2NoaWxkcmVuLnNpemUoKSk7Ci0gICAgfQotICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICAgICAgZXhwbGljaXQgVmFsdWUoS2luZCBraW5k
LCBPcmlnaW4gb3JpZ2luLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCi0gICAgICAgIDogVmFs
dWUoQ2hlY2tlZE9wY29kZSwga2luZCwgb3JpZ2luLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihh
cmd1bWVudHMpLi4uKQotICAgIHsKLSAgICAgICAgY2hlY2tLaW5kKGtpbmQsIHNpemVvZi4uLihh
cmd1bWVudHMpKTsKLSAgICB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIENoZWNrVmFs
dWU7IC8vIENoZWNrVmFsdWU6OmNvbnZlcnRUb0FkZCgpIG1vZGlmaWVzIG1fa2luZC4KLSAgICAK
KwogICAgIHN0YXRpYyBUeXBlIHR5cGVGb3IoS2luZCwgVmFsdWUqIGZpcnN0Q2hpbGQsIFZhbHVl
KiBzZWNvbmRDaGlsZCA9IG51bGxwdHIpOwogCi0gICAgLy8gVGhpcyBncm91cCBvZiBmaWVsZHMg
aXMgYXJyYW5nZWQgdG8gZml0IGluIDY0IGJpdHMuCisgICAgLy8gbV9pbmRleCB0byBtX251bUNo
aWxkcmVuIGFyZSBhcnJhbmdlZCB0byBmaXQgaW4gNjQgYml0cy4KIHByb3RlY3RlZDoKICAgICB1
bnNpZ25lZCBtX2luZGV4IHsgVUlOVF9NQVggfTsKIHByaXZhdGU6CiAgICAgS2luZCBtX2tpbmQ7
CiAgICAgVHlwZSBtX3R5cGU7Ci0gICAgCitwcm90ZWN0ZWQ6CisgICAgTnVtQ2hpbGRyZW4gbV9u
dW1DaGlsZHJlbjsKK3ByaXZhdGU6CiAgICAgT3JpZ2luIG1fb3JpZ2luOwotICAgIEFkamFjZW5j
eUxpc3QgbV9jaGlsZHJlbjsKIAogICAgIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggc3RhdGljIHZv
aWQgYmFkS2luZChLaW5kLCB1bnNpZ25lZCk7CiAKQEAgLTUxOCwxMyArNzMyLDcgQEAKICAgICB7
CiAgICAgfQogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Ci0gICAgewot
ICAgICAgICBpZiAobV92YWx1ZSkKLSAgICAgICAgICAgIG1fdmFsdWUtPmRlZXBEdW1wKG1fcHJv
Yywgb3V0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgb3V0LnByaW50KCI8bnVsbD4iKTsK
LSAgICB9CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIGNvbnN0IFByb2NlZHVyZSogbV9wcm9jOwpAQCAtNTQwLDYgKzc0OCwxMTYgQEAKICAg
ICByZXR1cm4gRGVlcFZhbHVlRHVtcChudWxscHRyLCB2YWx1ZSk7CiB9CiAKKy8vIFRoZSBmb2xs
b3dpbmcgbWFjcm9zIGFyZSBkZXNpZ25lZCBmb3Igc3ViY2xhc3NlcyBvZiBCMzo6VmFsdWUgdG8g
dXNlLgorLy8gVGhleSBhcmUgbmV2ZXIgcmVxdWlyZWQgZm9yIGNvcnJlY3RuZXNzLCBidXQgY2Fu
IGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIGNoaWxkL2xhc3RDaGlsZC9udW1DaGlsZHJlbi9j
aGlsZHJlbiBtZXRob2RzLAorLy8gZm9yIHVzZXJzIHRoYXQgYWxyZWFkeSBrbm93IHRoZSBzcGVj
aWZpYyBzdWJjbGFzcyBvZiBWYWx1ZSB0aGV5IGFyZSBtYW5pcHVsYXRpbmcuCisvLyBUaGUgZmly
c3Qgc2V0IGlzIHRvIGJlIHVzZWQgd2hlbiB5b3Uga25vdyBzb21ldGhpbmcgYWJvdXQgdGhlIG51
bWJlciBvZiBjaGlsZHJlbiBvZiBhbGwgdmFsdWVzIG9mIGEgY2xhc3MsIGluY2x1ZGluZyBpdHMg
c3ViY2xhc3NlczoKKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU46IGFs
d2F5cyAwIGNoaWxkcmVuIChlLmcuIENvbnN0MzJWYWx1ZSkKKy8vIC0gQjNfU1BFQ0lBTElaRV9W
QUxVRV9GT1JfRklYRURfQ0hJTERSRU4obik6IGFsd2F5cyBuIGNoaWxkcmVuLCB3aXRoIG4gaW4g
ezEsIDIsIDN9IChlLmcuIFVwc2lsb25WYWx1ZSwgd2l0aCBuID0gMSkKKy8vIC0gQjNfU1BFQ0lB
TElaRV9WQUxVRV9GT1JfTk9OX1ZBUkFSR1NfQ0hJTERSRU46IGRpZmZlcmVudCBudW1iZXJzIG9m
IGNoaWxkcmVuLCBidXQgbmV2ZXIgYSB2YXJpYWJsZSBudW1iZXIgYXQgcnVudGltZSAoZS5nLiBN
ZW1vcnlWYWx1ZSwgdGhhdCBjYW4gaGF2ZSBiZXR3ZWVuIDEgYW5kIDMgY2hpbGRyZW4pCisvLyAt
IEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX1ZBUkFSR1NfQ0hJTERSRU46IGFsd2F5cyBhIHZhcmFy
Z3MgKGUuZy4gQ0NhbGxWYWx1ZSkKKy8vIFRoZSBzZWNvbmQgc2V0IGlzIG9ubHkgdG8gYmUgdXNl
ZCBieSBjbGFzc2VzIHRoYXQgd2Uga25vdyBhcmUgbm90IGZ1cnRoZXIgc3ViY2xhc3NlZCBieSBh
bnlvbmUgYWRkaW5nIGZpZWxkcywKKy8vIGFzIHRoZXkgaGFyZGNvZGUgdGhlIG9mZnNldCBvZiB0
aGUgY2hpbGRyZW4gYXJyYXkvdmVjdG9yICh3aGljaCBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiB0
aGUgb2JqZWN0KS4KKy8vIC0gQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhF
RF9DSElMRFJFTgorLy8gLSBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSU5BTF9TSVpFX1ZBUkFS
R1NfQ0hJTERSRU4KKyNkZWZpbmUgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfTk9fQ0hJTERSRU4g
XAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gMDsgfSBcCisgICAg
V1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKio+IGNoaWxkcmVuKCkgeyByZXR1cm4ge251bGxwdHIs
IG51bGxwdHJ9OyB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8VmFsdWUqIGNvbnN0Kj4gY2hp
bGRyZW4oKSBjb25zdCB7IHJldHVybiB7IG51bGxwdHIsIG51bGxwdHJ9OyB9CisKKyNkZWZpbmUg
QjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklYRURfQ0hJTERSRU4obikgXAorcHVibGljOiBcCisg
ICAgdW5zaWduZWQgbnVtQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBuOyB9IFwKKyAgICBWYWx1
ZSomIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBcCisgICAgeyBcCisgICAgICAgIEFTU0VSVChpbmRl
eCA8PSBuKTsgXAorICAgICAgICByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgXAorICAg
IH0gXAorICAgIFZhbHVlKiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QgXAorICAgIHsgXAor
ICAgICAgICBBU1NFUlQoaW5kZXggPD0gbik7IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJy
YXkoKVtpbmRleF07IFwKKyAgICB9IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIFwKKyAgICB7
IFwKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtuIC0gMV07IFwKKyAgICB9IFwKKyAg
ICBWYWx1ZSogbGFzdENoaWxkKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gY2hp
bGRyZW5BcnJheSgpW24gLSAxXTsgXAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxW
YWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqKiBidWZmZXIgPSBj
aGlsZHJlbkFycmF5KCk7IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsg
XAorICAgIH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSogY29uc3QqPiBjaGlsZHJl
bigpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgVmFsdWUqIGNvbnN0KiBidWZmZXIgPSBjaGls
ZHJlbkFycmF5KCk7IFwKKyAgICAgICAgcmV0dXJuIHtidWZmZXIsIGJ1ZmZlciArIG4gfTsgXAor
ICAgIH0gXAorCisjZGVmaW5lIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX05PTl9WQVJBUkdTX0NI
SUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVuc2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyBy
ZXR1cm4gbV9udW1DaGlsZHJlbjsgfSBcCisgICAgVmFsdWUqJiBjaGlsZCh1bnNpZ25lZCBpbmRl
eCkgeyByZXR1cm4gY2hpbGRyZW5BcnJheSgpW2luZGV4XTsgfSBcCisgICAgVmFsdWUqIGNoaWxk
KHVuc2lnbmVkIGluZGV4KSBjb25zdCB7IHJldHVybiBjaGlsZHJlbkFycmF5KClbaW5kZXhdOyB9
IFwKKyAgICBWYWx1ZSomIGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuQXJyYXkoKVtudW1D
aGlsZHJlbigpIC0gMV07IH0gXAorICAgIFZhbHVlKiBsYXN0Q2hpbGQoKSBjb25zdCB7IHJldHVy
biBjaGlsZHJlbkFycmF5KClbbnVtQ2hpbGRyZW4oKSAtIDFdOyB9IFwKKyAgICBXVEY6Okl0ZXJh
dG9yUmFuZ2U8VmFsdWUqKj4gY2hpbGRyZW4oKSBcCisgICAgeyBcCisgICAgICAgIFZhbHVlKiog
YnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVmZmVyLCBidWZm
ZXIgKyBudW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKyAgICBXVEY6Okl0ZXJhdG9yUmFuZ2U8
VmFsdWUqIGNvbnN0Kj4gY2hpbGRyZW4oKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIFZhbHVl
KiBjb25zdCogYnVmZmVyID0gY2hpbGRyZW5BcnJheSgpOyBcCisgICAgICAgIHJldHVybiB7YnVm
ZmVyLCBidWZmZXIgKyBudW1DaGlsZHJlbigpIH07IFwKKyAgICB9IFwKKworI2RlZmluZSBCM19T
UEVDSUFMSVpFX1ZBTFVFX0ZPUl9WQVJBUkdTX0NISUxEUkVOIFwKK3B1YmxpYzogXAorICAgIHVu
c2lnbmVkIG51bUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5zaXpl
KCk7IH0gXAorICAgIFZhbHVlKiYgY2hpbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGNoaWxk
cmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSogY2hpbGQodW5zaWduZWQgaW5kZXgp
IGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKClbaW5kZXhdOyB9IFwKKyAgICBWYWx1ZSom
IGxhc3RDaGlsZCgpIHsgcmV0dXJuIGNoaWxkcmVuVmVjdG9yKCkubGFzdCgpOyB9IFwKKyAgICBW
YWx1ZSogbGFzdENoaWxkKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW5WZWN0b3IoKS5sYXN0KCk7
IH0gXAorICAgIFdURjo6SXRlcmF0b3JSYW5nZTxWYWx1ZSoqPiBjaGlsZHJlbigpIFwKKyAgICB7
IFwKKyAgICAgICAgVmVjdG9yPFZhbHVlKiwgMz4mIHZlYyA9IGNoaWxkcmVuVmVjdG9yKCk7IFwK
KyAgICAgICAgcmV0dXJuIFdURjo6bWFrZUl0ZXJhdG9yUmFuZ2UoJip2ZWMuYmVnaW4oKSwgJip2
ZWMuZW5kKCkpOyBcCisgICAgfSBcCisgICAgV1RGOjpJdGVyYXRvclJhbmdlPFZhbHVlKiBjb25z
dCo+IGNoaWxkcmVuKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBjb25zdCBWZWN0b3I8VmFs
dWUqLCAzPiYgdmVjID0gY2hpbGRyZW5WZWN0b3IoKTsgXAorICAgICAgICByZXR1cm4gV1RGOjpt
YWtlSXRlcmF0b3JSYW5nZSgmKnZlYy5iZWdpbigpLCAmKnZlYy5lbmQoKSk7IFwKKyAgICB9IFwK
KworLy8gT25seSB1c2UgdGhpcyBmb3IgY2xhc3NlcyB3aXRoIG5vIHN1YmNsYXNzIHRoYXQgYWRk
IG5ldyBmaWVsZHMgKGFzIGl0IHVzZXMgc2l6ZW9mKCp0aGlzKSkKKy8vIEFsc28gdGhlcmUgaXMg
bm8gcG9pbnQgaW4gYXBwbHlpbmcgdGhpcyB0byBjbGFzc2VzIHdpdGggbm8gY2hpbGRyZW4sIGFz
IHRoZXkgZG9uJ3QgaGF2ZSBhIGNoaWxkcmVuIGFycmF5IHRvIGFjY2Vzcy4KKyNkZWZpbmUgQjNf
U1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJFTiBcCitwcml2YXRl
OiBcCisgICAgVmFsdWUqKiBjaGlsZHJlbkFycmF5KCkgXAorICAgIHsgXAorICAgICAgICByZXR1
cm4gYml0d2lzZV9jYXN0PFZhbHVlKio+KGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXpl
b2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIFZhbHVlKiBjb25zdCogY2hpbGRyZW5BcnJheSgp
IGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxWYWx1ZSogY29u
c3QqPihiaXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwK
KyAgICB9CisKKy8vIE9ubHkgdXNlIHRoaXMgZm9yIGNsYXNzZXMgd2l0aCBubyBzdWJjbGFzcyB0
aGF0IGFkZCBuZXcgZmllbGRzIChhcyBpdCB1c2VzIHNpemVvZigqdGhpcykpCisjZGVmaW5lIEIz
X1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfVkFSQVJHU19DSElMRFJFTiBcCitwcml2
YXRlOiBcCisgICAgVmVjdG9yPFZhbHVlKiwgMz4mIGNoaWxkcmVuVmVjdG9yKCkgXAorICAgIHsg
XAorICAgICAgICByZXR1cm4gKmJpdHdpc2VfY2FzdDxWZWN0b3I8VmFsdWUqLCAzPio+KGJpdHdp
c2VfY2FzdDxjaGFyKj4odGhpcykgKyBzaXplb2YoKnRoaXMpKTsgXAorICAgIH0gXAorICAgIGNv
bnN0IFZlY3RvcjxWYWx1ZSosIDM+JiBjaGlsZHJlblZlY3RvcigpIGNvbnN0IFwKKyAgICB7IFwK
KyAgICAgICAgcmV0dXJuICpiaXR3aXNlX2Nhc3Q8VmVjdG9yPFZhbHVlKiwgMz4gY29uc3QqPihi
aXR3aXNlX2Nhc3Q8Y2hhciBjb25zdCo+KHRoaXMpICsgc2l6ZW9mKCp0aGlzKSk7IFwKKyAgICB9
IFwKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklU
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVJbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVJbmxpbmVzLmgJKHJldmlz
aW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlSW5saW5lcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOSArMjcsMTU3IEBACiAKICNpZiBFTkFCTEUoQjNfSklU
KQogCisjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVlLmgiCisjaW5jbHVkZSAiQjNBdG9taWNW
YWx1ZS5oIgorI2luY2x1ZGUgIkIzQ0NhbGxWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ2hlY2tWYWx1
ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3QzMlZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdDY0VmFs
dWUuaCIKICNpbmNsdWRlICJCM0NvbnN0RG91YmxlVmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0
RmxvYXRWYWx1ZS5oIgorI2luY2x1ZGUgIkIzRmVuY2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzTWVt
b3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1BhdGNocG9pbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkIz
UGhpQ2hpbGRyZW4uaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgorI2luY2x1ZGUgIkIzU2xv
dEJhc2VWYWx1ZS5oIgorI2luY2x1ZGUgIkIzU3dpdGNoVmFsdWUuaCIKKyNpbmNsdWRlICJCM1Vw
c2lsb25WYWx1ZS5oIgogI2luY2x1ZGUgIkIzVmFsdWUuaCIKKyNpbmNsdWRlICJCM1ZhcmlhYmxl
VmFsdWUuaCIKKyNpbmNsdWRlICJCM1dhc21BZGRyZXNzVmFsdWUuaCIKKyNpbmNsdWRlICJCM1dh
c21Cb3VuZHNDaGVja1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0dyYXBoTm9kZVdvcmtsaXN0Lmg+
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCisjZGVmaW5lIERJU1BBVENIX09O
X0tJTkQoTUFDUk8pIFwKKyAgICBzd2l0Y2ggKGtpbmQoKS5vcGNvZGUoKSkgeyBcCisgICAgY2Fz
ZSBGcmFtZVBvaW50ZXI6IFwKKyAgICBjYXNlIE5vcDogXAorICAgIGNhc2UgUGhpOiBcCisgICAg
Y2FzZSBKdW1wOiBcCisgICAgY2FzZSBPb3BzOiBcCisgICAgY2FzZSBFbnRyeVN3aXRjaDogXAor
ICAgIGNhc2UgUmV0dXJuOiBcCisgICAgY2FzZSBJZGVudGl0eTogXAorICAgIGNhc2UgT3BhcXVl
OiBcCisgICAgY2FzZSBOZWc6IFwKKyAgICBjYXNlIENsejogXAorICAgIGNhc2UgQWJzOiBcCisg
ICAgY2FzZSBDZWlsOiBcCisgICAgY2FzZSBGbG9vcjogXAorICAgIGNhc2UgU3FydDogXAorICAg
IGNhc2UgU0V4dDg6IFwKKyAgICBjYXNlIFNFeHQxNjogXAorICAgIGNhc2UgVHJ1bmM6IFwKKyAg
ICBjYXNlIFNFeHQzMjogXAorICAgIGNhc2UgWkV4dDMyOiBcCisgICAgY2FzZSBGbG9hdFRvRG91
YmxlOiBcCisgICAgY2FzZSBJVG9EOiBcCisgICAgY2FzZSBEb3VibGVUb0Zsb2F0OiBcCisgICAg
Y2FzZSBJVG9GOiBcCisgICAgY2FzZSBCaXR3aXNlQ2FzdDogXAorICAgIGNhc2UgQnJhbmNoOiBc
CisgICAgY2FzZSBEZXBlbmQ6IFwKKyAgICBjYXNlIEFkZDogXAorICAgIGNhc2UgU3ViOiBcCisg
ICAgY2FzZSBNdWw6IFwKKyAgICBjYXNlIERpdjogXAorICAgIGNhc2UgVURpdjogXAorICAgIGNh
c2UgTW9kOiBcCisgICAgY2FzZSBVTW9kOiBcCisgICAgY2FzZSBCaXRBbmQ6IFwKKyAgICBjYXNl
IEJpdE9yOiBcCisgICAgY2FzZSBCaXRYb3I6IFwKKyAgICBjYXNlIFNobDogXAorICAgIGNhc2Ug
U1NocjogXAorICAgIGNhc2UgWlNocjogXAorICAgIGNhc2UgUm90UjogXAorICAgIGNhc2UgUm90
TDogXAorICAgIGNhc2UgRXF1YWw6IFwKKyAgICBjYXNlIE5vdEVxdWFsOiBcCisgICAgY2FzZSBM
ZXNzVGhhbjogXAorICAgIGNhc2UgR3JlYXRlclRoYW46IFwKKyAgICBjYXNlIExlc3NFcXVhbDog
XAorICAgIGNhc2UgR3JlYXRlckVxdWFsOiBcCisgICAgY2FzZSBBYm92ZTogXAorICAgIGNhc2Ug
QmVsb3c6IFwKKyAgICBjYXNlIEFib3ZlRXF1YWw6IFwKKyAgICBjYXNlIEJlbG93RXF1YWw6IFwK
KyAgICBjYXNlIEVxdWFsT3JVbm9yZGVyZWQ6IFwKKyAgICBjYXNlIFNlbGVjdDogXAorICAgICAg
ICByZXR1cm4gTUFDUk8oVmFsdWUpOyBcCisgICAgY2FzZSBBcmd1bWVudFJlZzogXAorICAgICAg
ICByZXR1cm4gTUFDUk8oQXJndW1lbnRSZWdWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0MzI6IFwK
KyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0MzJWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0NjQ6
IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0NjRWYWx1ZSk7IFwKKyAgICBjYXNlIENvbnN0
RmxvYXQ6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENvbnN0RmxvYXRWYWx1ZSk7IFwKKyAgICBj
YXNlIENvbnN0RG91YmxlOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDb25zdERvdWJsZVZhbHVl
KTsgXAorICAgIGNhc2UgRmVuY2U6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKEZlbmNlVmFsdWUp
OyBcCisgICAgY2FzZSBTbG90QmFzZTogXAorICAgICAgICByZXR1cm4gTUFDUk8oU2xvdEJhc2VW
YWx1ZSk7IFwKKyAgICBjYXNlIEdldDogXAorICAgIGNhc2UgU2V0OiBcCisgICAgICAgIHJldHVy
biBNQUNSTyhWYXJpYWJsZVZhbHVlKTsgXAorICAgIGNhc2UgTG9hZDhaOiBcCisgICAgY2FzZSBM
b2FkOFM6IFwKKyAgICBjYXNlIExvYWQxNlo6IFwKKyAgICBjYXNlIExvYWQxNlM6IFwKKyAgICBj
YXNlIExvYWQ6IFwKKyAgICBjYXNlIFN0b3JlODogXAorICAgIGNhc2UgU3RvcmUxNjogXAorICAg
IGNhc2UgU3RvcmU6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKE1lbW9yeVZhbHVlKTsgXAorICAg
IGNhc2UgU3dpdGNoOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhTd2l0Y2hWYWx1ZSk7IFwKKyAg
ICBjYXNlIFVwc2lsb246IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKFVwc2lsb25WYWx1ZSk7IFwK
KyAgICBjYXNlIFdhc21BZGRyZXNzOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhXYXNtQWRkcmVz
c1ZhbHVlKTsgXAorICAgIGNhc2UgV2FzbUJvdW5kc0NoZWNrOiBcCisgICAgICAgIHJldHVybiBN
QUNSTyhXYXNtQm91bmRzQ2hlY2tWYWx1ZSk7IFwKKyAgICBjYXNlIEF0b21pY1hjaGdBZGQ6IFwK
KyAgICBjYXNlIEF0b21pY1hjaGdBbmQ6IFwKKyAgICBjYXNlIEF0b21pY1hjaGdPcjogXAorICAg
IGNhc2UgQXRvbWljWGNoZ1N1YjogXAorICAgIGNhc2UgQXRvbWljWGNoZ1hvcjogXAorICAgIGNh
c2UgQXRvbWljWGNoZzogXAorICAgIGNhc2UgQXRvbWljV2Vha0NBUzogXAorICAgIGNhc2UgQXRv
bWljU3Ryb25nQ0FTOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhBdG9taWNWYWx1ZSk7IFwKKyAg
ICBjYXNlIENDYWxsOiBcCisgICAgICAgIHJldHVybiBNQUNSTyhDQ2FsbFZhbHVlKTsgXAorICAg
IGNhc2UgQ2hlY2s6IFwKKyAgICBjYXNlIENoZWNrQWRkOiBcCisgICAgY2FzZSBDaGVja1N1Yjog
XAorICAgIGNhc2UgQ2hlY2tNdWw6IFwKKyAgICAgICAgcmV0dXJuIE1BQ1JPKENoZWNrVmFsdWUp
OyBcCisgICAgY2FzZSBQYXRjaHBvaW50OiBcCisgICAgICAgIHJldHVybiBNQUNSTyhQYXRjaHBv
aW50VmFsdWUpOyBcCisgICAgZGVmYXVsdDogXAorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyBcCisgICAgfQorCitBTFdBWVNfSU5MSU5FIHNpemVfdCBWYWx1ZTo6YWRqYWNl
bmN5TGlzdE9mZnNldCgpIGNvbnN0Cit7CisjZGVmaW5lIFZBTFVFX1RZUEVfU0laRShWYWx1ZVR5
cGUpIHNpemVvZihWYWx1ZVR5cGUpCisgICAgRElTUEFUQ0hfT05fS0lORChWQUxVRV9UWVBFX1NJ
WkUpOworI3VuZGVmIFZBTFVFX1RZUEVfU0laRQorfQorCitBTFdBWVNfSU5MSU5FIFZhbHVlKiBW
YWx1ZTo6Y2xvbmVJbXBsKCkgY29uc3QKK3sKKyNkZWZpbmUgVkFMVUVfVFlQRV9DTE9ORShWYWx1
ZVR5cGUpIGFsbG9jYXRlPFZhbHVlVHlwZT4oKnN0YXRpY19jYXN0PGNvbnN0IFZhbHVlVHlwZSo+
KHRoaXMpKQorICAgIERJU1BBVENIX09OX0tJTkQoVkFMVUVfVFlQRV9DTE9ORSk7CisjdW5kZWYg
VkFMVUVfVFlQRV9DTE9ORQorfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCb3R0b21Qcm92aWRlcj4K
IHZvaWQgVmFsdWU6OnJlcGxhY2VXaXRoQm90dG9tKGNvbnN0IEJvdHRvbVByb3ZpZGVyJiBib3R0
b21Qcm92aWRlcikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxl
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zhcmlh
YmxlVmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNWYXJpYWJsZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDggQEAK
ICAgICBvdXQucHJpbnQoY29tbWEsIHBvaW50ZXJEdW1wKG1fdmFyaWFibGUpKTsKIH0KIAotVmFs
dWUqIFZhcmlhYmxlVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBW
YXJpYWJsZVZhbHVlKCp0aGlzKTsKLX0KLQogVmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShL
aW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSwgVmFsdWUqIHZhbHVl
KQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwga2luZCwgVm9pZCwgb3JpZ2luLCB2YWx1ZSkK
KyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIFZvaWQsIE9uZSwgb3JpZ2luLCB2YWx1
ZSkKICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtpbmQgPT0gU2V0
KTsKQEAgLTU0LDcgKzQ5LDcgQEAKIH0KIAogVmFyaWFibGVWYWx1ZTo6VmFyaWFibGVWYWx1ZShL
aW5kIGtpbmQsIE9yaWdpbiBvcmlnaW4sIFZhcmlhYmxlKiB2YXJpYWJsZSkKLSAgICA6IFZhbHVl
KENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIG9yaWdpbikKKyAgICA6IFZh
bHVlKENoZWNrZWRPcGNvZGUsIGtpbmQsIHZhcmlhYmxlLT50eXBlKCksIFplcm8sIG9yaWdpbikK
ICAgICAsIG1fdmFyaWFibGUodmFyaWFibGUpCiB7CiAgICAgQVNTRVJUKGtpbmQgPT0gR2V0KTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYXJpYWJsZVZhbHVlLmgJKHJldmlz
aW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhcmlhYmxlVmFsdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTMgKzQxLDE1IEBACiAKICAgICBWYXJpYWJsZSogdmFy
aWFibGUoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhYmxlOyB9CiAKKyAgICBCM19TUEVDSUFMSVpF
X1ZBTFVFX0ZPUl9OT05fVkFSQVJHU19DSElMRFJFTgorICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVf
Rk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgZHVt
cE1ldGEoQ29tbWFQcmludGVyJiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IFZhbHVlKiBjbG9uZUltcGwoKSBjb25zdCBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgUHJvY2VkdXJlOworICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIAogICAgIC8vIFVz
ZSB0aGlzIGZvciBTZXQuCiAgICAgVmFyaWFibGVWYWx1ZShLaW5kLCBPcmlnaW4sIFZhcmlhYmxl
KiwgVmFsdWUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNz
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21B
ZGRyZXNzVmFsdWUuY3BwCShyZXZpc2lvbiAyNDQyNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5
LDggQEAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fcGlubmVkR1BSKTsKIH0KIAotVmFsdWUqIFdh
c21BZGRyZXNzVmFsdWU6OmNsb25lSW1wbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBXYXNt
QWRkcmVzc1ZhbHVlKCp0aGlzKTsKLX0KLQogV2FzbUFkZHJlc3NWYWx1ZTo6V2FzbUFkZHJlc3NW
YWx1ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogdmFsdWUsIEdQUlJlZyBwaW5uZWRHUFIpCi0gICAg
OiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQsIG9yaWdpbiwgdmFsdWUp
CisgICAgOiBWYWx1ZShDaGVja2VkT3Bjb2RlLCBXYXNtQWRkcmVzcywgSW50NjQsIE9uZSwgb3Jp
Z2luLCB2YWx1ZSkKICAgICAsIG1fcGlubmVkR1BSKHBpbm5lZEdQUikKIHsKIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQWRkcmVzc1ZhbHVlLmgJKHJldmlzaW9u
IDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21BZGRyZXNzVmFsdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTQgKzQwLDE3IEBACiAKICAgICBHUFJSZWcgcGlubmVk
R1BSKCkgY29uc3QgeyByZXR1cm4gbV9waW5uZWRHUFI7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVf
VkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1Jf
RklOQUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0
YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFs
dWUqIGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9w
Y29kZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBWYWx1ZSosIEdQUlJlZykgeyByZXR1
cm4gV2FzbUFkZHJlc3M7IH0KICAgICBXYXNtQWRkcmVzc1ZhbHVlKE9yaWdpbiwgVmFsdWUqLCBH
UFJSZWcpOwogCiAgICAgR1BSUmVnIG1fcGlubmVkR1BSOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmNwcAkocmV2aXNpb24g
MjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzV2FzbUJvdW5kc0NoZWNrVmFs
dWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiB9CiAKIFdhc21Cb3VuZHND
aGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4gb3JpZ2luLCBHUFJSZWcgcGlu
bmVkU2l6ZSwgVmFsdWUqIHB0ciwgdW5zaWduZWQgb2Zmc2V0KQotICAgIDogVmFsdWUoQ2hlY2tl
ZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4sIHB0cikKKyAgICA6IFZhbHVlKENoZWNr
ZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBvcmlnaW4sIHB0cikKICAgICAsIG1fb2Zm
c2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShUeXBlOjpQaW5uZWQpCiB7CkBAIC00NCw3
ICs0NCw3IEBACiB9CiAKIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpXYXNtQm91bmRzQ2hlY2tWYWx1
ZShPcmlnaW4gb3JpZ2luLCBWYWx1ZSogcHRyLCB1bnNpZ25lZCBvZmZzZXQsIHNpemVfdCBtYXhp
bXVtKQotICAgIDogVmFsdWUoQ2hlY2tlZE9wY29kZSwgV2FzbUJvdW5kc0NoZWNrLCBvcmlnaW4s
IHB0cikKKyAgICA6IFZhbHVlKENoZWNrZWRPcGNvZGUsIFdhc21Cb3VuZHNDaGVjaywgT25lLCBv
cmlnaW4sIHB0cikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fYm91bmRzVHlwZShU
eXBlOjpNYXhpbXVtKQogewpAQCAtNTUsMTEgKzU1LDYgQEAKICAgICBtX2JvdW5kcy5tYXhpbXVt
ID0gbWF4aW11bTsKIH0KIAotVmFsdWUqIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpjbG9uZUltcGwo
KSBjb25zdAotewotICAgIHJldHVybiBuZXcgV2FzbUJvdW5kc0NoZWNrVmFsdWUoKnRoaXMpOwot
fQotCiB2b2lkIFdhc21Cb3VuZHNDaGVja1ZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50ZXImIGNv
bW1hLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIHN3aXRjaCAobV9ib3VuZHNUeXBl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNXYXNtQm91bmRzQ2hlY2tWYWx1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1dhc21Cb3VuZHND
aGVja1ZhbHVlLmgJKHJldmlzaW9uIDI0NDI3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1dhc21Cb3VuZHNDaGVja1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDE1ICszNCw3
IEBACiAKIGNsYXNzIFdhc21Cb3VuZHNDaGVja1ZhbHVlIDogcHVibGljIFZhbHVlIHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgYm9vbCBhY2NlcHRzKEtpbmQga2luZCkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAoa2luZC5vcGNvZGUoKSkgewotICAgICAgICBjYXNlIFdhc21Cb3VuZHNDaGVjazoKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAgIHN0YXRpYyBib29sIGFjY2VwdHMoS2lu
ZCBraW5kKSB7IHJldHVybiBraW5kID09IFdhc21Cb3VuZHNDaGVjazsgfQogICAgIAogICAgIH5X
YXNtQm91bmRzQ2hlY2tWYWx1ZSgpOwogCkBAIC02MCwxNSArNTIsMjAgQEAKICAgICBUeXBlIGJv
dW5kc1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kc1R5cGU7IH0KICAgICBCb3VuZHMgYm91
bmRzKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHM7IH0KIAorICAgIEIzX1NQRUNJQUxJWkVfVkFM
VUVfRk9SX0ZJWEVEX0NISUxEUkVOKDEpCisgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklO
QUxfU0laRV9GSVhFRF9DSElMRFJFTgorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShD
b21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgVmFsdWUq
IGNsb25lSW1wbCgpIGNvbnN0IG92ZXJyaWRlOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBQcm9jZWR1cmU7CisgICAgZnJpZW5kIGNsYXNzIFZhbHVlOwogCisgICAgc3RhdGljIE9wY29k
ZSBvcGNvZGVGcm9tQ29uc3RydWN0b3IoT3JpZ2luLCBHUFJSZWcsIFZhbHVlKiwgdW5zaWduZWQp
IHsgcmV0dXJuIFdhc21Cb3VuZHNDaGVjazsgfQogICAgIEpTX0VYUE9SVF9QUklWQVRFIFdhc21C
b3VuZHNDaGVja1ZhbHVlKE9yaWdpbiwgR1BSUmVnIHBpbm5lZEdQUiwgVmFsdWUqIHB0ciwgdW5z
aWduZWQgb2Zmc2V0KTsKKworICAgIHN0YXRpYyBPcGNvZGUgb3Bjb2RlRnJvbUNvbnN0cnVjdG9y
KE9yaWdpbiwgVmFsdWUqLCB1bnNpZ25lZCwgc2l6ZV90KSB7IHJldHVybiBXYXNtQm91bmRzQ2hl
Y2s7IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSBXYXNtQm91bmRzQ2hlY2tWYWx1ZShPcmlnaW4s
IFZhbHVlKiBwdHIsIHVuc2lnbmVkIG9mZnNldCwgc2l6ZV90IG1heGltdW0pOwogCiAgICAgdW5z
aWduZWQgbV9vZmZzZXQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkocmV2
aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwOTYwLDcgKzEwOTYwLDcgQEAKICAgICBDQ2FsbFZhbHVlKiBjYWxs
ID0gcm9vdC0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KAogICAgICAgICBwcm9jLCBJbnQzMiwgT3Jp
Z2luKCksCiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmln
aW4oKSwgdGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50cywg
QjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rvcihhcmdz
KTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5l
d0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTA5ODYs
NyArMTA5ODYsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0Nh
bGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEludDY0LCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+
YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8
dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzMiwgQjNDQ2FsbFB0clRhZykpKTsKLSAg
ICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRB
cmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBS
ZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTEwMDgsNyArMTEwMDgsNyBAQAogICAgIEND
YWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHBy
b2MsIEludDMyLCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFs
dWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8dm9pZCo+KGZ1bmN0aW9uV2l0aEhl
bGxhQXJndW1lbnRzMywgQjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFw
cGVuZFZlY3RvcihhcmdzKTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAg
IHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxs
KTsKIApAQCAtMTExMDgsNyArMTExMDgsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290
LT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIERvdWJsZSwgT3JpZ2luKCks
CiAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdFB0clZhbHVlPihwcm9jLCBPcmlnaW4oKSwg
dGFnQ0Z1bmN0aW9uUHRyPHZvaWQqPihmdW5jdGlvbldpdGhIZWxsYURvdWJsZUFyZ3VtZW50cywg
QjNDQ2FsbFB0clRhZykpKTsKLSAgICBjYWxsLT5jaGlsZHJlbigpLmFwcGVuZFZlY3Rvcihhcmdz
KTsKKyAgICBjYWxsLT5hcHBlbmRBcmdzKGFyZ3MpOwogICAgIAogICAgIHJvb3QtPmFwcGVuZE5l
d0NvbnRyb2xWYWx1ZShwcm9jLCBSZXR1cm4sIE9yaWdpbigpLCBjYWxsKTsKIApAQCAtMTExMzIs
NyArMTExMzIsNyBAQAogICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5hcHBlbmROZXc8Q0Nh
bGxWYWx1ZT4oCiAgICAgICAgIHByb2MsIEZsb2F0LCBPcmlnaW4oKSwKICAgICAgICAgcm9vdC0+
YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB0YWdDRnVuY3Rpb25QdHI8
dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhRmxvYXRBcmd1bWVudHMsIEIzQ0NhbGxQdHJUYWcpKSk7
Ci0gICAgY2FsbC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IoYXJncyk7CisgICAgY2FsbC0+YXBw
ZW5kQXJncyhhcmdzKTsKICAgICAKICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJv
YywgUmV0dXJuLCBPcmlnaW4oKSwgY2FsbCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExPdXRwdXQuaAkocmV2aXNpb24gMjQ0MjcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgwLDcgKzM4MCw3IEBACiAgICAg
TFZhbHVlIGNhbGwoTFR5cGUgdHlwZSwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBl
JiB2ZWN0b3IpCiAgICAgewogICAgICAgICBCMzo6Q0NhbGxWYWx1ZSogcmVzdWx0ID0gbV9ibG9j
ay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3Byb2MsIHR5cGUsIG9yaWdpbigpLCBmdW5j
dGlvbik7Ci0gICAgICAgIHJlc3VsdC0+Y2hpbGRyZW4oKS5hcHBlbmRWZWN0b3IodmVjdG9yKTsK
KyAgICAgICAgcmVzdWx0LT5hcHBlbmRBcmdzKHZlY3Rvcik7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQogICAgIExWYWx1ZSBjYWxsKExUeXBlIHR5cGUsIExWYWx1ZSBmdW5jdGlvbikg
eyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpDQ2FsbFZhbHVlPihtX3Byb2MsIHR5cGUs
IG9yaWdpbigpLCBmdW5jdGlvbik7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>