<?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>158777</bug_id>
          
          <creation_ts>2016-06-15 01:43:00 -0700</creation_ts>
          <short_desc>Add bindings generator support to add a native JS function to both a &apos;name&apos; and a private &apos;@name&apos; slot</short_desc>
          <delta_ts>2016-06-21 08:45:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>143211</blocked>
    
    <blocked>158940</blocked>
    
    <blocked>158979</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202526</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-15 01:43:00 -0700</bug_when>
    <thetext>This functionality would be useful in a case where we, for example, want to implement a function addAll() as a JS built-in based on a native function add(). This can be done today by adding a private function @privateAdd() and implement both add() and addAll() as JS built-in functions (using @privateAdd()). If we could mark a function to be added to both the &apos;add&apos; and the private &apos;@add&apos; slots, we could just create the addAll() JS-built-in using &apos;@add&apos; directly, without having to touch add() further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202682</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-15 14:04:03 -0700</bug_when>
    <thetext>Adding such keyword should be fairly straightforward.
One can search for &quot;Private&quot; keyword in CodeGeneratorJS.pm to locate the lines to update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202908</commentid>
    <comment_count>2</comment_count>
      <attachid>281453</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-16 06:46:05 -0700</bug_when>
    <thetext>Created attachment 281453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202909</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-16 06:46:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created attachment 281453 [details]
&gt; Patch

Adam, can you check whether that fits your needs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202956</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-16 10:46:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Created attachment 281453 [details]
&gt; &gt; Patch
&gt; 
&gt; Adam, can you check whether that fits your needs?

It works perfectly :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202960</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-16 11:07:14 -0700</bug_when>
    <thetext>Great!
Before going further on this one, it would be nice to see the patch that would make use of this new keyword. That would help review this one more accurately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203265</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-17 01:01:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Great!
&gt; Before going further on this one, it would be nice to see the patch that
&gt; would make use of this new keyword. That would help review this one more
&gt; accurately.

I have some code using the old approach with a private function and a JS built-in for each &quot;public&quot; function. I&apos;ll clean that up and attach it to this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203821</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-20 12:05:23 -0700</bug_when>
    <thetext>Youenn, please have a look at https://bugs.webkit.org/show_bug.cgi?id=158940 for an example of code benefiting form this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203912</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-20 15:00:00 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Youenn, please have a look at https://bugs.webkit.org/show_bug.cgi?id=158940
&gt; for an example of code benefiting form this feature.

I just had a look.
I am ok going down the road of introducing a new keyword, although PrivateAlso is not the best keyword name I guess.

Also, since the private methods are called from user scripts, the type checks could be converted in assertions since the caller probably already ensured the types are ok. This is probably too early and not worth the effort right now.

cdumez, any opinion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204119</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-06-21 06:21:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; 
&gt; I just had a look.
&gt; I am ok going down the road of introducing a new keyword, although
&gt; PrivateAlso is not the best keyword name I guess.
&gt; 
I agree that &quot;PrivateAlso&quot; isn&apos;t a great name, I wasn&apos;t certain I knew what it meant until I read Adam&apos;s patch that uses it.

Here are some alternatives, although I am not sure any are better: &quot;JSBuiltinVisible&quot;, &quot;JSBuiltinAccessible&quot;, &quot;JSBuiltinAvailable&quot;, &quot;InternallyVisible&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204122</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-21 06:41:18 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; 
&gt; &gt; I just had a look.
&gt; &gt; I am ok going down the road of introducing a new keyword, although
&gt; &gt; PrivateAlso is not the best keyword name I guess.
&gt; &gt; 
&gt; I agree that &quot;PrivateAlso&quot; isn&apos;t a great name, I wasn&apos;t certain I knew what
&gt; it meant until I read Adam&apos;s patch that uses it.
&gt; 
&gt; Here are some alternatives, although I am not sure any are better:
&gt; &quot;JSBuiltinVisible&quot;, &quot;JSBuiltinAccessible&quot;, &quot;JSBuiltinAvailable&quot;,
&gt; &quot;InternallyVisible&quot;.

We also need to find a consistent name for &quot;Private&quot; as well.
Private comes from the fact that the method is tied to a slot with a private identifier, vs regular methods that have a public identifier.

How about PrivateSlot or PrivateIdentifer?

To cover the case of both private and public ids, we could add Only/Both suffixes on PrivateSlot/PrivateIdentifier.

Or we could add a PublicSlot/PublicIdentifier. Adam in his patch would need to specify both keywords to expose them to JSBuiltin and user scripts.

Or we could add something like: Slot=Private, Slot=Public&amp;Private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204135</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-06-21 07:15:12 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; We also need to find a consistent name for &quot;Private&quot; as well.
&gt; Private comes from the fact that the method is tied to a slot with a private
&gt; identifier, vs regular methods that have a public identifier.
&gt; 
&gt; How about PrivateSlot or PrivateIdentifer?
&gt; 
&gt; To cover the case of both private and public ids, we could add Only/Both
&gt; suffixes on PrivateSlot/PrivateIdentifier.
&gt; 
&gt; Or we could add a PublicSlot/PublicIdentifier. Adam in his patch would need
&gt; to specify both keywords to expose them to JSBuiltin and user scripts.
&gt; 

So &quot;[PrivateIdentifier]&quot; means a method only available to JSBuiltins, &quot;[PrivateIdentifier, PublicIdentifier]&quot; means it is available to both user scripts and JSBuiltins, and &quot;[PublicIdentifier]&quot; is the default?

Seems logical to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204139</commentid>
    <comment_count>12</comment_count>
      <attachid>281744</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-21 07:35:00 -0700</bug_when>
    <thetext>Created attachment 281744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204151</commentid>
    <comment_count>13</comment_count>
      <attachid>281748</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-21 08:16:39 -0700</bug_when>
    <thetext>Created attachment 281748
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204152</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-21 08:18:11 -0700</bug_when>
    <thetext>Thanks for the review Eric.
I uploaded a new patch to fix the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204153</commentid>
    <comment_count>15</comment_count>
      <attachid>281748</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-21 08:45:00 -0700</bug_when>
    <thetext>Comment on attachment 281748
Patch for landing

Clearing flags on attachment: 281748

Committed r202275: &lt;http://trac.webkit.org/changeset/202275&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204154</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-21 08:45:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281453</attachid>
            <date>2016-06-16 06:46:05 -0700</date>
            <delta_ts>2016-06-21 07:34:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158777-20160616154602.patch</filename>
            <type>text/plain</type>
            <size>17520</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgwZTZiMzVmY2RkNmVl
M2E0ZTMzZGExZDQxNDdhZTFhYjdjNjVjZC4uNjQ5NTQ5OGQ5ODM3NDcwNjVjYTNkMzBiYmUyOTM3
OGFmNGIyODM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTA2LTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQWRkIGJp
bmRpbmdzIGdlbmVyYXRvciBzdXBwb3J0IHRvIGFkZCBhIG5hdGl2ZSBKUyBmdW5jdGlvbiB0byBi
b3RoIGEgJ25hbWUnIGFuZCBhIHByaXZhdGUgJ0BuYW1lJyBzbG90CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3NzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgYSBuZXcgUHJpdmF0ZUFsc28g
a2V5d29yZCB0byBjb3ZlciB0aGUgY2FzZSBvZiB0aGUgc2FtZSBmdW5jdGlvbiBleHBvc2VkIHB1
YmxpY2x5IGFuZCBwcml2YXRlbHkuCisgICAgICAgIFJlbmFtaW5nIFByaXZhdGUga2V5d29yZCB0
byBQcml2YXRlT25seS4KKworICAgICAgICBVcGRhdGVkIGJpbmRpbmcgZ2VuZXJhdG9yIHRvIGdl
bmVyYXRlIHByaXZhdGUgZXhwb3N1cmUgZm9yIGJvdGggUHJpdmF0ZUFsc28gYW5kIFByaXZhdGVP
bmx5LgorICAgICAgICBVcGRhdGVkIGJpbmRpbmcgZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIHB1Ymxp
YyBleHBvc3VyZSBleGNlcHQgZm9yIFByaXZhdGVPbmx5LgorCisgICAgICAgIEtlZXBpbmcgc2tp
cHBpbmcgb2YgT2JqQy9HT2JqZWN0IGJpbmRpbmcgZm9yIFByaXZhdGVPbmx5IGZ1bmN0aW9ucyBi
dXQgbm90IGZvciBQcml2YXRlQWxzbyBmdW5jdGlvbnMuCisKKyAgICAgICAgQ292ZXJlZCBieSBy
ZWJhc2VkIGJpbmRpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVh
ZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGw6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKyAgICAgICAgKFNraXBGdW5j
dGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Cisg
ICAgICAgIChHZW5lcmF0ZVByb3BlcnRpZXNIYXNoVGFibGUpOgorICAgICAgICAoR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
T2JqQy5wbToKKyAgICAgICAgKFNraXBGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9v
YmpfcHJpdmF0ZV9hbHNvX21ldGhvZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvblByaXZhdGVNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25Qcml2YXRlQWxzb01ldGhvZCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RPYmogcHJpdmF0ZUFs
c29NZXRob2Q6XSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
OgorCiAyMDE2LTA2LTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGVjb3VwbGUgdGhlIHBlcmNlbnQgaGVpZ2h0IGFuZCBwb3NpdGlvbmVkIGRlc2NlbmRhbnRz
IG1hcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVh
ZGVycy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwK
aW5kZXggOTljYjA4Y2U1YTRkYTk5MmJjZGUyNzk4YzlhZGFhMjFhZGE3MzE3Mi4uZDMxMWZmZDMy
Yzk3YTAzMTgwZGU4ZDU5OGQ4YTNmYzcwMzM1OGUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbApAQCAtNDMsNiArNDMsNiBAQCBpbnRlcmZhY2Ug
RmV0Y2hIZWFkZXJzIHsKIAogICAgIGl0ZXJhYmxlPERPTVN0cmluZywgRE9NU3RyaW5nPjsKIAot
ICAgIFtQcml2YXRlLCBSYWlzZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YXBwZW5kXSB2b2lk
IGFwcGVuZEZyb21KUyhET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKLSAgICBbUHJp
dmF0ZSwgSW1wbGVtZW50ZWRBcz1maWxsXSB2b2lkIGZpbGxGcm9tSlMoRmV0Y2hIZWFkZXJzPyBo
ZWFkZXJzKTsKKyAgICBbUHJpdmF0ZU9ubHksIFJhaXNlc0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRB
cz1hcHBlbmRdIHZvaWQgYXBwZW5kRnJvbUpTKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFs
dWUpOworICAgIFtQcml2YXRlT25seSwgSW1wbGVtZW50ZWRBcz1maWxsXSB2b2lkIGZpbGxGcm9t
SlMoRmV0Y2hIZWFkZXJzPyBoZWFkZXJzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAppbmRleCAyYWQzYWIyYTE2MTllNDIxNGZiNDFkOWE4
MWEyNjI1YzA0YjI2YjZiLi5iZWNiODhjMjhlZDFkOGMxZmU5N2YwYTJhNjBhODc5OWEwZWZjMjdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwK
QEAgLTU0LDYgKzU0LDYgQEAgaW50ZXJmYWNlIEZldGNoUmVzcG9uc2UgewogCiAgICAgW05ld09i
amVjdCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uXSBG
ZXRjaFJlc3BvbnNlIGNsb25lKCk7CiAKLSAgICBbUHJpdmF0ZSwgUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIGluaXRpYWxpemVXaXRoKERpY3Rpb25hcnkgcGFyYW1ldGVycyk7CisgICAgW1ByaXZhdGVP
bmx5LCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgaW5pdGlhbGl6ZVdpdGgoRGljdGlvbmFyeSBwYXJh
bWV0ZXJzKTsKIH07CiBGZXRjaFJlc3BvbnNlIGltcGxlbWVudHMgRmV0Y2hCb2R5OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCmlu
ZGV4IDlhNTQ2ZTc5MjE5MjcyZjE1ODM0YmVmYjA1NzNiOTA2OTlhNTA3MzcuLmFjOWFkZTY2OGFm
ODM5ZWExYWNkYzRkNjBlYmVhMDllMjBiZTFmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwKQEAgLTM3LDUgKzM3LDUgQEAK
ICAgICBbSlNCdWlsdGluXSBQcm9taXNlIGdldFVzZXJNZWRpYShEaWN0aW9uYXJ5IG9wdGlvbnMp
OwogICAgIFtSYWlzZXNFeGNlcHRpb25dIFByb21pc2UgZW51bWVyYXRlRGV2aWNlcygpOwogCi0g
ICAgW1ByaXZhdGUsIFJhaXNlc0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1nZXRVc2VyTWVkaWFd
IFByb21pc2UgZ2V0VXNlck1lZGlhRnJvbUpTKERpY3Rpb25hcnkgb3B0aW9ucyk7CisgICAgW1By
aXZhdGVPbmx5LCBSYWlzZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Z2V0VXNlck1lZGlhXSBQ
cm9taXNlIGdldFVzZXJNZWRpYUZyb21KUyhEaWN0aW9uYXJ5IG9wdGlvbnMpOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5pZGwKaW5kZXggOTA4MjgxZWU2Njg4N2MxMDk3YmY2MWE3MGMxZmRiNjQ3YTU2MGI2NC4u
N2QyMTY1ZTU5Njg4ZjA2ZmMzZGMyODE1Nzc1ZjJmOGJhMzc3YjQyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5p
ZGwKQEAgLTk3LDEyICs5NywxMiBAQAogCiAgICAgLy8gUHJpdmF0ZSBBUEkgdXNlZCB0byBpbXBs
ZW1lbnQgdGhlIG92ZXJsb2FkZWQgb3BlcmF0aW9ucyBhYm92ZS4gUXVldWVkIGZ1bmN0aW9ucyBh
cmUgY2FsbGVkIGJ5CiAgICAgLy8gcnVuUXVldWVkT3BlcmF0aW9uKCkgKGRlZmluZWQgaW4gUlRD
UGVlckNvbm5lY3Rpb25JbnRlcm5hbHMuanMpLgotICAgIFtQcml2YXRlXSBQcm9taXNlIHF1ZXVl
ZENyZWF0ZU9mZmVyKG9wdGlvbmFsIERpY3Rpb25hcnkgb2ZmZXJPcHRpb25zKTsKLSAgICBbUHJp
dmF0ZV0gUHJvbWlzZSBxdWV1ZWRDcmVhdGVBbnN3ZXIob3B0aW9uYWwgRGljdGlvbmFyeSBhbnN3
ZXJPcHRpb25zKTsKLSAgICBbUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRTZXRMb2NhbERlc2NyaXB0
aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbik7Ci0gICAgW1ByaXZhdGVdIFBy
b21pc2UgcXVldWVkU2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRl
c2NyaXB0aW9uKTsKLSAgICBbUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUo
UlRDSWNlQ2FuZGlkYXRlIGNhbmRpZGF0ZSk7Ci0gICAgW1ByaXZhdGVdIFByb21pc2UgcHJpdmF0
ZUdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2s/IHNlbGVjdG9yKTsKKyAgICBbUHJpdmF0ZU9ubHld
IFByb21pc2UgcXVldWVkQ3JlYXRlT2ZmZXIob3B0aW9uYWwgRGljdGlvbmFyeSBvZmZlck9wdGlv
bnMpOworICAgIFtQcml2YXRlT25seV0gUHJvbWlzZSBxdWV1ZWRDcmVhdGVBbnN3ZXIob3B0aW9u
YWwgRGljdGlvbmFyeSBhbnN3ZXJPcHRpb25zKTsKKyAgICBbUHJpdmF0ZU9ubHldIFByb21pc2Ug
cXVldWVkU2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRp
b24pOworICAgIFtQcml2YXRlT25seV0gUHJvbWlzZSBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlv
bihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOworICAgIFtQcml2YXRlT25seV0g
UHJvbWlzZSBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlIGNhbmRpZGF0ZSk7
CisgICAgW1ByaXZhdGVPbmx5XSBQcm9taXNlIHByaXZhdGVHZXRTdGF0cyhNZWRpYVN0cmVhbVRy
YWNrPyBzZWxlY3Rvcik7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBSVENEYXRhQ2hhbm5lbCBj
cmVhdGVEYXRhQ2hhbm5lbChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBsYWJl
bCwgb3B0aW9uYWwgRGljdGlvbmFyeSBvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KaW5kZXggZGY0
ZGRkYTU0MzQ2MmQ4NWFiZmY0ZWQ4MjU1ODlhOTM3MzMwOTUyZC4uMzNhMGExZWY2MjZjOWM0YmM5
YTYyYWFhNTliNWVjNThhNjc5MzU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCkBAIC0zODQsNyArMzg0LDcg
QEAgc3ViIFNraXBGdW5jdGlvbiB7CiAKICAgICByZXR1cm4gMSBpZiAkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbiJ9OwogCi0gICAgcmV0dXJuIDEg
aWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlIn07
CisgICAgcmV0dXJuIDEgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJQcml2YXRlT25seSJ9OwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDE1MzFmYWU3
OTFjOTU1OGFkOGIwOGNlZjgyNmFjZDg0MWQ2YzlhNmYuLjdkNmE4NjRiNDRmNTRhYzFhMjZiMzZk
ZGQ4N2UyNWViYWRjZmRhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNjE5LDcgKzE2MTksNyBAQCBzdWIgR2VuZXJh
dGVQcm9wZXJ0aWVzSGFzaFRhYmxlCiAgICAgbXkgQGZ1bmN0aW9ucyA9IEB7JGludGVyZmFjZS0+
ZnVuY3Rpb25zfTsKICAgICBwdXNoKEBmdW5jdGlvbnMsIEB7JGludGVyZmFjZS0+aXRlcmFibGUt
PmZ1bmN0aW9uc30pIGlmICRpbnRlcmZhY2UtPml0ZXJhYmxlOwogICAgIGZvcmVhY2ggbXkgJGZ1
bmN0aW9uIChAZnVuY3Rpb25zKSB7Ci0gICAgICAgIG5leHQgaWYgKCRmdW5jdGlvbi0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZSJ9KTsKKyAgICAgICAgbmV4dCBpZiAo
JGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlT25seSJ9
KTsKICAgICAgICAgbmV4dCBpZiAoJGZ1bmN0aW9uLT5pc1N0YXRpYyk7CiAgICAgICAgIG5leHQg
aWYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gJiYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRl
eH0gPiAxOwogICAgICAgICBuZXh0IGlmIE9wZXJhdGlvblNob3VsZEJlT25JbnN0YW5jZSgkaW50
ZXJmYWNlLCAkZnVuY3Rpb24pICE9ICRpc0luc3RhbmNlOwpAQCAtMjMwMiw3ICsyMzAyLDcgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICAgICBteSAkZmlyc3RQcml2YXRlRnVu
Y3Rpb24gPSAxOwogICAgICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskaW50ZXJmYWNlLT5m
dW5jdGlvbnN9KSB7Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyAoJGZ1bmN0aW9uLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlIn0pOworICAgICAgICAgICAgbmV4dCB1
bmxlc3MgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0
ZU9ubHkifSkgb3IgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
UHJpdmF0ZUFsc28ifSk7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiV2ViQ29yZUpT
Q2xpZW50RGF0YS5oIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZN
Q2xpZW50RGF0YSYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpO1xuIikgaWYgJGZpcnN0UHJpdmF0ZUZ1bmN0aW9uOwogICAgICAgICAgICAg
JGZpcnN0UHJpdmF0ZUZ1bmN0aW9uID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCmluZGV4IDYwYTNiOTI3NGIwNDUxMzcx
ODE0NmE5Y2EyNmE0MTJmZDNlZGQ0OWQuLmQxNDhkOWIzY2ZlMDIyNzc5ZGJiYTI1MzlmODMzZGZh
ZDBjYjE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvck9iakMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtNTUwLDcgKzU1MCw3IEBAIHN1YiBTa2lwRnVuY3Rpb24K
ICAgICAgICAgcmV0dXJuIDEgaWYgJHBhcmFtLT5pc1ZhcmlhZGljOwogICAgIH0KIAotICAgIHJl
dHVybiAxIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJp
dmF0ZSJ9OworICAgIHJldHVybiAxIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiUHJpdmF0ZU9ubHkifTsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggNjE0
ZWJhNzQ1NjMxMTYwZTczYjVhM2Y5OTc3YTcxZDIwMzAyMTIxNy4uM2QyYjI2NGRjYTNhOWU2MDMz
ZDQ3ZmE1MDM4Y2EzYmMwM2ZkOTczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0xMDYsNyArMTA2LDggQEAgT2JqQ1Byb3Rv
Y29sCiBPYmpDVXNlRGVmYXVsdFZpZXcKIE92ZXJyaWRlQnVpbHRpbnMKIFBhc3NDb250ZXh0Ci1Q
cml2YXRlCitQcml2YXRlT25seQorUHJpdmF0ZUFsc28KIFB1dEZvcndhcmRzPSoKIFJhaXNlc0V4
Y2VwdGlvbgogUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5jcHAKaW5kZXggZTI1NThjODMyYzE0OTY5YWM2MGM0Njg3MmUyOWExNWVkNWRlOGFh
OS4uN2Q5ZDA2NjRmYWRmNzhmYmE0NDQ0NzNjZjE2ZTc3ODFjMTNjZjVjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVz
dE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTE0OTQsNiArMTQ5NCwxNyBAQCB2b2lkIHdlYmtp
dF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uX3dpdGhfbWVzc2FnZShXZWJLaXRE
T01UZXN0T2JqKiBzZQogICAgIGl0ZW0tPm1ldGhvZFdpdGhFeGNlcHRpb25XaXRoTWVzc2FnZSgp
OwogfQogCitnY2hhciogd2Via2l0X2RvbV90ZXN0X29ial9wcml2YXRlX2Fsc29fbWV0aG9kKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiBhcmd1bWVudCkKK3sKKyAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoYXJndW1lbnQsIDApOworICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6
OmNvcmUoc2VsZik7CisgICAgV1RGOjpTdHJpbmcgY29udmVydGVkQXJndW1lbnQgPSBXVEY6OlN0
cmluZzo6ZnJvbVVURjgoYXJndW1lbnQpOworICAgIGdjaGFyKiByZXN1bHQgPSBjb252ZXJ0VG9V
VEY4U3RyaW5nKGl0ZW0tPnByaXZhdGVBbHNvTWV0aG9kKGNvbnZlcnRlZEFyZ3VtZW50KSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2Ny
aXB0X3N0YXRlX3ZvaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgK
aW5kZXggOGIwNTY2MjFlYTM0NzI2YzZjMTNlYTgwMjBiODM3ZmZiYjBhNmYyYi4uNWI1YWU5ZThj
MzRlNWFiZDgwOTU1YzUzYThkNWNhM2Y3N2JkOWRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RPYmouaApAQCAtMzk0LDYgKzM5NCwxOCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9kb21f
dGVzdF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uX3dpdGhfbWVzc2FnZShXZWJLaXRET01UZXN0
T2JqKiBzZWxmKTsKIAogLyoqCisgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ByaXZhdGVfYWxzb19t
ZXRob2Q6CisgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagorICogQGFyZ3VtZW50OiBBICNn
Y2hhcgorICoKKyAqIFJldHVybnM6IEEgI2djaGFyCisgKgorICogU3RhYmlsaXR5OiBVbnN0YWJs
ZQorKiovCitXRUJLSVRfQVBJIGdjaGFyKgord2Via2l0X2RvbV90ZXN0X29ial9wcml2YXRlX2Fs
c29fbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiBhcmd1bWVudCk7
CisKKy8qKgogICogd2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkOgog
ICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDczNjE2N2Ez
NTVjZGYzYmRkN2IyYThjZTc5MjIwYTM2ZjQzOGIxZjEuLjFmZGUyNWFkNjc4NzM2ZWQ2NzZiZjVm
YTI3MmRhMWFhY2UwZjc4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02MDcsNiArNjA3LDcgQEAgSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0
aG9kV2l0aEV4Y2VwdGlvblcKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSopOwogSlND
OjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
Q3VzdG9tTWV0aG9kV2l0aEFyZ3MoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVNZXRob2Qo
SlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVBbHNvTWV0aG9kKEpTQzo6RXhlY1N0YXRlKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25BZGRFdmVudExpc3RlbmVyKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25SZW1vdmVFdmVudExp
c3RlbmVyKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25XaXRoU2NyaXB0U3RhdGVWb2lkKEpTQzo6RXhl
Y1N0YXRlKik7CkBAIC0xMTg2LDYgKzExODcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFs
dWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAjZWxzZQogICAgIHsgMCwgMCwg
Tm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKKyAgICB7ICJwcml2YXRlQWxzb01ldGhv
ZCIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxO
YXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Qcml2YXRlQWxzb01ldGhv
ZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAgICB7ICJhZGRFdmVudExpc3RlbmVyIiwgSlNDOjpG
dW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0
aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50TGlzdGVuZXIpLCAoaW50cHRy
X3QpICgyKSB9IH0sCiAgICAgeyAicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIEpTQzo6RnVuY3Rpb24s
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25SZW1vdmVFdmVudExpc3RlbmVyKSwgKGludHB0cl90KSAo
MikgfSB9LAogICAgIHsgIndpdGhTY3JpcHRTdGF0ZVZvaWQiLCBKU0M6OkZ1bmN0aW9uLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uV2l0aFNjcmlwdFN0YXRlVm9pZCksIChpbnRwdHJfdCkgKDApIH0g
fSwKQEAgLTEzMjQsNiArMTMyNiw3IEBAIHZvaWQgSlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCiAjZW5kaWYKICAgICBKU1ZNQ2xpZW50RGF0YSYgY2xpZW50RGF0YSA9
ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOwogICAgIHB1dERp
cmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5wcml2YXRlTWV0aG9kUHJpdmF0ZU5h
bWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCks
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZCksIFJlYWRPbmx5IHwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5wcml2
YXRlQWxzb01ldGhvZFByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0KCksIDAsIFN0cmluZygpLCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVB
bHNvTWV0aG9kKSwgUmVhZE9ubHkgfCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QoKSwgMCwgQVNDSUlMaXRlcmFsKCJbU3ltYm9sLkl0ZXJhdG9yXSIpLCBqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvblN5bWJvbEl0ZXJhdG9yKSwgUmVhZE9ubHkgfCBEb250RW51bSk7
CiB9CiAKQEAgLTQzODUsNiArNDM4OCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZChFeGVjU3RhdGUqCiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZUFsc29NZXRob2QoRXhl
Y1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IHN0YXRlLT50aGlzVmFs
dWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KHRo
aXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkKKyAgICAgICAgcmV0dXJu
IHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgInByaXZhdGVBbHNvTWV0aG9k
Iik7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU1Rlc3RPYmo6
OmluZm8oKSk7CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKKyAgICBp
ZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQorICAgICAgICByZXR1cm4g
dGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihzdGF0ZSkp
OworICAgIGF1dG8gYXJndW1lbnQgPSBzdGF0ZS0+YXJndW1lbnQoMCkudG9XVEZTdHJpbmcoc3Rh
dGUpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIEpTVmFsdWUgcmVzdWx0
ID0ganNTdHJpbmdXaXRoQ2FjaGUoc3RhdGUsIGltcGwucHJpdmF0ZUFsc29NZXRob2QoV1RGTW92
ZShhcmd1bWVudCkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25B
ZGRFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFs
dWUgPSBzdGF0ZS0+dGhpc1ZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKaW5kZXggNmQ2YTBmOGQ3MzNlZjhh
NmU3MWU2OTc3YzNlMTE5YWFhZmQ1MzEyMy4uYTQ2MDNhYTY2ODE4ODNmZjlkZmQwMGU5NjYxNTM2
Nzk4NzRhMTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAtMTYzLDYgKzE2Myw3IEBAIFdFQkNPUkVfRVhQ
T1JUIEBpbnRlcmZhY2UgRE9NVGVzdE9iaiA6IERPTU9iamVjdAogLSAodm9pZCltZXRob2RXaXRo
RXhjZXB0aW9uV2l0aE1lc3NhZ2U7CiAtICh2b2lkKWN1c3RvbU1ldGhvZDsKIC0gKHZvaWQpY3Vz
dG9tTWV0aG9kV2l0aEFyZ3M6KGludClsb25nQXJnIHN0ckFyZzooTlNTdHJpbmcgKilzdHJBcmcg
b2JqQXJnOihET01UZXN0T2JqICopb2JqQXJnOworLSAoTlNTdHJpbmcgKilwcml2YXRlQWxzb01l
dGhvZDooTlNTdHJpbmcgKilhcmd1bWVudDsKIC0gKHZvaWQpYWRkRXZlbnRMaXN0ZW5lcjooTlNT
dHJpbmcgKil0eXBlIGxpc3RlbmVyOihpZCA8RE9NRXZlbnRMaXN0ZW5lcj4pbGlzdGVuZXIgdXNl
Q2FwdHVyZTooQk9PTCl1c2VDYXB0dXJlOwogLSAodm9pZClyZW1vdmVFdmVudExpc3RlbmVyOihO
U1N0cmluZyAqKXR5cGUgbGlzdGVuZXI6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1
c2VDYXB0dXJlOihCT09MKXVzZUNhcHR1cmU7CiAtICh2b2lkKXdpdGhTY3JpcHRTdGF0ZVZvaWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdE9iai5tbQppbmRleCAxNmQ3Yjk0MTE2MGM1NDdjZDlkNGU0MzMxNzVjZTEyMjU5NDll
MTRjLi5jZGY4N2JhYjExNTgzMDQwOTI0YjIwNGU5N2RiZmU2Y2IzYWY2ZDdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmoubW0KQEAgLTEyMzgsNiArMTIzOCwxMiBAQAogCiAjZW5kaWYKIAorLSAoTlNTdHJpbmcgKilw
cml2YXRlQWxzb01ldGhvZDooTlNTdHJpbmcgKilhcmd1bWVudAoreworICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gSU1QTC0+cHJpdmF0ZUFsc29N
ZXRob2QoYXJndW1lbnQpOworfQorCiAtICh2b2lkKWFkZEV2ZW50TGlzdGVuZXI6KE5TU3RyaW5n
ICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1
cmU6KEJPT0wpdXNlQ2FwdHVyZQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbAppbmRleCAzNDExODFhNTE2MWYwMDU1YjQyMGE5OWViNWI4ZjllYThjZDhhMTdkLi40
YmFmY2RiN2FiODkxYmEyZjFkZjkyZWM1MmI3MzAxMGJmZWQ2NDdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xNTAsNyArMTUw
LDggQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBb
Q29uZGl0aW9uYWw9Q29uZGl0aW9uNCwgSlNCdWlsdGluXSByZWFkb25seSBhdHRyaWJ1dGUgVGVz
dE9iaiBqc0J1aWx0aW5SZWFkT25seUF0dHJpYnV0ZTsKIAogICAgIC8vIFByaXZhdGUgZXh0ZW5k
ZWQgYXR0cmlidXRlCi0gICAgW1ByaXZhdGVdIERPTVN0cmluZyBwcml2YXRlTWV0aG9kKERPTVN0
cmluZyBhcmd1bWVudCk7CisgICAgW1ByaXZhdGVPbmx5XSBET01TdHJpbmcgcHJpdmF0ZU1ldGhv
ZChET01TdHJpbmcgYXJndW1lbnQpOworICAgIFtQcml2YXRlQWxzb10gRE9NU3RyaW5nIHByaXZh
dGVBbHNvTWV0aG9kKERPTVN0cmluZyBhcmd1bWVudCk7CiAKICAgICB2b2lkIGFkZEV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFsIGJv
b2xlYW4gdXNlQ2FwdHVyZSA9IGZhbHNlKTsKICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFsIGJvb2xlYW4g
dXNlQ2FwdHVyZSA9IGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281744</attachid>
            <date>2016-06-21 07:35:00 -0700</date>
            <delta_ts>2016-06-21 08:16:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158777-20160621163451.patch</filename>
            <type>text/plain</type>
            <size>29234</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY2OGQ2MzNjNWZjNGVl
MWNiNDQxOWJmN2VkMjQ0YzkxMzQyN2E3MC4uOTJmOTE1YWRkZGMwMjI2ZTZlNzE5OGMyYzlhOWY5
MjE4MmNmY2I1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTA2LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQWRkIGJp
bmRpbmdzIGdlbmVyYXRvciBzdXBwb3J0IHRvIGFkZCBhIG5hdGl2ZSBKUyBmdW5jdGlvbiB0byBi
b3RoIGEgJ25hbWUnIGFuZCBhIHByaXZhdGUgJ0BuYW1lJyBzbG90CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3NzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgYSBuZXcgUHVibGljSWRlbnRp
ZmllciBrZXl3b3JkIHRvIGNvdmVyIHRoZSBjYXNlIG9mIHRoZSBzYW1lIGZ1bmN0aW9uIGV4cG9z
ZWQgcHVibGljbHkgYW5kIHByaXZhdGVseS4KKyAgICAgICAgUmVuYW1pbmcgUHJpdmF0ZSBrZXl3
b3JkIHRvIFByaXZhdGVJZGVudGlmaWVyLgorICAgICAgICBGdW5jdGlvbnMgZXhwb3NlZCBib3Ro
IHB1YmxpY2x5IGFuZCBwcml2YXRlbHkgc2hvdWxkIHNldCBib3RoIGtleXdvcmRzLgorICAgICAg
ICBCeSBkZWZhdWx0LCBmdW5jdGlvbnMgYXJlIHB1YmxpY2FsbHkgZXhwb3NlZC4KKworICAgICAg
ICBVcGRhdGVkIGJpbmRpbmcgZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIHB1YmxpYyBleHBvc3VyZSBl
eGNlcHQgaWYgUHJpdmF0ZUlkZW50aWZlciBpcyBzZXQgYW5kIFB1YmxpY0lkZW50aWZpZXIgaXMK
KyAgICAgICAgbm90IHNldC4KKworICAgICAgICBLZWVwaW5nIHNraXBwaW5nIG9mIE9iakMvR09i
amVjdCBiaW5kaW5nIGZvciBQcml2YXRlSWRlbnRpZmllci1vbmx5IGZ1bmN0aW9ucy4KKworICAg
ICAgICBDb3ZlcmVkIGJ5IHJlYmFzZWQgYmluZGluZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlk
bDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgor
ICAgICAgICAoU2tpcEZ1bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZSk6Cisg
ICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAgICAgICAoU2tpcEZ1bmN0aW9uKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwOgorICAgICAgICAo
d2Via2l0X2RvbV90ZXN0X29ial9wcml2YXRlX2Fsc29fbWV0aG9kKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RPYmpQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZCk6CisgICAgICAgIChXZWJD
b3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVBbHNvTWV0aG9kKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbToKKyAgICAgICAgKC1bRE9N
VGVzdE9iaiBwcml2YXRlQWxzb01ldGhvZDpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTYtMDYtMjAgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFVzZSB0aGUgTWF0aE9wZXJhdG9yIHRvIGhhbmRsZSBzb21l
IG5vbi1zdHJldGNoeSBvcGVyYXRvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hIZWFkZXJzLmlkbAppbmRleCA5OWNiMDhjZTVhNGRhOTkyYmNkZTI3OThjOWFkYWEyMWFk
YTczMTcyLi40MmM5MmJmZTQ1NTMxODQxOWFlMDJhMzg5ZWYyMjI1NWRiZGZmZDg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCkBAIC00Myw2ICs0
Myw2IEBAIGludGVyZmFjZSBGZXRjaEhlYWRlcnMgewogCiAgICAgaXRlcmFibGU8RE9NU3RyaW5n
LCBET01TdHJpbmc+OwogCi0gICAgW1ByaXZhdGUsIFJhaXNlc0V4Y2VwdGlvbiwgSW1wbGVtZW50
ZWRBcz1hcHBlbmRdIHZvaWQgYXBwZW5kRnJvbUpTKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcg
dmFsdWUpOwotICAgIFtQcml2YXRlLCBJbXBsZW1lbnRlZEFzPWZpbGxdIHZvaWQgZmlsbEZyb21K
UyhGZXRjaEhlYWRlcnM/IGhlYWRlcnMpOworICAgIFtQcml2YXRlSWRlbnRpZmllciwgUmFpc2Vz
RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWFwcGVuZF0gdm9pZCBhcHBlbmRGcm9tSlMoRE9NU3Ry
aW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBJbXBs
ZW1lbnRlZEFzPWZpbGxdIHZvaWQgZmlsbEZyb21KUyhGZXRjaEhlYWRlcnM/IGhlYWRlcnMpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCmlu
ZGV4IDJhZDNhYjJhMTYxOWU0MjE0ZmI0MWQ5YTgxYTI2MjVjMDRiMjZiNmIuLjc4NDlkMDkyYmFm
Y2MzYTE4OGE0MGZjMWRhYTI3NjU1ZmM5MGJmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbApAQCAtNTQsNiArNTQsNiBAQCBpbnRlcmZhY2Ug
RmV0Y2hSZXNwb25zZSB7CiAKICAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25dIEZldGNoUmVzcG9uc2UgY2xvbmUoKTsKIAotICAg
IFtQcml2YXRlLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgaW5pdGlhbGl6ZVdpdGgoRGljdGlvbmFy
eSBwYXJhbWV0ZXJzKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbl0g
dm9pZCBpbml0aWFsaXplV2l0aChEaWN0aW9uYXJ5IHBhcmFtZXRlcnMpOwogfTsKIEZldGNoUmVz
cG9uc2UgaW1wbGVtZW50cyBGZXRjaEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwKaW5kZXggOWE1NDZlNzkyMTkyNzJmMTU4
MzRiZWZiMDU3M2I5MDY5OWE1MDczNy4uOGFkMjMyNDc0NjdjNGE1MzRjZGEzNzkxYWY2NjIyMTkw
NGRmNjI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmlkbApAQCAtMzcsNSArMzcsNSBAQAogICAgIFtKU0J1aWx0aW5dIFByb21p
c2UgZ2V0VXNlck1lZGlhKERpY3Rpb25hcnkgb3B0aW9ucyk7CiAgICAgW1JhaXNlc0V4Y2VwdGlv
bl0gUHJvbWlzZSBlbnVtZXJhdGVEZXZpY2VzKCk7CiAKLSAgICBbUHJpdmF0ZSwgUmFpc2VzRXhj
ZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWdldFVzZXJNZWRpYV0gUHJvbWlzZSBnZXRVc2VyTWVkaWFG
cm9tSlMoRGljdGlvbmFyeSBvcHRpb25zKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNl
c0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1nZXRVc2VyTWVkaWFdIFByb21pc2UgZ2V0VXNlck1l
ZGlhRnJvbUpTKERpY3Rpb25hcnkgb3B0aW9ucyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAppbmRleCA5
MDgyODFlZTY2ODg3YzEwOTdiZjYxYTcwYzFmZGI2NDdhNTYwYjY0Li5hYmJiMWU2OTI2M2IwMWZk
NDM2ZWQwNDIyMWE2YTBhYTQwZDYzZGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtOTcsMTIgKzk3
LDEyIEBACiAKICAgICAvLyBQcml2YXRlIEFQSSB1c2VkIHRvIGltcGxlbWVudCB0aGUgb3Zlcmxv
YWRlZCBvcGVyYXRpb25zIGFib3ZlLiBRdWV1ZWQgZnVuY3Rpb25zIGFyZSBjYWxsZWQgYnkKICAg
ICAvLyBydW5RdWV1ZWRPcGVyYXRpb24oKSAoZGVmaW5lZCBpbiBSVENQZWVyQ29ubmVjdGlvbklu
dGVybmFscy5qcykuCi0gICAgW1ByaXZhdGVdIFByb21pc2UgcXVldWVkQ3JlYXRlT2ZmZXIob3B0
aW9uYWwgRGljdGlvbmFyeSBvZmZlck9wdGlvbnMpOwotICAgIFtQcml2YXRlXSBQcm9taXNlIHF1
ZXVlZENyZWF0ZUFuc3dlcihvcHRpb25hbCBEaWN0aW9uYXJ5IGFuc3dlck9wdGlvbnMpOwotICAg
IFtQcml2YXRlXSBQcm9taXNlIHF1ZXVlZFNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsKLSAgICBbUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRTZXRS
ZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAg
IFtQcml2YXRlXSBQcm9taXNlIHF1ZXVlZEFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUg
Y2FuZGlkYXRlKTsKLSAgICBbUHJpdmF0ZV0gUHJvbWlzZSBwcml2YXRlR2V0U3RhdHMoTWVkaWFT
dHJlYW1UcmFjaz8gc2VsZWN0b3IpOworICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZSBx
dWV1ZWRDcmVhdGVPZmZlcihvcHRpb25hbCBEaWN0aW9uYXJ5IG9mZmVyT3B0aW9ucyk7CisgICAg
W1ByaXZhdGVJZGVudGlmaWVyXSBQcm9taXNlIHF1ZXVlZENyZWF0ZUFuc3dlcihvcHRpb25hbCBE
aWN0aW9uYXJ5IGFuc3dlck9wdGlvbnMpOworICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlz
ZSBxdWV1ZWRTZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlw
dGlvbik7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBQcm9taXNlIHF1ZXVlZFNldFJlbW90ZURl
c2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbik7CisgICAgW1ByaXZh
dGVJZGVudGlmaWVyXSBQcm9taXNlIHF1ZXVlZEFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRh
dGUgY2FuZGlkYXRlKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2UgcHJpdmF0ZUdl
dFN0YXRzKE1lZGlhU3RyZWFtVHJhY2s/IHNlbGVjdG9yKTsKIAogICAgIFtSYWlzZXNFeGNlcHRp
b25dIFJUQ0RhdGFDaGFubmVsIGNyZWF0ZURhdGFDaGFubmVsKFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGxhYmVsLCBvcHRpb25hbCBEaWN0aW9uYXJ5IG9wdGlvbnMpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JH
T2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
R09iamVjdC5wbQppbmRleCBkZjRkZGRhNTQzNDYyZDg1YWJmZjRlZDgyNTU4OWE5MzczMzA5NTJk
Li4zYjA0N2NlYjMwOGI3MDBiZDFmYTQzZTFhNTE4NmQ0Mzg5MDIyNDUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3Qu
cG0KQEAgLTM4NCw4ICszODQsNyBAQCBzdWIgU2tpcEZ1bmN0aW9uIHsKIAogICAgIHJldHVybiAx
IGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNCdWlsdGlu
In07CiAKLSAgICByZXR1cm4gMSBpZiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IlByaXZhdGUifTsKLQorICAgIHJldHVybiAxIGlmICRmdW5jdGlvbi0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZUlkZW50aWZpZXIifSBhbmQgbm90ICRm
dW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHVibGljSWRlbnRpZmll
ciJ9OwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDkxMDMwMjg4NjY2NGZjYjMyOGE4MThm
MDVlZjQ5NDIzMDA1MjRkNDkuLjE2MzFjMWUzMmFlMmE0NmI4YjU4Yjc0NTI5YzdlNTlmMjljMGE3
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC0xNjE4LDcgKzE2MTgsNyBAQCBzdWIgR2VuZXJhdGVQcm9wZXJ0aWVzSGFz
aFRhYmxlCiAgICAgbXkgQGZ1bmN0aW9ucyA9IEB7JGludGVyZmFjZS0+ZnVuY3Rpb25zfTsKICAg
ICBwdXNoKEBmdW5jdGlvbnMsIEB7JGludGVyZmFjZS0+aXRlcmFibGUtPmZ1bmN0aW9uc30pIGlm
ICRpbnRlcmZhY2UtPml0ZXJhYmxlOwogICAgIGZvcmVhY2ggbXkgJGZ1bmN0aW9uIChAZnVuY3Rp
b25zKSB7Ci0gICAgICAgIG5leHQgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiUHJpdmF0ZSJ9KTsKKyAgICAgICAgbmV4dCBpZiAoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlSWRlbnRpZmllciJ9IGFuZCBub3Qg
JGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQdWJsaWNJZGVudGlm
aWVyIn0pOwogICAgICAgICBuZXh0IGlmICgkZnVuY3Rpb24tPmlzU3RhdGljKTsKICAgICAgICAg
bmV4dCBpZiAkZnVuY3Rpb24tPntvdmVybG9hZEluZGV4fSAmJiAkZnVuY3Rpb24tPntvdmVybG9h
ZEluZGV4fSA+IDE7CiAgICAgICAgIG5leHQgaWYgT3BlcmF0aW9uU2hvdWxkQmVPbkluc3RhbmNl
KCRpbnRlcmZhY2UsICRmdW5jdGlvbikgIT0gJGlzSW5zdGFuY2U7CkBAIC0yMjk1LDcgKzIyOTUs
NyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAgIG15ICRmaXJzdFByaXZh
dGVGdW5jdGlvbiA9IDE7CiAgICAgICAgIGZvcmVhY2ggbXkgJGZ1bmN0aW9uIChAeyRpbnRlcmZh
Y2UtPmZ1bmN0aW9uc30pIHsKLSAgICAgICAgICAgIG5leHQgdW5sZXNzICgkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlByaXZhdGUifSk7CisgICAgICAgICAgICBu
ZXh0IHVubGVzcyAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQ
cml2YXRlSWRlbnRpZmllciJ9KTsKICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJXZWJD
b3JlSlNDbGllbnREYXRhLmgiKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IEpTVk1DbGllbnREYXRhJiBjbGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRh
Kj4odm0uY2xpZW50RGF0YSk7XG4iKSBpZiAkZmlyc3RQcml2YXRlRnVuY3Rpb247CiAgICAgICAg
ICAgICAkZmlyc3RQcml2YXRlRnVuY3Rpb24gPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5kZXggNjBhM2I5Mjc0YjA0
NTEzNzE4MTQ2YTljYTI2YTQxMmZkM2VkZDQ5ZC4uZGMxZTY3NDBmZWEzNjBlOWU4MGQxNjZkN2Ex
OWMyMmIyN2VkZWY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCkBAIC01NTAsNyArNTUwLDcgQEAgc3ViIFNraXBGdW5j
dGlvbgogICAgICAgICByZXR1cm4gMSBpZiAkcGFyYW0tPmlzVmFyaWFkaWM7CiAgICAgfQogCi0g
ICAgcmV0dXJuIDEgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJQcml2YXRlIn07CisgICAgcmV0dXJuIDEgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlSWRlbnRpZmllciJ9IGFuZCBub3QgJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQdWJsaWNJZGVudGlmaWVyIn07CiAKICAg
ICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CmluZGV4IDYxNGViYTc0NTYzMTE2MGU3M2I1YTNmOTk3N2E3MWQyMDMw
MjEyMTcuLjMxOGMyMGU0OTFkMjI3MjNhNTliNmRlNWIwNzdiZDUxOGFkNDU1NmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAt
MTA2LDcgKzEwNiw4IEBAIE9iakNQcm90b2NvbAogT2JqQ1VzZURlZmF1bHRWaWV3CiBPdmVycmlk
ZUJ1aWx0aW5zCiBQYXNzQ29udGV4dAotUHJpdmF0ZQorUHJpdmF0ZUlkZW50aWZpZXIKK1B1Ymxp
Y0lkZW50aWZpZXIKIFB1dEZvcndhcmRzPSoKIFJhaXNlc0V4Y2VwdGlvbgogUmFpc2VzRXhjZXB0
aW9uV2l0aE1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggZTI1
NThjODMyYzE0OTY5YWM2MGM0Njg3MmUyOWExNWVkNWRlOGFhOS4uOWQ5YmEwM2Y5NTQ1ZDJhZDg1
ZmFiYjgwMDM2M2RjMTczNjYxZDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5j
cHAKQEAgLTE0OTQsNiArMTQ5NCwxNyBAQCB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9k
X3dpdGhfZXhjZXB0aW9uX3dpdGhfbWVzc2FnZShXZWJLaXRET01UZXN0T2JqKiBzZQogICAgIGl0
ZW0tPm1ldGhvZFdpdGhFeGNlcHRpb25XaXRoTWVzc2FnZSgpOwogfQogCitnY2hhciogd2Via2l0
X2RvbV90ZXN0X29ial9wdWJsaWNfYW5kX3ByaXZhdGVfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIGNvbnN0IGdjaGFyKiBhcmd1bWVudCkKK3sKKyAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19URVNUX09CSihzZWxmKSwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoYXJndW1lbnQs
IDApOworICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Cisg
ICAgV1RGOjpTdHJpbmcgY29udmVydGVkQXJndW1lbnQgPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgo
YXJndW1lbnQpOworICAgIGdjaGFyKiByZXN1bHQgPSBjb252ZXJ0VG9VVEY4U3RyaW5nKGl0ZW0t
PnB1YmxpY0FuZFByaXZhdGVNZXRob2QoY29udmVydGVkQXJndW1lbnQpKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCiB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVf
dm9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCA4YjA1
NjYyMWVhMzQ3MjZjNmMxM2VhODAyMGI4MzdmZmJiMGE2ZjJiLi41OTQyZDExMmM1N2M2NTY2NGQ5
MjM4NDZjZDIxZDFhYjhhMWY1NjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCkBA
IC0zOTQsNiArMzk0LDE4IEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial9t
ZXRob2Rfd2l0aF9leGNlcHRpb25fd2l0aF9tZXNzYWdlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
OwogCiAvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfcHVibGljX2FuZF9wcml2YXRlX21ldGhv
ZDoKKyAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCisgKiBAYXJndW1lbnQ6IEEgI2djaGFy
CisgKgorICogUmV0dXJuczogQSAjZ2NoYXIKKyAqCisgKiBTdGFiaWxpdHk6IFVuc3RhYmxlCisq
Ki8KK1dFQktJVF9BUEkgZ2NoYXIqCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3B1YmxpY19hbmRfcHJp
dmF0ZV9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIGFyZ3VtZW50
KTsKKworLyoqCiAgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWQ6
CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVzdE9iagogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNDJmMDMz
MGJiMWYzM2Q1YWNkODBmMzY0YjgyNTRkOTZiYTY4YzU0Ni4uZjJiYTZkYWRmYmE0OTJhOWRmOTRi
MDUwNjhjZTY5Y2E2MjBlMTJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTYwNyw2ICs2MDcsNyBAQCBKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25N
ZXRob2RXaXRoRXhjZXB0aW9uVwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9kKEpTQzo6RXhlY1N0YXRlKik7CiBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25DdXN0b21NZXRob2RXaXRoQXJncyhKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhv
ZChKU0M6OkV4ZWNTdGF0ZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHVibGljQW5kUHJpdmF0ZU1ldGhvZChKU0M6OkV4ZWNT
dGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQWRkRXZlbnRMaXN0ZW5lcihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUmVtb3Zl
RXZlbnRMaXN0ZW5lcihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uV2l0aFNjcmlwdFN0YXRlVm9pZChK
U0M6OkV4ZWNTdGF0ZSopOwpAQCAtMTA2MCw3ICsxMDYxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgNjUsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDEzOCwgLTEgfSwKKyAgICB7IDEzOSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMjEs
IDUxMyB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMDY5LDI4ICsxMDcwLDI4IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4
WzU1Ml0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgNjMsIC0x
IH0sCi0gICAgeyAyMDMsIC0xIH0sCi0gICAgeyAxODcsIC0xIH0sCisgICAgeyAyMDQsIC0xIH0s
CisgICAgeyAxODgsIC0xIH0sCiAgICAgeyA1NiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTQw
LCAtMSB9LAorICAgIHsgMTQxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMTUsIC0xIH0sCisg
ICAgeyAxMTYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDEyOSwgLTEgfSwKKyAgICB7
IDEzMCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgNzksIC0xIH0sCiAgICAgeyAyMCwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDEzMiwgNTMzIH0sCisgICAgeyAxMzMsIDUzMyB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTA5OSw3ICsxMTAwLDcgQEAgc3Rh
dGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxl
SW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKLSAgICB7IDE0OSwgLTEgfSwKKyAgICB7IDE1MCwgLTEgfSwKICAgICB7IDM0LCA1
MjUgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMTA3LDEyICsxMTA4
LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90
b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxNzAsIC0xIH0sCisgICAgeyAxNzEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCisgICAgeyAx
MTUsIC0xIH0sCiAgICAgeyAxMTQsIC0xIH0sCi0gICAgeyAxMTMsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMTI1LDcgKzExMjYs
NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90
eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IDUsIC0xIH0sCi0gICAgeyAxNzgsIC0xIH0sCisgICAgeyAxNzksIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMTM5LDcg
KzExNDAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2Jq
UHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTA2LCAtMSB9LAorICAgIHsgMTA3LCAtMSB9
LAogICAgIHsgOTcsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAt
MTE1MCwxNyArMTE1MSwxNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXgg
SlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IDksIC0xIH0sCi0gICAgeyAxNjQsIC0xIH0sCisgICAgeyAx
NjUsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyA5MCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTU3LCAtMSB9LAor
ICAgIHsgMTU4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDg0LCAtMSB9LAotICAgIHsgMjAwLCAtMSB9LAorICAgIHsgMjAxLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAzMSwgNTMwIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTExNzAsMTggKzEx
NzEsMTggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialBy
b3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE4NCwgLTEgfSwKKyAgICB7IDE4NSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMzEsIDU0NyB9LAotICAg
IHsgMTA5LCAtMSB9LAorICAgIHsgMTMyLCA1NDcgfSwKKyAgICB7IDExMCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE1Mywg
LTEgfSwKKyAgICB7IDE1NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgNiwgLTEgfSwK
LSAgICB7IDEzMCwgLTEgfSwKKyAgICB7IDEzMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTExOTMsMTYgKzExOTQsMTYgQEAgc3Rh
dGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxl
SW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAotICAgIHsgMTQ0LCAtMSB9LAorICAgIHsgMTQ1LCAtMSB9LAogICAgIHsgNDgsIC0x
IH0sCiAgICAgeyA2NywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMjAxLCAtMSB9LAor
ICAgIHsgMjAyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgMzksIC0xIH0sCi0gICAgeyAxMjQsIDUzMiB9LAorICAgIHsgMTI1
LCA1MzIgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTAzLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCkBAIC0xMjEwLDE5ICsxMjExLDE5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhh
c2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxNzEsIC0xIH0s
Ci0gICAgeyAxNjMsIC0xIH0sCisgICAgeyAxNzIsIC0xIH0sCisgICAgeyAxNjQsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAy
MDIsIC0xIH0sCisgICAgeyAyMDMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgNzMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgMTQ1LCAtMSB9LAotICAgIHsgLTEsIC0xIH0sCisgICAgeyAxNDYsIC0xIH0sCisgICAg
eyAxMDYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCkBAIC0xMjM4LDE3ICsxMjM5LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFj
dEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxNTYsIC0x
IH0sCi0gICAgeyAxNDIsIC0xIH0sCisgICAgeyAxNTcsIC0xIH0sCisgICAgeyAxNDMsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDEyNSwgLTEgfSwKKyAgICB7IDEyNiwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE4MCwgNTQ1
IH0sCisgICAgeyAxODEsIDU0NSB9LAogICAgIHsgOTksIDU0MSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKQEAgLTEyOTIsMjEgKzEyOTMsMjEgQEAgc3RhdGljIGNvbnN0IHN0
cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9
IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTAsIDUxMiB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyAxNzQsIC0xIH0sCisgICAgeyAxNzUsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDc1LCA1NDMgfSwKLSAgICB7IDE3OSwgLTEgfSwKKyAgICB7IDE4MCwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAotICAgIHsgMTE4LCA1NDkgfSwKKyAgICB7IDExOSwgNTQ5IH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxNzUsIC0xIH0sCisgICAg
eyAxNzYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDExNiwgLTEgfSwKKyAgICB7IDEx
NywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKQEAgLTEzMTksOSArMTMyMCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJ
bmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyA1NCwgNTE3
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTUyLCAtMSB9LAor
ICAgIHsgMTUzLCAtMSB9LAogICAgIHsgMTAwLCAtMSB9LAotICAgIHsgMTYxLCAtMSB9LAorICAg
IHsgMTYyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LApAQCAtMTMzMSwzNCArMTMzMiwzNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBh
Y3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDQ5LCAtMSB9LAotICAgIHsgMTgyLCAt
MSB9LAorICAgIHsgMTgzLCAtMSB9LAogICAgIHsgMjMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDE5MiwgLTEgfSwKKyAgICB7IDE5MywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCi0gICAgeyAxNTgsIC0xIH0sCisgICAgeyAxNTksIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMTcsIC0xIH0sCisg
ICAgeyAxMTgsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTcyLCAt
MSB9LAotICAgIHsgMTY3LCAtMSB9LAorICAgIHsgMTczLCAtMSB9LAorICAgIHsgMTY4LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgMzIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTg1
LCAtMSB9LAorICAgIHsgMTg2LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA4MiwgNTM1
IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTEzOTIsNyArMTM5Myw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAg
ICB7IDExMiwgLTEgfSwKKyAgICB7IDExMywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTE0MDEsNyArMTQwMiw3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4
WzU1Ml0gPSB7CiAgICAgeyAzNiwgNTI3IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgMTQzLCA1NDIgfSwKKyAgICB7IDE0NCwgNTQyIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IDUwLCA1NDYgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTQwOSw3ICsxNDEwLDcg
QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlw
ZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKLSAgICB7IDE5NiwgNTUwIH0sCisgICAgeyAxOTcsIDU1MCB9LAogICAg
IHsgMTcsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTQzMiw3
ICsxNDMzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9i
alByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTgs
IDUxNCB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxOTMsIC0xIH0sCisgICAgeyAxOTQsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDIsIDUxOSB9LAogICAgIHsgLTEsIC0xIH0sCkBA
IC0xNDQwLDcgKzE0NDEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXgg
SlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTA4LCAtMSB9LAorICAgIHsg
MTA5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDM1LCAt
MSB9LApAQCAtMTQ1MiwzNiArMTQ1MywzNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RI
YXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDUzLCA1MjYgfSwKLSAgICB7IDE5MCwgLTEg
fSwKKyAgICB7IDE5MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyA3NCwgLTEgfSwKLSAgICB7IDE5OCwgLTEgfSwKKyAgICB7IDE5OSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMjIsIDU0MCB9LAorICAgIHsgMTIz
LCA1NDAgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTI3LCAtMSB9LAorICAgIHsgMTI4LCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgMTM2LCAtMSB9LAorICAgIHsgMTM3LCAtMSB9LAogICAgIHsgMTksIC0xIH0sCiAgICAg
eyAyNSwgNTQ0IH0sCi0gICAgeyAxMzcsIC0xIH0sCisgICAgeyAxMzgsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTMzLCAtMSB9LAorICAgIHsgMTM0LCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAxMDEsIC0xIH0sCi0gICAgeyAxODEsIC0xIH0sCisgICAg
eyAxODIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCi0gICAgeyAxNDgsIC0xIH0sCisgICAgeyAxNDksIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IDE2LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xNDkwLDcgKzE0OTEsNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA5NiwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAotICAgIHsgMTU5LCAtMSB9LAorICAgIHsgMTYwLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTUwMiwxMSAr
MTUwMywxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2Jq
UHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTkxLCAtMSB9LAorICAgIHsgMTkyLCAtMSB9
LAogICAgIHsgNjgsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDgwLCAtMSB9LAotICAg
IHsgMTc2LCAtMSB9LAorICAgIHsgMTc3LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTUxNywxNyArMTUxOCwxNyBAQCBzdGF0aWMg
Y29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRl
eFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgMTIwLCA1MjggfSwKKyAgICB7IDEyMSwgNTI4IH0sCiAgICAgeyAzNywgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTIzLCAtMSB9LAorICAgIHsgMTI0LCAtMSB9LAog
ICAgIHsgNTIsIDUzNiB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgNTksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE4OCwg
LTEgfSwKKyAgICB7IDE4OSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTA1LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xNTQxLDIwICsxNTQyLDIwIEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDE1LCA1MTYgfSwKICAgICB7IDU1LCAtMSB9LAot
ICAgIHsgMTE5LCA1MzQgfSwKKyAgICB7IDEyMCwgNTM0IH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IDcsIDUzNyB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDEy
MSwgLTEgfSwKKyAgICB7IDEyMiwgLTEgfSwKICAgICB7IDgxLCA1MjMgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgMTY2LCAtMSB9LAorICAgIHsgMTY3LCAtMSB9LAogICAgIHsgODksIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyAxNjAsIC0xIH0sCisgICAgeyAxNjEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEy
LCA1MjAgfSwKICAgICB7IDEzLCA1MTUgfSwKQEAgLTE1NjksMzQgKzE1NzAsMzQgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5k
ZXhbNTUyXSA9IHsKICAgICB7IDkyLCAtMSB9LAogICAgIHsgOTUsIC0xIH0sCiAgICAgeyAxMDIs
IC0xIH0sCi0gICAgeyAxMDcsIC0xIH0sCi0gICAgeyAxMTAsIC0xIH0sCisgICAgeyAxMDgsIC0x
IH0sCiAgICAgeyAxMTEsIC0xIH0sCi0gICAgeyAxMjYsIC0xIH0sCi0gICAgeyAxMjgsIC0xIH0s
Ci0gICAgeyAxMzQsIC0xIH0sCisgICAgeyAxMTIsIC0xIH0sCisgICAgeyAxMjcsIC0xIH0sCisg
ICAgeyAxMjksIC0xIH0sCiAgICAgeyAxMzUsIC0xIH0sCi0gICAgeyAxMzksIC0xIH0sCi0gICAg
eyAxNDEsIC0xIH0sCi0gICAgeyAxNDYsIC0xIH0sCisgICAgeyAxMzYsIC0xIH0sCisgICAgeyAx
NDAsIC0xIH0sCisgICAgeyAxNDIsIC0xIH0sCiAgICAgeyAxNDcsIC0xIH0sCi0gICAgeyAxNTAs
IC0xIH0sCisgICAgeyAxNDgsIC0xIH0sCiAgICAgeyAxNTEsIC0xIH0sCi0gICAgeyAxNTQsIC0x
IH0sCisgICAgeyAxNTIsIC0xIH0sCiAgICAgeyAxNTUsIC0xIH0sCi0gICAgeyAxNjIsIC0xIH0s
Ci0gICAgeyAxNjUsIC0xIH0sCi0gICAgeyAxNjgsIC0xIH0sCisgICAgeyAxNTYsIC0xIH0sCisg
ICAgeyAxNjMsIC0xIH0sCisgICAgeyAxNjYsIC0xIH0sCiAgICAgeyAxNjksIC0xIH0sCi0gICAg
eyAxNzMsIC0xIH0sCi0gICAgeyAxNzcsIC0xIH0sCi0gICAgeyAxODMsIC0xIH0sCi0gICAgeyAx
ODYsIC0xIH0sCi0gICAgeyAxODksIC0xIH0sCi0gICAgeyAxOTQsIC0xIH0sCisgICAgeyAxNzAs
IC0xIH0sCisgICAgeyAxNzQsIC0xIH0sCisgICAgeyAxNzgsIC0xIH0sCisgICAgeyAxODQsIC0x
IH0sCisgICAgeyAxODcsIC0xIH0sCisgICAgeyAxOTAsIC0xIH0sCiAgICAgeyAxOTUsIC0xIH0s
Ci0gICAgeyAxOTcsIC0xIH0sCi0gICAgeyAxOTksIC0xIH0sCisgICAgeyAxOTYsIC0xIH0sCisg
ICAgeyAxOTgsIC0xIH0sCisgICAgeyAyMDAsIC0xIH0sCiB9OwogCiAKQEAgLTE3NDQsNiArMTc0
NSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJs
ZVZhbHVlc1tdID0KICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwK
ICNlbmRpZgorICAgIHsgInB1YmxpY0FuZFByaXZhdGVNZXRob2QiLCBKU0M6OkZ1bmN0aW9uLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uUHVibGljQW5kUHJpdmF0ZU1ldGhvZCksIChpbnRwdHJfdCkg
KDEpIH0gfSwKICAgICB7ICJhZGRFdmVudExpc3RlbmVyIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50TGlzdGVuZXIpLCAoaW50cHRyX3QpICgyKSB9IH0sCiAg
ICAgeyAicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25SZW1vdmVFdmVudExpc3RlbmVyKSwgKGludHB0cl90KSAoMikgfSB9LAogICAgIHsg
IndpdGhTY3JpcHRTdGF0ZVZvaWQiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uV2l0aFNjcmlwdFN0YXRlVm9pZCksIChpbnRwdHJfdCkgKDApIH0gfSwKQEAgLTE4NjAsNyAr
MTg2Miw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVU
YWJsZVZhbHVlc1tdID0KICAgICB7ICJyZWFkb25seSIsIERvbnREZWxldGUgfCBSZWFkT25seSB8
IENvbnN0YW50SW50ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMCkgfSB9LAogfTsK
IAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMjA0
LCA1MTEsIHRydWUsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCBKU1Rlc3RPYmpQcm90
b3R5cGVUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialByb3Rv
dHlwZVRhYmxlID0geyAyMDUsIDUxMSwgdHJ1ZSwgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1
ZXMsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXggfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3RPYmpQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RPYmplY3RQcm90b3R5cGUiLCAmQmFzZTo6
c19pbmZvLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0T2JqUHJvdG90eXBlKSB9OwogCiB2b2lkIEpTVGVzdE9ialByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtKQpAQCAtMTg4Myw2ICsxODg1LDcgQEAgdm9pZCBKU1Rlc3RPYmpQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICNlbmRpZgogICAgIEpTVk1DbGllbnREYXRhJiBj
bGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7
CiAgICAgcHV0RGlyZWN0KHZtLCBjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLnByaXZhdGVNZXRo
b2RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCgpLCAw
LCBTdHJpbmcoKSwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Qcml2YXRlTWV0aG9kKSwgUmVh
ZE9ubHkgfCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0KHZtLCBjbGllbnREYXRhLmJ1aWx0aW5O
YW1lcygpLnB1YmxpY0FuZFByaXZhdGVNZXRob2RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCgpLCAwLCBTdHJpbmcoKSwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25QdWJsaWNBbmRQcml2YXRlTWV0aG9kKSwgUmVhZE9ubHkgfCBEb250RW51bSk7CiAg
ICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QoKSwgMCwgQVNDSUlMaXRlcmFsKCJbU3ltYm9s
Lkl0ZXJhdG9yXSIpLCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblN5bWJvbEl0ZXJhdG9yKSwg
UmVhZE9ubHkgfCBEb250RW51bSk7CiB9CiAKQEAgLTQ5NDQsNiArNDk0NywyMyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1l
dGhvZChFeGVjU3RhdGUqCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQog
CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
UHVibGljQW5kUHJpdmF0ZU1ldGhvZChFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIEpTVmFsdWUg
dGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgpOworICAgIGF1dG8gY2FzdGVkVGhpcyA9IGpz
RHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAoVU5MSUtFTFkoIWNh
c3RlZFRoaXMpKQorICAgICAgICByZXR1cm4gdGhyb3dUaGlzVHlwZUVycm9yKCpzdGF0ZSwgIlRl
c3RPYmoiLCAicHVibGljQW5kUHJpdmF0ZU1ldGhvZCIpOworICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkpOworICAgIGF1dG8mIGltcGwg
PSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CisgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5hcmd1bWVu
dENvdW50KCkgPCAxKSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihzdGF0ZSwgY3JlYXRl
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTsKKyAgICBhdXRvIGFyZ3VtZW50ID0gc3Rh
dGUtPmFyZ3VtZW50KDApLnRvV1RGU3RyaW5nKHN0YXRlKTsKKyAgICBpZiAoVU5MSUtFTFkoc3Rh
dGUtPmhhZEV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nV2l0aENhY2hlKHN0YXRl
LCBpbXBsLnB1YmxpY0FuZFByaXZhdGVNZXRob2QoV1RGTW92ZShhcmd1bWVudCkpKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25BZGRFdmVudExpc3RlbmVyKEV4ZWNT
dGF0ZSogc3RhdGUpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBzdGF0ZS0+dGhpc1ZhbHVl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLmgKaW5kZXggNmQ2YTBmOGQ3MzNlZjhhNmU3MWU2OTc3YzNlMTE5YWFhZmQ1
MzEyMy4uNjkyOGFiNzNmOWRhNjJmNzVmZjQ4NzMyZTg1NmY5MWQwMmRiODEzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmouaApAQCAtMTYzLDYgKzE2Myw3IEBAIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgRE9NVGVz
dE9iaiA6IERPTU9iamVjdAogLSAodm9pZCltZXRob2RXaXRoRXhjZXB0aW9uV2l0aE1lc3NhZ2U7
CiAtICh2b2lkKWN1c3RvbU1ldGhvZDsKIC0gKHZvaWQpY3VzdG9tTWV0aG9kV2l0aEFyZ3M6KGlu
dClsb25nQXJnIHN0ckFyZzooTlNTdHJpbmcgKilzdHJBcmcgb2JqQXJnOihET01UZXN0T2JqICop
b2JqQXJnOworLSAoTlNTdHJpbmcgKilwdWJsaWNBbmRQcml2YXRlTWV0aG9kOihOU1N0cmluZyAq
KWFyZ3VtZW50OwogLSAodm9pZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlz
dGVuZXI6KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVz
ZUNhcHR1cmU7CiAtICh2b2lkKXJlbW92ZUV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBs
aXN0ZW5lcjooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wp
dXNlQ2FwdHVyZTsKIC0gKHZvaWQpd2l0aFNjcmlwdFN0YXRlVm9pZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0gYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCmlu
ZGV4IDE2ZDdiOTQxMTYwYzU0N2NkOWQ0ZTQzMzE3NWNlMTIyNTk0OWUxNGMuLmY0OTQ2OGYyZTc5
NTgwMGU1OWNlNTJmMTliMTcwMTdkMzQ0ZTgyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAtMTIzOCw2
ICsxMjM4LDEyIEBACiAKICNlbmRpZgogCistIChOU1N0cmluZyAqKXB1YmxpY0FuZFByaXZhdGVN
ZXRob2Q6KE5TU3RyaW5nICopYXJndW1lbnQKK3sKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CisgICAgcmV0dXJuIElNUEwtPnB1YmxpY0FuZFByaXZhdGVNZXRob2Qo
YXJndW1lbnQpOworfQorCiAtICh2b2lkKWFkZEV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlw
ZSBsaXN0ZW5lcjooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJP
T0wpdXNlQ2FwdHVyZQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlk
bAppbmRleCAzNDExODFhNTE2MWYwMDU1YjQyMGE5OWViNWI4ZjllYThjZDhhMTdkLi43NDAxNWNl
MDZhMjE1YWI4ZDM3MDBiYzBjYjk4ODg4NmI2NDQ2OWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xNTAsNyArMTUwLDggQEAg
ZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbQ29uZGl0
aW9uYWw9Q29uZGl0aW9uNCwgSlNCdWlsdGluXSByZWFkb25seSBhdHRyaWJ1dGUgVGVzdE9iaiBq
c0J1aWx0aW5SZWFkT25seUF0dHJpYnV0ZTsKIAogICAgIC8vIFByaXZhdGUgZXh0ZW5kZWQgYXR0
cmlidXRlCi0gICAgW1ByaXZhdGVdIERPTVN0cmluZyBwcml2YXRlTWV0aG9kKERPTVN0cmluZyBh
cmd1bWVudCk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBET01TdHJpbmcgcHJpdmF0ZU1ldGhv
ZChET01TdHJpbmcgYXJndW1lbnQpOworICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRl
bnRpZmllcl0gRE9NU3RyaW5nIHB1YmxpY0FuZFByaXZhdGVNZXRob2QoRE9NU3RyaW5nIGFyZ3Vt
ZW50KTsKIAogICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRM
aXN0ZW5lciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOwog
ICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281748</attachid>
            <date>2016-06-21 08:16:39 -0700</date>
            <delta_ts>2016-06-21 08:45:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-158777-20160621171630.patch</filename>
            <type>text/plain</type>
            <size>29223</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY2OGQ2MzNjNWZjNGVl
MWNiNDQxOWJmN2VkMjQ0YzkxMzQyN2E3MC4uYTZkZjgwY2UxNzg5YzFlYTViYjFiM2U0NzU3YjJj
OGZkODhmN2MzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTA2LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgQWRkIGJpbmRpbmdzIGdl
bmVyYXRvciBzdXBwb3J0IHRvIGFkZCBhIG5hdGl2ZSBKUyBmdW5jdGlvbiB0byBib3RoIGEgJ25h
bWUnIGFuZCBhIHByaXZhdGUgJ0BuYW1lJyBzbG90CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3NzcKKworICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IENhcmxzb24uCisKKyAgICAgICAgQWRkaW5nIGEgbmV3IFB1YmxpY0lkZW50aWZpZXIga2V5d29y
ZCB0byBjb3ZlciB0aGUgY2FzZSBvZiB0aGUgc2FtZSBmdW5jdGlvbiBleHBvc2VkIHB1YmxpY2x5
IGFuZCBwcml2YXRlbHkuCisgICAgICAgIFJlbmFtaW5nIFByaXZhdGUga2V5d29yZCB0byBQcml2
YXRlSWRlbnRpZmllci4KKyAgICAgICAgRnVuY3Rpb25zIGV4cG9zZWQgYm90aCBwdWJsaWNseSBh
bmQgcHJpdmF0ZWx5IHNob3VsZCBzZXQgYm90aCBrZXl3b3Jkcy4KKyAgICAgICAgQnkgZGVmYXVs
dCwgZnVuY3Rpb25zIGFyZSBwdWJsaWNhbGx5IGV4cG9zZWQuCisKKyAgICAgICAgVXBkYXRlZCBi
aW5kaW5nIGdlbmVyYXRvciB0byBnZW5lcmF0ZSBwdWJsaWMgZXhwb3N1cmUgZXhjZXB0IGlmIFBy
aXZhdGVJZGVudGlmZXIgaXMgc2V0IGFuZCBQdWJsaWNJZGVudGlmaWVyIGlzCisgICAgICAgIG5v
dCBzZXQuCisKKyAgICAgICAgS2VlcGluZyBza2lwcGluZyBvZiBPYmpDL0dPYmplY3QgYmluZGlu
ZyBmb3IgUHJpdmF0ZUlkZW50aWZpZXItb25seSBmdW5jdGlvbnMuCisKKyAgICAgICAgQ292ZXJl
ZCBieSByZWJhc2VkIGJpbmRpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0Zl
dGNoSGVhZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKyAgICAgICAgKFNr
aXBGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06CisgICAgICAgIChHZW5lcmF0ZVByb3BlcnRpZXNIYXNoVGFibGUpOgorICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yT2JqQy5wbToKKyAgICAgICAgKFNraXBGdW5jdGlvbik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21f
dGVzdF9vYmpfcHJpdmF0ZV9hbHNvX21ldGhvZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2Jq
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvblByaXZhdGVNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
T2JqUHJvdG90eXBlRnVuY3Rpb25Qcml2YXRlQWxzb01ldGhvZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICgtW0RPTVRlc3RPYmogcHJp
dmF0ZUFsc29NZXRob2Q6XSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RP
YmouaWRsOgorCiAyMDE2LTA2LTIwICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVc2UgdGhlIE1hdGhPcGVyYXRvciB0byBoYW5kbGUgc29tZSBub24tc3RyZXRj
aHkgb3BlcmF0b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoSGVhZGVycy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5pZGwKaW5kZXggOTljYjA4Y2U1YTRkYTk5MmJjZGUyNzk4YzlhZGFhMjFhZGE3MzE3Mi4uNDJj
OTJiZmU0NTUzMTg0MTlhZTAyYTM4OWVmMjIyNTVkYmRmZmQ4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbApAQCAtNDMsNiArNDMsNiBAQCBpbnRl
cmZhY2UgRmV0Y2hIZWFkZXJzIHsKIAogICAgIGl0ZXJhYmxlPERPTVN0cmluZywgRE9NU3RyaW5n
PjsKIAotICAgIFtQcml2YXRlLCBSYWlzZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YXBwZW5k
XSB2b2lkIGFwcGVuZEZyb21KUyhET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKLSAg
ICBbUHJpdmF0ZSwgSW1wbGVtZW50ZWRBcz1maWxsXSB2b2lkIGZpbGxGcm9tSlMoRmV0Y2hIZWFk
ZXJzPyBoZWFkZXJzKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbiwg
SW1wbGVtZW50ZWRBcz1hcHBlbmRdIHZvaWQgYXBwZW5kRnJvbUpTKERPTVN0cmluZyBuYW1lLCBE
T01TdHJpbmcgdmFsdWUpOworICAgIFtQcml2YXRlSWRlbnRpZmllciwgSW1wbGVtZW50ZWRBcz1m
aWxsXSB2b2lkIGZpbGxGcm9tSlMoRmV0Y2hIZWFkZXJzPyBoZWFkZXJzKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAppbmRleCAyYWQzYWIy
YTE2MTllNDIxNGZiNDFkOWE4MWEyNjI1YzA0YjI2YjZiLi43ODQ5ZDA5MmJhZmNjM2ExODhhNDBm
YzFkYWEyNzY1NWZjOTBiZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwKQEAgLTU0LDYgKzU0LDYgQEAgaW50ZXJmYWNlIEZldGNoUmVzcG9u
c2UgewogCiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
UmFpc2VzRXhjZXB0aW9uXSBGZXRjaFJlc3BvbnNlIGNsb25lKCk7CiAKLSAgICBbUHJpdmF0ZSwg
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIGluaXRpYWxpemVXaXRoKERpY3Rpb25hcnkgcGFyYW1ldGVy
cyk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgaW5pdGlh
bGl6ZVdpdGgoRGljdGlvbmFyeSBwYXJhbWV0ZXJzKTsKIH07CiBGZXRjaFJlc3BvbnNlIGltcGxl
bWVudHMgRmV0Y2hCb2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuaWRsCmluZGV4IDlhNTQ2ZTc5MjE5MjcyZjE1ODM0YmVmYjA1NzNi
OTA2OTlhNTA3MzcuLjhhZDIzMjQ3NDY3YzRhNTM0Y2RhMzc5MWFmNjYyMjE5MDRkZjYyOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5pZGwKQEAgLTM3LDUgKzM3LDUgQEAKICAgICBbSlNCdWlsdGluXSBQcm9taXNlIGdldFVzZXJN
ZWRpYShEaWN0aW9uYXJ5IG9wdGlvbnMpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIFByb21pc2Ug
ZW51bWVyYXRlRGV2aWNlcygpOwogCi0gICAgW1ByaXZhdGUsIFJhaXNlc0V4Y2VwdGlvbiwgSW1w
bGVtZW50ZWRBcz1nZXRVc2VyTWVkaWFdIFByb21pc2UgZ2V0VXNlck1lZGlhRnJvbUpTKERpY3Rp
b25hcnkgb3B0aW9ucyk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBSYWlzZXNFeGNlcHRpb24s
IEltcGxlbWVudGVkQXM9Z2V0VXNlck1lZGlhXSBQcm9taXNlIGdldFVzZXJNZWRpYUZyb21KUyhE
aWN0aW9uYXJ5IG9wdGlvbnMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggOTA4MjgxZWU2Njg4
N2MxMDk3YmY2MWE3MGMxZmRiNjQ3YTU2MGI2NC4uYWJiYjFlNjkyNjNiMDFmZDQzNmVkMDQyMjFh
NmEwYWE0MGQ2M2RiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTk3LDEyICs5NywxMiBAQAogCiAg
ICAgLy8gUHJpdmF0ZSBBUEkgdXNlZCB0byBpbXBsZW1lbnQgdGhlIG92ZXJsb2FkZWQgb3BlcmF0
aW9ucyBhYm92ZS4gUXVldWVkIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJ5CiAgICAgLy8gcnVuUXVl
dWVkT3BlcmF0aW9uKCkgKGRlZmluZWQgaW4gUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMuanMp
LgotICAgIFtQcml2YXRlXSBQcm9taXNlIHF1ZXVlZENyZWF0ZU9mZmVyKG9wdGlvbmFsIERpY3Rp
b25hcnkgb2ZmZXJPcHRpb25zKTsKLSAgICBbUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRDcmVhdGVB
bnN3ZXIob3B0aW9uYWwgRGljdGlvbmFyeSBhbnN3ZXJPcHRpb25zKTsKLSAgICBbUHJpdmF0ZV0g
UHJvbWlzZSBxdWV1ZWRTZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBk
ZXNjcmlwdGlvbik7Ci0gICAgW1ByaXZhdGVdIFByb21pc2UgcXVldWVkU2V0UmVtb3RlRGVzY3Jp
cHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsKLSAgICBbUHJpdmF0ZV0g
UHJvbWlzZSBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlIGNhbmRpZGF0ZSk7
Ci0gICAgW1ByaXZhdGVdIFByb21pc2UgcHJpdmF0ZUdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2s/
IHNlbGVjdG9yKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2UgcXVldWVkQ3JlYXRl
T2ZmZXIob3B0aW9uYWwgRGljdGlvbmFyeSBvZmZlck9wdGlvbnMpOworICAgIFtQcml2YXRlSWRl
bnRpZmllcl0gUHJvbWlzZSBxdWV1ZWRDcmVhdGVBbnN3ZXIob3B0aW9uYWwgRGljdGlvbmFyeSBh
bnN3ZXJPcHRpb25zKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2UgcXVldWVkU2V0
TG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOworICAg
IFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZSBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihS
VENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOworICAgIFtQcml2YXRlSWRlbnRpZmll
cl0gUHJvbWlzZSBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlIGNhbmRpZGF0
ZSk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBQcm9taXNlIHByaXZhdGVHZXRTdGF0cyhNZWRp
YVN0cmVhbVRyYWNrPyBzZWxlY3Rvcik7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBSVENEYXRh
Q2hhbm5lbCBjcmVhdGVEYXRhQ2hhbm5lbChbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBsYWJlbCwgb3B0aW9uYWwgRGljdGlvbmFyeSBvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0K
aW5kZXggZGY0ZGRkYTU0MzQ2MmQ4NWFiZmY0ZWQ4MjU1ODlhOTM3MzMwOTUyZC4uM2IwNDdjZWIz
MDhiNzAwYmQxZmE0M2UxYTUxODZkNDM4OTAyMjQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCkBAIC0zODQs
OCArMzg0LDcgQEAgc3ViIFNraXBGdW5jdGlvbiB7CiAKICAgICByZXR1cm4gMSBpZiAkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVpbHRpbiJ9OwogCi0gICAg
cmV0dXJuIDEgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQ
cml2YXRlIn07Ci0KKyAgICByZXR1cm4gMSBpZiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlByaXZhdGVJZGVudGlmaWVyIn0gYW5kIG5vdCAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlB1YmxpY0lkZW50aWZpZXIifTsKICAgICBy
ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5MTAzMDI4ODY2NjRmY2IzMjhhODE4ZjA1ZWY0OTQyMzAw
NTI0ZDQ5Li4xNjMxYzFlMzJhZTJhNDZiOGI1OGI3NDUyOWM3ZTU5ZjI5YzBhNzQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtMTYxOCw3ICsxNjE4LDcgQEAgc3ViIEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZQogICAg
IG15IEBmdW5jdGlvbnMgPSBAeyRpbnRlcmZhY2UtPmZ1bmN0aW9uc307CiAgICAgcHVzaChAZnVu
Y3Rpb25zLCBAeyRpbnRlcmZhY2UtPml0ZXJhYmxlLT5mdW5jdGlvbnN9KSBpZiAkaW50ZXJmYWNl
LT5pdGVyYWJsZTsKICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQGZ1bmN0aW9ucykgewotICAg
ICAgICBuZXh0IGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlByaXZhdGUifSk7CisgICAgICAgIG5leHQgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZUlkZW50aWZpZXIifSBhbmQgbm90ICRmdW5jdGlvbi0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHVibGljSWRlbnRpZmllciJ9KTsKICAg
ICAgICAgbmV4dCBpZiAoJGZ1bmN0aW9uLT5pc1N0YXRpYyk7CiAgICAgICAgIG5leHQgaWYgJGZ1
bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gJiYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gPiAx
OwogICAgICAgICBuZXh0IGlmIE9wZXJhdGlvblNob3VsZEJlT25JbnN0YW5jZSgkaW50ZXJmYWNl
LCAkZnVuY3Rpb24pICE9ICRpc0luc3RhbmNlOwpAQCAtMjI5NSw3ICsyMjk1LDcgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICAgICBteSAkZmlyc3RQcml2YXRlRnVuY3Rpb24g
PSAxOwogICAgICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskaW50ZXJmYWNlLT5mdW5jdGlv
bnN9KSB7Ci0gICAgICAgICAgICBuZXh0IHVubGVzcyAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlIn0pOworICAgICAgICAgICAgbmV4dCB1bmxlc3Mg
KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZUlkZW50
aWZpZXIifSk7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiV2ViQ29yZUpTQ2xpZW50
RGF0YS5oIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZNQ2xpZW50
RGF0YSYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVu
dERhdGEpO1xuIikgaWYgJGZpcnN0UHJpdmF0ZUZ1bmN0aW9uOwogICAgICAgICAgICAgJGZpcnN0
UHJpdmF0ZUZ1bmN0aW9uID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCmluZGV4IDYwYTNiOTI3NGIwNDUxMzcxODE0NmE5
Y2EyNmE0MTJmZDNlZGQ0OWQuLmRjMWU2NzQwZmVhMzYwZTllODBkMTY2ZDdhMTljMjJiMjdlZGVm
ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yT2JqQy5wbQpAQCAtNTUwLDcgKzU1MCw3IEBAIHN1YiBTa2lwRnVuY3Rpb24KICAgICAg
ICAgcmV0dXJuIDEgaWYgJHBhcmFtLT5pc1ZhcmlhZGljOwogICAgIH0KIAotICAgIHJldHVybiAx
IGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZSJ9
OworICAgIHJldHVybiAxIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiUHJpdmF0ZUlkZW50aWZpZXIifSBhbmQgbm90ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHVibGljSWRlbnRpZmllciJ9OwogCiAgICAgcmV0dXJuIDA7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVz
LnR4dAppbmRleCA2MTRlYmE3NDU2MzExNjBlNzNiNWEzZjk5NzdhNzFkMjAzMDIxMjE3Li4zMThj
MjBlNDkxZDIyNzIzYTU5YjZkZTViMDc3YmQ1MThhZDQ1NTZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTEwNiw3ICsxMDYs
OCBAQCBPYmpDUHJvdG9jb2wKIE9iakNVc2VEZWZhdWx0VmlldwogT3ZlcnJpZGVCdWlsdGlucwog
UGFzc0NvbnRleHQKLVByaXZhdGUKK1ByaXZhdGVJZGVudGlmaWVyCitQdWJsaWNJZGVudGlmaWVy
CiBQdXRGb3J3YXJkcz0qCiBSYWlzZXNFeGNlcHRpb24KIFJhaXNlc0V4Y2VwdGlvbldpdGhNZXNz
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwCmluZGV4IGUyNTU4YzgzMmMxNDk2
OWFjNjBjNDY4NzJlMjlhMTVlZDVkZThhYTkuLjlkOWJhMDNmOTU0NWQyYWQ4NWZhYmI4MDAzNjNk
YzE3MzY2MWQ3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwCkBAIC0xNDk0
LDYgKzE0OTQsMTcgQEAgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4Y2Vw
dGlvbl93aXRoX21lc3NhZ2UoV2ViS2l0RE9NVGVzdE9iaiogc2UKICAgICBpdGVtLT5tZXRob2RX
aXRoRXhjZXB0aW9uV2l0aE1lc3NhZ2UoKTsKIH0KIAorZ2NoYXIqIHdlYmtpdF9kb21fdGVzdF9v
YmpfcHVibGljX2FuZF9wcml2YXRlX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25z
dCBnY2hhciogYXJndW1lbnQpCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkoo
c2VsZiksIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGFyZ3VtZW50LCAwKTsKKyAgICBX
ZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIFdURjo6U3Ry
aW5nIGNvbnZlcnRlZEFyZ3VtZW50ID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KGFyZ3VtZW50KTsK
KyAgICBnY2hhciogcmVzdWx0ID0gY29udmVydFRvVVRGOFN0cmluZyhpdGVtLT5wdWJsaWNBbmRQ
cml2YXRlTWV0aG9kKGNvbnZlcnRlZEFyZ3VtZW50KSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
Kwogdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWQoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKaW5kZXggOGIwNTY2MjFlYTM0NzI2
YzZjMTNlYTgwMjBiODM3ZmZiYjBhNmYyYi4uNTk0MmQxMTJjNTdjNjU2NjRkOTIzODQ2Y2QyMWQx
YWI4YTFmNTYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaApAQCAtMzk0LDYgKzM5
NCwxOCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
ZXhjZXB0aW9uX3dpdGhfbWVzc2FnZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogLyoqCisg
KiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3B1YmxpY19hbmRfcHJpdmF0ZV9tZXRob2Q6CisgKiBAc2Vs
ZjogQSAjV2ViS2l0RE9NVGVzdE9iagorICogQGFyZ3VtZW50OiBBICNnY2hhcgorICoKKyAqIFJl
dHVybnM6IEEgI2djaGFyCisgKgorICogU3RhYmlsaXR5OiBVbnN0YWJsZQorKiovCitXRUJLSVRf
QVBJIGdjaGFyKgord2Via2l0X2RvbV90ZXN0X29ial9wdWJsaWNfYW5kX3ByaXZhdGVfbWV0aG9k
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiBhcmd1bWVudCk7CisKKy8qKgog
ICogd2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkOgogICogQHNlbGY6
IEEgI1dlYktpdERPTVRlc3RPYmoKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDQyZjAzMzBiYjFmMzNkNWFj
ZDgwZjM2NGI4MjU0ZDk2YmE2OGM1NDYuLmYyYmE2ZGFkZmJhNDkyYTlkZjk0YjA1MDY4Y2U2OWNh
NjIwZTEyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02MDcsNiArNjA3LDcgQEAgSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aEV4
Y2VwdGlvblcKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbkN1c3RvbU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0
aG9kV2l0aEFyZ3MoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVNZXRob2QoSlNDOjpFeGVj
U3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblB1YmxpY0FuZFByaXZhdGVNZXRob2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bkFkZEV2ZW50TGlzdGVuZXIoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblJlbW92ZUV2ZW50TGlzdGVu
ZXIoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhTY3JpcHRTdGF0ZVZvaWQoSlNDOjpFeGVjU3Rh
dGUqKTsKQEAgLTEwNjAsNyArMTA2MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhh
c2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IDY1LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMzgsIC0xIH0s
CisgICAgeyAxMzksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDIxLCA1MTMgfSwKICAg
ICB7IC0xLCAtMSB9LApAQCAtMTA2OSwyOCArMTA3MCwyOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDYzLCAtMSB9LAotICAgIHsg
MjAzLCAtMSB9LAotICAgIHsgMTg3LCAtMSB9LAorICAgIHsgMjA0LCAtMSB9LAorICAgIHsgMTg4
LCAtMSB9LAogICAgIHsgNTYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE0MCwgLTEgfSwKKyAg
ICB7IDE0MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTE1LCAtMSB9LAorICAgIHsgMTE2LCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMjksIC0xIH0sCisgICAgeyAxMzAsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDc5LCAtMSB9LAogICAgIHsgMjAsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMzIs
IDUzMyB9LAorICAgIHsgMTMzLCA1MzMgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTEwOTksNyArMTEwMCw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyAxNDksIC0xIH0sCisgICAgeyAxNTAsIC0xIH0sCiAgICAgeyAzNCwgNTI1IH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTEwNywxMiArMTEwOCwxMiBAQCBzdGF0
aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJ
bmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAotICAgIHsgMTcwLCAtMSB9LAorICAgIHsgMTcxLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAorICAgIHsgMTE1LCAtMSB9LAog
ICAgIHsgMTE0LCAtMSB9LAotICAgIHsgMTEzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTEyNSw3ICsxMTI2LDcgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5k
ZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA1LCAt
MSB9LAotICAgIHsgMTc4LCAtMSB9LAorICAgIHsgMTc5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTEzOSw3ICsxMTQwLDcgQEAg
c3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRh
YmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDEwNiwgLTEgfSwKKyAgICB7IDEwNywgLTEgfSwKICAgICB7IDk3
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTExNTAsMTcgKzEx
NTEsMTcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialBy
b3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyA5LCAtMSB9LAotICAgIHsgMTY0LCAtMSB9LAorICAgIHsgMTY1LCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
OTAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE1NywgLTEgfSwKKyAgICB7IDE1OCwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA4NCwgLTEgfSwK
LSAgICB7IDIwMCwgLTEgfSwKKyAgICB7IDIwMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgMzEsIDUzMCB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMTcwLDE4ICsxMTcxLDE4IEBAIHN0
YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJs
ZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCi0gICAgeyAxODQsIC0xIH0sCisgICAgeyAxODUsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTMxLCA1NDcgfSwKLSAgICB7IDEwOSwgLTEg
fSwKKyAgICB7IDEzMiwgNTQ3IH0sCisgICAgeyAxMTAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxNTMsIC0xIH0sCisgICAg
eyAxNTQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDYsIC0xIH0sCi0gICAgeyAxMzAs
IC0xIH0sCisgICAgeyAxMzEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMTkzLDE2ICsxMTk0LDE2IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAg
ICB7IDE0NCwgLTEgfSwKKyAgICB7IDE0NSwgLTEgfSwKICAgICB7IDQ4LCAtMSB9LAogICAgIHsg
NjcsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDIwMSwgLTEgfSwKKyAgICB7IDIwMiwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IDM5LCAtMSB9LAotICAgIHsgMTI0LCA1MzIgfSwKKyAgICB7IDEyNSwgNTMyIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IDEwMywgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTIx
MCwxOSArMTIxMSwxOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNU
ZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTcxLCAtMSB9LAotICAgIHsgMTYz
LCAtMSB9LAorICAgIHsgMTcyLCAtMSB9LAorICAgIHsgMTY0LCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMjAyLCAtMSB9LAor
ICAgIHsgMjAzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDczLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE0NSwg
LTEgfSwKLSAgICB7IC0xLCAtMSB9LAorICAgIHsgMTQ2LCAtMSB9LAorICAgIHsgMTA2LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAt
MTIzOCwxNyArMTIzOSwxNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXgg
SlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTU2LCAtMSB9LAotICAgIHsg
MTQyLCAtMSB9LAorICAgIHsgMTU3LCAtMSB9LAorICAgIHsgMTQzLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
Ci0gICAgeyAxMjUsIC0xIH0sCisgICAgeyAxMjYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxODAsIDU0NSB9LAorICAgIHsg
MTgxLCA1NDUgfSwKICAgICB7IDk5LCA1NDEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCkBAIC0xMjkyLDIxICsxMjkzLDIxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFj
dEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IDEwLCA1MTIgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTc0LCAt
MSB9LAorICAgIHsgMTc1LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA3NSwgNTQzIH0s
Ci0gICAgeyAxNzksIC0xIH0sCisgICAgeyAxODAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDEx
OCwgNTQ5IH0sCisgICAgeyAxMTksIDU0OSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTc1LCAtMSB9LAorICAgIHsgMTc2LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMTYsIC0xIH0sCisgICAgeyAxMTcsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0xMzE5
LDkgKzEzMjAsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0
T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsgNTQsIDUxNyB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE1MiwgLTEgfSwKKyAgICB7IDE1Mywg
LTEgfSwKICAgICB7IDEwMCwgLTEgfSwKLSAgICB7IDE2MSwgLTEgfSwKKyAgICB7IDE2MiwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAg
LTEzMzEsMzQgKzEzMzIsMzQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4
IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyA0OSwgLTEgfSwKLSAgICB7IDE4MiwgLTEgfSwKKyAgICB7
IDE4MywgLTEgfSwKICAgICB7IDIzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxOTIsIC0xIH0s
CisgICAgeyAxOTMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAg
IHsgMTU4LCAtMSB9LAorICAgIHsgMTU5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTE3LCAtMSB9LAorICAgIHsgMTE4LCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE3MiwgLTEgfSwKLSAgICB7
IDE2NywgLTEgfSwKKyAgICB7IDE3MywgLTEgfSwKKyAgICB7IDE2OCwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDMyLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDE4NSwgLTEgfSwKKyAg
ICB7IDE4NiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgODIsIDUzNSB9LAogICAgIHsg
LTEsIC0xIH0sCkBAIC0xMzkyLDcgKzEzOTMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBh
Y3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMTIsIC0x
IH0sCisgICAgeyAxMTMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCkBAIC0xNDAxLDcgKzE0MDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewog
ICAgIHsgMzYsIDUyNyB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDE0MywgNTQyIH0sCisgICAgeyAxNDQsIDU0MiB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA1
MCwgNTQ2IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTE0MDksNyArMTQxMCw3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4
WzU1Ml0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCi0gICAgeyAxOTYsIDU1MCB9LAorICAgIHsgMTk3LCA1NTAgfSwKICAgICB7IDE3LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTE0MzIsNyArMTQzMyw3IEBA
IHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVU
YWJsZUluZGV4WzU1Ml0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDE4LCA1MTQgfSwKICAg
ICB7IC0xLCAtMSB9LAotICAgIHsgMTkzLCAtMSB9LAorICAgIHsgMTk0LCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAyLCA1MTkgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTQ0MCw3ICsx
NDQxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialBy
b3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDEwOCwgLTEgfSwKKyAgICB7IDEwOSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAzNSwgLTEgfSwKQEAgLTE0
NTIsMzYgKzE0NTMsMzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpT
VGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyA1MywgNTI2IH0sCi0gICAgeyAxOTAsIC0xIH0sCisgICAgeyAx
OTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgNzQsIC0x
IH0sCi0gICAgeyAxOTgsIC0xIH0sCisgICAgeyAxOTksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTIyLCA1NDAgfSwKKyAgICB7IDEyMywgNTQwIH0sCiAg
ICAgeyAtMSwgLTEgfSwKLSAgICB7IDEyNywgLTEgfSwKKyAgICB7IDEyOCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDEzNiwg
LTEgfSwKKyAgICB7IDEzNywgLTEgfSwKICAgICB7IDE5LCAtMSB9LAogICAgIHsgMjUsIDU0NCB9
LAotICAgIHsgMTM3LCAtMSB9LAorICAgIHsgMTM4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKLSAgICB7IDEzMywgLTEgfSwKKyAgICB7IDEzNCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgMTAxLCAtMSB9LAotICAgIHsgMTgxLCAtMSB9LAorICAgIHsgMTgyLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAg
IHsgMTQ4LCAtMSB9LAorICAgIHsgMTQ5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAx
NiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMTQ5MCw3ICsxNDkxLDcgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhb
NTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgOTYsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKLSAgICB7IDE1OSwgLTEgfSwKKyAgICB7IDE2MCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTE1MDIsMTEgKzE1MDMsMTEgQEAg
c3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRh
YmxlSW5kZXhbNTUyXSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDE5MSwgLTEgfSwKKyAgICB7IDE5MiwgLTEgfSwKICAgICB7IDY4
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA4MCwgLTEgfSwKLSAgICB7IDE3NiwgLTEg
fSwKKyAgICB7IDE3NywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKQEAgLTE1MTcsMTcgKzE1MTgsMTcgQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlSW5kZXhbNTUyXSA9IHsK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDEyMCwgNTI4IH0sCisgICAgeyAxMjEsIDUyOCB9LAogICAgIHsgMzcsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKLSAgICB7IDEyMywgLTEgfSwKKyAgICB7IDEyNCwgLTEgfSwKICAgICB7IDUyLCA1
MzYgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IDU5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxODgsIC0xIH0sCisgICAg
eyAxODksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEwNSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LApAQCAtMTU0MSwyMCArMTU0MiwyMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBh
Y3RIYXNoSW5kZXggSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJbmRleFs1NTJdID0gewogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAxNSwgNTE2IH0sCiAgICAgeyA1NSwgLTEgfSwKLSAgICB7IDExOSwg
NTM0IH0sCisgICAgeyAxMjAsIDUzNCB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyA3LCA1Mzcg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAxMjEsIC0xIH0sCisg
ICAgeyAxMjIsIC0xIH0sCiAgICAgeyA4MSwgNTIzIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDE2NiwgLTEgfSwKKyAgICB7IDE2NywgLTEgfSwKICAgICB7IDg5LCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMTYwLCAtMSB9
LAorICAgIHsgMTYxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAxMiwgNTIwIH0sCiAg
ICAgeyAxMywgNTE1IH0sCkBAIC0xNTY5LDM0ICsxNTcwLDM0IEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZUluZGV4WzU1Ml0gPSB7
CiAgICAgeyA5MiwgLTEgfSwKICAgICB7IDk1LCAtMSB9LAogICAgIHsgMTAyLCAtMSB9LAotICAg
IHsgMTA3LCAtMSB9LAotICAgIHsgMTEwLCAtMSB9LAorICAgIHsgMTA4LCAtMSB9LAogICAgIHsg
MTExLCAtMSB9LAotICAgIHsgMTI2LCAtMSB9LAotICAgIHsgMTI4LCAtMSB9LAotICAgIHsgMTM0
LCAtMSB9LAorICAgIHsgMTEyLCAtMSB9LAorICAgIHsgMTI3LCAtMSB9LAorICAgIHsgMTI5LCAt
MSB9LAogICAgIHsgMTM1LCAtMSB9LAotICAgIHsgMTM5LCAtMSB9LAotICAgIHsgMTQxLCAtMSB9
LAotICAgIHsgMTQ2LCAtMSB9LAorICAgIHsgMTM2LCAtMSB9LAorICAgIHsgMTQwLCAtMSB9LAor
ICAgIHsgMTQyLCAtMSB9LAogICAgIHsgMTQ3LCAtMSB9LAotICAgIHsgMTUwLCAtMSB9LAorICAg
IHsgMTQ4LCAtMSB9LAogICAgIHsgMTUxLCAtMSB9LAotICAgIHsgMTU0LCAtMSB9LAorICAgIHsg
MTUyLCAtMSB9LAogICAgIHsgMTU1LCAtMSB9LAotICAgIHsgMTYyLCAtMSB9LAotICAgIHsgMTY1
LCAtMSB9LAotICAgIHsgMTY4LCAtMSB9LAorICAgIHsgMTU2LCAtMSB9LAorICAgIHsgMTYzLCAt
MSB9LAorICAgIHsgMTY2LCAtMSB9LAogICAgIHsgMTY5LCAtMSB9LAotICAgIHsgMTczLCAtMSB9
LAotICAgIHsgMTc3LCAtMSB9LAotICAgIHsgMTgzLCAtMSB9LAotICAgIHsgMTg2LCAtMSB9LAot
ICAgIHsgMTg5LCAtMSB9LAotICAgIHsgMTk0LCAtMSB9LAorICAgIHsgMTcwLCAtMSB9LAorICAg
IHsgMTc0LCAtMSB9LAorICAgIHsgMTc4LCAtMSB9LAorICAgIHsgMTg0LCAtMSB9LAorICAgIHsg
MTg3LCAtMSB9LAorICAgIHsgMTkwLCAtMSB9LAogICAgIHsgMTk1LCAtMSB9LAotICAgIHsgMTk3
LCAtMSB9LAotICAgIHsgMTk5LCAtMSB9LAorICAgIHsgMTk2LCAtMSB9LAorICAgIHsgMTk4LCAt
MSB9LAorICAgIHsgMjAwLCAtMSB9LAogfTsKIAogCkBAIC0xNzQ0LDYgKzE3NDUsNyBAQCBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9
CiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKKyAg
ICB7ICJwdWJsaWNBbmRQcml2YXRlTWV0aG9kIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvblB1YmxpY0FuZFByaXZhdGVNZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCiAg
ICAgeyAiYWRkRXZlbnRMaXN0ZW5lciIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25BZGRFdmVudExpc3RlbmVyKSwgKGludHB0cl90KSAoMikgfSB9LAogICAgIHsgInJlbW92
ZUV2ZW50TGlzdGVuZXIiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUmVt
b3ZlRXZlbnRMaXN0ZW5lciksIChpbnRwdHJfdCkgKDIpIH0gfSwKICAgICB7ICJ3aXRoU2NyaXB0
U3RhdGVWb2lkIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhTY3Jp
cHRTdGF0ZVZvaWQpLCAoaW50cHRyX3QpICgwKSB9IH0sCkBAIC0xODYwLDcgKzE4NjIsNyBAQCBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNb
XSA9CiAgICAgeyAicmVhZG9ubHkiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDb25zdGFudElu
dGVnZXIsIE5vSW50cmluc2ljLCB7IChsb25nIGxvbmcpKDApIH0gfSwKIH07CiAKLXN0YXRpYyBj
b25zdCBIYXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDIwNCwgNTExLCB0cnVl
LCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlcywgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVJ
bmRleCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9
IHsgMjA1LCA1MTEsIHRydWUsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCBKU1Rlc3RP
YmpQcm90b3R5cGVUYWJsZUluZGV4IH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0T2JqUHJvdG90
eXBlOjpzX2luZm8gPSB7ICJUZXN0T2JqZWN0UHJvdG90eXBlIiwgJkJhc2U6OnNfaW5mbywgJkpT
VGVzdE9ialByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE9ialByb3Rv
dHlwZSkgfTsKIAogdm9pZCBKU1Rlc3RPYmpQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKQEAgLTE4ODMsNiArMTg4NSw3IEBAIHZvaWQgSlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCiAjZW5kaWYKICAgICBKU1ZNQ2xpZW50RGF0YSYgY2xpZW50RGF0YSA9
ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOwogICAgIHB1dERp
cmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5wcml2YXRlTWV0aG9kUHJpdmF0ZU5h
bWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCks
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZCksIFJlYWRPbmx5IHwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5wdWJs
aWNBbmRQcml2YXRlTWV0aG9kUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCksIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHVi
bGljQW5kUHJpdmF0ZU1ldGhvZCksIFJlYWRPbmx5IHwgRG9udEVudW0pOwogICAgIHB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0KCksIDAsIEFTQ0lJTGl0ZXJhbCgiW1N5bWJvbC5JdGVyYXRvcl0i
KSwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25TeW1ib2xJdGVyYXRvciksIFJlYWRPbmx5IHwg
RG9udEVudW0pOwogfQogCkBAIC00OTQ0LDYgKzQ5NDcsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVNZXRob2QoRXhlY1N0
YXRlKgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblB1YmxpY0FuZFBy
aXZhdGVNZXRob2QoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9
IHN0YXRlLT50aGlzVmFsdWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0
PEpTVGVzdE9iaio+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkK
KyAgICAgICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgInB1
YmxpY0FuZFByaXZhdGVNZXRob2QiKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNh
c3RlZFRoaXMsIEpTVGVzdE9iajo6aW5mbygpKTsKKyAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhp
cy0+d3JhcHBlZCgpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwg
MSkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Ioc3RhdGUsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKHN0YXRlKSk7CisgICAgYXV0byBhcmd1bWVudCA9IHN0YXRlLT5hcmd1bWVu
dCgwKS50b1dURlN0cmluZyhzdGF0ZSk7CisgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNl
cHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZ1dpdGhDYWNoZShzdGF0ZSwgaW1wbC5wdWJs
aWNBbmRQcml2YXRlTWV0aG9kKFdURk1vdmUoYXJndW1lbnQpKSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShyZXN1bHQpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQWRkRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIHN0YXRl
KQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5oCmluZGV4IDZkNmEwZjhkNzMzZWY4YTZlNzFlNjk3N2MzZTExOWFhYWZkNTMxMjMuLjY5Mjhh
YjczZjlkYTYyZjc1ZmY0ODczMmU4NTZmOTFkMDJkYjgxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTE2
Myw2ICsxNjMsNyBAQCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIERPTVRlc3RPYmogOiBET01P
YmplY3QKIC0gKHZvaWQpbWV0aG9kV2l0aEV4Y2VwdGlvbldpdGhNZXNzYWdlOwogLSAodm9pZClj
dXN0b21NZXRob2Q7CiAtICh2b2lkKWN1c3RvbU1ldGhvZFdpdGhBcmdzOihpbnQpbG9uZ0FyZyBz
dHJBcmc6KE5TU3RyaW5nICopc3RyQXJnIG9iakFyZzooRE9NVGVzdE9iaiAqKW9iakFyZzsKKy0g
KE5TU3RyaW5nICopcHVibGljQW5kUHJpdmF0ZU1ldGhvZDooTlNTdHJpbmcgKilhcmd1bWVudDsK
IC0gKHZvaWQpYWRkRXZlbnRMaXN0ZW5lcjooTlNTdHJpbmcgKil0eXBlIGxpc3RlbmVyOihpZCA8
RE9NRXZlbnRMaXN0ZW5lcj4pbGlzdGVuZXIgdXNlQ2FwdHVyZTooQk9PTCl1c2VDYXB0dXJlOwog
LSAodm9pZClyZW1vdmVFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlzdGVuZXI6KGlk
IDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVzZUNhcHR1cmU7
CiAtICh2b2lkKXdpdGhTY3JpcHRTdGF0ZVZvaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCAxNmQ3Yjk0
MTE2MGM1NDdjZDlkNGU0MzMxNzVjZTEyMjU5NDllMTRjLi5mNDk0NjhmMmU3OTU4MDBlNTljZTUy
ZjE5YjE3MDE3ZDM0NGU4MjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTEyMzgsNiArMTIzOCwxMiBA
QAogCiAjZW5kaWYKIAorLSAoTlNTdHJpbmcgKilwdWJsaWNBbmRQcml2YXRlTWV0aG9kOihOU1N0
cmluZyAqKWFyZ3VtZW50Cit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOworICAgIHJldHVybiBJTVBMLT5wdWJsaWNBbmRQcml2YXRlTWV0aG9kKGFyZ3VtZW50KTsK
K30KKwogLSAodm9pZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlzdGVuZXI6
KGlkIDxET01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVzZUNhcHR1
cmUKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggMzQx
MTgxYTUxNjFmMDA1NWI0MjBhOTllYjViOGY5ZWE4Y2Q4YTE3ZC4uNzQwMTVjZTA2YTIxNWFiOGQz
NzAwYmMwY2I5ODg4ODZiNjQ0NjllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTUwLDcgKzE1MCw4IEBAIGVudW0gVGVzdENv
bmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAgICAgW0NvbmRpdGlvbmFsPUNvbmRp
dGlvbjQsIEpTQnVpbHRpbl0gcmVhZG9ubHkgYXR0cmlidXRlIFRlc3RPYmoganNCdWlsdGluUmVh
ZE9ubHlBdHRyaWJ1dGU7CiAKICAgICAvLyBQcml2YXRlIGV4dGVuZGVkIGF0dHJpYnV0ZQotICAg
IFtQcml2YXRlXSBET01TdHJpbmcgcHJpdmF0ZU1ldGhvZChET01TdHJpbmcgYXJndW1lbnQpOwor
ICAgIFtQcml2YXRlSWRlbnRpZmllcl0gRE9NU3RyaW5nIHByaXZhdGVNZXRob2QoRE9NU3RyaW5n
IGFyZ3VtZW50KTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFB1YmxpY0lkZW50aWZpZXJdIERP
TVN0cmluZyBwdWJsaWNBbmRQcml2YXRlTWV0aG9kKERPTVN0cmluZyBhcmd1bWVudCk7CiAKICAg
ICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlz
dGVuZXIsIG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSA9IGZhbHNlKTsKICAgICB2b2lkIHJl
bW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIs
IG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSA9IGZhbHNlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>