<?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>127010</bug_id>
          
          <creation_ts>2014-01-14 14:07:45 -0800</creation_ts>
          <short_desc>[CSS Shapes] Basic shapes&apos; computed position should be a horizontal and vertical offset</short_desc>
          <delta_ts>2014-01-17 12:09:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124173</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bear Travis">betravis</reporter>
          <assigned_to name="Bear Travis">betravis</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968032</commentid>
    <comment_count>0</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-01-14 14:07:45 -0800</bug_when>
    <thetext>The computed values for basic shape positions should be a horizontal (left) and vertical (top) offset. Bottom, right, and center coordinates can be converted to these based on a percentage (50% or 100%) and their original offsets.

This initial work will transition over to a calc value for blending, but use the original format for blending, omitting values where possible when serializing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968041</commentid>
    <comment_count>1</comment_count>
      <attachid>221203</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-01-14 14:31:32 -0800</bug_when>
    <thetext>Created attachment 221203
Initial Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968045</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 14:33:44 -0800</bug_when>
    <thetext>Attachment 221203 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/animations/resources/animation-test-helpers.js&apos;, u&apos;LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/parsing/parsing-test-utils.js&apos;, u&apos;LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/BasicShapeFunctions.cpp&apos;, u&apos;Source/WebCore/page/animation/CSSPropertyAnimation.cpp&apos;, u&apos;Source/WebCore/rendering/style/BasicShapes.cpp&apos;, u&apos;Source/WebCore/rendering/style/BasicShapes.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: LayoutTests/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968049</commentid>
    <comment_count>3</comment_count>
      <attachid>221205</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-01-14 14:39:29 -0800</bug_when>
    <thetext>Created attachment 221205
Fixing Changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968153</commentid>
    <comment_count>4</comment_count>
      <attachid>221205</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-14 20:13:50 -0800</bug_when>
    <thetext>Comment on attachment 221205
Fixing Changelog

Attachment 221205 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5156392377778176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968164</commentid>
    <comment_count>5</comment_count>
      <attachid>221205</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-14 21:12:11 -0800</bug_when>
    <thetext>Comment on attachment 221205
Fixing Changelog

Attachment 221205 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5076589335281664</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968306</commentid>
    <comment_count>6</comment_count>
      <attachid>221205</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2014-01-15 07:00:42 -0800</bug_when>
    <thetext>Comment on attachment 221205
Fixing Changelog

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

Looks good overall, glad to see RenderBox params go. As you see I just have some questions left.

&gt; Source/WebCore/rendering/style/BasicShapes.h:128
&gt; +        Flipped

I am not sure that is the best naming. Why would top/left be the default? Maybe &quot;Normal&quot; is better?

&gt; LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:26
&gt; +PASS - &quot;webkitShapeOutside&quot; property for &quot;circle-to-bottomright-extended-using-keyword-2-box&quot; element at 1s saw something close to: circle(35% at calc((50% * 0.5) + ((100% - 10%) * 0.5)) calc((50% * 0.5) + ((100% - 10px) * 0.5)))

The calc() stuff takes some getting used to :)
How does calc() know what box (border/content/etc) to apply the calculations to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968750</commentid>
    <comment_count>7</comment_count>
      <attachid>221205</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2014-01-16 07:23:38 -0800</bug_when>
    <thetext>Comment on attachment 221205
Fixing Changelog

astearns pointed out on irc that my reference box calculation comment is invalid. That only leaves the naming, which I encourage you to have a look at before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968845</commentid>
    <comment_count>8</comment_count>
      <attachid>221398</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-01-16 12:07:30 -0800</bug_when>
    <thetext>Created attachment 221398
Renaming Direction Types

Renamed to TopLeft and BottomRight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968859</commentid>
    <comment_count>9</comment_count>
      <attachid>221398</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-16 12:33:18 -0800</bug_when>
    <thetext>Comment on attachment 221398
Renaming Direction Types

Attachment 221398 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5298898050482176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968891</commentid>
    <comment_count>10</comment_count>
      <attachid>221398</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-16 12:58:44 -0800</bug_when>
    <thetext>Comment on attachment 221398
Renaming Direction Types

Attachment 221398 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4767758436794368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969002</commentid>
    <comment_count>11</comment_count>
      <attachid>221430</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-01-16 17:13:53 -0800</bug_when>
    <thetext>Created attachment 221430
Fixing up unused params</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969195</commentid>
    <comment_count>12</comment_count>
      <attachid>221430</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-17 12:09:18 -0800</bug_when>
    <thetext>Comment on attachment 221430
Fixing up unused params

Clearing flags on attachment: 221430

Committed r162210: &lt;http://trac.webkit.org/changeset/162210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969196</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-17 12:09:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221203</attachid>
            <date>2014-01-14 14:31:32 -0800</date>
            <delta_ts>2014-01-14 14:39:27 -0800</delta_ts>
            <desc>Initial Patch</desc>
            <filename>bug-127010-20140114143127.patch</filename>
            <type>text/plain</type>
            <size>44779</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFjYjY3YmY3YTBjNWQx
M2ZjNjM5Y2ViODhiMjY2MGU5OWRjNmI4OC4uN2EyMDNhMWZiNjgzMGQ2NjE0MDIxOTkzNzZhNTk0
ZDE2YWUzZDlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTE0ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQmFz
aWMgc2hhcGVzJyBjb21wdXRlZCBwb3NpdGlvbiBzaG91bGQgYmUgYSBob3Jpem9udGFsIGFuZCB2
ZXJ0aWNhbCBvZmZzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyB0aGUgY29tcHV0ZWQgcG9zaXRpb24gdmFsdWVzIHVz
ZWQgZm9yIGJsZW5kaW5nIHRvIGJlIGEgaG9yaXpvbnRhbAorICAgICAgICBsZWZ0IG9mZnNldCBh
bmQgYSB2ZXJ0aWNhbCB0b3Agb2Zmc2V0LiBXaGVuIHBvc2l0aW9ucyBpbmNsdWRlIGEgY2VudGVy
LCBib3R0b20sIG9yCisgICAgICAgIHJpZ2h0IHBvc2l0aW9uIG9mZnNldCwgaXQgaXMgY29udmVy
dGVkIHRvIHRoZSBhcHByb3ByaWF0ZSB0b3AvbGVmdCBjb29yZGluYXRlIGFzCisgICAgICAgIGEg
Y2FsYyBleHByZXNzaW9uLiBTZXJpYWxpemVkIHZhbHVlcyBzdGlsbCB1c2UgdGhlIG9yaWdpbmFs
IGJvdHRvbS9yaWdodCBkaXJlY3Rpb25zCisgICAgICAgIHdoZW4gcHJlc2VudCwgYW5kIGFsc28g
b21pdCB0aGUgdG9wL2xlZnQga2V5d29yZHMgd2hlcmUgcG9zc2libGUuCisKKyAgICAgICAgVXBk
YXRlZCBwYXJzaW5nIGFuZCBhbmltYXRpb24gdGVzdHMuCisKKyAgICAgICAgKiBjc3MvQmFzaWNT
aGFwZUZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckNlbnRlckNvb3Jk
aW5hdGUpOiBVc2UgdGhlIHNpbXBsaWZpZWQgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUsCisg
ICAgICAgIHdoaWNoIGluY2x1ZGVzIGFuIG9mZnNldCBhbmQgd2hldGhlciB0aGUgZGlyZWN0aW9u
IGlzIHRoZSBkZWZhdWx0IG9yIGZsaXBwZWQuCisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckJh
c2ljU2hhcGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0NlbnRlckNvb3Jk
aW5hdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmJhc2ljU2hhcGVGb3JWYWx1ZSk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6ZmxvYXRWYWx1ZUZvckNlbnRlckNvb3JkaW5hdGUpOiBE
aXR0by4KKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpibGVuZEZ1bmMpOiBSZW1vdmUgdGhlIFJlbmRlckJveCBwYXJh
bWV0ZXIsIHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL0Jhc2ljU2hhcGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjp1cGRhdGVDb21wdXRlZExlbmd0aCk6IENhbGN1bGF0ZSB0aGUgY29tcHV0ZWQK
KyAgICAgICAgcG9zaXRpb24gb2Zmc2V0IGZvciB0aGlzIGNlbnRlciBjb29yZGluYXRlLgorICAg
ICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQpOiBSZW1vdmUgdGhlIFJl
bmRlckJveCBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQmFzaWNTaGFw
ZUNpcmNsZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDaXJj
bGU6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQmFzaWNTaGFw
ZUVsbGlwc2U6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlRWxs
aXBzZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVQb2x5Z29u
OjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUluc2V0UmVjdGFu
Z2xlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUluc2V0Ojpi
bGVuZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oOgor
ICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkJhc2ljU2hhcGVD
ZW50ZXJDb29yZGluYXRlKTogU2ltcGxpZnkKKyAgICAgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUgdG8gY29udGFpbiBhbiBvZmZzZXQgYW5kIGEgZGlyZWN0aW9uIChkZWZhdWx0IG9yIGZs
aXBwZWQpLgorICAgICAgICBBbHNvIGFkZCBhIGNvbXB1dGVkIGxlbmd0aCwgd2hpY2ggaXMgYW4g
b2Zmc2V0IGZyb20gdGhlIGRlZmF1bHQgZGlyZWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6QmFz
aWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OmRpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6Y29tcHV0ZWRMZW5ndGgpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OmJsZW5kKToKKwogMjAxNC0wMS0xNCAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRGlyZWN0
bHkgYWxsb2NhdGUgTlNNdXRhYmxlRGljdGlvbmFyeSBpbiBRTFByZXZpZXdDb252ZXJ0ZXJEaWN0
aW9uYXJ5KCkgYW5kIFFMQ29udGVudERpY3Rpb25hcnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Jh
c2ljU2hhcGVGdW5jdGlvbnMuY3BwCmluZGV4IGVkYTc3NzAxYzQ2Y2NmMzE5NjdkZmNjZjk2YmNi
ODE2Y2Y5ODQzZTAuLmJlNDA4YWNjMzg1OWFjNTAzODA5YzJiOTE3NTA0ZjU5MmRkMjJhNzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKQEAgLTgxLDI1ICs4
MSwxMiBAQCBMYXlvdXRCb3ggYm94Rm9yVmFsdWUoY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUqIHZh
bHVlKQogICAgIH0KIH0KIAotc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZh
bHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShDU1NWYWx1ZVBvb2wmIHBvb2wsIGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIGNlbnRlcikKK3N0
YXRpYyBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckNlbnRlckNvb3JkaW5h
dGUoQ1NTVmFsdWVQb29sJiBwb29sLCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIEVCb3hPcmllbnQgb3JpZW50YXRpb24p
CiB7Ci0gICAgQ1NTVmFsdWVJRCBrZXl3b3JkID0gQ1NTVmFsdWVJbnZhbGlkOwotICAgIHN3aXRj
aCAoY2VudGVyLmtleXdvcmQoKSkgewotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGU6Ok5vbmU6CisgICAgaWYgKGNlbnRlci5kaXJlY3Rpb24oKSA9PSBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZTo6RGVmYXVsdCkKICAgICAgICAgcmV0dXJuIHBvb2wuY3JlYXRlVmFsdWUoY2Vu
dGVyLmxlbmd0aCgpLCBzdHlsZSk7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZTo6VG9wOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVUb3A7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJpZ2h0OgotICAgICAgICBrZXl3
b3JkID0gQ1NTVmFsdWVSaWdodDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZTo6Qm90dG9tOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVCb3R0
b207Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
OkxlZnQ6Ci0gICAgICAgIGtleXdvcmQgPSBDU1NWYWx1ZUxlZnQ7Ci0gICAgICAgIGJyZWFrOwot
ICAgIH0KKworICAgIENTU1ZhbHVlSUQga2V5d29yZCA9IG9yaWVudGF0aW9uID09IEhPUklaT05U
QUwgPyBDU1NWYWx1ZVJpZ2h0IDogQ1NTVmFsdWVCb3R0b207CiAKICAgICByZXR1cm4gcG9vbC5j
cmVhdGVWYWx1ZShQYWlyOjpjcmVhdGUocG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoa2V5d29y
ZCksIHBvb2wuY3JlYXRlVmFsdWUoY2VudGVyLmxlbmd0aCgpLCBzdHlsZSkpKTsKIH0KQEAgLTE1
NCw4ICsxNDEsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckJhc2ljU2hhcGUoY29u
c3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCYXNpY1NoYQogICAgICAgICBjb25zdCBCYXNp
Y1NoYXBlQ2lyY2xlKiBjaXJjbGUgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xl
Kj4oYmFzaWNTaGFwZSk7CiAgICAgICAgIFJlZlB0cjxDU1NCYXNpY1NoYXBlQ2lyY2xlPiBjaXJj
bGVWYWx1ZSA9IENTU0Jhc2ljU2hhcGVDaXJjbGU6OmNyZWF0ZSgpOwogCi0gICAgICAgIGNpcmNs
ZVZhbHVlLT5zZXRDZW50ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwg
Y2lyY2xlLT5jZW50ZXJYKCkpKTsKLSAgICAgICAgY2lyY2xlVmFsdWUtPnNldENlbnRlclkodmFs
dWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBjaXJjbGUtPmNlbnRlclkoKSkpOwor
ICAgICAgICBjaXJjbGVWYWx1ZS0+c2V0Q2VudGVyWCh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUo
cG9vbCwgc3R5bGUsIGNpcmNsZS0+Y2VudGVyWCgpLCBIT1JJWk9OVEFMKSk7CisgICAgICAgIGNp
cmNsZVZhbHVlLT5zZXRDZW50ZXJZKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHls
ZSwgY2lyY2xlLT5jZW50ZXJZKCksIFZFUlRJQ0FMKSk7CiAgICAgICAgIGNpcmNsZVZhbHVlLT5z
ZXRSYWRpdXMoYmFzaWNTaGFwZVJhZGl1c1RvQ1NTVmFsdWUoc3R5bGUsIHBvb2wsIGNpcmNsZS0+
cmFkaXVzKCkpKTsKICAgICAgICAgYmFzaWNTaGFwZVZhbHVlID0gY2lyY2xlVmFsdWUucmVsZWFz
ZSgpOwogICAgICAgICBicmVhazsKQEAgLTE3Niw4ICsxNjMsOCBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiB2YWx1ZUZvckJhc2ljU2hhcGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBC
YXNpY1NoYQogICAgICAgICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogZWxsaXBzZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4oYmFzaWNTaGFwZSk7CiAgICAgICAgIFJl
ZlB0cjxDU1NCYXNpY1NoYXBlRWxsaXBzZT4gZWxsaXBzZVZhbHVlID0gQ1NTQmFzaWNTaGFwZUVs
bGlwc2U6OmNyZWF0ZSgpOwogCi0gICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2VudGVyWCh2YWx1
ZUZvckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRlclgoKSkpOwot
ICAgICAgICBlbGxpcHNlVmFsdWUtPnNldENlbnRlclkodmFsdWVGb3JDZW50ZXJDb29yZGluYXRl
KHBvb2wsIHN0eWxlLCBlbGxpcHNlLT5jZW50ZXJZKCkpKTsKKyAgICAgICAgZWxsaXBzZVZhbHVl
LT5zZXRDZW50ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgZWxsaXBz
ZS0+Y2VudGVyWCgpLCBIT1JJWk9OVEFMKSk7CisgICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2Vu
dGVyWSh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRl
clkoKSwgVkVSVElDQUwpKTsKICAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNYKGJhc2lj
U2hhcGVSYWRpdXNUb0NTU1ZhbHVlKHN0eWxlLCBwb29sLCBlbGxpcHNlLT5yYWRpdXNYKCkpKTsK
ICAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNZKGJhc2ljU2hhcGVSYWRpdXNUb0NTU1Zh
bHVlKHN0eWxlLCBwb29sLCBlbGxpcHNlLT5yYWRpdXNZKCkpKTsKICAgICAgICAgYmFzaWNTaGFw
ZVZhbHVlID0gZWxsaXBzZVZhbHVlLnJlbGVhc2UoKTsKQEAgLTI0MiwyOSArMjI5LDQwIEBAIHN0
YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgUmVuZGVyU3R5bGUqIHJvb3RTCiAKIHN0YXRpYyBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZSBjb252ZXJ0VG9DZW50ZXJDb29yZGluYXRlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQogewot
ICAgIGlmIChQYWlyKiBwYWlyID0gdmFsdWUtPmdldFBhaXJWYWx1ZSgpKSB7Ci0gICAgICAgIEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpLZXl3b3JkIGtleXdvcmQgPSBCYXNpY1NoYXBlQ2Vu
dGVyQ29vcmRpbmF0ZTo6Tm9uZTsKLSAgICAgICAgc3dpdGNoIChwYWlyLT5maXJzdCgpLT5nZXRW
YWx1ZUlEKCkpIHsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVRvcDoKLSAgICAgICAgICAgIGtleXdv
cmQgPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6VG9wOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNp
Y1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6UmlnaHQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDU1NWYWx1ZUJvdHRvbToKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZTo6Qm90dG9tOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ1NTVmFsdWVMZWZ0OgotICAgICAgICAgICAga2V5d29yZCA9IEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjpMZWZ0OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShrZXl3b3Jk
LCBjb252ZXJ0VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgcGFpci0+c2Vjb25kKCkpKTsKKyAg
ICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6RGlyZWN0aW9uIGRpcmVjdGlvbjsKKyAgICBM
ZW5ndGggb2Zmc2V0ID0gTGVuZ3RoKDAsIEZpeGVkKTsKKworICAgIENTU1ZhbHVlSUQga2V5d29y
ZCA9IENTU1ZhbHVlVG9wOworICAgIGlmICghdmFsdWUpCisgICAgICAgIGtleXdvcmQgPSBDU1NW
YWx1ZUNlbnRlcjsKKyAgICBlbHNlIGlmICh2YWx1ZS0+aXNWYWx1ZUlEKCkpCisgICAgICAgIGtl
eXdvcmQgPSB2YWx1ZS0+Z2V0VmFsdWVJRCgpOworICAgIGVsc2UgaWYgKFBhaXIqIHBhaXIgPSB2
YWx1ZS0+Z2V0UGFpclZhbHVlKCkpIHsKKyAgICAgICAga2V5d29yZCA9IHBhaXItPmZpcnN0KCkt
PmdldFZhbHVlSUQoKTsKKyAgICAgICAgb2Zmc2V0ID0gY29udmVydFRvTGVuZ3RoKHN0eWxlLCBy
b290U3R5bGUsIHBhaXItPnNlY29uZCgpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb2Zmc2V0ID0g
Y29udmVydFRvTGVuZ3RoKHN0eWxlLCByb290U3R5bGUsIHZhbHVlKTsKKworICAgIHN3aXRjaCAo
a2V5d29yZCkgeworICAgIGNhc2UgQ1NTVmFsdWVUb3A6CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6
CisgICAgICAgIGRpcmVjdGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpEZWZhdWx0
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgY2FzZSBDU1NW
YWx1ZUJvdHRvbToKKyAgICAgICAgZGlyZWN0aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGU6OkZsaXBwZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVmFsdWVDZW50ZXI6Cisg
ICAgICAgIGRpcmVjdGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpEZWZhdWx0Owor
ICAgICAgICBvZmZzZXQgPSBMZW5ndGgoNTAsIFBlcmNlbnQpOworICAgICAgICBicmVhazsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgZGlyZWN0
aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkRlZmF1bHQ7CisgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShjb252ZXJ0
VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgdmFsdWUpKTsKKyAgICByZXR1cm4gQmFzaWNTaGFw
ZUNlbnRlckNvb3JkaW5hdGUoZGlyZWN0aW9uLCBvZmZzZXQpOwogfQogCiBzdGF0aWMgQmFzaWNT
aGFwZVJhZGl1cyBjc3NWYWx1ZVRvQmFzaWNTaGFwZVJhZGl1cyhjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IHJhZGl1cykKQEAgLTMyOSwxMyArMzI3LDggQEAgUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBS
ZW5kZXIKICAgICAgICAgY29uc3QgQ1NTQmFzaWNTaGFwZUNpcmNsZSogY2lyY2xlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlQ2lyY2xlICo+KGJhc2ljU2hhcGVWYWx1ZSk7
CiAgICAgICAgIFJlZlB0cjxCYXNpY1NoYXBlQ2lyY2xlPiBjaXJjbGUgPSBCYXNpY1NoYXBlQ2ly
Y2xlOjpjcmVhdGUoKTsKIAotICAgICAgICBpZiAoY2lyY2xlVmFsdWUtPmNlbnRlclgoKSAmJiBj
aXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgo
Y29udmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+
Y2VudGVyWCgpKSk7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclkoY29udmVydFRvQ2Vu
dGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUoTGVuZ3RoKDUwLCBQZXJjZW50KSkpOwotICAgICAgICAgICAg
Y2lyY2xlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKExlbmd0aCg1MCwg
UGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoY29udmVy
dFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVy
WCgpKSk7CisgICAgICAgIGNpcmNsZS0+c2V0Q2VudGVyWShjb252ZXJ0VG9DZW50ZXJDb29yZGlu
YXRlKHN0eWxlLCByb290U3R5bGUsIGNpcmNsZVZhbHVlLT5jZW50ZXJZKCkpKTsKICAgICAgICAg
Y2lyY2xlLT5zZXRSYWRpdXMoY3NzVmFsdWVUb0Jhc2ljU2hhcGVSYWRpdXMoc3R5bGUsIHJvb3RT
dHlsZSwgY2lyY2xlVmFsdWUtPnJhZGl1cygpKSk7CiAKICAgICAgICAgYmFzaWNTaGFwZSA9IGNp
cmNsZS5yZWxlYXNlKCk7CkBAIC0zNTcsMTMgKzM1MCw5IEBAIFBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gYmFzaWNTaGFwZUZvclZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVu
ZGVyCiAgICAgICAgIGNvbnN0IENTU0Jhc2ljU2hhcGVFbGxpcHNlKiBlbGxpcHNlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlRWxsaXBzZSAqPihiYXNpY1NoYXBlVmFsdWUp
OwogICAgICAgICBSZWZQdHI8QmFzaWNTaGFwZUVsbGlwc2U+IGVsbGlwc2UgPSBCYXNpY1NoYXBl
RWxsaXBzZTo6Y3JlYXRlKCk7CiAKLSAgICAgICAgaWYgKGVsbGlwc2VWYWx1ZS0+Y2VudGVyWCgp
ICYmIGVsbGlwc2VWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKLSAgICAgICAgICAgIGVsbGlwc2UtPnNldENlbnRlclkoY29u
dmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPmNl
bnRlclkoKSkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZWxsaXBzZS0+c2V0Q2Vu
dGVyWChCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGgoNTAsIFBlcmNlbnQpKSk7Ci0g
ICAgICAgICAgICBlbGxpcHNlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRl
KExlbmd0aCg1MCwgUGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKKyAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWShjb252ZXJ0
VG9DZW50ZXJDb29yZGluYXRlKHN0eWxlLCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+Y2VudGVy
WSgpKSk7CisKICAgICAgICAgZWxsaXBzZS0+c2V0UmFkaXVzWChjc3NWYWx1ZVRvQmFzaWNTaGFw
ZVJhZGl1cyhzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPnJhZGl1c1goKSkpOwogICAg
ICAgICBlbGxpcHNlLT5zZXRSYWRpdXNZKGNzc1ZhbHVlVG9CYXNpY1NoYXBlUmFkaXVzKHN0eWxl
LCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+cmFkaXVzWSgpKSk7CiAKQEAgLTQ2OCwxOSArNDU3
LDkgQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXIKIGZsb2F0IGZsb2F0VmFsdWVGb3JDZW50ZXJD
b29yZGluYXRlKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIGZsb2F0
IGJveERpbWVuc2lvbikKIHsKICAgICBmbG9hdCBvZmZzZXQgPSBmbG9hdFZhbHVlRm9yTGVuZ3Ro
KGNlbnRlci5sZW5ndGgoKSwgYm94RGltZW5zaW9uKTsKLSAgICBzd2l0Y2ggKGNlbnRlci5rZXl3
b3JkKCkpIHsKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpOb25lOgotICAg
ICAgICByZXR1cm4gb2Zmc2V0OwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
OlRvcDoKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpMZWZ0OgorICAgIGlm
IChjZW50ZXIuZGlyZWN0aW9uKCkgPT0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkRlZmF1
bHQpCiAgICAgICAgIHJldHVybiBvZmZzZXQ7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZTo6Qm90dG9tOgotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJp
Z2h0OgotICAgICAgICByZXR1cm4gYm94RGltZW5zaW9uIC0gb2Zmc2V0OwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBib3hEaW1l
bnNpb24gLSBvZmZzZXQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCAwOWY4ZGFiMWYwNWFjMzkw
ZWM3MTdiNmM2ZDg5Mzc5NmE3ODc3NmYxLi45OTA5NTJhOGRiNWUxOTExZWY2MDAzMjk5MWMxYzM4
NGM0N2FhM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQ
cm9wZXJ0eUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q1NTUHJvcGVydHlBbmltYXRpb24uY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIGlubGlu
ZSBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9u
QmFzZSogYW5pbSwKICAgICAgICAgcmV0dXJuIHRvOwogCiAgICAgQVNTRVJUKGFuaW0tPnJlbmRl
cmVyKCktPmlzQm94KCkpOwotICAgIHJldHVybiBTaGFwZUNsaXBQYXRoT3BlcmF0aW9uOjpjcmVh
dGUodG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0t
PnJlbmRlcmVyKCkpKSk7CisgICAgcmV0dXJuIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb246OmNyZWF0
ZSh0b1NoYXBlLT5ibGVuZChmcm9tU2hhcGUsIHByb2dyZXNzKSk7CiB9CiAKICNpZiBFTkFCTEUo
Q1NTX1NIQVBFUykKQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8
U2hhcGVWYWx1ZT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYXBlVgog
ICAgICAgICByZXR1cm4gdG87CiAKICAgICBBU1NFUlQoYW5pbS0+cmVuZGVyZXIoKS0+aXNCb3go
KSk7Ci0gICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+Ymxl
bmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVyKCkpKSk7
CisgICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+YmxlbmQo
ZnJvbVNoYXBlLCBwcm9ncmVzcykpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCmluZGV4IDRjYWQyZTQ3MDI4OTU3YzQxOGQ2
YmMyMDM3NDU3NWQ3Y2I0NTg4NjQuLmQ4Mjg4NjlmMTAyNDQyNTMyZmY4YjcxYWFiY2NiMGVkODQw
NzM5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1No
YXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVz
LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkJhc2ljU2hhcGVzLmgiCiAKICNpbmNs
dWRlICJCYXNpY1NoYXBlRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiQ2FsY3VsYXRpb25WYWx1ZS5o
IgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgog
I2luY2x1ZGUgIlBhdGguaCIKQEAgLTM5LDYgKzQwLDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAordm9pZCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6dXBkYXRlQ29tcHV0ZWRMZW5n
dGgoKQoreworICAgIGlmIChtX2RpcmVjdGlvbiA9PSBEZWZhdWx0KSB7CisgICAgICAgIG1fY29t
cHV0ZWRMZW5ndGggPSBtX2xlbmd0aC5pc1VuZGVmaW5lZCgpID8gTGVuZ3RoKDAsIEZpeGVkKSA6
IG1fbGVuZ3RoOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChtX2xlbmd0aC5pc1Vu
ZGVmaW5lZCgpKSB7CisgICAgICAgIG1fY29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoMTAwLCBQZXJj
ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE93blB0cjxDYWxjRXhwcmVzc2lv
bkxlbmd0aD4gbGhzID0gYWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uTGVuZ3RoKExlbmd0aCgx
MDAsIFBlcmNlbnQpKSk7CisgICAgT3duUHRyPENhbGNFeHByZXNzaW9uTGVuZ3RoPiByaHMgPSBh
ZG9wdFB0cihuZXcgQ2FsY0V4cHJlc3Npb25MZW5ndGgobV9sZW5ndGgpKTsKKyAgICBPd25QdHI8
Q2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb24+IG9wID0gYWRvcHRQdHIobmV3IENhbGNFeHBy
ZXNzaW9uQmluYXJ5T3BlcmF0aW9uKGxocy5yZWxlYXNlKCksIHJocy5yZWxlYXNlKCksIENhbGNT
dWJ0cmFjdCkpOworICAgIG1fY29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoQ2FsY3VsYXRpb25WYWx1
ZTo6Y3JlYXRlKG9wLnJlbGVhc2UoKSwgQ2FsY3VsYXRpb25SYW5nZUFsbCkpOworfQorCiBib29s
IEJhc2ljU2hhcGU6OmNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAogewog
ICAgIC8vIEZJWE1FOiBTdXBwb3J0IGFuaW1hdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc2hhcGVz
IGluIHRoZSBmdXR1cmUuCkBAIC03MywzNyArOTEsNiBAQCBib29sIEJhc2ljU2hhcGU6OmNhbkJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAogICAgICAgICAmJiB0aGlzRWxsaXBz
ZS0+cmFkaXVzWSgpLmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWSgpKSk7CiB9CiAKLUZs
b2F0U2l6ZSBCYXNpY1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKGNvbnN0IFJlbmRlckJveCYgcmVu
ZGVyZXIpIGNvbnN0Ci17Ci0gICAgc3dpdGNoIChsYXlvdXRCb3goKSkgewotICAgIGNhc2UgQ29u
dGVudEJveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmNvbnRlbnRCb3hSZWN0KCkuc2l6ZSgp
OwotICAgIGNhc2UgUGFkZGluZ0JveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhZGRpbmdC
b3hSZWN0KCkuc2l6ZSgpOwotICAgIGNhc2UgQm9yZGVyQm94OgotICAgICAgICByZXR1cm4gcmVu
ZGVyZXIuc2l6ZSgpOwotICAgIGNhc2UgQm94TWlzc2luZzogLy8gSWYgPGJveD4gaXMgbm90IHN1
cHBsaWVkLCB0aGVuIHRoZSByZWZlcmVuY2UgYm94IGRlZmF1bHRzIHRvIG1hcmdpbi1ib3guCi0g
ICAgY2FzZSBNYXJnaW5Cb3g6Ci0gICAgICAgIHJldHVybiBGbG9hdFNpemUocmVuZGVyZXIubWFy
Z2luTGVmdCgpICsgcmVuZGVyZXIud2lkdGgoKSArIHJlbmRlcmVyLm1hcmdpblJpZ2h0KCksCi0g
ICAgICAgICAgICByZW5kZXJlci5tYXJnaW5Ub3AoKSArIHJlbmRlcmVyLmhlaWdodCgpICsgcmVu
ZGVyZXIubWFyZ2luQm90dG9tKCkpOwotICAgIGNhc2UgQm91bmRpbmdCb3g6Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBGbG9h
dFNpemUoKTsKLX0KLQotTGVuZ3RoIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpsZW5ndGhG
b3JCbGVuZGluZyhjb25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0Ci17Ci0gICAgTGVuZ3Ro
IGxlbmd0aCA9IHRoaXMtPmxlbmd0aCgpOwotICAgIGlmIChrZXl3b3JkKCkgPT0gUmlnaHQpCi0g
ICAgICAgIHJldHVybiBMZW5ndGgoMTAwIC0gKGxlbmd0aC5pc1BlcmNlbnQoKSA/IGxlbmd0aC5w
ZXJjZW50KCkgOiAxMDAuZiAqIChsZW5ndGgudmFsdWUoKSAvIGJveFNpemUud2lkdGgoKSkpLCBQ
ZXJjZW50KTsKLSAgICBpZiAoa2V5d29yZCgpID09IEJvdHRvbSkKLSAgICAgICAgcmV0dXJuIExl
bmd0aCgxMDAgLSAobGVuZ3RoLmlzUGVyY2VudCgpID8gbGVuZ3RoLnBlcmNlbnQoKSA6IDEwMC5m
ICogKGxlbmd0aC52YWx1ZSgpIC8gYm94U2l6ZS5oZWlnaHQoKSkpLCBQZXJjZW50KTsKLSAgICBy
ZXR1cm4gbGVuZ3RoOwotfQotCiB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYg
cGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKIHsKICAgICBBU1NFUlQocGF0aC5p
c0VtcHR5KCkpOwpAQCAtMTIxLDcgKzEwOCw3IEBAIHZvaWQgQmFzaWNTaGFwZVJlY3RhbmdsZTo6
cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9
CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgUmVuZGVyQm94Jikg
Y29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQo
Y29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBB
U1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xNTEsNyArMTM4LDcgQEAgdm9p
ZCBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9h
dFJlY3QmIGJvdW5kaW5nQm94KQogICAgICkpOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IERlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhl
ciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxC
YXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNT
aGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgp
ID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xOTMsMTUgKzE4MCwxNCBAQCB2b2lkIEJhc2ljU2hh
cGVDaXJjbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkK
ICAgICApKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlQ2lyY2xlOjpi
bGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5k
ZXJCb3gmIHJlbmRlcmVyKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBl
Q2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBj
b25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAgICAgY29uc3Qg
QmFzaWNTaGFwZUNpcmNsZSogbyA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUq
PihvdGhlcik7CiAgICAgUmVmUHRyPEJhc2ljU2hhcGVDaXJjbGU+IHJlc3VsdCA9ICBCYXNpY1No
YXBlQ2lyY2xlOjpjcmVhdGUoKTsKIAotICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNl
Qm94U2l6ZShyZW5kZXJlcik7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVu
ZChvLT5jZW50ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50
ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7Cisg
ICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dy
ZXNzKSk7CisgICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZ
KCksIHByb2dyZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXMobV9yYWRpdXMuYmxlbmQoby0+
cmFkaXVzKCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CkBA
IC0yMjEsNyArMjA3LDcgQEAgdm9pZCBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OnBhdGgo
UGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsKIH0KIAot
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJv
eCYpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1NoYXBlRWxs
aXBzZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29u
c3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0yNjEsNyAr
MjQ3LDcgQEAgdm9pZCBCYXNpY1NoYXBlRWxsaXBzZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBG
bG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICAgICByYWRpdXNZICogMikpOwogfQogCi1QYXNz
UmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1No
YXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBj
b25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NF
UlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNl
KiBvID0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihvdGhlcik7CkBAIC0y
NzYsOSArMjYyLDggQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIAotICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNlQm94U2l6ZShy
ZW5kZXJlcik7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50
ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2Vu
dGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7CisgICAgcmVzdWx0
LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzKSk7Cisg
ICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dy
ZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXNYKG1fcmFkaXVzWC5ibGVuZChvLT5yYWRpdXNY
KCksIHByb2dyZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXNZKG1fcmFkaXVzWS5ibGVuZChv
LT5yYWRpdXNZKCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CkBA
IC0zMDIsNyArMjg3LDcgQEAgdm9pZCBCYXNpY1NoYXBlUG9seWdvbjo6cGF0aChQYXRoJiBwYXRo
LCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7
CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKGNv
bnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYp
IGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZChj
b25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogewogICAgIEFT
U0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAKQEAgLTM0NCw3ICszMjksNyBAQCB2b2lk
IEJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJl
Y3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFz
aWNTaGFwZUluc2V0UmVjdGFuZ2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91
YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBCYXNpY1NoYXBlSW5zZXRSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90
aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhl
ci0+dHlwZSgpKTsKIApAQCAtMzkwLDcgKzM3NSw3IEBAIHZvaWQgQmFzaWNTaGFwZUluc2V0Ojpw
YXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKTsKIH0K
IAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVJbnNldDo6YmxlbmQoY29uc3QgQmFz
aWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlw
ZSgpID09IG90aGVyLT50eXBlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9CYXNpY1NoYXBlcy5oCmluZGV4IDMxNjBhNGZhM2NiYmUzYmZmOTgxMGY5NGE0MTRjZTIyOGQ4
ZGU1YWYuLjhhNjMyYjAxOWU2NjEyNTI2YWY4YzY3MWM4NWQyMjUwNzZmOTY2MzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJl
Y3QmKSA9IDA7CiAgICAgdmlydHVhbCBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJu
IFJVTEVfTk9OWkVSTzsgfQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hh
cGUqLCBkb3VibGUpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qg
PSAwOwogCkBAIC03Niw4ICs3Niw2IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogCi0gICAg
RmxvYXRTaXplIHJlZmVyZW5jZUJveFNpemUoY29uc3QgUmVuZGVyQm94JikgY29uc3Q7Ci0KIHBy
aXZhdGU6CiAgICAgTGF5b3V0Qm94IG1fbGF5b3V0Qm94OwogfTsKQEAgLTEwOSw3ICsxMDcsNyBA
QCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZs
b2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBi
bGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVSZWN0YW5nbGVUeXBlOyB9
CiBwcml2YXRlOgpAQCAtMTI1LDMwICsxMjMsNDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUgewogcHVibGljOgotICAgIGVudW0gS2V5d29yZCB7Ci0gICAg
ICAgIE5vbmUsCi0gICAgICAgIFRvcCwKLSAgICAgICAgUmlnaHQsCi0gICAgICAgIEJvdHRvbSwK
LSAgICAgICAgTGVmdAorICAgIGVudW0gRGlyZWN0aW9uIHsKKyAgICAgICAgRGVmYXVsdCwKKyAg
ICAgICAgRmxpcHBlZAogICAgIH07Ci0gICAgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoKSA6
IG1fa2V5d29yZChOb25lKSwgbV9sZW5ndGgoVW5kZWZpbmVkKSB7IH0KLSAgICBleHBsaWNpdCBC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGggbGVuZ3RoKSA6IG1fa2V5d29yZChOb25l
KSwgbV9sZW5ndGgobGVuZ3RoKSB7IH0KLSAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShL
ZXl3b3JkIGtleXdvcmQsIExlbmd0aCBsZW5ndGgpIDogbV9rZXl3b3JkKGtleXdvcmQpLCBtX2xl
bmd0aChsZW5ndGgpIHsgfQotICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGNvbnN0IEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlcikgOiBtX2tleXdvcmQob3RoZXIua2V5d29y
ZCgpKSwgbV9sZW5ndGgob3RoZXIubGVuZ3RoKCkpIHsgfQogCi0gICAgS2V5d29yZCBrZXl3b3Jk
KCkgY29uc3QgeyByZXR1cm4gbV9rZXl3b3JkOyB9CisgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUoKQorICAgICAgICA6IG1fZGlyZWN0aW9uKERlZmF1bHQpCisgICAgICAgICwgbV9sZW5n
dGgoVW5kZWZpbmVkKQorICAgIHsKKyAgICAgICAgdXBkYXRlQ29tcHV0ZWRMZW5ndGgoKTsKKyAg
ICB9CisKKyAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShEaXJlY3Rpb24gZGlyZWN0aW9u
LCBMZW5ndGggbGVuZ3RoKQorICAgICAgICA6IG1fZGlyZWN0aW9uKGRpcmVjdGlvbikKKyAgICAg
ICAgLCBtX2xlbmd0aChsZW5ndGgpCisgICAgeworICAgICAgICB1cGRhdGVDb21wdXRlZExlbmd0
aCgpOworICAgIH0KKworICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGNvbnN0IEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlcikKKyAgICAgICAgOiBtX2RpcmVjdGlvbihvdGhl
ci5kaXJlY3Rpb24oKSkKKyAgICAgICAgLCBtX2xlbmd0aChvdGhlci5sZW5ndGgoKSkKKyAgICAg
ICAgLCBtX2NvbXB1dGVkTGVuZ3RoKG90aGVyLm1fY29tcHV0ZWRMZW5ndGgpCisgICAgeworICAg
IH0KKworICAgIERpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlv
bjsgfQogICAgIGNvbnN0IExlbmd0aCYgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7
IH0KLSAgICBMZW5ndGggbGVuZ3RoRm9yQmxlbmRpbmcoY29uc3QgRmxvYXRTaXplJikgY29uc3Q7
CisgICAgY29uc3QgTGVuZ3RoJiBjb21wdXRlZExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29t
cHV0ZWRMZW5ndGg7IH0KIAotICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIGJsZW5kKGNv
bnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBj
b25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0CisgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUgYmxlbmQoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90aGVyLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQmFzaWNTaGFwZUNlbnRl
ckNvb3JkaW5hdGUobGVuZ3RoRm9yQmxlbmRpbmcoYm94U2l6ZSkuYmxlbmQob3RoZXIubGVuZ3Ro
Rm9yQmxlbmRpbmcoYm94U2l6ZSksIHByb2dyZXNzKSk7CisgICAgICAgIHJldHVybiBCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZShEZWZhdWx0LCBtX2NvbXB1dGVkTGVuZ3RoLmJsZW5kKG90aGVy
Lm1fY29tcHV0ZWRMZW5ndGgsIHByb2dyZXNzKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIEtl
eXdvcmQgbV9rZXl3b3JkOworICAgIERpcmVjdGlvbiBtX2RpcmVjdGlvbjsKICAgICBMZW5ndGgg
bV9sZW5ndGg7CisgICAgTGVuZ3RoIG1fY29tcHV0ZWRMZW5ndGg7CisKKyAgICB2b2lkIHVwZGF0
ZUNvbXB1dGVkTGVuZ3RoKCk7CiB9OwogCiBjbGFzcyBCYXNpY1NoYXBlUmFkaXVzIHsKQEAgLTIw
MCw3ICsyMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXMoQmFzaWNTaGFwZVJhZGl1
cyByYWRpdXMpIHsgbV9yYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAgdmlydHVh
bCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91Ymxl
LCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IEJhc2ljU2hhcGVDaXJjbGVUeXBlOyB9CiBwcml2YXRlOgpAQCAtMjI0LDcgKzIzOSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFJhZGl1cyhMZW5ndGggcmFkaXVzKSB7IG1fcmFkaXVzID0gc3Rk
Ojptb3ZlKHJhZGl1cyk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBG
bG9hdFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4g
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0
IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBUeXBl
IHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNs
ZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0yNTEsNyArMjY2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UmFkaXVzWShCYXNpY1NoYXBlUmFkaXVzIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjpt
b3ZlKHJhZGl1c1kpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxv
YXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBC
YXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNTaGFwZUVsbGlwc2VUeXBlOyB9CiBw
cml2YXRlOgpAQCAtMjc4LDcgKzI5Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1ko
TGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjptb3ZlKHJhZGl1c1kpOyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUq
LCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBj
b25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gRGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlVHlwZTsgfQogcHJpdmF0ZToKQEAg
LTMwMiw3ICszMTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRQb2ludChMZW5ndGggeCwg
TGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHN0ZDo6bW92ZSh4KSk7IG1fdmFsdWVzLmFwcGVu
ZChzdGQ6Om1vdmUoeSkpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3Qg
RmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25z
dCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgV2lu
ZFJ1bGUgd2luZFJ1bGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3dpbmRSdWxlOyB9CiAK
QEAgLTM0Myw3ICszNTgsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBh
dGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBS
ZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNT
aGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hh
cGVJbnNldFJlY3RhbmdsZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0zODIsNyArMzk3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Qm90dG9tTGVmdFJhZGl1cyhMZW5ndGhTaXplIHJhZGl1cykgeyBt
X2JvdHRvbUxlZnRSYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAgdmlydHVhbCB2
b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBj
b25zdCBSZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJh
c2ljU2hhcGVJbnNldFR5cGU7IH0KIHByaXZhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjRiNzM2YzBmMjhhNGZhYTMw
OWE5Mzg3NjM4YmFlYmYyY2JiNzU3Zi4uMTYyMGQzMzM0ZTA0YmNmNmQzZDcyMmI4YTg0MTZhYWFl
MDlhNjY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAxLTE0ICBCZWFyIFRyYXZpcyAg
PGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQmFzaWMgc2hhcGVz
JyBjb21wdXRlZCBwb3NpdGlvbiBzaG91bGQgYmUgYSBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBv
ZmZzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJVXBkYXRlIGV4
aXN0aW5nIHBhcnNpbmcgYW5kIGFuaW1hdGlvbiB0ZXN0cy4gRm9yIHBhcnNpbmcgdGVzdHMsIHRv
cCAvIGxlZnQga2V5d29yZHMKKyAgICAgICAgYXJlIG9taXR0ZWQgd2hlbmV2ZXIgcG9zc2libGUu
IEZvciBhbmltYXRpb24gdGVzdHMsIGFuaW1hdGlvbnMgdG8gYm90dG9tIC8gcmlnaHQKKyAgICAg
ICAgb2Zmc2V0cyB3aWxsIHVzZSBjYWxjIHZhbHVlcyBiYXNlZCBmcm9tIHRoZSB0b3AgLyBsZWZ0
IGRpcmVjdGlvbi4KKworICAgICAgICAqIGFuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10
ZXN0LWhlbHBlcnMuanM6CisgICAgICAgIChwYXJzZUJhc2ljU2hhcGUpOiBQYXJzZSBub24tbnVt
ZXJpY2FsIGFyZ3VtZW50cyB0byB0aGUgc2hhcGUgZnVuY3Rpb24uCisgICAgICAgIChiYXNpY1No
YXBlUGFyYW1ldGVyc01hdGNoKTogTWF0Y2ggbm9uLW51bWVyaWNhbCBhcmd1bWVudHMgdG8gdGhl
IHNoYXBlIGZ1bmN0aW9uLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1z
aGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0OiBVcGRhdGUgc2VyaWFsaXplZCB2YWx1ZXMKKyAgICAg
ICAgdG8gb21pdCB0b3AgLyBsZWZ0IGtleXdvcmRzIHdoZW4gcG9zc2libGUuCisgICAgICAgICog
ZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0OiBV
cGRhdGUgc2VyaWFsaXplZCB2YWx1ZXMKKyAgICAgICAgdG8gb21pdCB0b3AgLyBsZWZ0IGtleXdv
cmRzIHdoZW4gcG9zc2libGUuCisgICAgICAgICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5n
LXRlc3QtdXRpbHMuanM6IE1vZGlmeSBzaGFwZSBwYXJzaW5nIHRlc3QgZXhwZWN0YXRpb25zLgor
ICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
YW5pbWF0aW9uLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbDogRGl0dG8uCisK
IDIwMTQtMDEtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dlYkdMXSBJbnZhbGlkIHJhbmdlIGNoZWNraW5nIGluIFdlYkdMUmVuZGVyQ29udGV4dDo6
dmFsaWRhdGVUZXhGdW5jdGlvbkxldmVsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRp
b25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzIGIvTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcwppbmRleCA0NDdmMTY5
OGUyYWE3MWVlZDFhODc4YzFiMzYzNGUzY2I1MTdjZDU1Li44MWZhZjgwYTIxMjQ2M2FiZjI3YTI2
ODkxY2Y2NDk1YWVjYjJhZjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3Jl
c291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCisrKyBiL0xheW91dFRlc3RzL2FuaW1h
dGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMKQEAgLTIzOCwxMCArMjM4
LDE1IEBAIGZ1bmN0aW9uIHBhcnNlQmFzaWNTaGFwZShzKQogCiAgICAgLy8gTm9ybWFsaXplIHBl
cmNlbnRhZ2UgdmFsdWVzLgogICAgIGZvciAoOyBpIDwgbWF0Y2hlcy5sZW5ndGg7ICsraSkgewot
ICAgICAgICB2YXIgcGFyYW0gPSBtYXRjaGVzW2ldOwotICAgICAgICBtYXRjaGVzW2ldID0gcGFy
c2VGbG9hdChtYXRjaGVzW2ldKTsKLSAgICAgICAgaWYgKHBhcmFtLmluZGV4T2YoJyUnKSAhPSAt
MSkKLSAgICAgICAgICAgIG1hdGNoZXNbaV0gPSBtYXRjaGVzW2ldIC8gMTAwOworICAgICAgICB2
YXIgcGFyYW0gPSBwYXJzZUZsb2F0KG1hdGNoZXNbaV0pOworCisgICAgICAgIGlmIChpc05hTihw
YXJhbSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAobWF0Y2hlc1tpXS5p
bmRleE9mKCclJykgIT0gLTEpCisgICAgICAgICAgICBtYXRjaGVzW2ldID0gcGFyYW0gLyAxMDA7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1hdGNoZXNbaV0gPSBwYXJhbTsKICAgICB9CiAK
ICAgICByZXR1cm4geyJzaGFwZSI6IHNoYXBlRnVuY3Rpb25bMV0sICJwYXJhbXMiOiBtYXRjaGVz
fTsKQEAgLTMxMywxNCArMzE4LDExIEBAIGZ1bmN0aW9uIGJhc2ljU2hhcGVQYXJhbWV0ZXJzTWF0
Y2gocGFyYW1MaXN0MSwgcGFyYW1MaXN0MiwgdG9sZXJhbmNlKQogICAgICAgICB8fCBwYXJhbUxp
c3QxLnBhcmFtcy5sZW5ndGggIT0gcGFyYW1MaXN0Mi5wYXJhbXMubGVuZ3RoKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgdmFyIGkgPSAwOwotICAgIGlmIChwYXJhbUxpc3QxLnNoYXBlID09
ICJwb2x5Z29uIikgewotICAgICAgICBpZiAocGFyYW1MaXN0MS5wYXJhbXNbMF0gIT0gcGFyYW1M
aXN0Mi5wYXJhbXNbMF0pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGZpbGwtcnVsZSdz
IGRvbid0IG1hdGNoCi0gICAgICAgIGkrKzsKLSAgICB9CiAgICAgZm9yICg7IGkgPCBwYXJhbUxp
c3QxLnBhcmFtcy5sZW5ndGg7ICsraSkgewogICAgICAgICB2YXIgcGFyYW0xID0gcGFyYW1MaXN0
MS5wYXJhbXNbaV0sIAogICAgICAgICAgICAgcGFyYW0yID0gcGFyYW1MaXN0Mi5wYXJhbXNbaV07
CisgICAgICAgIGlmIChwYXJhbTEgPT09IHBhcmFtMikKKyAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB2YXIgbWF0Y2ggPSBpc0Nsb3NlRW5vdWdoKHBhcmFtMSwgcGFyYW0yLCB0b2xlcmFu
Y2UpOwogICAgICAgICBpZiAoIW1hdGNoKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWlu
c2lkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNp
bmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dAppbmRleCBjNTdmNzIxYWEzNmE3NTM0YWZiZTI4
YTIwMTc1NDNhNTQzZjJkYzBhLi5lY2JlYjRiYjkwYmI2MWM2NjgyNGM1ZjBlYmVhMzczMmUxYmNj
YjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmct
c2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9w
YXJzaW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dApAQCAtNDYsOSArNDYsOSBA
QCBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2ly
Y2xlKGF0IHRvcCBsZWZ0KSIpIGlzICJjaQogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBl
LWluc2lkZSIsICJjaXJjbGUoYXQgcmlnaHQgYm90dG9tKSIpIGlzICJjaXJjbGUoYXQgMTAwJSAx
MDAlKSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIs
ICJjaXJjbGUoYXQgcmlnaHQgYm90dG9tKSIpIGlzICJjaXJjbGUoY2xvc2VzdC1zaWRlIGF0IDEw
MCUgMTAwJSkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNs
ZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IGxlZnQgMCUgdG9w
IDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IGxl
ZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hh
cGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgx
MHB4IGF0IDAlIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIs
ICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0
IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtp
dC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlz
ICJjaXJjbGUoMTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4
IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4KSIKIFBBU1MgZ2V0Q1NT
VGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgcmlnaHQgMTBweCBi
b3R0b20gMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCki
CiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2ly
Y2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQg
cmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
aW5zaWRlIiwgImVsbGlwc2UoMTBweCwgMjBweCwgMzBweCwgNDBweCkiKSBpcyAiZWxsaXBzZSgx
MHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIKQEAgLTc0LDE1ICs3NCwxNSBAQCBQQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZShhdCB0b3AgbGVm
dCkiKSBpcyAiZQogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxp
cHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxsaXBzZShhdCAxMDAlIDEwMCUpIgogUEFTUyBn
ZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoYXQg
cmlnaHQgYm90dG9tKSIpIGlzICJlbGxpcHNlKGNsb3Nlc3Qtc2lkZSBjbG9zZXN0LXNpZGUgYXQg
MTAwJSAxMDAlKSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxs
aXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDAl
IHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4
IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3Ag
MTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAwJSAxMHB4KSIKIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAx
MHB4IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCki
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxs
aXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nl
c3Qtc2lkZSBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0
IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgMTBweCAxMHB4KSIKIFBB
U1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHJp
Z2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJv
dHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiZWxs
aXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQg
bGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAwJSB0b3AgMTBw
eCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAi
ZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIw
cHggYXQgbGVmdCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdl
YmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCB0b3AgMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13
ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4IGxlZnQg
MTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNl
KDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4
IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdl
YmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAx
MHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAx
MHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJv
dHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlz
ICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0
Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicG9seWdvbigxMHB4IDIwcHgsIDMwcHgg
NDBweCwgNDBweCA1MHB4KSIpIGlzICJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0
MHB4LCA0MHB4IDUwcHgpIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0CmluZGV4
IDFkYTYzM2RhYzU3MTRhNmExYzllMzI4YjQwYzczOGJkM2E4MzY4NTguLjY0ZmVmMWJhOWE4NGUx
N2RmZDViZDUwYmUxNzFiMTY4Y2Q5ZGJiZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBl
Y3RlZC50eHQKQEAgLTQ2LDkgKzQ2LDkgQEAgUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoYXQgdG9wIGxlZnQpIikgaXMgImMKIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZShhdCByaWdodCBib3R0
b20pIikgaXMgImNpcmNsZShhdCAxMDAlIDEwMCUpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoYXQgcmlnaHQgYm90dG9tKSIpIGlz
ICJjaXJjbGUoY2xvc2VzdC1zaWRlIGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENTU1RleHQoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlz
ICJjaXJjbGUoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3Ag
MTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENv
bXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0
IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IDAlIDEwcHgpIgogUEFTUyBnZXRD
U1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHgg
bGVmdCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFT
UyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUo
MTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBw
eCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1v
dXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xl
KDEwcHggYXQgMTBweCAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRz
aWRlIiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImNpcmNs
ZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxl
VmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4
IGJvdHRvbSAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4
KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBw
eCwgMjBweCwgMzBweCwgNDBweCkiKSBpcyAiZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4
KSIKQEAgLTc0LDE1ICs3NCwxNSBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtp
dC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoYXQgdG9wIGxlZnQpIikgaXMgIgogUEFTUyBnZXRD
U1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZShhdCByaWdodCBib3R0b20p
IikgaXMgImVsbGlwc2UoYXQgMTAwJSAxMDAlKSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVl
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZShhdCByaWdodCBib3R0b20pIikgaXMg
ImVsbGlwc2UoY2xvc2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAxMDAlIDEwMCUpIgogUEFTUyBn
ZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGxlZnQg
dG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKLVBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgx
MHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQg
bGVmdCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxp
cHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IDAlIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Vi
a2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCB0
b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgbGVm
dCAxMHB4IHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNo
YXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAi
ZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90
dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIK
IFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxs
aXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBj
bG9zZXN0LXNpZGUgYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENTU1RleHQo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAx
MHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKLVBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgx
MHB4IDIwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVm
dCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVs
bGlwc2UoMTBweCAyMHB4IGF0IDAlIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNo
YXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIp
IGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFTUyBnZXRD
b21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHgg
MjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxl
ZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgMTBweCAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgi
LXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHgg
Ym90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9t
IDEwcHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lk
ZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJl
bGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q1NT
VGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgInBvbHlnb24oMTBweCAyMHB4LCAzMHB4IDQw
cHgsIDQwcHggNTBweCkiKSBpcyAicG9seWdvbihub256ZXJvLCAxMHB4IDIwcHgsIDMwcHggNDBw
eCwgNDBweCA1MHB4KSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNp
bmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2lu
Zy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKaW5kZXggNzhkZjRlYTE2YzA2NWQwNTNiYjkxYjNlYTBk
MjAyNTA5NTcxZmJiNC4uZDk0NTM1ZDgzYTMyNDE0OTViYWRkNGU1YjUwODY0YjYzNjIyMWMxOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3Qt
dXRpbHMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRl
c3QtdXRpbHMuanMKQEAgLTMwLDggKzMwLDggQEAgdmFyIHZhbGlkU2hhcGVWYWx1ZXMgPSBbCiAg
ICAgWyJjaXJjbGUoYXQgMTBweCAxMHB4KSIsICJjaXJjbGUoYXQgMTBweCAxMHB4KSIsICJjaXJj
bGUoY2xvc2VzdC1zaWRlIGF0IDEwcHggMTBweCkiXSwKICAgICBbImNpcmNsZShhdCB0b3AgbGVm
dCkiLCAiY2lyY2xlKGF0IDAlIDAlKSIsICJjaXJjbGUoY2xvc2VzdC1zaWRlIGF0IDAlIDAlKSJd
LAogICAgIFsiY2lyY2xlKGF0IHJpZ2h0IGJvdHRvbSkiLCAiY2lyY2xlKGF0IDEwMCUgMTAwJSki
LCAiY2lyY2xlKGNsb3Nlc3Qtc2lkZSBhdCAxMDAlIDEwMCUpIl0sCi0gICAgWyJjaXJjbGUoMTBw
eCBhdCBsZWZ0IHRvcCAxMHB4KSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSJd
LAotICAgIFsiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIsICJjaXJjbGUoMTBw
eCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIl0sCisgICAgWyJjaXJjbGUoMTBweCBhdCBsZWZ0IHRv
cCAxMHB4KSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIsICJjaXJjbGUoMTBw
eCBhdCAwJSAxMHB4KSJdLAorICAgIFsiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4
KSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0
IDEwcHggMTBweCkiXSwKICAgICBbImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEw
cHgpIiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIl0sCiAKICAgICAi
ZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIsIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyB0
ZXN0IG9uY2Ugd2UgZG8gbm90IHN1cHBvcnQgdGhlIGRlcHJlY2F0ZWQgQ1NTIFNoYXBlcyBzeW50
YXggYW55bW9yZS4KQEAgLTQ2LDExICs0NiwxMSBAQCB2YXIgdmFsaWRTaGFwZVZhbHVlcyA9IFsK
ICAgICBbImVsbGlwc2UoYXQgMTBweCAxMHB4KSIsICJlbGxpcHNlKGF0IDEwcHggMTBweCkiLCAi
ZWxsaXBzZShjbG9zZXN0LXNpZGUgY2xvc2VzdC1zaWRlIGF0IDEwcHggMTBweCkiXSwKICAgICBb
ImVsbGlwc2UoYXQgdG9wIGxlZnQpIiwgImVsbGlwc2UoYXQgMCUgMCUpIiwgImVsbGlwc2UoY2xv
c2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAwJSAwJSkiXSwKICAgICBbImVsbGlwc2UoYXQgcmln
aHQgYm90dG9tKSIsICJlbGxpcHNlKGF0IDEwMCUgMTAwJSkiLCAiZWxsaXBzZShjbG9zZXN0LXNp
ZGUgY2xvc2VzdC1zaWRlIGF0IDEwMCUgMTAwJSkiXSwKLSAgICBbImVsbGlwc2UoMTBweCBhdCBs
ZWZ0IHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCkiLCAiZWxs
aXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDAlIHRvcCAxMHB4KSJdLAotICAgIFsiZWxs
aXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGF0IGxlZnQg
MTBweCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDEwcHgg
dG9wIDEwcHgpIl0sCisgICAgWyJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiLCAiZWxs
aXBzZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNp
ZGUgYXQgMCUgMTBweCkiXSwKKyAgICBbImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEw
cHgpIiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBw
eCBjbG9zZXN0LXNpZGUgYXQgMTBweCAxMHB4KSJdLAogICAgIFsiZWxsaXBzZSgxMHB4IGF0IHJp
Z2h0IDEwcHggYm90dG9tIDEwcHgpIiwgImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJvdHRv
bSAxMHB4KSIsICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IHJpZ2h0IDEwcHggYm90dG9t
IDEwcHgpIl0sCi0gICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIsICJl
bGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSJdLAotICAgIFsiZWxsaXBzZSgx
MHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBs
ZWZ0IDEwcHggdG9wIDEwcHgpIl0sCisgICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRv
cCAxMHB4KSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIsICJlbGxp
cHNlKDEwcHggMjBweCBhdCAwJSAxMHB4KSJdLAorICAgIFsiZWxsaXBzZSgxMHB4IDIwcHggYXQg
dG9wIDEwcHggbGVmdCAxMHB4KSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDEwcHggdG9w
IDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IDEwcHggMTBweCkiXSwKICAgICBbImVsbGlw
c2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIiwgImVsbGlwc2UoMTBweCAy
MHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIl0sCiAKICAgICBbInBvbHlnb24oMTBweCAy
MHB4LCAzMHB4IDQwcHgsIDQwcHggNTBweCkiLCAicG9seWdvbihub256ZXJvLCAxMHB4IDIwcHgs
IDMwcHggNDBweCwgNDBweCA1MHB4KSJdLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGEzZWVlOTQzNDFjM2IwOTQz
MmIzMDhiOGFhNWVlNWEyY2RmOTY3ZTkuLjI3N2NiN2ZjYjNlMWViMjEyMTIyYTQyZDUxZjE1ODY4
ZmE5ZmViYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFu
aW1hdGlvbi1leHBlY3RlZC50eHQKQEAgLTIyLDYgKzIyLDYgQEAgUEFTUyAtICJ3ZWJraXRTaGFw
ZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLXRvcGxlZnQtYm94IiBlbGVtZW50IGF0
IDFzIHMKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10
by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRo
aW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCiBQQVNTIC0gIndlYmtpdFNoYXBl
T3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29y
ZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBh
dCA3NSUgNzUlKQogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2ly
Y2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRo
aW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCi1QQVNTIC0gIndlYmtpdFNoYXBl
T3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNp
bmcta2V5d29yZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2ly
Y2xlKDM1JSBhdCA3MCUgNzAlKQotUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5
IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1ib3gi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3MCUg
NzAlKQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRv
LWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgY2FsYygoNTAlICogMC41KSArICgo
MTAwJSAtIDEwJSkgKiAwLjUpKSBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMjBweCkgKiAw
LjUpKSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10
by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYm94IiBlbGVtZW50IGF0IDFz
IHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgY2FsYygoNTAlICogMC41KSAr
ICgoMTAwJSAtIDEwJSkgKiAwLjUpKSBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTBweCkg
KiAwLjUpKSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0
bWwKaW5kZXggYjljMzNlNDUyMDg5NmRlMzlhYTkyYWZkMzAyMGE3MGRiZTA3N2EyOC4uMDBmYmQz
ZjU0ZGM0ZDA4ZTZiZTVmZTZkNWZkZGJjYTczOTU3ZDBhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sCkBAIC0xNDYsOCArMTQ2LDggQEAKICAgICAg
IFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSIsICAxLCAiY2lyY2xl
LXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIs
ICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4wNV0sCiAgICAgICBbImNpcmNsZS10by1ib3R0
b21yaWdodC11c2luZy1rZXl3b3JkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC11
c2luZy1rZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3
NSUgNzUlKSIsIDAuMDVdLAogICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
YW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWJveCIsICJ3ZWJraXRT
aGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3NSUgNzUlKSIsIDAuMDVdLAotICAgICAgWyJj
aXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC1hbmltIiwgIDEsICJj
aXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC1ib3giLCAid2Via2l0
U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzAlIDcwJSkiLCAwLjAxXSwKLSAgICAgIFsi
Y2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1hbmltIiwgIDEs
ICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWJveCIsICJ3
ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3MCUgNzAlKSIsIDAuMDFdLAorICAg
ICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC1hbmltIiwg
IDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC1ib3giLCAi
d2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgY2FsYygoNTAlICogMC41KSArICgo
MTAwJSAtIDEwJSkgKiAwLjUpKSBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMjBweCkgKiAw
LjUpKSkiLCAwLjAxXSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVz
aW5nLWtleXdvcmQtMi1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
dXNpbmcta2V5d29yZC0yLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBh
dCBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUwJSAqIDAu
NSkgKyAoKDEwMCUgLSAxMHB4KSAqIDAuNSkpKSIsIDAuMDFdLAogICAgIF07CiAgICAgCiAgICAg
cnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221205</attachid>
            <date>2014-01-14 14:39:29 -0800</date>
            <delta_ts>2014-01-16 12:07:30 -0800</delta_ts>
            <desc>Fixing Changelog</desc>
            <filename>bug-127010-20140114143925.patch</filename>
            <type>text/plain</type>
            <size>44786</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFjYjY3YmY3YTBjNWQx
M2ZjNjM5Y2ViODhiMjY2MGU5OWRjNmI4OC4uN2EyMDNhMWZiNjgzMGQ2NjE0MDIxOTkzNzZhNTk0
ZDE2YWUzZDlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTE0ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQmFz
aWMgc2hhcGVzJyBjb21wdXRlZCBwb3NpdGlvbiBzaG91bGQgYmUgYSBob3Jpem9udGFsIGFuZCB2
ZXJ0aWNhbCBvZmZzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyB0aGUgY29tcHV0ZWQgcG9zaXRpb24gdmFsdWVzIHVz
ZWQgZm9yIGJsZW5kaW5nIHRvIGJlIGEgaG9yaXpvbnRhbAorICAgICAgICBsZWZ0IG9mZnNldCBh
bmQgYSB2ZXJ0aWNhbCB0b3Agb2Zmc2V0LiBXaGVuIHBvc2l0aW9ucyBpbmNsdWRlIGEgY2VudGVy
LCBib3R0b20sIG9yCisgICAgICAgIHJpZ2h0IHBvc2l0aW9uIG9mZnNldCwgaXQgaXMgY29udmVy
dGVkIHRvIHRoZSBhcHByb3ByaWF0ZSB0b3AvbGVmdCBjb29yZGluYXRlIGFzCisgICAgICAgIGEg
Y2FsYyBleHByZXNzaW9uLiBTZXJpYWxpemVkIHZhbHVlcyBzdGlsbCB1c2UgdGhlIG9yaWdpbmFs
IGJvdHRvbS9yaWdodCBkaXJlY3Rpb25zCisgICAgICAgIHdoZW4gcHJlc2VudCwgYW5kIGFsc28g
b21pdCB0aGUgdG9wL2xlZnQga2V5d29yZHMgd2hlcmUgcG9zc2libGUuCisKKyAgICAgICAgVXBk
YXRlZCBwYXJzaW5nIGFuZCBhbmltYXRpb24gdGVzdHMuCisKKyAgICAgICAgKiBjc3MvQmFzaWNT
aGFwZUZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckNlbnRlckNvb3Jk
aW5hdGUpOiBVc2UgdGhlIHNpbXBsaWZpZWQgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUsCisg
ICAgICAgIHdoaWNoIGluY2x1ZGVzIGFuIG9mZnNldCBhbmQgd2hldGhlciB0aGUgZGlyZWN0aW9u
IGlzIHRoZSBkZWZhdWx0IG9yIGZsaXBwZWQuCisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckJh
c2ljU2hhcGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0NlbnRlckNvb3Jk
aW5hdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmJhc2ljU2hhcGVGb3JWYWx1ZSk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6ZmxvYXRWYWx1ZUZvckNlbnRlckNvb3JkaW5hdGUpOiBE
aXR0by4KKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpibGVuZEZ1bmMpOiBSZW1vdmUgdGhlIFJlbmRlckJveCBwYXJh
bWV0ZXIsIHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL0Jhc2ljU2hhcGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjp1cGRhdGVDb21wdXRlZExlbmd0aCk6IENhbGN1bGF0ZSB0aGUgY29tcHV0ZWQK
KyAgICAgICAgcG9zaXRpb24gb2Zmc2V0IGZvciB0aGlzIGNlbnRlciBjb29yZGluYXRlLgorICAg
ICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQpOiBSZW1vdmUgdGhlIFJl
bmRlckJveCBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQmFzaWNTaGFw
ZUNpcmNsZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDaXJj
bGU6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQmFzaWNTaGFw
ZUVsbGlwc2U6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlRWxs
aXBzZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVQb2x5Z29u
OjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUluc2V0UmVjdGFu
Z2xlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUluc2V0Ojpi
bGVuZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oOgor
ICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkJhc2ljU2hhcGVD
ZW50ZXJDb29yZGluYXRlKTogU2ltcGxpZnkKKyAgICAgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUgdG8gY29udGFpbiBhbiBvZmZzZXQgYW5kIGEgZGlyZWN0aW9uIChkZWZhdWx0IG9yIGZs
aXBwZWQpLgorICAgICAgICBBbHNvIGFkZCBhIGNvbXB1dGVkIGxlbmd0aCwgd2hpY2ggaXMgYW4g
b2Zmc2V0IGZyb20gdGhlIGRlZmF1bHQgZGlyZWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6QmFz
aWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OmRpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6Y29tcHV0ZWRMZW5ndGgpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OmJsZW5kKToKKwogMjAxNC0wMS0xNCAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRGlyZWN0
bHkgYWxsb2NhdGUgTlNNdXRhYmxlRGljdGlvbmFyeSBpbiBRTFByZXZpZXdDb252ZXJ0ZXJEaWN0
aW9uYXJ5KCkgYW5kIFFMQ29udGVudERpY3Rpb25hcnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Jh
c2ljU2hhcGVGdW5jdGlvbnMuY3BwCmluZGV4IGVkYTc3NzAxYzQ2Y2NmMzE5NjdkZmNjZjk2YmNi
ODE2Y2Y5ODQzZTAuLmJlNDA4YWNjMzg1OWFjNTAzODA5YzJiOTE3NTA0ZjU5MmRkMjJhNzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAKQEAgLTgxLDI1ICs4
MSwxMiBAQCBMYXlvdXRCb3ggYm94Rm9yVmFsdWUoY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUqIHZh
bHVlKQogICAgIH0KIH0KIAotc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZh
bHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShDU1NWYWx1ZVBvb2wmIHBvb2wsIGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIGNlbnRlcikKK3N0
YXRpYyBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckNlbnRlckNvb3JkaW5h
dGUoQ1NTVmFsdWVQb29sJiBwb29sLCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIEVCb3hPcmllbnQgb3JpZW50YXRpb24p
CiB7Ci0gICAgQ1NTVmFsdWVJRCBrZXl3b3JkID0gQ1NTVmFsdWVJbnZhbGlkOwotICAgIHN3aXRj
aCAoY2VudGVyLmtleXdvcmQoKSkgewotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGU6Ok5vbmU6CisgICAgaWYgKGNlbnRlci5kaXJlY3Rpb24oKSA9PSBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZTo6RGVmYXVsdCkKICAgICAgICAgcmV0dXJuIHBvb2wuY3JlYXRlVmFsdWUoY2Vu
dGVyLmxlbmd0aCgpLCBzdHlsZSk7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZTo6VG9wOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVUb3A7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJpZ2h0OgotICAgICAgICBrZXl3
b3JkID0gQ1NTVmFsdWVSaWdodDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZTo6Qm90dG9tOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVCb3R0
b207Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
OkxlZnQ6Ci0gICAgICAgIGtleXdvcmQgPSBDU1NWYWx1ZUxlZnQ7Ci0gICAgICAgIGJyZWFrOwot
ICAgIH0KKworICAgIENTU1ZhbHVlSUQga2V5d29yZCA9IG9yaWVudGF0aW9uID09IEhPUklaT05U
QUwgPyBDU1NWYWx1ZVJpZ2h0IDogQ1NTVmFsdWVCb3R0b207CiAKICAgICByZXR1cm4gcG9vbC5j
cmVhdGVWYWx1ZShQYWlyOjpjcmVhdGUocG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoa2V5d29y
ZCksIHBvb2wuY3JlYXRlVmFsdWUoY2VudGVyLmxlbmd0aCgpLCBzdHlsZSkpKTsKIH0KQEAgLTE1
NCw4ICsxNDEsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckJhc2ljU2hhcGUoY29u
c3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCYXNpY1NoYQogICAgICAgICBjb25zdCBCYXNp
Y1NoYXBlQ2lyY2xlKiBjaXJjbGUgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xl
Kj4oYmFzaWNTaGFwZSk7CiAgICAgICAgIFJlZlB0cjxDU1NCYXNpY1NoYXBlQ2lyY2xlPiBjaXJj
bGVWYWx1ZSA9IENTU0Jhc2ljU2hhcGVDaXJjbGU6OmNyZWF0ZSgpOwogCi0gICAgICAgIGNpcmNs
ZVZhbHVlLT5zZXRDZW50ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwg
Y2lyY2xlLT5jZW50ZXJYKCkpKTsKLSAgICAgICAgY2lyY2xlVmFsdWUtPnNldENlbnRlclkodmFs
dWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBjaXJjbGUtPmNlbnRlclkoKSkpOwor
ICAgICAgICBjaXJjbGVWYWx1ZS0+c2V0Q2VudGVyWCh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUo
cG9vbCwgc3R5bGUsIGNpcmNsZS0+Y2VudGVyWCgpLCBIT1JJWk9OVEFMKSk7CisgICAgICAgIGNp
cmNsZVZhbHVlLT5zZXRDZW50ZXJZKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHls
ZSwgY2lyY2xlLT5jZW50ZXJZKCksIFZFUlRJQ0FMKSk7CiAgICAgICAgIGNpcmNsZVZhbHVlLT5z
ZXRSYWRpdXMoYmFzaWNTaGFwZVJhZGl1c1RvQ1NTVmFsdWUoc3R5bGUsIHBvb2wsIGNpcmNsZS0+
cmFkaXVzKCkpKTsKICAgICAgICAgYmFzaWNTaGFwZVZhbHVlID0gY2lyY2xlVmFsdWUucmVsZWFz
ZSgpOwogICAgICAgICBicmVhazsKQEAgLTE3Niw4ICsxNjMsOCBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiB2YWx1ZUZvckJhc2ljU2hhcGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBC
YXNpY1NoYQogICAgICAgICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogZWxsaXBzZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4oYmFzaWNTaGFwZSk7CiAgICAgICAgIFJl
ZlB0cjxDU1NCYXNpY1NoYXBlRWxsaXBzZT4gZWxsaXBzZVZhbHVlID0gQ1NTQmFzaWNTaGFwZUVs
bGlwc2U6OmNyZWF0ZSgpOwogCi0gICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2VudGVyWCh2YWx1
ZUZvckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRlclgoKSkpOwot
ICAgICAgICBlbGxpcHNlVmFsdWUtPnNldENlbnRlclkodmFsdWVGb3JDZW50ZXJDb29yZGluYXRl
KHBvb2wsIHN0eWxlLCBlbGxpcHNlLT5jZW50ZXJZKCkpKTsKKyAgICAgICAgZWxsaXBzZVZhbHVl
LT5zZXRDZW50ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgZWxsaXBz
ZS0+Y2VudGVyWCgpLCBIT1JJWk9OVEFMKSk7CisgICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2Vu
dGVyWSh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRl
clkoKSwgVkVSVElDQUwpKTsKICAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNYKGJhc2lj
U2hhcGVSYWRpdXNUb0NTU1ZhbHVlKHN0eWxlLCBwb29sLCBlbGxpcHNlLT5yYWRpdXNYKCkpKTsK
ICAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNZKGJhc2ljU2hhcGVSYWRpdXNUb0NTU1Zh
bHVlKHN0eWxlLCBwb29sLCBlbGxpcHNlLT5yYWRpdXNZKCkpKTsKICAgICAgICAgYmFzaWNTaGFw
ZVZhbHVlID0gZWxsaXBzZVZhbHVlLnJlbGVhc2UoKTsKQEAgLTI0MiwyOSArMjI5LDQwIEBAIHN0
YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgUmVuZGVyU3R5bGUqIHJvb3RTCiAKIHN0YXRpYyBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZSBjb252ZXJ0VG9DZW50ZXJDb29yZGluYXRlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQogewot
ICAgIGlmIChQYWlyKiBwYWlyID0gdmFsdWUtPmdldFBhaXJWYWx1ZSgpKSB7Ci0gICAgICAgIEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpLZXl3b3JkIGtleXdvcmQgPSBCYXNpY1NoYXBlQ2Vu
dGVyQ29vcmRpbmF0ZTo6Tm9uZTsKLSAgICAgICAgc3dpdGNoIChwYWlyLT5maXJzdCgpLT5nZXRW
YWx1ZUlEKCkpIHsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVRvcDoKLSAgICAgICAgICAgIGtleXdv
cmQgPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6VG9wOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNp
Y1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6UmlnaHQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDU1NWYWx1ZUJvdHRvbToKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZTo6Qm90dG9tOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ1NTVmFsdWVMZWZ0OgotICAgICAgICAgICAga2V5d29yZCA9IEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjpMZWZ0OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShrZXl3b3Jk
LCBjb252ZXJ0VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgcGFpci0+c2Vjb25kKCkpKTsKKyAg
ICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6RGlyZWN0aW9uIGRpcmVjdGlvbjsKKyAgICBM
ZW5ndGggb2Zmc2V0ID0gTGVuZ3RoKDAsIEZpeGVkKTsKKworICAgIENTU1ZhbHVlSUQga2V5d29y
ZCA9IENTU1ZhbHVlVG9wOworICAgIGlmICghdmFsdWUpCisgICAgICAgIGtleXdvcmQgPSBDU1NW
YWx1ZUNlbnRlcjsKKyAgICBlbHNlIGlmICh2YWx1ZS0+aXNWYWx1ZUlEKCkpCisgICAgICAgIGtl
eXdvcmQgPSB2YWx1ZS0+Z2V0VmFsdWVJRCgpOworICAgIGVsc2UgaWYgKFBhaXIqIHBhaXIgPSB2
YWx1ZS0+Z2V0UGFpclZhbHVlKCkpIHsKKyAgICAgICAga2V5d29yZCA9IHBhaXItPmZpcnN0KCkt
PmdldFZhbHVlSUQoKTsKKyAgICAgICAgb2Zmc2V0ID0gY29udmVydFRvTGVuZ3RoKHN0eWxlLCBy
b290U3R5bGUsIHBhaXItPnNlY29uZCgpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb2Zmc2V0ID0g
Y29udmVydFRvTGVuZ3RoKHN0eWxlLCByb290U3R5bGUsIHZhbHVlKTsKKworICAgIHN3aXRjaCAo
a2V5d29yZCkgeworICAgIGNhc2UgQ1NTVmFsdWVUb3A6CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6
CisgICAgICAgIGRpcmVjdGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpEZWZhdWx0
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgY2FzZSBDU1NW
YWx1ZUJvdHRvbToKKyAgICAgICAgZGlyZWN0aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGU6OkZsaXBwZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVmFsdWVDZW50ZXI6Cisg
ICAgICAgIGRpcmVjdGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpEZWZhdWx0Owor
ICAgICAgICBvZmZzZXQgPSBMZW5ndGgoNTAsIFBlcmNlbnQpOworICAgICAgICBicmVhazsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgZGlyZWN0
aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkRlZmF1bHQ7CisgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShjb252ZXJ0
VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgdmFsdWUpKTsKKyAgICByZXR1cm4gQmFzaWNTaGFw
ZUNlbnRlckNvb3JkaW5hdGUoZGlyZWN0aW9uLCBvZmZzZXQpOwogfQogCiBzdGF0aWMgQmFzaWNT
aGFwZVJhZGl1cyBjc3NWYWx1ZVRvQmFzaWNTaGFwZVJhZGl1cyhjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IHJhZGl1cykKQEAgLTMyOSwxMyArMzI3LDggQEAgUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBS
ZW5kZXIKICAgICAgICAgY29uc3QgQ1NTQmFzaWNTaGFwZUNpcmNsZSogY2lyY2xlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlQ2lyY2xlICo+KGJhc2ljU2hhcGVWYWx1ZSk7
CiAgICAgICAgIFJlZlB0cjxCYXNpY1NoYXBlQ2lyY2xlPiBjaXJjbGUgPSBCYXNpY1NoYXBlQ2ly
Y2xlOjpjcmVhdGUoKTsKIAotICAgICAgICBpZiAoY2lyY2xlVmFsdWUtPmNlbnRlclgoKSAmJiBj
aXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgo
Y29udmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+
Y2VudGVyWCgpKSk7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclkoY29udmVydFRvQ2Vu
dGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUoTGVuZ3RoKDUwLCBQZXJjZW50KSkpOwotICAgICAgICAgICAg
Y2lyY2xlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKExlbmd0aCg1MCwg
UGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoY29udmVy
dFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVy
WCgpKSk7CisgICAgICAgIGNpcmNsZS0+c2V0Q2VudGVyWShjb252ZXJ0VG9DZW50ZXJDb29yZGlu
YXRlKHN0eWxlLCByb290U3R5bGUsIGNpcmNsZVZhbHVlLT5jZW50ZXJZKCkpKTsKICAgICAgICAg
Y2lyY2xlLT5zZXRSYWRpdXMoY3NzVmFsdWVUb0Jhc2ljU2hhcGVSYWRpdXMoc3R5bGUsIHJvb3RT
dHlsZSwgY2lyY2xlVmFsdWUtPnJhZGl1cygpKSk7CiAKICAgICAgICAgYmFzaWNTaGFwZSA9IGNp
cmNsZS5yZWxlYXNlKCk7CkBAIC0zNTcsMTMgKzM1MCw5IEBAIFBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gYmFzaWNTaGFwZUZvclZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVu
ZGVyCiAgICAgICAgIGNvbnN0IENTU0Jhc2ljU2hhcGVFbGxpcHNlKiBlbGxpcHNlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlRWxsaXBzZSAqPihiYXNpY1NoYXBlVmFsdWUp
OwogICAgICAgICBSZWZQdHI8QmFzaWNTaGFwZUVsbGlwc2U+IGVsbGlwc2UgPSBCYXNpY1NoYXBl
RWxsaXBzZTo6Y3JlYXRlKCk7CiAKLSAgICAgICAgaWYgKGVsbGlwc2VWYWx1ZS0+Y2VudGVyWCgp
ICYmIGVsbGlwc2VWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKLSAgICAgICAgICAgIGVsbGlwc2UtPnNldENlbnRlclkoY29u
dmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPmNl
bnRlclkoKSkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZWxsaXBzZS0+c2V0Q2Vu
dGVyWChCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGgoNTAsIFBlcmNlbnQpKSk7Ci0g
ICAgICAgICAgICBlbGxpcHNlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRl
KExlbmd0aCg1MCwgUGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKKyAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWShjb252ZXJ0
VG9DZW50ZXJDb29yZGluYXRlKHN0eWxlLCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+Y2VudGVy
WSgpKSk7CisKICAgICAgICAgZWxsaXBzZS0+c2V0UmFkaXVzWChjc3NWYWx1ZVRvQmFzaWNTaGFw
ZVJhZGl1cyhzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPnJhZGl1c1goKSkpOwogICAg
ICAgICBlbGxpcHNlLT5zZXRSYWRpdXNZKGNzc1ZhbHVlVG9CYXNpY1NoYXBlUmFkaXVzKHN0eWxl
LCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+cmFkaXVzWSgpKSk7CiAKQEAgLTQ2OCwxOSArNDU3
LDkgQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXIKIGZsb2F0IGZsb2F0VmFsdWVGb3JDZW50ZXJD
b29yZGluYXRlKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIGZsb2F0
IGJveERpbWVuc2lvbikKIHsKICAgICBmbG9hdCBvZmZzZXQgPSBmbG9hdFZhbHVlRm9yTGVuZ3Ro
KGNlbnRlci5sZW5ndGgoKSwgYm94RGltZW5zaW9uKTsKLSAgICBzd2l0Y2ggKGNlbnRlci5rZXl3
b3JkKCkpIHsKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpOb25lOgotICAg
ICAgICByZXR1cm4gb2Zmc2V0OwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
OlRvcDoKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpMZWZ0OgorICAgIGlm
IChjZW50ZXIuZGlyZWN0aW9uKCkgPT0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkRlZmF1
bHQpCiAgICAgICAgIHJldHVybiBvZmZzZXQ7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZTo6Qm90dG9tOgotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJp
Z2h0OgotICAgICAgICByZXR1cm4gYm94RGltZW5zaW9uIC0gb2Zmc2V0OwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBib3hEaW1l
bnNpb24gLSBvZmZzZXQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCAwOWY4ZGFiMWYwNWFjMzkw
ZWM3MTdiNmM2ZDg5Mzc5NmE3ODc3NmYxLi45OTA5NTJhOGRiNWUxOTExZWY2MDAzMjk5MWMxYzM4
NGM0N2FhM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQ
cm9wZXJ0eUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q1NTUHJvcGVydHlBbmltYXRpb24uY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIGlubGlu
ZSBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9u
QmFzZSogYW5pbSwKICAgICAgICAgcmV0dXJuIHRvOwogCiAgICAgQVNTRVJUKGFuaW0tPnJlbmRl
cmVyKCktPmlzQm94KCkpOwotICAgIHJldHVybiBTaGFwZUNsaXBQYXRoT3BlcmF0aW9uOjpjcmVh
dGUodG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0t
PnJlbmRlcmVyKCkpKSk7CisgICAgcmV0dXJuIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb246OmNyZWF0
ZSh0b1NoYXBlLT5ibGVuZChmcm9tU2hhcGUsIHByb2dyZXNzKSk7CiB9CiAKICNpZiBFTkFCTEUo
Q1NTX1NIQVBFUykKQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8
U2hhcGVWYWx1ZT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYXBlVgog
ICAgICAgICByZXR1cm4gdG87CiAKICAgICBBU1NFUlQoYW5pbS0+cmVuZGVyZXIoKS0+aXNCb3go
KSk7Ci0gICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+Ymxl
bmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVyKCkpKSk7
CisgICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+YmxlbmQo
ZnJvbVNoYXBlLCBwcm9ncmVzcykpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCmluZGV4IDRjYWQyZTQ3MDI4OTU3YzQxOGQ2
YmMyMDM3NDU3NWQ3Y2I0NTg4NjQuLmQ4Mjg4NjlmMTAyNDQyNTMyZmY4YjcxYWFiY2NiMGVkODQw
NzM5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1No
YXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVz
LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkJhc2ljU2hhcGVzLmgiCiAKICNpbmNs
dWRlICJCYXNpY1NoYXBlRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiQ2FsY3VsYXRpb25WYWx1ZS5o
IgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgog
I2luY2x1ZGUgIlBhdGguaCIKQEAgLTM5LDYgKzQwLDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAordm9pZCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6dXBkYXRlQ29tcHV0ZWRMZW5n
dGgoKQoreworICAgIGlmIChtX2RpcmVjdGlvbiA9PSBEZWZhdWx0KSB7CisgICAgICAgIG1fY29t
cHV0ZWRMZW5ndGggPSBtX2xlbmd0aC5pc1VuZGVmaW5lZCgpID8gTGVuZ3RoKDAsIEZpeGVkKSA6
IG1fbGVuZ3RoOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChtX2xlbmd0aC5pc1Vu
ZGVmaW5lZCgpKSB7CisgICAgICAgIG1fY29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoMTAwLCBQZXJj
ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE93blB0cjxDYWxjRXhwcmVzc2lv
bkxlbmd0aD4gbGhzID0gYWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uTGVuZ3RoKExlbmd0aCgx
MDAsIFBlcmNlbnQpKSk7CisgICAgT3duUHRyPENhbGNFeHByZXNzaW9uTGVuZ3RoPiByaHMgPSBh
ZG9wdFB0cihuZXcgQ2FsY0V4cHJlc3Npb25MZW5ndGgobV9sZW5ndGgpKTsKKyAgICBPd25QdHI8
Q2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb24+IG9wID0gYWRvcHRQdHIobmV3IENhbGNFeHBy
ZXNzaW9uQmluYXJ5T3BlcmF0aW9uKGxocy5yZWxlYXNlKCksIHJocy5yZWxlYXNlKCksIENhbGNT
dWJ0cmFjdCkpOworICAgIG1fY29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoQ2FsY3VsYXRpb25WYWx1
ZTo6Y3JlYXRlKG9wLnJlbGVhc2UoKSwgQ2FsY3VsYXRpb25SYW5nZUFsbCkpOworfQorCiBib29s
IEJhc2ljU2hhcGU6OmNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAogewog
ICAgIC8vIEZJWE1FOiBTdXBwb3J0IGFuaW1hdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc2hhcGVz
IGluIHRoZSBmdXR1cmUuCkBAIC03MywzNyArOTEsNiBAQCBib29sIEJhc2ljU2hhcGU6OmNhbkJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAogICAgICAgICAmJiB0aGlzRWxsaXBz
ZS0+cmFkaXVzWSgpLmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWSgpKSk7CiB9CiAKLUZs
b2F0U2l6ZSBCYXNpY1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKGNvbnN0IFJlbmRlckJveCYgcmVu
ZGVyZXIpIGNvbnN0Ci17Ci0gICAgc3dpdGNoIChsYXlvdXRCb3goKSkgewotICAgIGNhc2UgQ29u
dGVudEJveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLmNvbnRlbnRCb3hSZWN0KCkuc2l6ZSgp
OwotICAgIGNhc2UgUGFkZGluZ0JveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhZGRpbmdC
b3hSZWN0KCkuc2l6ZSgpOwotICAgIGNhc2UgQm9yZGVyQm94OgotICAgICAgICByZXR1cm4gcmVu
ZGVyZXIuc2l6ZSgpOwotICAgIGNhc2UgQm94TWlzc2luZzogLy8gSWYgPGJveD4gaXMgbm90IHN1
cHBsaWVkLCB0aGVuIHRoZSByZWZlcmVuY2UgYm94IGRlZmF1bHRzIHRvIG1hcmdpbi1ib3guCi0g
ICAgY2FzZSBNYXJnaW5Cb3g6Ci0gICAgICAgIHJldHVybiBGbG9hdFNpemUocmVuZGVyZXIubWFy
Z2luTGVmdCgpICsgcmVuZGVyZXIud2lkdGgoKSArIHJlbmRlcmVyLm1hcmdpblJpZ2h0KCksCi0g
ICAgICAgICAgICByZW5kZXJlci5tYXJnaW5Ub3AoKSArIHJlbmRlcmVyLmhlaWdodCgpICsgcmVu
ZGVyZXIubWFyZ2luQm90dG9tKCkpOwotICAgIGNhc2UgQm91bmRpbmdCb3g6Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBGbG9h
dFNpemUoKTsKLX0KLQotTGVuZ3RoIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpsZW5ndGhG
b3JCbGVuZGluZyhjb25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0Ci17Ci0gICAgTGVuZ3Ro
IGxlbmd0aCA9IHRoaXMtPmxlbmd0aCgpOwotICAgIGlmIChrZXl3b3JkKCkgPT0gUmlnaHQpCi0g
ICAgICAgIHJldHVybiBMZW5ndGgoMTAwIC0gKGxlbmd0aC5pc1BlcmNlbnQoKSA/IGxlbmd0aC5w
ZXJjZW50KCkgOiAxMDAuZiAqIChsZW5ndGgudmFsdWUoKSAvIGJveFNpemUud2lkdGgoKSkpLCBQ
ZXJjZW50KTsKLSAgICBpZiAoa2V5d29yZCgpID09IEJvdHRvbSkKLSAgICAgICAgcmV0dXJuIExl
bmd0aCgxMDAgLSAobGVuZ3RoLmlzUGVyY2VudCgpID8gbGVuZ3RoLnBlcmNlbnQoKSA6IDEwMC5m
ICogKGxlbmd0aC52YWx1ZSgpIC8gYm94U2l6ZS5oZWlnaHQoKSkpLCBQZXJjZW50KTsKLSAgICBy
ZXR1cm4gbGVuZ3RoOwotfQotCiB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYg
cGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKIHsKICAgICBBU1NFUlQocGF0aC5p
c0VtcHR5KCkpOwpAQCAtMTIxLDcgKzEwOCw3IEBAIHZvaWQgQmFzaWNTaGFwZVJlY3RhbmdsZTo6
cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9
CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgUmVuZGVyQm94Jikg
Y29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQo
Y29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBB
U1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xNTEsNyArMTM4LDcgQEAgdm9p
ZCBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9h
dFJlY3QmIGJvdW5kaW5nQm94KQogICAgICkpOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IERlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhl
ciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxC
YXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNT
aGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgp
ID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xOTMsMTUgKzE4MCwxNCBAQCB2b2lkIEJhc2ljU2hh
cGVDaXJjbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkK
ICAgICApKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlQ2lyY2xlOjpi
bGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5k
ZXJCb3gmIHJlbmRlcmVyKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBl
Q2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBj
b25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAgICAgY29uc3Qg
QmFzaWNTaGFwZUNpcmNsZSogbyA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUq
PihvdGhlcik7CiAgICAgUmVmUHRyPEJhc2ljU2hhcGVDaXJjbGU+IHJlc3VsdCA9ICBCYXNpY1No
YXBlQ2lyY2xlOjpjcmVhdGUoKTsKIAotICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNl
Qm94U2l6ZShyZW5kZXJlcik7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVu
ZChvLT5jZW50ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50
ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7Cisg
ICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dy
ZXNzKSk7CisgICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZ
KCksIHByb2dyZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXMobV9yYWRpdXMuYmxlbmQoby0+
cmFkaXVzKCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CkBA
IC0yMjEsNyArMjA3LDcgQEAgdm9pZCBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OnBhdGgo
UGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsKIH0KIAot
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJv
eCYpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1NoYXBlRWxs
aXBzZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29u
c3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0yNjEsNyAr
MjQ3LDcgQEAgdm9pZCBCYXNpY1NoYXBlRWxsaXBzZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBG
bG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICAgICByYWRpdXNZICogMikpOwogfQogCi1QYXNz
UmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1No
YXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBj
b25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NF
UlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNl
KiBvID0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihvdGhlcik7CkBAIC0y
NzYsOSArMjYyLDggQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIAotICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNlQm94U2l6ZShy
ZW5kZXJlcik7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50
ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2Vu
dGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7CisgICAgcmVzdWx0
LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzKSk7Cisg
ICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dy
ZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXNYKG1fcmFkaXVzWC5ibGVuZChvLT5yYWRpdXNY
KCksIHByb2dyZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXNZKG1fcmFkaXVzWS5ibGVuZChv
LT5yYWRpdXNZKCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CkBA
IC0zMDIsNyArMjg3LDcgQEAgdm9pZCBCYXNpY1NoYXBlUG9seWdvbjo6cGF0aChQYXRoJiBwYXRo
LCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7
CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKGNv
bnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYp
IGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZChj
b25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogewogICAgIEFT
U0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAKQEAgLTM0NCw3ICszMjksNyBAQCB2b2lk
IEJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJl
Y3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFz
aWNTaGFwZUluc2V0UmVjdGFuZ2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91
YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBCYXNpY1NoYXBlSW5zZXRSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90
aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhl
ci0+dHlwZSgpKTsKIApAQCAtMzkwLDcgKzM3NSw3IEBAIHZvaWQgQmFzaWNTaGFwZUluc2V0Ojpw
YXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKTsKIH0K
IAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVJbnNldDo6YmxlbmQoY29uc3QgQmFz
aWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlw
ZSgpID09IG90aGVyLT50eXBlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9CYXNpY1NoYXBlcy5oCmluZGV4IDMxNjBhNGZhM2NiYmUzYmZmOTgxMGY5NGE0MTRjZTIyOGQ4
ZGU1YWYuLjhhNjMyYjAxOWU2NjEyNTI2YWY4YzY3MWM4NWQyMjUwNzZmOTY2MzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJl
Y3QmKSA9IDA7CiAgICAgdmlydHVhbCBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJu
IFJVTEVfTk9OWkVSTzsgfQotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hh
cGUqLCBkb3VibGUpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qg
PSAwOwogCkBAIC03Niw4ICs3Niw2IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogCi0gICAg
RmxvYXRTaXplIHJlZmVyZW5jZUJveFNpemUoY29uc3QgUmVuZGVyQm94JikgY29uc3Q7Ci0KIHBy
aXZhdGU6CiAgICAgTGF5b3V0Qm94IG1fbGF5b3V0Qm94OwogfTsKQEAgLTEwOSw3ICsxMDcsNyBA
QCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZs
b2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBi
bGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVSZWN0YW5nbGVUeXBlOyB9
CiBwcml2YXRlOgpAQCAtMTI1LDMwICsxMjMsNDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUgewogcHVibGljOgotICAgIGVudW0gS2V5d29yZCB7Ci0gICAg
ICAgIE5vbmUsCi0gICAgICAgIFRvcCwKLSAgICAgICAgUmlnaHQsCi0gICAgICAgIEJvdHRvbSwK
LSAgICAgICAgTGVmdAorICAgIGVudW0gRGlyZWN0aW9uIHsKKyAgICAgICAgRGVmYXVsdCwKKyAg
ICAgICAgRmxpcHBlZAogICAgIH07Ci0gICAgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoKSA6
IG1fa2V5d29yZChOb25lKSwgbV9sZW5ndGgoVW5kZWZpbmVkKSB7IH0KLSAgICBleHBsaWNpdCBC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGggbGVuZ3RoKSA6IG1fa2V5d29yZChOb25l
KSwgbV9sZW5ndGgobGVuZ3RoKSB7IH0KLSAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShL
ZXl3b3JkIGtleXdvcmQsIExlbmd0aCBsZW5ndGgpIDogbV9rZXl3b3JkKGtleXdvcmQpLCBtX2xl
bmd0aChsZW5ndGgpIHsgfQotICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGNvbnN0IEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlcikgOiBtX2tleXdvcmQob3RoZXIua2V5d29y
ZCgpKSwgbV9sZW5ndGgob3RoZXIubGVuZ3RoKCkpIHsgfQogCi0gICAgS2V5d29yZCBrZXl3b3Jk
KCkgY29uc3QgeyByZXR1cm4gbV9rZXl3b3JkOyB9CisgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUoKQorICAgICAgICA6IG1fZGlyZWN0aW9uKERlZmF1bHQpCisgICAgICAgICwgbV9sZW5n
dGgoVW5kZWZpbmVkKQorICAgIHsKKyAgICAgICAgdXBkYXRlQ29tcHV0ZWRMZW5ndGgoKTsKKyAg
ICB9CisKKyAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShEaXJlY3Rpb24gZGlyZWN0aW9u
LCBMZW5ndGggbGVuZ3RoKQorICAgICAgICA6IG1fZGlyZWN0aW9uKGRpcmVjdGlvbikKKyAgICAg
ICAgLCBtX2xlbmd0aChsZW5ndGgpCisgICAgeworICAgICAgICB1cGRhdGVDb21wdXRlZExlbmd0
aCgpOworICAgIH0KKworICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGNvbnN0IEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlcikKKyAgICAgICAgOiBtX2RpcmVjdGlvbihvdGhl
ci5kaXJlY3Rpb24oKSkKKyAgICAgICAgLCBtX2xlbmd0aChvdGhlci5sZW5ndGgoKSkKKyAgICAg
ICAgLCBtX2NvbXB1dGVkTGVuZ3RoKG90aGVyLm1fY29tcHV0ZWRMZW5ndGgpCisgICAgeworICAg
IH0KKworICAgIERpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlv
bjsgfQogICAgIGNvbnN0IExlbmd0aCYgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7
IH0KLSAgICBMZW5ndGggbGVuZ3RoRm9yQmxlbmRpbmcoY29uc3QgRmxvYXRTaXplJikgY29uc3Q7
CisgICAgY29uc3QgTGVuZ3RoJiBjb21wdXRlZExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29t
cHV0ZWRMZW5ndGg7IH0KIAotICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIGJsZW5kKGNv
bnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBj
b25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0CisgICAgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUgYmxlbmQoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90aGVyLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQmFzaWNTaGFwZUNlbnRl
ckNvb3JkaW5hdGUobGVuZ3RoRm9yQmxlbmRpbmcoYm94U2l6ZSkuYmxlbmQob3RoZXIubGVuZ3Ro
Rm9yQmxlbmRpbmcoYm94U2l6ZSksIHByb2dyZXNzKSk7CisgICAgICAgIHJldHVybiBCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZShEZWZhdWx0LCBtX2NvbXB1dGVkTGVuZ3RoLmJsZW5kKG90aGVy
Lm1fY29tcHV0ZWRMZW5ndGgsIHByb2dyZXNzKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIEtl
eXdvcmQgbV9rZXl3b3JkOworICAgIERpcmVjdGlvbiBtX2RpcmVjdGlvbjsKICAgICBMZW5ndGgg
bV9sZW5ndGg7CisgICAgTGVuZ3RoIG1fY29tcHV0ZWRMZW5ndGg7CisKKyAgICB2b2lkIHVwZGF0
ZUNvbXB1dGVkTGVuZ3RoKCk7CiB9OwogCiBjbGFzcyBCYXNpY1NoYXBlUmFkaXVzIHsKQEAgLTIw
MCw3ICsyMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXMoQmFzaWNTaGFwZVJhZGl1
cyByYWRpdXMpIHsgbV9yYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAgdmlydHVh
bCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91Ymxl
LCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IEJhc2ljU2hhcGVDaXJjbGVUeXBlOyB9CiBwcml2YXRlOgpAQCAtMjI0LDcgKzIzOSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFJhZGl1cyhMZW5ndGggcmFkaXVzKSB7IG1fcmFkaXVzID0gc3Rk
Ojptb3ZlKHJhZGl1cyk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBG
bG9hdFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4g
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0
IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBUeXBl
IHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNs
ZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0yNTEsNyArMjY2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UmFkaXVzWShCYXNpY1NoYXBlUmFkaXVzIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjpt
b3ZlKHJhZGl1c1kpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxv
YXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBC
YXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNTaGFwZUVsbGlwc2VUeXBlOyB9CiBw
cml2YXRlOgpAQCAtMjc4LDcgKzI5Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1ko
TGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjptb3ZlKHJhZGl1c1kpOyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUq
LCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBj
b25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gRGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlVHlwZTsgfQogcHJpdmF0ZToKQEAg
LTMwMiw3ICszMTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRQb2ludChMZW5ndGggeCwg
TGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHN0ZDo6bW92ZSh4KSk7IG1fdmFsdWVzLmFwcGVu
ZChzdGQ6Om1vdmUoeSkpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3Qg
RmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25z
dCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgV2lu
ZFJ1bGUgd2luZFJ1bGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3dpbmRSdWxlOyB9CiAK
QEAgLTM0Myw3ICszNTgsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBh
dGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBS
ZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNT
aGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hh
cGVJbnNldFJlY3RhbmdsZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0zODIsNyArMzk3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Qm90dG9tTGVmdFJhZGl1cyhMZW5ndGhTaXplIHJhZGl1cykgeyBt
X2JvdHRvbUxlZnRSYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAgdmlydHVhbCB2
b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBj
b25zdCBSZW5kZXJCb3gmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJh
c2ljU2hhcGVJbnNldFR5cGU7IH0KIHByaXZhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjRiNzM2YzBmMjhhNGZhYTMw
OWE5Mzg3NjM4YmFlYmYyY2JiNzU3Zi4uMjIyNWYyZmRiNDZiOWFlMGZhYTFmZGQ5YzJjZTA4MzFm
ZjZlOWQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAxLTE0ICBCZWFyIFRyYXZpcyAg
PGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYXBlc10gQmFzaWMgc2hhcGVz
JyBjb21wdXRlZCBwb3NpdGlvbiBzaG91bGQgYmUgYSBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBv
ZmZzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVw
ZGF0ZSBleGlzdGluZyBwYXJzaW5nIGFuZCBhbmltYXRpb24gdGVzdHMuIEZvciBwYXJzaW5nIHRl
c3RzLCB0b3AgLyBsZWZ0IGtleXdvcmRzCisgICAgICAgIGFyZSBvbWl0dGVkIHdoZW5ldmVyIHBv
c3NpYmxlLiBGb3IgYW5pbWF0aW9uIHRlc3RzLCBhbmltYXRpb25zIHRvIGJvdHRvbSAvIHJpZ2h0
CisgICAgICAgIG9mZnNldHMgd2lsbCB1c2UgY2FsYyB2YWx1ZXMgYmFzZWQgZnJvbSB0aGUgdG9w
IC8gbGVmdCBkaXJlY3Rpb24uCisKKyAgICAgICAgKiBhbmltYXRpb25zL3Jlc291cmNlcy9hbmlt
YXRpb24tdGVzdC1oZWxwZXJzLmpzOgorICAgICAgICAocGFyc2VCYXNpY1NoYXBlKTogUGFyc2Ug
bm9uLW51bWVyaWNhbCBhcmd1bWVudHMgdG8gdGhlIHNoYXBlIGZ1bmN0aW9uLgorICAgICAgICAo
YmFzaWNTaGFwZVBhcmFtZXRlcnNNYXRjaCk6IE1hdGNoIG5vbi1udW1lcmljYWwgYXJndW1lbnRz
IHRvIHRoZSBzaGFwZSBmdW5jdGlvbi4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dDogVXBkYXRlIHNlcmlhbGl6ZWQgdmFsdWVz
CisgICAgICAgIHRvIG9taXQgdG9wIC8gbGVmdCBrZXl3b3JkcyB3aGVuIHBvc3NpYmxlLgorICAg
ICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVk
LnR4dDogVXBkYXRlIHNlcmlhbGl6ZWQgdmFsdWVzCisgICAgICAgIHRvIG9taXQgdG9wIC8gbGVm
dCBrZXl3b3JkcyB3aGVuIHBvc3NpYmxlLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcv
cGFyc2luZy10ZXN0LXV0aWxzLmpzOiBNb2RpZnkgc2hhcGUgcGFyc2luZyB0ZXN0IGV4cGVjdGF0
aW9ucy4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIGZhc3Qvc2hh
cGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWw6IERp
dHRvLgorCiAyMDE0LTAxLTE0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFtXZWJHTF0gSW52YWxpZCByYW5nZSBjaGVja2luZyBpbiBXZWJHTFJlbmRlckNv
bnRleHQ6OnZhbGlkYXRlVGV4RnVuY3Rpb25MZXZlbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyBiL0xheW91dFRl
c3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMKaW5kZXgg
NDQ3ZjE2OThlMmFhNzFlZWQxYTg3OGMxYjM2MzRlM2NiNTE3Y2Q1NS4uODFmYWY4MGEyMTI0NjNh
YmYyN2EyNjg5MWNmNjQ5NWFlY2IyYWY4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYW5pbWF0
aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcworKysgYi9MYXlvdXRUZXN0
cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCkBAIC0yMzgs
MTAgKzIzOCwxNSBAQCBmdW5jdGlvbiBwYXJzZUJhc2ljU2hhcGUocykKIAogICAgIC8vIE5vcm1h
bGl6ZSBwZXJjZW50YWdlIHZhbHVlcy4KICAgICBmb3IgKDsgaSA8IG1hdGNoZXMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgdmFyIHBhcmFtID0gbWF0Y2hlc1tpXTsKLSAgICAgICAgbWF0Y2hlc1tp
XSA9IHBhcnNlRmxvYXQobWF0Y2hlc1tpXSk7Ci0gICAgICAgIGlmIChwYXJhbS5pbmRleE9mKCcl
JykgIT0gLTEpCi0gICAgICAgICAgICBtYXRjaGVzW2ldID0gbWF0Y2hlc1tpXSAvIDEwMDsKKyAg
ICAgICAgdmFyIHBhcmFtID0gcGFyc2VGbG9hdChtYXRjaGVzW2ldKTsKKworICAgICAgICBpZiAo
aXNOYU4ocGFyYW0pKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKG1hdGNo
ZXNbaV0uaW5kZXhPZignJScpICE9IC0xKQorICAgICAgICAgICAgbWF0Y2hlc1tpXSA9IHBhcmFt
IC8gMTAwOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtYXRjaGVzW2ldID0gcGFyYW07CiAg
ICAgfQogCiAgICAgcmV0dXJuIHsic2hhcGUiOiBzaGFwZUZ1bmN0aW9uWzFdLCAicGFyYW1zIjog
bWF0Y2hlc307CkBAIC0zMTMsMTQgKzMxOCwxMSBAQCBmdW5jdGlvbiBiYXNpY1NoYXBlUGFyYW1l
dGVyc01hdGNoKHBhcmFtTGlzdDEsIHBhcmFtTGlzdDIsIHRvbGVyYW5jZSkKICAgICAgICAgfHwg
cGFyYW1MaXN0MS5wYXJhbXMubGVuZ3RoICE9IHBhcmFtTGlzdDIucGFyYW1zLmxlbmd0aCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHZhciBpID0gMDsKLSAgICBpZiAocGFyYW1MaXN0MS5z
aGFwZSA9PSAicG9seWdvbiIpIHsKLSAgICAgICAgaWYgKHBhcmFtTGlzdDEucGFyYW1zWzBdICE9
IHBhcmFtTGlzdDIucGFyYW1zWzBdKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBmaWxs
LXJ1bGUncyBkb24ndCBtYXRjaAotICAgICAgICBpKys7Ci0gICAgfQogICAgIGZvciAoOyBpIDwg
cGFyYW1MaXN0MS5wYXJhbXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFyIHBhcmFtMSA9IHBh
cmFtTGlzdDEucGFyYW1zW2ldLCAKICAgICAgICAgICAgIHBhcmFtMiA9IHBhcmFtTGlzdDIucGFy
YW1zW2ldOworICAgICAgICBpZiAocGFyYW0xID09PSBwYXJhbTIpCisgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgdmFyIG1hdGNoID0gaXNDbG9zZUVub3VnaChwYXJhbTEsIHBhcmFtMiwg
dG9sZXJhbmNlKTsKICAgICAgICAgaWYgKCFtYXRjaCkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1z
aGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2lu
Zy9wYXJzaW5nLXNoYXBlLWluc2lkZS1leHBlY3RlZC50eHQKaW5kZXggYzU3ZjcyMWFhMzZhNzUz
NGFmYmUyOGEyMDE3NTQzYTU0M2YyZGMwYS4uZWNiZWI0YmI5MGJiNjFjNjY4MjRjNWYwZWJlYTM3
MzJlMWJjY2I2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9w
YXJzaW5nLXNoYXBlLWluc2lkZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWluc2lkZS1leHBlY3RlZC50eHQKQEAgLTQ2LDkg
KzQ2LDkgQEAgUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImNpcmNsZShhdCB0b3AgbGVmdCkiKSBpcyAiY2kKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtp
dC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiY2lyY2xlKGF0
IDEwMCUgMTAwJSkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCAiY2lyY2xlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiY2lyY2xlKGNsb3Nlc3Qtc2lk
ZSBhdCAxMDAlIDEwMCUpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIs
ICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCBsZWZ0
IDAlIHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBl
LWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJjaXJjbGUoMTBw
eCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJj
aXJjbGUoMTBweCBhdCAwJSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJjaXJjbGUo
MTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUo
Ii13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBw
eCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCB0
b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IDEwcHggMTBweCkiCiBQQVNT
IGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0
IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9t
IDEwcHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImNpcmNsZSgx
MHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0
LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIikgaXMgImVs
bGlwc2UoMTBweCwgMjBweCwgMzBweCwgNDBweCkiCkBAIC03NCwxNSArNzQsMTUgQEAgUEFTUyBn
ZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoYXQg
dG9wIGxlZnQpIikgaXMgImUKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUi
LCAiZWxsaXBzZShhdCByaWdodCBib3R0b20pIikgaXMgImVsbGlwc2UoYXQgMTAwJSAxMDAlKSIK
IFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxp
cHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxsaXBzZShjbG9zZXN0LXNpZGUgY2xvc2VzdC1z
aWRlIGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQg
bGVmdCAwJSB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlw
c2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgbGVmdCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGxl
ZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgMCUgMTBweCki
CiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBh
dCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDEwcHggdG9w
IDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBw
eCBjbG9zZXN0LXNpZGUgYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEw
cHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IDEwcHggMTBw
eCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBw
eCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQgcmlnaHQg
MTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikg
aXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCki
CiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAy
MHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMCUg
dG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2Uo
MTBweCAyMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9w
IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IDAlIDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBw
eCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBw
eCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAi
ZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEw
cHggMjBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4
IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgMTBweCAxMHB4KSIKIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQg
cmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQg
MTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBw
eCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQ
QVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgInBvbHlnb24oMTBweCAyMHB4
LCAzMHB4IDQwcHgsIDQwcHggNTBweCkiKSBpcyAicG9seWdvbihub256ZXJvLCAxMHB4IDIwcHgs
IDMwcHggNDBweCwgNDBweCA1MHB4KSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hh
cGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4
dAppbmRleCAxZGE2MzNkYWM1NzE0YTZhMWM5ZTMyOGI0MGM3MzhiZDNhODM2ODU4Li42NGZlZjFi
YTlhODRlMTdkZmQ1YmQ1MGJlMTcxYjE2OGNkOWRiYmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNp
ZGUtZXhwZWN0ZWQudHh0CkBAIC00Niw5ICs0Niw5IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZh
bHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IHRvcCBsZWZ0KSIpIGlzICJj
CiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoYXQgcmln
aHQgYm90dG9tKSIpIGlzICJjaXJjbGUoYXQgMTAwJSAxMDAlKSIKIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IHJpZ2h0IGJvdHRv
bSkiKSBpcyAiY2lyY2xlKGNsb3Nlc3Qtc2lkZSBhdCAxMDAlIDEwMCUpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3AgMTBw
eCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IGxl
ZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUo
MTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCAwJSAxMHB4KSIKIFBB
U1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRv
cCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4
KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAi
Y2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCBs
ZWZ0IDEwcHggdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMg
ImNpcmNsZSgxMHB4IGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hh
cGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlz
ICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgcmln
aHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0
b20gMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxp
cHNlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIikgaXMgImVsbGlwc2UoMTBweCwgMjBweCwgMzBw
eCwgNDBweCkiCkBAIC03NCwxNSArNzQsMTUgQEAgUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKGF0IHRvcCBsZWZ0KSIpIGlzICIKIFBB
U1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoYXQgcmlnaHQg
Ym90dG9tKSIpIGlzICJlbGxpcHNlKGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoYXQgcmlnaHQgYm90dG9t
KSIpIGlzICJlbGxpcHNlKGNsb3Nlc3Qtc2lkZSBjbG9zZXN0LXNpZGUgYXQgMTAwJSAxMDAlKSIK
IFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBh
dCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCki
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVs
bGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1z
aWRlIGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBp
cyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAwJSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4
dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0
IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEw
cHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRl
IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdl
YmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgp
IikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgMTBweCAxMHB4KSIKIFBBU1MgZ2V0
Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCByaWdodCAx
MHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20g
MTBweCkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRl
IiwgImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNl
KDEwcHggY2xvc2VzdC1zaWRlIGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRD
U1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVm
dCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAwJSB0b3AgMTBweCki
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVs
bGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4
IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJr
aXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIp
IGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCAwJSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdl
YmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4IGxlZnQg
MTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBz
ZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBw
eCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0
IDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENT
U1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdo
dCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4
IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBl
LW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQQVNT
IGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJwb2x5Z29uKDEwcHggMjBweCwg
MzBweCA0MHB4LCA0MHB4IDUwcHgpIikgaXMgInBvbHlnb24obm9uemVybywgMTBweCAyMHB4LCAz
MHB4IDQwcHgsIDQwcHggNTBweCkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCmluZGV4IDc4ZGY0ZWExNmMwNjVkMDUzYmI5
MWIzZWEwZDIwMjUwOTU3MWZiYjQuLmQ5NDUzNWQ4M2EzMjQxNDk1YmFkZDRlNWI1MDg2NGI2MzYy
MjFjMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2lu
Zy10ZXN0LXV0aWxzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFy
c2luZy10ZXN0LXV0aWxzLmpzCkBAIC0zMCw4ICszMCw4IEBAIHZhciB2YWxpZFNoYXBlVmFsdWVz
ID0gWwogICAgIFsiY2lyY2xlKGF0IDEwcHggMTBweCkiLCAiY2lyY2xlKGF0IDEwcHggMTBweCki
LCAiY2lyY2xlKGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEwcHgpIl0sCiAgICAgWyJjaXJjbGUoYXQg
dG9wIGxlZnQpIiwgImNpcmNsZShhdCAwJSAwJSkiLCAiY2lyY2xlKGNsb3Nlc3Qtc2lkZSBhdCAw
JSAwJSkiXSwKICAgICBbImNpcmNsZShhdCByaWdodCBib3R0b20pIiwgImNpcmNsZShhdCAxMDAl
IDEwMCUpIiwgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMTAwJSAxMDAlKSJdLAotICAgIFsiY2ly
Y2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3Ag
MTBweCkiXSwKLSAgICBbImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiY2ly
Y2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSJdLAorICAgIFsiY2lyY2xlKDEwcHggYXQg
bGVmdCB0b3AgMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCkiLCAiY2ly
Y2xlKDEwcHggYXQgMCUgMTBweCkiXSwKKyAgICBbImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4IGxl
ZnQgMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIsICJjaXJjbGUo
MTBweCBhdCAxMHB4IDEwcHgpIl0sCiAgICAgWyJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJv
dHRvbSAxMHB4KSIsICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSJdLAog
CiAgICAgImVsbGlwc2UoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgdGVzdCBvbmNlIHdlIGRvIG5vdCBzdXBwb3J0IHRoZSBkZXByZWNhdGVkIENTUyBTaGFw
ZXMgc3ludGF4IGFueW1vcmUuCkBAIC00NiwxMSArNDYsMTEgQEAgdmFyIHZhbGlkU2hhcGVWYWx1
ZXMgPSBbCiAgICAgWyJlbGxpcHNlKGF0IDEwcHggMTBweCkiLCAiZWxsaXBzZShhdCAxMHB4IDEw
cHgpIiwgImVsbGlwc2UoY2xvc2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEwcHgpIl0s
CiAgICAgWyJlbGxpcHNlKGF0IHRvcCBsZWZ0KSIsICJlbGxpcHNlKGF0IDAlIDAlKSIsICJlbGxp
cHNlKGNsb3Nlc3Qtc2lkZSBjbG9zZXN0LXNpZGUgYXQgMCUgMCUpIl0sCiAgICAgWyJlbGxpcHNl
KGF0IHJpZ2h0IGJvdHRvbSkiLCAiZWxsaXBzZShhdCAxMDAlIDEwMCUpIiwgImVsbGlwc2UoY2xv
c2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAxMDAlIDEwMCUpIl0sCi0gICAgWyJlbGxpcHNlKDEw
cHggYXQgbGVmdCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgp
IiwgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgbGVmdCAwJSB0b3AgMTBweCkiXSwKLSAg
ICBbImVsbGlwc2UoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIiwgImVsbGlwc2UoMTBweCBh
dCBsZWZ0IDEwcHggdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCBjbG9zZXN0LXNpZGUgYXQgbGVm
dCAxMHB4IHRvcCAxMHB4KSJdLAorICAgIFsiZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgp
IiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggY2xv
c2VzdC1zaWRlIGF0IDAlIDEwcHgpIl0sCisgICAgWyJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHgg
bGVmdCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIsICJlbGxp
cHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IDEwcHggMTBweCkiXSwKICAgICBbImVsbGlwc2UoMTBw
eCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBw
eCBib3R0b20gMTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCByaWdodCAxMHB4
IGJvdHRvbSAxMHB4KSJdLAotICAgIFsiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCB0b3AgMTBw
eCkiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAwJSB0b3AgMTBweCkiXSwKLSAgICBbImVs
bGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIw
cHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSJdLAorICAgIFsiZWxsaXBzZSgxMHB4IDIwcHggYXQg
bGVmdCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAwJSB0b3AgMTBweCki
LCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgMCUgMTBweCkiXSwKKyAgICBbImVsbGlwc2UoMTBweCAy
MHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAx
MHB4IHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCAxMHB4IDEwcHgpIl0sCiAgICAg
WyJlbGxpcHNlKDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIsICJlbGxpcHNl
KDEwcHggMjBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSJdLAogCiAgICAgWyJwb2x5Z29u
KDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUwcHgpIiwgInBvbHlnb24obm9uemVybywgMTBw
eCAyMHB4LCAzMHB4IDQwcHgsIDQwcHggNTBweCkiXSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBhM2VlZTk0MzQx
YzNiMDk0MzJiMzA4YjhhYTVlZTVhMmNkZjk2N2U5Li4yNzdjYjdmY2IzZTFlYjIxMjEyMmE0MmQ1
MWYxNTg2OGZhOWZlYmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0yMiw2ICsyMiw2IEBAIFBBU1MgLSAid2Vi
a2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10by10b3BsZWZ0LWJveCIgZWxl
bWVudCBhdCAxcyBzCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJj
aXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3
IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3NSUgNzUlKQogUEFTUyAtICJ3ZWJr
aXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5n
LWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNs
ZSgzNSUgYXQgNzUlIDc1JSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBm
b3IgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3
IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3NSUgNzUlKQotUEFTUyAtICJ3ZWJr
aXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVu
ZGVkLXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2Ug
dG86IGNpcmNsZSgzNSUgYXQgNzAlIDcwJSkKLVBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBw
cm9wZXJ0eSBmb3IgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3Jk
LTItYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUg
YXQgNzAlIDcwJSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNp
cmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBh
dCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IGNhbGMoKDUwJSAqIDAu
NSkgKyAoKDEwMCUgLSAxMCUpICogMC41KSkgY2FsYygoNTAlICogMC41KSArICgoMTAwJSAtIDIw
cHgpICogMC41KSkpCitQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJj
aXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWJveCIgZWxlbWVu
dCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IGNhbGMoKDUwJSAq
IDAuNSkgKyAoKDEwMCUgLSAxMCUpICogMC41KSkgY2FsYygoNTAlICogMC41KSArICgoMTAwJSAt
IDEwcHgpICogMC41KSkpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1h
dGlvbi5odG1sCmluZGV4IGI5YzMzZTQ1MjA4OTZkZTM5YWE5MmFmZDMwMjBhNzBkYmUwNzdhMjgu
LjAwZmJkM2Y1NGRjNGQwOGU2YmU1ZmU2ZDVmZGRiY2E3Mzk1N2QwYWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
YW5pbWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbApAQCAtMTQ2LDggKzE0Niw4IEBA
CiAgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWFuaW0iLCAgMSwg
ImNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91
dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3NSUgNzUlKSIsIDAuMDVdLAogICAgICAgWyJjaXJjbGUt
dG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9t
cmlnaHQtdXNpbmcta2V5d29yZC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgz
NSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKICAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4
dGVuZGVkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC1ib3giLCAi
d2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKLSAg
ICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYW5pbSIs
ICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYm94Iiwg
IndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDcwJSA3MCUpIiwgMC4wMV0sCi0g
ICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYW5p
bSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1i
b3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzAlIDcwJSkiLCAwLjAx
XSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQt
YW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQt
Ym94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IGNhbGMoKDUwJSAqIDAu
NSkgKyAoKDEwMCUgLSAxMCUpICogMC41KSkgY2FsYygoNTAlICogMC41KSArICgoMTAwJSAtIDIw
cHgpICogMC41KSkpIiwgMC4wMV0sCisgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRl
bmRlZC11c2luZy1rZXl3b3JkLTItYW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4
dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNs
ZSgzNSUgYXQgY2FsYygoNTAlICogMC41KSArICgoMTAwJSAtIDEwJSkgKiAwLjUpKSBjYWxjKCg1
MCUgKiAwLjUpICsgKCgxMDAlIC0gMTBweCkgKiAwLjUpKSkiLCAwLjAxXSwKICAgICBdOwogICAg
IAogICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOwo=
</data>
<flag name="review"
          id="245072"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
    <flag name="commit-queue"
          id="245096"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221398</attachid>
            <date>2014-01-16 12:07:30 -0800</date>
            <delta_ts>2014-01-16 17:13:53 -0800</delta_ts>
            <desc>Renaming Direction Types</desc>
            <filename>127010.patch</filename>
            <type>text/plain</type>
            <size>43898</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MzQzZDBhLi4wYTlkNWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTQtMDEt
MTYgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
cGVzXSBCYXNpYyBzaGFwZXMnIGNvbXB1dGVkIHBvc2l0aW9uIHNob3VsZCBiZSBhIGhvcml6b250
YWwgYW5kIHZlcnRpY2FsIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI3MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCisK
KyAgICAgICAgVXBkYXRlIGV4aXN0aW5nIHBhcnNpbmcgYW5kIGFuaW1hdGlvbiB0ZXN0cy4gRm9y
IHBhcnNpbmcgdGVzdHMsIHRvcCAvIGxlZnQga2V5d29yZHMKKyAgICAgICAgYXJlIG9taXR0ZWQg
d2hlbmV2ZXIgcG9zc2libGUuIEZvciBhbmltYXRpb24gdGVzdHMsIGFuaW1hdGlvbnMgdG8gYm90
dG9tIC8gcmlnaHQKKyAgICAgICAgb2Zmc2V0cyB3aWxsIHVzZSBjYWxjIHZhbHVlcyBiYXNlZCBm
cm9tIHRoZSB0b3AgLyBsZWZ0IGRpcmVjdGlvbi4KKworICAgICAgICAqIGFuaW1hdGlvbnMvcmVz
b3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanM6CisgICAgICAgIChwYXJzZUJhc2ljU2hh
cGUpOiBQYXJzZSBub24tbnVtZXJpY2FsIGFyZ3VtZW50cyB0byB0aGUgc2hhcGUgZnVuY3Rpb24u
CisgICAgICAgIChiYXNpY1NoYXBlUGFyYW1ldGVyc01hdGNoKTogTWF0Y2ggbm9uLW51bWVyaWNh
bCBhcmd1bWVudHMgdG8gdGhlIHNoYXBlIGZ1bmN0aW9uLgorICAgICAgICAqIGZhc3Qvc2hhcGVz
L3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0OiBVcGRhdGUgc2VyaWFs
aXplZCB2YWx1ZXMKKyAgICAgICAgdG8gb21pdCB0b3AgLyBsZWZ0IGtleXdvcmRzIHdoZW4gcG9z
c2libGUuCisgICAgICAgICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNp
ZGUtZXhwZWN0ZWQudHh0OiBVcGRhdGUgc2VyaWFsaXplZCB2YWx1ZXMKKyAgICAgICAgdG8gb21p
dCB0b3AgLyBsZWZ0IGtleXdvcmRzIHdoZW4gcG9zc2libGUuCisgICAgICAgICogZmFzdC9zaGFw
ZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanM6IE1vZGlmeSBzaGFwZSBwYXJzaW5nIHRl
c3QgZXhwZWN0YXRpb25zLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAg
ICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24uaHRtbDogRGl0dG8uCisKIDIwMTQtMDEtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICB0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uIENTUyBwcm9w
ZXJ0eSBkb2Vzbid0IHJlY29nbml6ZSAnbGVmdCcgYW5kICdyaWdodCcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMg
Yi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJz
LmpzCmluZGV4IDQ0N2YxNjkuLjgxZmFmODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FuaW1h
dGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMKKysrIGIvTGF5b3V0VGVz
dHMvYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcwpAQCAtMjM4
LDEwICsyMzgsMTUgQEAgZnVuY3Rpb24gcGFyc2VCYXNpY1NoYXBlKHMpCiAKICAgICAvLyBOb3Jt
YWxpemUgcGVyY2VudGFnZSB2YWx1ZXMuCiAgICAgZm9yICg7IGkgPCBtYXRjaGVzLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgIHZhciBwYXJhbSA9IG1hdGNoZXNbaV07Ci0gICAgICAgIG1hdGNoZXNb
aV0gPSBwYXJzZUZsb2F0KG1hdGNoZXNbaV0pOwotICAgICAgICBpZiAocGFyYW0uaW5kZXhPZign
JScpICE9IC0xKQotICAgICAgICAgICAgbWF0Y2hlc1tpXSA9IG1hdGNoZXNbaV0gLyAxMDA7Cisg
ICAgICAgIHZhciBwYXJhbSA9IHBhcnNlRmxvYXQobWF0Y2hlc1tpXSk7CisKKyAgICAgICAgaWYg
KGlzTmFOKHBhcmFtKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmIChtYXRj
aGVzW2ldLmluZGV4T2YoJyUnKSAhPSAtMSkKKyAgICAgICAgICAgIG1hdGNoZXNbaV0gPSBwYXJh
bSAvIDEwMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWF0Y2hlc1tpXSA9IHBhcmFtOwog
ICAgIH0KIAogICAgIHJldHVybiB7InNoYXBlIjogc2hhcGVGdW5jdGlvblsxXSwgInBhcmFtcyI6
IG1hdGNoZXN9OwpAQCAtMzEzLDE0ICszMTgsMTEgQEAgZnVuY3Rpb24gYmFzaWNTaGFwZVBhcmFt
ZXRlcnNNYXRjaChwYXJhbUxpc3QxLCBwYXJhbUxpc3QyLCB0b2xlcmFuY2UpCiAgICAgICAgIHx8
IHBhcmFtTGlzdDEucGFyYW1zLmxlbmd0aCAhPSBwYXJhbUxpc3QyLnBhcmFtcy5sZW5ndGgpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB2YXIgaSA9IDA7Ci0gICAgaWYgKHBhcmFtTGlzdDEu
c2hhcGUgPT0gInBvbHlnb24iKSB7Ci0gICAgICAgIGlmIChwYXJhbUxpc3QxLnBhcmFtc1swXSAh
PSBwYXJhbUxpc3QyLnBhcmFtc1swXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gZmls
bC1ydWxlJ3MgZG9uJ3QgbWF0Y2gKLSAgICAgICAgaSsrOwotICAgIH0KICAgICBmb3IgKDsgaSA8
IHBhcmFtTGlzdDEucGFyYW1zLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIHZhciBwYXJhbTEgPSBw
YXJhbUxpc3QxLnBhcmFtc1tpXSwgCiAgICAgICAgICAgICBwYXJhbTIgPSBwYXJhbUxpc3QyLnBh
cmFtc1tpXTsKKyAgICAgICAgaWYgKHBhcmFtMSA9PT0gcGFyYW0yKQorICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIHZhciBtYXRjaCA9IGlzQ2xvc2VFbm91Z2gocGFyYW0xLCBwYXJhbTIs
IHRvbGVyYW5jZSk7CiAgICAgICAgIGlmICghbWF0Y2gpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmct
c2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNp
bmcvcGFyc2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CmluZGV4IGM1N2Y3MjEuLmVjYmVi
NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1z
aGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Bh
cnNpbmcvcGFyc2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CkBAIC00Niw5ICs0Niw5IEBA
IFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJj
bGUoYXQgdG9wIGxlZnQpIikgaXMgImNpCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
aW5zaWRlIiwgImNpcmNsZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShhdCAxMDAlIDEw
MCUpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
ImNpcmNsZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMTAw
JSAxMDAlKSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xl
KDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3Ag
MTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUi
LCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVm
dCAwJSB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEw
cHggYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
ImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQg
bGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0
LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMg
ImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHgg
bGVmdCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJv
dHRvbSAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIK
IFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJj
bGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCBy
aWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCAiZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIpIGlzICJlbGxpcHNlKDEw
cHgsIDIwcHgsIDMwcHgsIDQwcHgpIgpAQCAtNzQsMTUgKzc0LDE1IEBAIFBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKGF0IHRvcCBsZWZ0
KSIpIGlzICJlCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlw
c2UoYXQgcmlnaHQgYm90dG9tKSIpIGlzICJlbGxpcHNlKGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdl
dENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZShhdCBy
aWdodCBib3R0b20pIikgaXMgImVsbGlwc2UoY2xvc2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAx
MDAlIDEwMCUpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxp
cHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMCUg
dG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHgg
Y2xvc2VzdC1zaWRlIGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
VmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAx
MHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IDAlIDEwcHgpIgogUEFTUyBn
ZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEw
cHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIK
LVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxp
cHNlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2Vz
dC1zaWRlIGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQg
MTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEwcHgpIgogUEFT
UyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmln
aHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90
dG9tIDEwcHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxp
cHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBn
ZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBs
ZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4
KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJl
bGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBw
eCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIp
IGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCAwJSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdl
YmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAx
MHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFT
UyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2Uo
MTBweCAyMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHgg
YXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEw
cHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENTU1Rl
eHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEw
cHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90
dG9tIDEwcHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMg
ImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRD
U1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJwb2x5Z29uKDEwcHggMjBweCwgMzBweCA0
MHB4LCA0MHB4IDUwcHgpIikgaXMgInBvbHlnb24obm9uemVybywgMTBweCAyMHB4LCAzMHB4IDQw
cHgsIDQwcHggNTBweCkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJz
aW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQKaW5kZXgg
MWRhNjMzZC4uNjRmZWYxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dApA
QCAtNDYsOSArNDYsOSBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlIiwgImNpcmNsZShhdCB0b3AgbGVmdCkiKSBpcyAiYwogUEFTUyBnZXRDU1NUZXh0
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAi
Y2lyY2xlKGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtp
dC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShj
bG9zZXN0LXNpZGUgYXQgMTAwJSAxMDAlKSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgx
MHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlz
ICJjaXJjbGUoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3Ag
MTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgp
IikgaXMgImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRv
cCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4
KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAi
Y2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCAx
MHB4IDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2ly
Y2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQg
cmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdl
YmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEw
cHgpIikgaXMgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBn
ZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4LCAyMHB4LCAz
MHB4LCA0MHB4KSIpIGlzICJlbGxpcHNlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIgpAQCAtNzQs
MTUgKzc0LDE1IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91
dHNpZGUiLCAiZWxsaXBzZShhdCB0b3AgbGVmdCkiKSBpcyAiCiBQQVNTIGdldENTU1RleHQoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxs
aXBzZShhdCAxMDAlIDEwMCUpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxsaXBzZShj
bG9zZXN0LXNpZGUgY2xvc2VzdC1zaWRlIGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENTU1RleHQo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRl
ZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVm
dCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDAlIHRv
cCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNp
ZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBj
bG9zZXN0LXNpZGUgYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
b3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxp
cHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZh
bHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxl
ZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDEwcHggdG9w
IDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lk
ZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEw
cHggY2xvc2VzdC1zaWRlIGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRD
b21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHgg
YXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lk
ZSBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMg
ImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRl
ZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBh
dCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAx
MHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUi
LCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4
IDIwcHggYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lk
ZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlw
c2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRv
cCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAxMHB4IHRv
cCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNp
ZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxp
cHNlKDEwcHggMjBweCBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNo
YXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBw
eCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQ
QVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlw
c2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBw
eCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Vi
a2l0LXNoYXBlLW91dHNpZGUiLCAicG9seWdvbigxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1
MHB4KSIpIGlzICJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUw
cHgpIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5n
LXRlc3QtdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmct
dGVzdC11dGlscy5qcwppbmRleCA3OGRmNGVhLi5kOTQ1MzVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcwpAQCAtMzAs
OCArMzAsOCBAQCB2YXIgdmFsaWRTaGFwZVZhbHVlcyA9IFsKICAgICBbImNpcmNsZShhdCAxMHB4
IDEwcHgpIiwgImNpcmNsZShhdCAxMHB4IDEwcHgpIiwgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQg
MTBweCAxMHB4KSJdLAogICAgIFsiY2lyY2xlKGF0IHRvcCBsZWZ0KSIsICJjaXJjbGUoYXQgMCUg
MCUpIiwgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMCUgMCUpIl0sCiAgICAgWyJjaXJjbGUoYXQg
cmlnaHQgYm90dG9tKSIsICJjaXJjbGUoYXQgMTAwJSAxMDAlKSIsICJjaXJjbGUoY2xvc2VzdC1z
aWRlIGF0IDEwMCUgMTAwJSkiXSwKLSAgICBbImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgp
IiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIl0sCi0gICAgWyJjaXJjbGUoMTBw
eCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBweCB0b3Ag
MTBweCkiXSwKKyAgICBbImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImNpcmNsZSgx
MHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0IDAlIDEwcHgpIl0sCisg
ICAgWyJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0
IGxlZnQgMTBweCB0b3AgMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4KSJdLAogICAg
IFsiY2lyY2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiLCAiY2lyY2xlKDEwcHgg
YXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiXSwKIAogICAgICJlbGxpcHNlKDEwcHgsIDIwcHgs
IDMwcHgsIDQwcHgpIiwgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHRlc3Qgb25jZSB3ZSBkbyBub3Qg
c3VwcG9ydCB0aGUgZGVwcmVjYXRlZCBDU1MgU2hhcGVzIHN5bnRheCBhbnltb3JlLgpAQCAtNDYs
MTEgKzQ2LDExIEBAIHZhciB2YWxpZFNoYXBlVmFsdWVzID0gWwogICAgIFsiZWxsaXBzZShhdCAx
MHB4IDEwcHgpIiwgImVsbGlwc2UoYXQgMTBweCAxMHB4KSIsICJlbGxpcHNlKGNsb3Nlc3Qtc2lk
ZSBjbG9zZXN0LXNpZGUgYXQgMTBweCAxMHB4KSJdLAogICAgIFsiZWxsaXBzZShhdCB0b3AgbGVm
dCkiLCAiZWxsaXBzZShhdCAwJSAwJSkiLCAiZWxsaXBzZShjbG9zZXN0LXNpZGUgY2xvc2VzdC1z
aWRlIGF0IDAlIDAlKSJdLAogICAgIFsiZWxsaXBzZShhdCByaWdodCBib3R0b20pIiwgImVsbGlw
c2UoYXQgMTAwJSAxMDAlKSIsICJlbGxpcHNlKGNsb3Nlc3Qtc2lkZSBjbG9zZXN0LXNpZGUgYXQg
MTAwJSAxMDAlKSJdLAotICAgIFsiZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVs
bGlwc2UoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggY2xvc2VzdC1z
aWRlIGF0IGxlZnQgMCUgdG9wIDEwcHgpIl0sCi0gICAgWyJlbGxpcHNlKDEwcHggYXQgdG9wIDEw
cHggbGVmdCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIsICJl
bGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IGxlZnQgMTBweCB0b3AgMTBweCkiXSwKKyAgICBb
ImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAw
JSB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAwJSAxMHB4KSJdLAor
ICAgIFsiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiZWxsaXBzZSgxMHB4
IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAx
MHB4IDEwcHgpIl0sCiAgICAgWyJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBw
eCkiLCAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIiwgImVsbGlwc2Uo
MTBweCBjbG9zZXN0LXNpZGUgYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiXSwKLSAgICBbImVs
bGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0
IGxlZnQgMCUgdG9wIDEwcHgpIl0sCi0gICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBw
eCBsZWZ0IDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCki
XSwKKyAgICBbImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVsbGlwc2Uo
MTBweCAyMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IDAl
IDEwcHgpIl0sCisgICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgp
IiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiLCAiZWxsaXBzZSgx
MHB4IDIwcHggYXQgMTBweCAxMHB4KSJdLAogICAgIFsiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmln
aHQgMTBweCBib3R0b20gMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBi
b3R0b20gMTBweCkiXSwKIAogICAgIFsicG9seWdvbigxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBw
eCA1MHB4KSIsICJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUw
cHgpIl0sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlv
bi1leHBlY3RlZC50eHQKaW5kZXggYTNlZWU5NC4uMjc3Y2I3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmlt
YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91
dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjIs
NiArMjIsNiBAQCBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJj
bGUtdG8tdG9wbGVmdC1ib3giIGVsZW1lbnQgYXQgMXMgcwogUEFTUyAtICJ3ZWJraXRTaGFwZU91
dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQt
Ym94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQg
NzUlIDc1JSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNs
ZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCiBQQVNTIC0gIndlYmtpdFNo
YXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
Ym94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQg
NzUlIDc1JSkKLVBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNs
ZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAx
cyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDcwJSA3MCUpCi1QQVNTIC0g
IndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQt
ZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDcwJSA3MCUpCitQQVNTIC0gIndlYmtpdFNoYXBlT3V0
c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmct
a2V5d29yZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xl
KDM1JSBhdCBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUw
JSAqIDAuNSkgKyAoKDEwMCUgLSAyMHB4KSAqIDAuNSkpKQorUEFTUyAtICJ3ZWJraXRTaGFwZU91
dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5n
LWtleXdvcmQtMi1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2ly
Y2xlKDM1JSBhdCBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMo
KDUwJSAqIDAuNSkgKyAoKDEwMCUgLSAxMHB4KSAqIDAuNSkpKQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFu
aW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbAppbmRleCBiOWMzM2U0Li4wMGZiZDNmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwKQEAgLTE0
Niw4ICsxNDYsOCBAQAogICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29y
ZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3giLCAi
d2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKICAg
ICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSIsICAxLCAiY2ly
Y2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lk
ZSIsICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4wNV0sCiAgICAgICBbImNpcmNsZS10by1i
b3R0b21yaWdodC1leHRlbmRlZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0
ZW5kZWQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUp
IiwgMC4wNV0sCi0gICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1r
ZXl3b3JkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1r
ZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3MCUgNzAl
KSIsIDAuMDFdLAotICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmct
a2V5d29yZC0yLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2lu
Zy1rZXl3b3JkLTItYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDcw
JSA3MCUpIiwgMC4wMV0sCisgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11
c2luZy1rZXl3b3JkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11
c2luZy1rZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCBj
YWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUwJSAqIDAuNSkg
KyAoKDEwMCUgLSAyMHB4KSAqIDAuNSkpKSIsIDAuMDFdLAorICAgICAgWyJjaXJjbGUtdG8tYm90
dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWFuaW0iLCAgMSwgImNpcmNsZS10by1i
b3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYm94IiwgIndlYmtpdFNoYXBlT3V0
c2lkZSIsICJjaXJjbGUoMzUlIGF0IGNhbGMoKDUwJSAqIDAuNSkgKyAoKDEwMCUgLSAxMCUpICog
MC41KSkgY2FsYygoNTAlICogMC41KSArICgoMTAwJSAtIDEwcHgpICogMC41KSkpIiwgMC4wMV0s
CiAgICAgXTsKICAgICAKICAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA3NzgzMWFlLi5kNDkwYjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTQtMDEtMTYgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAgICAg
IFtDU1MgU2hhcGVzXSBCYXNpYyBzaGFwZXMnIGNvbXB1dGVkIHBvc2l0aW9uIHNob3VsZCBiZSBh
IGhvcml6b250YWwgYW5kIHZlcnRpY2FsIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9i
IEJ1aXMuCisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBjb21wdXRlZCBwb3NpdGlv
biB2YWx1ZXMgdXNlZCBmb3IgYmxlbmRpbmcgdG8gYmUgYSBob3Jpem9udGFsCisgICAgICAgIGxl
ZnQgb2Zmc2V0IGFuZCBhIHZlcnRpY2FsIHRvcCBvZmZzZXQuIFdoZW4gcG9zaXRpb25zIGluY2x1
ZGUgYSBjZW50ZXIsIGJvdHRvbSwgb3IKKyAgICAgICAgcmlnaHQgcG9zaXRpb24gb2Zmc2V0LCBp
dCBpcyBjb252ZXJ0ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIHRvcC9sZWZ0IGNvb3JkaW5hdGUgYXMK
KyAgICAgICAgYSBjYWxjIGV4cHJlc3Npb24uIFNlcmlhbGl6ZWQgdmFsdWVzIHN0aWxsIHVzZSB0
aGUgb3JpZ2luYWwgYm90dG9tL3JpZ2h0IGRpcmVjdGlvbnMKKyAgICAgICAgd2hlbiBwcmVzZW50
LCBhbmQgYWxzbyBvbWl0IHRoZSB0b3AvbGVmdCBrZXl3b3JkcyB3aGVyZSBwb3NzaWJsZS4KKwor
ICAgICAgICBVcGRhdGVkIHBhcnNpbmcgYW5kIGFuaW1hdGlvbiB0ZXN0cy4KKworICAgICAgICAq
IGNzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVlRm9y
Q2VudGVyQ29vcmRpbmF0ZSk6IFVzZSB0aGUgc2ltcGxpZmllZCBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZSwKKyAgICAgICAgd2hpY2ggaW5jbHVkZXMgYW4gb2Zmc2V0IGFuZCB3aGV0aGVyIHRo
ZSBkaXJlY3Rpb24gaXMgZnJvbSB0aGUgdG9wL2xlZnQgb3IgYm90dG9tL3JpZ2h0LgorICAgICAg
ICAoV2ViQ29yZTo6dmFsdWVGb3JCYXNpY1NoYXBlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG9DZW50ZXJDb29yZGluYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpi
YXNpY1NoYXBlRm9yVmFsdWUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0VmFsdWVG
b3JDZW50ZXJDb29yZGluYXRlKTogRGl0dG8uCisgICAgICAgICogcGFnZS9hbmltYXRpb24vQ1NT
UHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmRGdW5jKTogUmVt
b3ZlIHRoZSBSZW5kZXJCb3ggcGFyYW1ldGVyLCB3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6dXBkYXRlQ29tcHV0ZWRMZW5ndGgpOiBD
YWxjdWxhdGUgdGhlIGNvbXB1dGVkCisgICAgICAgIHBvc2l0aW9uIG9mZnNldCBmb3IgdGhpcyBj
ZW50ZXIgY29vcmRpbmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVSZWN0YW5nbGU6
OmJsZW5kKTogUmVtb3ZlIHRoZSBSZW5kZXJCb3ggcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29y
ZTo6RGVwcmVjYXRlZEJhc2ljU2hhcGVDaXJjbGU6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6RGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6QmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpCYXNpY1NoYXBlUG9seWdvbjo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OkJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkJhc2ljU2hhcGVJbnNldDo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvQmFzaWNTaGFwZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSk6IFNpbXBsaWZ5CisgICAgICAg
IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIHRvIGNvbnRhaW4gYW4gb2Zmc2V0IGFuZCBhIGRp
cmVjdGlvbi4gQWxzbyBhZGQgYQorICAgICAgICBjb21wdXRlZCBsZW5ndGgsIHdoaWNoIGlzIGFu
IG9mZnNldCBmcm9tIHRoZSB0b3AvbGVmdCBkaXJlY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6ZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpjb21wdXRlZExlbmd0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6YmxlbmQpOgorCiAyMDE0LTAxLTE2
ICBQZXRlciBNb2xuYXIgIDxwbW9sbmFyLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVycyBub3Qgc3VwcG9ydGluZyBl
eHBsaWNpdCBvdmVycmlkZSBjb250cm9sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
QmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFwZUZ1
bmN0aW9ucy5jcHAKaW5kZXggM2ZlMGZhMC4uNWI0YmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNwcApAQCAtMzksMjUgKzM5LDEyIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVl
Rm9yQ2VudGVyQ29vcmRpbmF0ZShDU1NWYWx1ZVBvb2wmIHBvb2wsIGNvbnN0IFJlbmRlclN0eWxl
KiBzdHlsZSwgY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIGNlbnRlcikKK3N0YXRp
YyBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUo
Q1NTVmFsdWVQb29sJiBwb29sLCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIEVCb3hPcmllbnQgb3JpZW50YXRpb24pCiB7
Ci0gICAgQ1NTVmFsdWVJRCBrZXl3b3JkID0gQ1NTVmFsdWVJbnZhbGlkOwotICAgIHN3aXRjaCAo
Y2VudGVyLmtleXdvcmQoKSkgewotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
Ok5vbmU6CisgICAgaWYgKGNlbnRlci5kaXJlY3Rpb24oKSA9PSBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZTo6VG9wTGVmdCkKICAgICAgICAgcmV0dXJuIHBvb2wuY3JlYXRlVmFsdWUoY2VudGVy
Lmxlbmd0aCgpLCBzdHlsZSk7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6
VG9wOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVUb3A7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJpZ2h0OgotICAgICAgICBrZXl3b3Jk
ID0gQ1NTVmFsdWVSaWdodDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2Vu
dGVyQ29vcmRpbmF0ZTo6Qm90dG9tOgotICAgICAgICBrZXl3b3JkID0gQ1NTVmFsdWVCb3R0b207
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6Okxl
ZnQ6Ci0gICAgICAgIGtleXdvcmQgPSBDU1NWYWx1ZUxlZnQ7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KKworICAgIENTU1ZhbHVlSUQga2V5d29yZCA9IG9yaWVudGF0aW9uID09IEhPUklaT05UQUwg
PyBDU1NWYWx1ZVJpZ2h0IDogQ1NTVmFsdWVCb3R0b207CiAKICAgICByZXR1cm4gcG9vbC5jcmVh
dGVWYWx1ZShQYWlyOjpjcmVhdGUocG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoa2V5d29yZCks
IHBvb2wuY3JlYXRlVmFsdWUoY2VudGVyLmxlbmd0aCgpLCBzdHlsZSkpKTsKIH0KQEAgLTExMiw4
ICs5OSw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQmFzaWNTaGFwZShjb25zdCBS
ZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJhc2ljU2hhCiAgICAgICAgIGNvbnN0IEJhc2ljU2hh
cGVDaXJjbGUqIGNpcmNsZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqPihi
YXNpY1NoYXBlKTsKICAgICAgICAgUmVmUHRyPENTU0Jhc2ljU2hhcGVDaXJjbGU+IGNpcmNsZVZh
bHVlID0gQ1NTQmFzaWNTaGFwZUNpcmNsZTo6Y3JlYXRlKCk7CiAKLSAgICAgICAgY2lyY2xlVmFs
dWUtPnNldENlbnRlclgodmFsdWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBjaXJj
bGUtPmNlbnRlclgoKSkpOwotICAgICAgICBjaXJjbGVWYWx1ZS0+c2V0Q2VudGVyWSh2YWx1ZUZv
ckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGNpcmNsZS0+Y2VudGVyWSgpKSk7CisgICAg
ICAgIGNpcmNsZVZhbHVlLT5zZXRDZW50ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29s
LCBzdHlsZSwgY2lyY2xlLT5jZW50ZXJYKCksIEhPUklaT05UQUwpKTsKKyAgICAgICAgY2lyY2xl
VmFsdWUtPnNldENlbnRlclkodmFsdWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBj
aXJjbGUtPmNlbnRlclkoKSwgVkVSVElDQUwpKTsKICAgICAgICAgY2lyY2xlVmFsdWUtPnNldFJh
ZGl1cyhiYXNpY1NoYXBlUmFkaXVzVG9DU1NWYWx1ZShzdHlsZSwgcG9vbCwgY2lyY2xlLT5yYWRp
dXMoKSkpOwogICAgICAgICBiYXNpY1NoYXBlVmFsdWUgPSBjaXJjbGVWYWx1ZS5yZWxlYXNlKCk7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTM0LDggKzEyMSw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IHZhbHVlRm9yQmFzaWNTaGFwZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJhc2lj
U2hhCiAgICAgICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKiBlbGxpcHNlID0gc3RhdGljX2Nh
c3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihiYXNpY1NoYXBlKTsKICAgICAgICAgUmVmUHRy
PENTU0Jhc2ljU2hhcGVFbGxpcHNlPiBlbGxpcHNlVmFsdWUgPSBDU1NCYXNpY1NoYXBlRWxsaXBz
ZTo6Y3JlYXRlKCk7CiAKLSAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRDZW50ZXJYKHZhbHVlRm9y
Q2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgZWxsaXBzZS0+Y2VudGVyWCgpKSk7Ci0gICAg
ICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2VudGVyWSh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUocG9v
bCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRlclkoKSkpOworICAgICAgICBlbGxpcHNlVmFsdWUtPnNl
dENlbnRlclgodmFsdWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBlbGxpcHNlLT5j
ZW50ZXJYKCksIEhPUklaT05UQUwpKTsKKyAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRDZW50ZXJZ
KHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgZWxsaXBzZS0+Y2VudGVyWSgp
LCBWRVJUSUNBTCkpOwogICAgICAgICBlbGxpcHNlVmFsdWUtPnNldFJhZGl1c1goYmFzaWNTaGFw
ZVJhZGl1c1RvQ1NTVmFsdWUoc3R5bGUsIHBvb2wsIGVsbGlwc2UtPnJhZGl1c1goKSkpOwogICAg
ICAgICBlbGxpcHNlVmFsdWUtPnNldFJhZGl1c1koYmFzaWNTaGFwZVJhZGl1c1RvQ1NTVmFsdWUo
c3R5bGUsIHBvb2wsIGVsbGlwc2UtPnJhZGl1c1koKSkpOwogICAgICAgICBiYXNpY1NoYXBlVmFs
dWUgPSBlbGxpcHNlVmFsdWUucmVsZWFzZSgpOwpAQCAtMjAxLDI5ICsxODgsNDAgQEAgc3RhdGlj
IExlbmd0aCBjb252ZXJ0VG9MZW5ndGgoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBS
ZW5kZXJTdHlsZSogcm9vdFMKIAogc3RhdGljIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIGNv
bnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBS
ZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCiB7Ci0gICAg
aWYgKFBhaXIqIHBhaXIgPSB2YWx1ZS0+Z2V0UGFpclZhbHVlKCkpIHsKLSAgICAgICAgQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGU6OktleXdvcmQga2V5d29yZCA9IEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjpOb25lOwotICAgICAgICBzd2l0Y2ggKHBhaXItPmZpcnN0KCktPmdldFZhbHVl
SUQoKSkgewotICAgICAgICBjYXNlIENTU1ZhbHVlVG9wOgotICAgICAgICAgICAga2V5d29yZCA9
IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpUb3A7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDU1NWYWx1ZVJpZ2h0OgotICAgICAgICAgICAga2V5d29yZCA9IEJhc2ljU2hh
cGVDZW50ZXJDb29yZGluYXRlOjpSaWdodDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIENTU1ZhbHVlQm90dG9tOgotICAgICAgICAgICAga2V5d29yZCA9IEJhc2ljU2hhcGVDZW50
ZXJDb29yZGluYXRlOjpCb3R0b207Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBD
U1NWYWx1ZUxlZnQ6Ci0gICAgICAgICAgICBrZXl3b3JkID0gQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGU6OkxlZnQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGtleXdvcmQsIGNv
bnZlcnRUb0xlbmd0aChzdHlsZSwgcm9vdFN0eWxlLCBwYWlyLT5zZWNvbmQoKSkpOworICAgIEJh
c2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpEaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIExlbmd0
aCBvZmZzZXQgPSBMZW5ndGgoMCwgRml4ZWQpOworCisgICAgQ1NTVmFsdWVJRCBrZXl3b3JkID0g
Q1NTVmFsdWVUb3A7CisgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAga2V5d29yZCA9IENTU1ZhbHVl
Q2VudGVyOworICAgIGVsc2UgaWYgKHZhbHVlLT5pc1ZhbHVlSUQoKSkKKyAgICAgICAga2V5d29y
ZCA9IHZhbHVlLT5nZXRWYWx1ZUlEKCk7CisgICAgZWxzZSBpZiAoUGFpciogcGFpciA9IHZhbHVl
LT5nZXRQYWlyVmFsdWUoKSkgeworICAgICAgICBrZXl3b3JkID0gcGFpci0+Zmlyc3QoKS0+Z2V0
VmFsdWVJRCgpOworICAgICAgICBvZmZzZXQgPSBjb252ZXJ0VG9MZW5ndGgoc3R5bGUsIHJvb3RT
dHlsZSwgcGFpci0+c2Vjb25kKCkpOworICAgIH0gZWxzZQorICAgICAgICBvZmZzZXQgPSBjb252
ZXJ0VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgdmFsdWUpOworCisgICAgc3dpdGNoIChrZXl3
b3JkKSB7CisgICAgY2FzZSBDU1NWYWx1ZVRvcDoKKyAgICBjYXNlIENTU1ZhbHVlTGVmdDoKKyAg
ICAgICAgZGlyZWN0aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlRvcExlZnQ7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKKyAgICBjYXNlIENTU1ZhbHVl
Qm90dG9tOgorICAgICAgICBkaXJlY3Rpb24gPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6
Qm90dG9tUmlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVmFsdWVDZW50ZXI6Cisg
ICAgICAgIGRpcmVjdGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpUb3BMZWZ0Owor
ICAgICAgICBvZmZzZXQgPSBMZW5ndGgoNTAsIFBlcmNlbnQpOworICAgICAgICBicmVhazsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgZGlyZWN0
aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlRvcExlZnQ7CisgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShjb252ZXJ0
VG9MZW5ndGgoc3R5bGUsIHJvb3RTdHlsZSwgdmFsdWUpKTsKKyAgICByZXR1cm4gQmFzaWNTaGFw
ZUNlbnRlckNvb3JkaW5hdGUoZGlyZWN0aW9uLCBvZmZzZXQpOwogfQogCiBzdGF0aWMgQmFzaWNT
aGFwZVJhZGl1cyBjc3NWYWx1ZVRvQmFzaWNTaGFwZVJhZGl1cyhjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IHJhZGl1cykKQEAgLTI4OCwxMyArMjg2LDggQEAgUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBS
ZW5kZXIKICAgICAgICAgY29uc3QgQ1NTQmFzaWNTaGFwZUNpcmNsZSogY2lyY2xlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlQ2lyY2xlICo+KGJhc2ljU2hhcGVWYWx1ZSk7
CiAgICAgICAgIFJlZlB0cjxCYXNpY1NoYXBlQ2lyY2xlPiBjaXJjbGUgPSBCYXNpY1NoYXBlQ2ly
Y2xlOjpjcmVhdGUoKTsKIAotICAgICAgICBpZiAoY2lyY2xlVmFsdWUtPmNlbnRlclgoKSAmJiBj
aXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgo
Y29udmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+
Y2VudGVyWCgpKSk7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclkoY29udmVydFRvQ2Vu
dGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUoTGVuZ3RoKDUwLCBQZXJjZW50KSkpOwotICAgICAgICAgICAg
Y2lyY2xlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKExlbmd0aCg1MCwg
UGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBjaXJjbGUtPnNldENlbnRlclgoY29udmVy
dFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVy
WCgpKSk7CisgICAgICAgIGNpcmNsZS0+c2V0Q2VudGVyWShjb252ZXJ0VG9DZW50ZXJDb29yZGlu
YXRlKHN0eWxlLCByb290U3R5bGUsIGNpcmNsZVZhbHVlLT5jZW50ZXJZKCkpKTsKICAgICAgICAg
Y2lyY2xlLT5zZXRSYWRpdXMoY3NzVmFsdWVUb0Jhc2ljU2hhcGVSYWRpdXMoc3R5bGUsIHJvb3RT
dHlsZSwgY2lyY2xlVmFsdWUtPnJhZGl1cygpKSk7CiAKICAgICAgICAgYmFzaWNTaGFwZSA9IGNp
cmNsZS5yZWxlYXNlKCk7CkBAIC0zMTYsMTMgKzMwOSw5IEBAIFBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gYmFzaWNTaGFwZUZvclZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVu
ZGVyCiAgICAgICAgIGNvbnN0IENTU0Jhc2ljU2hhcGVFbGxpcHNlKiBlbGxpcHNlVmFsdWUgPSBz
dGF0aWNfY2FzdDxjb25zdCBDU1NCYXNpY1NoYXBlRWxsaXBzZSAqPihiYXNpY1NoYXBlVmFsdWUp
OwogICAgICAgICBSZWZQdHI8QmFzaWNTaGFwZUVsbGlwc2U+IGVsbGlwc2UgPSBCYXNpY1NoYXBl
RWxsaXBzZTo6Y3JlYXRlKCk7CiAKLSAgICAgICAgaWYgKGVsbGlwc2VWYWx1ZS0+Y2VudGVyWCgp
ICYmIGVsbGlwc2VWYWx1ZS0+Y2VudGVyWSgpKSB7Ci0gICAgICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKLSAgICAgICAgICAgIGVsbGlwc2UtPnNldENlbnRlclkoY29u
dmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPmNl
bnRlclkoKSkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZWxsaXBzZS0+c2V0Q2Vu
dGVyWChCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGgoNTAsIFBlcmNlbnQpKSk7Ci0g
ICAgICAgICAgICBlbGxpcHNlLT5zZXRDZW50ZXJZKEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRl
KExlbmd0aCg1MCwgUGVyY2VudCkpKTsKLSAgICAgICAgfQorICAgICAgICBlbGxpcHNlLT5zZXRD
ZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBz
ZVZhbHVlLT5jZW50ZXJYKCkpKTsKKyAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWShjb252ZXJ0
VG9DZW50ZXJDb29yZGluYXRlKHN0eWxlLCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+Y2VudGVy
WSgpKSk7CisKICAgICAgICAgZWxsaXBzZS0+c2V0UmFkaXVzWChjc3NWYWx1ZVRvQmFzaWNTaGFw
ZVJhZGl1cyhzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPnJhZGl1c1goKSkpOwogICAg
ICAgICBlbGxpcHNlLT5zZXRSYWRpdXNZKGNzc1ZhbHVlVG9CYXNpY1NoYXBlUmFkaXVzKHN0eWxl
LCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+cmFkaXVzWSgpKSk7CiAKQEAgLTQyOCwxOSArNDE3
LDkgQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBiYXNpY1NoYXBlRm9yVmFsdWUoY29uc3QgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXIKIGZsb2F0IGZsb2F0VmFsdWVGb3JDZW50ZXJD
b29yZGluYXRlKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIsIGZsb2F0
IGJveERpbWVuc2lvbikKIHsKICAgICBmbG9hdCBvZmZzZXQgPSBmbG9hdFZhbHVlRm9yTGVuZ3Ro
KGNlbnRlci5sZW5ndGgoKSwgYm94RGltZW5zaW9uKTsKLSAgICBzd2l0Y2ggKGNlbnRlci5rZXl3
b3JkKCkpIHsKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpOb25lOgorICAg
IGlmIChjZW50ZXIuZGlyZWN0aW9uKCkgPT0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlRv
cExlZnQpCiAgICAgICAgIHJldHVybiBvZmZzZXQ7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZTo6VG9wOgotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6Okxl
ZnQ6Ci0gICAgICAgIHJldHVybiBvZmZzZXQ7Ci0gICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZTo6Qm90dG9tOgotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlJp
Z2h0OgotICAgICAgICByZXR1cm4gYm94RGltZW5zaW9uIC0gb2Zmc2V0OwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBib3hEaW1l
bnNpb24gLSBvZmZzZXQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCAwOWY4ZGFiLi45OTA5NTJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFu
aW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVy
dHlBbmltYXRpb24uY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIGlubGluZSBQYXNzUmVm
UHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5p
bSwKICAgICAgICAgcmV0dXJuIHRvOwogCiAgICAgQVNTRVJUKGFuaW0tPnJlbmRlcmVyKCktPmlz
Qm94KCkpOwotICAgIHJldHVybiBTaGFwZUNsaXBQYXRoT3BlcmF0aW9uOjpjcmVhdGUodG9TaGFw
ZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVy
KCkpKSk7CisgICAgcmV0dXJuIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb246OmNyZWF0ZSh0b1NoYXBl
LT5ibGVuZChmcm9tU2hhcGUsIHByb2dyZXNzKSk7CiB9CiAKICNpZiBFTkFCTEUoQ1NTX1NIQVBF
UykKQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8U2hhcGVWYWx1
ZT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYXBlVgogICAgICAgICBy
ZXR1cm4gdG87CiAKICAgICBBU1NFUlQoYW5pbS0+cmVuZGVyZXIoKS0+aXNCb3goKSk7Ci0gICAg
cmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+YmxlbmQoZnJvbVNo
YXBlLCBwcm9ncmVzcywgKnRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVyKCkpKSk7CisgICAgcmV0
dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBl
LCBwcm9ncmVzcykpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQmFzaWNTaGFwZXMuY3BwCmluZGV4IDRjYWQyZTQuLjkxNjQwMmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcApAQCAtMzIsNiArMzIs
NyBAQAogI2luY2x1ZGUgIkJhc2ljU2hhcGVzLmgiCiAKICNpbmNsdWRlICJCYXNpY1NoYXBlRnVu
Y3Rpb25zLmgiCisjaW5jbHVkZSAiQ2FsY3VsYXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlBhdGguaCIK
QEAgLTM5LDYgKzQwLDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordm9pZCBCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZTo6dXBkYXRlQ29tcHV0ZWRMZW5ndGgoKQoreworICAgIGlmICht
X2RpcmVjdGlvbiA9PSBUb3BMZWZ0KSB7CisgICAgICAgIG1fY29tcHV0ZWRMZW5ndGggPSBtX2xl
bmd0aC5pc1VuZGVmaW5lZCgpID8gTGVuZ3RoKDAsIEZpeGVkKSA6IG1fbGVuZ3RoOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmIChtX2xlbmd0aC5pc1VuZGVmaW5lZCgpKSB7CisgICAg
ICAgIG1fY29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoMTAwLCBQZXJjZW50KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIE93blB0cjxDYWxjRXhwcmVzc2lvbkxlbmd0aD4gbGhzID0gYWRv
cHRQdHIobmV3IENhbGNFeHByZXNzaW9uTGVuZ3RoKExlbmd0aCgxMDAsIFBlcmNlbnQpKSk7Cisg
ICAgT3duUHRyPENhbGNFeHByZXNzaW9uTGVuZ3RoPiByaHMgPSBhZG9wdFB0cihuZXcgQ2FsY0V4
cHJlc3Npb25MZW5ndGgobV9sZW5ndGgpKTsKKyAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25CaW5h
cnlPcGVyYXRpb24+IG9wID0gYWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uQmluYXJ5T3BlcmF0
aW9uKGxocy5yZWxlYXNlKCksIHJocy5yZWxlYXNlKCksIENhbGNTdWJ0cmFjdCkpOworICAgIG1f
Y29tcHV0ZWRMZW5ndGggPSBMZW5ndGgoQ2FsY3VsYXRpb25WYWx1ZTo6Y3JlYXRlKG9wLnJlbGVh
c2UoKSwgQ2FsY3VsYXRpb25SYW5nZUFsbCkpOworfQorCiBib29sIEJhc2ljU2hhcGU6OmNhbkJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBTdXBw
b3J0IGFuaW1hdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgc2hhcGVzIGluIHRoZSBmdXR1cmUuCkBA
IC03MywzNyArOTEsNiBAQCBib29sIEJhc2ljU2hhcGU6OmNhbkJsZW5kKGNvbnN0IEJhc2ljU2hh
cGUqIG90aGVyKSBjb25zdAogICAgICAgICAmJiB0aGlzRWxsaXBzZS0+cmFkaXVzWSgpLmNhbkJs
ZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWSgpKSk7CiB9CiAKLUZsb2F0U2l6ZSBCYXNpY1NoYXBl
OjpyZWZlcmVuY2VCb3hTaXplKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0Ci17Ci0g
ICAgc3dpdGNoIChsYXlvdXRCb3goKSkgewotICAgIGNhc2UgQ29udGVudEJveDoKLSAgICAgICAg
cmV0dXJuIHJlbmRlcmVyLmNvbnRlbnRCb3hSZWN0KCkuc2l6ZSgpOwotICAgIGNhc2UgUGFkZGlu
Z0JveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnBhZGRpbmdCb3hSZWN0KCkuc2l6ZSgpOwot
ICAgIGNhc2UgQm9yZGVyQm94OgotICAgICAgICByZXR1cm4gcmVuZGVyZXIuc2l6ZSgpOwotICAg
IGNhc2UgQm94TWlzc2luZzogLy8gSWYgPGJveD4gaXMgbm90IHN1cHBsaWVkLCB0aGVuIHRoZSBy
ZWZlcmVuY2UgYm94IGRlZmF1bHRzIHRvIG1hcmdpbi1ib3guCi0gICAgY2FzZSBNYXJnaW5Cb3g6
Ci0gICAgICAgIHJldHVybiBGbG9hdFNpemUocmVuZGVyZXIubWFyZ2luTGVmdCgpICsgcmVuZGVy
ZXIud2lkdGgoKSArIHJlbmRlcmVyLm1hcmdpblJpZ2h0KCksCi0gICAgICAgICAgICByZW5kZXJl
ci5tYXJnaW5Ub3AoKSArIHJlbmRlcmVyLmhlaWdodCgpICsgcmVuZGVyZXIubWFyZ2luQm90dG9t
KCkpOwotICAgIGNhc2UgQm91bmRpbmdCb3g6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBGbG9hdFNpemUoKTsKLX0KLQotTGVu
Z3RoIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpsZW5ndGhGb3JCbGVuZGluZyhjb25zdCBG
bG9hdFNpemUmIGJveFNpemUpIGNvbnN0Ci17Ci0gICAgTGVuZ3RoIGxlbmd0aCA9IHRoaXMtPmxl
bmd0aCgpOwotICAgIGlmIChrZXl3b3JkKCkgPT0gUmlnaHQpCi0gICAgICAgIHJldHVybiBMZW5n
dGgoMTAwIC0gKGxlbmd0aC5pc1BlcmNlbnQoKSA/IGxlbmd0aC5wZXJjZW50KCkgOiAxMDAuZiAq
IChsZW5ndGgudmFsdWUoKSAvIGJveFNpemUud2lkdGgoKSkpLCBQZXJjZW50KTsKLSAgICBpZiAo
a2V5d29yZCgpID09IEJvdHRvbSkKLSAgICAgICAgcmV0dXJuIExlbmd0aCgxMDAgLSAobGVuZ3Ro
LmlzUGVyY2VudCgpID8gbGVuZ3RoLnBlcmNlbnQoKSA6IDEwMC5mICogKGxlbmd0aC52YWx1ZSgp
IC8gYm94U2l6ZS5oZWlnaHQoKSkpLCBQZXJjZW50KTsKLSAgICByZXR1cm4gbGVuZ3RoOwotfQot
CiB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRS
ZWN0JiBib3VuZGluZ0JveCkKIHsKICAgICBBU1NFUlQocGF0aC5pc0VtcHR5KCkpOwpAQCAtMTIx
LDcgKzEwOCw3IEBAIHZvaWQgQmFzaWNTaGFwZVJlY3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBj
b25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFz
aWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3Ro
ZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgUmVuZGVyQm94JikgY29uc3QKK1Bhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSog
b3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90
aGVyLT50eXBlKCkpOwogCkBAIC0xNTEsNyArMTM4LDcgQEAgdm9pZCBEZXByZWNhdGVkQmFzaWNT
aGFwZUNpcmNsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94
KQogICAgICkpOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1No
YXBlQ2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNz
LCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNh
dGVkQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJs
ZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkp
OwogCkBAIC0xOTMsMTUgKzE4MCwxNCBAQCB2b2lkIEJhc2ljU2hhcGVDaXJjbGU6OnBhdGgoUGF0
aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsKIH0KIAotUGFz
c1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1No
YXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBj
b25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25z
dCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogewogICAgIEFTU0VS
VCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAgICAgY29uc3QgQmFzaWNTaGFwZUNpcmNsZSog
byA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqPihvdGhlcik7CiAgICAgUmVm
UHRyPEJhc2ljU2hhcGVDaXJjbGU+IHJlc3VsdCA9ICBCYXNpY1NoYXBlQ2lyY2xlOjpjcmVhdGUo
KTsKIAotICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNlQm94U2l6ZShyZW5kZXJlcik7
Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHBy
b2dyZXNzLCBib3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVu
ZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7CisgICAgcmVzdWx0LT5zZXRDZW50
ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzKSk7CisgICAgcmVzdWx0
LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzKSk7CiAg
ICAgcmVzdWx0LT5zZXRSYWRpdXMobV9yYWRpdXMuYmxlbmQoby0+cmFkaXVzKCksIHByb2dyZXNz
KSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CkBAIC0yMjEsNyArMjA3LDcgQEAg
dm9pZCBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3Qg
RmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUq
IG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0CitQYXNzUmVm
UHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQo
dHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0yNjEsNyArMjQ3LDcgQEAgdm9pZCBCYXNp
Y1NoYXBlRWxsaXBzZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5n
Qm94KQogICAgICAgICByYWRpdXNZICogMikpOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91Ymxl
IHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdAorUGFzc1JlZlB0cjxC
YXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3Ro
ZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVy
LT50eXBlKCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKiBvID0gc3RhdGljX2Nhc3Q8
Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihvdGhlcik7CkBAIC0yNzYsOSArMjYyLDggQEAgUGFz
c1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29uc3QgQmFzaWNT
aGFwZSogb3RoZXIsIGRvdWJsZQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAg
IEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNlQm94U2l6ZShyZW5kZXJlcik7Ci0gICAgcmVz
dWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzLCBi
b3hTaXplKSk7Ci0gICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50
ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7CisgICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2Vu
dGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzKSk7CisgICAgcmVzdWx0LT5zZXRDZW50
ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzKSk7CiAgICAgcmVzdWx0
LT5zZXRSYWRpdXNYKG1fcmFkaXVzWC5ibGVuZChvLT5yYWRpdXNYKCksIHByb2dyZXNzKSk7CiAg
ICAgcmVzdWx0LT5zZXRSYWRpdXNZKG1fcmFkaXVzWS5ibGVuZChvLT5yYWRpdXNZKCksIHByb2dy
ZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CkBAIC0zMDIsNyArMjg3LDcgQEAg
dm9pZCBCYXNpY1NoYXBlUG9seWdvbjo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3Qm
IGJvdW5kaW5nQm94KQogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiB9CiAKLVBhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90
aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0CitQYXNzUmVmUHRy
PEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBv
dGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3Ro
ZXItPnR5cGUoKSk7CiAKQEAgLTM0NCw3ICszMjksNyBAQCB2b2lkIEJhc2ljU2hhcGVJbnNldFJl
Y3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQog
ICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUluc2V0UmVjdGFu
Z2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25z
dCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlSW5z
ZXRSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jl
c3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKIApAQCAt
MzkwLDcgKzM3NSw3IEBAIHZvaWQgQmFzaWNTaGFwZUluc2V0OjpwYXRoKFBhdGgmIHBhdGgsIGNv
bnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBk
b3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2lj
U2hhcGU+IEJhc2ljU2hhcGVJbnNldDo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRv
dWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBl
KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNT
aGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCmlu
ZGV4IGUwZjM0MTcuLjM2NDY0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9CYXNpY1NoYXBlcy5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
dm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCBXaW5k
UnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJuIFJVTEVfTk9OWkVSTzsgfQotICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91Ymxl
LCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJh
c2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0ID0gMDsKIAog
ICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwogCkBAIC03Niw4ICs3Niw2IEBAIHBy
b3RlY3RlZDoKICAgICB7CiAgICAgfQogCi0gICAgRmxvYXRTaXplIHJlZmVyZW5jZUJveFNpemUo
Y29uc3QgUmVuZGVyQm94JikgY29uc3Q7Ci0KIHByaXZhdGU6CiAgICAgTGF5b3V0Qm94IG1fbGF5
b3V0Qm94OwogfTsKQEAgLTEwOSw3ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmly
dHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91
YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIEJhc2ljU2hhcGVSZWN0YW5nbGVUeXBlOyB9CiBwcml2YXRlOgpAQCAtMTI1LDMwICsxMjMs
NDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUgewogcHVi
bGljOgotICAgIGVudW0gS2V5d29yZCB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFRvcCwKLSAg
ICAgICAgUmlnaHQsCi0gICAgICAgIEJvdHRvbSwKLSAgICAgICAgTGVmdAorICAgIGVudW0gRGly
ZWN0aW9uIHsKKyAgICAgICAgVG9wTGVmdCwKKyAgICAgICAgQm90dG9tUmlnaHQKICAgICB9Owot
ICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKCkgOiBtX2tleXdvcmQoTm9uZSksIG1fbGVu
Z3RoKFVuZGVmaW5lZCkgeyB9Ci0gICAgZXhwbGljaXQgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGUoTGVuZ3RoIGxlbmd0aCkgOiBtX2tleXdvcmQoTm9uZSksIG1fbGVuZ3RoKGxlbmd0aCkgeyB9
Ci0gICAgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoS2V5d29yZCBrZXl3b3JkLCBMZW5ndGgg
bGVuZ3RoKSA6IG1fa2V5d29yZChrZXl3b3JkKSwgbV9sZW5ndGgobGVuZ3RoKSB7IH0KLSAgICBC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShjb25zdCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZSYgb3RoZXIpIDogbV9rZXl3b3JkKG90aGVyLmtleXdvcmQoKSksIG1fbGVuZ3RoKG90aGVyLmxl
bmd0aCgpKSB7IH0KIAotICAgIEtleXdvcmQga2V5d29yZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5
d29yZDsgfQorICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKCkKKyAgICAgICAgOiBtX2Rp
cmVjdGlvbihUb3BMZWZ0KQorICAgICAgICAsIG1fbGVuZ3RoKFVuZGVmaW5lZCkKKyAgICB7Cisg
ICAgICAgIHVwZGF0ZUNvbXB1dGVkTGVuZ3RoKCk7CisgICAgfQorCisgICAgQmFzaWNTaGFwZUNl
bnRlckNvb3JkaW5hdGUoRGlyZWN0aW9uIGRpcmVjdGlvbiwgTGVuZ3RoIGxlbmd0aCkKKyAgICAg
ICAgOiBtX2RpcmVjdGlvbihkaXJlY3Rpb24pCisgICAgICAgICwgbV9sZW5ndGgobGVuZ3RoKQor
ICAgIHsKKyAgICAgICAgdXBkYXRlQ29tcHV0ZWRMZW5ndGgoKTsKKyAgICB9CisKKyAgICBCYXNp
Y1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShjb25zdCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSYg
b3RoZXIpCisgICAgICAgIDogbV9kaXJlY3Rpb24ob3RoZXIuZGlyZWN0aW9uKCkpCisgICAgICAg
ICwgbV9sZW5ndGgob3RoZXIubGVuZ3RoKCkpCisgICAgICAgICwgbV9jb21wdXRlZExlbmd0aChv
dGhlci5tX2NvbXB1dGVkTGVuZ3RoKQorICAgIHsKKyAgICB9CisKKyAgICBEaXJlY3Rpb24gZGly
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb247IH0KICAgICBjb25zdCBMZW5ndGgm
IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9Ci0gICAgTGVuZ3RoIGxlbmd0aEZv
ckJsZW5kaW5nKGNvbnN0IEZsb2F0U2l6ZSYpIGNvbnN0OworICAgIGNvbnN0IExlbmd0aCYgY29t
cHV0ZWRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGVkTGVuZ3RoOyB9CiAKLSAgICBC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSBibGVuZChjb25zdCBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZSYgb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgRmxvYXRTaXplJiBib3hTaXpl
KSBjb25zdAorICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIGJsZW5kKGNvbnN0IEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogICAg
IHsKLSAgICAgICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKGxlbmd0aEZvckJs
ZW5kaW5nKGJveFNpemUpLmJsZW5kKG90aGVyLmxlbmd0aEZvckJsZW5kaW5nKGJveFNpemUpLCBw
cm9ncmVzcykpOworICAgICAgICByZXR1cm4gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoVG9w
TGVmdCwgbV9jb21wdXRlZExlbmd0aC5ibGVuZChvdGhlci5tX2NvbXB1dGVkTGVuZ3RoLCBwcm9n
cmVzcykpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBLZXl3b3JkIG1fa2V5d29yZDsKKyAgICBE
aXJlY3Rpb24gbV9kaXJlY3Rpb247CiAgICAgTGVuZ3RoIG1fbGVuZ3RoOworICAgIExlbmd0aCBt
X2NvbXB1dGVkTGVuZ3RoOworCisgICAgdm9pZCB1cGRhdGVDb21wdXRlZExlbmd0aCgpOwogfTsK
IAogY2xhc3MgQmFzaWNTaGFwZVJhZGl1cyB7CkBAIC0yMDAsNyArMjE1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0UmFkaXVzKEJhc2ljU2hhcGVSYWRpdXMgcmFkaXVzKSB7IG1fcmFkaXVzID0g
c3RkOjptb3ZlKHJhZGl1cyk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25z
dCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29u
c3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNv
bnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBU
eXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBCYXNpY1NoYXBlQ2lyY2xlVHlwZTsg
fQogcHJpdmF0ZToKQEAgLTIyNCw3ICsyMzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRp
dXMoTGVuZ3RoIHJhZGl1cykgeyBtX3JhZGl1cyA9IHN0ZDo6bW92ZShyYWRpdXMpOyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7Ci0g
ICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUq
LCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBj
b25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gRGVwcmVjYXRlZEJhc2ljU2hhcGVDaXJjbGVUeXBlOyB9CiBwcml2YXRlOgpAQCAt
MjUxLDcgKzI2Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1koQmFzaWNTaGFwZVJh
ZGl1cyByYWRpdXNZKSB7IG1fcmFkaXVzWSA9IHN0ZDo6bW92ZShyYWRpdXNZKTsgfQogCiAgICAg
dmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwg
ZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIEJhc2ljU2hhcGVFbGxpcHNlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTI3OCw3ICsyOTMs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXNZKExlbmd0aCByYWRpdXNZKSB7IG1fcmFk
aXVzWSA9IHN0ZDo6bW92ZShyYWRpdXNZKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0
aCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxC
YXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBjb25zdCBSZW5kZXJC
b3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4g
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2
aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIERlcHJlY2F0ZWRCYXNp
Y1NoYXBlRWxsaXBzZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0zMDIsNyArMzE3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgYXBwZW5kUG9pbnQoTGVuZ3RoIHgsIExlbmd0aCB5KSB7IG1fdmFsdWVzLmFw
cGVuZChzdGQ6Om1vdmUoeCkpOyBtX3ZhbHVlcy5hcHBlbmQoc3RkOjptb3ZlKHkpKTsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwot
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBl
KiwgZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFdpbmRSdWxlIHdpbmRSdWxlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV93aW5kUnVsZTsgfQogCkBAIC0zNDMsNyArMzU4LDcgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJl
Y3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQo
Y29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2lj
U2hhcGUqLCBkb3VibGUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBCYXNpY1NoYXBlSW5zZXRSZWN0YW5nbGVUeXBlOyB9
CiBwcml2YXRlOgpAQCAtMzgyLDcgKzM5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJvdHRv
bUxlZnRSYWRpdXMoTGVuZ3RoU2l6ZSByYWRpdXMpIHsgbV9ib3R0b21MZWZ0UmFkaXVzID0gc3Rk
Ojptb3ZlKHJhZGl1cyk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBG
bG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4g
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0
IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBUeXBl
IHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBCYXNpY1NoYXBlSW5zZXRUeXBlOyB9CiBw
cml2YXRlOgo=
</data>
<flag name="commit-queue"
          id="245304"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221430</attachid>
            <date>2014-01-16 17:13:53 -0800</date>
            <delta_ts>2014-01-17 12:09:18 -0800</delta_ts>
            <desc>Fixing up unused params</desc>
            <filename>127010.patch</filename>
            <type>text/plain</type>
            <size>44808</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZjU5YzU0Li43NzUyZDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTQtMDEt
MTYgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
cGVzXSBCYXNpYyBzaGFwZXMnIGNvbXB1dGVkIHBvc2l0aW9uIHNob3VsZCBiZSBhIGhvcml6b250
YWwgYW5kIHZlcnRpY2FsIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI3MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCisK
KyAgICAgICAgVXBkYXRlIGV4aXN0aW5nIHBhcnNpbmcgYW5kIGFuaW1hdGlvbiB0ZXN0cy4gRm9y
IHBhcnNpbmcgdGVzdHMsIHRvcCAvIGxlZnQga2V5d29yZHMKKyAgICAgICAgYXJlIG9taXR0ZWQg
d2hlbmV2ZXIgcG9zc2libGUuIEZvciBhbmltYXRpb24gdGVzdHMsIGFuaW1hdGlvbnMgdG8gYm90
dG9tIC8gcmlnaHQKKyAgICAgICAgb2Zmc2V0cyB3aWxsIHVzZSBjYWxjIHZhbHVlcyBiYXNlZCBm
cm9tIHRoZSB0b3AgLyBsZWZ0IGRpcmVjdGlvbi4KKworICAgICAgICAqIGFuaW1hdGlvbnMvcmVz
b3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanM6CisgICAgICAgIChwYXJzZUJhc2ljU2hh
cGUpOiBQYXJzZSBub24tbnVtZXJpY2FsIGFyZ3VtZW50cyB0byB0aGUgc2hhcGUgZnVuY3Rpb24u
CisgICAgICAgIChiYXNpY1NoYXBlUGFyYW1ldGVyc01hdGNoKTogTWF0Y2ggbm9uLW51bWVyaWNh
bCBhcmd1bWVudHMgdG8gdGhlIHNoYXBlIGZ1bmN0aW9uLgorICAgICAgICAqIGZhc3Qvc2hhcGVz
L3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0OiBVcGRhdGUgc2VyaWFs
aXplZCB2YWx1ZXMKKyAgICAgICAgdG8gb21pdCB0b3AgLyBsZWZ0IGtleXdvcmRzIHdoZW4gcG9z
c2libGUuCisgICAgICAgICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNp
ZGUtZXhwZWN0ZWQudHh0OiBVcGRhdGUgc2VyaWFsaXplZCB2YWx1ZXMKKyAgICAgICAgdG8gb21p
dCB0b3AgLyBsZWZ0IGtleXdvcmRzIHdoZW4gcG9zc2libGUuCisgICAgICAgICogZmFzdC9zaGFw
ZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanM6IE1vZGlmeSBzaGFwZSBwYXJzaW5nIHRl
c3QgZXhwZWN0YXRpb25zLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAg
ICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24uaHRtbDogRGl0dG8uCisKIDIwMTQtMDEtMTYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTYyMTQ1KTogbWVkaWEvdmlkZW8tY29u
dHJvbHMtdmlzaWJsZS1hdWRpby1vbmx5Lmh0bWwgZmFpbHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMgYi9MYXlv
dXRUZXN0cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCmlu
ZGV4IDQ0N2YxNjkuLjgxZmFmODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMv
cmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcwpAQCAtMjM4LDEwICsy
MzgsMTUgQEAgZnVuY3Rpb24gcGFyc2VCYXNpY1NoYXBlKHMpCiAKICAgICAvLyBOb3JtYWxpemUg
cGVyY2VudGFnZSB2YWx1ZXMuCiAgICAgZm9yICg7IGkgPCBtYXRjaGVzLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgIHZhciBwYXJhbSA9IG1hdGNoZXNbaV07Ci0gICAgICAgIG1hdGNoZXNbaV0gPSBw
YXJzZUZsb2F0KG1hdGNoZXNbaV0pOwotICAgICAgICBpZiAocGFyYW0uaW5kZXhPZignJScpICE9
IC0xKQotICAgICAgICAgICAgbWF0Y2hlc1tpXSA9IG1hdGNoZXNbaV0gLyAxMDA7CisgICAgICAg
IHZhciBwYXJhbSA9IHBhcnNlRmxvYXQobWF0Y2hlc1tpXSk7CisKKyAgICAgICAgaWYgKGlzTmFO
KHBhcmFtKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmIChtYXRjaGVzW2ld
LmluZGV4T2YoJyUnKSAhPSAtMSkKKyAgICAgICAgICAgIG1hdGNoZXNbaV0gPSBwYXJhbSAvIDEw
MDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWF0Y2hlc1tpXSA9IHBhcmFtOwogICAgIH0K
IAogICAgIHJldHVybiB7InNoYXBlIjogc2hhcGVGdW5jdGlvblsxXSwgInBhcmFtcyI6IG1hdGNo
ZXN9OwpAQCAtMzEzLDE0ICszMTgsMTEgQEAgZnVuY3Rpb24gYmFzaWNTaGFwZVBhcmFtZXRlcnNN
YXRjaChwYXJhbUxpc3QxLCBwYXJhbUxpc3QyLCB0b2xlcmFuY2UpCiAgICAgICAgIHx8IHBhcmFt
TGlzdDEucGFyYW1zLmxlbmd0aCAhPSBwYXJhbUxpc3QyLnBhcmFtcy5sZW5ndGgpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB2YXIgaSA9IDA7Ci0gICAgaWYgKHBhcmFtTGlzdDEuc2hhcGUg
PT0gInBvbHlnb24iKSB7Ci0gICAgICAgIGlmIChwYXJhbUxpc3QxLnBhcmFtc1swXSAhPSBwYXJh
bUxpc3QyLnBhcmFtc1swXSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gZmlsbC1ydWxl
J3MgZG9uJ3QgbWF0Y2gKLSAgICAgICAgaSsrOwotICAgIH0KICAgICBmb3IgKDsgaSA8IHBhcmFt
TGlzdDEucGFyYW1zLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIHZhciBwYXJhbTEgPSBwYXJhbUxp
c3QxLnBhcmFtc1tpXSwgCiAgICAgICAgICAgICBwYXJhbTIgPSBwYXJhbUxpc3QyLnBhcmFtc1tp
XTsKKyAgICAgICAgaWYgKHBhcmFtMSA9PT0gcGFyYW0yKQorICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIHZhciBtYXRjaCA9IGlzQ2xvc2VFbm91Z2gocGFyYW0xLCBwYXJhbTIsIHRvbGVy
YW5jZSk7CiAgICAgICAgIGlmICghbWF0Y2gpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUt
aW5zaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFy
c2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CmluZGV4IGM1N2Y3MjEuLmVjYmViNGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1p
bnNpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcv
cGFyc2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CkBAIC00Niw5ICs0Niw5IEBAIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoYXQg
dG9wIGxlZnQpIikgaXMgImNpCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImNpcmNsZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShhdCAxMDAlIDEwMCUpIgog
UEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNs
ZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMTAwJSAxMDAl
KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHgg
YXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0b3AgMTBweCki
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2ly
Y2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAwJSB0
b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNp
ZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQg
MCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNs
ZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAx
MHB4IHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBl
LWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImNpcmNs
ZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAx
MHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCIt
d2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAx
MHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBw
eCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCByaWdodCAx
MHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUi
LCAiZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIpIGlzICJlbGxpcHNlKDEwcHgsIDIw
cHgsIDMwcHgsIDQwcHgpIgpAQCAtNzQsMTUgKzc0LDE1IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKGF0IHRvcCBsZWZ0KSIpIGlz
ICJlCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoYXQg
cmlnaHQgYm90dG9tKSIpIGlzICJlbGxpcHNlKGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENvbXB1
dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZShhdCByaWdodCBi
b3R0b20pIikgaXMgImVsbGlwc2UoY2xvc2VzdC1zaWRlIGNsb3Nlc3Qtc2lkZSBhdCAxMDAlIDEw
MCUpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEw
cHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEw
cHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
ImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2Vz
dC1zaWRlIGF0IGxlZnQgMCUgdG9wIDEwcHgpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUo
Ii13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIp
IGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0IDAlIDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVm
dCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEw
cHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRl
IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdl
YmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCki
KSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRD
U1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBw
eCBib3R0b20gMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEw
cHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
ImVsbGlwc2UoMTBweCBhdCByaWdodCAxMHB4IGJvdHRvbSAxMHB4KSIpIGlzICJlbGxpcHNlKDEw
cHggY2xvc2VzdC1zaWRlIGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRv
cCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNl
KDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBs
ZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJl
bGxpcHNlKDEwcHggMjBweCBhdCAwJSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIp
IGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDEwcHggdG9wIDEwcHgpIgotUEFTUyBnZXRD
b21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAy
MHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVm
dCAxMHB4IHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikg
aXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13
ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90
dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEw
cHgpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
ImVsbGlwc2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlw
c2UoMTBweCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0
KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJwb2x5Z29uKDEwcHggMjBweCwgMzBweCA0MHB4LCA0
MHB4IDUwcHgpIikgaXMgInBvbHlnb24obm9uemVybywgMTBweCAyMHB4LCAzMHB4IDQwcHgsIDQw
cHggNTBweCkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQKaW5kZXggMWRhNjMz
ZC4uNjRmZWYxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9w
YXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dApAQCAtNDYs
OSArNDYsOSBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRz
aWRlIiwgImNpcmNsZShhdCB0b3AgbGVmdCkiKSBpcyAiYwogUEFTUyBnZXRDU1NUZXh0KCItd2Vi
a2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiY2lyY2xl
KGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlIiwgImNpcmNsZShhdCByaWdodCBib3R0b20pIikgaXMgImNpcmNsZShjbG9zZXN0
LXNpZGUgYXQgMTAwJSAxMDAlKSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRz
aWRlIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImNpcmNsZSgxMHB4IGF0
IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIpIGlzICJjaXJj
bGUoMTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVl
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgbGVmdCB0b3AgMTBweCki
KSBpcyAiY2lyY2xlKDEwcHggYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMg
ImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHRvcCAxMHB4
IGxlZnQgMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xl
KDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJjaXJjbGUoMTBweCBhdCAxMHB4IDEw
cHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEw
cHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiY2lyY2xlKDEwcHggYXQgcmlnaHQg
MTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikg
aXMgImNpcmNsZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4LCA0
MHB4KSIpIGlzICJlbGxpcHNlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIgpAQCAtNzQsMTUgKzc0
LDE1IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUi
LCAiZWxsaXBzZShhdCB0b3AgbGVmdCkiKSBpcyAiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxsaXBzZShh
dCAxMDAlIDEwMCUpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUt
b3V0c2lkZSIsICJlbGxpcHNlKGF0IHJpZ2h0IGJvdHRvbSkiKSBpcyAiZWxsaXBzZShjbG9zZXN0
LXNpZGUgY2xvc2VzdC1zaWRlIGF0IDEwMCUgMTAwJSkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJr
aXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAi
ZWxsaXBzZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxl
VmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCB0b3Ag
MTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDAlIHRvcCAxMHB4
KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAi
ZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCBjbG9zZXN0
LXNpZGUgYXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lk
ZSIsICJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEw
cHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCIt
d2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBw
eCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBsZWZ0IDEwcHggdG9wIDEwcHgp
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJl
bGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggY2xv
c2VzdC1zaWRlIGF0IDEwcHggMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
b3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAi
ZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgcmln
aHQgMTBweCBib3R0b20gMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCBy
aWdodCAxMHB4IGJvdHRvbSAxMHB4KSIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1v
dXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIikgaXMgImVsbGlw
c2UoMTBweCAyMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIgotUEFTUyBnZXRDb21wdXRlZFN0eWxl
VmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0
IHRvcCAxMHB4KSIpIGlzICJlbGxpcHNlKDEwcHggMjBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxs
aXBzZSgxMHB4IDIwcHggYXQgbGVmdCB0b3AgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHgg
YXQgMCUgMTBweCkiCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJl
bGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIikgaXMgImVsbGlwc2UoMTBw
eCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiCi1QQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IHRvcCAxMHB4
IGxlZnQgMTBweCkiKSBpcyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4
KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAi
ZWxsaXBzZSgxMHB4IDIwcHggYXQgdG9wIDEwcHggbGVmdCAxMHB4KSIpIGlzICJlbGxpcHNlKDEw
cHggMjBweCBhdCAxMHB4IDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91
dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiKSBp
cyAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiCiBQQVNTIGdl
dENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBw
eCAyMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIikgaXMgImVsbGlwc2UoMTBweCAyMHB4
IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNo
YXBlLW91dHNpZGUiLCAicG9seWdvbigxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4KSIp
IGlzICJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUwcHgpIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3Qt
dXRpbHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11
dGlscy5qcwppbmRleCA3OGRmNGVhLi5kOTQ1MzVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcwpAQCAtMzAsOCArMzAs
OCBAQCB2YXIgdmFsaWRTaGFwZVZhbHVlcyA9IFsKICAgICBbImNpcmNsZShhdCAxMHB4IDEwcHgp
IiwgImNpcmNsZShhdCAxMHB4IDEwcHgpIiwgImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMTBweCAx
MHB4KSJdLAogICAgIFsiY2lyY2xlKGF0IHRvcCBsZWZ0KSIsICJjaXJjbGUoYXQgMCUgMCUpIiwg
ImNpcmNsZShjbG9zZXN0LXNpZGUgYXQgMCUgMCUpIl0sCiAgICAgWyJjaXJjbGUoYXQgcmlnaHQg
Ym90dG9tKSIsICJjaXJjbGUoYXQgMTAwJSAxMDAlKSIsICJjaXJjbGUoY2xvc2VzdC1zaWRlIGF0
IDEwMCUgMTAwJSkiXSwKLSAgICBbImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImNp
cmNsZSgxMHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIl0sCi0gICAgWyJjaXJjbGUoMTBweCBhdCB0
b3AgMTBweCBsZWZ0IDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCki
XSwKKyAgICBbImNpcmNsZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0
IGxlZnQgMCUgdG9wIDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0IDAlIDEwcHgpIl0sCisgICAgWyJj
aXJjbGUoMTBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIiwgImNpcmNsZSgxMHB4IGF0IGxlZnQg
MTBweCB0b3AgMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4KSJdLAogICAgIFsiY2ly
Y2xlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiLCAiY2lyY2xlKDEwcHggYXQgcmln
aHQgMTBweCBib3R0b20gMTBweCkiXSwKIAogICAgICJlbGxpcHNlKDEwcHgsIDIwcHgsIDMwcHgs
IDQwcHgpIiwgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHRlc3Qgb25jZSB3ZSBkbyBub3Qgc3VwcG9y
dCB0aGUgZGVwcmVjYXRlZCBDU1MgU2hhcGVzIHN5bnRheCBhbnltb3JlLgpAQCAtNDYsMTEgKzQ2
LDExIEBAIHZhciB2YWxpZFNoYXBlVmFsdWVzID0gWwogICAgIFsiZWxsaXBzZShhdCAxMHB4IDEw
cHgpIiwgImVsbGlwc2UoYXQgMTBweCAxMHB4KSIsICJlbGxpcHNlKGNsb3Nlc3Qtc2lkZSBjbG9z
ZXN0LXNpZGUgYXQgMTBweCAxMHB4KSJdLAogICAgIFsiZWxsaXBzZShhdCB0b3AgbGVmdCkiLCAi
ZWxsaXBzZShhdCAwJSAwJSkiLCAiZWxsaXBzZShjbG9zZXN0LXNpZGUgY2xvc2VzdC1zaWRlIGF0
IDAlIDAlKSJdLAogICAgIFsiZWxsaXBzZShhdCByaWdodCBib3R0b20pIiwgImVsbGlwc2UoYXQg
MTAwJSAxMDAlKSIsICJlbGxpcHNlKGNsb3Nlc3Qtc2lkZSBjbG9zZXN0LXNpZGUgYXQgMTAwJSAx
MDAlKSJdLAotICAgIFsiZWxsaXBzZSgxMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVsbGlwc2Uo
MTBweCBhdCBsZWZ0IDAlIHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggY2xvc2VzdC1zaWRlIGF0
IGxlZnQgMCUgdG9wIDEwcHgpIl0sCi0gICAgWyJlbGxpcHNlKDEwcHggYXQgdG9wIDEwcHggbGVm
dCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAxMHB4IHRvcCAxMHB4KSIsICJlbGxpcHNl
KDEwcHggY2xvc2VzdC1zaWRlIGF0IGxlZnQgMTBweCB0b3AgMTBweCkiXSwKKyAgICBbImVsbGlw
c2UoMTBweCBhdCBsZWZ0IHRvcCAxMHB4KSIsICJlbGxpcHNlKDEwcHggYXQgbGVmdCAwJSB0b3Ag
MTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAwJSAxMHB4KSJdLAorICAgIFsi
ZWxsaXBzZSgxMHB4IGF0IHRvcCAxMHB4IGxlZnQgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGF0IGxl
ZnQgMTBweCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IGNsb3Nlc3Qtc2lkZSBhdCAxMHB4IDEw
cHgpIl0sCiAgICAgWyJlbGxpcHNlKDEwcHggYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiLCAi
ZWxsaXBzZSgxMHB4IGF0IHJpZ2h0IDEwcHggYm90dG9tIDEwcHgpIiwgImVsbGlwc2UoMTBweCBj
bG9zZXN0LXNpZGUgYXQgcmlnaHQgMTBweCBib3R0b20gMTBweCkiXSwKLSAgICBbImVsbGlwc2Uo
MTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQg
MCUgdG9wIDEwcHgpIl0sCi0gICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0
IDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiXSwKKyAg
ICBbImVsbGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCAy
MHB4IGF0IGxlZnQgMCUgdG9wIDEwcHgpIiwgImVsbGlwc2UoMTBweCAyMHB4IGF0IDAlIDEwcHgp
Il0sCisgICAgWyJlbGxpcHNlKDEwcHggMjBweCBhdCB0b3AgMTBweCBsZWZ0IDEwcHgpIiwgImVs
bGlwc2UoMTBweCAyMHB4IGF0IGxlZnQgMTBweCB0b3AgMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIw
cHggYXQgMTBweCAxMHB4KSJdLAogICAgIFsiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBw
eCBib3R0b20gMTBweCkiLCAiZWxsaXBzZSgxMHB4IDIwcHggYXQgcmlnaHQgMTBweCBib3R0b20g
MTBweCkiXSwKIAogICAgIFsicG9seWdvbigxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4
KSIsICJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUwcHgpIl0s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQKaW5kZXggYTNlZWU5NC4uMjc3Y2I3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjIsNiArMjIs
NiBAQCBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8t
dG9wbGVmdC1ib3giIGVsZW1lbnQgYXQgMXMgcwogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUi
IHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiBl
bGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgNzUlIDc1
JSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10by1i
b3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0
c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtYm94IiBl
bGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgNzUlIDc1
JSkKLVBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10by1i
b3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcg
c29tZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDcwJSA3MCUpCi1QQVNTIC0gIndlYmtp
dFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5k
ZWQtdXNpbmcta2V5d29yZC0yLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3Nl
IHRvOiBjaXJjbGUoMzUlIGF0IDcwJSA3MCUpCitQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIg
cHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29y
ZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBh
dCBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUwJSAqIDAu
NSkgKyAoKDEwMCUgLSAyMHB4KSAqIDAuNSkpKQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUi
IHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdv
cmQtMi1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1
JSBhdCBjYWxjKCg1MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUwJSAq
IDAuNSkgKyAoKDEwMCUgLSAxMHB4KSAqIDAuNSkpKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbAppbmRleCBiOWMzM2U0Li4wMGZiZDNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWFuaW1hdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwKQEAgLTE0Niw4ICsx
NDYsOCBAQAogICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1hbmlt
IiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3giLCAid2Via2l0
U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKICAgICAgIFsi
Y2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSIsICAxLCAiY2lyY2xlLXRv
LWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJj
aXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4wNV0sCiAgICAgICBbImNpcmNsZS10by1ib3R0b21y
aWdodC1leHRlbmRlZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
Ym94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4w
NV0sCi0gICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3Jk
LWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3Jk
LWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3MCUgNzAlKSIsIDAu
MDFdLAotICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29y
ZC0yLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3
b3JkLTItYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDcwJSA3MCUp
IiwgMC4wMV0sCisgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1r
ZXl3b3JkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1r
ZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCBjYWxjKCg1
MCUgKiAwLjUpICsgKCgxMDAlIC0gMTAlKSAqIDAuNSkpIGNhbGMoKDUwJSAqIDAuNSkgKyAoKDEw
MCUgLSAyMHB4KSAqIDAuNSkpKSIsIDAuMDFdLAorICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmln
aHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21y
aWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIs
ICJjaXJjbGUoMzUlIGF0IGNhbGMoKDUwJSAqIDAuNSkgKyAoKDEwMCUgLSAxMCUpICogMC41KSkg
Y2FsYygoNTAlICogMC41KSArICgoMTAwJSAtIDEwcHgpICogMC41KSkpIiwgMC4wMV0sCiAgICAg
XTsKICAgICAKICAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0NzhkODFiLi5mMWUwNDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTQt
MDEtMTYgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1Mg
U2hhcGVzXSBCYXNpYyBzaGFwZXMnIGNvbXB1dGVkIHBvc2l0aW9uIHNob3VsZCBiZSBhIGhvcml6
b250YWwgYW5kIHZlcnRpY2FsIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMu
CisKKyAgICAgICAgVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBjb21wdXRlZCBwb3NpdGlvbiB2YWx1
ZXMgdXNlZCBmb3IgYmxlbmRpbmcgdG8gYmUgYSBob3Jpem9udGFsCisgICAgICAgIGxlZnQgb2Zm
c2V0IGFuZCBhIHZlcnRpY2FsIHRvcCBvZmZzZXQuIFdoZW4gcG9zaXRpb25zIGluY2x1ZGUgYSBj
ZW50ZXIsIGJvdHRvbSwgb3IKKyAgICAgICAgcmlnaHQgcG9zaXRpb24gb2Zmc2V0LCBpdCBpcyBj
b252ZXJ0ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIHRvcC9sZWZ0IGNvb3JkaW5hdGUgYXMKKyAgICAg
ICAgYSBjYWxjIGV4cHJlc3Npb24uIFNlcmlhbGl6ZWQgdmFsdWVzIHN0aWxsIHVzZSB0aGUgb3Jp
Z2luYWwgYm90dG9tL3JpZ2h0IGRpcmVjdGlvbnMKKyAgICAgICAgd2hlbiBwcmVzZW50LCBhbmQg
YWxzbyBvbWl0IHRoZSB0b3AvbGVmdCBrZXl3b3JkcyB3aGVyZSBwb3NzaWJsZS4KKworICAgICAg
ICBVcGRhdGVkIHBhcnNpbmcgYW5kIGFuaW1hdGlvbiB0ZXN0cy4KKworICAgICAgICAqIGNzcy9C
YXNpY1NoYXBlRnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVlRm9yQ2VudGVy
Q29vcmRpbmF0ZSk6IFVzZSB0aGUgc2ltcGxpZmllZCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZSwKKyAgICAgICAgd2hpY2ggaW5jbHVkZXMgYW4gb2Zmc2V0IGFuZCB3aGV0aGVyIHRoZSBkaXJl
Y3Rpb24gaXMgZnJvbSB0aGUgdG9wL2xlZnQgb3IgYm90dG9tL3JpZ2h0LgorICAgICAgICAoV2Vi
Q29yZTo6dmFsdWVGb3JCYXNpY1NoYXBlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjb252
ZXJ0VG9DZW50ZXJDb29yZGluYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpiYXNpY1No
YXBlRm9yVmFsdWUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0VmFsdWVGb3JDZW50
ZXJDb29yZGluYXRlKTogRGl0dG8uCisgICAgICAgICogcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVy
dHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmRGdW5jKTogUmVtb3ZlIHRo
ZSBSZW5kZXJCb3ggcGFyYW1ldGVyLCB3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6dXBkYXRlQ29tcHV0ZWRMZW5ndGgpOiBDYWxjdWxh
dGUgdGhlIGNvbXB1dGVkCisgICAgICAgIHBvc2l0aW9uIG9mZnNldCBmb3IgdGhpcyBjZW50ZXIg
Y29vcmRpbmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVSZWN0YW5nbGU6OmJsZW5k
KTogUmVtb3ZlIHRoZSBSZW5kZXJCb3ggcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RGVw
cmVjYXRlZEJhc2ljU2hhcGVDaXJjbGU6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVw
cmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6QmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlUG9seWdvbjo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJhc2lj
U2hhcGVJbnNldFJlY3RhbmdsZTo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkJh
c2ljU2hhcGVJbnNldDo6YmxlbmQpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
QmFzaWNTaGFwZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDZW50ZXJDb29yZGlu
YXRlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSk6IFNpbXBsaWZ5CisgICAgICAgIEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlIHRvIGNvbnRhaW4gYW4gb2Zmc2V0IGFuZCBhIGRpcmVjdGlv
bi4gQWxzbyBhZGQgYQorICAgICAgICBjb21wdXRlZCBsZW5ndGgsIHdoaWNoIGlzIGFuIG9mZnNl
dCBmcm9tIHRoZSB0b3AvbGVmdCBkaXJlY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZTo6ZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlOjpjb21wdXRlZExlbmd0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6YmxlbmQpOgorCiAyMDE0LTAxLTE2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlPUyBidWlsZCBh
ZnRlciByMTYyMTUwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0Jhc2ljU2hhcGVG
dW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3Bw
CmluZGV4IDNmZTBmYTAuLjViNGJhMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9C
YXNpY1NoYXBlRnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQmFzaWNTaGFw
ZUZ1bmN0aW9ucy5jcHAKQEAgLTM5LDI1ICszOSwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckNlbnRlckNv
b3JkaW5hdGUoQ1NTVmFsdWVQb29sJiBwb29sLCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBjZW50ZXIpCitzdGF0aWMgUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JDZW50ZXJDb29yZGluYXRlKENTU1ZhbHVlUG9v
bCYgcG9vbCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZSYgY2VudGVyLCBFQm94T3JpZW50IG9yaWVudGF0aW9uKQogewotICAgIENTU1Zh
bHVlSUQga2V5d29yZCA9IENTU1ZhbHVlSW52YWxpZDsKLSAgICBzd2l0Y2ggKGNlbnRlci5rZXl3
b3JkKCkpIHsKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpOb25lOgorICAg
IGlmIChjZW50ZXIuZGlyZWN0aW9uKCkgPT0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlRv
cExlZnQpCiAgICAgICAgIHJldHVybiBwb29sLmNyZWF0ZVZhbHVlKGNlbnRlci5sZW5ndGgoKSwg
c3R5bGUpOwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OlRvcDoKLSAgICAg
ICAga2V5d29yZCA9IENTU1ZhbHVlVG9wOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlOjpSaWdodDoKLSAgICAgICAga2V5d29yZCA9IENTU1ZhbHVl
UmlnaHQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5h
dGU6OkJvdHRvbToKLSAgICAgICAga2V5d29yZCA9IENTU1ZhbHVlQm90dG9tOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpMZWZ0OgotICAgICAg
ICBrZXl3b3JkID0gQ1NTVmFsdWVMZWZ0OwotICAgICAgICBicmVhazsKLSAgICB9CisKKyAgICBD
U1NWYWx1ZUlEIGtleXdvcmQgPSBvcmllbnRhdGlvbiA9PSBIT1JJWk9OVEFMID8gQ1NTVmFsdWVS
aWdodCA6IENTU1ZhbHVlQm90dG9tOwogCiAgICAgcmV0dXJuIHBvb2wuY3JlYXRlVmFsdWUoUGFp
cjo6Y3JlYXRlKHBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKGtleXdvcmQpLCBwb29sLmNyZWF0
ZVZhbHVlKGNlbnRlci5sZW5ndGgoKSwgc3R5bGUpKSk7CiB9CkBAIC0xMTIsOCArOTksOCBAQCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckJhc2ljU2hhcGUoY29uc3QgUmVuZGVyU3R5bGUq
IHN0eWxlLCBjb25zdCBCYXNpY1NoYQogICAgICAgICBjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKiBj
aXJjbGUgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKj4oYmFzaWNTaGFwZSk7
CiAgICAgICAgIFJlZlB0cjxDU1NCYXNpY1NoYXBlQ2lyY2xlPiBjaXJjbGVWYWx1ZSA9IENTU0Jh
c2ljU2hhcGVDaXJjbGU6OmNyZWF0ZSgpOwogCi0gICAgICAgIGNpcmNsZVZhbHVlLT5zZXRDZW50
ZXJYKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgY2lyY2xlLT5jZW50ZXJY
KCkpKTsKLSAgICAgICAgY2lyY2xlVmFsdWUtPnNldENlbnRlclkodmFsdWVGb3JDZW50ZXJDb29y
ZGluYXRlKHBvb2wsIHN0eWxlLCBjaXJjbGUtPmNlbnRlclkoKSkpOworICAgICAgICBjaXJjbGVW
YWx1ZS0+c2V0Q2VudGVyWCh2YWx1ZUZvckNlbnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGNp
cmNsZS0+Y2VudGVyWCgpLCBIT1JJWk9OVEFMKSk7CisgICAgICAgIGNpcmNsZVZhbHVlLT5zZXRD
ZW50ZXJZKHZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgY2lyY2xlLT5jZW50
ZXJZKCksIFZFUlRJQ0FMKSk7CiAgICAgICAgIGNpcmNsZVZhbHVlLT5zZXRSYWRpdXMoYmFzaWNT
aGFwZVJhZGl1c1RvQ1NTVmFsdWUoc3R5bGUsIHBvb2wsIGNpcmNsZS0+cmFkaXVzKCkpKTsKICAg
ICAgICAgYmFzaWNTaGFwZVZhbHVlID0gY2lyY2xlVmFsdWUucmVsZWFzZSgpOwogICAgICAgICBi
cmVhazsKQEAgLTEzNCw4ICsxMjEsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckJh
c2ljU2hhcGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCYXNpY1NoYQogICAgICAg
ICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogZWxsaXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJh
c2ljU2hhcGVFbGxpcHNlKj4oYmFzaWNTaGFwZSk7CiAgICAgICAgIFJlZlB0cjxDU1NCYXNpY1No
YXBlRWxsaXBzZT4gZWxsaXBzZVZhbHVlID0gQ1NTQmFzaWNTaGFwZUVsbGlwc2U6OmNyZWF0ZSgp
OwogCi0gICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2VudGVyWCh2YWx1ZUZvckNlbnRlckNvb3Jk
aW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRlclgoKSkpOwotICAgICAgICBlbGxpcHNl
VmFsdWUtPnNldENlbnRlclkodmFsdWVGb3JDZW50ZXJDb29yZGluYXRlKHBvb2wsIHN0eWxlLCBl
bGxpcHNlLT5jZW50ZXJZKCkpKTsKKyAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRDZW50ZXJYKHZh
bHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShwb29sLCBzdHlsZSwgZWxsaXBzZS0+Y2VudGVyWCgpLCBI
T1JJWk9OVEFMKSk7CisgICAgICAgIGVsbGlwc2VWYWx1ZS0+c2V0Q2VudGVyWSh2YWx1ZUZvckNl
bnRlckNvb3JkaW5hdGUocG9vbCwgc3R5bGUsIGVsbGlwc2UtPmNlbnRlclkoKSwgVkVSVElDQUwp
KTsKICAgICAgICAgZWxsaXBzZVZhbHVlLT5zZXRSYWRpdXNYKGJhc2ljU2hhcGVSYWRpdXNUb0NT
U1ZhbHVlKHN0eWxlLCBwb29sLCBlbGxpcHNlLT5yYWRpdXNYKCkpKTsKICAgICAgICAgZWxsaXBz
ZVZhbHVlLT5zZXRSYWRpdXNZKGJhc2ljU2hhcGVSYWRpdXNUb0NTU1ZhbHVlKHN0eWxlLCBwb29s
LCBlbGxpcHNlLT5yYWRpdXNZKCkpKTsKICAgICAgICAgYmFzaWNTaGFwZVZhbHVlID0gZWxsaXBz
ZVZhbHVlLnJlbGVhc2UoKTsKQEAgLTIwMSwyOSArMTg4LDQwIEBAIHN0YXRpYyBMZW5ndGggY29u
dmVydFRvTGVuZ3RoKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUq
IHJvb3RTCiAKIHN0YXRpYyBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSBjb252ZXJ0VG9DZW50
ZXJDb29yZGluYXRlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUq
IHJvb3RTdHlsZSwgQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQogewotICAgIGlmIChQYWlyKiBw
YWlyID0gdmFsdWUtPmdldFBhaXJWYWx1ZSgpKSB7Ci0gICAgICAgIEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlOjpLZXl3b3JkIGtleXdvcmQgPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6
Tm9uZTsKLSAgICAgICAgc3dpdGNoIChwYWlyLT5maXJzdCgpLT5nZXRWYWx1ZUlEKCkpIHsKLSAg
ICAgICAgY2FzZSBDU1NWYWx1ZVRvcDoKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZTo6VG9wOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
Q1NTVmFsdWVSaWdodDoKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNpY1NoYXBlQ2VudGVyQ29v
cmRpbmF0ZTo6UmlnaHQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDU1NWYWx1
ZUJvdHRvbToKLSAgICAgICAgICAgIGtleXdvcmQgPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZTo6Qm90dG9tOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVMZWZ0
OgotICAgICAgICAgICAga2V5d29yZCA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpMZWZ0
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShrZXl3b3JkLCBjb252ZXJ0VG9MZW5n
dGgoc3R5bGUsIHJvb3RTdHlsZSwgcGFpci0+c2Vjb25kKCkpKTsKKyAgICBCYXNpY1NoYXBlQ2Vu
dGVyQ29vcmRpbmF0ZTo6RGlyZWN0aW9uIGRpcmVjdGlvbjsKKyAgICBMZW5ndGggb2Zmc2V0ID0g
TGVuZ3RoKDAsIEZpeGVkKTsKKworICAgIENTU1ZhbHVlSUQga2V5d29yZCA9IENTU1ZhbHVlVG9w
OworICAgIGlmICghdmFsdWUpCisgICAgICAgIGtleXdvcmQgPSBDU1NWYWx1ZUNlbnRlcjsKKyAg
ICBlbHNlIGlmICh2YWx1ZS0+aXNWYWx1ZUlEKCkpCisgICAgICAgIGtleXdvcmQgPSB2YWx1ZS0+
Z2V0VmFsdWVJRCgpOworICAgIGVsc2UgaWYgKFBhaXIqIHBhaXIgPSB2YWx1ZS0+Z2V0UGFpclZh
bHVlKCkpIHsKKyAgICAgICAga2V5d29yZCA9IHBhaXItPmZpcnN0KCktPmdldFZhbHVlSUQoKTsK
KyAgICAgICAgb2Zmc2V0ID0gY29udmVydFRvTGVuZ3RoKHN0eWxlLCByb290U3R5bGUsIHBhaXIt
PnNlY29uZCgpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb2Zmc2V0ID0gY29udmVydFRvTGVuZ3Ro
KHN0eWxlLCByb290U3R5bGUsIHZhbHVlKTsKKworICAgIHN3aXRjaCAoa2V5d29yZCkgeworICAg
IGNhc2UgQ1NTVmFsdWVUb3A6CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIGRpcmVj
dGlvbiA9IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpUb3BMZWZ0OworICAgICAgICBicmVh
azsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgY2FzZSBDU1NWYWx1ZUJvdHRvbToKKyAg
ICAgICAgZGlyZWN0aW9uID0gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkJvdHRvbVJpZ2h0
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlQ2VudGVyOgorICAgICAgICBkaXJl
Y3Rpb24gPSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6VG9wTGVmdDsKKyAgICAgICAgb2Zm
c2V0ID0gTGVuZ3RoKDUwLCBQZXJjZW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGRpcmVjdGlvbiA9IEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlOjpUb3BMZWZ0OworICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICByZXR1cm4gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoY29udmVydFRvTGVuZ3RoKHN0
eWxlLCByb290U3R5bGUsIHZhbHVlKSk7CisgICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29y
ZGluYXRlKGRpcmVjdGlvbiwgb2Zmc2V0KTsKIH0KIAogc3RhdGljIEJhc2ljU2hhcGVSYWRpdXMg
Y3NzVmFsdWVUb0Jhc2ljU2hhcGVSYWRpdXMoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBy
YWRpdXMpCkBAIC0yODgsMTMgKzI4Niw4IEBAIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmFzaWNT
aGFwZUZvclZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyCiAgICAg
ICAgIGNvbnN0IENTU0Jhc2ljU2hhcGVDaXJjbGUqIGNpcmNsZVZhbHVlID0gc3RhdGljX2Nhc3Q8
Y29uc3QgQ1NTQmFzaWNTaGFwZUNpcmNsZSAqPihiYXNpY1NoYXBlVmFsdWUpOwogICAgICAgICBS
ZWZQdHI8QmFzaWNTaGFwZUNpcmNsZT4gY2lyY2xlID0gQmFzaWNTaGFwZUNpcmNsZTo6Y3JlYXRl
KCk7CiAKLSAgICAgICAgaWYgKGNpcmNsZVZhbHVlLT5jZW50ZXJYKCkgJiYgY2lyY2xlVmFsdWUt
PmNlbnRlclkoKSkgewotICAgICAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJYKGNvbnZlcnRUb0Nl
bnRlckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgY2lyY2xlVmFsdWUtPmNlbnRlclgoKSkp
OwotICAgICAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJZKGNvbnZlcnRUb0NlbnRlckNvb3JkaW5h
dGUoc3R5bGUsIHJvb3RTdHlsZSwgY2lyY2xlVmFsdWUtPmNlbnRlclkoKSkpOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJYKEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlKExlbmd0aCg1MCwgUGVyY2VudCkpKTsKLSAgICAgICAgICAgIGNpcmNsZS0+c2V0
Q2VudGVyWShCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGgoNTAsIFBlcmNlbnQpKSk7
Ci0gICAgICAgIH0KKyAgICAgICAgY2lyY2xlLT5zZXRDZW50ZXJYKGNvbnZlcnRUb0NlbnRlckNv
b3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgY2lyY2xlVmFsdWUtPmNlbnRlclgoKSkpOworICAg
ICAgICBjaXJjbGUtPnNldENlbnRlclkoY29udmVydFRvQ2VudGVyQ29vcmRpbmF0ZShzdHlsZSwg
cm9vdFN0eWxlLCBjaXJjbGVWYWx1ZS0+Y2VudGVyWSgpKSk7CiAgICAgICAgIGNpcmNsZS0+c2V0
UmFkaXVzKGNzc1ZhbHVlVG9CYXNpY1NoYXBlUmFkaXVzKHN0eWxlLCByb290U3R5bGUsIGNpcmNs
ZVZhbHVlLT5yYWRpdXMoKSkpOwogCiAgICAgICAgIGJhc2ljU2hhcGUgPSBjaXJjbGUucmVsZWFz
ZSgpOwpAQCAtMzE2LDEzICszMDksOSBAQCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJhc2ljU2hh
cGVGb3JWYWx1ZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlcgogICAgICAg
ICBjb25zdCBDU1NCYXNpY1NoYXBlRWxsaXBzZSogZWxsaXBzZVZhbHVlID0gc3RhdGljX2Nhc3Q8
Y29uc3QgQ1NTQmFzaWNTaGFwZUVsbGlwc2UgKj4oYmFzaWNTaGFwZVZhbHVlKTsKICAgICAgICAg
UmVmUHRyPEJhc2ljU2hhcGVFbGxpcHNlPiBlbGxpcHNlID0gQmFzaWNTaGFwZUVsbGlwc2U6OmNy
ZWF0ZSgpOwogCi0gICAgICAgIGlmIChlbGxpcHNlVmFsdWUtPmNlbnRlclgoKSAmJiBlbGxpcHNl
VmFsdWUtPmNlbnRlclkoKSkgewotICAgICAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWChjb252
ZXJ0VG9DZW50ZXJDb29yZGluYXRlKHN0eWxlLCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+Y2Vu
dGVyWCgpKSk7Ci0gICAgICAgICAgICBlbGxpcHNlLT5zZXRDZW50ZXJZKGNvbnZlcnRUb0NlbnRl
ckNvb3JkaW5hdGUoc3R5bGUsIHJvb3RTdHlsZSwgZWxsaXBzZVZhbHVlLT5jZW50ZXJZKCkpKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGVsbGlwc2UtPnNldENlbnRlclgoQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUoTGVuZ3RoKDUwLCBQZXJjZW50KSkpOwotICAgICAgICAgICAg
ZWxsaXBzZS0+c2V0Q2VudGVyWShCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShMZW5ndGgoNTAs
IFBlcmNlbnQpKSk7Ci0gICAgICAgIH0KKyAgICAgICAgZWxsaXBzZS0+c2V0Q2VudGVyWChjb252
ZXJ0VG9DZW50ZXJDb29yZGluYXRlKHN0eWxlLCByb290U3R5bGUsIGVsbGlwc2VWYWx1ZS0+Y2Vu
dGVyWCgpKSk7CisgICAgICAgIGVsbGlwc2UtPnNldENlbnRlclkoY29udmVydFRvQ2VudGVyQ29v
cmRpbmF0ZShzdHlsZSwgcm9vdFN0eWxlLCBlbGxpcHNlVmFsdWUtPmNlbnRlclkoKSkpOworCiAg
ICAgICAgIGVsbGlwc2UtPnNldFJhZGl1c1goY3NzVmFsdWVUb0Jhc2ljU2hhcGVSYWRpdXMoc3R5
bGUsIHJvb3RTdHlsZSwgZWxsaXBzZVZhbHVlLT5yYWRpdXNYKCkpKTsKICAgICAgICAgZWxsaXBz
ZS0+c2V0UmFkaXVzWShjc3NWYWx1ZVRvQmFzaWNTaGFwZVJhZGl1cyhzdHlsZSwgcm9vdFN0eWxl
LCBlbGxpcHNlVmFsdWUtPnJhZGl1c1koKSkpOwogCkBAIC00MjgsMTkgKzQxNyw5IEBAIFBhc3NS
ZWZQdHI8QmFzaWNTaGFwZT4gYmFzaWNTaGFwZUZvclZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBz
dHlsZSwgY29uc3QgUmVuZGVyCiBmbG9hdCBmbG9hdFZhbHVlRm9yQ2VudGVyQ29vcmRpbmF0ZShj
b25zdCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSYgY2VudGVyLCBmbG9hdCBib3hEaW1lbnNp
b24pCiB7CiAgICAgZmxvYXQgb2Zmc2V0ID0gZmxvYXRWYWx1ZUZvckxlbmd0aChjZW50ZXIubGVu
Z3RoKCksIGJveERpbWVuc2lvbik7Ci0gICAgc3dpdGNoIChjZW50ZXIua2V5d29yZCgpKSB7Ci0g
ICAgY2FzZSBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6Tm9uZToKKyAgICBpZiAoY2VudGVy
LmRpcmVjdGlvbigpID09IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpUb3BMZWZ0KQogICAg
ICAgICByZXR1cm4gb2Zmc2V0OwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6
OlRvcDoKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpMZWZ0OgotICAgICAg
ICByZXR1cm4gb2Zmc2V0OwotICAgIGNhc2UgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6OkJv
dHRvbToKLSAgICBjYXNlIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpSaWdodDoKLSAgICAg
ICAgcmV0dXJuIGJveERpbWVuc2lvbiAtIG9mZnNldDsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gYm94RGltZW5zaW9uIC0gb2Zm
c2V0OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
U1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
U1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggMDlmOGRhYi4uNzJjNzhmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcApAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbmxpbmUgVHJhbnNmb3JtT3BlcmF0aW9u
cyBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgY29uc3QgVHJhCiAgICAgcmV0
dXJuIHRvLmJsZW5kQnlVc2luZ01hdHJpeEludGVycG9sYXRpb24oZnJvbSwgcHJvZ3Jlc3MsIGFu
aW0tPnJlbmRlcmVyKCktPmlzQm94KCkgPyB0b1JlbmRlckJveChhbmltLT5yZW5kZXJlcigpKS0+
Ym9yZGVyQm94UmVjdCgpLnNpemUoKSA6IExheW91dFNpemUoKSk7CiB9CiAKLXN0YXRpYyBpbmxp
bmUgUGFzc1JlZlB0cjxDbGlwUGF0aE9wZXJhdGlvbj4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlv
bkJhc2UqIGFuaW0sIENsaXBQYXRoT3BlcmF0aW9uKiBmcm9tLCBDbGlwUGF0aE9wZXJhdGlvbiog
dG8sIGRvdWJsZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxDbGlwUGF0aE9w
ZXJhdGlvbj4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqLCBDbGlwUGF0aE9wZXJhdGlv
biogZnJvbSwgQ2xpcFBhdGhPcGVyYXRpb24qIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCiB7CiAgICAg
aWYgKCFmcm9tIHx8ICF0bykKICAgICAgICAgcmV0dXJuIHRvOwpAQCAtMTQwLDEyICsxNDAsMTEg
QEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMo
Y29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwKICAgICBpZiAoIWZyb21TaGFwZS0+Y2FuQmxlbmQo
dG9TaGFwZSkpCiAgICAgICAgIHJldHVybiB0bzsKIAotICAgIEFTU0VSVChhbmltLT5yZW5kZXJl
cigpLT5pc0JveCgpKTsKLSAgICByZXR1cm4gU2hhcGVDbGlwUGF0aE9wZXJhdGlvbjo6Y3JlYXRl
KHRvU2hhcGUtPmJsZW5kKGZyb21TaGFwZSwgcHJvZ3Jlc3MsICp0b1JlbmRlckJveChhbmltLT5y
ZW5kZXJlcigpKSkpOworICAgIHJldHVybiBTaGFwZUNsaXBQYXRoT3BlcmF0aW9uOjpjcmVhdGUo
dG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcykpOwogfQogCiAjaWYgRU5BQkxFKENT
U19TSEFQRVMpCi1zdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8U2hhcGVWYWx1ZT4gYmxlbmRGdW5j
KGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYXBlVmFsdWUqIGZyb20sIFNoYXBlVmFsdWUq
IHRvLCBkb3VibGUgcHJvZ3Jlc3MpCitzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8U2hhcGVWYWx1
ZT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqLCBTaGFwZVZhbHVlKiBmcm9tLCBTaGFw
ZVZhbHVlKiB0bywgZG91YmxlIHByb2dyZXNzKQogewogICAgIGlmICghZnJvbSB8fCAhdG8pCiAg
ICAgICAgIHJldHVybiB0bzsKQEAgLTE2MCw4ICsxNTksNyBAQCBzdGF0aWMgaW5saW5lIFBhc3NS
ZWZQdHI8U2hhcGVWYWx1ZT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNo
YXBlVgogICAgIGlmICghZnJvbVNoYXBlLT5jYW5CbGVuZCh0b1NoYXBlKSkKICAgICAgICAgcmV0
dXJuIHRvOwogCi0gICAgQVNTRVJUKGFuaW0tPnJlbmRlcmVyKCktPmlzQm94KCkpOwotICAgIHJl
dHVybiBTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHRvU2hhcGUtPmJsZW5kKGZyb21TaGFw
ZSwgcHJvZ3Jlc3MsICp0b1JlbmRlckJveChhbmltLT5yZW5kZXJlcigpKSkpOworICAgIHJldHVy
biBTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHRvU2hhcGUtPmJsZW5kKGZyb21TaGFwZSwg
cHJvZ3Jlc3MpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0Jhc2ljU2hhcGVzLmNwcAppbmRleCA0Y2FkMmU0Li45MTY0MDJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJCYXNpY1NoYXBlcy5oIgogCiAjaW5jbHVkZSAiQmFzaWNTaGFwZUZ1bmN0
aW9ucy5oIgorI2luY2x1ZGUgIkNhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMuaCIKICNpbmNsdWRlICJQYXRoLmgiCkBA
IC0zOSw2ICs0MCwyMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3ZvaWQgQmFzaWNTaGFw
ZUNlbnRlckNvb3JkaW5hdGU6OnVwZGF0ZUNvbXB1dGVkTGVuZ3RoKCkKK3sKKyAgICBpZiAobV9k
aXJlY3Rpb24gPT0gVG9wTGVmdCkgeworICAgICAgICBtX2NvbXB1dGVkTGVuZ3RoID0gbV9sZW5n
dGguaXNVbmRlZmluZWQoKSA/IExlbmd0aCgwLCBGaXhlZCkgOiBtX2xlbmd0aDsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAobV9sZW5ndGguaXNVbmRlZmluZWQoKSkgeworICAgICAg
ICBtX2NvbXB1dGVkTGVuZ3RoID0gTGVuZ3RoKDEwMCwgUGVyY2VudCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25MZW5ndGg+IGxocyA9IGFkb3B0
UHRyKG5ldyBDYWxjRXhwcmVzc2lvbkxlbmd0aChMZW5ndGgoMTAwLCBQZXJjZW50KSkpOworICAg
IE93blB0cjxDYWxjRXhwcmVzc2lvbkxlbmd0aD4gcmhzID0gYWRvcHRQdHIobmV3IENhbGNFeHBy
ZXNzaW9uTGVuZ3RoKG1fbGVuZ3RoKSk7CisgICAgT3duUHRyPENhbGNFeHByZXNzaW9uQmluYXJ5
T3BlcmF0aW9uPiBvcCA9IGFkb3B0UHRyKG5ldyBDYWxjRXhwcmVzc2lvbkJpbmFyeU9wZXJhdGlv
bihsaHMucmVsZWFzZSgpLCByaHMucmVsZWFzZSgpLCBDYWxjU3VidHJhY3QpKTsKKyAgICBtX2Nv
bXB1dGVkTGVuZ3RoID0gTGVuZ3RoKENhbGN1bGF0aW9uVmFsdWU6OmNyZWF0ZShvcC5yZWxlYXNl
KCksIENhbGN1bGF0aW9uUmFuZ2VBbGwpKTsKK30KKwogYm9vbCBCYXNpY1NoYXBlOjpjYW5CbGVu
ZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlcikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogU3VwcG9y
dCBhbmltYXRpb25zIGJldHdlZW4gZGlmZmVyZW50IHNoYXBlcyBpbiB0aGUgZnV0dXJlLgpAQCAt
NzMsMzcgKzkxLDYgQEAgYm9vbCBCYXNpY1NoYXBlOjpjYW5CbGVuZChjb25zdCBCYXNpY1NoYXBl
KiBvdGhlcikgY29uc3QKICAgICAgICAgJiYgdGhpc0VsbGlwc2UtPnJhZGl1c1koKS5jYW5CbGVu
ZChvdGhlckVsbGlwc2UtPnJhZGl1c1koKSkpOwogfQogCi1GbG9hdFNpemUgQmFzaWNTaGFwZTo6
cmVmZXJlbmNlQm94U2l6ZShjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdAotewotICAg
IHN3aXRjaCAobGF5b3V0Qm94KCkpIHsKLSAgICBjYXNlIENvbnRlbnRCb3g6Ci0gICAgICAgIHJl
dHVybiByZW5kZXJlci5jb250ZW50Qm94UmVjdCgpLnNpemUoKTsKLSAgICBjYXNlIFBhZGRpbmdC
b3g6Ci0gICAgICAgIHJldHVybiByZW5kZXJlci5wYWRkaW5nQm94UmVjdCgpLnNpemUoKTsKLSAg
ICBjYXNlIEJvcmRlckJveDoKLSAgICAgICAgcmV0dXJuIHJlbmRlcmVyLnNpemUoKTsKLSAgICBj
YXNlIEJveE1pc3Npbmc6IC8vIElmIDxib3g+IGlzIG5vdCBzdXBwbGllZCwgdGhlbiB0aGUgcmVm
ZXJlbmNlIGJveCBkZWZhdWx0cyB0byBtYXJnaW4tYm94LgotICAgIGNhc2UgTWFyZ2luQm94Ogot
ICAgICAgICByZXR1cm4gRmxvYXRTaXplKHJlbmRlcmVyLm1hcmdpbkxlZnQoKSArIHJlbmRlcmVy
LndpZHRoKCkgKyByZW5kZXJlci5tYXJnaW5SaWdodCgpLAotICAgICAgICAgICAgcmVuZGVyZXIu
bWFyZ2luVG9wKCkgKyByZW5kZXJlci5oZWlnaHQoKSArIHJlbmRlcmVyLm1hcmdpbkJvdHRvbSgp
KTsKLSAgICBjYXNlIEJvdW5kaW5nQm94OgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gRmxvYXRTaXplKCk7Ci19Ci0KLUxlbmd0
aCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZTo6bGVuZ3RoRm9yQmxlbmRpbmcoY29uc3QgRmxv
YXRTaXplJiBib3hTaXplKSBjb25zdAotewotICAgIExlbmd0aCBsZW5ndGggPSB0aGlzLT5sZW5n
dGgoKTsKLSAgICBpZiAoa2V5d29yZCgpID09IFJpZ2h0KQotICAgICAgICByZXR1cm4gTGVuZ3Ro
KDEwMCAtIChsZW5ndGguaXNQZXJjZW50KCkgPyBsZW5ndGgucGVyY2VudCgpIDogMTAwLmYgKiAo
bGVuZ3RoLnZhbHVlKCkgLyBib3hTaXplLndpZHRoKCkpKSwgUGVyY2VudCk7Ci0gICAgaWYgKGtl
eXdvcmQoKSA9PSBCb3R0b20pCi0gICAgICAgIHJldHVybiBMZW5ndGgoMTAwIC0gKGxlbmd0aC5p
c1BlcmNlbnQoKSA/IGxlbmd0aC5wZXJjZW50KCkgOiAxMDAuZiAqIChsZW5ndGgudmFsdWUoKSAv
IGJveFNpemUuaGVpZ2h0KCkpKSwgUGVyY2VudCk7Ci0gICAgcmV0dXJuIGxlbmd0aDsKLX0KLQog
dm9pZCBCYXNpY1NoYXBlUmVjdGFuZ2xlOjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVj
dCYgYm91bmRpbmdCb3gpCiB7CiAgICAgQVNTRVJUKHBhdGguaXNFbXB0eSgpKTsKQEAgLTEyMSw3
ICsxMDgsNyBAQCB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29u
c3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApOwogfQogCi1QYXNzUmVmUHRyPEJhc2lj
U2hhcGU+IEJhc2ljU2hhcGVSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVy
LCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0CitQYXNzUmVmUHRyPEJh
c2ljU2hhcGU+IEJhc2ljU2hhcGVSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90
aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhl
ci0+dHlwZSgpKTsKIApAQCAtMTUxLDcgKzEzOCw3IEBAIHZvaWQgRGVwcmVjYXRlZEJhc2ljU2hh
cGVDaXJjbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkK
ICAgICApKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFw
ZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywg
Y29uc3QgUmVuZGVyQm94JikgY29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gRGVwcmVjYXRl
ZEJhc2ljU2hhcGVDaXJjbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUg
cHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsK
IApAQCAtMTkzLDE1ICsxODAsMTQgQEAgdm9pZCBCYXNpY1NoYXBlQ2lyY2xlOjpwYXRoKFBhdGgm
IHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKSk7CiB9CiAKLVBhc3NS
ZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFw
ZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgUmVuZGVyQm94JiByZW5kZXJlcikgY29u
c3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQo
dHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqIG8g
PSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKj4ob3RoZXIpOwogICAgIFJlZlB0
cjxCYXNpY1NoYXBlQ2lyY2xlPiByZXN1bHQgPSAgQmFzaWNTaGFwZUNpcmNsZTo6Y3JlYXRlKCk7
CiAKLSAgICBGbG9hdFNpemUgYm94U2l6ZSA9IHJlZmVyZW5jZUJveFNpemUocmVuZGVyZXIpOwot
ICAgIHJlc3VsdC0+c2V0Q2VudGVyWChtX2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9n
cmVzcywgYm94U2l6ZSkpOwotICAgIHJlc3VsdC0+c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQo
by0+Y2VudGVyWSgpLCBwcm9ncmVzcywgYm94U2l6ZSkpOworICAgIHJlc3VsdC0+c2V0Q2VudGVy
WChtX2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVzcykpOworICAgIHJlc3VsdC0+
c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQoby0+Y2VudGVyWSgpLCBwcm9ncmVzcykpOwogICAg
IHJlc3VsdC0+c2V0UmFkaXVzKG1fcmFkaXVzLmJsZW5kKG8tPnJhZGl1cygpLCBwcm9ncmVzcykp
OwogICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgpOwogfQpAQCAtMjIxLDcgKzIwNyw3IEBAIHZv
aWQgRGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlOjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZs
b2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKSk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gRGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBv
dGhlciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0
cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5
cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKIApAQCAtMjYxLDcgKzI0Nyw3IEBAIHZvaWQgQmFzaWNT
aGFwZUVsbGlwc2U6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0Jv
eCkKICAgICAgICAgcmFkaXVzWSAqIDIpKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBC
YXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBw
cm9ncmVzcywgY29uc3QgUmVuZGVyQm94JiByZW5kZXJlcikgY29uc3QKK1Bhc3NSZWZQdHI8QmFz
aWNTaGFwZT4gQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVy
LCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+
dHlwZSgpKTsKICAgICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogbyA9IHN0YXRpY19jYXN0PGNv
bnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4ob3RoZXIpOwpAQCAtMjc2LDkgKzI2Miw4IEBAIFBhc3NS
ZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hh
cGUqIG90aGVyLCBkb3VibGUKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBG
bG9hdFNpemUgYm94U2l6ZSA9IHJlZmVyZW5jZUJveFNpemUocmVuZGVyZXIpOwotICAgIHJlc3Vs
dC0+c2V0Q2VudGVyWChtX2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVzcywgYm94
U2l6ZSkpOwotICAgIHJlc3VsdC0+c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQoby0+Y2VudGVy
WSgpLCBwcm9ncmVzcywgYm94U2l6ZSkpOworICAgIHJlc3VsdC0+c2V0Q2VudGVyWChtX2NlbnRl
clguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVzcykpOworICAgIHJlc3VsdC0+c2V0Q2VudGVy
WShtX2NlbnRlclkuYmxlbmQoby0+Y2VudGVyWSgpLCBwcm9ncmVzcykpOwogICAgIHJlc3VsdC0+
c2V0UmFkaXVzWChtX3JhZGl1c1guYmxlbmQoby0+cmFkaXVzWCgpLCBwcm9ncmVzcykpOwogICAg
IHJlc3VsdC0+c2V0UmFkaXVzWShtX3JhZGl1c1kuYmxlbmQoby0+cmFkaXVzWSgpLCBwcm9ncmVz
cykpOwogICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgpOwpAQCAtMzAyLDcgKzI4Nyw3IEBAIHZv
aWQgQmFzaWNTaGFwZVBvbHlnb246OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBi
b3VuZGluZ0JveCkKICAgICBwYXRoLmNsb3NlU3VicGF0aCgpOwogfQogCi1QYXNzUmVmUHRyPEJh
c2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhl
ciwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxC
YXNpY1NoYXBlPiBCYXNpY1NoYXBlUG9seWdvbjo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3Ro
ZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVy
LT50eXBlKCkpOwogCkBAIC0zNDQsNyArMzI5LDcgQEAgdm9pZCBCYXNpY1NoYXBlSW5zZXRSZWN0
YW5nbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAg
ICApOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVJbnNldFJlY3Rhbmds
ZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgY29uc3Qg
UmVuZGVyQm94JikgY29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUluc2V0
UmVjdGFuZ2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNz
KSBjb25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAKQEAgLTM5
MCw3ICszNzUsNyBAQCB2b2lkIEJhc2ljU2hhcGVJbnNldDo6cGF0aChQYXRoJiBwYXRoLCBjb25z
dCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNT
aGFwZT4gQmFzaWNTaGFwZUluc2V0OjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91
YmxlIHByb2dyZXNzLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hh
cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaAppbmRl
eCBlMGYzNDE3Li4zNjQ2NDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQmFzaWNTaGFwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
QmFzaWNTaGFwZXMuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgV2luZFJ1
bGUgd2luZFJ1bGUoKSBjb25zdCB7IHJldHVybiBSVUxFX05PTlpFUk87IH0KLSAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwg
Y29uc3QgUmVuZGVyQm94JikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCA9IDA7CiAKICAg
ICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKIApAQCAtNzYsOCArNzYsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgewogICAgIH0KIAotICAgIEZsb2F0U2l6ZSByZWZlcmVuY2VCb3hTaXplKGNv
bnN0IFJlbmRlckJveCYpIGNvbnN0OwotCiBwcml2YXRlOgogICAgIExheW91dEJveCBtX2xheW91
dEJveDsKIH07CkBAIC0xMDksNyArMTA3LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1
YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJs
ZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVm
UHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBCYXNpY1NoYXBlUmVjdGFuZ2xlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTEyNSwzMCArMTIzLDQ3
IEBAIHByaXZhdGU6CiAKIGNsYXNzIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIHsKIHB1Ymxp
YzoKLSAgICBlbnVtIEtleXdvcmQgewotICAgICAgICBOb25lLAotICAgICAgICBUb3AsCi0gICAg
ICAgIFJpZ2h0LAotICAgICAgICBCb3R0b20sCi0gICAgICAgIExlZnQKKyAgICBlbnVtIERpcmVj
dGlvbiB7CisgICAgICAgIFRvcExlZnQsCisgICAgICAgIEJvdHRvbVJpZ2h0CiAgICAgfTsKLSAg
ICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSgpIDogbV9rZXl3b3JkKE5vbmUpLCBtX2xlbmd0
aChVbmRlZmluZWQpIHsgfQotICAgIGV4cGxpY2l0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRl
KExlbmd0aCBsZW5ndGgpIDogbV9rZXl3b3JkKE5vbmUpLCBtX2xlbmd0aChsZW5ndGgpIHsgfQot
ICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKEtleXdvcmQga2V5d29yZCwgTGVuZ3RoIGxl
bmd0aCkgOiBtX2tleXdvcmQoa2V5d29yZCksIG1fbGVuZ3RoKGxlbmd0aCkgeyB9Ci0gICAgQmFz
aWNTaGFwZUNlbnRlckNvb3JkaW5hdGUoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUm
IG90aGVyKSA6IG1fa2V5d29yZChvdGhlci5rZXl3b3JkKCkpLCBtX2xlbmd0aChvdGhlci5sZW5n
dGgoKSkgeyB9CiAKLSAgICBLZXl3b3JkIGtleXdvcmQoKSBjb25zdCB7IHJldHVybiBtX2tleXdv
cmQ7IH0KKyAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSgpCisgICAgICAgIDogbV9kaXJl
Y3Rpb24oVG9wTGVmdCkKKyAgICAgICAgLCBtX2xlbmd0aChVbmRlZmluZWQpCisgICAgeworICAg
ICAgICB1cGRhdGVDb21wdXRlZExlbmd0aCgpOworICAgIH0KKworICAgIEJhc2ljU2hhcGVDZW50
ZXJDb29yZGluYXRlKERpcmVjdGlvbiBkaXJlY3Rpb24sIExlbmd0aCBsZW5ndGgpCisgICAgICAg
IDogbV9kaXJlY3Rpb24oZGlyZWN0aW9uKQorICAgICAgICAsIG1fbGVuZ3RoKGxlbmd0aCkKKyAg
ICB7CisgICAgICAgIHVwZGF0ZUNvbXB1dGVkTGVuZ3RoKCk7CisgICAgfQorCisgICAgQmFzaWNT
aGFwZUNlbnRlckNvb3JkaW5hdGUoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90
aGVyKQorICAgICAgICA6IG1fZGlyZWN0aW9uKG90aGVyLmRpcmVjdGlvbigpKQorICAgICAgICAs
IG1fbGVuZ3RoKG90aGVyLmxlbmd0aCgpKQorICAgICAgICAsIG1fY29tcHV0ZWRMZW5ndGgob3Ro
ZXIubV9jb21wdXRlZExlbmd0aCkKKyAgICB7CisgICAgfQorCisgICAgRGlyZWN0aW9uIGRpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CiAgICAgY29uc3QgTGVuZ3RoJiBs
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQotICAgIExlbmd0aCBsZW5ndGhGb3JC
bGVuZGluZyhjb25zdCBGbG9hdFNpemUmKSBjb25zdDsKKyAgICBjb25zdCBMZW5ndGgmIGNvbXB1
dGVkTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRlZExlbmd0aDsgfQogCi0gICAgQmFz
aWNTaGFwZUNlbnRlckNvb3JkaW5hdGUgYmxlbmQoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3Jk
aW5hdGUmIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSkg
Y29uc3QKKyAgICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSBibGVuZChjb25zdCBCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZSYgb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKICAgICB7
Ci0gICAgICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShsZW5ndGhGb3JCbGVu
ZGluZyhib3hTaXplKS5ibGVuZChvdGhlci5sZW5ndGhGb3JCbGVuZGluZyhib3hTaXplKSwgcHJv
Z3Jlc3MpKTsKKyAgICAgICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKFRvcExl
ZnQsIG1fY29tcHV0ZWRMZW5ndGguYmxlbmQob3RoZXIubV9jb21wdXRlZExlbmd0aCwgcHJvZ3Jl
c3MpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgS2V5d29yZCBtX2tleXdvcmQ7CisgICAgRGly
ZWN0aW9uIG1fZGlyZWN0aW9uOwogICAgIExlbmd0aCBtX2xlbmd0aDsKKyAgICBMZW5ndGggbV9j
b21wdXRlZExlbmd0aDsKKworICAgIHZvaWQgdXBkYXRlQ29tcHV0ZWRMZW5ndGgoKTsKIH07CiAK
IGNsYXNzIEJhc2ljU2hhcGVSYWRpdXMgewpAQCAtMjAwLDcgKzIxNSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFJhZGl1cyhCYXNpY1NoYXBlUmFkaXVzIHJhZGl1cykgeyBtX3JhZGl1cyA9IHN0
ZDo6bW92ZShyYWRpdXMpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3Qg
RmxvYXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+
IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25z
dCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgVHlw
ZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQmFzaWNTaGFwZUNpcmNsZVR5cGU7IH0K
IHByaXZhdGU6CkBAIC0yMjQsNyArMjM5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFkaXVz
KExlbmd0aCByYWRpdXMpIHsgbV9yYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAg
dmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwg
ZG91YmxlLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIERlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTI1
MSw3ICsyNjYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXNZKEJhc2ljU2hhcGVSYWRp
dXMgcmFkaXVzWSkgeyBtX3JhZGl1c1kgPSBzdGQ6Om1vdmUocmFkaXVzWSk7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRv
dWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNz
UmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0
IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBCYXNpY1NoYXBlRWxsaXBzZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0yNzgsNyArMjkzLDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFkaXVzWShMZW5ndGggcmFkaXVzWSkgeyBtX3JhZGl1
c1kgPSBzdGQ6Om1vdmUocmFkaXVzWSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgm
LCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFz
aWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgY29uc3QgUmVuZGVyQm94
JikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmly
dHVhbCBUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBEZXByZWNhdGVkQmFzaWNT
aGFwZUVsbGlwc2VUeXBlOyB9CiBwcml2YXRlOgpAQCAtMzAyLDcgKzMxNyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGFwcGVuZFBvaW50KExlbmd0aCB4LCBMZW5ndGggeSkgeyBtX3ZhbHVlcy5hcHBl
bmQoc3RkOjptb3ZlKHgpKTsgbV92YWx1ZXMuYXBwZW5kKHN0ZDo6bW92ZSh5KSk7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSos
IGRvdWJsZSwgY29uc3QgUmVuZGVyQm94JikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNv
bnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fd2luZFJ1bGU7IH0KIApAQCAtMzQzLDcgKzM1OCw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0
Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNv
bnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IG92ZXJyaWRl
OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1No
YXBlKiwgZG91YmxlKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQmFzaWNTaGFwZUluc2V0UmVjdGFuZ2xlVHlwZTsgfQog
cHJpdmF0ZToKQEAgLTM4Miw3ICszOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCb3R0b21M
ZWZ0UmFkaXVzKExlbmd0aFNpemUgcmFkaXVzKSB7IG1fYm90dG9tTGVmdFJhZGl1cyA9IHN0ZDo6
bW92ZShyYWRpdXMpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxv
YXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0IG92
ZXJyaWRlOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBC
YXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgVHlwZSB0
eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQmFzaWNTaGFwZUluc2V0VHlwZTsgfQogcHJp
dmF0ZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>