<?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>95565</bug_id>
          
          <creation_ts>2012-08-31 06:29:12 -0700</creation_ts>
          <short_desc>MediaStream API: Add Ice-related functionality to RTCPeerConnection</short_desc>
          <delta_ts>2012-09-03 09:07:51 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709568</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 06:29:12 -0700</bug_when>
    <thetext>Contains the entire slice of functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709578</commentid>
    <comment_count>1</comment_count>
      <attachid>161688</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 06:40:38 -0700</bug_when>
    <thetext>Created attachment 161688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709579</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 06:43:16 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710180</commentid>
    <comment_count>3</comment_count>
      <attachid>161688</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-01 00:42:53 -0700</bug_when>
    <thetext>Comment on attachment 161688
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl:30
&gt; +       readonly attribute RTCIceCandidate candidate;

Bad indent.  I think we have this in a bunch of event interfaces.

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:149
&gt; +void RTCPeerConnection::addIceCandidate(PassRefPtr&lt;RTCIceCandidate&gt; prpIceCandidate, ExceptionCode&amp; ec)

It&apos;s not clear to me why this function need to take a reference to the RTCIceCandidate

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:190
&gt; +        return &quot;new&quot;;

ASCIILiteral</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710193</commentid>
    <comment_count>4</comment_count>
      <attachid>161688</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 01:05:24 -0700</bug_when>
    <thetext>Comment on attachment 161688
Patch

Rejecting attachment 161688 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 134927 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
50&gt;At revision 134927.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13713530</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710195</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-01 01:09:45 -0700</bug_when>
    <thetext>Hunk #1 FAILED at 44.
1 out of 1 hunk FAILED -- saving rejects to file Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h.rej</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710531</commentid>
    <comment_count>6</comment_count>
      <attachid>161688</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-09-03 03:53:07 -0700</bug_when>
    <thetext>Comment on attachment 161688
Patch

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

&gt;&gt; Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl:30
&gt;&gt; +       readonly attribute RTCIceCandidate candidate;
&gt; 
&gt; Bad indent.  I think we have this in a bunch of event interfaces.

Fixed.

&gt;&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:149
&gt;&gt; +void RTCPeerConnection::addIceCandidate(PassRefPtr&lt;RTCIceCandidate&gt; prpIceCandidate, ExceptionCode&amp; ec)
&gt; 
&gt; It&apos;s not clear to me why this function need to take a reference to the RTCIceCandidate

You are right. Fixed.

&gt;&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:190
&gt;&gt; +        return &quot;new&quot;;
&gt; 
&gt; ASCIILiteral

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710533</commentid>
    <comment_count>7</comment_count>
      <attachid>161894</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-09-03 03:57:49 -0700</bug_when>
    <thetext>Created attachment 161894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710555</commentid>
    <comment_count>8</comment_count>
      <attachid>161894</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 05:17:12 -0700</bug_when>
    <thetext>Comment on attachment 161894
Patch

Attachment 161894 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13753046

New failing tests:
http/tests/cache/subresource-expiration-1.html
http/tests/cache/stopped-revalidation.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710565</commentid>
    <comment_count>9</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-09-03 05:33:13 -0700</bug_when>
    <thetext>cr-linux LayoutTest failure is unrelated to my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710677</commentid>
    <comment_count>10</comment_count>
      <attachid>161894</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-03 08:40:51 -0700</bug_when>
    <thetext>Comment on attachment 161894
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:186
&gt; -    return &quot;&quot;;
&gt; +    return ASCIILiteral(&quot;&quot;);

You don&apos;t actually need this here.  The benefit of ASCIILiteral is that it avoid a strlen, a malloc, and a memcpy, none of which happen for the empty string.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710687</commentid>
    <comment_count>11</comment_count>
      <attachid>161894</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 09:07:46 -0700</bug_when>
    <thetext>Comment on attachment 161894
Patch

Clearing flags on attachment: 161894

Committed r127425: &lt;http://trac.webkit.org/changeset/127425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710688</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 09:07:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161688</attachid>
            <date>2012-08-31 06:40:38 -0700</date>
            <delta_ts>2012-09-03 03:57:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95565-20120831154025.patch</filename>
            <type>text/plain</type>
            <size>53151</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxMGI5Y2U2NzU1ZmI5
ODYxMWFhZWJhOTdkOGVlODI3YzRkZDM4YzQ3Li44NTZkOWJmZTY0ZTBkMTNiNzM3ZWRhMDljZDE4
NzczOTM2YjVjZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0zMSAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxh
dGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViUlRDSUNFQ2FuZGlkYXRl
RGVzY3JpcHRvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRv
cik6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OldlYlJU
Q0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5k
aWRhdGVEZXNjcmlwdG9yOjp+V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6Om9wZXJhdG9yPSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OmlzTnVsbCk6CisgICAg
ICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6Cisg
ICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudCk6CisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmVydCBXZWJDb21wb3NpdG9yU3VwcG9y
dCB0byByYXcgcHRycywgbWFrZSBkdG9yIHByb3RlY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJlODZkMzdi
YTg4NzQ0YjZlZjBjZjc5YzIwNzI1ZDVkMjA2MmE4MTMuLjE4YjFjNmIzZTVkOGEyMGYwYzM1YWMw
YzQzMmY3OTM1YWIwMjk1YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBAQAorMjAxMi0wOC0z
MSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRp
YVN0cmVhbSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25u
ZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NTU2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZHMgYWxsIEljZS1yZWxhdGVkIGZ1bmN0aW9uYWxpdHkgdG8gUlRDUGVlckNvbm5lY3Rpb24sIGlu
Y2x1ZGluZworICAgICAgICBldmVudHMsIGNhbGxiYWNrcyBhbmQgbWV0aG9kcy4KKworICAgICAg
ICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1sCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlk
YXRlRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENJY2VDYW5kaWRhdGVFdmVu
dDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlk
YXRlRXZlbnQ6On5SVENJY2VDYW5kaWRhdGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VDYW5kaWRhdGVFdmVudDo6Y2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNh
bmRpZGF0ZUV2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChSVENJY2VDYW5kaWRhdGVFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRD
UGVlckNvbm5lY3Rpb246OlJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1BlZXJDb25uZWN0aW9uOjp1cGRhdGVJY2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6YWRkSWNlQ2FuZGlkYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjppY2VTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENQZWVyQ29ubmVjdGlvbjo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNv
bm5lY3Rpb246OmRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1BlZXJDb25uZWN0aW9uOjpkaWRDaGFuZ2VJY2VTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpS
VENQZWVyQ29ubmVjdGlvbjo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVj
dGlvbjo6Y2hhbmdlSWNlU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbDoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3N1cHBvcnQvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHA6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OldlYlJUQ0lDRUNhbmRpZGF0
ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlw
dG9yOjphc3NpZ24pOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlw
dG9yOjpyZXNldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0
b3I6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNj
cmlwdG9yOjpvcGVyYXRvciBQYXNzUmVmUHRyPFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2Ny
aXB0b3I+KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6
Y2FuZGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRv
cjo6c2RwTWlkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRv
cjo6c2RwTUxpbmVJbmRleCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNl
Q2FuZGlkYXRlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRl
RGVzY3JpcHRvcjo6Y2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0
ZURlc2NyaXB0b3I6OnNkcE1pZCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJY2VDYW5kaWRhdGVE
ZXNjcmlwdG9yOjpzZHBNTGluZUluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJv
bWl1bTo6dXBkYXRlSWNlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZEljZUNhbmRpZGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkR2VuZXJh
dGVJQ0VDYW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyQ2hyb21pdW06OmRpZENoYW5nZUlDRVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVt
KToKKwogMjAxMi0wOC0zMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW5kZXIgcGF0aCB0byBmaWxlIGFuZCBsaW5lIG51
bWJlciBhcyBzdWJ0aXRsZXMgaW4gc2VsZWN0b3IgZGlhbG9nLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCA2NDFlMDU5YWQyOTc2MTY3YWNjZDAzNDNiYTU2NjczNjRiNGFhYjBiLi5hZDdk
MzkzMjlhNzUwZmExY2UxZDk1MGJhZjk5Y2M1ZjA3ZGY0NWNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA4LTMxICBUb21teSBXaWRlbmZseWNodCAg
PHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogQWRkIEljZS1y
ZWxhdGVkIGZ1bmN0aW9uYWxpdHkgdG8gUlRDUGVlckNvbm5lY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTY1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHA6CisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmVydCBXZWJDb21wb3NpdG9yU3VwcG9ydCB0byBy
YXcgcHRycywgbWFrZSBkdG9yIHByb3RlY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3Jt
L1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCA3NmEx
Yjg5YzEwMjQ5OGJmZGMyNDgxZDdhNjg2ZjhmYmMzMzIwMGI3Li42ZDBjMWQ4NWRlYjNhNzY3OTgz
MjlhZjkyOGQzYTkyODJlOGJkMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZv
cm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpAQCAtMTA0LDYgKzEw
NCw3IEBACiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlByaXZhdGVPd25QdHIuaCcs
CiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlByaXZhdGVQdHIuaCcsCiAgICAgICAg
ICAgICAnY2hyb21pdW0vcHVibGljL1dlYlJUQ0NvbmZpZ3VyYXRpb24uaCcsCisgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IuaCcsCiAgICAg
ICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSZWN0LmgnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJSVENJQ0VDYW5kaWRh
dGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ0lD
RUNhbmRpZGF0ZURlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDk3YzEzNWUwZTBiNjEyYTIwODli
ZTQzYjExMzRjMjI0YThlMmIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcl9oCisjZGVmaW5lIFdlYlJU
Q0lDRUNhbmRpZGF0ZURlc2NyaXB0b3JfaAorCisjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5j
bHVkZSAiV2ViUHJpdmF0ZVB0ci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSVENJ
Y2VDYW5kaWRhdGVEZXNjcmlwdG9yOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
V2ViU3RyaW5nOworCitjbGFzcyBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yIHsKK3B1Ymxp
YzoKKyAgICBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yKCkgeyB9CisgICAgV2ViUlRDSUNF
Q2FuZGlkYXRlRGVzY3JpcHRvcihjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJiBv
dGhlcikgeyBhc3NpZ24ob3RoZXIpOyB9CisgICAgfldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0
b3IoKSB7IHJlc2V0KCk7IH0KKworICAgIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3ImIG9w
ZXJhdG9yPShjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJiBvdGhlcikKKyAgICB7
CisgICAgICAgIGFzc2lnbihvdGhlcik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisK
KyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduKGNvbnN0IFdlYlJUQ0lDRUNhbmRpZGF0ZURl
c2NyaXB0b3ImKTsKKworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBpbml0aWFsaXplKGNvbnN0IFdl
YlN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBXZWJTdHJpbmcmIHNkcE1pZCwgdW5zaWduZWQgc2hv
cnQgc2RwTUxpbmVJbmRleCk7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHJlc2V0KCk7CisgICAg
Ym9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGUuaXNOdWxsKCk7IH0KKworICAg
IFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGNhbmRpZGF0ZSgpIGNvbnN0OworICAgIFdFQktJVF9F
WFBPUlQgV2ViU3RyaW5nIHNkcE1pZCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgdW5zaWdu
ZWQgc2hvcnQgc2RwTUxpbmVJbmRleCgpIGNvbnN0OworCisjaWYgV0VCS0lUX0lNUExFTUVOVEFU
SU9OCisgICAgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcihXZWJDb3JlOjpSVENJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yKik7CisgICAgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcihXVEY6
OlBhc3NSZWZQdHI8V2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4pOworCisgICAg
b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0
b3I+KCkgY29uc3Q7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBXZWJQcml2YXRlUHRyPFdlYkNv
cmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+IG1fcHJpdmF0ZTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcl9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAppbmRleCBkNmUxOGRiMzA2NjRkNzRmYTA1NjEzMWFm
NGI5MzQ4ZTU0NTM4YmMzLi5mMWIzMzc1ZTQ0ZjViNmE5MjE2NWM4ZWM1NmM2MjkwODM1YTAyNGNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTM0LDYgKzM0LDcgQEAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgV2ViTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIFdlYlJUQ0NvbmZp
Z3VyYXRpb247CitjbGFzcyBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOwogY2xhc3MgV2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OwogCiBjbGFzcyBXZWJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXIgewpAQCAtNDEsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlh
bGl6ZShjb25zdCBXZWJSVENDb25maWd1cmF0aW9uJiwgY29uc3QgV2ViTWVkaWFDb25zdHJhaW50
cyYpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlSUNFKGNvbnN0IFdlYlJUQ0NvbmZpZ3Vy
YXRpb24mLCBjb25zdCBXZWJNZWRpYUNvbnN0cmFpbnRzJikgPSAwOworICAgIHZpcnR1YWwgYm9v
bCBhZGRJQ0VDYW5kaWRhdGUoY29uc3QgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudC5oCmluZGV4IGMzOTBhMDQ1NWZhZDkxM2NiNTUzNzJjMmJiZTgxNWVh
ZDE5YWFlYTIuLjYwZGI0MjE5M2Q0ODllNzMzNzI5ZWI3MGMxNmRiNGE5Y2JkNWE4MmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaApAQCAtMzIsNiArMzIsNyBAQAogI2Rl
ZmluZSBXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnRfaAogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKK2NsYXNzIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I7CiAKIGNsYXNzIFdlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCB7CiBwdWJsaWM6CkBAIC00Myw5ICs0NCwyMiBA
QCBwdWJsaWM6CiAgICAgICAgIFJlYWR5U3RhdGVDbG9zZWQgPSA1CiAgICAgfTsKIAorICAgIGVu
dW0gSUNFU3RhdGUgeworICAgICAgICBJQ0VTdGF0ZU5ldyA9IDEsCisgICAgICAgIElDRVN0YXRl
R2F0aGVyaW5nID0gMiwKKyAgICAgICAgSUNFU3RhdGVXYWl0aW5nID0gMywKKyAgICAgICAgSUNF
U3RhdGVDaGVja2luZyA9IDQsCisgICAgICAgIElDRVN0YXRlQ29ubmVjdGVkID0gNSwKKyAgICAg
ICAgSUNFU3RhdGVDb21wbGV0ZWQgPSA2LAorICAgICAgICBJQ0VTdGF0ZUZhaWxlZCA9IDcsCisg
ICAgICAgIElDRVN0YXRlQ2xvc2VkID0gOAorICAgIH07CisKICAgICB2aXJ0dWFsIH5XZWJSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkaWRH
ZW5lcmF0ZUlDRUNhbmRpZGF0ZShjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlSUNFU3RhdGUoSUNFU3RhdGUpID0gMDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMTEzYjNm
MDBlYTAxMmMxYzJkNzFlN2IzYmNkNDFmM2ZjNmM1MWRlLi41NzlmMmNlMGQzNmQxMzFmYTU0OWI5
ZTkwMmU2ZWRlZTRlZTVkMTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjIzLDYgKzIyMyw3
IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb24wMC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRp
ZGF0ZS5pZGwKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50Lmlk
bAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCiAgICAgTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAgICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsCkBAIC04NTUsNiArODU2LDcgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFT
dHJlYW0uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmNwcAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmNwcAorICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nl
c3Npb25EZXNjcmlwdGlvbi5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNj
cmlwdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDgwYzYzNmZlYjIy
ZDBkMTU2NGNhYTI3OGI3MGZkZDUyOTBhNmJjOTIuLmI3MThiYjBkMDE1MzcyOGM2N2ZkZjExYmIw
Yzg4MzQxMDkxYmZhZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNjI5LDYg
KzYyOSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JHQkNvbG9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENJY2VDYW5k
aWRhdGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDSWNlQ2FuZGlkYXRlLmgg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENJY2VDYW5kaWRhdGVFdmVudC5jcHAgXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENJY2VDYW5kaWRhdGVFdmVudC5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUGVlckNvbm5lY3Rpb24uY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUlRDUGVlckNvbm5lY3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgXApAQCAtMTIyNCw2ICsxMjI2LDcgQEAg
ZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsIFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCkBAIC0xOTE5LDYgKzE5
MjIsOCBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmggXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAgXAorCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q1ZjNmYWE0NWU0ZTBh
NjQ0YmFkZjg5ZjNhZTg2ZTAyNDVkZDZlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwCkBAIC0wLDAg
KzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJSVENJY2VDYW5kaWRhdGVFdmVudC5oIgorCisj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIlJUQ0ljZUNhbmRpZGF0ZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRXZlbnQ+IFJU
Q0ljZUNhbmRpZGF0ZUV2ZW50OjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
UlRDSWNlQ2FuZGlkYXRlRXZlbnQpOworfQorCitQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZUV2
ZW50PiBSVENJY2VDYW5kaWRhdGVFdmVudDo6Y3JlYXRlKGJvb2wgY2FuQnViYmxlLCBib29sIGNh
bmNlbGFibGUsIFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlPiBjYW5kaWRhdGUpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBSVENJY2VDYW5kaWRhdGVFdmVudChjYW5CdWJibGUsIGNhbmNl
bGFibGUsIGNhbmRpZGF0ZSkpOworfQorCitSVENJY2VDYW5kaWRhdGVFdmVudDo6UlRDSWNlQ2Fu
ZGlkYXRlRXZlbnQoKQoreworfQorCitSVENJY2VDYW5kaWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlk
YXRlRXZlbnQoYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJ
Y2VDYW5kaWRhdGU+IGNhbmRpZGF0ZSkKKyAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5pY2VjYW5k
aWRhdGVFdmVudCwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQorICAgICwgbV9jYW5kaWRhdGUoY2Fu
ZGlkYXRlKQoreworfQorCitSVENJY2VDYW5kaWRhdGVFdmVudDo6flJUQ0ljZUNhbmRpZGF0ZUV2
ZW50KCkKK3sKK30KKworUlRDSWNlQ2FuZGlkYXRlKiBSVENJY2VDYW5kaWRhdGVFdmVudDo6Y2Fu
ZGlkYXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jYW5kaWRhdGUuZ2V0KCk7Cit9CisKK2Nv
bnN0IEF0b21pY1N0cmluZyYgUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBj
b25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yUlRDSWNlQ2FuZGlk
YXRlRXZlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzQ4MTUzMTYx
ZDY5NjY4OGQ1NDA1ZDFmMjRmZGQyY2VkNjZmODFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5oCkBAIC0w
LDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUlRDSWNlQ2FuZGlkYXRlRXZlbnRf
aAorI2RlZmluZSBSVENJY2VDYW5kaWRhdGVFdmVudF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUlRDSWNlQ2FuZGlkYXRlOworCitj
bGFzcyBSVENJY2VDYW5kaWRhdGVFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+UlRDSWNlQ2FuZGlkYXRlRXZlbnQoKTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFJUQ0ljZUNhbmRpZGF0ZUV2ZW50PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxS
VENJY2VDYW5kaWRhdGVFdmVudD4gY3JlYXRlKGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFi
bGUsIFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlPik7CisKKyAgICBSVENJY2VDYW5kaWRhdGUq
IGNhbmRpZGF0ZSgpIGNvbnN0OworCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGlu
dGVyZmFjZU5hbWUoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBSVENJY2VDYW5kaWRhdGVFdmVu
dCgpOworICAgIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50KGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlPik7CisKKyAgICBSZWZQdHI8UlRDSWNl
Q2FuZGlkYXRlPiBtX2NhbmRpZGF0ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBSVENJY2VDYW5kaWRh
dGVFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5MzYzMjdkZGNkMGZj
OWUxMWQ2ZjIxNjk3NTI2YjZmMWM4ZTJjYzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmlkbApAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgZXZlbnRzIHsKKworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICBdIFJUQ0ljZUNhbmRp
ZGF0ZUV2ZW50IDogRXZlbnQgeworICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENJY2VDYW5k
aWRhdGUgY2FuZGlkYXRlOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZWMxZTMx
YWU5MzZmNDU3ZDM1NTllZGQ4M2Y4MzdiNzMwN2RiMGY2NS4uOWU4ZTBjMTE5ZjMyOTQxNTU4MDUz
NmVmYzIzNDY3YTJiNzBhZGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKQEAgLTM5LDYgKzM5LDkgQEAK
ICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50c0lt
cGwuaCIKICNpbmNsdWRlICJSVENDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiUlRDSWNlQ2Fu
ZGlkYXRlLmgiCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oIgorI2luY2x1
ZGUgIlJUQ0ljZUNhbmRpZGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMTIsNiArMTE1LDcgQEAgUGFzc1Jl
ZlB0cjxSVENQZWVyQ29ubmVjdGlvbj4gUlRDUGVlckNvbm5lY3Rpb246OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KgogUlRDUGVlckNvbm5lY3Rpb246OlJUQ1BlZXJDb25uZWN0aW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlv
bj4gY29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50
cywgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhp
cykKICAgICAsIG1fcmVhZHlTdGF0ZShSZWFkeVN0YXRlTmV3KQorICAgICwgbV9pY2VTdGF0ZShJ
Y2VTdGF0ZUNsb3NlZCkKIHsKICAgICBtX3BlZXJIYW5kbGVyID0gUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX3BlZXJIYW5kbGVyIHx8ICFtX3BlZXJI
YW5kbGVyLT5pbml0aWFsaXplKGNvbmZpZ3VyYXRpb24sIGNvbnN0cmFpbnRzKSkKQEAgLTEyMiw2
ICsxMjYsNDQgQEAgUlRDUGVlckNvbm5lY3Rpb246On5SVENQZWVyQ29ubmVjdGlvbigpCiB7CiB9
CiAKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnVwZGF0ZUljZShjb25zdCBEaWN0aW9uYXJ5JiBy
dGNDb25maWd1cmF0aW9uLCBjb25zdCBEaWN0aW9uYXJ5JiBtZWRpYUNvbnN0cmFpbnRzLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IFJlYWR5U3RhdGVDbG9z
aW5nIHx8IG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBSZWZQdHI8
UlRDQ29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IHBhcnNlQ29uZmlndXJhdGlvbihydGND
b25maWd1cmF0aW9uLCBlYyk7CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm47CisKKyAgICBS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzSW1w
bDo6Y3JlYXRlKG1lZGlhQ29uc3RyYWludHMsIGVjKTsKKyAgICBpZiAoZWMpCisgICAgICAgIHJl
dHVybjsKKworICAgIGJvb2wgdmFsaWQgPSBtX3BlZXJIYW5kbGVyLT51cGRhdGVJY2UoY29uZmln
dXJhdGlvbiwgY29uc3RyYWludHMpOworICAgIGlmICghdmFsaWQpCisgICAgICAgIGVjID0gU1lO
VEFYX0VSUjsKK30KKwordm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6YWRkSWNlQ2FuZGlkYXRlKFBh
c3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlPiBwcnBJY2VDYW5kaWRhdGUsIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NpbmcgfHwgbV9y
ZWFkeVN0YXRlID09IFJlYWR5U3RhdGVDbG9zZWQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlZlB0cjxSVENJY2VDYW5k
aWRhdGU+IGljZUNhbmRpZGF0ZSA9IHBycEljZUNhbmRpZGF0ZTsKKyAgICBpZiAoIWljZUNhbmRp
ZGF0ZSkgeworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgYm9vbCB2YWxpZCA9IG1fcGVlckhhbmRsZXItPmFkZEljZUNhbmRpZGF0
ZShpY2VDYW5kaWRhdGUtPmRlc2NyaXB0b3IoKSk7CisgICAgaWYgKCF2YWxpZCkKKyAgICAgICAg
ZWMgPSBTWU5UQVhfRVJSOworfQorCiBTdHJpbmcgUlRDUGVlckNvbm5lY3Rpb246OnJlYWR5U3Rh
dGUoKSBjb25zdAogewogICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7CkBAIC0xNDEsNiArMTgz
LDMxIEBAIFN0cmluZyBSVENQZWVyQ29ubmVjdGlvbjo6cmVhZHlTdGF0ZSgpIGNvbnN0CiAgICAg
cmV0dXJuICIiOwogfQogCitTdHJpbmcgUlRDUGVlckNvbm5lY3Rpb246OmljZVN0YXRlKCkgY29u
c3QKK3sKKyAgICBzd2l0Y2ggKG1faWNlU3RhdGUpIHsKKyAgICBjYXNlIEljZVN0YXRlTmV3Ogor
ICAgICAgICByZXR1cm4gIm5ldyI7CisgICAgY2FzZSBJY2VTdGF0ZUdhdGhlcmluZzoKKyAgICAg
ICAgcmV0dXJuICJnYXRoZXJpbmciOworICAgIGNhc2UgSWNlU3RhdGVXYWl0aW5nOgorICAgICAg
ICByZXR1cm4gIndhaXRpbmciOworICAgIGNhc2UgSWNlU3RhdGVDaGVja2luZzoKKyAgICAgICAg
cmV0dXJuICJjaGVja2luZyI7CisgICAgY2FzZSBJY2VTdGF0ZUNvbm5lY3RlZDoKKyAgICAgICAg
cmV0dXJuICJjb25uZWN0ZWQiOworICAgIGNhc2UgSWNlU3RhdGVDb21wbGV0ZWQ6CisgICAgICAg
IHJldHVybiAiY29tcGxldGVkIjsKKyAgICBjYXNlIEljZVN0YXRlRmFpbGVkOgorICAgICAgICBy
ZXR1cm4gImZhaWxlZCI7CisgICAgY2FzZSBJY2VTdGF0ZUNsb3NlZDoKKyAgICAgICAgcmV0dXJu
ICJjbG9zZWQiOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biAiIjsKK30KKwogdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6Y2xvc2UoRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3Jl
YWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkgewpAQCAtMTQ4LDE2ICsyMTUsMzQgQEAgdm9p
ZCBSVENQZWVyQ29ubmVjdGlvbjo6Y2xvc2UoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyAgICBjaGFuZ2VJY2VTdGF0ZShJY2VTdGF0ZUNsb3NlZCk7CiAgICAg
Y2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0YXRlQ2xvc2VkKTsKICAgICBzdG9wKCk7CiB9CiAKK3Zv
aWQgUlRDUGVlckNvbm5lY3Rpb246OmRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRlKFBhc3NSZWZQdHI8
UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4gaWNlQ2FuZGlkYXRlRGVzY3JpcHRvcikKK3sKKyAg
ICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Cisg
ICAgaWYgKCFpY2VDYW5kaWRhdGVEZXNjcmlwdG9yKQorICAgICAgICBkaXNwYXRjaEV2ZW50KFJU
Q0ljZUNhbmRpZGF0ZUV2ZW50OjpjcmVhdGUoZmFsc2UsIGZhbHNlLCAwKSk7CisgICAgZWxzZSB7
CisgICAgICAgIFJlZlB0cjxSVENJY2VDYW5kaWRhdGU+IGljZUNhbmRpZGF0ZSA9IFJUQ0ljZUNh
bmRpZGF0ZTo6Y3JlYXRlKGljZUNhbmRpZGF0ZURlc2NyaXB0b3IpOworICAgICAgICBkaXNwYXRj
aEV2ZW50KFJUQ0ljZUNhbmRpZGF0ZUV2ZW50OjpjcmVhdGUoZmFsc2UsIGZhbHNlLCBpY2VDYW5k
aWRhdGUucmVsZWFzZSgpKSk7CisgICAgfQorfQorCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpk
aWRDaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUgbmV3U3RhdGUpCiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOwogICAgIGNoYW5nZVJl
YWR5U3RhdGUobmV3U3RhdGUpOwogfQogCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpkaWRDaGFu
Z2VJY2VTdGF0ZShJY2VTdGF0ZSBuZXdTdGF0ZSkKK3sKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7CisgICAgY2hhbmdlSWNlU3RhdGUobmV3
U3RhdGUpOworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIFJUQ1BlZXJDb25uZWN0aW9uOjppbnRl
cmZhY2VOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZv
clJUQ1BlZXJDb25uZWN0aW9uOwpAQCAtMTcwLDYgKzI1NSw3IEBAIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIFJUQ1BlZXJDb25uZWN0aW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QK
IAogdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6c3RvcCgpCiB7CisgICAgbV9pY2VTdGF0ZSA9IElj
ZVN0YXRlQ2xvc2VkOwogICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGVDbG9zZWQ7CiAKICAg
ICBpZiAobV9wZWVySGFuZGxlcikgewpAQCAtMjEyLDYgKzI5OCwxNSBAQCB2b2lkIFJUQ1BlZXJD
b25uZWN0aW9uOjpjaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKICAgICBk
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQs
IGZhbHNlLCBmYWxzZSkpOwogfQogCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpjaGFuZ2VJY2VT
dGF0ZShJY2VTdGF0ZSBpY2VTdGF0ZSkKK3sKKyAgICBpZiAoaWNlU3RhdGUgPT0gbV9pY2VTdGF0
ZSB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9pY2VTdGF0ZSA9IGljZVN0YXRlOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuaWNlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5oCmluZGV4IGM4MjA5ZDBhNjczNGU0YjMyMTRlODJjMWE3OGYwZjkwODA3N2E2ZTgu
Ljk4MWVhYmY2OTUzODIyMzY0ZDM4ZWYwNzA4ZjAwNWZhNmJmZGZjNGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgK
QEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmgiCisjaW5jbHVkZSAiUlRDSWNl
Q2FuZGlkYXRlLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgiCiAjaW5j
bHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KQEAgLTUzLDEzICs1NCwyMyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgcmVh
ZHlTdGF0ZSgpIGNvbnN0OwogCisgICAgdm9pZCB1cGRhdGVJY2UoY29uc3QgRGljdGlvbmFyeSYg
cnRjQ29uZmlndXJhdGlvbiwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhj
ZXB0aW9uQ29kZSYpOworCisgICAgdm9pZCBhZGRJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJ
Y2VDYW5kaWRhdGU+LCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBTdHJpbmcgaWNlU3RhdGUoKSBj
b25zdDsKKwogICAgIHZvaWQgY2xvc2UoRXhjZXB0aW9uQ29kZSYpOwogCisgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihpY2VjYW5kaWRhdGUpOwogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIob3Blbik7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihzdGF0ZWNoYW5nZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihp
Y2VjaGFuZ2UpOwogCiAgICAgLy8gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50CisgICAg
dmlydHVhbCB2b2lkIGRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRlKFBhc3NSZWZQdHI8UlRDSWNlQ2Fu
ZGlkYXRlRGVzY3JpcHRvcj4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VS
ZWFkeVN0YXRlKFJlYWR5U3RhdGUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VJY2VTdGF0ZShJY2VTdGF0ZSkgT1ZFUlJJREU7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAg
IHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJ
REU7CkBAIC04NCw4ICs5NSwxMCBAQCBwcml2YXRlOgogICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2
ZW50VGFyZ2V0RGF0YTsKIAogICAgIHZvaWQgY2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0YXRlKTsK
KyAgICB2b2lkIGNoYW5nZUljZVN0YXRlKEljZVN0YXRlKTsKIAogICAgIFJlYWR5U3RhdGUgbV9y
ZWFkeVN0YXRlOworICAgIEljZVN0YXRlIG1faWNlU3RhdGU7CiAKICAgICBPd25QdHI8UlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyPiBtX3BlZXJIYW5kbGVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKaW5k
ZXggOTAxM2YzNTk0Y2M3Y2VjYjA5ODBmMTM4NDg2MjQ4ZDcxN2UyOTNiZi4uM2Q5OWNmZmY2ZmI1
NjY2OGExN2M3MTM0ZWYzNDY3OGRjNWYzZmE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTMzLDE4
ICszMywyOCBAQCBtb2R1bGUgbWVkaWFzdHJlYW0gewogICAgIGludGVyZmFjZSBbCiAgICAgICAg
IENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAotICAg
ICAgICBDb25zdHJ1Y3RvcihpbiBEaWN0aW9uYXJ5IHJ0Y0lDRVNlcnZlcnMsIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cyksCisgICAg
ICAgIENvbnN0cnVjdG9yKGluIERpY3Rpb25hcnkgcnRjSWNlU2VydmVycywgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKSwKICAgICAg
ICAgQ29uc3RydWN0b3JSYWlzZXNFeGNlcHRpb24sCiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBSVENQZWVyQ29ubmVj
dGlvbiB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVhZHlTdGF0ZTsK
IAorICAgICAgICB2b2lkIHVwZGF0ZUljZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBEaWN0aW9uYXJ5IGNvbmZpZ3VyYXRpb24sIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKKyAgICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOworCisgICAgICAgIHZvaWQgYWRkSWNlQ2FuZGlkYXRlKGluIFJUQ0ljZUNhbmRp
ZGF0ZSBjYW5kaWRhdGUpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGljZVN0YXRlOworCiAgICAgICAgIHZv
aWQgY2xvc2UoKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25pY2VjYW5kaWRhdGU7CiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ub3BlbjsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25zdGF0ZWNoYW5nZTsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25pY2VjaGFu
Z2U7CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgICAgIHZvaWQgYWRk
RXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjMzBk
OGZiYTMzZTZjYjc1NzcyMmIyYWZlZGY3NzVhNTBmMDM1MTIwLi5iNDU1YzRjMzEzYzY5ZjE5MTA1
NDgzNTQ3Y2RlMTRiZTJlNWY4OTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04NjMsNiArODYzLDcg
QEAKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
SWNlQ2FuZGlkYXRlLmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJ
Y2VDYW5kaWRhdGVFdmVudC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCcsCkBAIC0xNjA1LDYgKzE2MDYsOCBAQAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5oJywKICAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5jcHAnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmgnLAorICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmgnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwJywKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCcs
CkBAIC04MzM2LDYgKzgzMzksNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL3N1
cHBvcnQvV2ViTWVkaWFTdHJlYW1Tb3VyY2VzUmVxdWVzdC5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViUHJlcmVuZGVyLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJSVENDb25maWd1cmF0aW9uLmNwcCcsCisgICAg
ICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJSVENJQ0VDYW5kaWRhdGVEZXNj
cmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5TmF0aXZlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Y2hyb21pdW0vc3VwcG9ydC9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5TmF0aXZlLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViU2Nyb2xsYmFySW1wbC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggYTJmYWVjMTI4MzRiYmE4NDg4Yzc0ZmZmM2Rh
ZDg1MTU4MGY2MDkzOS4uZGM5NjQ1MDE0NjI5MTMzNmViM2VhZGYxMzM5ZGU4YjRkZWMwNGMxYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0yMjcsNiArMjI3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKHJlbW92ZXRyYWNrKSBcCiAgICAgbWFjcm8obXV0ZSkgXAogICAg
IG1hY3JvKHVubXV0ZSkgXAorICAgIG1hY3JvKGljZWNoYW5nZSkgXAorICAgIG1hY3JvKGljZWNh
bmRpZGF0ZSkgXAogICAgIFwKICAgICBtYWNybyhzaG93KSBcCiAgICAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5pbgppbmRleCAyMmFhYTdiMDcwYzRiYjQyYjE0MmUxMWJkYzliMzc5YjU3YzQ1ZjUy
Li45ZTllMGM4NjMwN2FkMDBlYzg2N2E4YmE2NzY0MGUwZmEwNTAwZTVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbgpAQCAtMzEsNiArMzEsNyBAQCBBdWRpb1Byb2Nlc3NpbmdFdmVudCBjb25k
aXRpb25hbD1XRUJfQVVESU8KIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudCBjb25kaXRpb25h
bD1XRUJfQVVESU8KIE1lZGlhU3RyZWFtRXZlbnQgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBN
ZWRpYVN0cmVhbVRyYWNrRXZlbnQgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCitSVENJY2VDYW5k
aWRhdGVFdmVudCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIFNwZWVjaElucHV0RXZlbnQgY29u
ZGl0aW9uYWw9SU5QVVRfU1BFRUNICiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yIGNvbmRpdGlvbmFs
PVNDUklQVEVEX1NQRUVDSAogU3BlZWNoUmVjb2duaXRpb25FdmVudCBjb25kaXRpb25hbD1TQ1JJ
UFRFRF9TUEVFQ0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3Iu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcyMjRiMWQ3Yjc5MTg2Y2UwMDFlMGE4ZmRkMDA1NDM4OWY5NDhhY2YK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBw
b3J0L1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8
cHVibGljL1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IuaD4KKworI2luY2x1ZGUgIlJUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUlRD
SUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcihSVENJ
Y2VDYW5kaWRhdGVEZXNjcmlwdG9yKiBpY2VDYW5kaWRhdGUpCisgICAgOiBtX3ByaXZhdGUoaWNl
Q2FuZGlkYXRlKQoreworfQorCitXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjpXZWJSVENJ
Q0VDYW5kaWRhdGVEZXNjcmlwdG9yKFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRv
cj4gaWNlQ2FuZGlkYXRlKQorICAgIDogbV9wcml2YXRlKGljZUNhbmRpZGF0ZSkKK3sKK30KKwor
dm9pZCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjphc3NpZ24oY29uc3QgV2ViUlRDSUNF
Q2FuZGlkYXRlRGVzY3JpcHRvciYgb3RoZXIpCit7CisgICAgbV9wcml2YXRlID0gb3RoZXIubV9w
cml2YXRlOworfQorCit2b2lkIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OnJlc2V0KCkK
K3sKKyAgICBtX3ByaXZhdGUucmVzZXQoKTsKK30KKwordm9pZCBXZWJSVENJQ0VDYW5kaWRhdGVE
ZXNjcmlwdG9yOjppbml0aWFsaXplKGNvbnN0IFdlYlN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBX
ZWJTdHJpbmcmIHNkcE1pZCwgdW5zaWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCkKK3sKKyAgICBt
X3ByaXZhdGUgPSBSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOjpjcmVhdGUoY2FuZGlkYXRlLCBz
ZHBNaWQsIHNkcE1MaW5lSW5kZXgpOworfQorCitXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9y
OjpvcGVyYXRvciBQYXNzUmVmUHRyPFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLmdldCgpOworfQorCitXZWJTdHJpbmcg
V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6Y2FuZGlkYXRlKCkgY29uc3QKK3sKKyAgICBB
U1NFUlQoIW1fcHJpdmF0ZS5pc051bGwoKSk7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y2FuZGlk
YXRlKCk7Cit9CisKK1dlYlN0cmluZyBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjpzZHBN
aWQoKSBjb25zdAoreworICAgIEFTU0VSVCghbV9wcml2YXRlLmlzTnVsbCgpKTsKKyAgICByZXR1
cm4gbV9wcml2YXRlLT5zZHBNaWQoKTsKK30KKwordW5zaWduZWQgc2hvcnQgV2ViUlRDSUNFQ2Fu
ZGlkYXRlRGVzY3JpcHRvcjo6c2RwTUxpbmVJbmRleCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFt
X3ByaXZhdGUuaXNOdWxsKCkpOworICAgIHJldHVybiBtX3ByaXZhdGUtPnNkcE1MaW5lSW5kZXgo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmgKaW5kZXggYjVhZjFlNDMyYzNm
Y2RmN2RhNjI3YmQ1M2I4YTg1YjI2MWUyOTJiMS4uZjUxMjNhM2ZjMzAwNzhkNmRhODliMWMwNTNm
ODliYmQwZmNkMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuaApAQCAtNDQsOSAr
NDQsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVz
Y3JpcHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBTdHJpbmcmIHNk
cE1pZCwgdW5zaWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCk7CiAgICAgdmlydHVhbCB+UlRDSWNl
Q2FuZGlkYXRlRGVzY3JpcHRvcigpOwogCi0gICAgY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUoKSB7
IHJldHVybiBtX2NhbmRpZGF0ZTsgfQotICAgIGNvbnN0IFN0cmluZyYgc2RwTWlkKCkgeyByZXR1
cm4gbV9zZHBNaWQ7IH0KLSAgICB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4KCkgeyByZXR1
cm4gbV9zZHBNTGluZUluZGV4OyB9CisgICAgY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUoKSBjb25z
dCB7IHJldHVybiBtX2NhbmRpZGF0ZTsgfQorICAgIGNvbnN0IFN0cmluZyYgc2RwTWlkKCkgY29u
c3QgeyByZXR1cm4gbV9zZHBNaWQ7IH0KKyAgICB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4
KCkgY29uc3QgeyByZXR1cm4gbV9zZHBNTGluZUluZGV4OyB9CiAKIHByaXZhdGU6CiAgICAgUlRD
SWNlQ2FuZGlkYXRlRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29uc3QgU3Ry
aW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlci5jcHAKaW5kZXggMDU4YWExODY3NDc0NGNkMTk4YmY2YzNiOTZkNDM5MjU5
ZmJhOGU1My4uYTVhMjlmNTYwY2UxZGFmNTcxZThhMGYxZDdiZjAyNjU1YjkwOWRjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCkBAIC00Nyw2ICs0Nyw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teSgpOwogCiAgICAgdmlydHVh
bCBib29sIGluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHVwZGF0ZUlj
ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgYWRkSWNlQ2FuZGlkYXRlKFBhc3NSZWZQ
dHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBzdG9wKCkgT1ZFUlJJREU7CiAKIHByaXZhdGU6CkBAIC03Myw2ICs3NSwxNiBAQCBib29sIFJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckR1bW15Ojppbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29u
ZmlndXJhdGlvbj4sIFBhcwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJEdW1teTo6dXBkYXRlSWNlKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlv
bj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckR1bW15OjphZGRJY2VDYW5kaWRhdGUo
UGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXk6OnN0b3AoKQogewog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAppbmRleCA3NTU4ZjJlMTZhNWE3ZTA3ZGI3M2Iz
OGVjY2ZkYzliZGNhYzFjNTVkLi5hYjAzZTdjOTQ1YTQzMmI2NjIxOWI1ZGEzY2M4NjFkZDNkOTUy
NzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApAQCAtNDAsNiArNDAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhQ29uc3RyYWludHM7CiBjbGFzcyBSVENDb25m
aWd1cmF0aW9uOworY2xhc3MgUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcjsKIGNsYXNzIFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDsKIAogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyIHsKQEAgLTQ4LDYgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgflJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlcigpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoUGFzc1Jl
ZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgPSAw
OworICAgIHZpcnR1YWwgYm9vbCB1cGRhdGVJY2UoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9u
PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBh
ZGRJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgPSAwOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCmluZGV4IGY5NjBiODc4N2ZmZDljOTc3ZTY0MDYz
MjQzMjUwZDIzNTQ4ZGM4MGQuLmUxNmY5ZDA1NzNlYjJmNzhlNDQzNjM2MGZlZGM2NDYzMzJiMWI5
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCkBAIC0zNSw2ICsz
NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUlRDSWNlQ2FuZGlkYXRlRGVz
Y3JpcHRvcjsKKwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50IHsKIHB1Ymxp
YzoKICAgICBlbnVtIFJlYWR5U3RhdGUgewpAQCAtNDUsOSArNDcsMjIgQEAgcHVibGljOgogICAg
ICAgICBSZWFkeVN0YXRlQ2xvc2VkID0gNQogICAgIH07CiAKKyAgICBlbnVtIEljZVN0YXRlIHsK
KyAgICAgICAgSWNlU3RhdGVOZXcgPSAxLAorICAgICAgICBJY2VTdGF0ZUdhdGhlcmluZyA9IDIs
CisgICAgICAgIEljZVN0YXRlV2FpdGluZyA9IDMsCisgICAgICAgIEljZVN0YXRlQ2hlY2tpbmcg
PSA0LAorICAgICAgICBJY2VTdGF0ZUNvbm5lY3RlZCA9IDUsCisgICAgICAgIEljZVN0YXRlQ29t
cGxldGVkID0gNiwKKyAgICAgICAgSWNlU3RhdGVGYWlsZWQgPSA3LAorICAgICAgICBJY2VTdGF0
ZUNsb3NlZCA9IDgKKyAgICB9OworCiAgICAgdmlydHVhbCB+UlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyQ2xpZW50KCkgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VDYW5kaWRh
dGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlSWNlU3RhdGUoSWNlU3RhdGUpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNocm9taXVtLmNwcAppbmRleCBkMmNkNTQ1MjcwZDY5NGE0ODUyMzNkOWM0YmExMmNl
NWJmMmUyMDgyLi4yNThlMzEwNTNjMDBmMjE3ZmRhYTQ1NWUyN2JlNTM0YTllY2M2ZjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21p
dW0uY3BwCkBAIC0zNiwxMCArMzYsMTIgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMu
aCIKICNpbmNsdWRlICJSVENDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dC5oIgogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJN
ZWRpYUNvbnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ0NvbmZpZ3VyYXRpb24u
aD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY1LDYg
KzY3LDIyIEBAIGJvb2wgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmluaXRpYWxp
emUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiBjCiAgICAgcmV0dXJuIG1fd2ViSGFuZGxl
ciA/IG1fd2ViSGFuZGxlci0+aW5pdGlhbGl6ZShjb25maWd1cmF0aW9uLCBjb25zdHJhaW50cykg
OiBmYWxzZTsKIH0KIAorYm9vbCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6dXBk
YXRlSWNlKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiwgUGFzc1Jl
ZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cykKK3sKKyAgICBpZiAoIW1fd2ViSGFu
ZGxlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fd2ViSGFuZGxlci0+
dXBkYXRlSUNFKGNvbmZpZ3VyYXRpb24sIGNvbnN0cmFpbnRzKTsKK30KKworYm9vbCBSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6YWRkSWNlQ2FuZGlkYXRlKFBhc3NSZWZQdHI8UlRD
SWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4gaWNlQ2FuZGlkYXRlKQoreworICAgIGlmICghbV93ZWJI
YW5kbGVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV93ZWJIYW5kbGVy
LT5hZGRJQ0VDYW5kaWRhdGUoaWNlQ2FuZGlkYXRlKTsKK30KKwogdm9pZCBSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bTo6c3RvcCgpCiB7CiAgICAgaWYgKCFtX3dlYkhhbmRsZXIpCkBA
IC03MywxMSArOTEsMjEgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6
c3RvcCgpCiAgICAgbV93ZWJIYW5kbGVyLT5zdG9wKCk7CiB9CiAKK3ZvaWQgUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2hyb21pdW06OmRpZEdlbmVyYXRlSUNFQ2FuZGlkYXRlKGNvbnN0IFdlYktp
dDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciYgaWNlQ2FuZGlkYXRlKQoreworICAgIG1f
Y2xpZW50LT5kaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShpY2VDYW5kaWRhdGUpOworfQorCiB2b2lk
IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtOjpkaWRDaGFuZ2VSZWFkeVN0YXRlKFdl
YktpdDo6V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpSZWFkeVN0YXRlIHN0YXRl
KQogewogICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VSZWFkeVN0YXRlKHN0YXRpY19jYXN0PFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZT4oc3RhdGUpKTsKIH0KIAordm9p
ZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkQ2hhbmdlSUNFU3RhdGUoV2Vi
S2l0OjpXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0YXRlIHN0YXRlKQor
eworICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VJY2VTdGF0ZShzdGF0aWNfY2FzdDxSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQ6OkljZVN0YXRlPihzdGF0ZSkpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmgKaW5kZXgg
NjlmYzI0ZDMzNWVkMDJhOTUwY2MwYTY3MTA5YzdiNjViZjZhNmUxMC4uOTNjNzRjY2NjODE5NGJl
YTJkOWY2ZGQ5NjA2MmRkYjJhNmYxNzFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21p
dW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oCkBAIC0zOSw2ICszOSwxMCBAQAogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCituYW1l
c3BhY2UgV2ViS2l0IHsKK2NsYXNzIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I7Cit9CisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hy
b21pdW0gOiBwdWJsaWMgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLCBwdWJsaWMgV2ViS2l0OjpX
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQgewpAQCAtNDcsMTAgKzUxLDE0IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bSgpOwog
CiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9u
PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBi
b29sIHVwZGF0ZUljZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1l
ZGlhQ29uc3RyYWludHM+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgYWRkSWNlQ2FuZGlk
YXRlKFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4pIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAKICAgICAvLyBXZWJLaXQ6OldlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgZGlkR2VuZXJhdGVJQ0VDYW5kaWRhdGUoY29uc3QgV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRh
dGVEZXNjcmlwdG9yJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVJlYWR5
U3RhdGUoV2ViS2l0OjpXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5U3Rh
dGUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VJQ0VTdGF0ZShXZWJLaXQ6
OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6SUNFU3RhdGUpIE9WRVJSSURFOwog
CiBwcml2YXRlOgogICAgIE93blB0cjxXZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
cj4gbV93ZWJIYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA4ZWYzZmUyZDJjYmJkODkyN2E2MjdiMGY0NzY1MTg0
ZTlmYTE1OWIzLi4wMzg1OTA2NTljMzM3NTY4ZWUyMjhjMzI5NjIzNTRhOTJlNDQzYmUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cApAQCAtNjAyLDYgKzYwMiwxNSBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZU9wZW5pbgogQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJl
YWR5U3RhdGVBY3RpdmUsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0
ZUFjdGl2ZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NpbmcpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVDbG9zZWQs
IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NlZCk7CisKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50OjpJQ0VTdGF0ZU5ldywgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0
ZU5ldyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudDo6SUNFU3RhdGVHYXRoZXJpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudDo6SWNlU3RhdGVHYXRoZXJpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0YXRlV2FpdGluZywgUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0ZVdhaXRpbmcpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklD
RVN0YXRlQ2hlY2tpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6SWNlU3RhdGVD
aGVja2luZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6SUNFU3RhdGVDb25uZWN0ZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudDo6SWNlU3RhdGVDb25uZWN0ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0YXRlQ29tcGxldGVk
LCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OkljZVN0YXRlQ29tcGxldGVkKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50OjpJQ0VTdGF0ZUZhaWxlZCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VT
dGF0ZUZhaWxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNsaWVudDo6SUNFU3RhdGVDbG9zZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudDo6SWNlU3RhdGVDbG9zZWQpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0NSSVBU
RURfU1BFRUNIKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDY3ODY1YmEzZjExY2E1ZmUwODE1NDAyOTNjYTNlZGU3OTExZDE0MTAuLjIxYTE5MDY1
YzU2MjYwNzJjMWJhYzZlNmE2NGI3ODUwYjZkZTA2NmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wOC0zMSAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6
CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpNb2NrV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyKToKKyAgICAgICAgKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXI6OnVwZGF0ZUlDRSk6CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjphZGRJQ0VDYW5kaWRhdGUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKE1vY2tXZWJSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIpOgorCiAyMDEyLTA4LTMwICBYaWFuemh1IFdhbmcgIDx3YW5n
eGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLUFuZHJvaWRdIFNraXAg
Y29tcG9zaXRpbmcvd2ViZ2wgYW5kIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvdGhyZWFkZWQv
Y29tcG9zaXRpbmcvd2ViZ2wgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAK
aW5kZXggNjBiNjkwNGFhM2E4Y2ZmNzA5ZmVkYmU4ZDU2Y2I2OTJiOTliNzZmZC4uNzg0MGRmNjAy
ZTE0YzM5MTQwNDcwODc0ZDNjNGQwZWMyNTBlMDg5MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
IE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6Ok1vY2tXZWJSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIoV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBjbGllbnQpCisgICAg
OiBtX2NsaWVudChjbGllbnQpCiB7CiB9CiAKQEAgLTg1LDYgKzg2LDE4IEBAIGJvb2wgTW9ja1dl
YlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW5pdGlhbGl6ZShjb25zdCBXZWJSVENDb25maWd1
cmF0aW9uJiwgY29uCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgTW9ja1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcjo6dXBkYXRlSUNFKGNvbnN0IFdlYlJUQ0NvbmZpZ3VyYXRpb24mLCBj
b25zdCBXZWJNZWRpYUNvbnN0cmFpbnRzJikKK3sKKyAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlSUNF
U3RhdGUoV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJQ0VTdGF0ZUdhdGhlcmlu
Zyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlcjo6YWRkSUNFQ2FuZGlkYXRlKGNvbnN0IFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0
b3ImIGljZUNhbmRpZGF0ZSkKK3sKKyAgICBtX2NsaWVudC0+ZGlkR2VuZXJhdGVJQ0VDYW5kaWRh
dGUoaWNlQ2FuZGlkYXRlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBNb2NrV2ViUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzdG9wKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIuaAppbmRleCAwMTYyYmRiODUwYzMwNjYzZWM2NWQzMzcwNGFhY2U5ZWQ0ODhhMDE3Li4z
NDdmODQ1N2MxM2UzZDhhZTY4OTcxODI4ODFkNTkwZDk1YTQyY2ZhIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlci5oCkBAIC00NCwxMCArNDQsMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBib29sIGluaXRpYWxpemUoY29uc3QgV2ViS2l0OjpXZWJSVENDb25maWd1cmF0aW9uJiwgY29u
c3QgV2ViS2l0OjpXZWJNZWRpYUNvbnN0cmFpbnRzJikgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFs
IGJvb2wgdXBkYXRlSUNFKGNvbnN0IFdlYktpdDo6V2ViUlRDQ29uZmlndXJhdGlvbiYsIGNvbnN0
IFdlYktpdDo6V2ViTWVkaWFDb25zdHJhaW50cyYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9v
bCBhZGRJQ0VDYW5kaWRhdGUoY29uc3QgV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlw
dG9yJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVSUklERTsKIAogcHJp
dmF0ZToKICAgICBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKCkgeyB9CisKKyAgICBX
ZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogbV9jbGllbnQ7CiB9Owog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMzc4OTFjNGI1MDBhMWJl
ZTk4NTE3ZGJkOGU2Yjg2MGY3ZjU3Nzc1Li4wOGU0ZmM0YTAwY2UwY2M3OTg1YjY4MjkzZTkzNzM5
ZDc5YTM0YTViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDgtMzEgIFRvbW15IFdpZGVu
Zmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBB
ZGQgSWNlLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSB0byBSVENQZWVyQ29ubmVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1NjUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24taWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2UuaHRtbDogQWRkZWQuCisKIDIw
MTItMDgtMzEgIEFuZHJleSBBZGFpa2luICA8YWFuZHJleUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW1F0XSBOZXcgaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2Vz
Lmh0bWwgdGltZXMgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLWljZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDc0YTczOTFjNDY3NmJiYjQ2NjZiZTJkMjUwYmJkZmZjOTE1YjlhOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0cyB0aGUgUlRDUGVlckNvbm5lY3Rpb24g
SWNlIGZ1bmN0aW9uYWxpdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKG51bGwsIG51bGwpOyBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1Mgb25JY2VDaGFuZ2Ugd2FzIGNhbGxlZC4KK1BBU1MgcGMuaWNl
U3RhdGUgaXMgImdhdGhlcmluZyIKK1BBU1Mgb25JY2VDYW5kaWRhdGUgd2FzIGNhbGxlZC4KK1BB
U1MgZXZlbnQuY2FuZGlkYXRlLmNhbmRpZGF0ZSBpcyAibmFubyBuYW5vIgorUEFTUyBvbkljZUNo
YW5nZTIgd2FzIGNhbGxlZC4KK1BBU1MgcGMuaWNlU3RhdGUgaXMgImNsb3NlZCIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42ZmQxMmQ3M2QwYTljNDgwMjQ5NDg1YTdiZTNlMjk3ZDcxNTJmZGI5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1pY2UuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIFJUQ1BlZXJDb25uZWN0aW9uIEljZSBmdW5j
dGlvbmFsaXR5LiIpOworCit2YXIgcGMgPSBudWxsOworCitmdW5jdGlvbiBvbkljZUNoYW5nZTIo
KQoreworICAgIHRlc3RQYXNzZWQoIm9uSWNlQ2hhbmdlMiB3YXMgY2FsbGVkLiIpOworICAgIHNo
b3VsZEJlKCdwYy5pY2VTdGF0ZScsICciY2xvc2VkIicpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9CisKK2Z1bmN0aW9uIG9uSWNlQ2FuZGlkYXRlKGV2ZW50KQoreworICAgIHRlc3RQYXNzZWQo
Im9uSWNlQ2FuZGlkYXRlIHdhcyBjYWxsZWQuIik7CisgICAgc2hvdWxkQmUoJ2V2ZW50LmNhbmRp
ZGF0ZS5jYW5kaWRhdGUnLCAnIm5hbm8gbmFubyInKTsKKworICAgIHBjLm9uaWNlY2hhbmdlID0g
b25JY2VDaGFuZ2UyOworICAgIHBjLmNsb3NlKCk7Cit9CisKK2Z1bmN0aW9uIG9uSWNlQ2hhbmdl
MSgpCit7CisgICAgdGVzdFBhc3NlZCgib25JY2VDaGFuZ2Ugd2FzIGNhbGxlZC4iKTsKKyAgICBz
aG91bGRCZSgncGMuaWNlU3RhdGUnLCAnImdhdGhlcmluZyInKTsKKworICAgIHBjLm9uaWNlY2Fu
ZGlkYXRlID0gb25JY2VDYW5kaWRhdGU7CisgICAgcGMuYWRkSWNlQ2FuZGlkYXRlKG5ldyBSVENJ
Y2VDYW5kaWRhdGUoe2NhbmRpZGF0ZToibmFubyBuYW5vIn0pKTsKK30KKworc2hvdWxkTm90VGhy
b3coJ3BjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKG51bGwsIG51bGwpOycpOworcGMu
b25pY2VjaGFuZ2UgPSBvbkljZUNoYW5nZTE7CitwYy51cGRhdGVJY2UoKTsKKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161894</attachid>
            <date>2012-09-03 03:57:49 -0700</date>
            <delta_ts>2012-09-03 09:07:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95565-20120903125732.patch</filename>
            <type>text/plain</type>
            <size>55304</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBkYWRiMjRiNzRmMTMx
ZmJhMTU2MTBjY2Q2MDMzNDUzMTQzMGUyODRiLi5kOTc1YzM2NDI1NWU3Y2M3M2I2YTRiNGQ5Mjk5
N2U3MmRmMWUzOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0zMSAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxh
dGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViUlRDSUNFQ2FuZGlkYXRl
RGVzY3JpcHRvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRv
cik6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OldlYlJU
Q0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5k
aWRhdGVEZXNjcmlwdG9yOjp+V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6Om9wZXJhdG9yPSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OmlzTnVsbCk6CisgICAg
ICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6Cisg
ICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudCk6CisKIDIwMTItMDktMDEgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdv
b2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBBZGQgTWVkaWFTdHJlYW0gbWFu
YWdlbWVudCB0byBSVENQZWVyQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdiMzM1YmI4YjdjMTRk
MTNmODRhZDVkM2E1MDZlMzcwZGY4YWYwODcuLjAzYTY0YjlkM2FiMDk3OGIyNzM1YjRmOWM3NTU4
MWQ4YTdhMzM5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBAQAorMjAxMi0wOC0zMSAgVG9t
bXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVh
bSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYWxs
IEljZS1yZWxhdGVkIGZ1bmN0aW9uYWxpdHkgdG8gUlRDUGVlckNvbm5lY3Rpb24sIGluY2x1ZGlu
ZworICAgICAgICBldmVudHMsIGNhbGxiYWNrcyBhbmQgbWV0aG9kcy4KKworICAgICAgICBUZXN0
OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRXZl
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENJY2VDYW5kaWRhdGVFdmVudDo6UlRD
SWNlQ2FuZGlkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRXZl
bnQ6On5SVENJY2VDYW5kaWRhdGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJY2VDYW5k
aWRhdGVFdmVudDo6Y2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0
ZUV2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0ljZUNhbmRpZGF0ZUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChSVENJY2VDYW5kaWRhdGVFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENJY2VDYW5kaWRhdGVFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNv
bm5lY3Rpb246OlJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJD
b25uZWN0aW9uOjp1cGRhdGVJY2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6YWRkSWNlQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1BlZXJDb25uZWN0aW9uOjppY2VTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rp
b246OmRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJD
b25uZWN0aW9uOjpkaWRDaGFuZ2VJY2VTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6
Y2hhbmdlSWNlU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaDoKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbDoKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHA6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNocm9taXVtLmNwcC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2Ny
aXB0b3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjph
c3NpZ24pOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjpy
ZXNldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6Omlu
aXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9y
OjpvcGVyYXRvciBQYXNzUmVmUHRyPFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6Y2FuZGlk
YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6c2Rw
TWlkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6c2Rw
TUxpbmVJbmRleCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRGVzY3Jp
cHRvcjo6Y2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2Ny
aXB0b3I6OnNkcE1pZCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yOjpzZHBNTGluZUluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6
dXBkYXRlSWNlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZEljZUNhbmRpZGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkR2VuZXJhdGVJQ0VD
YW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hy
b21pdW06OmRpZENoYW5nZUlDRVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtKToKKwog
MjAxMi0wOS0wMiAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtGb3Jtc10gRW1wdHkgdmlzaWJsZSB2YWx1ZSBvZiBBTS9QTSBmaWVsZCBvZiBtdWx0aXBs
ZSBmaWVsZHMgdGltZSBpbnB1dCBVSSBzaG91bGQgZGlzcGxheSB2YXJpYWJsZSBudW1iZXIgb2Yg
Ii0iIGJhc2VkIG9uIG1heGltdW0gbnVtYmVyIG9mIGxhYmVscwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCBkNWU0MThkYzNlNTIxZmQxODQ0NDg2YTllNmNlZTRhMTFhMjIxMTJkLi5hNjU1
OTU5OWQzNzJmZWE0YmYxYmE3NWE4MWVkZWJjZTkyZWE2YjYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA4LTMxICBUb21teSBXaWRlbmZseWNodCAg
PHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogQWRkIEljZS1y
ZWxhdGVkIGZ1bmN0aW9uYWxpdHkgdG8gUlRDUGVlckNvbm5lY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTY1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHA6CisKIDIwMTItMDktMDEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIGNocm9taXVtIGJ1aWxkZml4IHdoZW4gdXNlX2xpYmNj
X2Zvcl9jb21wb3NpdG9yPTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5n
eXBpIGIvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKaW5kZXggNzZhMWI4OWMxMDI0OThi
ZmRjMjQ4MWQ3YTY4NmY4ZmJjMzMyMDBiNy4uNmQwYzFkODVkZWIzYTc2Nzk4MzI5YWY5MjhkM2E5
MjgyZThiZDI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysr
IGIvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKQEAgLTEwNCw2ICsxMDQsNyBAQAogICAg
ICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJQcml2YXRlT3duUHRyLmgnLAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJQcml2YXRlUHRyLmgnLAogICAgICAgICAgICAgJ2Nocm9t
aXVtL3B1YmxpYy9XZWJSVENDb25maWd1cmF0aW9uLmgnLAorICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yLmgnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUmVjdC5oJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRv
ci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJSVENJQ0VDYW5kaWRhdGVE
ZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA5N2MxMzVlMGUwYjYxMmEyMDg5YmU0M2IxMTM0YzIy
NGE4ZTJiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsODAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3JfaAorI2RlZmluZSBXZWJSVENJQ0VDYW5kaWRh
dGVEZXNjcmlwdG9yX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1ZGUgIldlYlBy
aXZhdGVQdHIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUlRDSWNlQ2FuZGlkYXRl
RGVzY3JpcHRvcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlN0cmluZzsK
KworY2xhc3MgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciB7CitwdWJsaWM6CisgICAgV2Vi
UlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcigpIHsgfQorICAgIFdlYlJUQ0lDRUNhbmRpZGF0ZURl
c2NyaXB0b3IoY29uc3QgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciYgb3RoZXIpIHsgYXNz
aWduKG90aGVyKTsgfQorICAgIH5XZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yKCkgeyByZXNl
dCgpOyB9CisKKyAgICBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJiBvcGVyYXRvcj0oY29u
c3QgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciYgb3RoZXIpCisgICAgeworICAgICAgICBh
c3NpZ24ob3RoZXIpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgV0VCS0lU
X0VYUE9SVCB2b2lkIGFzc2lnbihjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJik7
CisKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBXZWJTdHJpbmcmIGNh
bmRpZGF0ZSwgY29uc3QgV2ViU3RyaW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5l
SW5kZXgpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCByZXNldCgpOworICAgIGJvb2wgaXNOdWxs
KCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRlLmlzTnVsbCgpOyB9CisKKyAgICBXRUJLSVRfRVhQ
T1JUIFdlYlN0cmluZyBjYW5kaWRhdGUoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlN0
cmluZyBzZHBNaWQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIHVuc2lnbmVkIHNob3J0IHNk
cE1MaW5lSW5kZXgoKSBjb25zdDsKKworI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgorICAgIFdl
YlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IoV2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRGVzY3Jp
cHRvciopOworICAgIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IoV1RGOjpQYXNzUmVmUHRy
PFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+KTsKKworICAgIG9wZXJhdG9yIFdU
Rjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPigpIGNvbnN0
OworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgV2ViUHJpdmF0ZVB0cjxXZWJDb3JlOjpSVENJY2VD
YW5kaWRhdGVEZXNjcmlwdG9yPiBtX3ByaXZhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3JfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyLmgKaW5kZXggNmJhNjQ4YzI4NDc4Y2E5MjBhNmRmMzNkZWVjZjQ0M2NhNDI2
N2MzYS4uZDBjMjI5M2EwNTVjYzE0MzNiNTBmMTdkMjQzYTg1MTY1MWE1YjlmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlci5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Y2xhc3MgV2ViTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRv
cjsKIGNsYXNzIFdlYlJUQ0NvbmZpZ3VyYXRpb247CitjbGFzcyBXZWJSVENJQ0VDYW5kaWRhdGVE
ZXNjcmlwdG9yOwogY2xhc3MgV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OwogCiBj
bGFzcyBXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIgewpAQCAtNDMsNiArNDQsOCBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlhbGl6ZShjb25zdCBXZWJSVENDb25maWd1cmF0
aW9uJiwgY29uc3QgV2ViTWVkaWFDb25zdHJhaW50cyYpID0gMDsKIAorICAgIHZpcnR1YWwgYm9v
bCB1cGRhdGVJQ0UoY29uc3QgV2ViUlRDQ29uZmlndXJhdGlvbiYsIGNvbnN0IFdlYk1lZGlhQ29u
c3RyYWludHMmKSA9IDA7CisgICAgdmlydHVhbCBib29sIGFkZElDRUNhbmRpZGF0ZShjb25zdCBX
ZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBhZGRT
dHJlYW0oY29uc3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJiwgY29uc3QgV2ViTWVkaWFDb25z
dHJhaW50cyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3RyZWFtKGNvbnN0IFdlYk1l
ZGlhU3RyZWFtRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCmluZGV4IGMxYzcwMzYyZDE4NGQy
N2E1MWMwNTA1YjFlYTkxZTgxNTZkZjBlYTcuLmMzZGJiNTE3MDZjNmFjNjM4YTkyNTg5YjMyNzMx
NGNjNGVjZjEwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaApAQCAt
MzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYk1lZGlhU3RyZWFt
RGVzY3JpcHRvcjsKK2NsYXNzIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I7CiAKIGNsYXNz
IFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCB7CiBwdWJsaWM6CkBAIC00NCw5ICs0
NSwyMiBAQCBwdWJsaWM6CiAgICAgICAgIFJlYWR5U3RhdGVDbG9zZWQgPSA1CiAgICAgfTsKIAor
ICAgIGVudW0gSUNFU3RhdGUgeworICAgICAgICBJQ0VTdGF0ZU5ldyA9IDEsCisgICAgICAgIElD
RVN0YXRlR2F0aGVyaW5nID0gMiwKKyAgICAgICAgSUNFU3RhdGVXYWl0aW5nID0gMywKKyAgICAg
ICAgSUNFU3RhdGVDaGVja2luZyA9IDQsCisgICAgICAgIElDRVN0YXRlQ29ubmVjdGVkID0gNSwK
KyAgICAgICAgSUNFU3RhdGVDb21wbGV0ZWQgPSA2LAorICAgICAgICBJQ0VTdGF0ZUZhaWxlZCA9
IDcsCisgICAgICAgIElDRVN0YXRlQ2xvc2VkID0gOAorICAgIH07CisKICAgICB2aXJ0dWFsIH5X
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KIAorICAgIHZpcnR1YWwgdm9p
ZCBkaWRHZW5lcmF0ZUlDRUNhbmRpZGF0ZShjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlw
dG9yJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3Rh
dGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlSUNFU3RhdGUoSUNFU3RhdGUpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKGNvbnN0IFdlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVtb3RlU3Ry
ZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpID0gMDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CmluZGV4IGIxMTNiM2YwMGVhMDEyYzFjMmQ3MWU3YjNiY2Q0MWYzZmM2YzUxZGUuLjU3
OWYyY2UwZDM2ZDEzMWZhNTQ5YjllOTAyZTZlZGVlNGVlNWQxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC0yMjMsNiArMjIzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCiAgICAg
TW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
SWNlQ2FuZGlkYXRlRXZlbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKQEAg
LTg1NSw2ICs4NTYsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9OYXZpZ2F0b3JNZWRpYVN0cmVhbS5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uMDAuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRh
dGUuY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAogICAgIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggODBjNjM2ZmViMjJkMGQxNTY0Y2FhMjc4YjcwZmRkNTI5MGE2YmM5Mi4uYjcxOGJi
MGQwMTUzNzI4YzY3ZmRmMTFiYjBjODgzNDEwOTFiZmFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC02MjksNiArNjI5LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUkdCQ29sb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ0ljZUNhbmRpZGF0ZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSVENJY2VDYW5kaWRhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ0ljZUNh
bmRpZGF0ZUV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ0ljZUNhbmRp
ZGF0ZUV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENQZWVyQ29ubmVjdGlv
bi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENQZWVyQ29ubmVjdGlvbi5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCBcCkBA
IC0xMjI0LDYgKzEyMjYsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmlkbCBcCisJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24u
aWRsIFwKQEAgLTE5MTksNiArMTkyMiw4IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2
ZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5k
aWRhdGVFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jZDVmM2ZhYTQ1ZTRlMGE2NDRiYWRmODlmM2FlODZlMDI0NWRkNmVkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRh
dGVFdmVudC5jcHAKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlJUQ0ljZUNh
bmRpZGF0ZUV2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiUlRD
SWNlQ2FuZGlkYXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxSVENJ
Y2VDYW5kaWRhdGVFdmVudD4gUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6OmNyZWF0ZSgpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBSVENJY2VDYW5kaWRhdGVFdmVudCk7Cit9CisKK1Bhc3NSZWZQ
dHI8UlRDSWNlQ2FuZGlkYXRlRXZlbnQ+IFJUQ0ljZUNhbmRpZGF0ZUV2ZW50OjpjcmVhdGUoYm9v
bCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+
IGNhbmRpZGF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ0ljZUNhbmRpZGF0ZUV2
ZW50KGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgY2FuZGlkYXRlKSk7Cit9CisKK1JUQ0ljZUNhbmRp
ZGF0ZUV2ZW50OjpSVENJY2VDYW5kaWRhdGVFdmVudCgpCit7Cit9CisKK1JUQ0ljZUNhbmRpZGF0
ZUV2ZW50OjpSVENJY2VDYW5kaWRhdGVFdmVudChib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZT4gY2FuZGlkYXRlKQorICAgIDogRXZlbnQo
ZXZlbnROYW1lcygpLmljZWNhbmRpZGF0ZUV2ZW50LCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCisg
ICAgLCBtX2NhbmRpZGF0ZShjYW5kaWRhdGUpCit7Cit9CisKK1JUQ0ljZUNhbmRpZGF0ZUV2ZW50
Ojp+UlRDSWNlQ2FuZGlkYXRlRXZlbnQoKQoreworfQorCitSVENJY2VDYW5kaWRhdGUqIFJUQ0lj
ZUNhbmRpZGF0ZUV2ZW50OjpjYW5kaWRhdGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhbmRp
ZGF0ZS5nZXQoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBSVENJY2VDYW5kaWRhdGVFdmVu
dDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRl
cmZhY2VGb3JSVENJY2VDYW5kaWRhdGVFdmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRjNDgxNTMxNjFkNjk2Njg4ZDU0MDVkMWYyNGZkZDJjZWQ2NmY4MWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNh
bmRpZGF0ZUV2ZW50LmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBS
VENJY2VDYW5kaWRhdGVFdmVudF9oCisjZGVmaW5lIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50X2gKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBS
VENJY2VDYW5kaWRhdGU7CisKK2NsYXNzIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50IDogcHVibGljIEV2
ZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENJY2VDYW5kaWRhdGVFdmVudCgpOworCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRXZlbnQ+IGNyZWF0ZSgpOworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZUV2ZW50PiBjcmVhdGUoYm9vbCBjYW5C
dWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+KTsKKwor
ICAgIFJUQ0ljZUNhbmRpZGF0ZSogY2FuZGlkYXRlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIGNv
bnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworCitwcml2YXRlOgorICAg
IFJUQ0ljZUNhbmRpZGF0ZUV2ZW50KCk7CisgICAgUlRDSWNlQ2FuZGlkYXRlRXZlbnQoYm9vbCBj
YW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+KTsK
KworICAgIFJlZlB0cjxSVENJY2VDYW5kaWRhdGU+IG1fY2FuZGlkYXRlOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2Vu
ZGlmIC8vIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzEwNDdlMDExYjkyMWI3ZGMzMDlkNzQ4MWE1MjkwNWI5YjJhMGYwYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlk
YXRlRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVu
dHMgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
LAorICAgIF0gUlRDSWNlQ2FuZGlkYXRlRXZlbnQgOiBFdmVudCB7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBSVENJY2VDYW5kaWRhdGUgY2FuZGlkYXRlOworICAgIH07CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5jcHAKaW5kZXggODljNTVhZGFmN2E4MzA5NmM5NDZmN2YyNGRjODkyMjMwZDUzYzM2Zi4u
OGNjZTA1M2YwM2Q4YTkxZjk5NjI3Y2Y3MGMxNWM2MjI1ZmE5NDdhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5j
cHAKQEAgLTQwLDYgKzQwLDkgQEAKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzSW1wbC5oIgog
I2luY2x1ZGUgIk1lZGlhU3RyZWFtRXZlbnQuaCIKICNpbmNsdWRlICJSVENDb25maWd1cmF0aW9u
LmgiCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlLmgiCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIlJUQ0ljZUNhbmRpZGF0ZUV2ZW50LmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMTQsNiArMTE3LDcgQEAgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbj4gUlRDUGVlckNv
bm5lY3Rpb246OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KgogUlRDUGVlckNvbm5lY3Rp
b246OlJUQ1BlZXJDb25uZWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgOiBBY3Rp
dmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1fcmVhZHlTdGF0ZShSZWFkeVN0YXRl
TmV3KQorICAgICwgbV9pY2VTdGF0ZShJY2VTdGF0ZUNsb3NlZCkKICAgICAsIG1fbG9jYWxTdHJl
YW1zKE1lZGlhU3RyZWFtTGlzdDo6Y3JlYXRlKCkpCiAgICAgLCBtX3JlbW90ZVN0cmVhbXMoTWVk
aWFTdHJlYW1MaXN0OjpjcmVhdGUoKSkKIHsKQEAgLTEyNiwyMyArMTMwLDg1IEBAIFJUQ1BlZXJD
b25uZWN0aW9uOjp+UlRDUGVlckNvbm5lY3Rpb24oKQogewogfQogCit2b2lkIFJUQ1BlZXJDb25u
ZWN0aW9uOjp1cGRhdGVJY2UoY29uc3QgRGljdGlvbmFyeSYgcnRjQ29uZmlndXJhdGlvbiwgY29u
c3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUg
PT0gUmVhZHlTdGF0ZUNsb3NlZCkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+IGNv
bmZpZ3VyYXRpb24gPSBwYXJzZUNvbmZpZ3VyYXRpb24ocnRjQ29uZmlndXJhdGlvbiwgZWMpOwor
ICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IGNvbnN0cmFpbnRzID0gTWVkaWFDb25zdHJhaW50c0ltcGw6OmNyZWF0ZShtZWRpYUNvbnN0
cmFpbnRzLCBlYyk7CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm47CisKKyAgICBib29sIHZh
bGlkID0gbV9wZWVySGFuZGxlci0+dXBkYXRlSWNlKGNvbmZpZ3VyYXRpb24sIGNvbnN0cmFpbnRz
KTsKKyAgICBpZiAoIXZhbGlkKQorICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Cit9CisKK3ZvaWQg
UlRDUGVlckNvbm5lY3Rpb246OmFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUqIGljZUNh
bmRpZGF0ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBS
ZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkgewor
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKCFpY2VDYW5kaWRhdGUpIHsKKyAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VS
UjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGJvb2wgdmFsaWQgPSBtX3BlZXJIYW5k
bGVyLT5hZGRJY2VDYW5kaWRhdGUoaWNlQ2FuZGlkYXRlLT5kZXNjcmlwdG9yKCkpOworICAgIGlm
ICghdmFsaWQpCisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKK30KKwogU3RyaW5nIFJUQ1BlZXJD
b25uZWN0aW9uOjpyZWFkeVN0YXRlKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fcmVhZHlTdGF0
ZSkgewogICAgIGNhc2UgUmVhZHlTdGF0ZU5ldzoKLSAgICAgICAgcmV0dXJuICJuZXciOworICAg
ICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJuZXciKTsKICAgICBjYXNlIFJlYWR5U3RhdGVPcGVu
aW5nOgotICAgICAgICByZXR1cm4gIm9wZW5pbmciOworICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJvcGVuaW5nIik7CiAgICAgY2FzZSBSZWFkeVN0YXRlQWN0aXZlOgotICAgICAgICByZXR1
cm4gImFjdGl2ZSI7CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImFjdGl2ZSIpOwogICAg
IGNhc2UgUmVhZHlTdGF0ZUNsb3Npbmc6Ci0gICAgICAgIHJldHVybiAiY2xvc2luZyI7CisgICAg
ICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImNsb3NpbmciKTsKICAgICBjYXNlIFJlYWR5U3RhdGVD
bG9zZWQ6Ci0gICAgICAgIHJldHVybiAiY2xvc2VkIjsKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiY2xvc2VkIik7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
cmV0dXJuICIiOworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIiIpOworfQorCitTdHJpbmcgUlRD
UGVlckNvbm5lY3Rpb246OmljZVN0YXRlKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1faWNlU3Rh
dGUpIHsKKyAgICBjYXNlIEljZVN0YXRlTmV3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJuZXciKTsKKyAgICBjYXNlIEljZVN0YXRlR2F0aGVyaW5nOgorICAgICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJnYXRoZXJpbmciKTsKKyAgICBjYXNlIEljZVN0YXRlV2FpdGluZzoKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOworICAgIGNhc2UgSWNlU3RhdGVDaGVj
a2luZzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiY2hlY2tpbmciKTsKKyAgICBjYXNl
IEljZVN0YXRlQ29ubmVjdGVkOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJjb25uZWN0
ZWQiKTsKKyAgICBjYXNlIEljZVN0YXRlQ29tcGxldGVkOgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJjb21wbGV0ZWQiKTsKKyAgICBjYXNlIEljZVN0YXRlRmFpbGVkOgorICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCJmYWlsZWQiKTsKKyAgICBjYXNlIEljZVN0YXRlQ2xvc2VkOgor
ICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJjbG9zZWQiKTsKKyAgICB9CisKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCIiKTsKIH0KIAogdm9p
ZCBSVENQZWVyQ29ubmVjdGlvbjo6YWRkU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHBy
cFN0cmVhbSwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhjZXB0aW9uQ29k
ZSYgZWMpCkBAIC0yMDksMTYgKzI3NSwzNCBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpjbG9z
ZShFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGNoYW5n
ZUljZVN0YXRlKEljZVN0YXRlQ2xvc2VkKTsKICAgICBjaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3Rh
dGVDbG9zZWQpOwogICAgIHN0b3AoKTsKIH0KIAordm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6ZGlk
R2VuZXJhdGVJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
PiBpY2VDYW5kaWRhdGVEZXNjcmlwdG9yKQoreworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgpKTsKKyAgICBpZiAoIWljZUNhbmRpZGF0ZURlc2Ny
aXB0b3IpCisgICAgICAgIGRpc3BhdGNoRXZlbnQoUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6OmNyZWF0
ZShmYWxzZSwgZmFsc2UsIDApKTsKKyAgICBlbHNlIHsKKyAgICAgICAgUmVmUHRyPFJUQ0ljZUNh
bmRpZGF0ZT4gaWNlQ2FuZGlkYXRlID0gUlRDSWNlQ2FuZGlkYXRlOjpjcmVhdGUoaWNlQ2FuZGlk
YXRlRGVzY3JpcHRvcik7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoUlRDSWNlQ2FuZGlkYXRlRXZl
bnQ6OmNyZWF0ZShmYWxzZSwgZmFsc2UsIGljZUNhbmRpZGF0ZS5yZWxlYXNlKCkpKTsKKyAgICB9
Cit9CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmRpZENoYW5nZVJlYWR5U3RhdGUoUmVhZHlT
dGF0ZSBuZXdTdGF0ZSkKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5p
c0NvbnRleHRUaHJlYWQoKSk7CiAgICAgY2hhbmdlUmVhZHlTdGF0ZShuZXdTdGF0ZSk7CiB9CiAK
K3ZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmRpZENoYW5nZUljZVN0YXRlKEljZVN0YXRlIG5ld1N0
YXRlKQoreworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRo
cmVhZCgpKTsKKyAgICBjaGFuZ2VJY2VTdGF0ZShuZXdTdGF0ZSk7Cit9CisKIHZvaWQgUlRDUGVl
ckNvbm5lY3Rpb246OmRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcj4gc3RyZWFtRGVzY3JpcHRvcikKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7CkBAIC0yNjEsNiArMzQ1LDcgQEAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogUlRDUGVlckNvbm5lY3Rpb246OnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdAogCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzdG9wKCkKIHsKKyAgICBtX2lj
ZVN0YXRlID0gSWNlU3RhdGVDbG9zZWQ7CiAgICAgbV9yZWFkeVN0YXRlID0gUmVhZHlTdGF0ZUNs
b3NlZDsKIAogICAgIGlmIChtX3BlZXJIYW5kbGVyKSB7CkBAIC0zMDMsNiArMzg4LDE1IEBAIHZv
aWQgUlRDUGVlckNvbm5lY3Rpb246OmNoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSByZWFkeVN0
YXRlKQogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc3RhdGVj
aGFuZ2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb246
OmNoYW5nZUljZVN0YXRlKEljZVN0YXRlIGljZVN0YXRlKQoreworICAgIGlmIChpY2VTdGF0ZSA9
PSBtX2ljZVN0YXRlIHx8IG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX2ljZVN0YXRlID0gaWNlU3RhdGU7CisgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pY2VjaGFuZ2VFdmVudCwgZmFsc2UsIGZhbHNl
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggZDQxMDc0NmZiODA2NjZkYWI1ZWI1OTFhZTkzZDhi
MjA2MDVmM2RhOC4uNTRlMGQ0ZGVlNTVjOWM4MmQ5ZWNjYmE1YzRiZWU0YjJmYzY0NGQ2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIK
ICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtTGlzdC5oIgor
I2luY2x1ZGUgIlJUQ0ljZUNhbmRpZGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC01NSwyMCArNTYsMzMgQEAgcHVibGljOgog
CiAgICAgU3RyaW5nIHJlYWR5U3RhdGUoKSBjb25zdDsKIAorICAgIHZvaWQgdXBkYXRlSWNlKGNv
bnN0IERpY3Rpb25hcnkmIHJ0Y0NvbmZpZ3VyYXRpb24sIGNvbnN0IERpY3Rpb25hcnkmIG1lZGlh
Q29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIHZvaWQgYWRkSWNlQ2FuZGlkYXRl
KFJUQ0ljZUNhbmRpZGF0ZSosIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIFN0cmluZyBpY2VTdGF0
ZSgpIGNvbnN0OworCiAgICAgTWVkaWFTdHJlYW1MaXN0KiBsb2NhbFN0cmVhbXMoKSBjb25zdDsK
KwogICAgIE1lZGlhU3RyZWFtTGlzdCogcmVtb3RlU3RyZWFtcygpIGNvbnN0OworCiAgICAgdm9p
ZCBhZGRTdHJlYW0oY29uc3QgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4sIGNvbnN0IERpY3Rpb25h
cnkmIG1lZGlhQ29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgcmVtb3Zl
U3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCBjbG9zZShF
eGNlcHRpb25Db2RlJik7CiAKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGlj
ZWNhbmRpZGF0ZSk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihvcGVuKTsK
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN0YXRlY2hhbmdlKTsKICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHN0cmVhbSk7CiAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihyZW1vdmVzdHJlYW0pOworICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoaWNlY2hhbmdlKTsKIAogICAgIC8vIFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudAorICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShQ
YXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+KSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0YXRlKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlSWNlU3RhdGUoSWNlU3RhdGUpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2Ny
aXB0b3I+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVtb3RlU3RyZWFt
KE1lZGlhU3RyZWFtRGVzY3JpcHRvciopIE9WRVJSSURFOwogCkBAIC05NSw4ICsxMDksMTAgQEAg
cHJpdmF0ZToKICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CiAKICAgICB2
b2lkIGNoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSk7CisgICAgdm9pZCBjaGFuZ2VJY2VTdGF0
ZShJY2VTdGF0ZSk7CiAKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKKyAgICBJY2VTdGF0
ZSBtX2ljZVN0YXRlOwogCiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtTGlzdD4gbV9sb2NhbFN0cmVh
bXM7CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtTGlzdD4gbV9yZW1vdGVTdHJlYW1zOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmlkbAppbmRleCBkYmYwOWZlMTI5MTIxYWFjNTliOWNhNDdiOGU4MjRlZTlmZmEyYjE0Li41
MTBjZTMwMWMxYzhlZGE1YTRjZTRkMzVmMjUyNTUyY2NmODhmMGI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlk
bApAQCAtMzMsMTMgKzMzLDIxIEBAIG1vZHVsZSBtZWRpYXN0cmVhbSB7CiAgICAgaW50ZXJmYWNl
IFsKICAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogICAgICAgICBBY3RpdmVET01P
YmplY3QsCi0gICAgICAgIENvbnN0cnVjdG9yKGluIERpY3Rpb25hcnkgcnRjSUNFU2VydmVycywg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFp
bnRzKSwKKyAgICAgICAgQ29uc3RydWN0b3IoaW4gRGljdGlvbmFyeSBydGNJY2VTZXJ2ZXJzLCBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBEaWN0aW9uYXJ5IG1lZGlhQ29uc3RyYWlu
dHMpLAogICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiwKICAgICAgICAgQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICAgICAgRXZlbnRUYXJnZXQKICAgICBdIFJU
Q1BlZXJDb25uZWN0aW9uIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBy
ZWFkeVN0YXRlOwogCisgICAgICAgIHZvaWQgdXBkYXRlSWNlKGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIERpY3Rpb25hcnkgY29uZmlndXJhdGlvbiwgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gRGljdGlvbmFyeSBtZWRpYUNvbnN0cmFpbnRzKQorICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9pZCBhZGRJY2VDYW5kaWRhdGUoaW4g
UlRDSWNlQ2FuZGlkYXRlIGNhbmRpZGF0ZSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaWNlU3RhdGU7CisK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtTGlzdCBsb2NhbFN0cmVhbXM7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbUxpc3QgcmVtb3RlU3RyZWFt
czsKIApAQCAtNTEsMTAgKzU5LDEyIEBAIG1vZHVsZSBtZWRpYXN0cmVhbSB7CiAgICAgICAgIHZv
aWQgY2xvc2UoKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25pY2VjYW5kaWRhdGU7CiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ub3BlbjsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25zdGF0ZWNoYW5nZTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZGRzdHJl
YW07CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVtb3Zlc3RyZWFtOworICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmljZWNoYW5nZTsKIAogICAgICAgICAvLyBF
dmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERP
TVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDczMzc2MDk4MTJjYmJlYThiNjM5NzIw
OTZkYThkOGQxNGIyMGY0OTguLjMyOTQ5ZTkzNDNhMzBkZmE5ZjM1MWU5ZGUyZjQ2NGJiNTc1OGUw
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg2Myw2ICs4NjMsNyBAQAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRsJywK
KyAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3Jp
cHRpb24uaWRsJywKQEAgLTE2MDUsNiArMTYwNiw4IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRXZlbnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwJywKQEAgLTgzMzcsNiArODM0MCw3
IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJNZWRpYVN0cmVh
bVNvdXJjZXNSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vc3Vw
cG9ydC9XZWJQcmVyZW5kZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9z
dXBwb3J0L1dlYlJUQ0NvbmZpZ3VyYXRpb24uY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9j
aHJvbWl1bS9zdXBwb3J0L1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnlOYXRpdmUuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnlOYXRpdmUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Y2hyb21pdW0vc3VwcG9ydC9XZWJTY3JvbGxiYXJJbXBsLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAppbmRleCBhMmZhZWMxMjgzNGJiYTg0ODhjNzRmZmYzZGFkODUxNTgwZjYwOTM5Li5kYzk2
NDUwMTQ2MjkxMzM2ZWIzZWFkZjEzMzlkZThiNGRlYzA0YzFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmgKQEAgLTIyNyw2ICsyMjcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
cmVtb3ZldHJhY2spIFwKICAgICBtYWNybyhtdXRlKSBcCiAgICAgbWFjcm8odW5tdXRlKSBcCisg
ICAgbWFjcm8oaWNlY2hhbmdlKSBcCisgICAgbWFjcm8oaWNlY2FuZGlkYXRlKSBcCiAgICAgXAog
ICAgIG1hY3JvKHNob3cpIFwKICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDIy
YWFhN2IwNzBjNGJiNDJiMTQyZTExYmRjOWIzNzliNTdjNDVmNTIuLjllOWUwYzg2MzA3YWQwMGVj
ODY3YThiYTY3NjQwZTBmYTA1MDBlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0z
MSw2ICszMSw3IEBAIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGNvbmRpdGlvbmFsPVdFQl9BVURJTwog
T2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogTWVkaWFT
dHJlYW1FdmVudCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU3RyZWFtVHJhY2tFdmVu
dCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KK1JUQ0ljZUNhbmRpZGF0ZUV2ZW50IGNvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogU3BlZWNoSW5wdXRFdmVudCBjb25kaXRpb25hbD1JTlBVVF9TUEVF
Q0gKIFNwZWVjaFJlY29nbml0aW9uRXJyb3IgY29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICiBT
cGVlY2hSZWNvZ25pdGlvbkV2ZW50IGNvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJSVENJQ0VD
YW5kaWRhdGVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIy
NGIxZDdiNzkxODZjZTAwMWUwYThmZGQwMDU0Mzg5Zjk0OGFjZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViUlRDSUNFQ2FuZGlk
YXRlRGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUlRDSUNFQ2Fu
ZGlkYXRlRGVzY3JpcHRvci5oPgorCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRv
ci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTdHJpbmcuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlw
dG9yOjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yKFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0
b3IqIGljZUNhbmRpZGF0ZSkKKyAgICA6IG1fcHJpdmF0ZShpY2VDYW5kaWRhdGUpCit7Cit9CisK
K1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0
b3IoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPiBpY2VDYW5kaWRhdGUpCisg
ICAgOiBtX3ByaXZhdGUoaWNlQ2FuZGlkYXRlKQoreworfQorCit2b2lkIFdlYlJUQ0lDRUNhbmRp
ZGF0ZURlc2NyaXB0b3I6OmFzc2lnbihjb25zdCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9y
JiBvdGhlcikKK3sKKyAgICBtX3ByaXZhdGUgPSBvdGhlci5tX3ByaXZhdGU7Cit9CisKK3ZvaWQg
V2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjo6cmVzZXQoKQoreworICAgIG1fcHJpdmF0ZS5y
ZXNldCgpOworfQorCit2b2lkIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OmluaXRpYWxp
emUoY29uc3QgV2ViU3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0IFdlYlN0cmluZyYgc2RwTWlkLCB1
bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4KQoreworICAgIG1fcHJpdmF0ZSA9IFJUQ0ljZUNh
bmRpZGF0ZURlc2NyaXB0b3I6OmNyZWF0ZShjYW5kaWRhdGUsIHNkcE1pZCwgc2RwTUxpbmVJbmRl
eCk7Cit9CisKK1dlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6Om9wZXJhdG9yIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4oKSBjb25zdAoreworICAgIHJl
dHVybiBtX3ByaXZhdGUuZ2V0KCk7Cit9CisKK1dlYlN0cmluZyBXZWJSVENJQ0VDYW5kaWRhdGVE
ZXNjcmlwdG9yOjpjYW5kaWRhdGUoKSBjb25zdAoreworICAgIEFTU0VSVCghbV9wcml2YXRlLmlz
TnVsbCgpKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5jYW5kaWRhdGUoKTsKK30KKworV2ViU3Ry
aW5nIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I6OnNkcE1pZCgpIGNvbnN0Cit7CisgICAg
QVNTRVJUKCFtX3ByaXZhdGUuaXNOdWxsKCkpOworICAgIHJldHVybiBtX3ByaXZhdGUtPnNkcE1p
ZCgpOworfQorCit1bnNpZ25lZCBzaG9ydCBXZWJSVENJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yOjpz
ZHBNTGluZUluZGV4KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1fcHJpdmF0ZS5pc051bGwoKSk7
CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2RwTUxpbmVJbmRleCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZURl
c2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0ljZUNh
bmRpZGF0ZURlc2NyaXB0b3IuaAppbmRleCBiNWFmMWU0MzJjM2ZjZGY3ZGE2MjdiZDUzYjhhODVi
MjYxZTI5MmIxLi5mNTEyM2EzZmMzMDA3OGQ2ZGE4OWIxYzA1M2Y4OWJiZDBmY2QwZDQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRh
dGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oCkBAIC00NCw5ICs0NCw5IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0IFN0cmluZyYgc2RwTWlkLCB1bnNpZ25lZCBzaG9y
dCBzZHBNTGluZUluZGV4KTsKICAgICB2aXJ0dWFsIH5SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
KCk7CiAKLSAgICBjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSgpIHsgcmV0dXJuIG1fY2FuZGlkYXRl
OyB9Ci0gICAgY29uc3QgU3RyaW5nJiBzZHBNaWQoKSB7IHJldHVybiBtX3NkcE1pZDsgfQotICAg
IHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgoKSB7IHJldHVybiBtX3NkcE1MaW5lSW5kZXg7
IH0KKyAgICBjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuZGlk
YXRlOyB9CisgICAgY29uc3QgU3RyaW5nJiBzZHBNaWQoKSBjb25zdCB7IHJldHVybiBtX3NkcE1p
ZDsgfQorICAgIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgoKSBjb25zdCB7IHJldHVybiBt
X3NkcE1MaW5lSW5kZXg7IH0KIAogcHJpdmF0ZToKICAgICBSVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBTdHJpbmcmIHNkcE1pZCwgdW5zaWdu
ZWQgc2hvcnQgc2RwTUxpbmVJbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcApp
bmRleCAwMDBkM2EzM2YyZjExZDRjN2U5Yzk5NGUzMTZhNThmZTQ3MWUxNjdhLi42N2Y4ZDdlMjNk
YjU1NTA1NzE4YjJhZTJjZTJmODNjNzM4MDQ4N2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlci5jcHAKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlu
aXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNv
bnN0cmFpbnRzPikgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlSWNlKFBhc3NS
ZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pIE9W
RVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBhZGRJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJ
Y2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGFkZFN0
cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4sIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdHJlYW0oUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgc3RvcCgpIE9WRVJSSURFOwpAQCAtODUsNiArODcsMTYgQEAgdm9pZCBSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJEdW1teTo6cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNj
cmlwdG8KIHsKIH0KIAorYm9vbCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teTo6dXBkYXRl
SWNlKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJh
aW50cz4pCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckR1bW15OjphZGRJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVE
ZXNjcmlwdG9yPikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyRHVtbXk6OnN0b3AoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIu
aAppbmRleCA2OWUzNDgwMzFkZGY3ODg3NWVjYmE0ZDdkYmYzYTcwZjU5NmU2MjE5Li5hNjE5MTVl
ODE2MzZkYWRkMTY3YWRhNDU0NWYwYzlhYWRjZGYwMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIuaApAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1l
ZGlhQ29uc3RyYWludHM7CiBjbGFzcyBSVENDb25maWd1cmF0aW9uOworY2xhc3MgUlRDSWNlQ2Fu
ZGlkYXRlRGVzY3JpcHRvcjsKIGNsYXNzIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDsK
IAogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyIHsKQEAgLTUwLDYgKzUxLDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1
cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgPSAwOwogCisgICAgdmlydHVh
bCBib29sIHVwZGF0ZUljZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRy
PE1lZGlhQ29uc3RyYWludHM+KSA9IDA7CisgICAgdmlydHVhbCBib29sIGFkZEljZUNhbmRpZGF0
ZShQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+KSA9IDA7CiAgICAgdmlydHVh
bCBib29sIGFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4sIFBhc3NS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3Ry
ZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzdG9wKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaApp
bmRleCA4ODk5ODY3NmY3MzEyNzkzZGM1YzRmMzY1YzFlNDlkOGU5ZDExYTBhLi43MDhmNjRlZDI5
NDE4NzYyY2VkNjNkMTk4N2Q5ZDQ4YzY5YzcyMzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJDbGllbnQuaApAQCAtMzgsNiArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBNZWRpYVN0cmVhbURlc2NyaXB0b3I7CitjbGFzcyBSVENJY2VDYW5kaWRhdGVEZXNj
cmlwdG9yOwogCiBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQgewogcHVibGlj
OgpAQCAtNDksOSArNTAsMjIgQEAgcHVibGljOgogICAgICAgICBSZWFkeVN0YXRlQ2xvc2VkID0g
NQogICAgIH07CiAKKyAgICBlbnVtIEljZVN0YXRlIHsKKyAgICAgICAgSWNlU3RhdGVOZXcgPSAx
LAorICAgICAgICBJY2VTdGF0ZUdhdGhlcmluZyA9IDIsCisgICAgICAgIEljZVN0YXRlV2FpdGlu
ZyA9IDMsCisgICAgICAgIEljZVN0YXRlQ2hlY2tpbmcgPSA0LAorICAgICAgICBJY2VTdGF0ZUNv
bm5lY3RlZCA9IDUsCisgICAgICAgIEljZVN0YXRlQ29tcGxldGVkID0gNiwKKyAgICAgICAgSWNl
U3RhdGVGYWlsZWQgPSA3LAorICAgICAgICBJY2VTdGF0ZUNsb3NlZCA9IDgKKyAgICB9OworCiAg
ICAgdmlydHVhbCB+UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KCkgeyB9CiAKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yPikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0
YXRlKFJlYWR5U3RhdGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlSWNlU3RhdGUo
SWNlU3RhdGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZW1vdmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKikgPSAwOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNw
cAppbmRleCA5NGE5OTgzODNmNjNiZTRmZmYxZmQ4ODA4ZTNkM2YxYzQ1ODA2ZTY0Li4zMzJhMTYy
MzVhZTM0NjE1MWYwZjE0OGI4N2ViNTFmNDEyMzRkMjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Y2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uY3BwCkBAIC0zNiwxMSAr
MzYsMTMgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSVEND
b25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oIgog
I2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgPHB1
YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRpYUNvbnN0cmFpbnRzLmg+
CiAjaW5jbHVkZSA8cHVibGljL1dlYk1lZGlhU3RyZWFtRGVzY3JpcHRvci5oPgogI2luY2x1ZGUg
PHB1YmxpYy9XZWJSVENDb25maWd1cmF0aW9uLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlJUQ0lD
RUNhbmRpZGF0ZURlc2NyaXB0b3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Niw2ICs2OCwyMiBAQCBib29sIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNocm9taXVtOjppbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlv
bj4gYwogICAgIHJldHVybiBtX3dlYkhhbmRsZXIgPyBtX3dlYkhhbmRsZXItPmluaXRpYWxpemUo
Y29uZmlndXJhdGlvbiwgY29uc3RyYWludHMpIDogZmFsc2U7CiB9CiAKK2Jvb2wgUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OnVwZGF0ZUljZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3Vy
YXRpb24+IGNvbmZpZ3VyYXRpb24sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3Ry
YWludHMpCit7CisgICAgaWYgKCFtX3dlYkhhbmRsZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIHJldHVybiBtX3dlYkhhbmRsZXItPnVwZGF0ZUlDRShjb25maWd1cmF0aW9uLCBjb25z
dHJhaW50cyk7Cit9CisKK2Jvb2wgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFk
ZEljZUNhbmRpZGF0ZShQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+IGljZUNh
bmRpZGF0ZSkKK3sKKyAgICBpZiAoIW1fd2ViSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIG1fd2ViSGFuZGxlci0+YWRkSUNFQ2FuZGlkYXRlKGljZUNhbmRpZGF0
ZSk7Cit9CisKIGJvb2wgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZFN0cmVh
bShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gbWVkaWFTdHJlYW0sIFBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMpCiB7CiAgICAgaWYgKCFtX3dlYkhhbmRs
ZXIpCkBAIC05MCwxMSArMTA4LDIxIEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hy
b21pdW06OnN0b3AoKQogICAgIG1fd2ViSGFuZGxlci0+c3RvcCgpOwogfQogCit2b2lkIFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtOjpkaWRHZW5lcmF0ZUlDRUNhbmRpZGF0ZShjb25z
dCBXZWJLaXQ6OldlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3ImIGljZUNhbmRpZGF0ZSkKK3sK
KyAgICBtX2NsaWVudC0+ZGlkR2VuZXJhdGVJY2VDYW5kaWRhdGUoaWNlQ2FuZGlkYXRlKTsKK30K
Kwogdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkQ2hhbmdlUmVhZHlT
dGF0ZShXZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0
ZSBzdGF0ZSkKIHsKICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlUmVhZHlTdGF0ZShzdGF0aWNfY2Fz
dDxSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGU+KHN0YXRlKSk7CiB9
CiAKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmRpZENoYW5nZUlDRVN0
YXRlKFdlYktpdDo6V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJQ0VTdGF0ZSBz
dGF0ZSkKK3sKKyAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlSWNlU3RhdGUoc3RhdGljX2Nhc3Q8UlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0ZT4oc3RhdGUpKTsKK30KKwogdm9p
ZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkQWRkUmVtb3RlU3RyZWFtKGNv
bnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJiB3ZWJNZWRpYVN0cmVhbURlc2Ny
aXB0b3IpCiB7CiAgICAgbV9jbGllbnQtPmRpZEFkZFJlbW90ZVN0cmVhbSh3ZWJNZWRpYVN0cmVh
bURlc2NyaXB0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNocm9taXVtLmgKaW5kZXggYmExZDcyNzIzYWRlMjg4NDkwOWQwY2EyMDU0YzdiZDhl
ODZmMzg3Ni4uZGVjMGQ3YTcyZjE2NDJlNTI1OTBlYzkzMGI0NmI4ZGRlYzUxY2Q5NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5o
CkBAIC00Miw2ICs0Miw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViTWVkaWFT
dHJlYW1EZXNjcmlwdG9yOworY2xhc3MgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvcjsKIH0K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTMsMTIgKzU0LDE2IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBh
c3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29s
IHVwZGF0ZUljZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlh
Q29uc3RyYWludHM+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgYWRkSWNlQ2FuZGlkYXRl
KFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4pIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBhZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVSUklERTsKIAogICAgIC8vIFdlYktpdDo6V2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1
YWwgdm9pZCBkaWRHZW5lcmF0ZUlDRUNhbmRpZGF0ZShjb25zdCBXZWJLaXQ6OldlYlJUQ0lDRUNh
bmRpZGF0ZURlc2NyaXB0b3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
UmVhZHlTdGF0ZShXZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVh
ZHlTdGF0ZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUlDRVN0YXRlKFdl
YktpdDo6V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJQ0VTdGF0ZSkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShjb25zdCBXZWJLaXQ6Oldl
Yk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZW1vdmVSZW1vdGVTdHJlYW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3Im
KSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcAppbmRleCA0NTU0OGY2YTVhYjI1NGFjNmZlZWQ3M2JmMDU2YzQ0ZDZm
YTQzNTA2Li5jZmFhMjZiYWJlZDZjNDllMzZmOTZkNDVjZTNiNGU0Mzc4NmFiOTk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApA
QCAtNjAyLDYgKzYwMiwxNSBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZU9wZW5pbgogQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5
U3RhdGVBY3RpdmUsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUFj
dGl2ZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NpbmcpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVDbG9zZWQsIFJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NlZCk7CisKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
OjpJQ0VTdGF0ZU5ldywgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0ZU5l
dyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudDo6SUNFU3RhdGVHYXRoZXJpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudDo6SWNlU3RhdGVHYXRoZXJpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0YXRlV2FpdGluZywgUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0ZVdhaXRpbmcpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0
YXRlQ2hlY2tpbmcsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6SWNlU3RhdGVDaGVj
a2luZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudDo6SUNFU3RhdGVDb25uZWN0ZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudDo6SWNlU3RhdGVDb25uZWN0ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklDRVN0YXRlQ29tcGxldGVkLCBS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OkljZVN0YXRlQ29tcGxldGVkKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
OjpJQ0VTdGF0ZUZhaWxlZCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VTdGF0
ZUZhaWxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6SUNFU3RhdGVDbG9zZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudDo6SWNlU3RhdGVDbG9zZWQpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0NSSVBURURf
U1BFRUNIKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDk5NmI0Y2MzZGM3OTc0M2IwZWNiNDkzNTBlODVkNDc2ODJhZjUzOTIuLmRiMDZjMGM3NjBl
ODZkM2QyMjhiODY3NWI4MzM2OWUyMTM5MjRkMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wOC0zMSAgVG9t
bXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVh
bSBBUEk6IEFkZCBJY2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6Cisg
ICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpNb2NrV2ViUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyKToKKyAgICAgICAgKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXI6OnVwZGF0ZUlDRSk6CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
OjphZGRJQ0VDYW5kaWRhdGUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01v
Y2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKE1vY2tXZWJSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIpOgorCiAyMDEyLTA5LTAxICBYaWFuemh1IFdhbmcgIDx3YW5neGlh
bnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLUFuZHJvaWRdIFJlbW92ZSBo
YXJkLWNvZGVkIHNraXBwZWQgZGlyZWN0b3JpZXMgaW4gY2hyb21pdW1fYW5kcm9pZC5weQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcAppbmRleCA3NjEwODQyNTI0ZTVmYTczNzI2NzNj
Yzk0YjI5MGYzYzg5ZjIzNDU5Li44OTE0NmI3MmVlZDA2NGMzNzNhYTU1NGQxM2RlNWNmODVkOWU5
MjNjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcApAQCAtODYsNiArODYsMTgg
QEAgYm9vbCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjppbml0aWFsaXplKGNvbnN0
IFdlYlJUQ0NvbmZpZ3VyYXRpb24mLCBjb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBN
b2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjp1cGRhdGVJQ0UoY29uc3QgV2ViUlRDQ29u
ZmlndXJhdGlvbiYsIGNvbnN0IFdlYk1lZGlhQ29uc3RyYWludHMmKQoreworICAgIG1fY2xpZW50
LT5kaWRDaGFuZ2VJQ0VTdGF0ZShXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OklD
RVN0YXRlR2F0aGVyaW5nKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBNb2NrV2ViUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyOjphZGRJQ0VDYW5kaWRhdGUoY29uc3QgV2ViUlRDSUNFQ2Fu
ZGlkYXRlRGVzY3JpcHRvciYgaWNlQ2FuZGlkYXRlKQoreworICAgIG1fY2xpZW50LT5kaWRHZW5l
cmF0ZUlDRUNhbmRpZGF0ZShpY2VDYW5kaWRhdGUpOworICAgIHJldHVybiB0cnVlOworfQorCiBi
b29sIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmFkZFN0cmVhbShjb25zdCBXZWJN
ZWRpYVN0cmVhbURlc2NyaXB0b3ImIHN0cmVhbSwgY29uc3QgV2ViTWVkaWFDb25zdHJhaW50cyYp
CiB7CiAgICAgbV9jbGllbnQtPmRpZEFkZFJlbW90ZVN0cmVhbShzdHJlYW0pOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlci5oCmluZGV4IDg4NDUwN2U2NzZhNjJmMjNhNmQyMzc5ZTcwYjJlNmZl
MDdjNWZlZGMuLjQ5Mjc5Mjc4MDQ5OTUzNThjMWIyODJhZTc2MDZiNTNhMTU2MmI2MmYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTQ0LDYgKzQ0LDggQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoY29uc3QgV2ViS2l0OjpXZWJSVENDb25maWd1cmF0
aW9uJiwgY29uc3QgV2ViS2l0OjpXZWJNZWRpYUNvbnN0cmFpbnRzJikgT1ZFUlJJREU7CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgdXBkYXRlSUNFKGNvbnN0IFdlYktpdDo6V2ViUlRDQ29uZmlndXJhdGlv
biYsIGNvbnN0IFdlYktpdDo6V2ViTWVkaWFDb25zdHJhaW50cyYpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgYm9vbCBhZGRJQ0VDYW5kaWRhdGUoY29uc3QgV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRh
dGVEZXNjcmlwdG9yJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGFkZFN0cmVhbShjb25z
dCBXZWJLaXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYsIGNvbnN0IFdlYktpdDo6V2ViTWVk
aWFDb25zdHJhaW50cyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdHJlYW0o
Y29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM2Y2M1M2NkYzA0NGRiZTFiYzdj
YzY4YjBjYTM1YjkyZjBkNzRhMDQuLjYyMDVkNzM2ZGRmMDVmYTVkZWFmZWI5YzcyOTZmM2JmMGUy
OWY0OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wOC0zMSAgVG9tbXkgV2lkZW5mbHlj
aHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IEFkZCBJ
Y2UtcmVsYXRlZCBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU2NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1pY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1sOiBBZGRlZC4KKwogMjAxMi0w
OS0wMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAg
ICAgICAgIFtFRkxdIFVwZGF0ZSBUZXN0RXhwZWN0YXRpb25zIGZvciAyIGZhc3QvYmxvY2sgdGVz
dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24taWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzRhNzM5MWM0Njc2
YmJiNDY2NmJlMmQyNTBiYmRmZmM5MTViOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTYgQEAKK1Rlc3RzIHRoZSBSVENQZWVyQ29ubmVjdGlvbiBJY2UgZnVuY3Rpb25h
bGl0eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMgPSBuZXcgd2Vi
a2l0UlRDUGVlckNvbm5lY3Rpb24obnVsbCwgbnVsbCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBvbkljZUNoYW5nZSB3YXMgY2FsbGVkLgorUEFTUyBwYy5pY2VTdGF0ZSBpcyAiZ2F0
aGVyaW5nIgorUEFTUyBvbkljZUNhbmRpZGF0ZSB3YXMgY2FsbGVkLgorUEFTUyBldmVudC5jYW5k
aWRhdGUuY2FuZGlkYXRlIGlzICJuYW5vIG5hbm8iCitQQVNTIG9uSWNlQ2hhbmdlMiB3YXMgY2Fs
bGVkLgorUEFTUyBwYy5pY2VTdGF0ZSBpcyAiY2xvc2VkIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZm
ZDEyZDczZDBhOWM0ODAyNDk0ODVhN2JlM2UyOTdkNzE1MmZkYjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0cyB0aGUgUlRDUGVlckNvbm5lY3Rpb24gSWNlIGZ1bmN0aW9uYWxpdHkuIik7
CisKK3ZhciBwYyA9IG51bGw7CisKK2Z1bmN0aW9uIG9uSWNlQ2hhbmdlMigpCit7CisgICAgdGVz
dFBhc3NlZCgib25JY2VDaGFuZ2UyIHdhcyBjYWxsZWQuIik7CisgICAgc2hvdWxkQmUoJ3BjLmlj
ZVN0YXRlJywgJyJjbG9zZWQiJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rp
b24gb25JY2VDYW5kaWRhdGUoZXZlbnQpCit7CisgICAgdGVzdFBhc3NlZCgib25JY2VDYW5kaWRh
dGUgd2FzIGNhbGxlZC4iKTsKKyAgICBzaG91bGRCZSgnZXZlbnQuY2FuZGlkYXRlLmNhbmRpZGF0
ZScsICcibmFubyBuYW5vIicpOworCisgICAgcGMub25pY2VjaGFuZ2UgPSBvbkljZUNoYW5nZTI7
CisgICAgcGMuY2xvc2UoKTsKK30KKworZnVuY3Rpb24gb25JY2VDaGFuZ2UxKCkKK3sKKyAgICB0
ZXN0UGFzc2VkKCJvbkljZUNoYW5nZSB3YXMgY2FsbGVkLiIpOworICAgIHNob3VsZEJlKCdwYy5p
Y2VTdGF0ZScsICciZ2F0aGVyaW5nIicpOworCisgICAgcGMub25pY2VjYW5kaWRhdGUgPSBvbklj
ZUNhbmRpZGF0ZTsKKyAgICBwYy5hZGRJY2VDYW5kaWRhdGUobmV3IFJUQ0ljZUNhbmRpZGF0ZSh7
Y2FuZGlkYXRlOiJuYW5vIG5hbm8ifSkpOworfQorCitzaG91bGROb3RUaHJvdygncGMgPSBuZXcg
d2Via2l0UlRDUGVlckNvbm5lY3Rpb24obnVsbCwgbnVsbCk7Jyk7CitwYy5vbmljZWNoYW5nZSA9
IG9uSWNlQ2hhbmdlMTsKK3BjLnVwZGF0ZUljZSgpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>