<?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>240113</bug_id>
          
          <creation_ts>2022-05-05 01:32:13 -0700</creation_ts>
          <short_desc>Allow MediaPlayerPrivateMediaStreamAVFObjC to avoid pixel conformers if IOSurfaces are not allowed</short_desc>
          <delta_ts>2022-05-06 02:53:53 -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>WebRTC</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1866779</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 01:32:13 -0700</bug_when>
    <thetext>Allow MediaPlayerPrivateMediaStreamAVFObjC to avoid pixel conformers if IOSurfaces are not allowed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866789</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 02:06:06 -0700</bug_when>
    <thetext>&lt;rdar://92629845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866790</commentid>
    <comment_count>2</comment_count>
      <attachid>458862</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 02:09:21 -0700</bug_when>
    <thetext>Created attachment 458862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866791</commentid>
    <comment_count>3</comment_count>
      <attachid>458863</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 02:42:28 -0700</bug_when>
    <thetext>Created attachment 458863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866795</commentid>
    <comment_count>4</comment_count>
      <attachid>458864</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 02:52:44 -0700</bug_when>
    <thetext>Created attachment 458864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866804</commentid>
    <comment_count>5</comment_count>
      <attachid>458865</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 04:23:52 -0700</bug_when>
    <thetext>Created attachment 458865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866812</commentid>
    <comment_count>6</comment_count>
      <attachid>458865</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-05-05 05:42:43 -0700</bug_when>
    <thetext>Comment on attachment 458865
Patch

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

r=me once the bots are happy

&gt; Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:142
&gt; +        m_connection-&gt;send(Messages::RemoteVideoFrameObjectHeapProxyProcessor::NewConvertedVideoFrameBuffer { { } }, 0);

It looks like SharedVideoFrameReader doesn&apos;t log errors, so it might be worth logging an error here to help debug unexpected failures.

&gt; Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:149
&gt; +        m_connection-&gt;send(Messages::RemoteVideoFrameObjectHeapProxyProcessor::NewConvertedVideoFrameBuffer { { } }, 0);

Ditto, PixelBufferConformerCV also doesn&apos;t log failures.

&gt; Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.mm:32
&gt; +

Nit: unneeded white space</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866816</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 05:51:52 -0700</bug_when>
    <thetext>&gt; It looks like SharedVideoFrameReader doesn&apos;t log errors, so it might be
&gt; worth logging an error here to help debug unexpected failures.

Let&apos;s fix this in https://bugs.webkit.org/show_bug.cgi?id=236066, I just uploaded a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866817</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 05:53:17 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:149
&gt; &gt; +        m_connection-&gt;send(Messages::RemoteVideoFrameObjectHeapProxyProcessor::NewConvertedVideoFrameBuffer { { } }, 0);
&gt; 
&gt; Ditto, PixelBufferConformerCV also doesn&apos;t log failures.

Will add logging for this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866855</commentid>
    <comment_count>9</comment_count>
      <attachid>458865</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-05-05 08:47:48 -0700</bug_when>
    <thetext>Comment on attachment 458865
Patch

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

&gt; Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:145
&gt; +    connection.send(Messages::RemoteVideoFrameObjectHeap::ConvertBuffer { WTFMove(*buffer) }, 0);
&gt; +    m_conversionSemaphore.wait();

Why this and not just a sync message? Sync IPC has logic to avoid deadlocking, but this doesn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866883</commentid>
    <comment_count>10</comment_count>
      <attachid>458882</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 09:34:07 -0700</bug_when>
    <thetext>Created attachment 458882
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866906</commentid>
    <comment_count>11</comment_count>
      <attachid>458888</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 10:36:58 -0700</bug_when>
    <thetext>Created attachment 458888
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866928</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-05 11:22:57 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; Comment on attachment 458865 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=458865&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:145
&gt; &gt; +    connection.send(Messages::RemoteVideoFrameObjectHeap::ConvertBuffer { WTFMove(*buffer) }, 0);
&gt; &gt; +    m_conversionSemaphore.wait();
&gt; 
&gt; Why this and not just a sync message? Sync IPC has logic to avoid
&gt; deadlocking, but this doesn&apos;t.

We send a message from main thread but we receive the answer from a work queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867134</commentid>
    <comment_count>13</comment_count>
      <attachid>458941</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-06 02:10:46 -0700</bug_when>
    <thetext>Created attachment 458941
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867140</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-06 02:31:22 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #12)
&gt; (In reply to Simon Fraser (smfr) from comment #9)
&gt; &gt; Comment on attachment 458865 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=458865&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:145
&gt; &gt; &gt; +    connection.send(Messages::RemoteVideoFrameObjectHeap::ConvertBuffer { WTFMove(*buffer) }, 0);
&gt; &gt; &gt; +    m_conversionSemaphore.wait();
&gt; &gt; 
&gt; &gt; Why this and not just a sync message? Sync IPC has logic to avoid
&gt; &gt; deadlocking, but this doesn&apos;t.
&gt; 
&gt; We send a message from main thread but we receive the answer from a work
&gt; queue.

Thinking more about it, this will create a deadlock in case of GPUProcess crash, so we might need to use sync IPC, though I am unsure how sync IPC and work queue message receivers do things consistently.
I&apos;ll file a bug to keep track of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867144</commentid>
    <comment_count>15</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-06 02:32:24 -0700</bug_when>
    <thetext>I filed https://bugs.webkit.org/show_bug.cgi?id=240161.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867149</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-06 02:53:49 -0700</bug_when>
    <thetext>Committed r293886 (250344@main): &lt;https://commits.webkit.org/250344@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458941.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458862</attachid>
            <date>2022-05-05 02:09:21 -0700</date>
            <delta_ts>2022-05-05 02:42:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240113-20220505110919.patch</filename>
            <type>text/plain</type>
            <size>29470</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNGYwZWYxNDNmYmNlMzU5ZWIzMWYxYjFjZjllMmQ3
MmY3MDNjZjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNhbGxiYWNr
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhbGxvdyB1c2UgYSBj
dXN0b20gd2F5IHRvIGNyZWF0ZSBhIE5hdGl2ZUltYWdlIGZyb20gYSBWaWRlb0ZyYW1lLgorICAg
ICAgICBTbWFsbCByZWZhY3RvcmluZyBpbiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHRvIHNoYXJl
IG1vcmUgY29kZSB3aXRoIFdlYktpdC4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg6CisKIDIwMjIt
MDUtMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIHJlcGxh
Y2VUcmFjayB3aXRoIGRpZmZlcmVudCBjb25zdHJhaW50cyBzdG9wcyBzZW5kaW5nIHBhY2tldHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzA2Njg4ZDQ3MDg0MzQ1YTA4YWQyMzc5NjY5YzNlMmI4MTA5YjAyNS4uNThi
NDBiN2EwNjQxMDFkMzBlNTRjYTI3YmU4NDU0MWVhZDg5N2MxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMi0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDIHRvIGF2
b2lkIHBpeGVsIGNvbmZvcm1lcnMgaWYgSU9TdXJmYWNlcyBhcmUgbm90IGFsbG93ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDExMworICAgICAg
ICByZGFyOi8vOTI2Mjk4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgVmlkZW9GcmFtZSBjb252ZXJzaW9uIHRvIEJHUkEgYnkgc2Vu
ZGluZyBJUEMgdG8gR1BVUHJvY2VzcywgdXNlIHBpeGVsIGNvbmZvcm1lciBpbiBHUFVQcm9jZXNz
IGFuZCBzZW5kIGJhY2sgdGhlIHJlc3VsdHMgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgVGhpcyBn
b2VzIHRocm91Z2ggUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yIHdoaWNoIGV4Y2hhbmdlcyB3aXRoIFJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLgorICAgICAgICBNYWtlIHVzZSBvZiB0aGlzIGNvbnZlcnNpb24g
Y29kZSBwYXRoIGZvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgYnkgc2V0
dGluZyBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgbmF0aXZlSW1hZ2VDcmVh
dG9yIGNhbGxiYWNrLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTogQWRkZWQuCisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9u
Z2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGVmNDA2ZGYwOTBmYjg4Y2NjMDc4NTQ3MjMxNmFjMTkzMDE2NWVmN2Qu
LmZjZTVjOWRhYjc2MTEyMDU1MDQ3YzBmNDFlYTUzZDg1ZGVjNDg1ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Miw3ICs0
NjIsNyBAQAogCQkxNERDRjNCMzFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNERDRjNCMTFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
LmggKi87IH07CiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4Mzc4RDA5Rjg1RDRG
MDBCODVBRTQgLyogSlNFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTE0RkZFMzFEMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVt
ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRGRkUzMUIwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMTUwNTI0RjQxQjcx
MkZGNjAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwNTI0RjAxQjcx
MkZGMDAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oICov
OyB9OworCQkxNTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYwMDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTUxNDVCOTAxQjNBMUNFMDAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUxNDVCOEYx
QjNBMUIzRTAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE1NzM5QkJCMUI0MjAxMkQwMEQyNThDMSAv
KiBKU01lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTU3MzlCQjkxQjQyMDEyMjAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmggKi87
IH07CiAJCTE1OTc0MURCMUI3RDE0MDEwMDIwMUM5MiAvKiBKU01lZGlhRGV2aWNlSW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTU3Q0MyNjIxQjdD
MUNBNDAwRDhEMDc1IC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggKi87IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDlmNWUyMjAzMDk5MDAyYjNmZWQ4YmMwZmYzMzU0YWUxNTA3OGI0YmYu
LmIxZDVkYzNjNzg2MjFiYWEzMTI2NzYxZGQ5M2ExNzVlZTFkY2NkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC02Myw2ICs2Myw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lk
IHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCisgICAgdXNpbmcg
TmF0aXZlSW1hZ2VDcmVhdG9yID0gUmVmUHRyPE5hdGl2ZUltYWdlPiAoKikoY29uc3QgVmlkZW9G
cmFtZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE5hdGl2ZUltYWdlQ3Jl
YXRvcihOYXRpdmVJbWFnZUNyZWF0b3ImJik7CisKICAgICAvLyBNZWRpYVBsYXllciBGYWN0b3J5
IE1ldGhvZHMKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgIHN0YXRpYyB2b2lk
IGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+JiB0eXBlcyk7CkBAIC0yOTAsOCArMjkzLDEwIEBAIHByaXZhdGU6CiAgICAgU2Vjb25kcyBt
X3ByZXNlbnRhdGlvblRpbWUgeyAwIH07CiAgICAgRmxvYXRTaXplIG1fdmlkZW9GcmFtZVNpemU7
CiAgICAgVmlkZW9GcmFtZVRpbWVNZXRhZGF0YSBtX3NhbXBsZU1ldGFkYXRhOworCisgICAgc3Rh
dGljIE5hdGl2ZUltYWdlQ3JlYXRvciBtX25hdGl2ZUltYWdlQ3JlYXRvcjsKIH07Ci0gICAgCisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggN2VmNGE5OWIwNDFhZjVhNDA2ZmEyYTE2
YzVkMmE3OGUyN2RhNDUwNi4uZWQxMjE5YmU4OGQyZWFkNzg5MjM1YzhiMmQ4ZWI0YjhhYWU5ODk4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTI3LDYgKzEyNywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQwogCitNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Ok5hdGl2ZUltYWdlQ3JlYXRvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Om1fbmF0aXZlSW1hZ2VDcmVhdG9yID0gbnVsbHB0cjsKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoTmF0aXZl
SW1hZ2VDcmVhdG9yJiYgY2FsbGJhY2spCit7CisgICAgbV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBX
VEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoTWVkaWFQbGF5ZXIqIHBs
YXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1fbG9nZ2VyKHBsYXllci0+bWVk
aWFQbGF5ZXJMb2dnZXIoKSkKQEAgLTk5Niw2ICsxMDAyLDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVDdXJyZW50RnJhbWVJbWFnZSgpCiAgICAg
aWYgKG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgfHwgIW1faW1hZ2VQYWludGVyLnZpZGVvRnJhbWUp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX25hdGl2ZUltYWdlQ3JlYXRvcikgeworICAg
ICAgICBtX2ltYWdlUGFpbnRlci5jZ0ltYWdlID0gbV9uYXRpdmVJbWFnZUNyZWF0b3IoKm1faW1h
Z2VQYWludGVyLnZpZGVvRnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgICAgICAK
ICAgICBpZiAoIW1faW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBt
X2ltYWdlUGFpbnRlci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1h
dFR5cGVfMzJCR1JBKSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L0NWVXRpbGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZk
MTdhNTEyNzE1ZC4uYzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5o
CkBAIC00OSw3ICs0OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBp
eGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQ
T1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0
ZUNWUGl4ZWxCdWZmZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJl
Zj4gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsK
K1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JT
cGFjZUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBj
YWxsZWQgd2l0aCBub24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRPd25lcnNoaXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwg
Y29uc3QgUHJvY2Vzc0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4
IGIyNjM3NjkyOTU0MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4
Zjk2NjYwYzQzYjlmZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3Bw
CkBAIC0xNDcsOCArMTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1
ZmZlcihDVlBpeGVsQnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gYnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQ
aXhlbEJ1ZmZlckdldFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENW
UGl4ZWxCdWZmZXJHZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1
ZmZlckNvbmZvcm1lcklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0
KCksIGJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZm
ZXIgPSBudWxscHRyOwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhl
bAogICAgICAgICBidWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAg
YXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdC
dWZmZXIpOworICAgIHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1
ZmZlciksIGNvbG9yU3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkK
K3sKKyAgICBzaXplX3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgp
KTsKKyAgICBzaXplX3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0
KCkpOworCiAgICAgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1h
cEluZm8+KGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFw
SW5mbz4oa0NHSW1hZ2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxl
bmd0aCA9IGJ5dGVzUGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhl
bEJ1ZmZlcihDVlBpeGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIocmF3QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3
IENWUGl4ZWxCdWZmZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlcik7CiAgICAgaW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9t
UGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHBy
b3ZpZGVyQ2FsbGJhY2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFj
aywgQ1ZQaXhlbEJ1ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVm
ZmVyUmVsZWFzZUluZm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJl
Zj4gcHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5
dGVMZW5ndGgsICZwcm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2Uu
Z2V0KCksIGJpdG1hcEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVu
ZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUo
d2lkdGgsIGhlaWdodCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZv
LCBwcm92aWRlci5nZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1
bHQpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0
Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUw
N2ZkZDdmMzQ5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAK
IAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYg
c3RydWN0IENHQ29sb3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJ
bWFnZSogQ0dJbWFnZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25m
b3JtZXIqIFZUUGl4ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVm
ZmVyICpDVlBpeGVsQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0
MCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
KENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZm
ZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4mJiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAuY3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEz
MGY0ZWUuLjdmZDQwYjM2NGNhNDljMGRmOGE0NGQzYTU5MmY5NTM5NmY0ZGRjZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9Xb3Jr
UXVldWUuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAj
aW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKQEAgLTEzMyw2ICsx
MzQsNDAgQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4ZWxCdWZmZXIoUmVt
b3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiByZWEKICAgICBBU1NFUlQocGl4ZWxCdWZmZXIp
OwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocGl4ZWxCdWZmZXIpKTsKIH0KKwordm9p
ZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlcihTaGFyZWRWaWRlb0Zy
YW1lOjpCdWZmZXImJiBidWZmZXIpCit7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IG1fc2hhcmVk
VmlkZW9GcmFtZVJlYWRlci5yZWFkQnVmZmVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKCFw
aXhlbEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJh
bWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjcmVh
dGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyLmdldCgpKTsKKyAgICBp
ZiAoIWNvbnZlcnRlZEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBib29sIGNhblNlbmRJT1N1cmZhY2UgPSBmYWxzZTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
c2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZlcihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCks
CisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpTZXRTaGFyZWRW
aWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAgICBbJl0oYXV0
byYgaGFuZGxlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhh
bmRsZSB9LCAwKTsgfSwKKyAgICAgICAgY2FuU2VuZElPU3VyZmFjZSk7CisgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vz
c29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgcmVzdWx0IH0sIDApOworfQorCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBo
b3JlKElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQoreworICAgIG1fc2hhcmVkVmlkZW9GcmFt
ZVJlYWRlci5zZXRTZW1hcGhvcmUoV1RGTW92ZShzZW1hcGhvcmUpKTsKK30KKwordm9pZCBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlKQoreworICAgIG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlci5zZXRTaGFyZWRNZW1vcnkoaXBjSGFuZGxlKTsKK30KKwogI2VuZGlmCiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKaW5kZXggYzA4YTVhNGM3N2Y2MDUyMTY2MjdjNTBiMTBhNDEx
ZWYxYWI5MmMwMC4uYzE2MmRjNTZjMDJkNmExMTMxYzc4ZWUyZDk4OWI0NGE5NzBjYTEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSAiU2hhcmVk
VmlkZW9GcmFtZS5oIgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBpeGVs
QnVmZmVyQ29uZm9ybWVyQ1Y7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBIb2xkcyBy
ZWZlcmVuY2VzIHRvIGFsbCBWaWRlb0ZyYW1lIGluc3RhbmNlcyB0aGF0IGFyZSBtYXBwZWQgZnJv
bSBHUFUgcHJvY2VzcyB0byBXZWIgcHJvY2Vzcy4KQEAgLTYxLDEyICs2NSwxOSBAQCBwcml2YXRl
OgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihSZW1v
dGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBib29sIGNhblNlbmRJT1N1cmZhY2UpOwogICAg
IHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4pPiYmKTsKKyAgICB2
b2lkIGNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyJiYpOworICAgIHZvaWQg
c2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKKyAgICB2b2lk
IHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUm
KTsKICNlbmRpZgogCisgICAgdm9pZCBjcmVhdGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisK
ICAgICBjb25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgVGhyZWFk
U2FmZU9iamVjdEhlYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3Jl
OjpWaWRlb0ZyYW1lPj4gbV9oZWFwOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNoYXJlZFZp
ZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
OwogI2VuZGlmCiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KaW5kZXggZWI5YTY5NmMyODE5OWIwYzQ2OWVi
MjBiNDVkYjcyYzIyZjdlMjY3Zi4uNDRkZTFmNTU3NDdiNmQyYTQ3ZjNjZjRlZjZjYjg0YjVhOGI5
ZjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgpAQCAtMjYs
NiArMjYsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZD
b3VudGVkIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCwgYm9vbCBjYW5TZW5kSU9T
dXJmYWNlKQogICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiByZXN1bHQpIFN5bmNo
cm9ub3VzCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBz
ZW1hcGhvcmUpCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCisgICAgQ29udmVydEJ1ZmZlcihzdHJ1Y3Qg
V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIgYnVmZmVyKQogI2VuZGlmCiAgICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2Ugd3Jp
dGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXAubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI3ZjYzNzlkMGE2MzJm
N2NhMGEzNjVmN2QwY2JkMjYwYzg1NmIzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbQpAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShWSURFTykgJiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Bp
eGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OmNyZWF0ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKQor
eworICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgbV9waXhlbEJ1ZmZl
ckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4o
KF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhl
bEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9
KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAxN2MxMGY5ZjRl
ODgxNGJlODA4YzA5YzBkZTNlODUxZDA0NGE2MWJmLi42YWFmYmNhMjM2NGUzMDFlZTYzYjUwM2Vj
MDliMzIxNDczNWIzOWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC03Myw2ICs3Myw3IEBA
IEdQVVByb2Nlc3MvbWFjL0dQVVByb2Nlc3NNYWMubW0KIEdQVVByb2Nlc3MvbWFjL0xvY2FsQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlSW1hZ2VE
ZWNvZGVyQVZGUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmpl
Y3RIZWFwLm1tCiBHUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlD
b2NvYS5tbQogR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJv
eHkuY3BwCiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBAbm8tdW5p
ZnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDE2YTU2MTNkYjMyZTUwOTg1OGExMTkxOWMxMzg1YWIxMDc1N2E5ZDUuLjhjOWZmOTQwYzRi
MzM4ZTczZWRmOTYyZGZlN2EwOTA4ZWIyM2UwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQyMCw2ICs0NDIwLDcgQEAKIAkJNDEw
M0ZCQTIyMDYxQkRCODAwQzJFQUY4IC8qIE5ldHdvcmtMb2FkQ2hlY2tlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrTG9hZENoZWNrZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRD
TmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENOZXR3
b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0MxREREMkZCNTAw
RjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBBRDJFMTI4MjNC
RDlGMDA5QzkzQzggLyogUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEwQkExMzkyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BT
b2NrZXRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtSVENUQ1BTb2NrZXRD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkExM0EyNTcxMzVGMjAw
MkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3
b3JrUlRDVENQU29ja2V0Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEw
RjBENEIyNzAxRUZFQTAwRjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTk0
LDYgKzc1OTUsNyBAQAogCQkJCTdCNUEzREE4MjdBN0RDQkMwMDZDNkY5NyAvKiBSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5jcHAgKi8sCiAJCQkJN0I1QTNEQTcyN0E3RENCQzAwNkM2Rjk3IC8q
IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmggKi8sCiAJCQkJNDEzQzU0MjIyN0M5MEY0QzAw
MkZDREE4IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluICovLAorCQkJ
CTQxMEFEMkUxMjgyM0JEOUYwMDlDOTNDOCAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5t
bSAqLywKIAkJCQkwNzFCQzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1By
b3h5LmNwcCAqLywKIAkJCQkwNzFCQzU4NTIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9U
cmFja1Byb3h5LmggKi8sCiAJCQkJMDdFMTlGMDUyM0Q0REM4ODAwOTRGRkI0IC8qIFRleHRUcmFj
a1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
ci5jcHAKaW5kZXggYjM3NmVjOGNlZDQ3NTA4MDEwMTQ1ZjVmNTQ2NDE1NDljZGNhYTdiZC4uYjg4
ZGU1MzA2YzY0ZGQxZjRjZjVmZWRlNzQ0ZmVjZjVlZjAzZTY5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlVXRpbGl0aWVz
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KQEAgLTI2Myw2ICsyNjQsOSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlcjo6c2V0VXNlR1BVUHJvY2Vzcyhib29sIHVzZUdQVVByb2Nlc3MpCiAgICAgICAgIFdl
YkNvcmU6OlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6c2V0Q3JlYXRvcihbXShhdXRvJiBjbGll
bnQpIHsKICAgICAgICAgICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVH
UFVQcm9jZXNzQ29ubmVjdGlvbigpLnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIoKS5j
cmVhdGVMYXllcihjbGllbnQpOwogICAgICAgICB9KTsKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoW10o
YXV0byYgdmlkZW9GcmFtZSkgeworICAgICAgICAgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkudmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eSgpLmdldE5hdGl2ZUltYWdlKHZpZGVvRnJhbWUpOworICAgICAgICB9KTsKICAgICB9CiAj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaAppbmRleCBl
Nzk0OGM1MjgxYWRkYzA1NWVjNzlmYTAzMmE0NDcyNDYzNjM1ODEzLi40ZWY5OTBlMDZjYTkwNDg4
MzQ0MTJjZDZiMzQzNWM5NjEzZmM5MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eS5oCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWaWRlb0ZyYW1l
UHJveHkmIHByb3h5LCBib29sIGNhblVzZUlPU3VyZmFjZSwgUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eVByb2Nlc3Nvcjo6Q2FsbGJhY2smJiBjYWxsYmFjaykgeyBtX3Byb2Nlc3Nvci0+
Z2V0VmlkZW9GcmFtZUJ1ZmZlcihwcm94eSwgY2FuVXNlSU9TdXJmYWNlLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7IH0KKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdl
KGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmIGZyYW1lKSAgeyByZXR1cm4gbV9wcm9jZXNzb3It
PmdldE5hdGl2ZUltYWdlKGZyYW1lKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCmluZGV4
IGM4NzI0NmFjNzBmZWZhYmMxZGI5MzRkNmUwMjJjYTg5MzVmZWU4MmEuLjE3NTIzYmY4N2JhZDBk
ZWUxNDZmMTIzMjdmOTlmNjU2Y2YxNzhhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNz
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCkBAIC0xMTksNiArMTE5LDMzIEBA
IHZvaWQgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6Z2V0VmlkZW9G
cmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWCiAgICAgSVBDOjpDb25uZWN0aW9uOjpzZW5kKG1fY29u
bmVjdGlvbklELCBNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OkdldFZpZGVv
RnJhbWVCdWZmZXIoZnJhbWUubmV3UmVhZFJlZmVyZW5jZSgpLCBjYW5Vc2VJT1N1cmZhY2UpLCAw
LCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5bmNS
ZXBseSk7CiB9CiAKK3ZvaWQgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
cjo6bmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlcihzdGQ6Om9wdGlvbmFsPFNoYXJlZFZpZGVv
RnJhbWU6OkJ1ZmZlcj4mJiBidWZmZXIpCit7CisgICAgQVNTRVJUKCFtX2NvbnZlcnRlZEJ1ZmZl
cik7CisgICAgaWYgKGJ1ZmZlcikKKyAgICAgICAgbV9jb252ZXJ0ZWRCdWZmZXIgPSBtX3NoYXJl
ZFZpZGVvRnJhbWVSZWFkZXIucmVhZEJ1ZmZlcihXVEZNb3ZlKCpidWZmZXIpKTsKKyAgICBtX2Nv
bnZlcnNpb25TZW1hcGhvcmUuc2lnbmFsKCk7Cit9CisKK1JlZlB0cjxOYXRpdmVJbWFnZT4gUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6Z2V0TmF0aXZlSW1hZ2UoY29u
c3QgV2ViQ29yZTo6VmlkZW9GcmFtZSYgdmlkZW9GcmFtZSkKK3sKKyAgICBhdXRvJiBjb25uZWN0
aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
KS5jb25uZWN0aW9uKCk7CisKKyAgICBhdXRvIG5hdGl2ZVBpeGVsQnVmZmVyID0gdmlkZW9GcmFt
ZS5waXhlbEJ1ZmZlcigpOworICAgIGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFj
ZUZvckNWUGl4ZWxCdWZmZXIobmF0aXZlUGl4ZWxCdWZmZXIpOworICAgIGF1dG8gYnVmZmVyID0g
bV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyLndyaXRlQnVmZmVyKG5hdGl2ZVBpeGVsQnVmZmVyLAor
ICAgICAgICBbJl0oYXV0byYgc2VtYXBob3JlKSB7IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OlNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUg
eyBzZW1hcGhvcmUgfSwgMCk7IH0sCisgICAgICAgIFsmXShhdXRvJiBoYW5kbGUpIHsgY29ubmVj
dGlvbi5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6U2V0U2hhcmVk
VmlkZW9GcmFtZU1lbW9yeSB7IGhhbmRsZSB9LCAwKTsgfSk7CisgICAgaWYgKCFidWZmZXIpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Q29udmVydEJ1ZmZlciB7IFdURk1vdmUoKmJ1ZmZl
cikgfSwgMCk7CisgICAgbV9jb252ZXJzaW9uU2VtYXBob3JlLndhaXQoKTsKKworICAgIGF1dG8g
cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKG1fY29udmVydGVkQnVmZmVyKTsKKyAgICByZXR1cm4gcGl4
ZWxCdWZmZXIgPyBOYXRpdmVJbWFnZTo6Y3JlYXRlKFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y6Omlt
YWdlRnJvbTMyQkdSQVBpeGVsQnVmZmVyKFdURk1vdmUocGl4ZWxCdWZmZXIpLCBjb2xvclNwYWNl
LmdldCgpKSkgOiBudWxscHRyOworfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5oCmluZGV4IDZiZjM0YjY1ZmM2
MWZjODYyNThkZmM1Zjg1YzhlOGMyZDUyOGMwZjYuLmI1MTRiOGFjY2I2NWQ2MWZmYzViMjczNjRi
MDkyOGVkZGY1YjlhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5o
PgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiB1c2luZyBDVlBp
eGVsQnVmZmVyUG9vbFJlZiA9IHN0cnVjdCBfX0NWUGl4ZWxCdWZmZXJQb29sKjsKIApAQCAtNDUs
NiArNDYsMTEgQEAgY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7CiB9CiAKK25hbWVz
cGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5hdGl2ZUltYWdlOworY2xhc3MgVmlkZW9GcmFtZTsKK30K
KwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZVZpZGVvRnJhbWVQcm94eTsKQEAg
LTU2LDYgKzYyLDcgQEAgcHVibGljOgogCiAgICAgdXNpbmcgQ2FsbGJhY2sgPSBGdW5jdGlvbjx2
b2lkKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKT47CiAgICAgdm9pZCBnZXRWaWRlb0Zy
YW1lQnVmZmVyKGNvbnN0IFJlbW90ZVZpZGVvRnJhbWVQcm94eSYsIGJvb2wgY2FuVXNlSU9TdXJm
Y2UsIENhbGxiYWNrJiYpOworICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gZ2V0TmF0
aXZlSW1hZ2UoY29uc3QgV2ViQ29yZTo6VmlkZW9GcmFtZSYpOwogCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IoR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24mKTsKQEAgLTY2LDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNo
YXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUmJik7CiAgICAgdm9pZCBzZXRT
aGFyZWRWaWRlb0ZyYW1lTWVtb3J5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJik7CiAg
ICAgdm9pZCBuZXdWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBz
dGQ6Om9wdGlvbmFsPFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4mJik7CisgICAgdm9pZCBuZXdD
b252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyKHN0ZDo6b3B0aW9uYWw8U2hhcmVkVmlkZW9GcmFtZTo6
QnVmZmVyPiYmKTsKIAogICAgIC8vIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQKICAgICB2
b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKTsK
QEAgLTgwLDYgKzg4LDEwIEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxSZW1vdGVWaWRlb0ZyYW1l
SWRlbnRpZmllciwgQ2FsbGJhY2s+IG1fY2FsbGJhY2tzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9j
YWxsYmFja3NMb2NrKTsKICAgICBSZWY8V29ya1F1ZXVlPiBtX3F1ZXVlOwogICAgIFNoYXJlZFZp
ZGVvRnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOworCisgICAgU2hhcmVkVmlk
ZW9GcmFtZVdyaXRlciBtX3NoYXJlZFZpZGVvRnJhbWVXcml0ZXI7CisgICAgUmV0YWluUHRyPENW
UGl4ZWxCdWZmZXJSZWY+IG1fY29udmVydGVkQnVmZmVyOworICAgIEJpbmFyeVNlbWFwaG9yZSBt
X2NvbnZlcnNpb25TZW1hcGhvcmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vz
c29yLm1lc3NhZ2VzLmluCmluZGV4IDkzYzU4NWZjNGExOWY5NTkyMzI0ZTJlNzVjYTFjYjg0YWNl
MzFhNTUuLmFkYTgyOWQ5YjFkM2M2ZWYwNmE0Nzk1MTA1MTAwNDAxNTI1ZmViNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvci5tZXNzYWdlcy5pbgpAQCAtMjYsNiArMjYsNyBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yIHsKICAgICBTZXRTaGFyZWRWaWRlb0ZyYW1l
U2VtYXBob3JlKElQQzo6U2VtYXBob3JlIHNlbWFwaG9yZSkKICAgICBTZXRTaGFyZWRWaWRlb0Zy
YW1lTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRsZSkK
ICAgICBOZXdWaWRlb0ZyYW1lQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6OlNoYXJlZFZpZGVvRnJhbWU6OkJ1
ZmZlcj4gZnJhbWUpCisgICAgTmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlcihzdGQ6Om9wdGlv
bmFsPFdlYktpdDo6U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiBmcmFtZSkKIH0KIAogI2VuZGlm
Cg==
</data>
<flag name="commit-queue"
          id="487828"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458863</attachid>
            <date>2022-05-05 02:42:28 -0700</date>
            <delta_ts>2022-05-05 03:03:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240113-20220505114225.patch</filename>
            <type>text/plain</type>
            <size>29741</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNGYwZWYxNDNmYmNlMzU5ZWIzMWYxYjFjZjllMmQ3
MmY3MDNjZjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNhbGxiYWNr
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhbGxvdyB1c2UgYSBj
dXN0b20gd2F5IHRvIGNyZWF0ZSBhIE5hdGl2ZUltYWdlIGZyb20gYSBWaWRlb0ZyYW1lLgorICAg
ICAgICBTbWFsbCByZWZhY3RvcmluZyBpbiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHRvIHNoYXJl
IG1vcmUgY29kZSB3aXRoIFdlYktpdC4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg6CisKIDIwMjIt
MDUtMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIHJlcGxh
Y2VUcmFjayB3aXRoIGRpZmZlcmVudCBjb25zdHJhaW50cyBzdG9wcyBzZW5kaW5nIHBhY2tldHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzA2Njg4ZDQ3MDg0MzQ1YTA4YWQyMzc5NjY5YzNlMmI4MTA5YjAyNS4uNThi
NDBiN2EwNjQxMDFkMzBlNTRjYTI3YmU4NDU0MWVhZDg5N2MxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMi0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDIHRvIGF2
b2lkIHBpeGVsIGNvbmZvcm1lcnMgaWYgSU9TdXJmYWNlcyBhcmUgbm90IGFsbG93ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDExMworICAgICAg
ICByZGFyOi8vOTI2Mjk4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgVmlkZW9GcmFtZSBjb252ZXJzaW9uIHRvIEJHUkEgYnkgc2Vu
ZGluZyBJUEMgdG8gR1BVUHJvY2VzcywgdXNlIHBpeGVsIGNvbmZvcm1lciBpbiBHUFVQcm9jZXNz
IGFuZCBzZW5kIGJhY2sgdGhlIHJlc3VsdHMgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgVGhpcyBn
b2VzIHRocm91Z2ggUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yIHdoaWNoIGV4Y2hhbmdlcyB3aXRoIFJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLgorICAgICAgICBNYWtlIHVzZSBvZiB0aGlzIGNvbnZlcnNpb24g
Y29kZSBwYXRoIGZvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgYnkgc2V0
dGluZyBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgbmF0aXZlSW1hZ2VDcmVh
dG9yIGNhbGxiYWNrLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTogQWRkZWQuCisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9u
Z2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGVmNDA2ZGYwOTBmYjg4Y2NjMDc4NTQ3MjMxNmFjMTkzMDE2NWVmN2Qu
LmZjZTVjOWRhYjc2MTEyMDU1MDQ3YzBmNDFlYTUzZDg1ZGVjNDg1ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Miw3ICs0
NjIsNyBAQAogCQkxNERDRjNCMzFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNERDRjNCMTFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
LmggKi87IH07CiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4Mzc4RDA5Rjg1RDRG
MDBCODVBRTQgLyogSlNFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTE0RkZFMzFEMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVt
ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRGRkUzMUIwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMTUwNTI0RjQxQjcx
MkZGNjAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwNTI0RjAxQjcx
MkZGMDAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oICov
OyB9OworCQkxNTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYwMDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTUxNDVCOTAxQjNBMUNFMDAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUxNDVCOEYx
QjNBMUIzRTAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE1NzM5QkJCMUI0MjAxMkQwMEQyNThDMSAv
KiBKU01lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTU3MzlCQjkxQjQyMDEyMjAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmggKi87
IH07CiAJCTE1OTc0MURCMUI3RDE0MDEwMDIwMUM5MiAvKiBKU01lZGlhRGV2aWNlSW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTU3Q0MyNjIxQjdD
MUNBNDAwRDhEMDc1IC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggKi87IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDlmNWUyMjAzMDk5MDAyYjNmZWQ4YmMwZmYzMzU0YWUxNTA3OGI0YmYu
LmIxZDVkYzNjNzg2MjFiYWEzMTI2NzYxZGQ5M2ExNzVlZTFkY2NkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC02Myw2ICs2Myw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lk
IHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCisgICAgdXNpbmcg
TmF0aXZlSW1hZ2VDcmVhdG9yID0gUmVmUHRyPE5hdGl2ZUltYWdlPiAoKikoY29uc3QgVmlkZW9G
cmFtZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE5hdGl2ZUltYWdlQ3Jl
YXRvcihOYXRpdmVJbWFnZUNyZWF0b3ImJik7CisKICAgICAvLyBNZWRpYVBsYXllciBGYWN0b3J5
IE1ldGhvZHMKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgIHN0YXRpYyB2b2lk
IGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+JiB0eXBlcyk7CkBAIC0yOTAsOCArMjkzLDEwIEBAIHByaXZhdGU6CiAgICAgU2Vjb25kcyBt
X3ByZXNlbnRhdGlvblRpbWUgeyAwIH07CiAgICAgRmxvYXRTaXplIG1fdmlkZW9GcmFtZVNpemU7
CiAgICAgVmlkZW9GcmFtZVRpbWVNZXRhZGF0YSBtX3NhbXBsZU1ldGFkYXRhOworCisgICAgc3Rh
dGljIE5hdGl2ZUltYWdlQ3JlYXRvciBtX25hdGl2ZUltYWdlQ3JlYXRvcjsKIH07Ci0gICAgCisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggN2VmNGE5OWIwNDFhZjVhNDA2ZmEyYTE2
YzVkMmE3OGUyN2RhNDUwNi4uZWQxMjE5YmU4OGQyZWFkNzg5MjM1YzhiMmQ4ZWI0YjhhYWU5ODk4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTI3LDYgKzEyNywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQwogCitNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Ok5hdGl2ZUltYWdlQ3JlYXRvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Om1fbmF0aXZlSW1hZ2VDcmVhdG9yID0gbnVsbHB0cjsKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoTmF0aXZl
SW1hZ2VDcmVhdG9yJiYgY2FsbGJhY2spCit7CisgICAgbV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBX
VEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoTWVkaWFQbGF5ZXIqIHBs
YXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1fbG9nZ2VyKHBsYXllci0+bWVk
aWFQbGF5ZXJMb2dnZXIoKSkKQEAgLTk5Niw2ICsxMDAyLDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVDdXJyZW50RnJhbWVJbWFnZSgpCiAgICAg
aWYgKG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgfHwgIW1faW1hZ2VQYWludGVyLnZpZGVvRnJhbWUp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX25hdGl2ZUltYWdlQ3JlYXRvcikgeworICAg
ICAgICBtX2ltYWdlUGFpbnRlci5jZ0ltYWdlID0gbV9uYXRpdmVJbWFnZUNyZWF0b3IoKm1faW1h
Z2VQYWludGVyLnZpZGVvRnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgICAgICAK
ICAgICBpZiAoIW1faW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBt
X2ltYWdlUGFpbnRlci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1h
dFR5cGVfMzJCR1JBKSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L0NWVXRpbGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZk
MTdhNTEyNzE1ZC4uYzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5o
CkBAIC00OSw3ICs0OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBp
eGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQ
T1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0
ZUNWUGl4ZWxCdWZmZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJl
Zj4gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsK
K1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JT
cGFjZUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBj
YWxsZWQgd2l0aCBub24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRPd25lcnNoaXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwg
Y29uc3QgUHJvY2Vzc0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4
IGIyNjM3NjkyOTU0MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4
Zjk2NjYwYzQzYjlmZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3Bw
CkBAIC0xNDcsOCArMTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1
ZmZlcihDVlBpeGVsQnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gYnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQ
aXhlbEJ1ZmZlckdldFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENW
UGl4ZWxCdWZmZXJHZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1
ZmZlckNvbmZvcm1lcklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0
KCksIGJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZm
ZXIgPSBudWxscHRyOwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhl
bAogICAgICAgICBidWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAg
YXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdC
dWZmZXIpOworICAgIHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1
ZmZlciksIGNvbG9yU3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkK
K3sKKyAgICBzaXplX3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgp
KTsKKyAgICBzaXplX3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0
KCkpOworCiAgICAgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1h
cEluZm8+KGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFw
SW5mbz4oa0NHSW1hZ2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxl
bmd0aCA9IGJ5dGVzUGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhl
bEJ1ZmZlcihDVlBpeGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIocmF3QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3
IENWUGl4ZWxCdWZmZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlcik7CiAgICAgaW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9t
UGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHBy
b3ZpZGVyQ2FsbGJhY2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFj
aywgQ1ZQaXhlbEJ1ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVm
ZmVyUmVsZWFzZUluZm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJl
Zj4gcHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5
dGVMZW5ndGgsICZwcm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2Uu
Z2V0KCksIGJpdG1hcEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVu
ZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUo
d2lkdGgsIGhlaWdodCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZv
LCBwcm92aWRlci5nZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1
bHQpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0
Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUw
N2ZkZDdmMzQ5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAK
IAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYg
c3RydWN0IENHQ29sb3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJ
bWFnZSogQ0dJbWFnZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25m
b3JtZXIqIFZUUGl4ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVm
ZmVyICpDVlBpeGVsQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0
MCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
KENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZm
ZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4mJiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAuY3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEz
MGY0ZWUuLjdmZDQwYjM2NGNhNDljMGRmOGE0NGQzYTU5MmY5NTM5NmY0ZGRjZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9Xb3Jr
UXVldWUuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAj
aW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKQEAgLTEzMyw2ICsx
MzQsNDAgQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4ZWxCdWZmZXIoUmVt
b3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiByZWEKICAgICBBU1NFUlQocGl4ZWxCdWZmZXIp
OwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocGl4ZWxCdWZmZXIpKTsKIH0KKwordm9p
ZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlcihTaGFyZWRWaWRlb0Zy
YW1lOjpCdWZmZXImJiBidWZmZXIpCit7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IG1fc2hhcmVk
VmlkZW9GcmFtZVJlYWRlci5yZWFkQnVmZmVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKCFw
aXhlbEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJh
bWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjcmVh
dGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyLmdldCgpKTsKKyAgICBp
ZiAoIWNvbnZlcnRlZEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBib29sIGNhblNlbmRJT1N1cmZhY2UgPSBmYWxzZTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
c2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZlcihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCks
CisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpTZXRTaGFyZWRW
aWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAgICBbJl0oYXV0
byYgaGFuZGxlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhh
bmRsZSB9LCAwKTsgfSwKKyAgICAgICAgY2FuU2VuZElPU3VyZmFjZSk7CisgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vz
c29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgcmVzdWx0IH0sIDApOworfQorCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBo
b3JlKElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQoreworICAgIG1fc2hhcmVkVmlkZW9GcmFt
ZVJlYWRlci5zZXRTZW1hcGhvcmUoV1RGTW92ZShzZW1hcGhvcmUpKTsKK30KKwordm9pZCBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlKQoreworICAgIG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlci5zZXRTaGFyZWRNZW1vcnkoaXBjSGFuZGxlKTsKK30KKwogI2VuZGlmCiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKaW5kZXggYzA4YTVhNGM3N2Y2MDUyMTY2MjdjNTBiMTBhNDEx
ZWYxYWI5MmMwMC4uYzE2MmRjNTZjMDJkNmExMTMxYzc4ZWUyZDk4OWI0NGE5NzBjYTEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSAiU2hhcmVk
VmlkZW9GcmFtZS5oIgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBpeGVs
QnVmZmVyQ29uZm9ybWVyQ1Y7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBIb2xkcyBy
ZWZlcmVuY2VzIHRvIGFsbCBWaWRlb0ZyYW1lIGluc3RhbmNlcyB0aGF0IGFyZSBtYXBwZWQgZnJv
bSBHUFUgcHJvY2VzcyB0byBXZWIgcHJvY2Vzcy4KQEAgLTYxLDEyICs2NSwxOSBAQCBwcml2YXRl
OgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihSZW1v
dGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBib29sIGNhblNlbmRJT1N1cmZhY2UpOwogICAg
IHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4pPiYmKTsKKyAgICB2
b2lkIGNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyJiYpOworICAgIHZvaWQg
c2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKKyAgICB2b2lk
IHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUm
KTsKICNlbmRpZgogCisgICAgdm9pZCBjcmVhdGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisK
ICAgICBjb25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgVGhyZWFk
U2FmZU9iamVjdEhlYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3Jl
OjpWaWRlb0ZyYW1lPj4gbV9oZWFwOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNoYXJlZFZp
ZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
OwogI2VuZGlmCiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KaW5kZXggZWI5YTY5NmMyODE5OWIwYzQ2OWVi
MjBiNDVkYjcyYzIyZjdlMjY3Zi4uNDRkZTFmNTU3NDdiNmQyYTQ3ZjNjZjRlZjZjYjg0YjVhOGI5
ZjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgpAQCAtMjYs
NiArMjYsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZD
b3VudGVkIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCwgYm9vbCBjYW5TZW5kSU9T
dXJmYWNlKQogICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiByZXN1bHQpIFN5bmNo
cm9ub3VzCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBz
ZW1hcGhvcmUpCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCisgICAgQ29udmVydEJ1ZmZlcihzdHJ1Y3Qg
V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIgYnVmZmVyKQogI2VuZGlmCiAgICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2Ugd3Jp
dGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXAubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI3ZjYzNzlkMGE2MzJm
N2NhMGEzNjVmN2QwY2JkMjYwYzg1NmIzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbQpAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShWSURFTykgJiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Bp
eGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OmNyZWF0ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKQor
eworICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgbV9waXhlbEJ1ZmZl
ckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4o
KF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhl
bEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9
KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAxN2MxMGY5ZjRl
ODgxNGJlODA4YzA5YzBkZTNlODUxZDA0NGE2MWJmLi42YWFmYmNhMjM2NGUzMDFlZTYzYjUwM2Vj
MDliMzIxNDczNWIzOWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC03Myw2ICs3Myw3IEBA
IEdQVVByb2Nlc3MvbWFjL0dQVVByb2Nlc3NNYWMubW0KIEdQVVByb2Nlc3MvbWFjL0xvY2FsQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlSW1hZ2VE
ZWNvZGVyQVZGUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmpl
Y3RIZWFwLm1tCiBHUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlD
b2NvYS5tbQogR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJv
eHkuY3BwCiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBAbm8tdW5p
ZnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDE2YTU2MTNkYjMyZTUwOTg1OGExMTkxOWMxMzg1YWIxMDc1N2E5ZDUuLjhjOWZmOTQwYzRi
MzM4ZTczZWRmOTYyZGZlN2EwOTA4ZWIyM2UwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQyMCw2ICs0NDIwLDcgQEAKIAkJNDEw
M0ZCQTIyMDYxQkRCODAwQzJFQUY4IC8qIE5ldHdvcmtMb2FkQ2hlY2tlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrTG9hZENoZWNrZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRD
TmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENOZXR3
b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0MxREREMkZCNTAw
RjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBBRDJFMTI4MjNC
RDlGMDA5QzkzQzggLyogUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEwQkExMzkyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BT
b2NrZXRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtSVENUQ1BTb2NrZXRD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkExM0EyNTcxMzVGMjAw
MkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3
b3JrUlRDVENQU29ja2V0Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEw
RjBENEIyNzAxRUZFQTAwRjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTk0
LDYgKzc1OTUsNyBAQAogCQkJCTdCNUEzREE4MjdBN0RDQkMwMDZDNkY5NyAvKiBSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5jcHAgKi8sCiAJCQkJN0I1QTNEQTcyN0E3RENCQzAwNkM2Rjk3IC8q
IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmggKi8sCiAJCQkJNDEzQzU0MjIyN0M5MEY0QzAw
MkZDREE4IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluICovLAorCQkJ
CTQxMEFEMkUxMjgyM0JEOUYwMDlDOTNDOCAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5t
bSAqLywKIAkJCQkwNzFCQzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1By
b3h5LmNwcCAqLywKIAkJCQkwNzFCQzU4NTIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9U
cmFja1Byb3h5LmggKi8sCiAJCQkJMDdFMTlGMDUyM0Q0REM4ODAwOTRGRkI0IC8qIFRleHRUcmFj
a1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
ci5jcHAKaW5kZXggYjM3NmVjOGNlZDQ3NTA4MDEwMTQ1ZjVmNTQ2NDE1NDljZGNhYTdiZC4uYjg4
ZGU1MzA2YzY0ZGQxZjRjZjVmZWRlNzQ0ZmVjZjVlZjAzZTY5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlVXRpbGl0aWVz
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KQEAgLTI2Myw2ICsyNjQsOSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlcjo6c2V0VXNlR1BVUHJvY2Vzcyhib29sIHVzZUdQVVByb2Nlc3MpCiAgICAgICAgIFdl
YkNvcmU6OlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6c2V0Q3JlYXRvcihbXShhdXRvJiBjbGll
bnQpIHsKICAgICAgICAgICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVH
UFVQcm9jZXNzQ29ubmVjdGlvbigpLnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIoKS5j
cmVhdGVMYXllcihjbGllbnQpOwogICAgICAgICB9KTsKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoW10o
YXV0byYgdmlkZW9GcmFtZSkgeworICAgICAgICAgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkudmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eSgpLmdldE5hdGl2ZUltYWdlKHZpZGVvRnJhbWUpOworICAgICAgICB9KTsKICAgICB9CiAj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaAppbmRleCBl
Nzk0OGM1MjgxYWRkYzA1NWVjNzlmYTAzMmE0NDcyNDYzNjM1ODEzLi40ZWY5OTBlMDZjYTkwNDg4
MzQ0MTJjZDZiMzQzNWM5NjEzZmM5MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eS5oCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWaWRlb0ZyYW1l
UHJveHkmIHByb3h5LCBib29sIGNhblVzZUlPU3VyZmFjZSwgUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eVByb2Nlc3Nvcjo6Q2FsbGJhY2smJiBjYWxsYmFjaykgeyBtX3Byb2Nlc3Nvci0+
Z2V0VmlkZW9GcmFtZUJ1ZmZlcihwcm94eSwgY2FuVXNlSU9TdXJmYWNlLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7IH0KKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdl
KGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmIGZyYW1lKSAgeyByZXR1cm4gbV9wcm9jZXNzb3It
PmdldE5hdGl2ZUltYWdlKGZyYW1lKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCmluZGV4
IGM4NzI0NmFjNzBmZWZhYmMxZGI5MzRkNmUwMjJjYTg5MzVmZWU4MmEuLmZiYTA2MDY0NDc2N2U5
N2Q1Yjc3N2M5ZGJhODMwMGMwZjcyNmQ2ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNz
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAj
aW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3JNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVQcm94eS5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTE5LDYgKzEyMSwzMyBAQCB2b2lkIFJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6OmdldFZpZGVvRnJhbWVCdWZmZXIoY29u
c3QgUmVtb3RlVgogICAgIElQQzo6Q29ubmVjdGlvbjo6c2VuZChtX2Nvbm5lY3Rpb25JRCwgTWVz
c2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpHZXRWaWRlb0ZyYW1lQnVmZmVyKGZy
YW1lLm5ld1JlYWRSZWZlcmVuY2UoKSwgY2FuVXNlSU9TdXJmYWNlKSwgMCwgSVBDOjpTZW5kT3B0
aW9uOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOwogfQogCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Om5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIoc3RkOjpvcHRpb25hbDxTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+
JiYgYnVmZmVyKQoreworICAgIEFTU0VSVCghbV9jb252ZXJ0ZWRCdWZmZXIpOworICAgIGlmIChi
dWZmZXIpCisgICAgICAgIG1fY29udmVydGVkQnVmZmVyID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVh
ZGVyLnJlYWRCdWZmZXIoV1RGTW92ZSgqYnVmZmVyKSk7CisgICAgbV9jb252ZXJzaW9uU2VtYXBo
b3JlLnNpZ25hbCgpOworfQorCitSZWZQdHI8TmF0aXZlSW1hZ2U+IFJlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3I6OmdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZp
ZGVvRnJhbWUmIHZpZGVvRnJhbWUpCit7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigp
OworCisgICAgYXV0byBuYXRpdmVQaXhlbEJ1ZmZlciA9IHZpZGVvRnJhbWUucGl4ZWxCdWZmZXIo
KTsKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBjcmVhdGVDR0NvbG9yU3BhY2VGb3JDVlBpeGVsQnVm
ZmVyKG5hdGl2ZVBpeGVsQnVmZmVyKTsKKyAgICBhdXRvIGJ1ZmZlciA9IG1fc2hhcmVkVmlkZW9G
cmFtZVdyaXRlci53cml0ZUJ1ZmZlcihuYXRpdmVQaXhlbEJ1ZmZlciwKKyAgICAgICAgWyZdKGF1
dG8mIHNlbWFwaG9yZSkgeyBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwOjpTZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0s
IDApOyB9LAorICAgICAgICBbJl0oYXV0byYgaGFuZGxlKSB7IGNvbm5lY3Rpb24uc2VuZChNZXNz
YWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OlNldFNoYXJlZFZpZGVvRnJhbWVNZW1v
cnkgeyBoYW5kbGUgfSwgMCk7IH0pOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXA6OkNvbnZlcnRCdWZmZXIgeyBXVEZNb3ZlKCpidWZmZXIpIH0sIDApOworICAg
IG1fY29udmVyc2lvblNlbWFwaG9yZS53YWl0KCk7CisKKyAgICBhdXRvIHBpeGVsQnVmZmVyID0g
V1RGTW92ZShtX2NvbnZlcnRlZEJ1ZmZlcik7CisgICAgcmV0dXJuIHBpeGVsQnVmZmVyID8gTmF0
aXZlSW1hZ2U6OmNyZWF0ZShQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjppbWFnZUZyb20zMkJHUkFQ
aXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwgY29sb3JTcGFjZS5nZXQoKSkpIDogbnVs
bHB0cjsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3Iu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaAppbmRleCA2YmYzNGI2NWZjNjFmYzg2MjU4ZGZjNWY4
NWM4ZThjMmQ1MjhjMGY2Li5iNTE0YjhhY2NiNjVkNjFmZmM1YjI3MzY0YjA5MjhlZGRmNWI5YWNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKyNpbmNsdWRlIDx3
dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KIAogdXNpbmcgQ1ZQaXhlbEJ1ZmZlclBvb2xS
ZWYgPSBzdHJ1Y3QgX19DVlBpeGVsQnVmZmVyUG9vbCo7CiAKQEAgLTQ1LDYgKzQ2LDExIEBAIGNs
YXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBOYXRpdmVJbWFnZTsKK2NsYXNzIFZpZGVvRnJhbWU7Cit9CisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBSZW1vdGVWaWRlb0ZyYW1lUHJveHk7CkBAIC01Niw2ICs2Miw3IEBA
IHB1YmxpYzoKIAogICAgIHVzaW5nIENhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4mJik+OwogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25z
dCBSZW1vdGVWaWRlb0ZyYW1lUHJveHkmLCBib29sIGNhblVzZUlPU3VyZmNlLCBDYWxsYmFjayYm
KTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdlKGNvbnN0
IFdlYkNvcmU6OlZpZGVvRnJhbWUmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBSZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yKEdQVVByb2Nlc3NDb25uZWN0aW9uJik7
CkBAIC02Niw2ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaGFyZWRWaWRlb0ZyYW1l
U2VtYXBob3JlKElQQzo6U2VtYXBob3JlJiYpOwogICAgIHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFt
ZU1lbW9yeShjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYpOwogICAgIHZvaWQgbmV3Vmlk
ZW9GcmFtZUJ1ZmZlcihSZW1vdGVWaWRlb0ZyYW1lSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxT
aGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+JiYpOworICAgIHZvaWQgbmV3Q29udmVydGVkVmlkZW9G
cmFtZUJ1ZmZlcihzdGQ6Om9wdGlvbmFsPFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4mJik7CiAK
ICAgICAvLyBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdm9pZCBncHVQcm9jZXNz
Q29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJik7CkBAIC04MCw2ICs4OCwx
MCBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIENh
bGxiYWNrPiBtX2NhbGxiYWNrcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2FsbGJhY2tzTG9jayk7
CiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKICAgICBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVy
IG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlcjsKKworICAgIFNoYXJlZFZpZGVvRnJhbWVXcml0ZXIg
bV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVm
PiBtX2NvbnZlcnRlZEJ1ZmZlcjsKKyAgICBCaW5hcnlTZW1hcGhvcmUgbV9jb252ZXJzaW9uU2Vt
YXBob3JlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5tZXNzYWdlcy5p
bgppbmRleCA5M2M1ODVmYzRhMTlmOTU5MjMyNGUyZTc1Y2ExY2I4NGFjZTMxYTU1Li5hZGE4Mjlk
OWIxZDNjNmVmMDZhNDc5NTEwNTEwMDQwMTUyNWZlYjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
UHJvY2Vzc29yLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMu
aW4KQEAgLTI2LDYgKzI2LDcgQEAgbWVzc2FnZXMgLT4gUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXBQcm94eVByb2Nlc3NvciB7CiAgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6
OlNlbWFwaG9yZSBzZW1hcGhvcmUpCiAgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJL
aXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCiAgICAgTmV3VmlkZW9G
cmFtZUJ1ZmZlcihXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyIGlkZW50aWZpZXIs
IHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+IGZyYW1lKQor
ICAgIE5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIoc3RkOjpvcHRpb25hbDxXZWJLaXQ6OlNo
YXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4gZnJhbWUpCiB9CiAKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="487829"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458864</attachid>
            <date>2022-05-05 02:52:44 -0700</date>
            <delta_ts>2022-05-05 04:23:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240113-20220505115242.patch</filename>
            <type>text/plain</type>
            <size>29783</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNGYwZWYxNDNmYmNlMzU5ZWIzMWYxYjFjZjllMmQ3
MmY3MDNjZjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNhbGxiYWNr
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhbGxvdyB1c2UgYSBj
dXN0b20gd2F5IHRvIGNyZWF0ZSBhIE5hdGl2ZUltYWdlIGZyb20gYSBWaWRlb0ZyYW1lLgorICAg
ICAgICBTbWFsbCByZWZhY3RvcmluZyBpbiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHRvIHNoYXJl
IG1vcmUgY29kZSB3aXRoIFdlYktpdC4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg6CisKIDIwMjIt
MDUtMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIHJlcGxh
Y2VUcmFjayB3aXRoIGRpZmZlcmVudCBjb25zdHJhaW50cyBzdG9wcyBzZW5kaW5nIHBhY2tldHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzA2Njg4ZDQ3MDg0MzQ1YTA4YWQyMzc5NjY5YzNlMmI4MTA5YjAyNS4uNThi
NDBiN2EwNjQxMDFkMzBlNTRjYTI3YmU4NDU0MWVhZDg5N2MxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMi0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDIHRvIGF2
b2lkIHBpeGVsIGNvbmZvcm1lcnMgaWYgSU9TdXJmYWNlcyBhcmUgbm90IGFsbG93ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDExMworICAgICAg
ICByZGFyOi8vOTI2Mjk4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgVmlkZW9GcmFtZSBjb252ZXJzaW9uIHRvIEJHUkEgYnkgc2Vu
ZGluZyBJUEMgdG8gR1BVUHJvY2VzcywgdXNlIHBpeGVsIGNvbmZvcm1lciBpbiBHUFVQcm9jZXNz
IGFuZCBzZW5kIGJhY2sgdGhlIHJlc3VsdHMgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgVGhpcyBn
b2VzIHRocm91Z2ggUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yIHdoaWNoIGV4Y2hhbmdlcyB3aXRoIFJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLgorICAgICAgICBNYWtlIHVzZSBvZiB0aGlzIGNvbnZlcnNpb24g
Y29kZSBwYXRoIGZvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgYnkgc2V0
dGluZyBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgbmF0aXZlSW1hZ2VDcmVh
dG9yIGNhbGxiYWNrLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTogQWRkZWQuCisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9u
Z2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGVmNDA2ZGYwOTBmYjg4Y2NjMDc4NTQ3MjMxNmFjMTkzMDE2NWVmN2Qu
LmZjZTVjOWRhYjc2MTEyMDU1MDQ3YzBmNDFlYTUzZDg1ZGVjNDg1ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Miw3ICs0
NjIsNyBAQAogCQkxNERDRjNCMzFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNERDRjNCMTFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
LmggKi87IH07CiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4Mzc4RDA5Rjg1RDRG
MDBCODVBRTQgLyogSlNFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTE0RkZFMzFEMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVt
ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRGRkUzMUIwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMTUwNTI0RjQxQjcx
MkZGNjAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwNTI0RjAxQjcx
MkZGMDAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oICov
OyB9OworCQkxNTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYwMDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTUxNDVCOTAxQjNBMUNFMDAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUxNDVCOEYx
QjNBMUIzRTAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE1NzM5QkJCMUI0MjAxMkQwMEQyNThDMSAv
KiBKU01lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTU3MzlCQjkxQjQyMDEyMjAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmggKi87
IH07CiAJCTE1OTc0MURCMUI3RDE0MDEwMDIwMUM5MiAvKiBKU01lZGlhRGV2aWNlSW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTU3Q0MyNjIxQjdD
MUNBNDAwRDhEMDc1IC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggKi87IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDlmNWUyMjAzMDk5MDAyYjNmZWQ4YmMwZmYzMzU0YWUxNTA3OGI0YmYu
LmIxZDVkYzNjNzg2MjFiYWEzMTI2NzYxZGQ5M2ExNzVlZTFkY2NkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC02Myw2ICs2Myw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lk
IHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCisgICAgdXNpbmcg
TmF0aXZlSW1hZ2VDcmVhdG9yID0gUmVmUHRyPE5hdGl2ZUltYWdlPiAoKikoY29uc3QgVmlkZW9G
cmFtZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE5hdGl2ZUltYWdlQ3Jl
YXRvcihOYXRpdmVJbWFnZUNyZWF0b3ImJik7CisKICAgICAvLyBNZWRpYVBsYXllciBGYWN0b3J5
IE1ldGhvZHMKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgIHN0YXRpYyB2b2lk
IGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+JiB0eXBlcyk7CkBAIC0yOTAsOCArMjkzLDEwIEBAIHByaXZhdGU6CiAgICAgU2Vjb25kcyBt
X3ByZXNlbnRhdGlvblRpbWUgeyAwIH07CiAgICAgRmxvYXRTaXplIG1fdmlkZW9GcmFtZVNpemU7
CiAgICAgVmlkZW9GcmFtZVRpbWVNZXRhZGF0YSBtX3NhbXBsZU1ldGFkYXRhOworCisgICAgc3Rh
dGljIE5hdGl2ZUltYWdlQ3JlYXRvciBtX25hdGl2ZUltYWdlQ3JlYXRvcjsKIH07Ci0gICAgCisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggN2VmNGE5OWIwNDFhZjVhNDA2ZmEyYTE2
YzVkMmE3OGUyN2RhNDUwNi4uZWQxMjE5YmU4OGQyZWFkNzg5MjM1YzhiMmQ4ZWI0YjhhYWU5ODk4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTI3LDYgKzEyNywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQwogCitNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Ok5hdGl2ZUltYWdlQ3JlYXRvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Om1fbmF0aXZlSW1hZ2VDcmVhdG9yID0gbnVsbHB0cjsKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoTmF0aXZl
SW1hZ2VDcmVhdG9yJiYgY2FsbGJhY2spCit7CisgICAgbV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBX
VEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoTWVkaWFQbGF5ZXIqIHBs
YXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1fbG9nZ2VyKHBsYXllci0+bWVk
aWFQbGF5ZXJMb2dnZXIoKSkKQEAgLTk5Niw2ICsxMDAyLDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVDdXJyZW50RnJhbWVJbWFnZSgpCiAgICAg
aWYgKG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgfHwgIW1faW1hZ2VQYWludGVyLnZpZGVvRnJhbWUp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX25hdGl2ZUltYWdlQ3JlYXRvcikgeworICAg
ICAgICBtX2ltYWdlUGFpbnRlci5jZ0ltYWdlID0gbV9uYXRpdmVJbWFnZUNyZWF0b3IoKm1faW1h
Z2VQYWludGVyLnZpZGVvRnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgICAgICAK
ICAgICBpZiAoIW1faW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBt
X2ltYWdlUGFpbnRlci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1h
dFR5cGVfMzJCR1JBKSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L0NWVXRpbGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZk
MTdhNTEyNzE1ZC4uYzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5o
CkBAIC00OSw3ICs0OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBp
eGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQ
T1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0
ZUNWUGl4ZWxCdWZmZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJl
Zj4gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsK
K1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JT
cGFjZUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBj
YWxsZWQgd2l0aCBub24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRPd25lcnNoaXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwg
Y29uc3QgUHJvY2Vzc0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4
IGIyNjM3NjkyOTU0MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4
Zjk2NjYwYzQzYjlmZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3Bw
CkBAIC0xNDcsOCArMTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1
ZmZlcihDVlBpeGVsQnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gYnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQ
aXhlbEJ1ZmZlckdldFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENW
UGl4ZWxCdWZmZXJHZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1
ZmZlckNvbmZvcm1lcklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0
KCksIGJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZm
ZXIgPSBudWxscHRyOwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhl
bAogICAgICAgICBidWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAg
YXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdC
dWZmZXIpOworICAgIHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1
ZmZlciksIGNvbG9yU3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkK
K3sKKyAgICBzaXplX3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgp
KTsKKyAgICBzaXplX3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0
KCkpOworCiAgICAgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1h
cEluZm8+KGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFw
SW5mbz4oa0NHSW1hZ2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxl
bmd0aCA9IGJ5dGVzUGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhl
bEJ1ZmZlcihDVlBpeGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIocmF3QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3
IENWUGl4ZWxCdWZmZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlcik7CiAgICAgaW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9t
UGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHBy
b3ZpZGVyQ2FsbGJhY2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFj
aywgQ1ZQaXhlbEJ1ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVm
ZmVyUmVsZWFzZUluZm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJl
Zj4gcHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5
dGVMZW5ndGgsICZwcm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2Uu
Z2V0KCksIGJpdG1hcEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVu
ZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUo
d2lkdGgsIGhlaWdodCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZv
LCBwcm92aWRlci5nZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1
bHQpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0
Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUw
N2ZkZDdmMzQ5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAK
IAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYg
c3RydWN0IENHQ29sb3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJ
bWFnZSogQ0dJbWFnZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25m
b3JtZXIqIFZUUGl4ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVm
ZmVyICpDVlBpeGVsQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0
MCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
KENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZm
ZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4mJiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAuY3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEz
MGY0ZWUuLjdmZDQwYjM2NGNhNDljMGRmOGE0NGQzYTU5MmY5NTM5NmY0ZGRjZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9Xb3Jr
UXVldWUuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAj
aW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKQEAgLTEzMyw2ICsx
MzQsNDAgQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4ZWxCdWZmZXIoUmVt
b3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiByZWEKICAgICBBU1NFUlQocGl4ZWxCdWZmZXIp
OwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocGl4ZWxCdWZmZXIpKTsKIH0KKwordm9p
ZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlcihTaGFyZWRWaWRlb0Zy
YW1lOjpCdWZmZXImJiBidWZmZXIpCit7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IG1fc2hhcmVk
VmlkZW9GcmFtZVJlYWRlci5yZWFkQnVmZmVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKCFw
aXhlbEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJh
bWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjcmVh
dGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyLmdldCgpKTsKKyAgICBp
ZiAoIWNvbnZlcnRlZEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBib29sIGNhblNlbmRJT1N1cmZhY2UgPSBmYWxzZTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
c2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZlcihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCks
CisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpTZXRTaGFyZWRW
aWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAgICBbJl0oYXV0
byYgaGFuZGxlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhh
bmRsZSB9LCAwKTsgfSwKKyAgICAgICAgY2FuU2VuZElPU3VyZmFjZSk7CisgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vz
c29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgcmVzdWx0IH0sIDApOworfQorCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBo
b3JlKElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQoreworICAgIG1fc2hhcmVkVmlkZW9GcmFt
ZVJlYWRlci5zZXRTZW1hcGhvcmUoV1RGTW92ZShzZW1hcGhvcmUpKTsKK30KKwordm9pZCBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlKQoreworICAgIG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlci5zZXRTaGFyZWRNZW1vcnkoaXBjSGFuZGxlKTsKK30KKwogI2VuZGlmCiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKaW5kZXggYzA4YTVhNGM3N2Y2MDUyMTY2MjdjNTBiMTBhNDEx
ZWYxYWI5MmMwMC4uYzE2MmRjNTZjMDJkNmExMTMxYzc4ZWUyZDk4OWI0NGE5NzBjYTEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSAiU2hhcmVk
VmlkZW9GcmFtZS5oIgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBpeGVs
QnVmZmVyQ29uZm9ybWVyQ1Y7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBIb2xkcyBy
ZWZlcmVuY2VzIHRvIGFsbCBWaWRlb0ZyYW1lIGluc3RhbmNlcyB0aGF0IGFyZSBtYXBwZWQgZnJv
bSBHUFUgcHJvY2VzcyB0byBXZWIgcHJvY2Vzcy4KQEAgLTYxLDEyICs2NSwxOSBAQCBwcml2YXRl
OgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihSZW1v
dGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBib29sIGNhblNlbmRJT1N1cmZhY2UpOwogICAg
IHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4pPiYmKTsKKyAgICB2
b2lkIGNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyJiYpOworICAgIHZvaWQg
c2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKKyAgICB2b2lk
IHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUm
KTsKICNlbmRpZgogCisgICAgdm9pZCBjcmVhdGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisK
ICAgICBjb25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgVGhyZWFk
U2FmZU9iamVjdEhlYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3Jl
OjpWaWRlb0ZyYW1lPj4gbV9oZWFwOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNoYXJlZFZp
ZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
OwogI2VuZGlmCiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KaW5kZXggZWI5YTY5NmMyODE5OWIwYzQ2OWVi
MjBiNDVkYjcyYzIyZjdlMjY3Zi4uNDRkZTFmNTU3NDdiNmQyYTQ3ZjNjZjRlZjZjYjg0YjVhOGI5
ZjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgpAQCAtMjYs
NiArMjYsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZD
b3VudGVkIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCwgYm9vbCBjYW5TZW5kSU9T
dXJmYWNlKQogICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiByZXN1bHQpIFN5bmNo
cm9ub3VzCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBz
ZW1hcGhvcmUpCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCisgICAgQ29udmVydEJ1ZmZlcihzdHJ1Y3Qg
V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIgYnVmZmVyKQogI2VuZGlmCiAgICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2Ugd3Jp
dGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXAubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU3MjVkZDc5N2M0ZGEx
NmFjYTJmNDc0NGM3ZWVjODRhYWYxMGY3NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbQpAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShWSURFTykgJiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Bp
eGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KKworI2luY2x1ZGUgPFdlYkNvcmUvQ29yZVZpZGVvU29m
dExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXA6OmNyZWF0ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKQoreworICAgIGlmICghbV9w
aXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgbV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1h
a2VVbmlxdWU8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGlj
dGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9y
bWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9KTsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAxN2MxMGY5ZjRlODgxNGJlODA4YzA5YzBk
ZTNlODUxZDA0NGE2MWJmLi42YWFmYmNhMjM2NGUzMDFlZTYzYjUwM2VjMDliMzIxNDczNWIzOWY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC03Myw2ICs3Myw3IEBAIEdQVVByb2Nlc3MvbWFj
L0dQVVByb2Nlc3NNYWMubW0KIEdQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHku
Y3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tCiBHUFVQ
cm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQogR1BVUHJv
Y2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkuY3BwCiBHUFVQcm9j
ZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBAbm8tdW5pZnkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE2YTU2MTNkYjMy
ZTUwOTg1OGExMTkxOWMxMzg1YWIxMDc1N2E5ZDUuLjhjOWZmOTQwYzRiMzM4ZTczZWRmOTYyZGZl
N2EwOTA4ZWIyM2UwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDQyMCw2ICs0NDIwLDcgQEAKIAkJNDEwM0ZCQTIyMDYxQkRCODAw
QzJFQUY4IC8qIE5ldHdvcmtMb2FkQ2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOZXR3b3JrTG9hZENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENOZXR3b3JrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05l
dHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDTmV0d29yay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBBRDJFMTI4MjNCRDlGMDA5QzkzQzggLyog
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEwQkExMzkyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkExM0EyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdv
cmtSVENUQ1BTb2NrZXRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUlRDVENQU29ja2V0
Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwRjBENEIyNzAxRUZFQTAw
Rjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTk0LDYgKzc1OTUsNyBAQAog
CQkJCTdCNUEzREE4MjdBN0RDQkMwMDZDNkY5NyAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cC5jcHAgKi8sCiAJCQkJN0I1QTNEQTcyN0E3RENCQzAwNkM2Rjk3IC8qIFJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwLmggKi8sCiAJCQkJNDEzQzU0MjIyN0M5MEY0QzAwMkZDREE4IC8qIFJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMEFEMkUxMjgyM0JE
OUYwMDlDOTNDOCAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbSAqLywKIAkJCQkwNzFC
QzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcCAqLywKIAkJ
CQkwNzFCQzU4NTIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1Byb3h5LmggKi8s
CiAJCQkJMDdFMTlGMDUyM0Q0REM4ODAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGVD
b25maWd1cmF0aW9uLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKaW5kZXggYjM3
NmVjOGNlZDQ3NTA4MDEwMTQ1ZjVmNTQ2NDE1NDljZGNhYTdiZC4uYjg4ZGU1MzA2YzY0ZGQxZjRj
ZjVmZWRlNzQ0ZmVjZjVlZjAzZTY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcApA
QCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVBsYXllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
QEAgLTI2Myw2ICsyNjQsOSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6c2V0VXNl
R1BVUHJvY2Vzcyhib29sIHVzZUdQVVByb2Nlc3MpCiAgICAgICAgIFdlYkNvcmU6OlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcjo6c2V0Q3JlYXRvcihbXShhdXRvJiBjbGllbnQpIHsKICAgICAgICAg
ICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVj
dGlvbigpLnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIoKS5jcmVhdGVMYXllcihjbGll
bnQpOwogICAgICAgICB9KTsKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoW10oYXV0byYgdmlkZW9GcmFt
ZSkgeworICAgICAgICAgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQ
VVByb2Nlc3NDb25uZWN0aW9uKCkudmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eSgpLmdldE5hdGl2
ZUltYWdlKHZpZGVvRnJhbWUpOworICAgICAgICB9KTsKICAgICB9CiAjZW5kaWYKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaAppbmRleCBlNzk0OGM1MjgxYWRkYzA1
NWVjNzlmYTAzMmE0NDcyNDYzNjM1ODEzLi40ZWY5OTBlMDZjYTkwNDg4MzQ0MTJjZDZiMzQzNWM5
NjEzZmM5MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS5oCkBA
IC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQg
Z2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWaWRlb0ZyYW1lUHJveHkmIHByb3h5LCBi
b29sIGNhblVzZUlPU3VyZmFjZSwgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvcjo6Q2FsbGJhY2smJiBjYWxsYmFjaykgeyBtX3Byb2Nlc3Nvci0+Z2V0VmlkZW9GcmFtZUJ1
ZmZlcihwcm94eSwgY2FuVXNlSU9TdXJmYWNlLCBXVEZNb3ZlKGNhbGxiYWNrKSk7IH0KKyAgICBS
ZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6
OlZpZGVvRnJhbWUmIGZyYW1lKSAgeyByZXR1cm4gbV9wcm9jZXNzb3ItPmdldE5hdGl2ZUltYWdl
KGZyYW1lKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJv
Y2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCmluZGV4IGM4NzI0NmFjNzBmZWZh
YmMxZGI5MzRkNmUwMjJjYTg5MzVmZWU4MmEuLmZiYTA2MDY0NDc2N2U5N2Q1Yjc3N2M5ZGJhODMw
MGMwZjcyNmQ2ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3IuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXBNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVZp
ZGVvRnJhbWVQcm94eS5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApAQCAtMTE5LDYgKzEyMSwzMyBAQCB2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3I6OmdldFZpZGVvRnJhbWVCdWZmZXIoY29uc3QgUmVtb3RlVgogICAg
IElQQzo6Q29ubmVjdGlvbjo6c2VuZChtX2Nvbm5lY3Rpb25JRCwgTWVzc2FnZXM6OlJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwOjpHZXRWaWRlb0ZyYW1lQnVmZmVyKGZyYW1lLm5ld1JlYWRSZWZl
cmVuY2UoKSwgY2FuVXNlSU9TdXJmYWNlKSwgMCwgSVBDOjpTZW5kT3B0aW9uOjpEaXNwYXRjaE1l
c3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOwogfQogCit2b2lkIFJlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Om5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZm
ZXIoc3RkOjpvcHRpb25hbDxTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+JiYgYnVmZmVyKQorewor
ICAgIEFTU0VSVCghbV9jb252ZXJ0ZWRCdWZmZXIpOworICAgIGlmIChidWZmZXIpCisgICAgICAg
IG1fY29udmVydGVkQnVmZmVyID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnJlYWRCdWZmZXIo
V1RGTW92ZSgqYnVmZmVyKSk7CisgICAgbV9jb252ZXJzaW9uU2VtYXBob3JlLnNpZ25hbCgpOwor
fQorCitSZWZQdHI8TmF0aXZlSW1hZ2U+IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQ
cm9jZXNzb3I6OmdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmIHZpZGVv
RnJhbWUpCit7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOworCisgICAgYXV0byBu
YXRpdmVQaXhlbEJ1ZmZlciA9IHZpZGVvRnJhbWUucGl4ZWxCdWZmZXIoKTsKKyAgICBhdXRvIGNv
bG9yU3BhY2UgPSBjcmVhdGVDR0NvbG9yU3BhY2VGb3JDVlBpeGVsQnVmZmVyKG5hdGl2ZVBpeGVs
QnVmZmVyKTsKKyAgICBhdXRvIGJ1ZmZlciA9IG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0
ZUJ1ZmZlcihuYXRpdmVQaXhlbEJ1ZmZlciwKKyAgICAgICAgWyZdKGF1dG8mIHNlbWFwaG9yZSkg
eyBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpT
ZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAg
ICBbJl0oYXV0byYgaGFuZGxlKSB7IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6UmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXA6OlNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkgeyBoYW5kbGUgfSwg
MCk7IH0pOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OkNv
bnZlcnRCdWZmZXIgeyBXVEZNb3ZlKCpidWZmZXIpIH0sIDApOworICAgIG1fY29udmVyc2lvblNl
bWFwaG9yZS53YWl0KCk7CisKKyAgICBhdXRvIHBpeGVsQnVmZmVyID0gV1RGTW92ZShtX2NvbnZl
cnRlZEJ1ZmZlcik7CisgICAgcmV0dXJuIHBpeGVsQnVmZmVyID8gTmF0aXZlSW1hZ2U6OmNyZWF0
ZShQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjppbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZN
b3ZlKHBpeGVsQnVmZmVyKSwgY29sb3JTcGFjZS5nZXQoKSkpIDogbnVsbHB0cjsKK30KKwogfQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQ
cm9jZXNzb3IuaAppbmRleCA2YmYzNGI2NWZjNjFmYzg2MjU4ZGZjNWY4NWM4ZThjMmQ1MjhjMGY2
Li5iNTE0YjhhY2NiNjVkNjFmZmM1YjI3MzY0YjA5MjhlZGRmNWI5YWNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5oCkBAIC0zNyw2
ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5h
cnlTZW1hcGhvcmUuaD4KIAogdXNpbmcgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgPSBzdHJ1Y3QgX19D
VlBpeGVsQnVmZmVyUG9vbCo7CiAKQEAgLTQ1LDYgKzQ2LDExIEBAIGNsYXNzIENvbm5lY3Rpb247
CiBjbGFzcyBEZWNvZGVyOwogfQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOYXRpdmVJ
bWFnZTsKK2NsYXNzIFZpZGVvRnJhbWU7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBSZW1vdGVWaWRlb0ZyYW1lUHJveHk7CkBAIC01Niw2ICs2Miw3IEBAIHB1YmxpYzoKIAogICAg
IHVzaW5nIENhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4mJik+OwogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWaWRlb0Zy
YW1lUHJveHkmLCBib29sIGNhblVzZUlPU3VyZmNlLCBDYWxsYmFjayYmKTsKKyAgICBSZWZQdHI8
V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZpZGVv
RnJhbWUmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yKEdQVVByb2Nlc3NDb25uZWN0aW9uJik7CkBAIC02Niw2ICs3Myw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlKElQQzo6
U2VtYXBob3JlJiYpOwogICAgIHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYpOwogICAgIHZvaWQgbmV3VmlkZW9GcmFtZUJ1ZmZlcihS
ZW1vdGVWaWRlb0ZyYW1lSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTaGFyZWRWaWRlb0ZyYW1l
OjpCdWZmZXI+JiYpOworICAgIHZvaWQgbmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlcihzdGQ6
Om9wdGlvbmFsPFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4mJik7CiAKICAgICAvLyBHUFVQcm9j
ZXNzQ29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdm9pZCBncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENs
b3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJik7CkBAIC04MCw2ICs4OCwxMCBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIENhbGxiYWNrPiBtX2NhbGxi
YWNrcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2FsbGJhY2tzTG9jayk7CiAgICAgUmVmPFdvcmtR
dWV1ZT4gbV9xdWV1ZTsKICAgICBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyIG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlcjsKKworICAgIFNoYXJlZFZpZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0Zy
YW1lV3JpdGVyOworICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2NvbnZlcnRlZEJ1
ZmZlcjsKKyAgICBCaW5hcnlTZW1hcGhvcmUgbV9jb252ZXJzaW9uU2VtYXBob3JlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbgppbmRleCA5M2M1ODVm
YzRhMTlmOTU5MjMyNGUyZTc1Y2ExY2I4NGFjZTMxYTU1Li5hZGE4MjlkOWIxZDNjNmVmMDZhNDc5
NTEwNTEwMDQwMTUyNWZlYjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4KQEAgLTI2LDYgKzI2
LDcgQEAgbWVzc2FnZXMgLT4gUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
ciB7CiAgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBzZW1h
cGhvcmUpCiAgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1lbW9y
eTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCiAgICAgTmV3VmlkZW9GcmFtZUJ1ZmZlcihXZWJL
aXQ6OlJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8
V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+IGZyYW1lKQorICAgIE5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIoc3RkOjpvcHRpb25hbDxXZWJLaXQ6OlNoYXJlZFZpZGVvRnJhbWU6
OkJ1ZmZlcj4gZnJhbWUpCiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458865</attachid>
            <date>2022-05-05 04:23:52 -0700</date>
            <delta_ts>2022-05-05 09:34:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240113-20220505132350.patch</filename>
            <type>text/plain</type>
            <size>29709</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNGYwZWYxNDNmYmNlMzU5ZWIzMWYxYjFjZjllMmQ3
MmY3MDNjZjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNhbGxiYWNr
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhbGxvdyB1c2UgYSBj
dXN0b20gd2F5IHRvIGNyZWF0ZSBhIE5hdGl2ZUltYWdlIGZyb20gYSBWaWRlb0ZyYW1lLgorICAg
ICAgICBTbWFsbCByZWZhY3RvcmluZyBpbiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHRvIHNoYXJl
IG1vcmUgY29kZSB3aXRoIFdlYktpdC4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg6CisKIDIwMjIt
MDUtMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIHJlcGxh
Y2VUcmFjayB3aXRoIGRpZmZlcmVudCBjb25zdHJhaW50cyBzdG9wcyBzZW5kaW5nIHBhY2tldHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzA2Njg4ZDQ3MDg0MzQ1YTA4YWQyMzc5NjY5YzNlMmI4MTA5YjAyNS4uNThi
NDBiN2EwNjQxMDFkMzBlNTRjYTI3YmU4NDU0MWVhZDg5N2MxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMi0wNS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDIHRvIGF2
b2lkIHBpeGVsIGNvbmZvcm1lcnMgaWYgSU9TdXJmYWNlcyBhcmUgbm90IGFsbG93ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDExMworICAgICAg
ICByZGFyOi8vOTI2Mjk4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgVmlkZW9GcmFtZSBjb252ZXJzaW9uIHRvIEJHUkEgYnkgc2Vu
ZGluZyBJUEMgdG8gR1BVUHJvY2VzcywgdXNlIHBpeGVsIGNvbmZvcm1lciBpbiBHUFVQcm9jZXNz
IGFuZCBzZW5kIGJhY2sgdGhlIHJlc3VsdHMgdG8gV2ViUHJvY2Vzcy4KKyAgICAgICAgVGhpcyBn
b2VzIHRocm91Z2ggUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yIHdoaWNoIGV4Y2hhbmdlcyB3aXRoIFJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLgorICAgICAgICBNYWtlIHVzZSBvZiB0aGlzIGNvbnZlcnNpb24g
Y29kZSBwYXRoIGZvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgYnkgc2V0
dGluZyBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgbmF0aXZlSW1hZ2VDcmVh
dG9yIGNhbGxiYWNrLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTogQWRkZWQuCisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcFByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9u
Z2VyIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGVmNDA2ZGYwOTBmYjg4Y2NjMDc4NTQ3MjMxNmFjMTkzMDE2NWVmN2Qu
LmZjZTVjOWRhYjc2MTEyMDU1MDQ3YzBmNDFlYTUzZDg1ZGVjNDg1ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Miw3ICs0
NjIsNyBAQAogCQkxNERDRjNCMzFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNERDRjNCMTFCNkJFMjA4MDA2MkQ0QzMgLyogSlNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
LmggKi87IH07CiAJCTE0RTgzNzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU4Mzc4RDA5Rjg1RDRG
MDBCODVBRTQgLyogSlNFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTE0RkZFMzFEMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVt
ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRGRkUzMUIwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMTUwNTI0RjQxQjcx
MkZGNjAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwNTI0RjAxQjcx
MkZGMDAwNjk2QUE5IC8qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oICov
OyB9OworCQkxNTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYwMDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTUxNDVCOTAxQjNBMUNFMDAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUxNDVCOEYx
QjNBMUIzRTAwNjYyQkY3IC8qIE1lZGlhRGV2aWNlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE1NzM5QkJCMUI0MjAxMkQwMEQyNThDMSAv
KiBKU01lZGlhRGV2aWNlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTU3MzlCQjkxQjQyMDEyMjAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmggKi87
IH07CiAJCTE1OTc0MURCMUI3RDE0MDEwMDIwMUM5MiAvKiBKU01lZGlhRGV2aWNlSW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTU3Q0MyNjIxQjdD
MUNBNDAwRDhEMDc1IC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggKi87IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDlmNWUyMjAzMDk5MDAyYjNmZWQ4YmMwZmYzMzU0YWUxNTA3OGI0YmYu
LmIxZDVkYzNjNzg2MjFiYWEzMTI2NzYxZGQ5M2ExNzVlZTFkY2NkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC02Myw2ICs2Myw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lk
IHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCisgICAgdXNpbmcg
TmF0aXZlSW1hZ2VDcmVhdG9yID0gUmVmUHRyPE5hdGl2ZUltYWdlPiAoKikoY29uc3QgVmlkZW9G
cmFtZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE5hdGl2ZUltYWdlQ3Jl
YXRvcihOYXRpdmVJbWFnZUNyZWF0b3ImJik7CisKICAgICAvLyBNZWRpYVBsYXllciBGYWN0b3J5
IE1ldGhvZHMKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgIHN0YXRpYyB2b2lk
IGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2g+JiB0eXBlcyk7CkBAIC0yOTAsOCArMjkzLDEwIEBAIHByaXZhdGU6CiAgICAgU2Vjb25kcyBt
X3ByZXNlbnRhdGlvblRpbWUgeyAwIH07CiAgICAgRmxvYXRTaXplIG1fdmlkZW9GcmFtZVNpemU7
CiAgICAgVmlkZW9GcmFtZVRpbWVNZXRhZGF0YSBtX3NhbXBsZU1ldGFkYXRhOworCisgICAgc3Rh
dGljIE5hdGl2ZUltYWdlQ3JlYXRvciBtX25hdGl2ZUltYWdlQ3JlYXRvcjsKIH07Ci0gICAgCisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggN2VmNGE5OWIwNDFhZjVhNDA2ZmEyYTE2
YzVkMmE3OGUyN2RhNDUwNi4uZWQxMjE5YmU4OGQyZWFkNzg5MjM1YzhiMmQ4ZWI0YjhhYWU5ODk4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTI3LDYgKzEyNywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQwogCitNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Ok5hdGl2ZUltYWdlQ3JlYXRvciBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakM6Om1fbmF0aXZlSW1hZ2VDcmVhdG9yID0gbnVsbHB0cjsKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpzZXROYXRpdmVJbWFnZUNyZWF0b3IoTmF0aXZl
SW1hZ2VDcmVhdG9yJiYgY2FsbGJhY2spCit7CisgICAgbV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBX
VEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoTWVkaWFQbGF5ZXIqIHBs
YXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1fbG9nZ2VyKHBsYXllci0+bWVk
aWFQbGF5ZXJMb2dnZXIoKSkKQEAgLTk5Niw2ICsxMDAyLDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVDdXJyZW50RnJhbWVJbWFnZSgpCiAgICAg
aWYgKG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgfHwgIW1faW1hZ2VQYWludGVyLnZpZGVvRnJhbWUp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX25hdGl2ZUltYWdlQ3JlYXRvcikgeworICAg
ICAgICBtX2ltYWdlUGFpbnRlci5jZ0ltYWdlID0gbV9uYXRpdmVJbWFnZUNyZWF0b3IoKm1faW1h
Z2VQYWludGVyLnZpZGVvRnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgICAgICAK
ICAgICBpZiAoIW1faW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBt
X2ltYWdlUGFpbnRlci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1h
dFR5cGVfMzJCR1JBKSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L0NWVXRpbGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZk
MTdhNTEyNzE1ZC4uYzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5o
CkBAIC00OSw3ICs0OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBp
eGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQ
T1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0
ZUNWUGl4ZWxCdWZmZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJl
Zj4gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsK
K1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JT
cGFjZUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBj
YWxsZWQgd2l0aCBub24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRPd25lcnNoaXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwg
Y29uc3QgUHJvY2Vzc0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4
IGIyNjM3NjkyOTU0MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4
Zjk2NjYwYzQzYjlmZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3Bw
CkBAIC0xNDcsOCArMTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1
ZmZlcihDVlBpeGVsQnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gYnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQ
aXhlbEJ1ZmZlckdldFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENW
UGl4ZWxCdWZmZXJHZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1
ZmZlckNvbmZvcm1lcklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0
KCksIGJ1ZmZlci5nZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZm
ZXIgPSBudWxscHRyOwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhl
bAogICAgICAgICBidWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAg
YXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdC
dWZmZXIpOworICAgIHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1
ZmZlciksIGNvbG9yU3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkK
K3sKKyAgICBzaXplX3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgp
KTsKKyAgICBzaXplX3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0
KCkpOworCiAgICAgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1h
cEluZm8+KGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFw
SW5mbz4oa0NHSW1hZ2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxl
bmd0aCA9IGJ5dGVzUGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhl
bEJ1ZmZlcihDVlBpeGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIocmF3QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3
IENWUGl4ZWxCdWZmZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlcik7CiAgICAgaW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9t
UGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHBy
b3ZpZGVyQ2FsbGJhY2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFj
aywgQ1ZQaXhlbEJ1ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVm
ZmVyUmVsZWFzZUluZm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJl
Zj4gcHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5
dGVMZW5ndGgsICZwcm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2Uu
Z2V0KCksIGJpdG1hcEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVu
ZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUo
d2lkdGgsIGhlaWdodCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZv
LCBwcm92aWRlci5nZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1
bHQpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0
Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUw
N2ZkZDdmMzQ5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAK
IAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYg
c3RydWN0IENHQ29sb3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJ
bWFnZSogQ0dJbWFnZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25m
b3JtZXIqIFZUUGl4ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVm
ZmVyICpDVlBpeGVsQnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0
MCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
KENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZm
ZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4mJiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAuY3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEz
MGY0ZWUuLjdmZDQwYjM2NGNhNDljMGRmOGE0NGQzYTU5MmY5NTM5NmY0ZGRjZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9Xb3Jr
UXVldWUuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAj
aW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKQEAgLTEzMyw2ICsx
MzQsNDAgQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4ZWxCdWZmZXIoUmVt
b3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiByZWEKICAgICBBU1NFUlQocGl4ZWxCdWZmZXIp
OwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocGl4ZWxCdWZmZXIpKTsKIH0KKwordm9p
ZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlcihTaGFyZWRWaWRlb0Zy
YW1lOjpCdWZmZXImJiBidWZmZXIpCit7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IG1fc2hhcmVk
VmlkZW9GcmFtZVJlYWRlci5yZWFkQnVmZmVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKCFw
aXhlbEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJh
bWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjcmVh
dGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyLmdldCgpKTsKKyAgICBp
ZiAoIWNvbnZlcnRlZEJ1ZmZlcikgeworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRl
ZFZpZGVvRnJhbWVCdWZmZXIgeyB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBib29sIGNhblNlbmRJT1N1cmZhY2UgPSBmYWxzZTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
c2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZlcihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCks
CisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpTZXRTaGFyZWRW
aWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAgICBbJl0oYXV0
byYgaGFuZGxlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhh
bmRsZSB9LCAwKTsgfSwKKyAgICAgICAgY2FuU2VuZElPU3VyZmFjZSk7CisgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vz
c29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgcmVzdWx0IH0sIDApOworfQorCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBo
b3JlKElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQoreworICAgIG1fc2hhcmVkVmlkZW9GcmFt
ZVJlYWRlci5zZXRTZW1hcGhvcmUoV1RGTW92ZShzZW1hcGhvcmUpKTsKK30KKwordm9pZCBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlKQoreworICAgIG1fc2hhcmVkVmlkZW9G
cmFtZVJlYWRlci5zZXRTaGFyZWRNZW1vcnkoaXBjSGFuZGxlKTsKK30KKwogI2VuZGlmCiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKaW5kZXggYzA4YTVhNGM3N2Y2MDUyMTY2MjdjNTBiMTBhNDEx
ZWYxYWI5MmMwMC4uYzE2MmRjNTZjMDJkNmExMTMxYzc4ZWUyZDk4OWI0NGE5NzBjYTEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLmgKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSAiU2hhcmVk
VmlkZW9GcmFtZS5oIgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFBpeGVs
QnVmZmVyQ29uZm9ybWVyQ1Y7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBIb2xkcyBy
ZWZlcmVuY2VzIHRvIGFsbCBWaWRlb0ZyYW1lIGluc3RhbmNlcyB0aGF0IGFyZSBtYXBwZWQgZnJv
bSBHUFUgcHJvY2VzcyB0byBXZWIgcHJvY2Vzcy4KQEAgLTYxLDEyICs2NSwxOSBAQCBwcml2YXRl
OgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihSZW1v
dGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBib29sIGNhblNlbmRJT1N1cmZhY2UpOwogICAg
IHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4pPiYmKTsKKyAgICB2
b2lkIGNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyJiYpOworICAgIHZvaWQg
c2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKKyAgICB2b2lk
IHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUm
KTsKICNlbmRpZgogCisgICAgdm9pZCBjcmVhdGVQaXhlbENvbmZvcm1lcklmTmVlZGVkKCk7CisK
ICAgICBjb25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgVGhyZWFk
U2FmZU9iamVjdEhlYXA8UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3Jl
OjpWaWRlb0ZyYW1lPj4gbV9oZWFwOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNoYXJlZFZp
ZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
OwogI2VuZGlmCiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KaW5kZXggZWI5YTY5NmMyODE5OWIwYzQ2OWVi
MjBiNDVkYjcyYzIyZjdlMjY3Zi4uNDRkZTFmNTU3NDdiNmQyYTQ3ZjNjZjRlZjZjYjg0YjVhOGI5
ZjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgpAQCAtMjYs
NiArMjYsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZD
b3VudGVkIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCwgYm9vbCBjYW5TZW5kSU9T
dXJmYWNlKQogICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiByZXN1bHQpIFN5bmNo
cm9ub3VzCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBz
ZW1hcGhvcmUpCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCisgICAgQ29udmVydEJ1ZmZlcihzdHJ1Y3Qg
V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIgYnVmZmVyKQogI2VuZGlmCiAgICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2Ugd3Jp
dGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXAubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU3MjVkZDc5N2M0ZGEx
NmFjYTJmNDc0NGM3ZWVjODRhYWYxMGY3NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbQpAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShWSURFTykgJiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1Bp
eGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KKworI2luY2x1ZGUgPFdlYkNvcmUvQ29yZVZpZGVvU29m
dExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXA6OmNyZWF0ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKQoreworICAgIGlmICghbV9w
aXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgbV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1h
a2VVbmlxdWU8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGlj
dGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9y
bWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9KTsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAxN2MxMGY5ZjRlODgxNGJlODA4YzA5YzBk
ZTNlODUxZDA0NGE2MWJmLi42YWFmYmNhMjM2NGUzMDFlZTYzYjUwM2VjMDliMzIxNDczNWIzOWY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC03Myw2ICs3Myw3IEBAIEdQVVByb2Nlc3MvbWFj
L0dQVVByb2Nlc3NNYWMubW0KIEdQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHku
Y3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tCiBHUFVQ
cm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQogR1BVUHJv
Y2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkuY3BwCiBHUFVQcm9j
ZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBAbm8tdW5pZnkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE2YTU2MTNkYjMy
ZTUwOTg1OGExMTkxOWMxMzg1YWIxMDc1N2E5ZDUuLjhjOWZmOTQwYzRiMzM4ZTczZWRmOTYyZGZl
N2EwOTA4ZWIyM2UwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDQyMCw2ICs0NDIwLDcgQEAKIAkJNDEwM0ZCQTIyMDYxQkRCODAw
QzJFQUY4IC8qIE5ldHdvcmtMb2FkQ2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOZXR3b3JrTG9hZENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENOZXR3b3JrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05l
dHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDTmV0d29yay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTBBRDJFMTI4MjNCRDlGMDA5QzkzQzggLyog
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEwQkExMzkyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkExM0EyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdv
cmtSVENUQ1BTb2NrZXRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUlRDVENQU29ja2V0
Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwRjBENEIyNzAxRUZFQTAw
Rjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTk0LDYgKzc1OTUsNyBAQAog
CQkJCTdCNUEzREE4MjdBN0RDQkMwMDZDNkY5NyAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cC5jcHAgKi8sCiAJCQkJN0I1QTNEQTcyN0E3RENCQzAwNkM2Rjk3IC8qIFJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwLmggKi8sCiAJCQkJNDEzQzU0MjIyN0M5MEY0QzAwMkZDREE4IC8qIFJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMEFEMkUxMjgyM0JE
OUYwMDlDOTNDOCAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbSAqLywKIAkJCQkwNzFC
QzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcCAqLywKIAkJ
CQkwNzFCQzU4NTIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1Byb3h5LmggKi8s
CiAJCQkJMDdFMTlGMDUyM0Q0REM4ODAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGVD
b25maWd1cmF0aW9uLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKaW5kZXggYjM3
NmVjOGNlZDQ3NTA4MDEwMTQ1ZjVmNTQ2NDE1NDljZGNhYTdiZC4uM2UxOGQ0NDNhNDlmNmU4N2I5
NWZjYjk1YzViZjgzYzNhZGY1Zjg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcApA
QCAtNDMsNiArNDMsMTAgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg+CisjZW5kaWYKKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBQQUw7CkBAIC0yNjMsNiArMjY3LDkg
QEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OnNldFVzZUdQVVByb2Nlc3MoYm9vbCB1
c2VHUFVQcm9jZXNzKQogICAgICAgICBXZWJDb3JlOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
OnNldENyZWF0b3IoW10oYXV0byYgY2xpZW50KSB7CiAgICAgICAgICAgICByZXR1cm4gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyKCkuY3JlYXRlTGF5ZXIoY2xpZW50KTsKICAgICAgICAgfSk7
CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6
c2V0TmF0aXZlSW1hZ2VDcmVhdG9yKFtdKGF1dG8mIHZpZGVvRnJhbWUpIHsKKyAgICAgICAgICAg
IHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlv
bigpLnZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkoKS5nZXROYXRpdmVJbWFnZSh2aWRlb0ZyYW1l
KTsKKyAgICAgICAgfSk7CiAgICAgfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1l
T2JqZWN0SGVhcFByb3h5LmgKaW5kZXggZTc5NDhjNTI4MWFkZGMwNTVlYzc5ZmEwMzJhNDQ3MjQ2
MzYzNTgxMy4uNGVmOTkwZTA2Y2E5MDQ4ODM0NDEyY2Q2YjM0MzVjOTYxM2ZjOTIzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaApAQCAtNTAsNiArNTAsNyBAQCBw
dWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIGdldFZpZGVvRnJhbWVCdWZm
ZXIoY29uc3QgUmVtb3RlVmlkZW9GcmFtZVByb3h5JiBwcm94eSwgYm9vbCBjYW5Vc2VJT1N1cmZh
Y2UsIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6OkNhbGxiYWNrJiYg
Y2FsbGJhY2spIHsgbV9wcm9jZXNzb3ItPmdldFZpZGVvRnJhbWVCdWZmZXIocHJveHksIGNhblVz
ZUlPU3VyZmFjZSwgV1RGTW92ZShjYWxsYmFjaykpOyB9CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5h
dGl2ZUltYWdlPiBnZXROYXRpdmVJbWFnZShjb25zdCBXZWJDb3JlOjpWaWRlb0ZyYW1lJiBmcmFt
ZSkgIHsgcmV0dXJuIG1fcHJvY2Vzc29yLT5nZXROYXRpdmVJbWFnZShmcmFtZSk7IH0KICNlbmRp
ZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cFByb3h5UHJvY2Vzc29yLmNwcAppbmRleCBjODcyNDZhYzcwZmVmYWJjMWRiOTM0ZDZlMDIyY2E4
OTM1ZmVlODJhLi5mYmEwNjA2NDQ3NjdlOTdkNWI3NzdjOWRiYTgzMDBjMGY3MjZkNmY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29y
LmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
UHJvY2Vzc29yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVWaWRlb0ZyYW1lUHJveHkuaCIK
KyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Bp
eGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTExOSw2
ICsxMjEsMzMgQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29y
OjpnZXRWaWRlb0ZyYW1lQnVmZmVyKGNvbnN0IFJlbW90ZVYKICAgICBJUEM6OkNvbm5lY3Rpb246
OnNlbmQobV9jb25uZWN0aW9uSUQsIE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cDo6R2V0VmlkZW9GcmFtZUJ1ZmZlcihmcmFtZS5uZXdSZWFkUmVmZXJlbmNlKCksIGNhblVzZUlP
U3VyZmFjZSksIDAsIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0
aW5nRm9yU3luY1JlcGx5KTsKIH0KIAordm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5UHJvY2Vzc29yOjpuZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyKHN0ZDo6b3B0aW9uYWw8
U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiYmIGJ1ZmZlcikKK3sKKyAgICBBU1NFUlQoIW1fY29u
dmVydGVkQnVmZmVyKTsKKyAgICBpZiAoYnVmZmVyKQorICAgICAgICBtX2NvbnZlcnRlZEJ1ZmZl
ciA9IG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5yZWFkQnVmZmVyKFdURk1vdmUoKmJ1ZmZlcikp
OworICAgIG1fY29udmVyc2lvblNlbWFwaG9yZS5zaWduYWwoKTsKK30KKworUmVmUHRyPE5hdGl2
ZUltYWdlPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpnZXROYXRp
dmVJbWFnZShjb25zdCBXZWJDb3JlOjpWaWRlb0ZyYW1lJiB2aWRlb0ZyYW1lKQoreworICAgIGF1
dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNz
Q29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKKworICAgIGF1dG8gbmF0aXZlUGl4ZWxCdWZmZXIg
PSB2aWRlb0ZyYW1lLnBpeGVsQnVmZmVyKCk7CisgICAgYXV0byBjb2xvclNwYWNlID0gY3JlYXRl
Q0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihuYXRpdmVQaXhlbEJ1ZmZlcik7CisgICAgYXV0
byBidWZmZXIgPSBtX3NoYXJlZFZpZGVvRnJhbWVXcml0ZXIud3JpdGVCdWZmZXIobmF0aXZlUGl4
ZWxCdWZmZXIsCisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsgY29ubmVjdGlvbi5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6U2V0U2hhcmVkVmlkZW9GcmFt
ZVNlbWFwaG9yZSB7IHNlbWFwaG9yZSB9LCAwKTsgfSwKKyAgICAgICAgWyZdKGF1dG8mIGhhbmRs
ZSkgeyBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
OjpTZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5IHsgaGFuZGxlIH0sIDApOyB9KTsKKyAgICBpZiAo
IWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpDb252ZXJ0QnVmZmVyIHsgV1RG
TW92ZSgqYnVmZmVyKSB9LCAwKTsKKyAgICBtX2NvbnZlcnNpb25TZW1hcGhvcmUud2FpdCgpOwor
CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IFdURk1vdmUobV9jb252ZXJ0ZWRCdWZmZXIpOworICAg
IHJldHVybiBwaXhlbEJ1ZmZlciA/IE5hdGl2ZUltYWdlOjpjcmVhdGUoUGl4ZWxCdWZmZXJDb25m
b3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoV1RGTW92ZShwaXhlbEJ1ZmZlciks
IGNvbG9yU3BhY2UuZ2V0KCkpKSA6IG51bGxwdHI7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1l
T2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmgKaW5kZXgg
NmJmMzRiNjVmYzYxZmM4NjI1OGRmYzVmODVjOGU4YzJkNTI4YzBmNi4uYjUxNGI4YWNjYjY1ZDYx
ZmZjNWIyNzM2NGIwOTI4ZWRkZjViOWFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
V29ya1F1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAK
IHVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wq
OwogCkBAIC00NSw2ICs0NiwxMSBAQCBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsK
IH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTmF0aXZlSW1hZ2U7CitjbGFzcyBWaWRl
b0ZyYW1lOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlVmlkZW9GcmFt
ZVByb3h5OwpAQCAtNTYsNiArNjIsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBDYWxsYmFjayA9
IEZ1bmN0aW9uPHZvaWQoUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpPjsKICAgICB2b2lk
IGdldFZpZGVvRnJhbWVCdWZmZXIoY29uc3QgUmVtb3RlVmlkZW9GcmFtZVByb3h5JiwgYm9vbCBj
YW5Vc2VJT1N1cmZjZSwgQ2FsbGJhY2smJik7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUlt
YWdlPiBnZXROYXRpdmVJbWFnZShjb25zdCBXZWJDb3JlOjpWaWRlb0ZyYW1lJik7CiAKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
cihHUFVQcm9jZXNzQ29ubmVjdGlvbiYpOwpAQCAtNjYsNiArNzMsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKICAg
ICB2b2lkIHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENI
YW5kbGUmKTsKICAgICB2b2lkIG5ld1ZpZGVvRnJhbWVCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZUlk
ZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiYmKTsKKyAg
ICB2b2lkIG5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIoc3RkOjpvcHRpb25hbDxTaGFyZWRW
aWRlb0ZyYW1lOjpCdWZmZXI+JiYpOwogCiAgICAgLy8gR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNs
aWVudAogICAgIHZvaWQgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29u
bmVjdGlvbiYpOwpAQCAtODAsNiArODgsMTAgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFJlbW90
ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBDYWxsYmFjaz4gbV9jYWxsYmFja3MgV1RGX0dVQVJERURf
QllfTE9DSyhtX2NhbGxiYWNrc0xvY2spOwogICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAg
ICAgU2hhcmVkVmlkZW9GcmFtZVJlYWRlciBtX3NoYXJlZFZpZGVvRnJhbWVSZWFkZXI7CisKKyAg
ICBTaGFyZWRWaWRlb0ZyYW1lV3JpdGVyIG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRlcjsKKyAgICBS
ZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9jb252ZXJ0ZWRCdWZmZXI7CisgICAgQmluYXJ5
U2VtYXBob3JlIG1fY29udmVyc2lvblNlbWFwaG9yZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4KaW5kZXggOTNjNTg1ZmM0YTE5Zjk1OTIzMjRlMmU3
NWNhMWNiODRhY2UzMWE1NS4uYWRhODI5ZDliMWQzYzZlZjA2YTQ3OTUxMDUxMDA0MDE1MjVmZWI2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cFByb3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluCkBAIC0yNiw2ICsyNiw3IEBAIG1lc3NhZ2VzIC0+
IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IgewogICAgIFNldFNoYXJl
ZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUgc2VtYXBob3JlKQogICAgIFNldFNo
YXJlZFZpZGVvRnJhbWVNZW1vcnkoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9y
YWdlSGFuZGxlKQogICAgIE5ld1ZpZGVvRnJhbWVCdWZmZXIoV2ViS2l0OjpSZW1vdGVWaWRlb0Zy
YW1lSWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6U2hhcmVkVmlk
ZW9GcmFtZTo6QnVmZmVyPiBmcmFtZSkKKyAgICBOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVy
KHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+IGZyYW1lKQog
fQogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458882</attachid>
            <date>2022-05-05 09:34:07 -0700</date>
            <delta_ts>2022-05-05 11:06:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-240113-20220505183404.patch</filename>
            <type>text/plain</type>
            <size>29793</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNjU5YzU1NGI1NWM5NmFiMGEzYWI1YjNiZGE0OWRj
NjhkYmM5ZjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBjYWxsYmFjayBp
biBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYWxsb3cgdXNlIGEgY3Vz
dG9tIHdheSB0byBjcmVhdGUgYSBOYXRpdmVJbWFnZSBmcm9tIGEgVmlkZW9GcmFtZS4KKyAgICAg
ICAgU21hbGwgcmVmYWN0b3JpbmcgaW4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDViB0byBzaGFyZSBt
b3JlIGNvZGUgd2l0aCBXZWJLaXQuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0NWVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oOgorCiAyMDIyLTA1
LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICByZXBsYWNl
VHJhY2sgd2l0aCBkaWZmZXJlbnQgY29uc3RyYWludHMgc3RvcHMgc2VuZGluZyBwYWNrZXRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDMwNjY4OGQ0NzA4NDM0NWEwOGFkMjM3OTY2OWMzZTJiODEwOWIwMjUuLmY5MDUy
Y2I1YmM1YjEwYmQ5OTIwN2ZiZTI3ZWYzMTE4N2E5MzUwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMjItMDUtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIEFsbG93IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhdm9p
ZCBwaXhlbCBjb25mb3JtZXJzIGlmIElPU3VyZmFjZXMgYXJlIG5vdCBhbGxvd2VkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAxMTMKKyAgICAgICAg
cmRhcjovLzkyNjI5ODQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgIEltcGxlbWVudCBWaWRlb0ZyYW1lIGNvbnZlcnNpb24gdG8gQkdSQSBieSBzZW5kaW5n
IElQQyB0byBHUFVQcm9jZXNzLCB1c2UgcGl4ZWwgY29uZm9ybWVyIGluIEdQVVByb2Nlc3MgYW5k
IHNlbmQgYmFjayB0aGUgcmVzdWx0cyB0byBXZWJQcm9jZXNzLgorICAgICAgICBUaGlzIGdvZXMg
dGhyb3VnaCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5L1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3Igd2hpY2ggZXhjaGFuZ2VzIHdpdGggUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXAuCisgICAgICAgIE1ha2UgdXNlIG9mIHRoaXMgY29udmVyc2lvbiBjb2Rl
IHBhdGggZm9yIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBieSBzZXR0aW5n
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBuYXRpdmVJbWFnZUNyZWF0b3Ig
Y2FsbGJhY2suCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNS0wNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU1dPcmlnaW5TdG9yZSBpcyBubyBsb25nZXIg
bmVlZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZWY0MDZkZjA5MGZiODhjY2MwNzg1NDcyMzE2YWMxOTMwMTY1ZWY3ZC4uZmNl
NWM5ZGFiNzYxMTIwNTUwNDdjMGY0MWVhNTNkODVkZWM0ODVkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDYyLDcgKzQ2Miw3
IEBACiAJCTE0RENGM0IzMUI2QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3Ry
YXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
RENGM0IxMUI2QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuaCAq
LzsgfTsKIAkJMTRFODM3OEUwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTgzNzhEMDlGODVENEYwMEI4
NUFFNCAvKiBKU0V2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTRGRkUzMUQwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRC
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZG
RTMxQjBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxNTA1MjRGNDFCNzEyRkY2
MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYw
MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggKi87IH07
CisJCTE1MDUyNEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE1MDUyNEYwMUI3MTJGRjAwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxNTE0NUI5MDFCM0ExQ0UwMDA2NjJCRjcgLyogTWVkaWFEZXZpY2VJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTE0NUI4RjFCM0Ex
QjNFMDA2NjJCRjcgLyogTWVkaWFEZXZpY2VJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTU3MzlCQkIxQjQyMDEyRDAwRDI1OEMxIC8qIEpT
TWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNTczOUJCOTFCNDIwMTIyMDBEMjU4QzEgLyogSlNNZWRpYURldmljZXMuaCAqLzsgfTsK
IAkJMTU5NzQxREIxQjdEMTQwMTAwMjAxQzkyIC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTdDQzI2MjFCN0MxQ0E0
MDBEOEQwNzUgLyogSlNNZWRpYURldmljZUluZm8uaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDLmgKaW5kZXggOWY1ZTIyMDMwOTkwMDJiM2ZlZDhiYzBmZjMzNTRhZTE1MDc4YjRiZi4uYjFk
NWRjM2M3ODYyMWJhYTMxMjY3NjFkZDkzYTE3NWVlMWRjY2RhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmgKQEAgLTYzLDYgKzYzLDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVn
aXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhcik7CiAKKyAgICB1c2luZyBOYXRp
dmVJbWFnZUNyZWF0b3IgPSBSZWZQdHI8TmF0aXZlSW1hZ2U+ICgqKShjb25zdCBWaWRlb0ZyYW1l
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TmF0aXZlSW1hZ2VDcmVhdG9y
KE5hdGl2ZUltYWdlQ3JlYXRvciYmKTsKKwogICAgIC8vIE1lZGlhUGxheWVyIEZhY3RvcnkgTWV0
aG9kcwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CiAgICAgc3RhdGljIHZvaWQgZ2V0
U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4m
IHR5cGVzKTsKQEAgLTI5MCw4ICsyOTMsMTAgQEAgcHJpdmF0ZToKICAgICBTZWNvbmRzIG1fcHJl
c2VudGF0aW9uVGltZSB7IDAgfTsKICAgICBGbG9hdFNpemUgbV92aWRlb0ZyYW1lU2l6ZTsKICAg
ICBWaWRlb0ZyYW1lVGltZU1ldGFkYXRhIG1fc2FtcGxlTWV0YWRhdGE7CisKKyAgICBzdGF0aWMg
TmF0aXZlSW1hZ2VDcmVhdG9yIG1fbmF0aXZlSW1hZ2VDcmVhdG9yOwogfTsKLSAgICAKKwogfQog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKEFWRk9VTkRBVElPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCA3ZWY0YTk5YjA0MWFmNWE0MDZmYTJhMTZjNWQy
YTc4ZTI3ZGE0NTA2Li41OGNhNGI2NGFjNzJjNjUxNGMzZWJmYWIxMTZlZjBmODEwOGUyNzE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC0xMjcsNiArMTI3LDEyIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDCiAKK01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6TmF0aXZlSW1hZ2VDcmVhdG9yIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6bV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBudWxscHRyOwordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNldE5hdGl2ZUltYWdlQ3JlYXRvcihOYXRpdmVJbWFn
ZUNyZWF0b3ImJiBjYWxsYmFjaykKK3sKKyAgICBtX25hdGl2ZUltYWdlQ3JlYXRvciA9IFdURk1v
dmUoY2FsbGJhY2spOworfQorCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6
Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyhNZWRpYVBsYXllciogcGxheWVy
KQogICAgIDogbV9wbGF5ZXIocGxheWVyKQogICAgICwgbV9sb2dnZXIocGxheWVyLT5tZWRpYVBs
YXllckxvZ2dlcigpKQpAQCAtOTk2LDYgKzEwMDIsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakM6OnVwZGF0ZUN1cnJlbnRGcmFtZUltYWdlKCkKICAgICBpZiAo
bV9pbWFnZVBhaW50ZXIuY2dJbWFnZSB8fCAhbV9pbWFnZVBhaW50ZXIudmlkZW9GcmFtZSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fbmF0aXZlSW1hZ2VDcmVhdG9yKSB7CisgICAgICAg
IG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgPSBtX25hdGl2ZUltYWdlQ3JlYXRvcigqbV9pbWFnZVBh
aW50ZXIudmlkZW9GcmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIW1f
aW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBtX2ltYWdlUGFpbnRl
ci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZmZXJDb25mb3JtZXJD
Vj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQ
aXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JB
KSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
Q1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0NWVXRp
bGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZkMTdhNTEyNzE1ZC4u
YzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5oCkBAIC00OSw3ICs0
OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVm
PiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVk
PFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZm
ZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY3JlYXRlQ0dD
b2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKK1dFQkNPUkVfRVhQ
T1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBjYWxsZWQgd2l0aCBu
b24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRPd25lcnNo
aXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwgY29uc3QgUHJvY2Vz
c0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4IGIyNjM3NjkyOTU0
MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4Zjk2NjYwYzQzYjlm
ZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCkBAIC0xNDcsOCAr
MTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVmZmVyQ29uZm9ybWVy
Q1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxDR0ltYWdlUmVmPiBQ
aXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVs
QnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4g
YnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQaXhlbEJ1ZmZlckdl
dFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENWUGl4ZWxCdWZmZXJH
ZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1ZmZlckNvbmZvcm1l
cklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0KCksIGJ1ZmZlci5n
ZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZmZXIgPSBudWxscHRy
OwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJD
b25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgICAgICBi
dWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAgYXV0byBjb2xvclNw
YWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdCdWZmZXIpOworICAg
IHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlciksIGNvbG9y
U3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25m
b3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkKK3sKKyAgICBzaXpl
X3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgpKTsKKyAgICBzaXpl
X3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0KCkpOworCiAgICAg
Q0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1hcEluZm8+KGtDR0Jp
dG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFwSW5mbz4oa0NHSW1h
Z2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBpeGVsQnVmZmVyR2V0
Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxlbmd0aCA9IGJ5dGVz
UGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBp
eGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAg
IGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4ZWxCdWZmZXIocmF3
QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3IENWUGl4ZWxCdWZm
ZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlcik7CiAgICAg
aW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRhaW5QdHI8Q0dJbWFn
ZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIo
Q1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHByb3ZpZGVyQ2FsbGJh
Y2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFjaywgQ1ZQaXhlbEJ1
ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVmZmVyUmVsZWFzZUlu
Zm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gcHJvdmlkZXIg
PSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5dGVMZW5ndGgsICZw
cm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZSh3
aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2UuZ2V0KCksIGJpdG1h
cEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50
RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUod2lkdGgsIGhlaWdo
dCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZvLCBwcm92aWRlci5n
ZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0Mjk2ZDU5NzI3ODBi
NjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUwN2ZkZDdmMzQ5M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
di9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAKIAogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbEJ1ZmZlckNv
bmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYgc3RydWN0IENHQ29s
b3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJbWFnZSogQ0dJbWFn
ZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4
ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyICpDVlBpeGVs
QnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0MCw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlvbmFy
eVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1
ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8VlRQaXhlbEJ1
ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAu
Y3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEzMGY0ZWUuLjg0MDY1
NTcwMWRjMDdkNzVkMGE1NGRiNDBmMGNhZDk2NzFmODJiZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KIAog
I2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CiAjaW5jbHVkZSA8cGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAjZW5kaWYKQEAgLTEzMyw2ICsxMzQsNDEgQEAgdm9p
ZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFt
ZVJlYWRSZWZlcmVuY2UmJiByZWEKICAgICBBU1NFUlQocGl4ZWxCdWZmZXIpOwogICAgIGNvbXBs
ZXRpb25IYW5kbGVyKFdURk1vdmUocGl4ZWxCdWZmZXIpKTsKIH0KKwordm9pZCBSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlcihTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIm
JiBidWZmZXIpCit7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IG1fc2hhcmVkVmlkZW9GcmFtZVJl
YWRlci5yZWFkQnVmZmVyKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKCFwaXhlbEJ1ZmZlcikg
eworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIgeyB7
IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjcmVhdGVQaXhlbENvbmZv
cm1lcklmTmVlZGVkKCk7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBtX3BpeGVsQnVmZmVy
Q29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyLmdldCgpKTsKKyAgICBpZiAoIWNvbnZlcnRl
ZEJ1ZmZlcikgeworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcDo6Y29udmVydEJ1ZmZlciBjb25mb3JtZXIgZmFpbGVkIik7CisgICAg
ICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXBQcm94eVByb2Nlc3Nvcjo6TmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlciB7IHsgfSB9LCAw
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGJvb2wgY2FuU2VuZElPU3VyZmFjZSA9
IGZhbHNlOworICAgIGF1dG8gcmVzdWx0ID0gbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyLndyaXRl
QnVmZmVyKGNvbnZlcnRlZEJ1ZmZlci5nZXQoKSwKKyAgICAgICAgWyZdKGF1dG8mIHNlbWFwaG9y
ZSkgeyBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHlQcm9jZXNzb3I6OlNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUgeyBzZW1hcGhv
cmUgfSwgMCk7IH0sCisgICAgICAgIFsmXShhdXRvJiBoYW5kbGUpIHsgbV9jb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpT
ZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5IHsgaGFuZGxlIH0sIDApOyB9LAorICAgICAgICBjYW5T
ZW5kSU9TdXJmYWNlKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJhbWVC
dWZmZXIgeyByZXN1bHQgfSwgMCk7Cit9CisKK3ZvaWQgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXA6OnNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUmJiBzZW1hcGhv
cmUpCit7CisgICAgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnNldFNlbWFwaG9yZShXVEZNb3Zl
KHNlbWFwaG9yZSkpOworfQorCit2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpzZXRT
aGFyZWRWaWRlb0ZyYW1lTWVtb3J5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiBpcGNI
YW5kbGUpCit7CisgICAgbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnNldFNoYXJlZE1lbW9yeShp
cGNIYW5kbGUpOworfQorCiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaAppbmRleCBj
MDhhNWE0Yzc3ZjYwNTIxNjYyN2M1MGIxMGE0MTFlZjFhYjkyYzAwLi5jMTYyZGM1NmMwMmQ2YTEx
MzFjNzhlZTJkOTg5YjQ0YTk3MGNhMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaApAQCAtMzUs
NiArMzUsMTAgQEAKICNpbmNsdWRlICJTaGFyZWRWaWRlb0ZyYW1lLmgiCiAjZW5kaWYKIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjsKK30KKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIC8vIEhvbGRzIHJlZmVyZW5jZXMgdG8gYWxsIFZpZGVvRnJhbWUg
aW5zdGFuY2VzIHRoYXQgYXJlIG1hcHBlZCBmcm9tIEdQVSBwcm9jZXNzIHRvIFdlYiBwcm9jZXNz
LgpAQCAtNjEsMTIgKzY1LDE5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFkUmVmZXJlbmNlJiYs
IGJvb2wgY2FuU2VuZElPU3VyZmFjZSk7CiAgICAgdm9pZCBwaXhlbEJ1ZmZlcihSZW1vdGVWaWRl
b0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJldGFpblB0cjxD
VlBpeGVsQnVmZmVyUmVmPik+JiYpOworICAgIHZvaWQgY29udmVydEJ1ZmZlcihTaGFyZWRWaWRl
b0ZyYW1lOjpCdWZmZXImJik7CisgICAgdm9pZCBzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3Jl
KElQQzo6U2VtYXBob3JlJiYpOworICAgIHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShj
b25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYpOwogI2VuZGlmCiAKKyAgICB2b2lkIGNyZWF0
ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKTsKKwogICAgIGNvbnN0IFJlZjxJUEM6OkNvbm5lY3Rp
b24+IG1fY29ubmVjdGlvbjsKICAgICBUaHJlYWRTYWZlT2JqZWN0SGVhcDxSZW1vdGVWaWRlb0Zy
YW1lSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlZpZGVvRnJhbWU+PiBtX2hlYXA7CiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgU2hhcmVkVmlkZW9GcmFtZVdyaXRlciBtX3NoYXJlZFZpZGVv
RnJhbWVXcml0ZXI7CisgICAgU2hhcmVkVmlkZW9GcmFtZVJlYWRlciBtX3NoYXJlZFZpZGVvRnJh
bWVSZWFkZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBpeGVsQnVmZmVyQ29uZm9y
bWVyQ1Y+IG1fcGl4ZWxCdWZmZXJDb25mb3JtZXI7CiAjZW5kaWYKICAgICBib29sIG1faXNDbG9z
ZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5p
bgppbmRleCBlYjlhNjk2YzI4MTk5YjBjNDY5ZWIyMGI0NWRiNzJjMjJmN2UyNjdmLi40NGRlMWY1
NTc0N2I2ZDJhNDdmM2NmNGVmNmNiODRiNWE4YjlmNWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLm1lc3NhZ2VzLmluCkBAIC0yNiw2ICsyNiw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIEdldFZpZGVvRnJhbWVCdWZmZXIoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lUmVhZFJl
ZmVyZW5jZSByZWFkLCBib29sIGNhblNlbmRJT1N1cmZhY2UpCiAgICAgUGl4ZWxCdWZmZXIoV2Vi
S2l0OjpSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSByZWFkKSAtPiAoUmV0YWluUHRyPENW
UGl4ZWxCdWZmZXJSZWY+IHJlc3VsdCkgU3luY2hyb25vdXMKKyAgICBTZXRTaGFyZWRWaWRlb0Zy
YW1lU2VtYXBob3JlKElQQzo6U2VtYXBob3JlIHNlbWFwaG9yZSkKKyAgICBTZXRTaGFyZWRWaWRl
b0ZyYW1lTWVtb3J5KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRs
ZSkKKyAgICBDb252ZXJ0QnVmZmVyKHN0cnVjdCBXZWJLaXQ6OlNoYXJlZFZpZGVvRnJhbWU6OkJ1
ZmZlciBidWZmZXIpCiAjZW5kaWYKICAgICBSZWxlYXNlVmlkZW9GcmFtZShXZWJLaXQ6OlJlbW90
ZVZpZGVvRnJhbWVXcml0ZVJlZmVyZW5jZSB3cml0ZSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbSBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5t
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWRkZTFkMDZmZmVmZjBjZTc2YWZhOGY0ZjkxNTM1ZjEyMmE5NjBlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1tCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaCIK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKFZJREVPKSAmJiBQTEFURk9STShD
T0NPQSkKKworI2luY2x1ZGUgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvQ29yZVZpZGVvU29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3ZvaWQgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OmNyZWF0ZVBpeGVsQ29uZm9ybWVy
SWZOZWVkZWQoKQoreworICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAg
bV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6UGl4ZWxCdWZmZXJD
b25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJp
bmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5
cGVfMzJCR1JBKSB9KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRl
eCAxN2MxMGY5ZjRlODgxNGJlODA4YzA5YzBkZTNlODUxZDA0NGE2MWJmLi42YWFmYmNhMjM2NGUz
MDFlZTYzYjUwM2VjMDliMzIxNDczNWIzOWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC03
Myw2ICs3Myw3IEBAIEdQVVByb2Nlc3MvbWFjL0dQVVByb2Nlc3NNYWMubW0KIEdQVVByb2Nlc3Mv
bWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1tCiBHUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlh
UGxheWVyUHJveHlDb2NvYS5tbQogR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNz
aW9uSGVscGVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94
eS5tbSBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDE2YTU2MTNkYjMyZTUwOTg1OGExMTkxOWMxMzg1YWIxMDc1N2E5ZDUu
LjhjOWZmOTQwYzRiMzM4ZTczZWRmOTYyZGZlN2EwOTA4ZWIyM2UwN2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQyMCw2ICs0NDIw
LDcgQEAKIAkJNDEwM0ZCQTIyMDYxQkRCODAwQzJFQUY4IC8qIE5ldHdvcmtMb2FkQ2hlY2tlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrTG9hZENoZWNr
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQjFEREQyRkI1MDBG
MDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSVENOZXR3b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgy
Q0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTBBRDJFMTI4MjNCRDlGMDA5QzkzQzggLyogUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkExMzkyNTcxMzVGMjAwMkUyRjhBIC8qIE5l
dHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdvcmtS
VENUQ1BTb2NrZXRDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQkEx
M0EyNTcxMzVGMjAwMkUyRjhBIC8qIE5ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOZXR3b3JrUlRDVENQU29ja2V0Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDEwRjBENEIyNzAxRUZFQTAwRjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9u
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NDb25u
ZWN0aW9uSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NTk0LDYgKzc1OTUsNyBAQAogCQkJCTdCNUEzREE4MjdBN0RDQkMwMDZDNkY5NyAv
KiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAgKi8sCiAJCQkJN0I1QTNEQTcyN0E3RENC
QzAwNkM2Rjk3IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmggKi8sCiAJCQkJNDEzQzU0
MjIyN0M5MEY0QzAwMkZDREE4IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2Vz
LmluICovLAorCQkJCTQxMEFEMkUxMjgyM0JEOUYwMDlDOTNDOCAvKiBSZW1vdGVWaWRlb0ZyYW1l
T2JqZWN0SGVhcC5tbSAqLywKIAkJCQkwNzFCQzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3Rl
VmlkZW9UcmFja1Byb3h5LmNwcCAqLywKIAkJCQkwNzFCQzU4NTIzQ0MyQzA5MDA2ODBEN0MgLyog
UmVtb3RlVmlkZW9UcmFja1Byb3h5LmggKi8sCiAJCQkJMDdFMTlGMDUyM0Q0REM4ODAwOTRGRkI0
IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uLmggKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlci5jcHAKaW5kZXggYjM3NmVjOGNlZDQ3NTA4MDEwMTQ1ZjVmNTQ2NDE1NDlj
ZGNhYTdiZC4uM2UxOGQ0NDNhNDlmNmU4N2I5NWZjYjk1YzViZjgzYzNhZGY1Zjg0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcApAQCAtNDMsNiArNDMsMTAgQEAKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBQQUw7CkBAIC0yNjMsNiArMjY3LDkgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXI6OnNldFVzZUdQVVByb2Nlc3MoYm9vbCB1c2VHUFVQcm9jZXNzKQogICAgICAgICBXZWJDb3Jl
OjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnNldENyZWF0b3IoW10oYXV0byYgY2xpZW50KSB7
CiAgICAgICAgICAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24oKS5zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyKCkuY3JlYXRl
TGF5ZXIoY2xpZW50KTsKICAgICAgICAgfSk7CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2V0TmF0aXZlSW1hZ2VDcmVhdG9yKFtdKGF1dG8m
IHZpZGVvRnJhbWUpIHsKKyAgICAgICAgICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLnZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHko
KS5nZXROYXRpdmVJbWFnZSh2aWRlb0ZyYW1lKTsKKyAgICAgICAgfSk7CiAgICAgfQogI2VuZGlm
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmgKaW5kZXggZTc5NDhj
NTI4MWFkZGMwNTVlYzc5ZmEwMzJhNDQ3MjQ2MzYzNTgxMy4uNGVmOTkwZTA2Y2E5MDQ4ODM0NDEy
Y2Q2YjM0MzVjOTYxM2ZjOTIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHkuaApAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICB2b2lkIGdldFZpZGVvRnJhbWVCdWZmZXIoY29uc3QgUmVtb3RlVmlkZW9GcmFtZVByb3h5
JiBwcm94eSwgYm9vbCBjYW5Vc2VJT1N1cmZhY2UsIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3I6OkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgbV9wcm9jZXNzb3ItPmdldFZp
ZGVvRnJhbWVCdWZmZXIocHJveHksIGNhblVzZUlPU3VyZmFjZSwgV1RGTW92ZShjYWxsYmFjaykp
OyB9CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdlPiBnZXROYXRpdmVJbWFnZShjb25z
dCBXZWJDb3JlOjpWaWRlb0ZyYW1lJiBmcmFtZSkgIHsgcmV0dXJuIG1fcHJvY2Vzc29yLT5nZXRO
YXRpdmVJbWFnZShmcmFtZSk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXBQcm94eVByb2Nlc3Nvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcAppbmRleCBjODcy
NDZhYzcwZmVmYWJjMWRiOTM0ZDZlMDIyY2E4OTM1ZmVlODJhLi5mYmEwNjA2NDQ3NjdlOTdkNWI3
NzdjOWRiYTgzMDBjMGY3MjZkNmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1
ZGUgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJSZW1vdGVWaWRlb0ZyYW1lUHJveHkuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKQEAgLTExOSw2ICsxMjEsMzMgQEAgdm9pZCBSZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpnZXRWaWRlb0ZyYW1lQnVmZmVyKGNvbnN0IFJl
bW90ZVYKICAgICBJUEM6OkNvbm5lY3Rpb246OnNlbmQobV9jb25uZWN0aW9uSUQsIE1lc3NhZ2Vz
OjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6R2V0VmlkZW9GcmFtZUJ1ZmZlcihmcmFtZS5u
ZXdSZWFkUmVmZXJlbmNlKCksIGNhblVzZUlPU3VyZmFjZSksIDAsIElQQzo6U2VuZE9wdGlvbjo6
RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKIH0KIAordm9pZCBS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpuZXdDb252ZXJ0ZWRWaWRl
b0ZyYW1lQnVmZmVyKHN0ZDo6b3B0aW9uYWw8U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiYmIGJ1
ZmZlcikKK3sKKyAgICBBU1NFUlQoIW1fY29udmVydGVkQnVmZmVyKTsKKyAgICBpZiAoYnVmZmVy
KQorICAgICAgICBtX2NvbnZlcnRlZEJ1ZmZlciA9IG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5y
ZWFkQnVmZmVyKFdURk1vdmUoKmJ1ZmZlcikpOworICAgIG1fY29udmVyc2lvblNlbWFwaG9yZS5z
aWduYWwoKTsKK30KKworUmVmUHRyPE5hdGl2ZUltYWdlPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yOjpnZXROYXRpdmVJbWFnZShjb25zdCBXZWJDb3JlOjpWaWRlb0Zy
YW1lJiB2aWRlb0ZyYW1lKQoreworICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKKwor
ICAgIGF1dG8gbmF0aXZlUGl4ZWxCdWZmZXIgPSB2aWRlb0ZyYW1lLnBpeGVsQnVmZmVyKCk7Cisg
ICAgYXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihu
YXRpdmVQaXhlbEJ1ZmZlcik7CisgICAgYXV0byBidWZmZXIgPSBtX3NoYXJlZFZpZGVvRnJhbWVX
cml0ZXIud3JpdGVCdWZmZXIobmF0aXZlUGl4ZWxCdWZmZXIsCisgICAgICAgIFsmXShhdXRvJiBz
ZW1hcGhvcmUpIHsgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcDo6U2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZSB7IHNlbWFwaG9yZSB9LCAwKTsg
fSwKKyAgICAgICAgWyZdKGF1dG8mIGhhbmRsZSkgeyBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6
OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpTZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5IHsg
aGFuZGxlIH0sIDApOyB9KTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmpl
Y3RIZWFwOjpDb252ZXJ0QnVmZmVyIHsgV1RGTW92ZSgqYnVmZmVyKSB9LCAwKTsKKyAgICBtX2Nv
bnZlcnNpb25TZW1hcGhvcmUud2FpdCgpOworCisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IFdURk1v
dmUobV9jb252ZXJ0ZWRCdWZmZXIpOworICAgIHJldHVybiBwaXhlbEJ1ZmZlciA/IE5hdGl2ZUlt
YWdlOjpjcmVhdGUoUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxC
dWZmZXIoV1RGTW92ZShwaXhlbEJ1ZmZlciksIGNvbG9yU3BhY2UuZ2V0KCkpKSA6IG51bGxwdHI7
Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yLmgKaW5kZXggNmJmMzRiNjVmYzYxZmM4NjI1OGRmYzVmODVjOGU4
YzJkNTI4YzBmNi4uYjUxNGI4YWNjYjY1ZDYxZmZjNWIyNzM2NGIwOTI4ZWRkZjViOWFjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3Iu
aApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL3Ro
cmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIHVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0g
c3RydWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wqOwogCkBAIC00NSw2ICs0NiwxMSBAQCBjbGFzcyBD
b25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgTmF0aXZlSW1hZ2U7CitjbGFzcyBWaWRlb0ZyYW1lOworfQorCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgUmVtb3RlVmlkZW9GcmFtZVByb3h5OwpAQCAtNTYsNiArNjIsNyBAQCBwdWJs
aWM6CiAKICAgICB1c2luZyBDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+JiYpPjsKICAgICB2b2lkIGdldFZpZGVvRnJhbWVCdWZmZXIoY29uc3QgUmVt
b3RlVmlkZW9GcmFtZVByb3h5JiwgYm9vbCBjYW5Vc2VJT1N1cmZjZSwgQ2FsbGJhY2smJik7Cisg
ICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdlPiBnZXROYXRpdmVJbWFnZShjb25zdCBXZWJD
b3JlOjpWaWRlb0ZyYW1lJik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3NvcihHUFVQcm9jZXNzQ29ubmVjdGlvbiYpOwpAQCAt
NjYsNiArNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFw
aG9yZShJUEM6OlNlbWFwaG9yZSYmKTsKICAgICB2b2lkIHNldFNoYXJlZFZpZGVvRnJhbWVNZW1v
cnkoY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmKTsKICAgICB2b2lkIG5ld1ZpZGVvRnJh
bWVCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8U2hhcmVk
VmlkZW9GcmFtZTo6QnVmZmVyPiYmKTsKKyAgICB2b2lkIG5ld0NvbnZlcnRlZFZpZGVvRnJhbWVC
dWZmZXIoc3RkOjpvcHRpb25hbDxTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+JiYpOwogCiAgICAg
Ly8gR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpOwpAQCAtODAsNiArODgsMTAgQEAg
cHJpdmF0ZToKICAgICBIYXNoTWFwPFJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBDYWxsYmFj
az4gbV9jYWxsYmFja3MgV1RGX0dVQVJERURfQllfTE9DSyhtX2NhbGxiYWNrc0xvY2spOwogICAg
IFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAgICAgU2hhcmVkVmlkZW9GcmFtZVJlYWRlciBtX3No
YXJlZFZpZGVvRnJhbWVSZWFkZXI7CisKKyAgICBTaGFyZWRWaWRlb0ZyYW1lV3JpdGVyIG1fc2hh
cmVkVmlkZW9GcmFtZVdyaXRlcjsKKyAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9j
b252ZXJ0ZWRCdWZmZXI7CisgICAgQmluYXJ5U2VtYXBob3JlIG1fY29udmVyc2lvblNlbWFwaG9y
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVBy
b2Nlc3Nvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4KaW5k
ZXggOTNjNTg1ZmM0YTE5Zjk1OTIzMjRlMmU3NWNhMWNiODRhY2UzMWE1NS4uYWRhODI5ZDliMWQz
YzZlZjA2YTQ3OTUxMDUxMDA0MDE1MjVmZWI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluCkBA
IC0yNiw2ICsyNiw3IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJv
eHlQcm9jZXNzb3IgewogICAgIFNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1h
cGhvcmUgc2VtYXBob3JlKQogICAgIFNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoV2ViS2l0OjpT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlKQogICAgIE5ld1ZpZGVvRnJhbWVC
dWZmZXIoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lSWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6
Om9wdGlvbmFsPFdlYktpdDo6U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiBmcmFtZSkKKyAgICBO
ZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyKHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpTaGFyZWRW
aWRlb0ZyYW1lOjpCdWZmZXI+IGZyYW1lKQogfQogCiAjZW5kaWYK
</data>
<flag name="commit-queue"
          id="487866"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458888</attachid>
            <date>2022-05-05 10:36:58 -0700</date>
            <delta_ts>2022-05-06 02:10:41 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-240113-20220505193656.patch</filename>
            <type>text/plain</type>
            <size>30050</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uNjU5YzU1NGI1NWM5NmFiMGEzYWI1YjNiZGE0OWRj
NjhkYmM5ZjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBjYWxsYmFjayBp
biBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYWxsb3cgdXNlIGEgY3Vz
dG9tIHdheSB0byBjcmVhdGUgYSBOYXRpdmVJbWFnZSBmcm9tIGEgVmlkZW9GcmFtZS4KKyAgICAg
ICAgU21hbGwgcmVmYWN0b3JpbmcgaW4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDViB0byBzaGFyZSBt
b3JlIGNvZGUgd2l0aCBXZWJLaXQuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0NWVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oOgorCiAyMDIyLTA1
LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICByZXBsYWNl
VHJhY2sgd2l0aCBkaWZmZXJlbnQgY29uc3RyYWludHMgc3RvcHMgc2VuZGluZyBwYWNrZXRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDMwNjY4OGQ0NzA4NDM0NWEwOGFkMjM3OTY2OWMzZTJiODEwOWIwMjUuLmY5MDUy
Y2I1YmM1YjEwYmQ5OTIwN2ZiZTI3ZWYzMTE4N2E5MzUwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMjItMDUtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIEFsbG93IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhdm9p
ZCBwaXhlbCBjb25mb3JtZXJzIGlmIElPU3VyZmFjZXMgYXJlIG5vdCBhbGxvd2VkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAxMTMKKyAgICAgICAg
cmRhcjovLzkyNjI5ODQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgIEltcGxlbWVudCBWaWRlb0ZyYW1lIGNvbnZlcnNpb24gdG8gQkdSQSBieSBzZW5kaW5n
IElQQyB0byBHUFVQcm9jZXNzLCB1c2UgcGl4ZWwgY29uZm9ybWVyIGluIEdQVVByb2Nlc3MgYW5k
IHNlbmQgYmFjayB0aGUgcmVzdWx0cyB0byBXZWJQcm9jZXNzLgorICAgICAgICBUaGlzIGdvZXMg
dGhyb3VnaCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5L1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3Igd2hpY2ggZXhjaGFuZ2VzIHdpdGggUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXAuCisgICAgICAgIE1ha2UgdXNlIG9mIHRoaXMgY29udmVyc2lvbiBjb2Rl
IHBhdGggZm9yIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBieSBzZXR0aW5n
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBuYXRpdmVJbWFnZUNyZWF0b3Ig
Y2FsbGJhY2suCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzQ29j
b2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNS0wNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU1dPcmlnaW5TdG9yZSBpcyBubyBsb25nZXIg
bmVlZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZWY0MDZkZjA5MGZiODhjY2MwNzg1NDcyMzE2YWMxOTMwMTY1ZWY3ZC4uZmNl
NWM5ZGFiNzYxMTIwNTUwNDdjMGY0MWVhNTNkODVkZWM0ODVkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDYyLDcgKzQ2Miw3
IEBACiAJCTE0RENGM0IzMUI2QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3Ry
YXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
RENGM0IxMUI2QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuaCAq
LzsgfTsKIAkJMTRFODM3OEUwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTgzNzhEMDlGODVENEYwMEI4
NUFFNCAvKiBKU0V2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMTRGRkUzMUQwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRC
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZG
RTMxQjBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxNTA1MjRGNDFCNzEyRkY2
MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYw
MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggKi87IH07
CisJCTE1MDUyNEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE1MDUyNEYwMUI3MTJGRjAwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxNTE0NUI5MDFCM0ExQ0UwMDA2NjJCRjcgLyogTWVkaWFEZXZpY2VJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTE0NUI4RjFCM0Ex
QjNFMDA2NjJCRjcgLyogTWVkaWFEZXZpY2VJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTU3MzlCQkIxQjQyMDEyRDAwRDI1OEMxIC8qIEpT
TWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNTczOUJCOTFCNDIwMTIyMDBEMjU4QzEgLyogSlNNZWRpYURldmljZXMuaCAqLzsgfTsK
IAkJMTU5NzQxREIxQjdEMTQwMTAwMjAxQzkyIC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTdDQzI2MjFCN0MxQ0E0
MDBEOEQwNzUgLyogSlNNZWRpYURldmljZUluZm8uaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDLmgKaW5kZXggOWY1ZTIyMDMwOTkwMDJiM2ZlZDhiYzBmZjMzNTRhZTE1MDc4YjRiZi4uYjFk
NWRjM2M3ODYyMWJhYTMxMjY3NjFkZDkzYTE3NWVlMWRjY2RhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmgKQEAgLTYzLDYgKzYzLDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVn
aXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhcik7CiAKKyAgICB1c2luZyBOYXRp
dmVJbWFnZUNyZWF0b3IgPSBSZWZQdHI8TmF0aXZlSW1hZ2U+ICgqKShjb25zdCBWaWRlb0ZyYW1l
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TmF0aXZlSW1hZ2VDcmVhdG9y
KE5hdGl2ZUltYWdlQ3JlYXRvciYmKTsKKwogICAgIC8vIE1lZGlhUGxheWVyIEZhY3RvcnkgTWV0
aG9kcwogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CiAgICAgc3RhdGljIHZvaWQgZ2V0
U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4m
IHR5cGVzKTsKQEAgLTI5MCw4ICsyOTMsMTAgQEAgcHJpdmF0ZToKICAgICBTZWNvbmRzIG1fcHJl
c2VudGF0aW9uVGltZSB7IDAgfTsKICAgICBGbG9hdFNpemUgbV92aWRlb0ZyYW1lU2l6ZTsKICAg
ICBWaWRlb0ZyYW1lVGltZU1ldGFkYXRhIG1fc2FtcGxlTWV0YWRhdGE7CisKKyAgICBzdGF0aWMg
TmF0aXZlSW1hZ2VDcmVhdG9yIG1fbmF0aXZlSW1hZ2VDcmVhdG9yOwogfTsKLSAgICAKKwogfQog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKEFWRk9VTkRBVElPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCA3ZWY0YTk5YjA0MWFmNWE0MDZmYTJhMTZjNWQy
YTc4ZTI3ZGE0NTA2Li41OGNhNGI2NGFjNzJjNjUxNGMzZWJmYWIxMTZlZjBmODEwOGUyNzE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC0xMjcsNiArMTI3LDEyIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDCiAKK01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6TmF0aXZlSW1hZ2VDcmVhdG9yIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6bV9uYXRpdmVJbWFnZUNyZWF0b3IgPSBudWxscHRyOwordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNldE5hdGl2ZUltYWdlQ3JlYXRvcihOYXRpdmVJbWFn
ZUNyZWF0b3ImJiBjYWxsYmFjaykKK3sKKyAgICBtX25hdGl2ZUltYWdlQ3JlYXRvciA9IFdURk1v
dmUoY2FsbGJhY2spOworfQorCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6
Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyhNZWRpYVBsYXllciogcGxheWVy
KQogICAgIDogbV9wbGF5ZXIocGxheWVyKQogICAgICwgbV9sb2dnZXIocGxheWVyLT5tZWRpYVBs
YXllckxvZ2dlcigpKQpAQCAtOTk2LDYgKzEwMDIsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakM6OnVwZGF0ZUN1cnJlbnRGcmFtZUltYWdlKCkKICAgICBpZiAo
bV9pbWFnZVBhaW50ZXIuY2dJbWFnZSB8fCAhbV9pbWFnZVBhaW50ZXIudmlkZW9GcmFtZSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fbmF0aXZlSW1hZ2VDcmVhdG9yKSB7CisgICAgICAg
IG1faW1hZ2VQYWludGVyLmNnSW1hZ2UgPSBtX25hdGl2ZUltYWdlQ3JlYXRvcigqbV9pbWFnZVBh
aW50ZXIudmlkZW9GcmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIW1f
aW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyKQogICAgICAgICBtX2ltYWdlUGFpbnRl
ci5waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZmZXJDb25mb3JtZXJD
Vj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQ
aXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JB
KSB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
Q1ZVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0NWVXRp
bGl0aWVzLmgKaW5kZXggYzMwZGUxZGMwOTE3YTViYWI2MTFmMmJkYzY1MGZkMTdhNTEyNzE1ZC4u
YzdjZDRhNmYxYmQwMjk0M2NjOTRiM2Q5NGJlOThiOTA5YWQ5MGVkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5oCkBAIC00OSw3ICs0
OSw3IEBAIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVm
PiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZmCiAKIFdFQkNPUkVfRVhQT1JUIEV4cGVjdGVk
PFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiwgQ1ZSZXR1cm4+IGNyZWF0ZUNWUGl4ZWxCdWZm
ZXIoSU9TdXJmYWNlUmVmKTsKIAotUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY3JlYXRlQ0dD
b2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKK1dFQkNPUkVfRVhQ
T1JUIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4
ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIC8vIFNob3VsZCBiZSBjYWxsZWQgd2l0aCBu
b24tZW1wdHkgUHJvY2Vzc0lkZW50aXR5LgogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRPd25lcnNo
aXBJZGVudGl0eUZvckNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwgY29uc3QgUHJvY2Vz
c0lkZW50aXR5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCmluZGV4IGIyNjM3NjkyOTU0
MTVkMzgwM2IxYjBjYmY0YWFlOGRmM2Y3YTg5ZTEuLmFjNWIxZmJiZDJkNzE4Zjk2NjYwYzQzYjlm
ZmNlOWQ3ODNlY2JhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwCkBAIC0xNDcsOCAr
MTQ3LDYgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFBpeGVsQnVmZmVyQ29uZm9ybWVy
Q1Y6OmNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZiByYXcKIFJldGFpblB0cjxDR0ltYWdlUmVmPiBQ
aXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVs
QnVmZmVyUmVmIHJhd0J1ZmZlcikKIHsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4g
YnVmZmVyIHsgcmF3QnVmZmVyIH07Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQaXhlbEJ1ZmZlckdl
dFdpZHRoKGJ1ZmZlci5nZXQoKSk7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENWUGl4ZWxCdWZmZXJH
ZXRIZWlnaHQoYnVmZmVyLmdldCgpKTsKIAogICAgIGlmICghVlRQaXhlbEJ1ZmZlckNvbmZvcm1l
cklzQ29uZm9ybWFudFBpeGVsQnVmZmVyKG1fcGl4ZWxDb25mb3JtZXIuZ2V0KCksIGJ1ZmZlci5n
ZXQoKSkpIHsKICAgICAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBvdXRwdXRCdWZmZXIgPSBudWxscHRy
OwpAQCAtMTU4LDYgKzE1NiwxNSBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJD
b25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbAogICAgICAgICBi
dWZmZXIgPSBhZG9wdENGKG91dHB1dEJ1ZmZlcik7CiAgICAgfQogCisgICAgYXV0byBjb2xvclNw
YWNlID0gY3JlYXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdCdWZmZXIpOworICAg
IHJldHVybiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlciksIGNvbG9y
U3BhY2UuZ2V0KCkpOworfQorCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gUGl4ZWxCdWZmZXJDb25m
b3JtZXJDVjo6aW1hZ2VGcm9tMzJCR1JBUGl4ZWxCdWZmZXIoUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+JiYgYnVmZmVyLCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSkKK3sKKyAgICBzaXpl
X3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgpKTsKKyAgICBzaXpl
X3QgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0KCkpOworCiAgICAg
Q0dCaXRtYXBJbmZvIGJpdG1hcEluZm8gPSBzdGF0aWNfY2FzdDxDR0JpdG1hcEluZm8+KGtDR0Jp
dG1hcEJ5dGVPcmRlcjMyTGl0dGxlKSB8IHN0YXRpY19jYXN0PENHQml0bWFwSW5mbz4oa0NHSW1h
Z2VBbHBoYUZpcnN0KTsKICAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBpeGVsQnVmZmVyR2V0
Qnl0ZXNQZXJSb3coYnVmZmVyLmdldCgpKTsKICAgICBzaXplX3QgYnl0ZUxlbmd0aCA9IGJ5dGVz
UGVyUm93ICogaGVpZ2h0OwpAQCAtMTY2LDggKzE3Myw2IEBAIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBp
eGVsCiAgICAgaWYgKCFieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAg
IGF1dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4ZWxCdWZmZXIocmF3
QnVmZmVyKTsKLQogICAgIENWUGl4ZWxCdWZmZXJJbmZvKiBpbmZvID0gbmV3IENWUGl4ZWxCdWZm
ZXJJbmZvKCk7CiAgICAgaW5mby0+cGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlcik7CiAgICAg
aW5mby0+bG9ja0NvdW50ID0gMDsKQEAgLTE3NSw3ICsxODAsNyBAQCBSZXRhaW5QdHI8Q0dJbWFn
ZVJlZj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIo
Q1ZQaXhlbAogICAgIENHRGF0YVByb3ZpZGVyRGlyZWN0Q2FsbGJhY2tzIHByb3ZpZGVyQ2FsbGJh
Y2tzID0geyAwLCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZVBvaW50ZXJDYWxsYmFjaywgQ1ZQaXhlbEJ1
ZmZlclJlbGVhc2VCeXRlUG9pbnRlckNhbGxiYWNrLCAwLCBDVlBpeGVsQnVmZmVyUmVsZWFzZUlu
Zm9DYWxsYmFjayB9OwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gcHJvdmlkZXIg
PSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlRGlyZWN0KGluZm8sIGJ5dGVMZW5ndGgsICZw
cm92aWRlckNhbGxiYWNrcykpOwogCi0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZSh3
aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2UuZ2V0KCksIGJpdG1h
cEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50
RGVmYXVsdCkpOworICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VDcmVhdGUod2lkdGgsIGhlaWdo
dCwgOCwgMzIsIGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZvLCBwcm92aWRlci5n
ZXQoKSwgbnVsbHB0ciwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxC
dWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
UGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGNjNTc4Yzc5YmIwN2Y0Mjk2ZDU5NzI3ODBi
NjAwOTI0NjIwM2I2YmMuLjZjOWRmMzU1NTdhMmI0M2I2NTA5M2JlZjkxNGUwN2ZkZDdmMzQ5M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
di9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTI3LDggKzI3LDkgQEAKIAogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbEJ1ZmZlckNv
bmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKK3R5cGVkZWYgc3RydWN0IENHQ29s
b3JTcGFjZSAqQ0dDb2xvclNwYWNlUmVmOwogdHlwZWRlZiBzdHJ1Y3QgQ0dJbWFnZSogQ0dJbWFn
ZVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4
ZWxCdWZmZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyICpDVlBpeGVs
QnVmZmVyUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSw2ICs0MCw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlvbmFy
eVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1
ZmZlclJlZik7CisgICAgc3RhdGljIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBpbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiwgQ0dDb2xvclNwYWNlUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8VlRQaXhlbEJ1
ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAu
Y3BwCmluZGV4IDRiYWM5YjM2ODUzM2VhMDk3MTUyM2QxMzI0NzVmZDI0NGEzMGY0ZWUuLjU2NDFh
ODUyMTA0OTZlYzQ0YmRmMWZhNmRhMWM5NmY1NGIzZjEzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwLmNwcApAQCAtMjcsMTIgKzI3LDE0IEBACiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXAuaCIKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKFZJREVPKQor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVBy
b2Nlc3Nvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZVByb3h5LmgiCiAj
aW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVk
ZSA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9W
aWRlb0ZyYW1lQ1YuaD4KICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNl
bmRpZgpAQCAtMTMzLDYgKzEzNSw0MSBAQCB2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
OjpwaXhlbEJ1ZmZlcihSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmIHJlYQogICAgIEFT
U0VSVChwaXhlbEJ1ZmZlcik7CiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShwaXhlbEJ1
ZmZlcikpOwogfQorCit2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpjb252ZXJ0QnVm
ZmVyKFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlciYmIGJ1ZmZlcikKK3sKKyAgICBhdXRvIHBpeGVs
QnVmZmVyID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnJlYWRCdWZmZXIoV1RGTW92ZShidWZm
ZXIpKTsKKyAgICBpZiAoIXBpeGVsQnVmZmVyKSB7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6TmV3
Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlciB7IHsgfSB9LCAwKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGNyZWF0ZVBpeGVsQ29uZm9ybWVySWZOZWVkZWQoKTsKKyAgICBhdXRvIGNv
bnZlcnRlZEJ1ZmZlciA9IG1fcGl4ZWxCdWZmZXJDb25mb3JtZXItPmNvbnZlcnQocGl4ZWxCdWZm
ZXIuZ2V0KCkpOworICAgIGlmICghY29udmVydGVkQnVmZmVyKSB7CisgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFdlYlJUQywgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpjb252ZXJ0QnVm
ZmVyIGNvbmZvcm1lciBmYWlsZWQiKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpOZXdDb252ZXJ0
ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgeyB9IH0sIDApOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgYm9vbCBjYW5TZW5kSU9TdXJmYWNlID0gZmFsc2U7CisgICAgYXV0byByZXN1bHQgPSBt
X3NoYXJlZFZpZGVvRnJhbWVXcml0ZXIud3JpdGVCdWZmZXIoY29udmVydGVkQnVmZmVyLmdldCgp
LAorICAgICAgICBbJl0oYXV0byYgc2VtYXBob3JlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hhcmVk
VmlkZW9GcmFtZVNlbWFwaG9yZSB7IHNlbWFwaG9yZSB9LCAwKTsgfSwKKyAgICAgICAgWyZdKGF1
dG8mIGhhbmRsZSkgeyBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6OlNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkgeyBo
YW5kbGUgfSwgMCk7IH0sCisgICAgICAgIGNhblNlbmRJT1N1cmZhY2UpOworICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvcjo6TmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlciB7IHJlc3VsdCB9LCAwKTsKK30KKwor
dm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFw
aG9yZShJUEM6OlNlbWFwaG9yZSYmIHNlbWFwaG9yZSkKK3sKKyAgICBtX3NoYXJlZFZpZGVvRnJh
bWVSZWFkZXIuc2V0U2VtYXBob3JlKFdURk1vdmUoc2VtYXBob3JlKSk7Cit9CisKK3ZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3Qg
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSkKK3sKKyAgICBtX3NoYXJlZFZpZGVv
RnJhbWVSZWFkZXIuc2V0U2hhcmVkTWVtb3J5KGlwY0hhbmRsZSk7Cit9CisKICNlbmRpZgogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXAuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcC5oCmluZGV4IGMwOGE1YTRjNzdmNjA1MjE2NjI3YzUwYjEwYTQx
MWVmMWFiOTJjMDAuLmMxNjJkYzU2YzAyZDZhMTEzMWM3OGVlMmQ5ODliNDRhOTcwY2ExMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1l
T2JqZWN0SGVhcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcC5oCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUgIlNoYXJl
ZFZpZGVvRnJhbWUuaCIKICNlbmRpZgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSG9sZHMg
cmVmZXJlbmNlcyB0byBhbGwgVmlkZW9GcmFtZSBpbnN0YW5jZXMgdGhhdCBhcmUgbWFwcGVkIGZy
b20gR1BVIHByb2Nlc3MgdG8gV2ViIHByb2Nlc3MuCkBAIC02MSwxMiArNjUsMTkgQEAgcHJpdmF0
ZToKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIGdldFZpZGVvRnJhbWVCdWZmZXIoUmVt
b3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiwgYm9vbCBjYW5TZW5kSU9TdXJmYWNlKTsKICAg
ICB2b2lkIHBpeGVsQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFkUmVmZXJlbmNlJiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+KT4mJik7CisgICAg
dm9pZCBjb252ZXJ0QnVmZmVyKFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlciYmKTsKKyAgICB2b2lk
IHNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUmJik7CisgICAgdm9p
ZCBzZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxl
Jik7CiAjZW5kaWYKIAorICAgIHZvaWQgY3JlYXRlUGl4ZWxDb25mb3JtZXJJZk5lZWRlZCgpOwor
CiAgICAgY29uc3QgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIFRocmVh
ZFNhZmVPYmplY3RIZWFwPFJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBSZWZQdHI8V2ViQ29y
ZTo6VmlkZW9GcmFtZT4+IG1faGVhcDsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTaGFyZWRW
aWRlb0ZyYW1lV3JpdGVyIG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRlcjsKKyAgICBTaGFyZWRWaWRl
b0ZyYW1lUmVhZGVyIG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4gbV9waXhlbEJ1ZmZlckNvbmZvcm1l
cjsKICNlbmRpZgogICAgIGJvb2wgbV9pc0Nsb3NlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCmluZGV4IGViOWE2OTZjMjgxOTliMGM0Njll
YjIwYjQ1ZGI3MmMyMmY3ZTI2N2YuLjQ0ZGUxZjU1NzQ3YjZkMmE0N2YzY2Y0ZWY2Y2I4NGI1YThi
OWY1YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KQEAgLTI2
LDYgKzI2LDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAgTm90UmVm
Q291bnRlZCB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgR2V0VmlkZW9GcmFtZUJ1ZmZlcihX
ZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVSZWFkUmVmZXJlbmNlIHJlYWQsIGJvb2wgY2FuU2VuZElP
U3VyZmFjZSkKICAgICBQaXhlbEJ1ZmZlcihXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVSZWFkUmVm
ZXJlbmNlIHJlYWQpIC0+IChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcmVzdWx0KSBTeW5j
aHJvbm91cworICAgIFNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUoSVBDOjpTZW1hcGhvcmUg
c2VtYXBob3JlKQorICAgIFNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlKQorICAgIENvbnZlcnRCdWZmZXIoc3RydWN0
IFdlYktpdDo6U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyIGJ1ZmZlcikKICNlbmRpZgogICAgIFJl
bGVhc2VWaWRlb0ZyYW1lKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVdyaXRlUmVmZXJlbmNlIHdy
aXRlKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZGRlMWQwNmZmZWZm
MGNlNzZhZmE4ZjRmOTE1MzVmMTIyYTk2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KQEAgLTAs
MCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBFTkFCTEUoVklERU8pICYmIFBMQVRGT1JNKENPQ09BKQorCisjaW5jbHVkZSA8V2ViQ29yZS9Q
aXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Db3JlVmlkZW9Tb2Z0
TGluay5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcDo6Y3JlYXRlUGl4ZWxDb25mb3JtZXJJZk5lZWRlZCgpCit7CisgICAgaWYgKCFtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyID0gbWFr
ZVVuaXF1ZTxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPigoX19icmlkZ2UgQ0ZEaWN0
aW9uYXJ5UmVmKUB7IChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3Jt
YXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH0pOworfQorCit9CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDE3YzEwZjlmNGU4ODE0YmU4MDhjMDljMGRl
M2U4NTFkMDQ0YTYxYmYuLjZhYWZiY2EyMzY0ZTMwMWVlNjNiNTAzZWMwOWIzMjE0NzM1YjM5ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTczLDYgKzczLDcgQEAgR1BVUHJvY2Vzcy9tYWMv
R1BVUHJvY2Vzc01hYy5tbQogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRl
clByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVJbWFnZURlY29kZXJBVkZQcm94eS5j
cHAKK0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KIEdQVVBy
b2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCiBHUFVQcm9j
ZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5jcHAKIEdQVVByb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTZhNTYxM2RiMzJl
NTA5ODU4YTExOTE5YzEzODVhYjEwNzU3YTlkNS4uOGM5ZmY5NDBjNGIzMzhlNzNlZGY5NjJkZmU3
YTA5MDhlYjIzZTA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC00NDIwLDYgKzQ0MjAsNyBAQAogCQk0MTAzRkJBMjIwNjFCREI4MDBD
MkVBRjggLyogTmV0d29ya0xvYWRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5ldHdvcmtMb2FkQ2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0
d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMEFEMkUxMjgyM0JEOUYwMDlDOTNDOCAvKiBS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTBCQTEzOTI1NzEzNUYyMDAyRTJGOEEgLyogTmV0d29ya1JUQ1RDUFNvY2tldENvY29hLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya1JUQ1RDUFNvY2tldENvY29hLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCQTEzQTI1NzEzNUYyMDAyRTJGOEEgLyogTmV0d29y
a1JUQ1RDUFNvY2tldENvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtSVENUQ1BTb2NrZXRD
b2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBGMEQ0QjI3MDFFRkVBMDBG
OTZERkMgLyogR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Jbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Jbml0aWFsaXphdGlvblBhcmFtZXRl
cnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc1OTQsNiArNzU5NSw3IEBACiAJ
CQkJN0I1QTNEQTgyN0E3RENCQzAwNkM2Rjk3IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
LmNwcCAqLywKIAkJCQk3QjVBM0RBNzI3QTdEQ0JDMDA2QzZGOTcgLyogUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAuaCAqLywKIAkJCQk0MTNDNTQyMjI3QzkwRjRDMDAyRkNEQTggLyogUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEwQUQyRTEyODIzQkQ5
RjAwOUM5M0M4IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tICovLAogCQkJCTA3MUJD
NTg0MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVWaWRlb1RyYWNrUHJveHkuY3BwICovLAogCQkJ
CTA3MUJDNTg1MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVWaWRlb1RyYWNrUHJveHkuaCAqLywK
IAkJCQkwN0UxOUYwNTIzRDREQzg4MDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNv
bmZpZ3VyYXRpb24uaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAppbmRleCBiMzc2
ZWM4Y2VkNDc1MDgwMTAxNDVmNWY1NDY0MTU0OWNkY2FhN2JkLi4zZTE4ZDQ0M2E0OWY2ZTg3Yjk1
ZmNiOTVjNWJmODNjM2FkZjVmODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCkBA
IC00Myw2ICs0MywxMCBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaD4KKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogdXNpbmcgbmFtZXNwYWNlIFBBTDsKQEAgLTI2Myw2ICsyNjcsOSBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6c2V0VXNlR1BVUHJvY2Vzcyhib29sIHVz
ZUdQVVByb2Nlc3MpCiAgICAgICAgIFdlYkNvcmU6OlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6
c2V0Q3JlYXRvcihbXShhdXRvJiBjbGllbnQpIHsKICAgICAgICAgICAgIHJldHVybiBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLnNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllck1hbmFnZXIoKS5jcmVhdGVMYXllcihjbGllbnQpOwogICAgICAgICB9KTsK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpz
ZXROYXRpdmVJbWFnZUNyZWF0b3IoW10oYXV0byYgdmlkZW9GcmFtZSkgeworICAgICAgICAgICAg
cmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9u
KCkudmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eSgpLmdldE5hdGl2ZUltYWdlKHZpZGVvRnJhbWUp
OworICAgICAgICB9KTsKICAgICB9CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHkuaAppbmRleCBlNzk0OGM1MjgxYWRkYzA1NWVjNzlmYTAzMmE0NDcyNDYz
NjM1ODEzLi40ZWY5OTBlMDZjYTkwNDg4MzQ0MTJjZDZiMzQzNWM5NjEzZmM5MjNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1l
T2JqZWN0SGVhcFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJy
dGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS5oCkBAIC01MCw2ICs1MCw3IEBAIHB1
YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZl
cihjb25zdCBSZW1vdGVWaWRlb0ZyYW1lUHJveHkmIHByb3h5LCBib29sIGNhblVzZUlPU3VyZmFj
ZSwgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6Q2FsbGJhY2smJiBj
YWxsYmFjaykgeyBtX3Byb2Nlc3Nvci0+Z2V0VmlkZW9GcmFtZUJ1ZmZlcihwcm94eSwgY2FuVXNl
SU9TdXJmYWNlLCBXVEZNb3ZlKGNhbGxiYWNrKSk7IH0KKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0
aXZlSW1hZ2U+IGdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmIGZyYW1l
KSAgeyByZXR1cm4gbV9wcm9jZXNzb3ItPmdldE5hdGl2ZUltYWdlKGZyYW1lKTsgfQogI2VuZGlm
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3IuY3BwCmluZGV4IGM4NzI0NmFjNzBmZWZhYmMxZGI5MzRkNmUwMjJjYTg5
MzVmZWU4MmEuLmZiYTA2MDY0NDc2N2U5N2Q1Yjc3N2M5ZGJhODMwMGMwZjcyNmQ2ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3Iu
Y3BwCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXBNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQ
cm9jZXNzb3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVQcm94eS5oIgor
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTE5LDYg
KzEyMSwzMyBAQCB2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6
OmdldFZpZGVvRnJhbWVCdWZmZXIoY29uc3QgUmVtb3RlVgogICAgIElQQzo6Q29ubmVjdGlvbjo6
c2VuZChtX2Nvbm5lY3Rpb25JRCwgTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
OjpHZXRWaWRlb0ZyYW1lQnVmZmVyKGZyYW1lLm5ld1JlYWRSZWZlcmVuY2UoKSwgY2FuVXNlSU9T
dXJmYWNlKSwgMCwgSVBDOjpTZW5kT3B0aW9uOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRp
bmdGb3JTeW5jUmVwbHkpOwogfQogCit2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJv
eHlQcm9jZXNzb3I6Om5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIoc3RkOjpvcHRpb25hbDxT
aGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+JiYgYnVmZmVyKQoreworICAgIEFTU0VSVCghbV9jb252
ZXJ0ZWRCdWZmZXIpOworICAgIGlmIChidWZmZXIpCisgICAgICAgIG1fY29udmVydGVkQnVmZmVy
ID0gbV9zaGFyZWRWaWRlb0ZyYW1lUmVhZGVyLnJlYWRCdWZmZXIoV1RGTW92ZSgqYnVmZmVyKSk7
CisgICAgbV9jb252ZXJzaW9uU2VtYXBob3JlLnNpZ25hbCgpOworfQorCitSZWZQdHI8TmF0aXZl
SW1hZ2U+IFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3I6OmdldE5hdGl2
ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmIHZpZGVvRnJhbWUpCit7CisgICAgYXV0
byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3ND
b25uZWN0aW9uKCkuY29ubmVjdGlvbigpOworCisgICAgYXV0byBuYXRpdmVQaXhlbEJ1ZmZlciA9
IHZpZGVvRnJhbWUucGl4ZWxCdWZmZXIoKTsKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBjcmVhdGVD
R0NvbG9yU3BhY2VGb3JDVlBpeGVsQnVmZmVyKG5hdGl2ZVBpeGVsQnVmZmVyKTsKKyAgICBhdXRv
IGJ1ZmZlciA9IG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZlcihuYXRpdmVQaXhl
bEJ1ZmZlciwKKyAgICAgICAgWyZdKGF1dG8mIHNlbWFwaG9yZSkgeyBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpTZXRTaGFyZWRWaWRlb0ZyYW1l
U2VtYXBob3JlIHsgc2VtYXBob3JlIH0sIDApOyB9LAorICAgICAgICBbJl0oYXV0byYgaGFuZGxl
KSB7IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6
OlNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkgeyBoYW5kbGUgfSwgMCk7IH0pOworICAgIGlmICgh
YnVmZmVyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGNvbm5lY3Rpb24uc2VuZChN
ZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OkNvbnZlcnRCdWZmZXIgeyBXVEZN
b3ZlKCpidWZmZXIpIH0sIDApOworICAgIG1fY29udmVyc2lvblNlbWFwaG9yZS53YWl0KCk7CisK
KyAgICBhdXRvIHBpeGVsQnVmZmVyID0gV1RGTW92ZShtX2NvbnZlcnRlZEJ1ZmZlcik7CisgICAg
cmV0dXJuIHBpeGVsQnVmZmVyID8gTmF0aXZlSW1hZ2U6OmNyZWF0ZShQaXhlbEJ1ZmZlckNvbmZv
cm1lckNWOjppbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwg
Y29sb3JTcGFjZS5nZXQoKSkpIDogbnVsbHB0cjsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaAppbmRleCA2
YmYzNGI2NWZjNjFmYzg2MjU4ZGZjNWY4NWM4ZThjMmQ1MjhjMGY2Li5iNTE0YjhhY2NiNjVkNjFm
ZmM1YjI3MzY0YjA5MjhlZGRmNWI5YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29y
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9X
b3JrUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KIAog
dXNpbmcgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgPSBzdHJ1Y3QgX19DVlBpeGVsQnVmZmVyUG9vbCo7
CiAKQEAgLTQ1LDYgKzQ2LDExIEBAIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwog
fQogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOYXRpdmVJbWFnZTsKK2NsYXNzIFZpZGVv
RnJhbWU7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVWaWRlb0ZyYW1l
UHJveHk7CkBAIC01Niw2ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIENhbGxiYWNrID0g
RnVuY3Rpb248dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik+OwogICAgIHZvaWQg
Z2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVWaWRlb0ZyYW1lUHJveHkmLCBib29sIGNh
blVzZUlPU3VyZmNlLCBDYWxsYmFjayYmKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1h
Z2U+IGdldE5hdGl2ZUltYWdlKGNvbnN0IFdlYkNvcmU6OlZpZGVvRnJhbWUmKTsKIAogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29y
KEdQVVByb2Nlc3NDb25uZWN0aW9uJik7CkBAIC02Niw2ICs3Myw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlKElQQzo6U2VtYXBob3JlJiYpOwogICAg
IHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeShjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hh
bmRsZSYpOwogICAgIHZvaWQgbmV3VmlkZW9GcmFtZUJ1ZmZlcihSZW1vdGVWaWRlb0ZyYW1lSWRl
bnRpZmllciwgc3RkOjpvcHRpb25hbDxTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXI+JiYpOworICAg
IHZvaWQgbmV3Q29udmVydGVkVmlkZW9GcmFtZUJ1ZmZlcihzdGQ6Om9wdGlvbmFsPFNoYXJlZFZp
ZGVvRnJhbWU6OkJ1ZmZlcj4mJik7CiAKICAgICAvLyBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xp
ZW50CiAgICAgdm9pZCBncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25u
ZWN0aW9uJik7CkBAIC04MCw2ICs4OCwxMCBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8UmVtb3Rl
VmlkZW9GcmFtZUlkZW50aWZpZXIsIENhbGxiYWNrPiBtX2NhbGxiYWNrcyBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fY2FsbGJhY2tzTG9jayk7CiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKICAg
ICBTaGFyZWRWaWRlb0ZyYW1lUmVhZGVyIG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlcjsKKworICAg
IFNoYXJlZFZpZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVyOworICAgIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2NvbnZlcnRlZEJ1ZmZlcjsKKyAgICBCaW5hcnlT
ZW1hcGhvcmUgbV9jb252ZXJzaW9uU2VtYXBob3JlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbgppbmRleCA5M2M1ODVmYzRhMTlmOTU5MjMyNGUyZTc1
Y2ExY2I4NGFjZTMxYTU1Li5hZGE4MjlkOWIxZDNjNmVmMDZhNDc5NTEwNTEwMDQwMTUyNWZlYjZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3IubWVzc2FnZXMuaW4KQEAgLTI2LDYgKzI2LDcgQEAgbWVzc2FnZXMgLT4g
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3NvciB7CiAgICAgU2V0U2hhcmVk
VmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6OlNlbWFwaG9yZSBzZW1hcGhvcmUpCiAgICAgU2V0U2hh
cmVkVmlkZW9GcmFtZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3Jh
Z2VIYW5kbGUpCiAgICAgTmV3VmlkZW9GcmFtZUJ1ZmZlcihXZWJLaXQ6OlJlbW90ZVZpZGVvRnJh
bWVJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpTaGFyZWRWaWRl
b0ZyYW1lOjpCdWZmZXI+IGZyYW1lKQorICAgIE5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIo
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OlNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4gZnJhbWUpCiB9
CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458941</attachid>
            <date>2022-05-06 02:10:46 -0700</date>
            <delta_ts>2022-05-06 02:53:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-240113-20220506111044.patch</filename>
            <type>text/plain</type>
            <size>32923</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MzhlYmUxN2RhMzRi
ZjI4ZjYwMjU4MDU1OGI4MjNlNmFlOTNjZC4uMGVkYzExNTA5NGQ2YTNiYzg5ODlhMDc1ZDc5NTk1
Mjc2ZDYyMzZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTA1LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYXZvaWQgcGl4ZWwgY29uZm9ybWVycyBpZiBJ
T1N1cmZhY2VzIGFyZSBub3QgYWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTEzCisgICAgICAgIHJkYXI6Ly85MjYyOTg0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBjYWxsYmFjayBp
biBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMgdG8gYWxsb3cgdXNlIGEgY3Vz
dG9tIHdheSB0byBjcmVhdGUgYSBOYXRpdmVJbWFnZSBmcm9tIGEgVmlkZW9GcmFtZS4KKyAgICAg
ICAgU21hbGwgcmVmYWN0b3JpbmcgaW4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDViB0byBzaGFyZSBt
b3JlIGNvZGUgd2l0aCBXZWJLaXQuCisgICAgICAgIE1ha2Ugc3VyZSB0aGF0IFNoYXJlZFZpZGVv
RnJhbWVSZWFkZXIvV3JpdGVyIHN1cHBvcnQga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjEw
QmlQbGFuYXJGdWxsUmFuZ2UuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGxhdGZvcm0vY29jb2EvU2hhcmVkVmlkZW9GcmFtZUluZm8ubW06CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2N2L0NWVXRpbGl0aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oOgorCiAyMDIyLTA1LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICByZXBsYWNlVHJhY2sgd2l0
aCBkaWZmZXJlbnQgY29uc3RyYWludHMgc3RvcHMgc2VuZGluZyBwYWNrZXRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDMwNjY4OGQ0NzA4NDM0NWEwOGFkMjM3OTY2OWMzZTJiODEwOWIwMjUuLmY5MDUyY2I1YmM1YjEw
YmQ5OTIwN2ZiZTI3ZWYzMTE4N2E5MzUwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIw
MjItMDUtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFs
bG93IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBhdm9pZCBwaXhlbCBj
b25mb3JtZXJzIGlmIElPU3VyZmFjZXMgYXJlIG5vdCBhbGxvd2VkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAxMTMKKyAgICAgICAgcmRhcjovLzky
NjI5ODQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIElt
cGxlbWVudCBWaWRlb0ZyYW1lIGNvbnZlcnNpb24gdG8gQkdSQSBieSBzZW5kaW5nIElQQyB0byBH
UFVQcm9jZXNzLCB1c2UgcGl4ZWwgY29uZm9ybWVyIGluIEdQVVByb2Nlc3MgYW5kIHNlbmQgYmFj
ayB0aGUgcmVzdWx0cyB0byBXZWJQcm9jZXNzLgorICAgICAgICBUaGlzIGdvZXMgdGhyb3VnaCBS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3Igd2hpY2ggZXhjaGFuZ2VzIHdpdGggUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXAuCisgICAgICAgIE1ha2UgdXNlIG9mIHRoaXMgY29udmVyc2lvbiBjb2RlIHBhdGggZm9y
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBieSBzZXR0aW5nIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBuYXRpdmVJbWFnZUNyZWF0b3IgY2FsbGJhY2su
CisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RI
ZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLm1tOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0Ogor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eVByb2Nlc3Nvci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nl
c3Nvci5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNS0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgU1dPcmlnaW5TdG9yZSBpcyBubyBsb25nZXIgbmVlZGVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZWY0MDZkZjA5MGZiODhjY2MwNzg1NDcyMzE2YWMxOTMwMTY1ZWY3ZC4uZmNlNWM5ZGFiNzYx
MTIwNTUwNDdjMGY0MWVhNTNkODVkZWM0ODVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDYyLDcgKzQ2Miw3IEBACiAJCTE0
RENGM0IzMUI2QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RENGM0IxMUI2
QkUyMDgwMDYyRDRDMyAvKiBKU0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuaCAqLzsgfTsKIAkJ
MTRFODM3OEUwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTgzNzhEMDlGODVENEYwMEI4NUFFNCAvKiBK
U0V2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMTRGRkUzMUQwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRTMxQjBBRTE5
NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxNTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkg
LyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTA1MjRGMDFCNzEyRkYwMDA2OTZBQTkg
LyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggKi87IH07CisJCTE1MDUy
NEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1MDUy
NEYwMUI3MTJGRjAwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkx
NTE0NUI5MDFCM0ExQ0UwMDA2NjJCRjcgLyogTWVkaWFEZXZpY2VJbmZvLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTE0NUI4RjFCM0ExQjNFMDA2NjJC
RjcgLyogTWVkaWFEZXZpY2VJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMTU3MzlCQkIxQjQyMDEyRDAwRDI1OEMxIC8qIEpTTWVkaWFEZXZp
Y2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTcz
OUJCOTFCNDIwMTIyMDBEMjU4QzEgLyogSlNNZWRpYURldmljZXMuaCAqLzsgfTsKIAkJMTU5NzQx
REIxQjdEMTQwMTAwMjAxQzkyIC8qIEpTTWVkaWFEZXZpY2VJbmZvLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTdDQzI2MjFCN0MxQ0E0MDBEOEQwNzUg
LyogSlNNZWRpYURldmljZUluZm8uaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1NoYXJlZFZpZGVvRnJhbWVJbmZvLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2hhcmVkVmlkZW9GcmFtZUluZm8ubW0KaW5kZXggMDEyNmRiYmExODQ1
ZTUyMzViNTgzMTIwZjBmMjE0NGE3YjMyYzY0YS4uNWU5ZjBiZjg5ODllOTZkNGViMWY4NzYwZjc3
NWVmYWJjMGRiY2FjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
U2hhcmVkVmlkZW9GcmFtZUluZm8ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvU2hhcmVkVmlkZW9GcmFtZUluZm8ubW0KQEAgLTUxLDE3ICs1MSwxOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBTaGFyZWRWaWRlb0ZyYW1lSW5mbyBTaGFyZWRWaWRlb0ZyYW1lSW5mbzo6ZnJv
bUNWUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlcikKIHsKICAgICBhdXRv
IHR5cGUgPSBDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKTsKLSAg
ICBpZiAodHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJpUGxhbmFyVmlkZW9S
YW5nZSB8fCB0eXBlID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJGdWxs
UmFuZ2UpCi0gICAgICAgIHJldHVybiB7IHR5cGUsIHN0YXRpY19jYXN0PHVpbnQzMl90PihDVlBp
eGVsQnVmZmVyR2V0V2lkdGhPZlBsYW5lKHBpeGVsQnVmZmVyLCAwKSksIHN0YXRpY19jYXN0PHVp
bnQzMl90PihDVlBpeGVsQnVmZmVyR2V0SGVpZ2h0T2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCkpLCBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93T2ZQbGFuZShw
aXhlbEJ1ZmZlciwgMCkpLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhlbEJ1ZmZlckdldFdp
ZHRoT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMSkpLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhl
bEJ1ZmZlckdldEhlaWdodE9mUGxhbmUocGl4ZWxCdWZmZXIsIDEpKSwgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZmZXIsIDEp
KSB9OwotICAgIHJldHVybiB7IHR5cGUsIHN0YXRpY19jYXN0PHVpbnQzMl90PihDVlBpeGVsQnVm
ZmVyR2V0V2lkdGgocGl4ZWxCdWZmZXIpKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KENWUGl4ZWxC
dWZmZXJHZXRIZWlnaHQocGl4ZWxCdWZmZXIpKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KENWUGl4
ZWxCdWZmZXJHZXRCeXRlc1BlclJvdyhwaXhlbEJ1ZmZlcikpIH07CisgICAgaWYgKHR5cGUgPT0g
a0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkKKyAgICAgICAgcmV0dXJuIHsgdHlwZSwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KENWUGl4ZWxCdWZmZXJHZXRXaWR0aChwaXhlbEJ1ZmZlcikpLCBzdGF0
aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcikpLCBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93KHBpeGVsQnVm
ZmVyKSkgfTsKKyAgICByZXR1cm4geyB0eXBlLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oQ1ZQaXhl
bEJ1ZmZlckdldFdpZHRoT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCkpLCBzdGF0aWNfY2FzdDx1aW50
MzJfdD4oQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodE9mUGxhbmUocGl4ZWxCdWZmZXIsIDApKSwgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4
ZWxCdWZmZXIsIDApKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KENWUGl4ZWxCdWZmZXJHZXRXaWR0
aE9mUGxhbmUocGl4ZWxCdWZmZXIsIDEpKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KENWUGl4ZWxC
dWZmZXJHZXRIZWlnaHRPZlBsYW5lKHBpeGVsQnVmZmVyLCAxKSksIHN0YXRpY19jYXN0PHVpbnQz
Ml90PihDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3dPZlBsYW5lKHBpeGVsQnVmZmVyLCAxKSkg
fTsKIH0KIAogYm9vbCBTaGFyZWRWaWRlb0ZyYW1lSW5mbzo6aXNSZWFkV3JpdGVTdXBwb3J0ZWQo
KSBjb25zdAogewotICAgIHJldHVybiBtX2J1ZmZlclR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBl
XzQyMFlwQ2JDcjhCaVBsYW5hclZpZGVvUmFuZ2UKLSAgICAgICAgfHwgbV9idWZmZXJUeXBlID09
IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEKKyAgICByZXR1cm4gbV9idWZmZXJUeXBlID09IGtD
VlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEKICAgICAgICAgfHwgbV9idWZmZXJUeXBlID09IGtDVlBp
eGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJGdWxsUmFuZ2UKLSAgICAgICAgfHwgbV9i
dWZmZXJUeXBlID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3IxMEJpUGxhbmFyRnVsbFJh
bmdlOworICAgICAgICB8fCBtX2J1ZmZlclR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlw
Q2JDcjhCaVBsYW5hclZpZGVvUmFuZ2UKKyAgICAgICAgfHwgbV9idWZmZXJUeXBlID09IGtDVlBp
eGVsRm9ybWF0VHlwZV80MjBZcENiQ3IxMEJpUGxhbmFyRnVsbFJhbmdlCisgICAgICAgIHx8IG1f
YnVmZmVyVHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyMTBCaVBsYW5hclZpZGVv
UmFuZ2U7CiB9CiAKIHNpemVfdCBTaGFyZWRWaWRlb0ZyYW1lSW5mbzo6c3RvcmFnZVNpemUoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCA5ZjVlMjIwMzA5OTAwMmIzZmVkOGJj
MGZmMzM1NGFlMTUwNzhiNGJmLi5iMWQ1ZGMzYzc4NjIxYmFhMzEyNjc2MWRkOTNhMTc1ZWUxZGNj
ZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtNjMsNiArNjMsOSBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0
cmFyKTsKIAorICAgIHVzaW5nIE5hdGl2ZUltYWdlQ3JlYXRvciA9IFJlZlB0cjxOYXRpdmVJbWFn
ZT4gKCopKGNvbnN0IFZpZGVvRnJhbWUmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBzZXROYXRpdmVJbWFnZUNyZWF0b3IoTmF0aXZlSW1hZ2VDcmVhdG9yJiYpOworCiAgICAgLy8g
TWVkaWFQbGF5ZXIgRmFjdG9yeSBNZXRob2RzCiAgICAgc3RhdGljIGJvb2wgaXNBdmFpbGFibGUo
KTsKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZywgQVND
SUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYgdHlwZXMpOwpAQCAtMjkwLDggKzI5MywxMCBAQCBwcml2
YXRlOgogICAgIFNlY29uZHMgbV9wcmVzZW50YXRpb25UaW1lIHsgMCB9OwogICAgIEZsb2F0U2l6
ZSBtX3ZpZGVvRnJhbWVTaXplOwogICAgIFZpZGVvRnJhbWVUaW1lTWV0YWRhdGEgbV9zYW1wbGVN
ZXRhZGF0YTsKKworICAgIHN0YXRpYyBOYXRpdmVJbWFnZUNyZWF0b3IgbV9uYXRpdmVJbWFnZUNy
ZWF0b3I7CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAm
JiBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDdlZjRh
OTliMDQxYWY1YTQwNmZhMmExNmM1ZDJhNzhlMjdkYTQ1MDYuLjU4Y2E0YjY0YWM3MmM2NTE0YzNl
YmZhYjExNmVmMGY4MTA4ZTI3MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTEy
Nyw2ICsxMjcsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI3ByYWdtYSBtYXJrIC0KICNwcmFn
bWEgbWFyayBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMKIAorTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpOYXRpdmVJbWFnZUNyZWF0b3IgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjptX25hdGl2ZUltYWdlQ3JlYXRvciA9IG51bGxw
dHI7Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2V0TmF0aXZl
SW1hZ2VDcmVhdG9yKE5hdGl2ZUltYWdlQ3JlYXRvciYmIGNhbGxiYWNrKQoreworICAgIG1fbmF0
aXZlSW1hZ2VDcmVhdG9yID0gV1RGTW92ZShjYWxsYmFjayk7Cit9CisKIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCiAgICAgLCBt
X2xvZ2dlcihwbGF5ZXItPm1lZGlhUGxheWVyTG9nZ2VyKCkpCkBAIC05OTYsNiArMTAwMiwxMSBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dXBkYXRlQ3VycmVu
dEZyYW1lSW1hZ2UoKQogICAgIGlmIChtX2ltYWdlUGFpbnRlci5jZ0ltYWdlIHx8ICFtX2ltYWdl
UGFpbnRlci52aWRlb0ZyYW1lKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAobV9uYXRpdmVJ
bWFnZUNyZWF0b3IpIHsKKyAgICAgICAgbV9pbWFnZVBhaW50ZXIuY2dJbWFnZSA9IG1fbmF0aXZl
SW1hZ2VDcmVhdG9yKCptX2ltYWdlUGFpbnRlci52aWRlb0ZyYW1lKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKwogICAgIGlmICghbV9pbWFnZVBhaW50ZXIucGl4ZWxCdWZmZXJDb25mb3JtZXIp
CiAgICAgICAgIG1faW1hZ2VQYWludGVyLnBpeGVsQnVmZmVyQ29uZm9ybWVyID0gbWFrZVVuaXF1
ZTxQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPigoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKUB7IChf
X2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtD
VlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9DVlV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY3YvQ1ZVdGlsaXRpZXMuaAppbmRleCBjMzBkZTFkYzA5MTdhNWJhYjYx
MWYyYmRjNjUwZmQxN2E1MTI3MTVkLi5jN2NkNGE2ZjFiZDAyOTQzY2M5NGIzZDk0YmU5OGI5MDlh
ZDkwZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9D
VlV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0NW
VXRpbGl0aWVzLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgV0VCQ09SRV9FWFBPUlQgRXhwZWN0ZWQ8UmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+LCBDVlJldHVybj4gY3JlYXRlQ1ZQaXhlbEJ1ZmYKIAog
V0VCQ09SRV9FWFBPUlQgRXhwZWN0ZWQ8UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+LCBDVlJl
dHVybj4gY3JlYXRlQ1ZQaXhlbEJ1ZmZlcihJT1N1cmZhY2VSZWYpOwogCi1SZXRhaW5QdHI8Q0dD
b2xvclNwYWNlUmVmPiBjcmVhdGVDR0NvbG9yU3BhY2VGb3JDVlBpeGVsQnVmZmVyKENWUGl4ZWxC
dWZmZXJSZWYpOworV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY3Jl
YXRlQ0dDb2xvclNwYWNlRm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKIAogLy8g
U2hvdWxkIGJlIGNhbGxlZCB3aXRoIG5vbi1lbXB0eSBQcm9jZXNzSWRlbnRpdHkuCiBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5Rm9yQ1ZQaXhlbEJ1ZmZlcihDVlBpeGVs
QnVmZmVyUmVmLCBjb25zdCBQcm9jZXNzSWRlbnRpdHkmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJD
Vi5jcHAKaW5kZXggYjI2Mzc2OTI5NTQxNWQzODAzYjFiMGNiZjRhYWU4ZGYzZjdhODllMS4uYWM1
YjFmYmJkMmQ3MThmOTY2NjBjNDNiOWZmY2U5ZDc4M2VjYmFjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25m
b3JtZXJDVi5jcHAKQEAgLTE0Nyw4ICsxNDcsNiBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4gUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjo6Y29udmVydChDVlBpeGVsQnVmZmVyUmVmIHJhdwog
UmV0YWluUHRyPENHSW1hZ2VSZWY+IFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y6OmNyZWF0ZUltYWdl
RnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYgcmF3QnVmZmVyKQogewogICAgIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiBidWZmZXIgeyByYXdCdWZmZXIgfTsKLSAgICBzaXplX3Qg
d2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgoYnVmZmVyLmdldCgpKTsKLSAgICBzaXplX3Qg
aGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChidWZmZXIuZ2V0KCkpOwogCiAgICAgaWYg
KCFWVFBpeGVsQnVmZmVyQ29uZm9ybWVySXNDb25mb3JtYW50UGl4ZWxCdWZmZXIobV9waXhlbENv
bmZvcm1lci5nZXQoKSwgYnVmZmVyLmdldCgpKSkgewogICAgICAgICBDVlBpeGVsQnVmZmVyUmVm
IG91dHB1dEJ1ZmZlciA9IG51bGxwdHI7CkBAIC0xNTgsNiArMTU2LDE1IEBAIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVhdGVJbWFnZUZyb21QaXhlbEJ1
ZmZlcihDVlBpeGVsCiAgICAgICAgIGJ1ZmZlciA9IGFkb3B0Q0Yob3V0cHV0QnVmZmVyKTsKICAg
ICB9CiAKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBjcmVhdGVDR0NvbG9yU3BhY2VGb3JDVlBpeGVs
QnVmZmVyKHJhd0J1ZmZlcik7CisgICAgcmV0dXJuIGltYWdlRnJvbTMyQkdSQVBpeGVsQnVmZmVy
KFdURk1vdmUoYnVmZmVyKSwgY29sb3JTcGFjZS5nZXQoKSk7Cit9CisKK1JldGFpblB0cjxDR0lt
YWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjppbWFnZUZyb20zMkJHUkFQaXhlbEJ1ZmZl
cihSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIsIENHQ29sb3JTcGFjZVJlZiBj
b2xvclNwYWNlKQoreworICAgIHNpemVfdCB3aWR0aCA9IENWUGl4ZWxCdWZmZXJHZXRXaWR0aChi
dWZmZXIuZ2V0KCkpOworICAgIHNpemVfdCBoZWlnaHQgPSBDVlBpeGVsQnVmZmVyR2V0SGVpZ2h0
KGJ1ZmZlci5nZXQoKSk7CisKICAgICBDR0JpdG1hcEluZm8gYml0bWFwSW5mbyA9IHN0YXRpY19j
YXN0PENHQml0bWFwSW5mbz4oa0NHQml0bWFwQnl0ZU9yZGVyMzJMaXR0bGUpIHwgc3RhdGljX2Nh
c3Q8Q0dCaXRtYXBJbmZvPihrQ0dJbWFnZUFscGhhRmlyc3QpOwogICAgIHNpemVfdCBieXRlc1Bl
clJvdyA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvdyhidWZmZXIuZ2V0KCkpOwogICAgIHNp
emVfdCBieXRlTGVuZ3RoID0gYnl0ZXNQZXJSb3cgKiBoZWlnaHQ7CkBAIC0xNjYsOCArMTczLDYg
QEAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y6OmNyZWF0ZUlt
YWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWwKICAgICBpZiAoIWJ5dGVMZW5ndGgpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBjb2xvclNwYWNlID0gY3JlYXRlQ0dDb2xvclNw
YWNlRm9yQ1ZQaXhlbEJ1ZmZlcihyYXdCdWZmZXIpOwotCiAgICAgQ1ZQaXhlbEJ1ZmZlckluZm8q
IGluZm8gPSBuZXcgQ1ZQaXhlbEJ1ZmZlckluZm8oKTsKICAgICBpbmZvLT5waXhlbEJ1ZmZlciA9
IFdURk1vdmUoYnVmZmVyKTsKICAgICBpbmZvLT5sb2NrQ291bnQgPSAwOwpAQCAtMTc1LDcgKzE4
MCw3IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOjpjcmVh
dGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsCiAgICAgQ0dEYXRhUHJvdmlkZXJEaXJlY3RD
YWxsYmFja3MgcHJvdmlkZXJDYWxsYmFja3MgPSB7IDAsIENWUGl4ZWxCdWZmZXJHZXRCeXRlUG9p
bnRlckNhbGxiYWNrLCBDVlBpeGVsQnVmZmVyUmVsZWFzZUJ5dGVQb2ludGVyQ2FsbGJhY2ssIDAs
IENWUGl4ZWxCdWZmZXJSZWxlYXNlSW5mb0NhbGxiYWNrIH07CiAgICAgUmV0YWluUHRyPENHRGF0
YVByb3ZpZGVyUmVmPiBwcm92aWRlciA9IGFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVEaXJl
Y3QoaW5mbywgYnl0ZUxlbmd0aCwgJnByb3ZpZGVyQ2FsbGJhY2tzKSk7CiAKLSAgICByZXR1cm4g
YWRvcHRDRihDR0ltYWdlQ3JlYXRlKHdpZHRoLCBoZWlnaHQsIDgsIDMyLCBieXRlc1BlclJvdywg
Y29sb3JTcGFjZS5nZXQoKSwgYml0bWFwSW5mbywgcHJvdmlkZXIuZ2V0KCksIG51bGxwdHIsIGZh
bHNlLCBrQ0dSZW5kZXJpbmdJbnRlbnREZWZhdWx0KSk7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIGNvbG9yU3BhY2Us
IGJpdG1hcEluZm8sIHByb3ZpZGVyLmdldCgpLCBudWxscHRyLCBmYWxzZSwga0NHUmVuZGVyaW5n
SW50ZW50RGVmYXVsdCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKaW5kZXggY2M1
NzhjNzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYy4uNmM5ZGYzNTU1N2EyYjQzYjY1
MDkzYmVmOTE0ZTA3ZmRkN2YzNDkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaApAQCAtMjcs
OCArMjcsOSBAQAogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCi10eXBlZGVmIHN0cnVj
dCBPcGFxdWVWVFBpeGVsQnVmZmVyQ29uZm9ybWVyKiBWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVm
OwordHlwZWRlZiBzdHJ1Y3QgQ0dDb2xvclNwYWNlICpDR0NvbG9yU3BhY2VSZWY7CiB0eXBlZGVm
IHN0cnVjdCBDR0ltYWdlKiBDR0ltYWdlUmVmOwordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhl
bEJ1ZmZlckNvbmZvcm1lciogVlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKIHR5cGVkZWYgc3Ry
dWN0IF9fQ1ZCdWZmZXIgKkNWUGl4ZWxCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTM5LDYgKzQwLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFBpeGVsQnVmZmVy
Q29uZm9ybWVyQ1YoQ0ZEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0KENWUGl4ZWxCdWZmZXJSZWYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZy
b21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKKyAgICBzdGF0aWMgV0VCQ09SRV9FWFBP
UlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlRnJvbTMyQkdSQVBpeGVsQnVmZmVyKFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmLCBDR0NvbG9yU3BhY2VSZWYpOwogCiBwcml2YXRlOgog
ICAgIFJldGFpblB0cjxWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAKaW5kZXggNGJhYzliMzY4NTMzZWEwOTcxNTIzZDEz
MjQ3NWZkMjQ0YTMwZjRlZS4uNTY0MWE4NTIxMDQ5NmVjNDRiZGYxZmE2ZGExYzk2ZjU0YjNmMTMy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVv
RnJhbWVPYmplY3RIZWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwCkBAIC0yNywxMiArMjcsMTQgQEAKICNpbmNs
dWRlICJSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oIgogCiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoVklERU8pCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1v
dGVWaWRlb0ZyYW1lUHJveHkuaCIKICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKICNpZiBQ
TEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1Yu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5oPgogI2luY2x1ZGUgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogI2VuZGlmCkBAIC0xMzMsNiArMTM1LDQxIEBAIHZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnBpeGVsQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFk
UmVmZXJlbmNlJiYgcmVhCiAgICAgQVNTRVJUKHBpeGVsQnVmZmVyKTsKICAgICBjb21wbGV0aW9u
SGFuZGxlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSk7CiB9CisKK3ZvaWQgUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXA6OmNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyJiYgYnVm
ZmVyKQoreworICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFkZXIu
cmVhZEJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpOworICAgIGlmICghcGl4ZWxCdWZmZXIpIHsKKyAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcFByb3h5UHJvY2Vzc29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVyIHsgeyB9IH0s
IDApOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY3JlYXRlUGl4ZWxDb25mb3JtZXJJ
Zk5lZWRlZCgpOworICAgIGF1dG8gY29udmVydGVkQnVmZmVyID0gbV9waXhlbEJ1ZmZlckNvbmZv
cm1lci0+Y29udmVydChwaXhlbEJ1ZmZlci5nZXQoKSk7CisgICAgaWYgKCFjb252ZXJ0ZWRCdWZm
ZXIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXA6OmNvbnZlcnRCdWZmZXIgY29uZm9ybWVyIGZhaWxlZCIpOworICAgICAgICBt
X2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJv
eHlQcm9jZXNzb3I6Ok5ld0NvbnZlcnRlZFZpZGVvRnJhbWVCdWZmZXIgeyB7IH0gfSwgMCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBib29sIGNhblNlbmRJT1N1cmZhY2UgPSBmYWxz
ZTsKKyAgICBhdXRvIHJlc3VsdCA9IG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRlci53cml0ZUJ1ZmZl
cihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCksCisgICAgICAgIFsmXShhdXRvJiBzZW1hcGhvcmUpIHsg
bV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5UHJvY2Vzc29yOjpTZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlIHsgc2VtYXBob3JlIH0s
IDApOyB9LAorICAgICAgICBbJl0oYXV0byYgaGFuZGxlKSB7IG1fY29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6U2V0U2hh
cmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhhbmRsZSB9LCAwKTsgfSwKKyAgICAgICAgY2FuU2VuZElP
U3VyZmFjZSk7CisgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpOZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVy
IHsgcmVzdWx0IH0sIDApOworfQorCit2b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpz
ZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlKElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQor
eworICAgIG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5zZXRTZW1hcGhvcmUoV1RGTW92ZShzZW1h
cGhvcmUpKTsKK30KKwordm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6c2V0U2hhcmVk
VmlkZW9GcmFtZU1lbW9yeShjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxl
KQoreworICAgIG1fc2hhcmVkVmlkZW9GcmFtZVJlYWRlci5zZXRTaGFyZWRNZW1vcnkoaXBjSGFu
ZGxlKTsKK30KKwogI2VuZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgKaW5kZXggYzA4YTVh
NGM3N2Y2MDUyMTY2MjdjNTBiMTBhNDExZWYxYWI5MmMwMC4uYzE2MmRjNTZjMDJkNmExMTMxYzc4
ZWUyZDk4OWI0NGE5NzBjYTEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgKQEAgLTM1LDYgKzM1
LDEwIEBACiAjaW5jbHVkZSAiU2hhcmVkVmlkZW9GcmFtZS5oIgogI2VuZGlmCiAKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y7Cit9CisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBIb2xkcyByZWZlcmVuY2VzIHRvIGFsbCBWaWRlb0ZyYW1lIGluc3Rh
bmNlcyB0aGF0IGFyZSBtYXBwZWQgZnJvbSBHUFUgcHJvY2VzcyB0byBXZWIgcHJvY2Vzcy4KQEAg
LTYxLDEyICs2NSwxOSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQg
Z2V0VmlkZW9GcmFtZUJ1ZmZlcihSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBib29s
IGNhblNlbmRJT1N1cmZhY2UpOwogICAgIHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFt
ZVJlYWRSZWZlcmVuY2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4pPiYmKTsKKyAgICB2b2lkIGNvbnZlcnRCdWZmZXIoU2hhcmVkVmlkZW9GcmFt
ZTo6QnVmZmVyJiYpOworICAgIHZvaWQgc2V0U2hhcmVkVmlkZW9GcmFtZVNlbWFwaG9yZShJUEM6
OlNlbWFwaG9yZSYmKTsKKyAgICB2b2lkIHNldFNoYXJlZFZpZGVvRnJhbWVNZW1vcnkoY29uc3Qg
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmKTsKICNlbmRpZgogCisgICAgdm9pZCBjcmVhdGVQaXhl
bENvbmZvcm1lcklmTmVlZGVkKCk7CisKICAgICBjb25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBt
X2Nvbm5lY3Rpb247CiAgICAgVGhyZWFkU2FmZU9iamVjdEhlYXA8UmVtb3RlVmlkZW9GcmFtZUlk
ZW50aWZpZXIsIFJlZlB0cjxXZWJDb3JlOjpWaWRlb0ZyYW1lPj4gbV9oZWFwOwogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFNoYXJlZFZpZGVvRnJhbWVXcml0ZXIgbV9zaGFyZWRWaWRlb0ZyYW1l
V3JpdGVyOworICAgIFNoYXJlZFZpZGVvRnJhbWVSZWFkZXIgbV9zaGFyZWRWaWRlb0ZyYW1lUmVh
ZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
PiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOwogI2VuZGlmCiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsg
ZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KaW5k
ZXggZWI5YTY5NmMyODE5OWIwYzQ2OWViMjBiNDVkYjcyYzIyZjdlMjY3Zi4uNDRkZTFmNTU3NDdi
NmQyYTQ3ZjNjZjRlZjZjYjg0YjVhOGI5ZjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0
SGVhcC5tZXNzYWdlcy5pbgpAQCAtMjYsNiArMjYsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVu
Y2UgcmVhZCwgYm9vbCBjYW5TZW5kSU9TdXJmYWNlKQogICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6
UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiByZXN1bHQpIFN5bmNocm9ub3VzCisgICAgU2V0U2hhcmVkVmlkZW9GcmFtZVNl
bWFwaG9yZShJUEM6OlNlbWFwaG9yZSBzZW1hcGhvcmUpCisgICAgU2V0U2hhcmVkVmlkZW9GcmFt
ZU1lbW9yeShXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUpCisg
ICAgQ29udmVydEJ1ZmZlcihzdHJ1Y3QgV2ViS2l0OjpTaGFyZWRWaWRlb0ZyYW1lOjpCdWZmZXIg
YnVmZmVyKQogI2VuZGlmCiAgICAgUmVsZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRl
b0ZyYW1lV3JpdGVSZWZlcmVuY2Ugd3JpdGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDlkZGUxZDA2ZmZlZmYwY2U3NmFmYThmNGY5MTUzNWYxMjJhOTYwZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tbQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgiCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShWSURFTykgJiYgUExBVEZPUk0oQ09DT0Ep
CisKKyNpbmNsdWRlIDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NvcmVWaWRlb1NvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2
b2lkIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpjcmVhdGVQaXhlbENvbmZvcm1lcklmTmVl
ZGVkKCkKK3sKKyAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpCisgICAgICAgIG1fcGl4
ZWxCdWZmZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OlBpeGVsQnVmZmVyQ29uZm9y
bWVyQ1Y+KChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdlIE5TU3RyaW5nICop
a0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMy
QkdSQSkgfSk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMTdj
MTBmOWY0ZTg4MTRiZTgwOGMwOWMwZGUzZTg1MWQwNDRhNjFiZi4uNmFhZmJjYTIzNjRlMzAxZWU2
M2I1MDNlYzA5YjMyMTQ3MzViMzlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNzMsNiAr
NzMsNyBAQCBHUFVQcm9jZXNzL21hYy9HUFVQcm9jZXNzTWFjLm1tCiBHUFVQcm9jZXNzL21hYy9M
b2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUltYWdlRGVjb2RlckFWRlByb3h5LmNwcAorR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tbQogR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Q29jb2EubW0KIEdQVVByb2Nlc3MvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhl
bHBlclByb3h5LmNwcAogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0g
QG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAxNmE1NjEzZGIzMmU1MDk4NThhMTE5MTljMTM4NWFiMTA3NTdhOWQ1Li44Yzlm
Zjk0MGM0YjMzOGU3M2VkZjk2MmRmZTdhMDkwOGViMjNlMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ0MjAsNiArNDQyMCw3IEBA
CiAJCTQxMDNGQkEyMjA2MUJEQjgwMEMyRUFGOCAvKiBOZXR3b3JrTG9hZENoZWNrZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0xvYWRDaGVja2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQw
IC8qIFJUQ05ldHdvcmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UlRDTmV0d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDQ4MkNDMURE
RDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEwQUQy
RTEyODIzQkQ5RjAwOUM5M0M4IC8qIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEJBMTM5MjU3MTM1RjIwMDJFMkY4QSAvKiBOZXR3b3Jr
UlRDVENQU29ja2V0Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrUlRDVENQ
U29ja2V0Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEJBMTNBMjU3
MTM1RjIwMDJFMkY4QSAvKiBOZXR3b3JrUlRDVENQU29ja2V0Q29jb2EuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTmV0d29ya1JUQ1RDUFNvY2tldENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMEYwRDRCMjcwMUVGRUEwMEY5NkRGQyAvKiBHUFVQcm9jZXNzQ29ubmVjdGlvbkluaXRp
YWxpemF0aW9uUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcm9jZXNzQ29ubmVjdGlv
bkluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNzU5NCw2ICs3NTk1LDcgQEAKIAkJCQk3QjVBM0RBODI3QTdEQ0JDMDA2QzZGOTcgLyogUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwICovLAogCQkJCTdCNUEzREE3MjdBN0RDQkMwMDZD
NkY5NyAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oICovLAogCQkJCTQxM0M1NDIyMjdD
OTBGNEMwMDJGQ0RBOCAvKiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbiAq
LywKKwkJCQk0MTBBRDJFMTI4MjNCRDlGMDA5QzkzQzggLyogUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXAubW0gKi8sCiAJCQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90ZVZpZGVv
VHJhY2tQcm94eS5jcHAgKi8sCiAJCQkJMDcxQkM1ODUyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90
ZVZpZGVvVHJhY2tQcm94eS5oICovLAogCQkJCTA3RTE5RjA1MjNENERDODgwMDk0RkZCNCAvKiBU
ZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbi5oICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXIuY3BwCmluZGV4IGIzNzZlYzhjZWQ0NzUwODAxMDE0NWY1ZjU0NjQxNTQ5Y2RjYWE3
YmQuLjNlMThkNDQzYTQ5ZjZlODdiOTVmY2I5NWM1YmY4M2MzYWRmNWY4NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlci5jcHAKQEAgLTQzLDYgKzQzLDEwIEBACiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBQTEFURk9STShD
T0NPQSkKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQy5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2Ug
UEFMOwpAQCAtMjYzLDYgKzI2Nyw5IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpz
ZXRVc2VHUFVQcm9jZXNzKGJvb2wgdXNlR1BVUHJvY2VzcykKICAgICAgICAgV2ViQ29yZTo6U2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyOjpzZXRDcmVhdG9yKFtdKGF1dG8mIGNsaWVudCkgewogICAg
ICAgICAgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3ND
b25uZWN0aW9uKCkuc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcigpLmNyZWF0ZUxheWVy
KGNsaWVudCk7CiAgICAgICAgIH0pOworICAgICAgICBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakM6OnNldE5hdGl2ZUltYWdlQ3JlYXRvcihbXShhdXRvJiB2aWRl
b0ZyYW1lKSB7CisgICAgICAgICAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5z
dXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS52aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5KCkuZ2V0
TmF0aXZlSW1hZ2UodmlkZW9GcmFtZSk7CisgICAgICAgIH0pOwogICAgIH0KICNlbmRpZgogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXBQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eS5oCmluZGV4IGU3OTQ4YzUyODFh
ZGRjMDU1ZWM3OWZhMDMyYTQ0NzI0NjM2MzU4MTMuLjRlZjk5MGUwNmNhOTA0ODgzNDQxMmNkNmIz
NDM1Yzk2MTNmYzkyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
LmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKGNvbnN0IFJlbW90ZVZpZGVvRnJhbWVQcm94eSYgcHJv
eHksIGJvb2wgY2FuVXNlSU9TdXJmYWNlLCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
UHJvY2Vzc29yOjpDYWxsYmFjayYmIGNhbGxiYWNrKSB7IG1fcHJvY2Vzc29yLT5nZXRWaWRlb0Zy
YW1lQnVmZmVyKHByb3h5LCBjYW5Vc2VJT1N1cmZhY2UsIFdURk1vdmUoY2FsbGJhY2spKTsgfQor
ICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gZ2V0TmF0aXZlSW1hZ2UoY29uc3QgV2Vi
Q29yZTo6VmlkZW9GcmFtZSYgZnJhbWUpICB7IHJldHVybiBtX3Byb2Nlc3Nvci0+Z2V0TmF0aXZl
SW1hZ2UoZnJhbWUpOyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJv
eHlQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHAKaW5kZXggYzg3MjQ2YWM3
MGZlZmFiYzFkYjkzNGQ2ZTAyMmNhODkzNWZlZTgyYS4uZmJhMDYwNjQ0NzY3ZTk3ZDViNzc3Yzlk
YmE4MzAwYzBmNzI2ZDZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXBQcm94eVByb2Nlc3Nvci5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJS
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlVmlk
ZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVt
b3RlVmlkZW9GcmFtZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC0xMTksNiArMTIxLDMzIEBAIHZvaWQgUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6Z2V0VmlkZW9GcmFtZUJ1ZmZlcihjb25zdCBSZW1vdGVW
CiAgICAgSVBDOjpDb25uZWN0aW9uOjpzZW5kKG1fY29ubmVjdGlvbklELCBNZXNzYWdlczo6UmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OkdldFZpZGVvRnJhbWVCdWZmZXIoZnJhbWUubmV3UmVh
ZFJlZmVyZW5jZSgpLCBjYW5Vc2VJT1N1cmZhY2UpLCAwLCBJUEM6OlNlbmRPcHRpb246OkRpc3Bh
dGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7CiB9CiAKK3ZvaWQgUmVtb3Rl
VmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvcjo6bmV3Q29udmVydGVkVmlkZW9GcmFt
ZUJ1ZmZlcihzdGQ6Om9wdGlvbmFsPFNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4mJiBidWZmZXIp
Cit7CisgICAgQVNTRVJUKCFtX2NvbnZlcnRlZEJ1ZmZlcik7CisgICAgaWYgKGJ1ZmZlcikKKyAg
ICAgICAgbV9jb252ZXJ0ZWRCdWZmZXIgPSBtX3NoYXJlZFZpZGVvRnJhbWVSZWFkZXIucmVhZEJ1
ZmZlcihXVEZNb3ZlKCpidWZmZXIpKTsKKyAgICBtX2NvbnZlcnNpb25TZW1hcGhvcmUuc2lnbmFs
KCk7Cit9CisKK1JlZlB0cjxOYXRpdmVJbWFnZT4gUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvcjo6Z2V0TmF0aXZlSW1hZ2UoY29uc3QgV2ViQ29yZTo6VmlkZW9GcmFtZSYg
dmlkZW9GcmFtZSkKK3sKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7CisKKyAgICBh
dXRvIG5hdGl2ZVBpeGVsQnVmZmVyID0gdmlkZW9GcmFtZS5waXhlbEJ1ZmZlcigpOworICAgIGF1
dG8gY29sb3JTcGFjZSA9IGNyZWF0ZUNHQ29sb3JTcGFjZUZvckNWUGl4ZWxCdWZmZXIobmF0aXZl
UGl4ZWxCdWZmZXIpOworICAgIGF1dG8gYnVmZmVyID0gbV9zaGFyZWRWaWRlb0ZyYW1lV3JpdGVy
LndyaXRlQnVmZmVyKG5hdGl2ZVBpeGVsQnVmZmVyLAorICAgICAgICBbJl0oYXV0byYgc2VtYXBo
b3JlKSB7IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXA6OlNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUgeyBzZW1hcGhvcmUgfSwgMCk7IH0sCisg
ICAgICAgIFsmXShhdXRvJiBoYW5kbGUpIHsgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6U2V0U2hhcmVkVmlkZW9GcmFtZU1lbW9yeSB7IGhhbmRs
ZSB9LCAwKTsgfSk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
CisgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cDo6Q29udmVydEJ1ZmZlciB7IFdURk1vdmUoKmJ1ZmZlcikgfSwgMCk7CisgICAgbV9jb252ZXJz
aW9uU2VtYXBob3JlLndhaXQoKTsKKworICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKG1f
Y29udmVydGVkQnVmZmVyKTsKKyAgICByZXR1cm4gcGl4ZWxCdWZmZXIgPyBOYXRpdmVJbWFnZTo6
Y3JlYXRlKFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y6OmltYWdlRnJvbTMyQkdSQVBpeGVsQnVmZmVy
KFdURk1vdmUocGl4ZWxCdWZmZXIpLCBjb2xvclNwYWNlLmdldCgpKSkgOiBudWxscHRyOworfQor
CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eVByb2Nlc3Nvci5oCmluZGV4IDZiZjM0YjY1ZmM2MWZjODYyNThkZmM1Zjg1YzhlOGMyZDUy
OGMwZjYuLmI1MTRiOGFjY2I2NWQ2MWZmYzViMjczNjRiMDkyOGVkZGY1YjlhY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmgKQEAg
LTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9M
b2NrLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRz
L0JpbmFyeVNlbWFwaG9yZS5oPgogCiB1c2luZyBDVlBpeGVsQnVmZmVyUG9vbFJlZiA9IHN0cnVj
dCBfX0NWUGl4ZWxCdWZmZXJQb29sKjsKIApAQCAtNDUsNiArNDYsMTEgQEAgY2xhc3MgQ29ubmVj
dGlvbjsKIGNsYXNzIERlY29kZXI7CiB9CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE5h
dGl2ZUltYWdlOworY2xhc3MgVmlkZW9GcmFtZTsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFJlbW90ZVZpZGVvRnJhbWVQcm94eTsKQEAgLTU2LDYgKzYyLDcgQEAgcHVibGljOgog
CiAgICAgdXNpbmcgQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiYmKT47CiAgICAgdm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKGNvbnN0IFJlbW90ZVZp
ZGVvRnJhbWVQcm94eSYsIGJvb2wgY2FuVXNlSU9TdXJmY2UsIENhbGxiYWNrJiYpOworICAgIFJl
ZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gZ2V0TmF0aXZlSW1hZ2UoY29uc3QgV2ViQ29yZTo6
VmlkZW9GcmFtZSYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHlQcm9jZXNzb3IoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKTsKQEAgLTY2LDYg
KzczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNoYXJlZFZpZGVvRnJhbWVTZW1hcGhvcmUo
SVBDOjpTZW1hcGhvcmUmJik7CiAgICAgdm9pZCBzZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5KGNv
bnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJik7CiAgICAgdm9pZCBuZXdWaWRlb0ZyYW1lQnVm
ZmVyKFJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFNoYXJlZFZpZGVv
RnJhbWU6OkJ1ZmZlcj4mJik7CisgICAgdm9pZCBuZXdDb252ZXJ0ZWRWaWRlb0ZyYW1lQnVmZmVy
KHN0ZDo6b3B0aW9uYWw8U2hhcmVkVmlkZW9GcmFtZTo6QnVmZmVyPiYmKTsKIAogICAgIC8vIEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQKICAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9u
RGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKTsKQEAgLTgwLDYgKzg4LDEwIEBAIHByaXZh
dGU6CiAgICAgSGFzaE1hcDxSZW1vdGVWaWRlb0ZyYW1lSWRlbnRpZmllciwgQ2FsbGJhY2s+IG1f
Y2FsbGJhY2tzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jYWxsYmFja3NMb2NrKTsKICAgICBSZWY8
V29ya1F1ZXVlPiBtX3F1ZXVlOwogICAgIFNoYXJlZFZpZGVvRnJhbWVSZWFkZXIgbV9zaGFyZWRW
aWRlb0ZyYW1lUmVhZGVyOworCisgICAgU2hhcmVkVmlkZW9GcmFtZVdyaXRlciBtX3NoYXJlZFZp
ZGVvRnJhbWVXcml0ZXI7CisgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fY29udmVy
dGVkQnVmZmVyOworICAgIEJpbmFyeVNlbWFwaG9yZSBtX2NvbnZlcnNpb25TZW1hcGhvcmU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNz
b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9SZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLm1lc3NhZ2VzLmluCmluZGV4IDkz
YzU4NWZjNGExOWY5NTkyMzI0ZTJlNzVjYTFjYjg0YWNlMzFhNTUuLmFkYTgyOWQ5YjFkM2M2ZWYw
NmE0Nzk1MTA1MTAwNDAxNTI1ZmViNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3Iu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nvci5tZXNzYWdlcy5pbgpAQCAtMjYs
NiArMjYsNyBAQCBtZXNzYWdlcyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJv
Y2Vzc29yIHsKICAgICBTZXRTaGFyZWRWaWRlb0ZyYW1lU2VtYXBob3JlKElQQzo6U2VtYXBob3Jl
IHNlbWFwaG9yZSkKICAgICBTZXRTaGFyZWRWaWRlb0ZyYW1lTWVtb3J5KFdlYktpdDo6U2hhcmVk
TWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRsZSkKICAgICBOZXdWaWRlb0ZyYW1lQnVmZmVy
KFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZUlkZW50aWZpZXIgaWRlbnRpZmllciwgc3RkOjpvcHRp
b25hbDxXZWJLaXQ6OlNoYXJlZFZpZGVvRnJhbWU6OkJ1ZmZlcj4gZnJhbWUpCisgICAgTmV3Q29u
dmVydGVkVmlkZW9GcmFtZUJ1ZmZlcihzdGQ6Om9wdGlvbmFsPFdlYktpdDo6U2hhcmVkVmlkZW9G
cmFtZTo6QnVmZmVyPiBmcmFtZSkKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>