<?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>78084</bug_id>
          
          <creation_ts>2012-02-08 00:29:18 -0800</creation_ts>
          <short_desc>SVGLoad event fires too early</short_desc>
          <delta_ts>2012-02-09 04:27: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>SVG</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>
          <dependson>77736</dependson>
          <blocked>78002</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>podivilov</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>551855</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 00:29:18 -0800</bug_when>
    <thetext>SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest). We&apos;re using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer, which is not reliable.
Our SVGLoad handling is actually quite good, we respect externalResourcesRequired=&quot;true/false&quot; for &lt;image&gt; &amp; &lt;script&gt; elements, and SVGLoad events for all kind of SVG elements (rect/g/etc..).
The main difference between HTML onload and SVG onload is that HTMLs event is a &quot;window event&quot;, thus dispatched through DOMWindow (eg. &lt;body onload=&quot;alert(event.target)&quot; will yield Document, &lt;svg onload=&quot;alert(evt.target)&quot;&gt; will say SVGSVGElement).

Consider:
&lt;svg onload=&quot;alert(&apos;1&apos;)&gt;
&lt;g onload=&quot;alert(&apos;2)&quot;&gt;
&lt;rect onload=&quot;alert(&apos;3&apos;)&quot;/&gt;
&lt;/svg&gt;

As soon as the &lt;rect&gt; finishes parsing (SVGElement::finishedParsingChildren), it&apos;s SVGLoad event is fired. So first you&apos;ll see &apos;3&apos;, then &apos;2&apos;, then &apos;1&apos;.
When using

&lt;svg onload=&quot;alert(&apos;1&apos;)&gt;
&lt;g onload=&quot;alert(&apos;2)&quot;&gt;
&lt;image xlink:href=&quot;someExternal.jpg&quot; onload=&quot;alert(&apos;3&apos;)&quot;/&gt;
&lt;/svg&gt;

Will yield the same SVGLoad order. When using &lt;image externalREsourcesRequired=&quot;true&quot;, first the &apos;1&apos; will fire, then &apos;3&apos;, then &apos;2&apos;, all as expected and specified in SVG.

The spec says:
&quot;The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional external resources are not required to be ready for the event to be triggered.&quot;

What we don&apos;t implement correctly is the first part of the first sentence: &quot;and is ready to act appropriately upon that element, such as being ready to render the element to the target device&quot;.
We currently fire the SVGLoad event, right after &lt;/svg&gt; is seen, if no externalResourceRequired=&quot;true&quot; attributes are set anywhere. This is not wrong, but not correct for WebKit, as we&apos;re not yet &quot;ready to render&quot;.

HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent. At this point we&apos;re ready to render. So I&apos;m now aligning the timing of the outermost &lt;svg&gt; elements SVGLoad event, to be equal to HTML.
This lets use use the repaint.js harness w/o any special SVG tricks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551866</commentid>
    <comment_count>1</comment_count>
      <attachid>126023</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 00:56:34 -0800</bug_when>
    <thetext>Created attachment 126023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551885</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-08 01:37:42 -0800</bug_when>
    <thetext>
- It looks now it is possible to for the load event to be fired not only from &lt;svg&gt; but also
   from non-&lt;svg&gt; outermost elements. I&apos;d love to have tests to cover such case.

- The decision whether event should be fired or not is scattered to many places like
   finishParsingChildren() and part of dispatchSVGLoadEventToOutermostSVGElements().
   How about to tweak the parameter of sendSVGLoadEventIfPossible into something like enum, 
   to indicate the caller&apos;s context? Then we can make the decision inside that function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551891</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 01:44:49 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; - It looks now it is possible to for the load event to be fired not only from &lt;svg&gt; but also
&gt;    from non-&lt;svg&gt; outermost elements. I&apos;d love to have tests to cover such case.
We have such tests cases, see eg. svg/custom/loadevents*
The SVGLoad event is always fireable for any SVG element, not just outermost - that&apos;s a key difference between HTML/SVG load listeners. HTML onload always means listening to a window event, unlike for SVG, where its per element.

&gt; - The decision whether event should be fired or not is scattered to many places like
&gt;    finishParsingChildren() and part of dispatchSVGLoadEventToOutermostSVGElements().
&gt;    How about to tweak the parameter of sendSVGLoadEventIfPossible into something like enum, 
&gt;    to indicate the caller&apos;s context? Then we can make the decision inside that function.
Suggestion is not bad, but  I&apos;d like to keep it as simple as possible for now, to continue working on the SVG repaint test fixes - we can come back later and refactor this, once we consider eg. delayed SVGLoad events for &lt;use&gt; / &lt;feImage&gt; etc, which we don&apos;t support at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551894</commentid>
    <comment_count>4</comment_count>
      <attachid>126023</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-08 01:47:49 -0800</bug_when>
    <thetext>Comment on attachment 126023
Patch

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

New failing tests:
svg/custom/repaint-on-image-bounds-change.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551917</commentid>
    <comment_count>5</comment_count>
      <attachid>126023</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-08 02:15:19 -0800</bug_when>
    <thetext>Comment on attachment 126023
Patch

Okay. R+ed for now. Please skip chromium stuff before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551920</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 02:19:51 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 126023 [details])
&gt; Okay. R+ed for now. Please skip chromium stuff before landing.
Thanks a lot, will do!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551923</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 02:22:15 -0800</bug_when>
    <thetext>Committed r107057: &lt;http://trac.webkit.org/changeset/107057&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552025</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2012-02-08 04:42:22 -0800</bug_when>
    <thetext>repaint-on-image-bounds-change.svg still has wrong image in chromium: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fcustom%2Frepaint-on-image-bounds-change.svg&amp;showExpectations=true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552030</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 04:48:24 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; repaint-on-image-bounds-change.svg still has wrong image in chromium: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fcustom%2Frepaint-on-image-bounds-change.svg&amp;showExpectations=true
Oh the test in svg/custom, and svg/dynamic-updates haven&apos;t moved yet to the new repainting harness. They&apos;re all still flaky. A patch fixing this will come soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553029</commentid>
    <comment_count>10</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-09 03:45:31 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; repaint-on-image-bounds-change.svg still has wrong image in chromium: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fcustom%2Frepaint-on-image-bounds-change.svg&amp;showExpectations=true
&gt; Oh the test in svg/custom, and svg/dynamic-updates haven&apos;t moved yet to the new repainting harness. They&apos;re all still flaky. A patch fixing this will come soon.
Bug 77736 fixed the tests in svg/custom - this problem should be gone now, can you confirm?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553030</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-09 03:47:02 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; repaint-on-image-bounds-change.svg still has wrong image in chromium: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fcustom%2Frepaint-on-image-bounds-change.svg&amp;showExpectations=true
&gt; &gt; Oh the test in svg/custom, and svg/dynamic-updates haven&apos;t moved yet to the new repainting harness. They&apos;re all still flaky. A patch fixing this will come soon.
&gt; Bug 77736 fixed the tests in svg/custom - this problem should be gone now, can you confirm?
Sorry, I meant to say 78115.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553053</commentid>
    <comment_count>12</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-09 04:27:22 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Bug 77736 fixed the tests in svg/custom - this problem should be gone now, can you confirm?
I checked on my own, it passes now! Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126023</attachid>
            <date>2012-02-08 00:56:34 -0800</date>
            <delta_ts>2012-02-08 02:22:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78084-20120208095631.patch</filename>
            <type>text/plain</type>
            <size>92768</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJlNmRlODJkNzUwMjFj
OTY3ZjVhMDE4NWJlZWJmNjZjYmQ5NTc3My4uYTU3ZmUzNWQzMjY1ZGJiZTY3ODliNWE3MDA5ZGE0
YjU2Mjk0ZTM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTAyLTA4ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNWR0xvYWQg
ZXZlbnQgZmlyZXMgdG9vIGVhcmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03ODA4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNWR0xvYWQgZXZlbnQgZmlyZXMgdG9vIGVhcmx5LCBtYWtpbmcgaXQgaW1w
b3NzaWJsZSB0byB1c2UgdGhlIHZhbmlsbGEgcmVwYWludC5qcyBoYXJuZXNzIChydW5SZXBhaW50
VGVzdCkuCisKKyAgICAgICAgV2UncmUgdXNpbmcgYSBoYWNrIGNhbGxlZCBydW5TVkdSZXBhaW50
VGVzdCgpIGF0IHRoZSBtb21lbnQgaW4gdHJ1bmssIHdoaWNoIHJ1bnMgcnVuUmVwYWludFRlc3Qo
KSBmcm9tIGEgMG1zIHRpbWVyLAorICAgICAgICB3aGljaCBpcyBub3QgcmVsaWFibGUuIFRoZSBt
YWluIGRpZmZlcmVuY2UgYmV0d2VlbiBIVE1MIG9ubG9hZCBhbmQgU1ZHIG9ubG9hZCBpcyB0aGF0
IEhUTUxzIGV2ZW50IGlzIGEgIndpbmRvdyBldmVudCIsCisgICAgICAgIHRodXMgZGlzcGF0Y2hl
ZCB0aHJvdWdoIERPTVdpbmRvdyAoZWcuIDxib2R5IG9ubG9hZD0iYWxlcnQoZXZlbnQudGFyZ2V0
KSIgd2lsbCB5aWVsZCBEb2N1bWVudCwKKyAgICAgICAgPHN2ZyBvbmxvYWQ9ImFsZXJ0KGV2dC50
YXJnZXQpIj4gd2lsbCBzYXkgU1ZHU1ZHRWxlbWVudCkuCisKKyAgICAgICAgQ29uc2lkZXI6Cisg
ICAgICAgIDxzdmcgb25sb2FkPSJhbGVydCgnMScpPgorICAgICAgICA8ZyBvbmxvYWQ9ImFsZXJ0
KCcyKSI+CisgICAgICAgIDxyZWN0IG9ubG9hZD0iYWxlcnQoJzMnKSIvPgorICAgICAgICA8L3N2
Zz4KKworICAgICAgICBBcyBzb29uIGFzIHRoZSA8cmVjdD4gZmluaXNoZXMgcGFyc2luZyAoU1ZH
RWxlbWVudDo6ZmluaXNoZWRQYXJzaW5nQ2hpbGRyZW4pLCBpdCdzIFNWR0xvYWQgZXZlbnQgaXMg
ZmlyZWQuCisgICAgICAgIFNvIGZpcnN0IHlvdSdsbCBzZWUgJzMnLCB0aGVuICcyJywgdGhlbiAn
MScuCisKKyAgICAgICAgVXNpbmc6CisgICAgICAgIDxzdmcgb25sb2FkPSJhbGVydCgnMScpPgor
ICAgICAgICA8ZyBvbmxvYWQ9ImFsZXJ0KCcyKSI+CisgICAgICAgIDxpbWFnZSB4bGluazpocmVm
PSJzb21lRXh0ZXJuYWwuanBnIiBvbmxvYWQ9ImFsZXJ0KCczJykiLz4KKyAgICAgICAgPC9zdmc+
CisKKyAgICAgICAgd2lsbCB5aWVsZCB0aGUgc2FtZSBTVkdMb2FkIG9yZGVyLiBXaGVuIHVzaW5n
IDxpbWFnZSBleHRlcm5hbFJFc291cmNlc1JlcXVpcmVkPSJ0cnVlIiwgZmlyc3QgdGhlICcxJyB3
aWxsIGZpcmUsCisgICAgICAgIHRoZW4gJzMnLCB0aGVuICcyJywgYWxsIGFzIGV4cGVjdGVkIGFu
ZCBzcGVjaWZpZWQgaW4gU1ZHLgorCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9p
bnRlcmFjdC5odG1sI0xvYWRFdmVudCBzYXlzOgorICAgICAgICAiVGhlIGV2ZW50IGlzIHRyaWdn
ZXJlZCBhdCB0aGUgcG9pbnQgYXQgd2hpY2ggdGhlIHVzZXIgYWdlbnQgaGFzIGZ1bGx5IHBhcnNl
ZCB0aGUgZWxlbWVudCBhbmQgaXRzIGRlc2NlbmRhbnRzIGFuZCBpcworICAgICAgICByZWFkeSB0
byBhY3QgYXBwcm9wcmlhdGVseSB1cG9uIHRoYXQgZWxlbWVudCwgc3VjaCBhcyBiZWluZyByZWFk
eSB0byByZW5kZXIgdGhlIGVsZW1lbnQgdG8gdGhlIHRhcmdldCBkZXZpY2UuIFJlZmVyZW5jZWQK
KyAgICAgICAgZXh0ZXJuYWwgcmVzb3VyY2VzIHRoYXQgYXJlIHJlcXVpcmVkIG11c3QgYmUgbG9h
ZGVkLCBwYXJzZWQgYW5kIHJlYWR5IHRvIHJlbmRlciBiZWZvcmUgdGhlIGV2ZW50IGlzIHRyaWdn
ZXJlZC4gT3B0aW9uYWwKKyAgICAgICAgZXh0ZXJuYWwgcmVzb3VyY2VzIGFyZSBub3QgcmVxdWly
ZWQgdG8gYmUgcmVhZHkgZm9yIHRoZSBldmVudCB0byBiZSB0cmlnZ2VyZWQuIgorCisgICAgICAg
IFdoYXQgd2UgZG9uJ3QgaW1wbGVtZW50IGNvcnJlY3RseSBpcyB0aGUgc2Vjb25kIHBhcnQgb2Yg
dGhlIGZpcnN0IHNlbnRlbmNlOiAiYW5kIGlzIHJlYWR5IHRvIGFjdCBhcHByb3ByaWF0ZWx5IHVw
b24gdGhhdAorICAgICAgICBlbGVtZW50LCBzdWNoIGFzIGJlaW5nIHJlYWR5IHRvIHJlbmRlciB0
aGUgZWxlbWVudCB0byB0aGUgdGFyZ2V0IGRldmljZSIuIFdlIGN1cnJlbnRseSBmaXJlIHRoZSBT
VkdMb2FkIGV2ZW50LCByaWdodCBhZnRlcgorICAgICAgICA8L3N2Zz4gaXMgc2VlbiwgaWYgbm8g
ZXh0ZXJuYWxSZXNvdXJjZVJlcXVpcmVkPSJ0cnVlIiBhdHRyaWJ1dGVzIGFyZSBzZXQgYW55d2hl
cmUuIFRoaXMgaXMgbm90IHdyb25nLCBidXQgbm90IGNvcnJlY3QgZm9yCisgICAgICAgIFdlYktp
dCwgYXMgd2UncmUgbm90IHlldCAicmVhZHkgdG8gcmVuZGVyIi4KKworICAgICAgICBIVE1MIGZp
cmVzIGl0cyB3aW5kb3cgb25sb2FkIGV2ZW50IGZyb20gRG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2Uo
KSwgd2hlcmUgaXQgY2FsbHMgRG9jdW1lbnQ6OmRpc3BhdGNoV2luZG93TG9hZEV2ZW50LgorICAg
ICAgICBBdCB0aGlzIHBvaW50IHdlJ3JlIHJlYWR5IHRvIHJlbmRlci4gU28gSSdtIG5vdyBhbGln
bmluZyB0aGUgdGltaW5nIG9mIHRoZSBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudHMgU1ZHTG9hZCBl
dmVudCwgdG8gYmUKKyAgICAgICAgZXF1YWwgdG8gSFRNTC4gVGhpcyBsZXRzIHVzZSB1c2UgdGhl
IHJlcGFpbnQuanMgaGFybmVzcyB3L28gYW55IHNwZWNpYWwgU1ZHIHRyaWNrcy4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNpdENsb3NlKTogRGlzcGF0Y2gg
U1ZHTG9hZCBldmVudCBmb3Igb3V0ZXJtb3N0IDxzdmc+IGVsZW1lbnRzIGZyb20gaGVyZSwgYXMg
SFRNTCBkb2VzIGZvciBpdHMgd2luZG93IG9ubG9hZCBldmVudC4KKyAgICAgICAgKiBzdmcvU1ZH
RG9jdW1lbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0
ZW5zaW9uczo6ZGlzcGF0Y2hTVkdMb2FkRXZlbnRUb091dGVybW9zdFNWR0VsZW1lbnRzKTogU2Vu
ZHMgYSBTVkdMb2FkIGV2ZW50IHRvIGFsbCBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudHMgaW4gYSBk
b2N1bWVudCwgaWYgcG9zc2libGUuCisgICAgICAgIFRoZXJlIGNhbiBiZSBtdWx0aXBsZSBvbmVz
LCBpZiB1c2luZyA8c3ZnPjxmb3JlaWduT2JqZWN0Pjxzdmc+Li4uIC0gdGhlIDxzdmc+IGluIHRo
ZSA8Zk8+IGFsc28gYWN0cyBhcyBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudC4KKyAgICAgICAgKiBz
dmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmg6IEFkZCBuZXcgZGlzcGF0Y2hTVkdMb2FkRXZlbnRU
b091dGVybW9zdFNWR0VsZW1lbnRzKCkgaGVscGVyLgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmlzT3V0ZXJtb3N0U1ZHU1ZHRWxl
bWVudCk6IE1vdmVkIGZyb20gU1ZHU1ZHRWxlbWVudCBpbnRvIFNWR0VsZW1lbnQsIGFuZCByZW5h
bWVkIGZyb20gaXNPdXRlcm1vc3RTVkcoKS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKTogRG9uJ3QgZGlzcGF0Y2ggbG9hZCBldmVudHMg
dG8gb3V0ZXJtb3N0IDxzdmc+IGVsZW1lbnRzLCBpZiBEb2N1bWVudDo6aW1wbGljaXRDbG9zZSgp
IHdhc24ndCBjYWxsZWQgeWV0LgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6ZmluaXNo
UGFyc2luZ0NoaWxkcmVuKTogU3RvcCB1c2luZyB0aGUgZGVmYXVsdCBTVkdMb2FkIGRpc3BhdGNo
aW5nIGxvZ2ljIGZvciBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudHMuCisgICAgICAgICogc3ZnL1NW
R0VsZW1lbnQuaDogQWRkIGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpLgorICAgICAgICAqIHN2
Zy9TVkdTVkdFbGVtZW50LmNwcDogUmVuYW1lIGlzT3V0ZXJtb3N0U1ZHIHRvIGlzT3V0ZXJtb3N0
U1ZHU1ZHRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRT
Y2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzZXRDdXJyZW50U2NhbGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6bG9jYWxDb29yZGluYXRlU3BhY2VU
cmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIpOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6IE1vdmUgaXNPdXRlcm1vc3RTVkco
KSB0byBTVkdFbGVtZW50LgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OnRpdGxlKTogUmVuYW1lIGlzT3V0ZXJt
b3N0U1ZHIHRvIGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudC4KKwogMjAxMi0wMi0wOCAgS2VudGFy
byBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBbQ2hlY2tO
b2RlU2VjdXJpdHldIHdpdGggW0NoZWNrQWNjZXNzVG9Ob2RlXQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggNjQ3Mzc3ZWNiYmEwNTIzZDQ3ZmJjNDA0YzMwYjc5ZmQyMzRhOTI1NS4uMzlhOTdi
MmM0ZDhhNWJlMzYzYjU4MWEwYTUwYTdkM2M1OTgxNzIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0xNzMsNiArMTczLDcgQEAKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMu
aCIKICNpbmNsdWRlICJTVkdFbGVtZW50RmFjdG9yeS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgi
CisjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlRWxlbWVudC5o
IgogI2VuZGlmCiAKQEAgLTIyNTcsNiArMjI1OCwxNSBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNp
dENsb3NlKCkKIAogICAgIEltYWdlTG9hZGVyOjpkaXNwYXRjaFBlbmRpbmdCZWZvcmVMb2FkRXZl
bnRzKCk7CiAgICAgSW1hZ2VMb2FkZXI6OmRpc3BhdGNoUGVuZGluZ0xvYWRFdmVudHMoKTsKKwor
I2lmIEVOQUJMRShTVkcpCisgICAgLy8gVG8gYWxpZ24gdGhlIEhUTUwgbG9hZCBldmVudCBhbmQg
dGhlIFNWR0xvYWQgZXZlbnQgZm9yIHRoZSBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudCwgZmlyZSBp
dCBmcm9tCisgICAgLy8gaGVyZSwgaW5zdGVhZCBvZiBkb2luZyBpdCBmcm9tIFNWR0VsZW1lbnQ6
OmZpbmlzaGVkUGFyc2luZ0NoaWxkcmVuIChpZiBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPSJm
YWxzZSIsCisgICAgLy8gd2hpY2ggaXMgdGhlIGRlZmF1bHQsIGZvciA9J3RydWUnIGl0cyBmaXJl
ZCBhdCBhIGxhdGVyIHRpbWUsIG9uY2UgYWxsIGV4dGVybmFsIHJlc291cmNlcyBmaW5pc2hlZCBs
b2FkaW5nKS4KKyAgICBpZiAoc3ZnRXh0ZW5zaW9ucygpKQorICAgICAgICBhY2Nlc3NTVkdFeHRl
bnNpb25zKCktPmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygpOwor
I2VuZGlmCisKICAgICBkaXNwYXRjaFdpbmRvd0xvYWRFdmVudCgpOwogICAgIGVucXVldWVQYWdl
c2hvd0V2ZW50KFBhZ2VzaG93RXZlbnROb3RQZXJzaXN0ZWQpOwogICAgIGVucXVldWVQb3BzdGF0
ZUV2ZW50KG1fcGVuZGluZ1N0YXRlT2JqZWN0ID8gbV9wZW5kaW5nU3RhdGVPYmplY3QucmVsZWFz
ZSgpIDogU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpudWxsVmFsdWUoKSk7CkBAIC0yMzI2LDkgKzIz
MzYsNiBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKICNlbmRpZgogCiAjaWYgRU5B
QkxFKFNWRykKLSAgICAvLyBGSVhNRTogT2ZmaWNpYWxseSwgdGltZSAwIGlzIHdoZW4gdGhlIG91
dGVybW9zdCA8c3ZnPiByZWNlaXZlcyBpdHMKLSAgICAvLyBTVkdMb2FkIGV2ZW50LCBidXQgd2Ug
ZG9uJ3QgaW1wbGVtZW50IHRob3NlIHlldC4gIFRoaXMgaXMgY2xvc2UgZW5vdWdoCi0gICAgLy8g
Zm9yIG5vdy4gIEluIHNvbWUgY2FzZXMgd2Ugc2hvdWxkIGhhdmUgZmlyZWQgZWFybGllci4KICAg
ICBpZiAoc3ZnRXh0ZW5zaW9ucygpKQogICAgICAgICBhY2Nlc3NTVkdFeHRlbnNpb25zKCktPnN0
YXJ0QW5pbWF0aW9ucygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVu
dEV4dGVuc2lvbnMuY3BwCmluZGV4IDFkZDYxNjA4Y2FhNTQwZjNiN2Q3NmYxNGVkYWRiOTEwZWJj
ZDc5MzUuLjcxMTYxMTAyOTgzZjk2NWYyODc2Y2RhZThmNTQ5YTA5Nzg5MzBlMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCkBAIC0xMTcsNiArMTE3
LDIwIEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjp1bnBhdXNlQW5pbWF0aW9ucygpCiAg
ICAgICAgICgqaXRyKS0+dW5wYXVzZUFuaW1hdGlvbnMoKTsKIH0KIAordm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygp
Cit7CisgICAgVmVjdG9yPFJlZlB0cjxTVkdTVkdFbGVtZW50PiA+IHRpbWVDb250YWluZXJzOwor
ICAgIHRpbWVDb250YWluZXJzLmFwcGVuZFJhbmdlKG1fdGltZUNvbnRhaW5lcnMuYmVnaW4oKSwg
bV90aW1lQ29udGFpbmVycy5lbmQoKSk7CisKKyAgICBWZWN0b3I8UmVmUHRyPFNWR1NWR0VsZW1l
bnQ+ID46Oml0ZXJhdG9yIGVuZCA9IHRpbWVDb250YWluZXJzLmVuZCgpOworICAgIGZvciAoVmVj
dG9yPFJlZlB0cjxTVkdTVkdFbGVtZW50PiA+OjppdGVyYXRvciBpdCA9IHRpbWVDb250YWluZXJz
LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBTVkdTVkdFbGVtZW50KiBvdXRl
clNWRyA9ICgqaXQpLmdldCgpOworICAgICAgICBpZiAoIW91dGVyU1ZHLT5pc091dGVybW9zdFNW
R1NWR0VsZW1lbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBvdXRlclNWRy0+
c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoKTsKKyAgICB9Cit9CisKIGJvb2wgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjpzYW1wbGVBbmltYXRpb25BdFRpbWUoY29uc3QgU3RyaW5nJiBlbGVtZW50
SWQsIFNWR1NNSUxFbGVtZW50KiBlbGVtZW50LCBkb3VibGUgdGltZSkKIHsKICAgICBBU1NFUlQo
ZWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5k
ZXggNDU5ZmYwNjQ3NTE1ZmVhY2M5MTRhMjNjYmUyM2FhN2MzYTAyMTY4Ny4uZGI2MDhiZGIyYTlh
ODE0NWI4Mjc4M2E4YjY1MDRjOTUyODJkYWVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
b2N1bWVudEV4dGVuc2lvbnMuaApAQCAtNTcsNiArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBw
YXVzZUFuaW1hdGlvbnMoKTsKICAgICB2b2lkIHVucGF1c2VBbmltYXRpb25zKCk7CiAgICAgYm9v
bCBzYW1wbGVBbmltYXRpb25BdFRpbWUoY29uc3QgU3RyaW5nJiBlbGVtZW50SWQsIFNWR1NNSUxF
bGVtZW50KiwgZG91YmxlIHRpbWUpOworICAgIHZvaWQgZGlzcGF0Y2hTVkdMb2FkRXZlbnRUb091
dGVybW9zdFNWR0VsZW1lbnRzKCk7CiAgICAgCiAgICAgdm9pZCBhZGRBbmltYXRpb25FbGVtZW50
VG9UYXJnZXQoU1ZHU01JTEVsZW1lbnQqLCBTVkdFbGVtZW50Kik7CiAgICAgdm9pZCByZW1vdmVB
bmltYXRpb25FbGVtZW50RnJvbVRhcmdldChTVkdTTUlMRWxlbWVudCosIFNWR0VsZW1lbnQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBiMWExNjJkY2Y3YzgyNGIyODQ1MTQ2NzAx
MjAwNzUwOGEyN2Y2OTMyLi5hNjE3ZjkxNzgxNTM4ZDM4ZTk5NjNmMTBmMTY4YTI1NTY0OTQ3NmQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0xMDUsNiArMTA1LDIwIEBAIFNWR0Vs
ZW1lbnRSYXJlRGF0YSogU1ZHRWxlbWVudDo6ZW5zdXJlUmFyZVNWR0RhdGEoKQogICAgIHJldHVy
biBkYXRhOwogfQogCitib29sIFNWR0VsZW1lbnQ6OmlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgp
IGNvbnN0Cit7CisgICAgLy8gRWxlbWVudCBtYXkgbm90IGJlIGluIHRoZSBkb2N1bWVudCwgcHJl
dGVuZCB3ZSdyZSBvdXRlcm1vc3QgZm9yIHZpZXdwb3J0KCksIGdldENUTSgpLCBldGMuCisgICAg
aWYgKCFwYXJlbnROb2RlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gV2UgYWN0
IGxpa2UgYW4gb3V0ZXJtb3N0IFNWRyBlbGVtZW50LCBpZiB3ZSdyZSBhIGRpcmVjdCBjaGlsZCBv
ZiBhIDxmb3JlaWduT2JqZWN0PiBlbGVtZW50LgorICAgIGlmIChwYXJlbnROb2RlKCktPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIC8vIFRoaXMgaXMgdHJ1ZSB3aGVuZXZlciB0aGlzIGlzIHRoZSBvdXRlcm1vc3QgU1ZH
LCBldmVuIGlmIHRoZXJlIGFyZSBIVE1MIGVsZW1lbnRzIG91dHNpZGUgaXQKKyAgICByZXR1cm4g
IXBhcmVudE5vZGUoKS0+aXNTVkdFbGVtZW50KCk7Cit9CisKIHZvaWQgU1ZHRWxlbWVudDo6cmVw
b3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKFNWR1BhcnNpbmdFcnJvciBlcnJvciwgQXR0cmlidXRl
KiBhdHRyaWJ1dGUpCiB7CiAgICAgaWYgKGVycm9yID09IE5vRXJyb3IpCkBAIC0zNDAsNiArMzU0
LDIwIEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBz
ZW5kUGFyZW50TG9hZEV2ZW50cykKICAgICAgICAgaWYgKGhhc0xvYWRMaXN0ZW5lcihjdXJyZW50
VGFyZ2V0LmdldCgpKSkKICAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQtPmRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubG9hZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAg
ICAgICAgY3VycmVudFRhcmdldCA9IChwYXJlbnQgJiYgcGFyZW50LT5pc1NWR0VsZW1lbnQoKSkg
PyBzdGF0aWNfcG9pbnRlcl9jYXN0PFNWR0VsZW1lbnQ+KHBhcmVudCkgOiBSZWZQdHI8U1ZHRWxl
bWVudD4oKTsKKyAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0Vs
ZW1lbnQqPihjdXJyZW50VGFyZ2V0LmdldCgpKTsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8ICFl
bGVtZW50LT5pc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIC8vIENvbnNpZGVyIDxzdmcgb25sb2FkPSJmb28oKSI+PGltYWdlIHhsaW5r
OmhyZWY9ImZvby5wbmciIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ9InRydWUiLz48L3N2Zz4u
CisgICAgICAgIC8vIElmIGZvby5wbmcgaXMgbm90IHlldCBsb2FkZWQsIHRoZSBmaXJzdCBTVkdM
b2FkIGV2ZW50IHdpbGwgZ28gdG8gdGhlIDxzdmc+IGVsZW1lbnQsIHNlbnQgdGhyb3VnaAorICAg
ICAgICAvLyBEb2N1bWVudDo6aW1wbGljaXRDbG9zZSgpLiBUaGVuIHRoZSBTVkdMb2FkIGV2ZW50
IHdpbGwgZmlyZSBmb3IgPGltYWdlPiwgb25jZSBpdHMgbG9hZGVkLgorICAgICAgICBBU1NFUlQo
c2VuZFBhcmVudExvYWRFdmVudHMpOworCisgICAgICAgIC8vIElmIHRoZSBsb2FkIGV2ZW50IHdh
cyBub3Qgc2VudCB5ZXQgYnkgRG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UoKSwgYnV0IHRoZSA8aW1h
Z2U+IGZyb20gdGhlIGV4YW1wbGUKKyAgICAgICAgLy8gYWJvdmUsIGp1c3QgYXBwZWFyZWQsIGRv
bid0IHNlbmQgdGhlIFNWR0xvYWQgZXZlbnQgdG8gdGhlIG91dGVybW9zdCA8c3ZnPiwgYnV0IHdh
aXQgZm9yIHRoZSBkb2N1bWVudAorICAgICAgICAvLyB0byBiZSAicmVhZHkgdG8gcmVuZGVyIiwg
Zmlyc3QuCisgICAgICAgIGlmICghZG9jdW1lbnQoKS0+bG9hZEV2ZW50RmluaXNoZWQoKSkKKyAg
ICAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIApAQCAtMzQ3LDYgKzM3NSwxMCBAQCB2b2lkIFNW
R0VsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpCiB7CiAgICAgU3R5bGVkRWxlbWVudDo6
ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiAKKyAgICAvLyBUaGUgb3V0ZXJtb3N0IFNWR1NWR0Vs
ZW1lbnQgU1ZHTG9hZCBldmVudCBpcyBmaXJlZCB0aHJvdWdoIERvY3VtZW50OjpkaXNwYXRjaFdp
bmRvd0xvYWRFdmVudC4KKyAgICBpZiAoaXNPdXRlcm1vc3RTVkdTVkdFbGVtZW50KCkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIC8vIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpIGlzIGNhbGxlZCB3
aGVuIHRoZSBjbG9zZSB0YWcgaXMgcmVhY2hlZCBmb3IgYW4gZWxlbWVudCAoZS5nLiA8L3N2Zz4p
CiAgICAgLy8gd2Ugc2VuZCBTVkdMb2FkIGV2ZW50cyBoZXJlIGlmIHdlIGNhbiwgb3RoZXJ3aXNl
IHRoZXknbGwgYmUgc2VudCB3aGVuIGFueSByZXF1aXJlZCBsb2FkcyBmaW5pc2gKICAgICBzZW5k
U1ZHTG9hZEV2ZW50SWZQb3NzaWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggMDZm
YWMwNTBkNzg5OTdhYzFmNTJkODA3YzI4ZGRjZDJjNDlmYWQ0MS4uYzVjNWFjNTVmNDRhNDIwMTky
NDE5ZWQ4MTg1ODFkZjQ5Yzk4MTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC00Niw2
ICs0Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgdmlydHVhbCB+U1ZHRWxl
bWVudCgpOwogCisgICAgYm9vbCBpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSBjb25zdDsKKwog
ICAgIFN0cmluZyB4bWxiYXNlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRYbWxiYXNlKGNvbnN0IFN0
cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3Bw
CmluZGV4IGY4ODlkNjNiYzZhZTI1OWE0YTc2YmVlMTllYjNkYmY5NTkwZDRmNGUuLjU5MGVlYzlh
MzJmN2IwNTczOTQzM2UyNGJkOGU5NmUzMTNmZjI3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5jcHAKQEAgLTE4Niw3ICsxODYsNyBAQCBTVkdWaWV3U3BlYyogU1ZHU1ZHRWxlbWVu
dDo6Y3VycmVudFZpZXcoKSBjb25zdAogCiBmbG9hdCBTVkdTVkdFbGVtZW50OjpjdXJyZW50U2Nh
bGUoKSBjb25zdAogewotICAgIGlmICghaW5Eb2N1bWVudCgpIHx8ICFpc091dGVybW9zdFNWRygp
KQorICAgIGlmICghaW5Eb2N1bWVudCgpIHx8ICFpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSkK
ICAgICAgICAgcmV0dXJuIDE7CiAKICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFt
ZSgpOwpAQCAtMjA0LDcgKzIwNCw3IEBAIGZsb2F0IFNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRTY2Fs
ZSgpIGNvbnN0CiAKIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0Q3VycmVudFNjYWxlKGZsb2F0IHNj
YWxlKQogewotICAgIGlmICghaW5Eb2N1bWVudCgpIHx8ICFpc091dGVybW9zdFNWRygpKQorICAg
IGlmICghaW5Eb2N1bWVudCgpIHx8ICFpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKTsKQEAg
LTQyOCw3ICs0MjgsNyBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHU1ZHRWxlbWVudDo6bG9jYWxDb29y
ZGluYXRlU3BhY2VUcmFuc2Zvcm0oU1ZHTG9jYXRhYmxlOjpDVE1TYwogICAgIH0KIAogICAgIEFm
ZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07Ci0gICAgaWYgKCFpc091dGVybW9zdFNWRygpKSB7Cisg
ICAgaWYgKCFpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSkgewogICAgICAgICBTVkdMZW5ndGhD
b250ZXh0IGxlbmd0aENvbnRleHQodGhpcyk7CiAgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUo
eCgpLnZhbHVlKGxlbmd0aENvbnRleHQpLCB5KCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwogICAg
IH0gZWxzZSBpZiAobW9kZSA9PSBTVkdMb2NhdGFibGU6OlNjcmVlblNjb3BlKSB7CkBAIC00NTUs
NyArNDU1LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1NWR0VsZW1lbnQ6OmxvY2FsQ29vcmRpbmF0
ZVNwYWNlVHJhbnNmb3JtKFNWR0xvY2F0YWJsZTo6Q1RNU2MKIAogUmVuZGVyT2JqZWN0KiBTVkdT
VkdFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxl
KikKIHsKLSAgICBpZiAoaXNPdXRlcm1vc3RTVkcoKSkKKyAgICBpZiAoaXNPdXRlcm1vc3RTVkdT
VkdFbGVtZW50KCkpCiAgICAgICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdSb290KHRo
aXMpOwogCiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
KHRoaXMpOwpAQCAtNTEyLDIwICs1MTIsNiBAQCBib29sIFNWR1NWR0VsZW1lbnQ6OnNlbGZIYXNS
ZWxhdGl2ZUxlbmd0aHMoKSBjb25zdAogICAgICAgICB8fCBoYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6
OnZpZXdCb3hBdHRyKTsKIH0KIAotYm9vbCBTVkdTVkdFbGVtZW50Ojppc091dGVybW9zdFNWRygp
IGNvbnN0Ci17Ci0gICAgLy8gRWxlbWVudCBtYXkgbm90IGJlIGluIHRoZSBkb2N1bWVudCwgcHJl
dGVuZCB3ZSdyZSBvdXRlcm1vc3QgZm9yIHZpZXdwb3J0KCksIGdldENUTSgpLCBldGMuCi0gICAg
aWYgKCFwYXJlbnROb2RlKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gV2UgYWN0
IGxpa2UgYW4gb3V0ZXJtb3N0IFNWRyBlbGVtZW50LCBpZiB3ZSdyZSBhIGRpcmVjdCBjaGlsZCBv
ZiBhIDxmb3JlaWduT2JqZWN0PiBlbGVtZW50LgotICAgIGlmIChwYXJlbnROb2RlKCktPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIC8vIFRoaXMgaXMgdHJ1ZSB3aGVuZXZlciB0aGlzIGlzIHRoZSBvdXRlcm1vc3QgU1ZH
LCBldmVuIGlmIHRoZXJlIGFyZSBIVE1MIGVsZW1lbnRzIG91dHNpZGUgaXQKLSAgICByZXR1cm4g
IXBhcmVudE5vZGUoKS0+aXNTVkdFbGVtZW50KCk7Ci19Ci0KIEZsb2F0UmVjdCBTVkdTVkdFbGVt
ZW50OjpjdXJyZW50Vmlld0JveFJlY3QoKSBjb25zdAogewogICAgIGlmICh1c2VDdXJyZW50Vmll
dygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRleCBjMTRiOWM3NTc3ODBmNjI1
N2VjN2YyZjJiOGRhMDFhMGIwNzI0MGM4Li4xMGM1OWMyODUxYTgyMTFiMDU3ODhkODc0ZGViNDEw
MDQ1NDJkNzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKQEAgLTEyNiw4ICsxMjYs
NiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldHVwSW5pdGlhbFZpZXcoY29uc3QgU3RyaW5nJiBm
cmFnbWVudElkZW50aWZpZXIsIEVsZW1lbnQqIGFuY2hvck5vZGUpOwogCi0gICAgYm9vbCBpc091
dGVybW9zdFNWRygpIGNvbnN0OwotCiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWQoY29uc3Qg
QXRvbWljU3RyaW5nJikgY29uc3Q7CiAKICAgICBib29sIHdpZHRoQXR0cmlidXRlRXN0YWJsaXNo
ZXNWaWV3cG9ydCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0
eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3Bw
CmluZGV4IDQ1YTRkY2UxYTk5MTc4ODViMDhkMTZhNmEwOWRiYjNkYWZmNGU4NjYuLjUxOGI1YjNl
ZWQyOTRjYmE3NDczNzdmMTc5NWE5YjliZGE5M2ZkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkRWxlbWVudC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgU3RyaW5nIFNWR1N0eWxlZEVsZW1l
bnQ6OnRpdGxlKCkgY29uc3QKICAgICAvLyA8dGl0bGU+IGVsZW1lbnRzIGFyZSB0aGUgdGl0bGUg
b2YgdGhlIGRvY3VtZW50LCBub3QgYSB0b29sdGlwKSBzbyB3ZSBpbnN0YW50bHkgcmV0dXJuLgog
ICAgIGlmIChoYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpKSB7CiAgICAgICAgIGNvbnN0IFNW
R1NWR0VsZW1lbnQqIHN2ZyA9IHN0YXRpY19jYXN0PGNvbnN0IFNWR1NWR0VsZW1lbnQqPih0aGlz
KTsKLSAgICAgICAgaWYgKHN2Zy0+aXNPdXRlcm1vc3RTVkcoKSkKKyAgICAgICAgaWYgKHN2Zy0+
aXNPdXRlcm1vc3RTVkdTVkdFbGVtZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc0MTZkYjk5MWFlYmI1ZTRjZmYwM2IzMDM4NTU5NTkwNGFl
ZDQyY2MuLjI5NWJlZWZkZTU4M2M3MGZhMmFhMGNkZjI5ZTE2ZTE1N2ViOWUxYzcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsNSArMSw3MiBAQAogMjAxMi0wMi0wOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1h
bm5AcmltLmNvbT4KIAorICAgICAgICBTVkdMb2FkIGV2ZW50IGZpcmVzIHRvbyBlYXJseQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwODQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgcnVuU1ZH
UmVwYWludFRlc3QoKSBmcm9tIHJlcGFpbnQuanMgYWdhaW4sIGFuZCBjb252ZXJ0IGFsbCAqLnN2
ZyB0ZXN0cyB0byB1c2UgcnVuUmVwYWludFRlc3QoKSBkaXJlY3RseS4KKyAgICAgICAgVGhpcyBp
cyBub3cgcG9zc2libGUgYXMgdGhlIG91dGVybW9zdCA8c3ZnPiBlbGVtZW50cyBsb2FkIGV2ZW50
IHRpbWluZyBhcyBhbGlnbmVkIHdpdGggSFRNTC4KKworICAgICAgICAqIGZhc3QvcmVwYWludC9y
ZXNvdXJjZXMvcmVwYWludC5qczogUmVtb3ZlIHJ1blNWR1JlcGFpbnRUZXN0KCksIGl0J3Mgbm8g
bG9uZ2VyIG5lZWRlZC4KKyAgICAgICAgKHJ1blJlcGFpbnRUZXN0KTogcy9kb2N1bWVudC5yb290
RWxlbWVudC9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQvIHRvIG1ha2UgaXQgd29yayBmb3IgYWxs
IEhUTUwvWEhUTUwgYW5kIFNWRyBkb2N1bWVudHMgKFhIVE1MIHdhcyBicm9rZW4pLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9TVkdQb2ludC1tYXRyaXhUcmFuc2Zvcm0tZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL1NWR1BvaW50LW1hdHJpeFRy
YW5zZm9ybS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20v
Z2V0VHJhbnNmb3JtVG9FbGVtZW50LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9nZXRUcmFuc2Zvcm1Ub0VsZW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BvbHlsaW5lLXNldGF0dHJpYnV0ZS1wb2ludHMt
bnVsbC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcG9s
eWxpbmUtc2V0YXR0cmlidXRlLXBvaW50cy1udWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LWN0bS1leHBlY3RlZC5wbmc6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1jdG0tZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQucG5nOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXItcmVmcmVzaC1leHBl
Y3RlZC5wbmc6CisgICAgICAgICogc3ZnL2NhcnRvLm5ldC90YWJncm91cC5zdmc6CisgICAgICAg
ICogc3ZnL2NhcnRvLm5ldC93aW5kb3cuc3ZnOgorICAgICAgICAqIHN2Zy9jc3Mvc2hhZG93LWNo
YW5nZXMuc3ZnOgorICAgICAgICAqIHN2Zy9jdXN0b20vbG9hZGV2ZW50cy1leHRlcm5hbHJlc291
cmNlc3JlcXVpcmVkLnN2ZzoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXNlZ21l
bnQtbW9kaWZpY2F0aW9uLnN2ZzoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXht
bC1kb20tc3luY2hyb25pemF0aW9uMi54aHRtbDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR1JlY3RF
bGVtZW50L3JlY3QtbW9kaWZ5LXJ4LnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9hbmltYXRl
LWZpbGwuc3ZnOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlSW1hZ2UtcmVmZXJlbmNlLWludmFs
aWRhdGlvbi5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmVJbWFnZS10YXJnZXQtYWRkLXRv
LWRvY3VtZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1jaGFu
Z2VzLWlkLnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1pZC1jaGFu
Z2Uuc3ZnOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LXJlYXBwZW5kLXRv
LWRvY3VtZW50LnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1yZW1v
dmUtZnJvbS1kb2N1bWVudC5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyLXJlZnJl
c2guc3ZnOgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZpbHRlci13aWR0aC11cGRhdGUuc3ZnOgor
ICAgICAgICAqIHN2Zy9maWx0ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0LnN2ZzoKKyAg
ICAgICAgKiBzdmcvaGl4aWUvcGVyZi8wMDEueG1sOgorICAgICAgICAqIHN2Zy9oaXhpZS9wZXJm
LzAwMi54bWw6CisgICAgICAgICogc3ZnL2hpeGllL3BlcmYvMDAzLnhtbDoKKyAgICAgICAgKiBz
dmcvaGl4aWUvcGVyZi8wMDQueG1sOgorICAgICAgICAqIHN2Zy9oaXhpZS9wZXJmLzAwNS54bWw6
CisgICAgICAgICogc3ZnL2hpeGllL3BlcmYvMDA2LnhtbDoKKyAgICAgICAgKiBzdmcvaGl4aWUv
cGVyZi8wMDcueG1sOgorICAgICAgICAqIHN2Zy9yZXBhaW50L2NvbnRhaW5lci1yZXBhaW50LnN2
ZzoKKyAgICAgICAgKiBzdmcvcmVwYWludC9maWx0ZXItY2hpbGQtcmVwYWludC5zdmc6CisgICAg
ICAgICogc3ZnL3JlcGFpbnQvaW1hZ2UtaHJlZi1jaGFuZ2Uuc3ZnOgorICAgICAgICAqIHN2Zy9y
ZXBhaW50L2ltYWdlLXdpdGgtY2xpcC1wYXRoLnN2ZzoKKyAgICAgICAgKiBzdmcvdGV4dC90ZXh0
LXRleHQtMDUtdC5zdmc6CisgICAgICAgICogc3ZnL3pvb20vcGFnZS9hYnNvbHV0ZS1zaXplZC1k
b2N1bWVudC1uby1zY3JvbGxiYXJzLnN2ZzoKKyAgICAgICAgKiBzdmcvem9vbS9wYWdlL2Fic29s
dXRlLXNpemVkLWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnOgorICAgICAgICAqIHN2Zy96b29tL3Bh
Z2UvcmVsYXRpdmUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xsYmFycy5zdmc6CisgICAgICAgICogc3Zn
L3pvb20vcGFnZS96b29tLWNvb3Jkcy12aWV3YXR0ci0wMS1iLnN2ZzoKKyAgICAgICAgKiBzdmcv
em9vbS9wYWdlL3pvb20tZm9yZWlnbk9iamVjdC5zdmc6CisgICAgICAgICogc3ZnL3pvb20vcGFn
ZS96b29tLW1hc2std2l0aC1wZXJjZW50YWdlcy5zdmc6CisgICAgICAgICogc3ZnL3pvb20vcmVz
b3VyY2VzL3Rlc3RQYWdlWm9vbS5qczoKKyAgICAgICAgKHJlcGFpbnRUZXN0KToKKyAgICAgICAg
KiBzdmcvem9vbS90ZXh0L2Fic29sdXRlLXNpemVkLWRvY3VtZW50LW5vLXNjcm9sbGJhcnMuc3Zn
OgorICAgICAgICAqIHN2Zy96b29tL3RleHQvYWJzb2x1dGUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xs
YmFycy5zdmc6CisgICAgICAgICogc3ZnL3pvb20vdGV4dC9yZWxhdGl2ZS1zaXplZC1kb2N1bWVu
dC1zY3JvbGxiYXJzLnN2ZzoKKyAgICAgICAgKiBzdmcvem9vbS90ZXh0L3pvb20tY29vcmRzLXZp
ZXdhdHRyLTAxLWIuc3ZnOgorICAgICAgICAqIHN2Zy96b29tL3RleHQvem9vbS1mb3JlaWduT2Jq
ZWN0LnN2ZzoKKworMjAxMi0wMi0wOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5A
cmltLmNvbT4KKwogICAgICAgICBOb3QgcmV2aWV3ZWQuIEFkZCBtaXNzaW5nIHJlc3VsdHMgZm9y
IGEgbmV3IFNWRyB0ZXN0LgogCiAgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdXNl
LWRpc2FwcGVhcnMtYWZ0ZXItc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnBuZzogQWRkZWQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMKaW5kZXggM2U4ZWFi
MTc3N2NlNzliMWQyYzQ4Njk4YTZkMWJmNjYzN2VmOGNiOC4uYzkyYzc1MDQwMzlhMTRiMGFlZTNj
NWVkNjYzNjgyNDEyZDRjOGIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L3Jlc291cmNlcy9yZXBhaW50LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZXNv
dXJjZXMvcmVwYWludC5qcwpAQCAtMyw4ICszLDggQEAgZnVuY3Rpb24gcnVuUmVwYWludFRlc3Qo
KQogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgaWYgKGRv
Y3VtZW50LmJvZHkpCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKLSAgICAg
ICAgZWxzZSBpZiAoZG9jdW1lbnQucm9vdEVsZW1lbnQpCi0gICAgICAgICAgICBkb2N1bWVudC5y
b290RWxlbWVudC5vZmZzZXRUb3A7CisgICAgICAgIGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudCkKKyAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRUb3A7
CiAKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOwogICAgICAgICByZXBh
aW50VGVzdCgpOwpAQCAtMTIsMTQgKzEyLDMgQEAgZnVuY3Rpb24gcnVuUmVwYWludFRlc3QoKQog
ICAgICAgICBzZXRUaW1lb3V0KHJlcGFpbnRUZXN0LCAxMDApOwogICAgIH0KIH0KLQotZnVuY3Rp
b24gcnVuU1ZHUmVwYWludFRlc3QoKQotewotICAgIC8vIFRoZSBTVkcgb25sb2FkIGV2ZW50IGlz
IGZpcmVkIGVhcmxpZXIgdGhhbiB0aGUgSFRNTCBsb2FkIGV2ZW50LiBUbyBtYWtlIGRpc3BsYXko
KSByZWxpYWJsZSwKLSAgICAvLyBjYWxsIGl0IGZyb20gYSB0aW1lciwgdG8gc2ltdWxhdGUgdGhl
IHNhbWUgZmlyZSB0aW1lIGFzIHRoZSBIVE1MIGxvYWQgZXZlbnQsIHVudGlsIGl0J3MgZml4ZWQu
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHNldFRpbWVvdXQocnVuUmVw
YWludFRlc3QsIDApOwotICAgIH0gZWxzZQotICAgICAgICBydW5SZXBhaW50VGVzdCgpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IGNkZDU0MzQ3NGY2MTQzYTk2OTJjNTJiZTE3MmU1NDE2OGE1YWIwNmEuLjY2MmJk
ZGU0ZmRmYzI2NTU3NzU2ZWQwZGJjZjlhOGFlMzQyMDRkZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTQwNDIsNSAr
NDA0MiwxMiBAQCBCVUdXSzc3NzM2IDogc3ZnL3pvb20vdGV4dC96b29tLWhpeGllLW1peGVkLTAw
OC54bWwgPSBJTUFHRStURVhUCiBCVUdXSzc3NzM2IE1BQyBXSU4gOiBzdmcvem9vbS90ZXh0L3pv
b20taGl4aWUtbWl4ZWQtMDA5LnhtbCA9IElNQUdFCiBCVUdXSzc3NzM2IDogc3ZnL3pvb20vdGV4
dC96b29tLWhpeGllLXJlbmRlcmluZy1tb2RlbC0wMDQueGh0bWwgPSBJTUFHRStURVhUCiAKKy8v
IFNWR0xvYWQgZXZlbnQgdGltaW5nIGNoYW5nZXMgcmVxdWlyZSBzb21lIHJlYmFzZWxpbmVzLgor
QlVHV0s3ODA4NCA6IHN2Zy9jdXN0b20vU1ZHUG9pbnQtbWF0cml4VHJhbnNmb3JtLnN2ZyA9IElN
QUdFK1RFWFQKK0JVR1dLNzgwODQgOiBzdmcvY3VzdG9tL2dldFRyYW5zZm9ybVRvRWxlbWVudC5z
dmcgPSBJTUFHRStURVhUCitCVUdXSzc4MDg0IDogc3ZnL2N1c3RvbS9wb2x5bGluZS1zZXRhdHRy
aWJ1dGUtcG9pbnRzLW51bGwuc3ZnID0gSU1BR0UrVEVYVAorQlVHV0s3ODA4NCA6IHN2Zy9jdXN0
b20vdGV4dC1jdG0uc3ZnID0gSU1BR0UrVEVYVAorQlVHV0s3ODA4NCA6IHN2Zy9jdXN0b20vdGV4
dC1oaXQtdGVzdC5zdmcgPSBJTUFHRStURVhUCisKIEJVR1dLNzgwMzggREVCVUcgOiBjb21wb3Np
dGluZy9pZnJhbWVzL2ludmlzaWJsZS1uZXN0ZWQtaWZyYW1lLXNob3cuaHRtbCA9IFBBU1MgQ1JB
U0gKIEJVR1dLNzgwMzggREVCVUcgOiBjb21wb3NpdGluZy9pZnJhbWVzL2xheW91dC1vbi1jb21w
b3NpdGluZy1jaGFuZ2UuaHRtbCA9IFBBU1MgQ1JBU0gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL1NWR1BvaW50LW1hdHJpeFRyYW5zZm9ybS1leHBlY3Rl
ZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9TVkdQb2ludC1tYXRy
aXhUcmFuc2Zvcm0tZXhwZWN0ZWQucG5nCmluZGV4IDVkN2E3YzdhNDcxNGEzY2FiZjM1N2Q4YzJl
YmNkZGRmODUzNzk2NWQuLjFhZmM1ZjcwNzQxMzAwMTcyZmI0OGNlYzBjYmY4ZmJkMTNmZDBlYzYg
MTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTEKU2NtWD87ZG50V0YjTzVJOERxe2Q2cTZI
OEQKCmRlbHRhIDc3OAp6Y21WK2wxTkhwVVhVdUpvU2JxWlVYK3VMJE5rYzsqUDt6ZihYPjRUeDBD
KWp+UkxeU0BLQHxRclptR35CMndIMG4KenZVcmRwTm07OUNNYnRMXjVuXmkkK2FJPD9rWXFEUyle
MFpJP2syVVJofihuWUQmOXJ5cCRHcWY5KHdSKEZHX2A0CnpNSlYyQEN9Tj0oRSVEODZPdHopIXp8
TWEyLVokQGtaKzcxUjRSWD5uXj8oSEE0UyZae3E3aTlxZF9ycGNoeWFlRgp6MnwrWF5Sb209TkJu
Q2wpYk5QR2MqbUA2dlRVTnQrYCoqVDt0KHd4ZG5nQGphSztURTMqKCRLXzdqWCglNSgwPWsKei09
UWhUYk9fKCQqeilYO0laazxhIUw8KTdKO1lmZWRfWGxWJlZObX5RX1VzUUshWnApbD1YMl5LQWhL
IWwtQ154CnpYPk1sNSRQbTN4a2JrRFQlPGlqVnBgMT9rNHZAV19ebk9tVy1hZikxIVY0TCNLU3NF
WHA3bzU/S2pMQkdxfl5xaQp6SnNjUHteIVEqRXc7SE1WSE5xNU01S1NrZFJCX29aNGVeKyt7Wntm
eWZeZCpIJTRBYEhiNlFBRypHejhzeGB6ZFEKekNmNV9NOyYpYjI7ZHplfVhXckRePz91YEl1UF9j
QjM+cGxZNE08UUJNU2xjZ242T1lsaENDV0VHX3JDKEJkWjEqCnpsWTI2Q0J4PHtLVm5uZSlkcDZ1
WHdeNXxzSnBMI21hZzstfjIkSzlre3dsQUBQdnY+fSVVclA3UmAtO3hvMF9gdgp6OzUpX1RuWWtK
cypWRC0zYjRefSttREZ+VlM0V250ZDN3Qj4+PjVBcFNDPXY3ZjtFckNiRmxtSUVuaygpbW5uPUMK
eiNwNn07PlZIZHdieV9odS09QSFNSjNabnEmbn5zcmJGR1BzSCYmYU1YWj5uT2B8aGZ8bGpjP1ZQ
aFIhJHtBYk8/CnpXOHhfPkNVJVBGQSZIbThGN2NBc09SRWR3VX5SXztvdDFfdShydUNZQi1MUEdu
IU5RZFR8WmxSeSsoZndeLStgPQp6JStnZWVfa1k0RldIZzwqNHNaSTgrc0ZKRDxvQWxfcEN8JF5Z
PTdYJG5Zd0xMYXFrZUpXdTxPJnReeWFvKFM3aT8KelpmbTF7SVEjQHlKZ1hNMVFaPTYteWE2MGBo
azczOURWV29pbWQhYSpoYio2eXk2TVZkUXBgfT5Mc0MtTENEJnozCno3UEZhRVYoRTYrbmJSRl45
SEJXdl9yI300V3N+fV5AZSMyN3V1fVE/dFd3IzJQOCF5TW0tPXRPeSF9UE1jI0RZdQpJMEledGxH
c0BiOW4qYWErCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vU1ZHUG9pbnQtbWF0cml4VHJhbnNmb3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL1NWR1BvaW50LW1hdHJpeFRyYW5zZm9ybS1leHBlY3RlZC50
eHQKaW5kZXggZDRmNGJjYjk2MjM2ZTZjYTk3NGYwZmU2ZWU4ZjRmNmFjYWU2NDY0Yy4uMGU2NTli
YzY1Yzc5OWE4M2MyYzJhYTVjOTQ3OTg0ZTY4YjA4NzAwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vU1ZHUG9pbnQtbWF0cml4VHJhbnNmb3JtLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9TVkdQb2lu
dC1tYXRyaXhUcmFuc2Zvcm0tZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoNDAs
MTApIHNpemUgODZ4MzgKLSAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsNSkgc2l6ZSA0
M3gxOSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA0M3gxOQorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MCwxMikg
c2l6ZSA4NngzNgorICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCw2KSBzaXplIDQzeDE4
IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDQzeDE4CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAs
MjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGggNDMuMDA6ICJQYXNzZWQiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9nZXRUcmFuc2Zv
cm1Ub0VsZW1lbnQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vZ2V0VHJhbnNmb3JtVG9FbGVtZW50LWV4cGVjdGVkLnBuZwppbmRleCBkNmFjNWIxZTBm
ZmZkODFjOWEwYmFiODYyMDM0NDI0OTY1NGRiYTY3Li44NjM1Y2U1N2MwZjMzMDU3ZmRkODViNjM4
ZmVlYTYzYzQwMDMwYjAxIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTE2NTUKemNt
ZUhOWDtAUWQ3UU8rPlZud2smb2RFP0IkQnZGODhsO2dlNVd1M3MpSXZMNUw9WGNGNWlQUSRzNmJo
Z1VAYWdHCnpQXipjXjVAJXtsPWRtVSNXemxHbzVnJXdMMUpPWn1TZThnYXolaiU/N1A2M0t6NW8q
WFp+bn1tZEc0Pnxlcz8rTgp6cDZ7SVp5eCk3am5zPH0tZCN+RUMzVzZaLSNEd0BpTHkjKjlmP1FI
Ty1OREdeKTBHOV9YV1BsV0RKS2NYaD1pUU4KelFASWNaTHg+O3szRV40YzVtX09qeVRYV0Jneigp
Vm5Rdm1rRn11UkRMV296TS1EWDEmM1FDTlJgPUEpMThoIWdHCnp3c3k+WU0qMy1Xdm9QZXtlVX1v
eExoUVpwaHJObUo9Y3Y+SjdaVGlrcl9WUm5UPENkQmlRaDc/PVZSMmlIX281bQp6Xkg9e3Urelc5
elcya2VrVnI9WSR2V3Z3c1hkaFFkSjZiIXNkRXpOXkdScjJeTl8wWUwlb2w1MismcTB5dUBuZGEK
ent2N2E7PGxUUVdzJmU2QVk0alFlQXY/UXQtWjh8LUFZOExIYmE8P0xkNk4kK2dIcjZoezB0dmRA
SD4ye2FpMXp+CnojZTtvT01fZ0FOOSN8aDdgYHZxYEpgUzVwSEBhN2dTNlVyKFRpdE57YWJXelNV
eWZebDhAcGpRVVBjVSMyQW1zPAp6MV44YzczZXxxbGIpdXpjdGtHUyR2TTRQYXo3IVc1U2d3MFNs
NE1yVi1mMFNAWEB4UTU9RTh2cGRBR2M3QkxpUHkKekdITHs5eVMzN2JYP2w4UVpTVExebjdEeGA/
TFdQZXdWdXc+YnFqck0wWlQmN0p2XzdOOHRjdntoWVMwNiVjcSMrCnpLPHhDNTlePUg8JC1PdUcw
PG1pJUNLX2deK2w5NnZ2V2whMWorUldkJFhUMmg4YHdPWG5YRmdPdTNoaGhsb3wwVwp6d3o7Qk1g
dW5GeFBsO3BGUGQ9cjMpRDAkS2JFNkMraDRPMWA/a3w+WG88JD49I01fblZpZ3tIUip7WWh2PWol
LVUKejxqZ2JwcHA3fFQyc3hiRl5gUl9wPF4kI3lDdklmQ08lM1JASlA/XyFSbWg2KXhuRllGel9a
ZEgpWVQocCtKNTtaCnpMWTwjc3RXK0k3S2klRjMtMFEtYj1aNW88Xko8PkdTWFEmT21wbElnbnxF
NzV4OWhjTlZCUzI/eUJ9R09TcmVeJAp6TksjeHBTVng9KkxXKy0rcz82VkoyJXdWNSMleigkNnRq
JFFaa3tLdylhI000Ym9BZC14cHZ1ajYqNGR4WFBXNHEKellBcUdULVQxT1RwS0NmQTVHYXN6S2Rw
Uktnd1Z8UEE/ck4/aSE8JlRXd2xCfW9uO3A7KU5CY2YlKTJ8PU9PbG93Cnp1QiF7MCVRUWRCTVFR
bH47YEV8WEZrI3I8UXVWenFUO1hgUndtKzs3Z3JCUnI4cnxxYlJxRCtUSiRAb0cobVQxZQp6cjJB
ZjV6WkJ4O1BmWHR1P0EmaHBtVEBHS2omM3ZDPUdBQE0qPl4rNiRfPUE+MTRxPzRUJihJNF94XyU3
SUUyTUQKektQUWMhe1ZqYDN7emVHd2tJRiMrZVp4aXlkZHZvVDVwRTFqZj9oMShBTypmQXghZnFQ
TjlOenRpO3o2TS1PSmUtCnpCPD9QMHJ6aigqaGpXIS1mNX5zbURHfCVmTjthUDd1bClYLXgoeHpH
IVZZYGQ3cmskLWptOFdfOCVGZGs0SWFwewp6MF8mdW5oVH5hTU1pb3VOPn43aCluQ09yRnVtYTl6
YUJnTiZoPnAzS1ZgOHBzVngyQWdQIW5zcTdSQGNUOUBXK0UKenltTV4mX0VjLXJBaThKIz5lb3JC
eXUrV0U5XkdxZXtwYDglMXhHQ15PMTJHNykjSj8xVy1WR196SE4kdTR+bHRpCno9dEdrSUs/WF5T
ITMqMVQqJWZhJitZckM9YjslIUhDK2g4RWVQVFM+aVg0b2RsTXN7KXswPyQ9KzBSM28qfT4hKAp6
bmooTShvPjFtcnooKip0RDJ8I3RadjwlK1gwaUJYSH0zK0x8RUF3NFdYeChud0FzPm0oISkzcFRL
aG1gJklzOVYKelpET2B0b19zM1FCLVFAdm0xejdxeVV7OUZtKzNhd019XlNRX2ZvbXpyR0NFeUdo
bWN0R3N8dGRZREtgZ3JvMjFICnp0K3g5MCR4KTt6dDhQI31iUHlrfktkQHZYYXRqXig9cmNKak9r
fT9Aek9BaH1nd0RMdVZYMGMoV3dCYDl6ZVB0WAp6SUFzeEhqbnRJRjlXT1c4Jk1WcS0xNHN8bkRX
T0IkTEBQKilSNEtfTXQzYHtAK1NGRzBuSEFZJmEhRklmIzJkKnEKekhfTm9mMGomRDJaQWo1WlJE
bmQ0Z1VGPGxGQXVkYkQ8YkRXSWYyQiRPUCo9VFFRME1vRUteWlg0PyQzYFghKGk9Cno/Tkh5Q3sm
NnJWJjMwM3xxVnxLfCVWX2Qkc1BUKEZ4NUFuYV58fmUrd2RxTjdvTzNRPkZIc1AkZU48aWVsMCYk
OAp6VnFXentee2Y3fFp9fVMzMFkyb2x7WHZBWTNOT0YxeD8lRChhcX1gSl8teDZiZUV6ITMtdzl+
X0Y3NjQxb0xmJFkKejt8Y2k2e1oqdGpGU3s+OUomSkk+ZE9RN3opQUh3RHpOcE56O1pANW4kRkBA
dHt+QlNQYTlYfChJTChiYyZDWD1ICnphKT1LZCZwUjBFdzQ0Ym5yKShQN3dDdm8mcGJRRzhZeF9w
MDx6UiZDOCRiOT1JamljfVotUWVsNF9+QT9FeUd+fQp6TDVJVHZsODZkdDNuKT56aCNZdGJWKys3
Yzc7K3RMMGA1ZCRyMiNpKzJkUkwwaT0kMSNiUGd+a25CX1ghQnV4R1IKelZ9alIyank0R3w2Iy0q
e1NJfnwmMkA0QWojc211c3UmfVR3ZEJNVTAkT0txZVNrTmg5VmN+eHpFTGk/QFhkVCNDCno7TypF
ODBLPjA/bEVKI31nNzZRK0ZBVHFualRxSy05aG1eQHgoaT1DVk88eTJiKGNPSiFANGY0Pm5gbnJm
T1REMQppKkluZSF7fENDUjVoPl89dT1WJihTdDhoMzRKR2JQaWY4U35zUWVINzY0bzA0CgpsaXRl
cmFsIDEyNDE3CnpjbWVIT1g8VSs3N1k4eFgjSTRPLVFZemJLJXpZeWFOSG5lNyUxVFdJNGI5OTkl
Pykhd1RjJVpVOCFhdHUjLWAwJgp6bntxK1h2QmIoTC0lYDt1Qn1GdTI1U0xJOWYlaj5xKVF8Nm5f
Y3ghT1BqRH1ISXNFVEE9WVFePmhzKkEranc7S3cKem1xUT5CbHw0QE8yT3RtXzUoMUkpUWQ5dFhA
P3lAMDEyNWE2OUs1MVAkQWRfcms8bnEwQWR8cU9DWj5WTU9pV1FFCno2Qk8hTGZTSDkhcHBfe0tX
Z2NXfFdvMnBaKj0rNnp0ZkNpISRHaCpyPEJ7JkMkO1UhWTIwPFZjPSFKdnEoMDJEIwp6KHc/QU88
cFdvRDFaeVpeaiVTPC1eb1lYV2Q+Wk9tYH0pWGR0RSUtKmBGRiM3Xk95JHdxO21OQ3RLPVFjdUBp
OE4KejIjJER2anZTdzwhZHcrRmB7PmRKPWpqY1AzLVQ+b3dzXnA1WDZTNnU3OzRNTjVhRzVjO3o7
YHtXM15SPkpsdlhfCno9QVJGKFZveVF8eTcoWEdrR292YFkwY2l2anlTZFUkfmVLfURPRWtAJCoz
X2h5STR4PCU9O09rRnxMYmJXTHJNcAp6RnlNVlYjSjN9QTx3dz9LITdXcUVycXxBcVVpYWpjXm4t
MjRxP0NiY3NUKl5TU3k8eG9sJHprcGMwMll9PDd9Pm4KemU0SkEwZXZgNmxYdl5qWW5NUE1faXlh
T2FhfDBiSjUhMilQaz5ANmY8QGQ4a15HaW41UV5XR0tUO0M+Sz5ETmFrCnpoRj0/b2JwQy1RdUMz
b3llSms5e2ljQDVuV2NTKmpSQVkxZiRYSGEhYiQoREB1Sl5WVG57KkI4anZnI0VLTiZLdAp6NDc7
MisrfEt7dm8+XlhLKE9fWmpKO21YPnwxOGZsWjVCQE4reD99c3pOPEdRMyhtMmArfXA7WTstdkw2
IXFab3sKemFoYz0xLX1PPkV6eFpWQ0lOYU1pXiFvMGBYVX04elZfe0JxWFZZezh3fD5tOUxqPmZK
bzxFIypVWmJeUEAxMXVjCnpRM3ZCSFpDTDI3U3ZoPU5ONkpnMFlCZ2J2KDVKRmBgbEdtQFomTyFW
LVJjWD9SWWwkVmBBPD90WWIjZ2c9fUBCcwp6ZWsoZFBVfHF3Xyo5anxEUkBeVlchbVYmMzFpZi1R
eVQyPmlZQj0yXmNScElWJWBBSXRRX0tvNE1EMyQtIXQ0KHgKem0lQ2xpWXwzcnVjPTR2Y001OHIx
IVZwdGo7UElPSSpRUiZRP3w2YUw0T2ZKQSUoYkYpUX5aJXozPEg7JlM1VDhaCno/I2YjZlYkYnIx
MllycFo7MDUkUXtSWlowNmliWHdaJWt7XzZnbmlWQTdfe3xGdktlSXJHUl9BalBeaVlrPzlkMAp6
eSo7RCQqTlFYUXdCOVkjSkpUTW4pVCpwdFIzc2Yle1BGaStOaGtJYGomZyYqSGlmejdQQSR0NFhx
O0QweEt6NlIKekdPaFRpWFMmO3UlZ0h3b2dqfmQpR048PU88IUJsb19TQSNySHlsRVlMezBxPUtC
XjttI3h0QCRxKElQV2Q+ZChgCnpkRH1kQ05VMSE1Vjh+bkR0OFpJU203SWFAQzYoKzkzI2gke0li
N1R1VyNwcD1ySz1UcDdQZFg/Pj5DLVBEcFFLKQp6NiZgRnsmVDlJRlhhPDJHQSQjbjE5aSV8e2VT
Mk9BcnU1K0IwQEZMclQ0d2dJPzdIYF5GfDxFI20+c3lAPmhQO0sKej5DNHRzLTliM3FgNGdTRk9+
PWdlbDlUc2tkbmNfLTZuPVBnUFYpSXZjdzBAXnBlPWkqV1FPUGM+QjkpM1ZQLUBxCnpINkVrTzt0
QyMqJlJ7Vj1zbWFNSnN2fmo5NUdlNCpTLW1AOyQ9dnFyLTtIbSojbVVnWTMqU0VmK1NPPFFnI35J
cQp6Zm9wdTlxPmw3WXJsPjVlcF5ofGhYQHVPXiZFS19UO2s4SHRZKVI5M3Izdm90eyZAQVRkdyFk
IWFIKHRRdUk9KU8Kel5wRmxjYCt3fkVJdERQcTU7V3NHVmp2b3paflBPMHwzanB0SmNMZWliQlNw
KnRkeWMleC1AZGZKeVpBP29MPkIyCno2JW8laDlJdl9MVGN1OTVWV35HRy09SHx2b0hVKFd6bkol
NDNiQFo0c2FUKjcqOX51XmpNYT1CKDZHJjJoKmV5RAp6PDZYOUZ3ITQ0MUNuMWhvSkA+aHxyNDF7
eWpwKyV3Qy1sMldxVjBeKUpAZUBvJmdpfHV7KGhSY2gxemUxSjROUnwKempUcFdXRWFrOHtua3lG
NU5WIUQqc1Roc2lfal9NVkZXKj14U0hfe3Zqb3phTDdzTVMpNU8jVn1yNjBgUHBINUhvCnpre2lQ
Sz9JZlE8X0dqYiUhS3syTEl9SlQlNlZufWxja0xleE5wZjBEOEk0Y25WfHJMX0NrMVdQQGp1fEN2
aWZRNQp6Yyk8UUBAZmZ8IWJPSkNiT19NK2dfeio5cz1lMkVic31sfDl3PEwtQSkmLVFvJU19OEtJ
OEVuTmJ3RnhtTm42OTAKemNsJnNCWlQrTyMwaHtecFhEekVlZUppQWdpbi1TSExZNURRc1lCTHYp
UWNPVSU9RT4hUkkhdWpRZzExSyhGb2piCnplPzB1ZnEtdSo7KDB+UG9XbFJpWnhkOWVlbE0+LVdQ
MEdmOyphbiRZT2szJHs2SlNXUkpgTEVITSNJYjx3O2dZVQp6YVlRNDkjRDx1X3NvOEdVTmJjSlJp
TGk/WCppSlNTb1Z1QVhgSTdnc2ROP25YSW00ITZVM1pNJG5IYW9rb09WdFAKekwjZE5ZX3d1ZkxH
cHc1Ny1fciRmVHZ7bkE+eVd2R0dveTF4JSF3OSNFSmlqelJsekh6bXdGbCVgRF5LeUczR3djCnpU
Xk1hZXVXb0dfcVlFJkVCb1F+X3QlR0syYWNTKWQtfCM8eyQlSXFEbWxNd3BULTBZcWNsbExHWXFA
MS0+TC17dwp6SmVyX3BxKElvXyEpJSQxPW5sQTszUkFOVW1zSDQ+RmhhVVVfa1c8TCtnKz9uaTA3
cDw/SyFkUWpjU0g2QlVzK1MKenNkIWFYO1FTbn5qQSFodkBaeTtvKjdnbHJQJCNeVmVvXm50YVlK
R3ExMyhgKjdoVzM/dSFsOzBQVH5JUyQtPjZCCno3SjMhJSl9P1FFbjdfV0BpSCpKfnFyP21lRiNs
UytEPn1AT3kpOUhVVUZWWnpEOUY0Q29HOWw+N3J9PSoqNVRvewp6ai01RXVII2hjQGdgc3xWPnFy
WU9PcEl5ODkhKyVRWDFRVSEqJU15PEF0RTRKcT8xJDlyVEMjelJKNCUhdlUoYnMKekFzV1VTYDdq
dEhrd345OUEwZ3Ardj1WT3NvPzZIdlJARF92JXlNWEQpU2FRQ0JrNFAqeUdmRiFpTGdaSkhTOyVY
CnotRjZCKTx9UXIxUXNNO2xHdEJLKEExYWVII1A1Uig+IXRsJXppY2leSDBERjNOYHlwKWFAWDkt
cjVAQzFrK00hRQp6WS15UUo9cWFMTWNIfWdpNWpKWlFBS14oTilxfj17OT04P0pZKEN2UyN7YGJ2
V35gUTFEKHVwWT8lMi0oYVBYQikKekc7dz1wakFaQDtsWVpxbldvcThpVUMlc1JROSp8NlU3P3xj
TTgtWkE7Rmthez11PzB2M3pkNn44TUF7el5vaX05CnpBVz5jeG0qPHtDbVdoRzBEUHQ+emlofHdK
UHtZQFNeYXpSOEU0QTtlNGJiPVg0ZHZAKT5JMVU5akJDa1VLTl5yUQp6ZitXQVMjPHVwdmpvailn
VGp0SGs/KnRJR24obUptMis9Ozw4fmpEdTg2fUJIUTt8OTNHV3h0JFluNGJNWmtmRXYKelJxbzZz
JWprOHlPM0A5ZkVMdio0I0MzSXkpd1BnMSlTTjkjVHh3amx3Un1BaEhZdWFyY1V+d1c8UTBkT0E8
YDR6CnpEOzVYZCpEJTRJY28/JkZWWSFzTFdONC1VQyUwSTdTanM2bHhwYjstVEJ0NzRIQkU0bj56
byRheFpBck1BckJ0KAp6e0lhO3dCcnR+b1EoREJLTHZiekFAKD88RSE1d2pnTSMjJXBCeUAzT1o3
QSV7LTRob1ZHdXtqM3dNZGJ3IUQwcTwKei17X3kqYWdndTZYaj5jPFgyNEY3VSk9YkZKUiZ7cztr
dnlHMj9sQkdwRkQoNFV1WS1lUWo/KHZKZjdmezdDLTwmCnowWUwkcjByVjYoY2Akc1NhJHJ0RGZ7
OWo5OWJfTCEzUHtQeFY0V2hiMm9gVTBAP2I+Xm1pZlNTMkU2K348LWlMZQp6MWlVM0hzKU4hMnNI
WHRoNDUrN28oIXAwJTUwbmwtPT5SQkB7I0VIPCprRSVpMWNLPU1gWVpxX1Z1USopc08qQ3gKekhw
b09AZjluRTg/MD1WdUs9dUxJMlZAX1JlTChnQisyYC1hUX5wbylwdkRHaFA1LU8mQl5iWHI7NkRZ
QkpyMXQrCkpyRlE7ant8az84Q254e18KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9nZXRUcmFuc2Zvcm1Ub0VsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ2V0VHJhbnNmb3JtVG9FbGVtZW50LWV4
cGVjdGVkLnR4dAppbmRleCA3NDgyOGEyYmUxNjMxYjIxMzQ2N2MyMzgxYjE1NWZmZjRjY2NmZDQz
Li5jNmUwYWIxOGEzNzliZDBlYzllZDM3M2M4ZTkwYjE3MDhmZDJkZjAyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9nZXRUcmFuc2Zvcm1Ub0VsZW1lbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dl
dFRyYW5zZm9ybVRvRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTMsOSArMyw5IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRl
clNWR1Jvb3Qge3N2Z30gYXQgKDIwLDU2KSBzaXplIDEwMXgxNTcKICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgwLjAwLDAuMDApKDAu
MDAsMC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQotICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDIwLDU2KSBzaXplIDQyeDE4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDE1LjAwLDE1LjAwKX1dCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMTIz
KSBzaXplIDg0eDM0IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODR4MzQKLSAgICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDUwLjAwLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNiB3aWR0aCA4
NC4wMDogIlBhc3NlZCIKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMCw1Nikgc2l6
ZSA0MXgxOCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNS4wMCwx
NS4wMCl9XQorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDEyMikgc2l6ZSA4Mngz
NSBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDgyeDM1CisgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1
MC4wMCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGggODIuMDA6ICJQYXNz
ZWQiCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDksMTQxKSBzaXplIDcyeDcyIFt0
cmFuc2Zvcm09e209KCgwLjcxLDAuNzEpKC0wLjcxLDAuNzEpKSB0PSgwLjAwLDAuMDApfV0KICAg
ICAgIFJlbmRlclNWR1JlY3Qge3JlY3R9IGF0ICg0OSwxNDEpIHNpemUgNzJ4NzIgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDAuMDApfV0gW3g9NTAuMDBd
IFt5PTUwLjAwXSBbd2lkdGg9NzAuMDBdIFtoZWlnaHQ9MzAuMDBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wb2x5bGluZS1zZXRhdHRyaWJ1dGUtcG9p
bnRzLW51bGwtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vcG9seWxpbmUtc2V0YXR0cmlidXRlLXBvaW50cy1udWxsLWV4cGVjdGVkLnBuZwppbmRleCA3
Y2YyZDAwNjA5ZTNlMTcyN2VmZmQ0NzAxNzViN2VkN2E3MDU1YTYxLi5iNmRhMmYzYjNkNzBmNDQ5
MTNiOWYzY2JjZWFjYzlhZWQ0MThkZWFiIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEx
ClNjbVg+VGFWY20qI081SThVbTVALTlSKnRlCgpkZWx0YSA3NzgKemNtVitsMU5IcFVRcHtNOFNi
cVpVWCt1TCROa2M7KlA7emYoWD40VHgwQylqflJMXlNAS0B8UXJabUd+QjJ3SDBuCnp2VXJkcE5t
OzlDTWJ0TF41bl5pJCthSTw/a1lxRFMpXjBaST9rMlVSaH4obllEJjlyeXAkR3FmOSh3UihGR19g
NAp6TUpWMkBDfU49KEUlRDg2T3R6KSF6fE1hMi1aJEBrWis3MVI0Ulg+bl4/KEhBNFMmWntxN2k5
cWRfcnBjaHlhZUYKejJ8K1heUm9tPU5CbkNsKWJOUEdjKm1ANnZUVU50K2AqKlQ7dCh3eGRuZ0Bq
YUs7VEUzKigkS183algoJTUoMD1rCnotPVFoVGJPXygkKnopWDtJWms8YSFMPCk3SjtZZmVkX1hs
ViZWTm1+UV9Vc1FLIVpwKWw9WDJeS0FoSyFsLUNeeAp6WD5NbDUkUG0zeGtia0RUJTxpalZwYDE/
azR2QFdfXm5PbVctYWYpMSFWNEwjS1NzRVhwN281P0tqTEJHcX5ecWkKekpzY1B7XiFRKkV3O0hN
VkhOcTVNNUtTa2RSQl9vWjRlXisre1p7ZnlmXmQqSCU0QWBIYjZRQUcqR3o4c3hgemRRCnpDZjVf
TTsmKWIyO2R6ZX1YV3JEXj8/dWBJdVBfY0IzPnBsWTRNPFFCTVNsY2duNk9ZbGhDQ1dFR19yQyhC
ZFoxKgp6bFkyNkNCeDx7S1ZubmUpZHA2dVh3XjV8c0pwTCNtYWc7LX4yJEs5a3t3bEFAUHZ2Pn0l
VXJQN1JgLTt4bzBfYHYKejs1KV9UbllrSnMqVkQtM2I0Xn0rbURGflZTNFdudGQzd0I+Pj41QXBT
Qz12N2Y7RXJDYkZsbUlFbmsoKW1ubj1DCnojcDZ9Oz5WSGR3YnlfaHUtPUEhTUozWm5xJm5+c3Ji
RkdQc0gmJmFNWFo+bk9gfGhmfGxqYz9WUGhSISR7QWJPPwp6Vzh4Xz5DVSVQRkEmSG04RjdjQXNP
UkVkd1V+Ul87b3QxX3UocnVDWUItTFBHbiFOUWRUfFpsUnkrKGZ3Xi0rYD0KeiUrZ2VlX2tZNEZX
SGc8KjRzWkk4K3NGSkQ8b0FsX3BDfCReWT03WCRuWXdMTGFxa2VKV3U8TyZ0XnlhbyhTN2k/Cnpa
Zm0xe0lRI0B5SmdYTTFRWj02LXlhNjBgaGs3MzlEVldvaW1kIWEqaGIqNnl5Nk1WZFFwYH0+THND
LUxDRCZ6Mwp6N1BGYUVWKEU2K25iUkZeOUhCV3ZfciN9NFdzfn1eQGUjMjd1dX1RP3RXdyMyUDgh
eU1tLT10T3khfVBNYyNEWXUKSTBJXnY1Q2BeQmE8XlRXeQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BvbHlsaW5lLXNldGF0dHJpYnV0ZS1wb2ludHMt
bnVsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9w
b2x5bGluZS1zZXRhdHRyaWJ1dGUtcG9pbnRzLW51bGwtZXhwZWN0ZWQudHh0CmluZGV4IGIxNDc1
NTE2ZmNkZWY4NWEwNzFjNjhmYjQwMGExMWFlNDk3YTg3NzYuLmRlZmM2YzJmYzQwM2Y5NTRlMmQ4
YTgxMTQ5NTViNjI1NTViYTE1MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL3BvbHlsaW5lLXNldGF0dHJpYnV0ZS1wb2ludHMtbnVsbC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcG9seWxpbmUtc2V0
YXR0cmlidXRlLXBvaW50cy1udWxsLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IFByb2JsZW0gcGFyc2luZyBwb2ludHM9InVuZGVm
aW5lZCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogUHJvYmxlbSBwYXJzaW5nIHBv
aW50cz0idW5kZWZpbmVkIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtY3RtLWV4
cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtY3Rt
LWV4cGVjdGVkLnBuZwppbmRleCA0YmJhMjI0ODQ5OTQzNzAxYjQ3OTE2Njg2YzM0ODNlMGEyYTZh
MjA5Li4xZjUzYTIzZmQ1ZjFhZmMzMzUzZGMzN2FjZDM5YzdlOGRiYzQwYWM3IDEwMDY0NApHSVQg
YmluYXJ5IHBhdGNoCmRlbHRhIDExClNjbWFFbWB6KER6I081SThLNFNuU1NfTW8xCgpkZWx0YSA3
NzgKemNtVitsMU5IcG9YVyhzK1NicVpVWCt1TCROa2M7KlA7emYoWD40VHgwQylqflJMXlNAS0B8
UXJabUd+QjJ3SDBuCnp2VXJkcE5tOzlDTWJ0TF41bl5pJCthSTw/a1lxRFMpXjBaST9rMlVSaH4o
bllEJjlyeXAkR3FmOSh3UihGR19gNAp6TUpWMkBDfU49KEUlRDg2T3R6KSF6fE1hMi1aJEBrWis3
MVI0Ulg+bl4/KEhBNFMmWntxN2k5cWRfcnBjaHlhZUYKejJ8K1heUm9tPU5CbkNsKWJOUEdjKm1A
NnZUVU50K2AqKlQ7dCh3eGRuZ0BqYUs7VEUzKigkS183algoJTUoMD1rCnotPVFoVGJPXygkKnop
WDtJWms8YSFMPCk3SjtZZmVkX1hsViZWTm1+UV9Vc1FLIVpwKWw9WDJeS0FoSyFsLUNeeAp6WD5N
bDUkUG0zeGtia0RUJTxpalZwYDE/azR2QFdfXm5PbVctYWYpMSFWNEwjS1NzRVhwN281P0tqTEJH
cX5ecWkKekpzY1B7XiFRKkV3O0hNVkhOcTVNNUtTa2RSQl9vWjRlXisre1p7ZnlmXmQqSCU0QWBI
YjZRQUcqR3o4c3hgemRRCnpDZjVfTTsmKWIyO2R6ZX1YV3JEXj8/dWBJdVBfY0IzPnBsWTRNPFFC
TVNsY2duNk9ZbGhDQ1dFR19yQyhCZFoxKgp6bFkyNkNCeDx7S1ZubmUpZHA2dVh3XjV8c0pwTCNt
YWc7LX4yJEs5a3t3bEFAUHZ2Pn0lVXJQN1JgLTt4bzBfYHYKejs1KV9UbllrSnMqVkQtM2I0Xn0r
bURGflZTNFdudGQzd0I+Pj41QXBTQz12N2Y7RXJDYkZsbUlFbmsoKW1ubj1DCnojcDZ9Oz5WSGR3
YnlfaHUtPUEhTUozWm5xJm5+c3JiRkdQc0gmJmFNWFo+bk9gfGhmfGxqYz9WUGhSISR7QWJPPwp6
Vzh4Xz5DVSVQRkEmSG04RjdjQXNPUkVkd1V+Ul87b3QxX3UocnVDWUItTFBHbiFOUWRUfFpsUnkr
KGZ3Xi0rYD0KeiUrZ2VlX2tZNEZXSGc8KjRzWkk4K3NGSkQ8b0FsX3BDfCReWT03WCRuWXdMTGFx
a2VKV3U8TyZ0XnlhbyhTN2k/CnpaZm0xe0lRI0B5SmdYTTFRWj02LXlhNjBgaGs3MzlEVldvaW1k
IWEqaGIqNnl5Nk1WZFFwYH0+THNDLUxDRCZ6Mwp6N1BGYUVWKEU2K25iUkZeOUhCV3ZfciN9NFdz
fn1eQGUjMjd1dX1RP3RXdyMyUDgheU1tLT10T3khfVBNYyNEWXUKSTBJXnQoR2VtaVgqOGwoagoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtY3Rt
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQt
Y3RtLWV4cGVjdGVkLnR4dAppbmRleCA4MTg4Nzk5ZTVhMmE1N2FmMmRlZTM0N2YzZDIxYWEzNjdk
MWY0NTdkLi40YmQ5ZDRhZjZlZTdiYjVlMmEwZGFmMjlkMWE4OTFkMGZmYjMxYjEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LWN0bS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1jdG0t
ZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLSAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTAwLDcwKSBzaXplIDg2eDM4Ci0g
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAwLDcwKSBzaXplIDg2eDM4IFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCi0gICAgICBS
ZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMTAwLDcwKSBzaXplIDg2eDM4Ci0g
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg3MCw1NSkgc2l6ZSA0M3gxOSBjb250YWlu
cyAxIGNodW5rKHMpCi0gICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNDN4MTkKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTAwLDcyKSBzaXplIDg2
eDM2CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAwLDcyKSBzaXplIDg2eDM2IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCisg
ICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMTAwLDcyKSBzaXplIDg2
eDM2CisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg3MCw1Nikgc2l6ZSA0M3gxOCBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNDN4MTgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
NzAuMDAsNzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGggNDMuMDA6ICJQYXNz
ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0
LWhpdC10ZXN0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQucG5nCmluZGV4IDQwN2Q2ZWNiYzMzNWYzMTA1YjBi
NWRlYmQ3NjQyNWUwYzE0YzM5ODEuLjMwNDE3NGQ5ODY2MmYwNzEzNGQzZjU3MTQ0ODA2MDc3MTE2
ODA2YmUgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTMKVWNtYk9fZnBLO2g8QWpMS0xD
bDk7MDQ0SlVMO3dIKQoKZGVsdGEgNzgwCnpjbVYrbjFNfmN3aVVGMDcwZ3phSzBgNiU7THJfVVdM
bSpJY1opUnoxV2RIenAwZmtpMFlaRX5me3gpdUAmPnskMAp6WVl3dF9rUm5OMHQ3dHtrSHZKSnxZ
WWZ7VHduZE8rR2ZDRU5IdFgmdHdXV3lVOz9YTUpNZVUmbnw5fkVQQE1KR2EKemc8M0BALW01NUxw
JSpSaiYyQ0ojclJ1PVdlKUhacD98cEF9LXZBQUEobHFzZTFtcTJXJDVOc1pYPjVFI1lXIz0qCnpq
LW0tY0ckbUVyPmBvKkdMNCRNb2QqfDRDNH1uYCYhK1pPOHZVamJUKHpjb2hnI0FGXk4xRTl4dTxz
WGYzUnd+WQp6aCY8bitEYVVqTy17YVd3PzJrRTRkM2VGSzQ9WCp5U3Q1S3VINyhBNk99SkNkQ0RU
QklOSH49QmFaKX48Kk5jP2IKejlTM1B7WDIhQDZ5LSQjVHJufTdVdDc0Jj9QV0JGdnlgQSlhUFA1
KVYhWGQmNzhMZEE/eFEoOW1qTVlFbFZkMTNhCnojRCtaXzcmWXx4VT1fQy1zcldVKjZraVpjQyEk
bncqKTkkN242Q1grQD1BaG1rVH1YQFZTc2E1TktlO0hadXEpfgp6MSRgI2g2UitaVFIjRC0zan12
RiEpWk9ueis1KWRJNGpse3s0NE1ye1AhTDZiMVl3eDRQKFgkfThaazdvYXo3KWgKejF7OyVtR0li
PHN5TDRoaXV8YXpfKyYjQlpxfUBGSkM/YXVgTCR3SCF7NllSSXVnT3A0ZEhLcyt1LUkxamwmemJa
Cnp5N0omViNwUml+OFhuaXYkbTRUT1VWTjMqYzlUfn1tYUtWdHlxZkc5S2tRZVJHM0o2YmtIbUFa
YHwmTWJtQ1RuWgp6ajE8TT1SckJoOU9ONGI9RipvMHpZPTFqRjt4NWxGd2JwYTNpSGtRQG8wbigo
WURvTDtzPVNsdFJyeWF8XzNgez8KeiZCU0JrREtSRT9pc3ZEVG0mR3BlbEdzYkQzKnVtSCN8V0wz
aEFHbCprQF9VblV8XmNPXilGcE5UWD8tamUrPjBlCnpsb2B5QFJFaFYwIVlYN21vdypLZ2BqNllr
ezFAYytpc3pwdzB4eFdUO0stU31aQnVkWTVUUndJWmdae3o3cilWYwp6QFYwSmlxa2NJMjFYdygp
N09oZT5wQ0cmZTlDbjkjOV9UNVUpMFVSYUlafXIjcE9kPWolM0BOP1B9QFVOUXI5S2QKeldsSSpi
bk4/IXhjRyNLSTljfjw8SVlSZnVyJUdqJGBtZ2EzdT5HKTdgVDQ5Oyo/dndNKWA2RyRaQHwzJE1a
a0VBCktpMndreFNpP2tIUUg5UnsKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS90ZXh0LWhpdC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IGQ0
ODhjZGMxZGU4ODQ3ZjQ5MTMyMjIwMGQ0YjliMWEzYTZjOGNjZjYuLmEzNjU3NmE5ZDRjZTZkMzgx
M2JlZTA3YjI3M2M5MjQyMDUyMWM2NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaGl0LXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC05LDcgKzksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgxMCwxMTUpIHNpemUgNDR4MTkgY29udGFpbnMgMSBjaHVuayhzKQog
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NHgxOQog
ICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMTMwLjAwKSBzdGFydE9mZnNl
dCAwIGVuZE9mZnNldCA3IHdpZHRoIDQzLjUwOiAiU3RhdHVzOiIKLSAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICg5MCwxMTUpIHNpemUgNDN4MTkgY29udGFpbnMgMSBjaHVuayhzKQotICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0M3gxOQorICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDkwLDExNikgc2l6ZSA0M3gxOCBjb250YWlucyAx
IGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDQzeDE4CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg5MC4wMCwxMzAuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGggNDMuMDA6ICJQYXNzZWQiCiBjYXJldDog
cG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7dGV4dH0gb2YgY2hpbGQg
MyB7Z30gb2YgY2hpbGQgMSB7c3ZnfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlci1yZWZyZXNoLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXItcmVmcmVzaC1leHBl
Y3RlZC5wbmcKaW5kZXggNWRlZWQ1ZWVhYzI0M2RjZjc3YWY1NGVmOGNlNzdlOWNmYjIyNGU4Yy4u
NjJiZTRmNWRjZGUxYzRiM2NmNTJiNDVkN2ViZDBiNTdiYjlmZGFhYyAxMDA2NDQKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDExMDk3CnpjbWVITllmdXpkN1ZlJUlDa1V0YGg+WVQ2JXB3U2NGdFNG
I0JHNEtYTEZBI3A3eSVpPUx3Q3N7QCk4d2hkUTZOOwp6ZilISTZRNm5PZVFkRyFkeGd5VXRtPSU/
WDckZE98aDlGckcxMn5gPTcjXzJ5UnIrQEokNXomPXR4OGg7aXthTW8Kel5aNCVmb3BXeF8/RHpO
ZW9NSmZKNVd9ITNVYUxMVVZIalY2VlowM25MUmRNSHZPNkNCKmQocG9rUUJLa0l4O3BmCnpgN2M8
TWI0PGsyaHtmLUB7Qmh9ZkUpaD1BUVBRYGZxbjBkUTUpdDkoNSpndl8kal85YCM0cml3PCpfXzQ3
NEwwYgp6OXlpQnhyb2NiKEx9SjR4Pno8bFNYLU5LNipYZGNgRVJFVG1ZYUE4KV9ybkdDUEwmSWFE
LX41d3RjY1krY2UmMGgKelJnWSQySThSXzhrYE4/KDIkd3ZgY1N6a1VkLT9ENF4+I2ZeeEtBJmQq
YUItcWp5UypiPUlRRXZ0Vmo3Km0zK3BHCnp6I3VKOyMwUjQ5WnR8ZTV6RX4mbWpAcFVPXmtSKDxn
JCtDWSsyUXIpb31jZmJGcFprbzQ8RXY8PFlkfmNpe3tmYAp6TGBVeT1Ae3toZChvVEg1dWA4b19y
IX51LShXRnNmKVBmcUJEWU4meHdHPyoke0koc0ZuUVkjZUF0aCNaPzBTb04Kek93fXFkJlRnSFpv
NkM1bVJeV1dqNDJ8SiQ1dTVnMk89P3cmay1ZPFIhWjxIaDBLfnx3eWt2cml1P35uKW1Rc0wtCnph
YztWbHhMM1oqaihKUkZLZ2xAVEtHeXNRQkYxYlcje2I3bWQmYHl7WkdWNFptWkIjeUU5PV5BP2ZI
dVNYQWlzZAp6KmB0SFFxYjtxRXZ9MyYrXm18YnhZazNOT2c2WC1eZy1BSz1peyN7LXdXQSswbj1z
VztwIVFMRHg7Pks8JmhyR18Kelp0MVhvdUMqNyFkfClYajl8I2BEQX1CPThoR0wxUXNydiQhYVZ2
UHZZRDQlTUJ4V2pyIWQjOUZPPWNOKW5rPCQkCnpVRDBocylrSldCU0VvMThYJGxvKGc7Y1MhWC11
UX0/JGVOJW1tNyVCTkh1dmskWDNNSVA9KEByJVMjcnlOYmFYaQp6cjlfWGQ4N2VlSDM1ZyRVJC1J
ZkcoT3F6eG9NVlV6allMTGEqTChqTmprND9rQnIzY29wK2J7d0NucX5vOXkrMj4KemxYPTNgVlcp
Vj1iR0AwQU5UfVI0M2tBMGY9WUwrWlBLNypvMCNLSiolUmdaLWhtNyFidk5IdG9vQiU5KDVFcl9O
CnowcSVxXmdgR0pZQ18kYnRnWGNKPkh+K3hFP1Fib0ExejR5e1AyYkYkcFZqMTw+I0VnaEhWKDhr
PHJiLShqP15XaAp6VWBoO3pycXI5Z296SjM7Kz8mR2tJdEhYbm1OLXVhVkE8Xy1XMXNiM04hOzxQ
QTBrbDlmKVdGPE1Ee2Y4WiVwYyMKeiUwfjVsP1dFWUE1T2RlakcmbDNBPGs2ZiorRHZQV0MxWUFP
TllsM01tTmtvT2hvSy1fVTIqa2dARkEla3pfcUgrCnp7RSU4RFFYQT4kV30+YU8pPSUtUSVYTklL
ZSlve08tZT1FPHFWTWU8P1YjVSRyRVZ5N2o8VENZWWEhaFdMXm1RKQp6P2dwWGVRbGk4e0N1QWlk
Z3VffEJDPH5wckJ0REc3RjJ7OVNwZmVWVUF3cHErRD5efXZOYD9xNDNiciFrTF8pfkAKekRRd248
MTdhcHVvWXhHLUFBZU0lVmo7OH4zZG55M0JfN1ljVTBRcD9YXkJDVlVZcVhxTnBwV2Bldk5pR1pU
eEFNCnpWKVg8bioqNUo/bER6OGo0OHxDNzNZaGxwUyR+d0VCbHY2QjZ1TlRhOFI3Jkt4aWphMjdO
TGFtZk4zIWZCfWZNVAp6SGdZb1hwNnZgS1k/VGtyeDRkOTNMeSgrP15sZjkhU2V9Yk9mY0hOPml5
I1VGOFJUM3ZNNGx6PEw0WkdnNkAtR2IKemgyVTslKz1EITRnWGdIOUkmNHZKSVNeZCpgNHp9Pkok
UUU5d2FwOSM9TTRmWjNvYnlPcXJtaDM0aHZNPDted1U4Cno/IXE8NDZWKWF1NG9EOHRnQEUoPSgw
TnZqN0shIUA1PkhzIXhTN3BhNkRkKHQ/JmB4Sk87VHBTaD5ZV25ZfGJ1fQp6bFJuI2E5QS1gb1Fg
enpBbHQlWGtocFBzVHg0MXY5WTF2PVJ2SmoyZTsrSzg4alprdFRGO3QqY3IoOFhNd3V8NUMKelNt
M35CVVo4eGFrKnJjRz1hMWQ7T1loVFkjSlpYdz9PMDFLSFF3bGM9JTdMXjhWSHxPdHgjc1ZefCZD
Z1VqdUowCnoqK1Yja0V6YTh4V3B3Kj4tNnBoMkZxSjIpUzYhWFAzYU5Zej13cj0yRWkySkBrKDhL
ZnNYJk80Uk1fKUchKEpPfAp6M3QhV291ZEhrP098Q2BfQ2ZFcTdQPi0tR3BNaSMyMSYmcmxmOSVh
PEQhKWtMV2ZnZThIRG1VUlBmMiV2Uy19MUwKej1AKStwUHRxRzNzaDNhZW1POCt4NGFUQEozanw0
ZCFHVHlGVkBxND1BU1dBKzRodlcqVExVVygjaztZa1Q/TGhICno+JVVBOWF9QUNHNFNsfkhXPW5l
eiFtWX5sVzJRPXhCcCRUcEdQI1JnWnlKb216bygjVEc4SHRyKHZ6K3ltZC1DLQp6KmdyU0BQckNG
JTdaeTd+RFFZc2JZNEJZWmdOZyprKiowJVpMbkZCKWVrQ3lJV1krfjIhYWwmZlVtIWExYypxdzsK
ekhPV2AlOG9McyZnakBeSFE+YXItU1olX1lyYUBQNCtDaGRfbTxuaFJXeno3Rjw/SS09Zm08IVpz
NEw7VExxSnp5Cno9aCg8ZHIlWlk0VklnI3Y3Slp2cipQY1ZfSXw9RzdLZXtWTUJBKjV7cVFjfSV4
NnhQQWd8SSVYdE9uZ1JGeDNaOAp6VF9oU2wzJGl7Rkk/PXZtbHk+fEdaIy1IWGUhKz5rKCE4PkNh
OFMta0ItIyEzYWBJZHBIRyshVGAhRUsrQU5ZXmMKejImcko7P14lbHszS1dfSm9SZFk0eSlDMDQp
d2R2b1M1ZmxzR25fUHd1WFFAalkrNTNIQXoke0xMUmMyakg7e34qCnpiIWYjUDZmUFZrLU5TRCVW
Qik7PmZhWitjejM1T3g8KiY8c2lLNklCUG43O3l1PFh2eT47PUhNV2ZIVkU2NG1iewp6SU1kY0ta
YDRzRkYjaGM/dTNMLSh0QUx1PXIjT1lDUTR1c1VrOGkmaEJPYkshZ3NacEwtYSYlYzJNeklMUHJO
YWMKeml6Kkh9YiFHUz88azx0YjZPaW91NXU7N3c1e2Nod0Vsb242UFlSNSlQY05KRSZPfSkhUEp+
ZHtxZHdVKDxUKEk1CnoyaEtmIVpZSDtaJFZwbmV4eWJWKG9Ocms/XiV8PHAtN30+YCNZb05wPFFi
K300aSpqOzclZnlCVFJAX21pMEcyVAp6KWZUOWtUKjstfDFsTmgrZzJePiNkWl4mJDdQP0p4O35i
MnMrPn1lVk5wQVJ1aUhXLXQoUVQ1dUQjRkN7dEdQa1AKemVTSUIlM3QqX0dlKyQ2UEZmVSMhYTVE
QHkhQFBYSyNMWTFEWWN5XyM7YnNgUmIjcFYhJWRiJG04UnBrQyEqRnY4CmhIQEUhUD9+SkpZcjhq
b1EjNTh8QzRTcCsmZDlDI0lDfE0hantjcT8tMX15KnAKCmxpdGVyYWwgMTEwNTcKemNtZUhOWDtm
Mlo4b3BVejAtfllfIXBJVTg3ZEE7ajFWQEVQS3xvWW8mX0dkJE1YRjwhTUp6a3kjQGJeUTZ6WWFy
CnoxUW80Q1AheDRRNXBvQD9BWHV6RCl2O3Y+ZnswPVIyeFNjK15KP1kzSXJmK0hXMldjS3tSUjJM
XkxfOTBlOXlidwp6a2xvOWRkNXpabnQxZHdocWtYKFJSdVRrPFBZfjw/bztJdTtpYGZ3Z0tkaVFV
MjViLUE2Yytrdl5rLVdNMlp6d1AKeiZVNG4hcDYlQDVGeCRsYClYQzhxVUpCKzRLNV5WMmExXlkr
KFc+NDs1UFpWTlcxKVc+T0hzZFlvOVZgY28kSVNsCnpNI21LeklFQ2tgPlVQZChpVl8kIWpHazxE
P3QkZzdiQ0ckK3l9VSlxMUU9U2htfDNQSSZOdUgrSD4tTDJkPzg3Jgp6KmopSWZRO1YldVlJU3Qj
eklwWF9jfVBhR24ldVk9T1hXKV9WISZhdXtTK0R+cT07QVl4MH0zSzQ0RXpfbFQ1Qm8KejlFWTJX
JF5NOXVnV3p3Wl82N29CZEQ8X2o4VVlBfEwoYUctTm9ERjdeRnRPWEpZVUU1YzczUktJN2REMldA
bTQyCnpPdy1pe0FLWnt5JGRaJCQtfVA8QUt4NSZBX0QzWio1SSNvTm5FI2hvV3lrMUhzZH16bk15
YjsqYGAtbjQ5b09lPAp6P2FHQm9oMTJPa0JBcj5CcntSMDZlZClzKlBtcnVfYHRwMW9JO15eLTZt
YyE2eG9pQUxvY2I7XiNZe01GSFQ8dXQKekJiQSR7UzE5WTxIU1VYfk91IXNqUUdJTEI5S3ttXiF0
bFYtQUo3fiVKWSlYR3kwU3hQNG0mTnFqRyN4ZVd9YFZBCnohNWsqQjUhMjhkekY+flNTNFM7SGJF
SlZlPyRpZnFtfTRjRkJUVjZMZmFhSmd7ekV3WnM/Qlc/bEJDa1g9WUdsVQp6dVQpVmxUOTA0dlB+
RGRlZHYtLWNNNXNURFJoNnMlX0RLQzk5eUMjPlU7RjlBbn1lNS0xMXx8XnhnUDVgSyUoNH4KenVT
aXhgcyNxMUV2RX5ZaVY2ayphaGkxbE4lZSoxMEp1anglWU9HbSswT2B8KmNoWnMmKGh5NUFJVyM0
fT9YYnBMCnpJO2k0aEFhU1FkQlBzancwJTZMeTB0LXdVbEpiJlAlWEMhRFVhR3JoVEZYPzZgWVFT
PSUmdnV2Qi0lWS12KkUlQAp6RGR6ZmlJNmQ1WCk+SystITM7NVpaPyZ+UDlpajlCJEApPW9Da3pG
NjJLanQjdUA7dTU5fUVTOz4tOG1SYmh1TyYKeiQjTXxvMkAhTGh0P2dZckRIQ2hlNWh4dGJ0UFFg
VUYrdmVWeW9oT2JLbjBfTF40Yz9PIzVATkA+JS1TQnFCUmdOCnpxbGx5VnsoUXUmVnt1TmA/eVd8
R19uXkstQUpYLXBGKCspcTxvNDFpNkNebTcjZCZ7R3MxQWB8VnY9TlNAXjYqVgp6OWc9ZDNfPlBC
fWsyKj9eLUhKeGkhUShuZFNLMWBGWUZeTVBBaGx8KGBOKWt4YiEjKlBkbUFwdUxCazZodHpnTSYK
eik+dzJpempGXmJZKXwlbXRiWTg/Z0goJHw+dCRYfUxnU08tOyRsdWoqPktmaF4xbHdtP1dhWWhU
RDZpbVVHZWpCCnpFYT9qdEh1fUtrSzd3QDMmRXNMSUpIfVBCKSpvUEpzPmY2b3lPbDIoJGQlTUlp
ekZPbm9eclV8SVpORmk+KU9gMAp6WnRLZzw3OXZTQEQ9bF5WdzhsdnBpOUwzOXNCQThmVTZFb3hn
RlphYzl1NWpsX0MtWSt6bEJzakQ2aUg/V25WflQKemteRHp3PlM3SWJ6TksjKVVVTUg8enhgcUg3
MVZra2MqQVI7RUROY1pmbGMySENzU2ZEX2BzJVl7P3R4fHk0PnRxCnppej1pO0dTRlpsWCZ3cjNl
TDl3byFHVEBReTZnVyQ5fWlSbGxhenxfNyppIXd2WkwwZm4yK0tSaXVrIUJ6I1RDcgp6RVJOLT5G
RnZGTjt7N194bjZFVlJeYF5iWmhaP292VHFGK19POW41PkxVcmchY3BIR2w2Mm1jKlgkZGRkaV4q
U08Kelo2X2xKaXNBbWVlQDtkJWRMZ00qYD07VFlYTihnRjlhZyh3amlKZyhSKzBTRFBRKkJ7d1l8
VTUtOT5qPntsXm1wCnohcnBtQEdpWDdEaXp3cCNNUVFCSUE3PiVBNUxxbmZzI0U1NGNyXyZVb2Fz
P3NjLUNvKDFWbWdnPkFUKHJ5SENqNgp6ZytsMVpjflY1WT1sellFT04oSj9QeFVSTiFNaWE8T3hg
JXZkUmIjPns8TyR9a2VkbEBYVSpnSzYkJTl2UjQ2TS0KemtAcnw7cWQ9WVUoN2Npd1lHIUN8NGxO
fnF7Sm16NG9zeG9+ZSYwQ21oY0A3TW9+Qng0b0d3THJneH5QPG9iTFhJCnphdz9eKlQmNWh8Pk5i
MmxlSzEqNm8xaGpjb29obkFlPT5LKDhkNjhfKldCanpeU0VgbW02KXQ2aWFDa3JYVGhELQp6bHFB
fXFPaEk3cjsoflJYTXomJEdIKiluZDlOUVpmKH1ycTEzfFZWZjVZKXl+RW9gaWkpVzV2TjhLJlBQ
REt7UTsKekdtRlJ9S1JsUT52PSZtYkhEVTFZbnJva2ZgZVIqJlhXJnVYbG5XJkFqOSQ8eGBLMm1p
ZHlmNUw7b0NRYnsqKktTCnohTip5aV5nLWVrNmNNOyhePmpxOVV+dyF6TzFxNHlVPCtKUSZzU2t0
PTBsRXFxKCZKYlR+QTFiT1JKOX0jc2g0PAp6PjRPXlZJflFVOHY7QnYpMGItei1qSkxaSmgqWFJL
YjkrcX5WKVVVYG94MUlrTzUyKGAxKiExKCshRGxgVnJ6Un0KekcyViFNQ2pjNzBRUDgyP0d6S1VX
eU4jTXtremd2K2htWjNlNWM0R3ZlMUIxZlFrO0hqUnlNY2dkU3hmN3lIJUJtCnpoMj5YTDxQU309
dXxZIzRoITYlcD1ubGxneCFGKC12enhqRXY9QShJQT1JYkI9TDRGUGg5OSYtem9fXmxHen4mMwp6
O183OUhlb045RUd8cUJvc2NpIU1SNmxYWCVGND5qOyRIVE1wcyFfcmNLYCkpd1REVzd6am5ZPDwy
Km0kPiRmOHcKej5ufGFfNTlLYld4WjZpRiY8UTAmdkJHbElFNSUoNFJrWFFtYU1FTUhgbzM3JWxj
NVMoX1g9Nlo8eyhMQ1V0OCt9Cnp1TXNhck1uR2NMbH1jVjxWa0c1KEluVUd1O34zRGAwUDJAMUdx
WSlDUjM/TklRbC0kQ1RINVUoIWB8OEdQNTw7UQp6Pj8kZ3QoJCZ7Unl+fXNlN2liQk1iQVEzQDcw
N3hIU24yIVZHaWFwQHUqTHFYRV8/OVFaQEB9Rj1sZGdPS1VrXkEKeiRjeEBwfDFuX1pCcHlQSDVV
UHlOcW8kY0MoJF8lZGxmc3BWQGRocTtLUWgoR3VUe2AkZXFDKmk3LTtGMWZ2TEhlCnpEX2EyYmI9
aExYQFModDFlaX03X3pCMWBqJGdqKHlKajdUNiEzfW8la2w7bllaMFdUJk05Z1Z1SFVBP35XRmRR
ZAp6YGlEeWZwTVRaYnBpWGtAWVJJPWdGT1BORmcjIXJHZSg+Y1Y/NXZrQHdxKlgyNWttPHskXzUx
ZiYhKTIxJnBscXMKem9iJnxpZVZVelY9QlIkeyh7PWw1UU9Zeih3YV9wMjtEZntvVFFQYUNIZmo8
fGAyb21adXNqTWUyU05VQV5USUxICnoxQE01TVdAdFNJRi0wVjZXcThGX153JUEoVWRBUSYrYytJ
OEh4ZFl8NmVXQW5sU2cwX1UtUFhDVnllS0MqVVhDMQp6VSZiKHMtX2JTUE1QcjE0NmslMXxKT30r
MTNYJW4hWXtLYmFDZ2dUWU9kYU4rNyhURXR2R0YlV09jOyNmajN8c0sKemo4b1c1YGpBWGI7cHNE
bG1kJDBsNEBvZ0NuYXw4QVklVmpyNW1JS048dWhZR20mWksmNUtgdVdRMjN7UU80aCEzCnpwcTN6
WGkoaHtpZk8lcU8yMDhkN2k1Y1hXS0BMOGhWK0p7OWtifT4wbkwmO2o8bHhgKiVwa31BYX1SUj1o
cj01cwphVj54LW49V1o8eFk9UTU8NTxaXkdKVEFENGNsO1h3TWM7JH4KCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY2FydG8ubmV0L3RhYmdyb3VwLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9j
YXJ0by5uZXQvdGFiZ3JvdXAuc3ZnCmluZGV4IDA5ODMxNmYzNzQ4YTc2NWQyMDE3YjFjMmUzNmFm
YTM0MmM5ZGI1MmMuLmU4YTg3ZTQ0MzE4ZWJlZWVkNTJkNDliYzgxMTM3YThkZjU1MWY4ZDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jYXJ0by5uZXQvdGFiZ3JvdXAuc3ZnCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jYXJ0by5uZXQvdGFiZ3JvdXAuc3ZnCkBAIC0xLDcgKzEsNyBAQAogPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDw/QWRvYmVTVkdWaWV3ZXIgc2F2
ZT0ic25hcHNob3QiPz4KIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4w
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3Zn
MTAuZHRkIj4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjEwMCUiIGhlaWdodD0i
MTAwJSIgdmlld0JveD0iMCAwIDEwMjQgNzY4IiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCki
PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2
aWV3Qm94PSIwIDAgMTAyNCA3NjgiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2VjbWFzY3JpcHQiIHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3QvcmVwYWlu
dC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2VjbWFzY3JpcHQiIHhsaW5rOmhyZWY9InJlc291cmNlcy9oZWxwZXJfZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCIgeGxpbms6aHJlZj0i
cmVzb3VyY2VzL3RpbWVyLmpzIj48L3NjcmlwdD4KQEAgLTM5LDggKzM5LDYgQEAKIAkJLy90YWJn
cm91cFRyaWFuZ2xlLmRpc2FibGVBbGxUYWJzKCk7CiAJCS8vdGFiZ3JvdXBUcmlhbmdsZS5lbmFi
bGVTaW5nbGVUYWIoMyk7CiAJCS8vdGFiZ3JvdXBUcmlhbmdsZS5lbmFibGVBbGxUYWJzKCk7Ci0g
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CiAgICAgfQogICAgICAgICAgICAgZnVuY3Rp
b24gdGFiQ2hhbmdlZChpZCx0aXRsZSxpbmRleCkgewogICAgICAgICAgICAgICAgIGFsZXJ0KCJ0
YWIgbnIgIitpbmRleCsiIHdpdGggdGl0bGUgJyIrdGl0bGUrIicgd2FzIGFjdGl2YXRlZCBpbiB0
YWJncm91cCAnIitpZCsiJyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2NhcnRvLm5l
dC93aW5kb3cuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2NhcnRvLm5ldC93aW5kb3cuc3ZnCmluZGV4
IDA1MDA1MjNmMDE2YTc0NmE4NmFkN2YxYzdmOGYxNTQ5MjNlNGMxZDEuLmVkMjRkMWZhMjJiOTc4
Yzk1ZDNjZTM1ZjEzMDk0ODAwNGE3YjIwNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9j
YXJ0by5uZXQvd2luZG93LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvY2FydG8ubmV0L3dpbmRv
dy5zdmcKQEAgLTksNyArOSw3IEBACiAgICAgICAgID4KIF0+CiA8P0Fkb2JlU1ZHVmlld2VyIHNh
dmU9InNuYXBzaG90Ij8+Ci08c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9
IjAgMCAxMDI0IDcwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6YXR0cmliPSJodHRwOi8v
d3d3LmNhcnRvLm5ldC9hdHRyaWIiIHhtbG5zOmJhdGlrPSJodHRwOi8veG1sLmFwYWNoZS5vcmcv
YmF0aWsvZXh0IiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB3aWR0aD0iMTAw
JSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTAyNCA3MDAiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiIHhtbG5zOmF0dHJpYj0iaHR0cDovL3d3dy5jYXJ0by5uZXQvYXR0cmliIiB4bWxuczpiYXRp
az0iaHR0cDovL3htbC5hcGFjaGUub3JnL2JhdGlrL2V4dCIgb25sb2FkPSJydW5SZXBhaW50VGVz
dCgpIj4KICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2VjbWFzY3JpcHQiIHhsaW5rOmhyZWY9
Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAgICAg
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0IiB4bGluazpocmVmPSJyZXNvdXJjZXMv
aGVscGVyX2Z1bmN0aW9ucy5qcyIvPgogICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvZWNtYXNj
cmlwdCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL21hcEFwcC5qcyIvPgpAQCAtMjEsNiArMjEsOCBA
QAogICAgICAgICAvLyB0byBjcmVhdGVDYWxsZWQoKSB3ZXJlIGFkZGVkIHRvIHByZXZlbnQgYSBy
YWNlIGluIHdoaWNoIHRoZSB0ZXN0IG1heQogICAgICAgICAvLyB0ZXJtaW5hdGUgYmVmb3JlIHRo
ZSBmaW5hbCB3aW5kb3cgZGVjb3JhdGlvbiBpcyBhZGRlZC4KICAgICAgICAgLy8gU2VlIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MzE+LgorICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKIAogICAgICAgICB2YXIgbnVtYmVyT2ZXaW5kb3dzID0g
NzsKICAgICAgICAgdmFyIGNyZWF0ZUNhbGxzID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9jc3Mvc2hhZG93LWNoYW5nZXMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9zaGFkb3ct
Y2hhbmdlcy5zdmcKaW5kZXggYWEwMmIwNjA4MDVlYzMyN2NhMjhiNTU0Y2UxNzdjNjQ0OGIyODQ5
YS4uYjA1NTQ5NTI4OTgyNzNlODg4MGYxNTg0YjRhMGQ0NmFkNTFjY2MwOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2Nzcy9zaGFkb3ctY2hhbmdlcy5zdmcKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2Nzcy9zaGFkb3ctY2hhbmdlcy5zdmcKQEAgLTEsMTIgKzEsMTAgQEAKIDw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9u
bG9hZD0icnVuU1ZHUmVwYWludFRlc3QoKSI+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9u
bG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3Qv
cmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIGZ1bmN0aW9uIHJlcGFpbnRU
ZXN0KCkgewogICAgIHZhciBncm91cCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdn
JylbMF07CiAgICAgZ3JvdXAuc3R5bGUuV2Via2l0U3ZnU2hhZG93ID0gInJnYmEoNjQsNjQsNjQs
IDAuNykgLTlweCAtOXB4IDZweCI7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3Jp
cHQ+CiA8ZyBpZD0ic3ZnLXNoYWRvdy1leGFtcGxlIiBzdHlsZT0iLXdlYmtpdC1zdmctc2hhZG93
OiByZ2JhKDEwNiwxMTksNjQsIDAuNykgNXB4IDVweCA5cHg7Ij4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1leHRlcm5hbHJlc291cmNlc3JlcXVpcmVkLnN2
ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vbG9hZGV2ZW50cy1leHRlcm5hbHJlc291cmNlc3Jl
cXVpcmVkLnN2ZwppbmRleCAzNjU2YTNjOTU0MmE0YjViY2E1MzY0ZjBmOGE4NTk2NjQ1MTUzODdh
Li5iYjM3N2RlOTcyOTdmYTQ2YWQxZGMyMzVkMzBkYWI1ZDhmMzNjMWMwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2xvYWRldmVudHMtZXh0ZXJuYWxyZXNvdXJjZXNyZXF1aXJl
ZC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9sb2FkZXZlbnRzLWV4dGVybmFscmVz
b3VyY2VzcmVxdWlyZWQuc3ZnCkBAIC03LDcgKzcsNyBAQAogICAgICAgdmFyIHJlc3VsdHMgPSBu
ZXcgQXJyYXkoKTsKIAogICAgICAgZnVuY3Rpb24gcmVwb3J0TG9hZEV2ZW50KGVsKSB7Ci0gICAg
ICAgIHJlc3VsdHMucHVzaChlbC5sb2NhbE5hbWUpOworCQlyZXN1bHRzLnB1c2goZWwubG9jYWxO
YW1lKTsKICAgICAgIH0KICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQYXRoU2VnTGlzdC1zZWdtZW50LW1vZGlmaWNh
dGlvbi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXNlZ21lbnQtbW9k
aWZpY2F0aW9uLnN2ZwppbmRleCA4YTU4NGVlOTRlZTRiM2Y5OTI0NmJlOWU0M2ZlMGEyODQ4ZWI4
MDdiLi4yY2RhMmFhMzc1ZTdlYTc2Y2YzY2JhNjMwMDViNzMyMzc5NzYyYzZhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXNlZ21lbnQtbW9kaWZpY2F0aW9u
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BhdGhTZWdMaXN0LXNlZ21lbnQtbW9k
aWZpY2F0aW9uLnN2ZwpAQCAtMSw1ICsxLDUgQEAKIDw/eG1sIHZlcnNpb249IjEuMCI/PgotPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSdodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0iMzAwcHgiIGhlaWdodD0iMzAwcHgiIHZpZXdC
b3g9IjAgMCAzMDAgMzAwIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0iMzAwcHgiIGhlaWdodD0iMzAwcHgiIHZpZXdCb3g9IjAg
MCAzMDAgMzAwIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAgIDxzY3JpcHQgeGxpbms6
aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIiB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKQEAgLTgsOCArOCw2IEBACiAgICAgICAg
IHZhciBtb3ZlU2VnID0gc2VnTGlzdC5nZXRJdGVtKDApOyAgICAvLyBUaGlzIHJlcHJlc2VudHMg
dGhlIE0gODAgNDAgc2VnbWVudCAoTW92ZSB0bykKICAgICAgICAgbW92ZVNlZy54ID0gNTA7CiAg
ICAgICAgIG1vdmVTZWcueSA9IDUwOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwog
ICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8cGF0aCBpZD0ic21pbGUiIGQ9Ik0gODAgNDAgUyAx
MjAgODAgMTYwIDQwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUi
Lz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUGF0aFNlZ0xpc3QteG1sLWRv
bS1zeW5jaHJvbml6YXRpb24yLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQYXRoU2Vn
TGlzdC14bWwtZG9tLXN5bmNocm9uaXphdGlvbjIueGh0bWwKaW5kZXggYzVkOTBhMmFiZGYzNzY1
MzM5MTM4YTgwNjFjYTllM2ZlYjA0MWRhYi4uYjQ3MWFkMDZlOWI3M2M2ZDVjNTAxZWJlNTY3ZWE3
YjNkNTJhYzY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQYXRoU2VnTGlz
dC14bWwtZG9tLXN5bmNocm9uaXphdGlvbjIueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdQYXRoU2VnTGlzdC14bWwtZG9tLXN5bmNocm9uaXphdGlvbjIueGh0bWwKQEAgLTEsNSAr
MSw1IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Ci08c3ZnIHdpZHRo
PSI2MDAiIGhlaWdodD0iNTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHht
bG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1Jl
cGFpbnRUZXN0KCkiPgorPHN2ZyB3aWR0aD0iNjAwIiBoZWlnaHQ9IjUwMCIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KICAgPHNjcmlwdCB4bGluazpocmVm
PSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgogICA8
cGF0aCBkPSJNNTAsMTUwIGw0NSwtNDMgbDI0LDY0IGwtNjksLTIxeiIgZmlsbD0iI0ZGMDAwMCIg
c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjUiLz4KICAgPHRleHQgeD0iMTAiIHk9IjIw
IiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmlnaHQgYWZ0ZXIgbG9hZGluZywgYSBzZWdtZW50
IGlzIGFkZGVkIHRvIHRoZSBwYXRoLjwvdGV4dD4KQEAgLTI5LDkgKzI5LDYgQEAKICAgICAgICAg
aWYoc3RhcnRfZCA9PSBlbmRfZCkgewogICAgICAgICAgICAgZW5kLnRleHRDb250ZW50ICs9ICcg
KGZhaWxlZCknOwogICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
ICAgICB9CiBdXT4KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdSZWN0RWxlbWVudC9yZWN0LW1vZGlmeS1yeC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1JlY3RFbGVtZW50L3JlY3QtbW9kaWZ5LXJ4LnN2ZwppbmRleCA3YzRmZmU3ZDI1OGExZTI0NTY0
NzY3MmMyM2E3ZmM1MWFlYmIzOWFiLi5iZTZiMGY1ZGFjMzBiMzYzZDgyYmU0ZTQ1YmUzMGNiYmJi
ODdjMDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1JlY3RFbGVtZW50L3Jl
Y3QtbW9kaWZ5LXJ4LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1JlY3RFbGVtZW50
L3JlY3QtbW9kaWZ5LXJ4LnN2ZwpAQCAtMSwxMyArMSwxMCBAQAotPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICA8c2NyaXB0IHhsaW5rOmhyZWY9
Ii4uLy4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAg
IDxyZWN0IHdpZHRoPScxMDAnIGhlaWdodD0nMTAwJyBmaWxsPSdyZWQnLz4KICAgPHJlY3QgaWQ9
J3InIHdpZHRoPScxMDAnIGhlaWdodD0nMTAwJyByeD0nMTAwJyBmaWxsPSdncmVlbicvPgogICA8
c2NyaXB0PgogICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3InKS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAicngiLCAiMCIpOwotCi0gICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CiAgICAgfQogICA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvYW5pbWF0ZS1maWxsLnN2ZyBiL0xheW91dFRl
c3RzL3N2Zy9maWx0ZXJzL2FuaW1hdGUtZmlsbC5zdmcKaW5kZXggMjJjNWFiMmQ3MzkyNzcwM2Y0
NDE3NjhmODRmNDlkMDYyNWZkODkxNC4uM2E3NDg5OWM3ZWVjMTcxODQ0MTkyNmY0N2FjZjg3Nzhl
NzJiM2Q5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvYW5pbWF0ZS1maWxs
LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9hbmltYXRlLWZpbGwuc3ZnCkBAIC0x
LDQgKzEsNCBAQAotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFp
bnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRU
ZXN0KCkiPgogICAgIDxzY3JpcHQgeGxpbms6aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291
cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KICAgICA8dGl0bGU+VGhlIHJlY3RhbmdsZSBzaG91
bGQgcmFwaWRseSBhbmltYXRlIHRvIGdyZWVuLjwvdGl0bGU+CiA8ZGVmcz4KQEAgLTEwLDkgKzEw
LDYgQEAKIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWN0Jykuc2V0QXR0cmlidXRlKCdmaWxsJywgJ2dyZWVu
Jyk7Ci0KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICB9CiA8L3NjcmlwdD4K
IDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFnZS1yZWZl
cmVuY2UtaW52YWxpZGF0aW9uLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlSW1hZ2Ut
cmVmZXJlbmNlLWludmFsaWRhdGlvbi5zdmcKaW5kZXggOTAzNjY1NGVhNWUxOGI0ZjU5NjU3ODkz
ZTllYTMxNjAwNDc5ZmM2Ny4uNWI5ZDk4YzNmYWVkNGFmYTM3ZjQyMjNiZTQ0ZDk1YjdiNzhhZjkz
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFnZS1yZWZlcmVuY2Ut
aW52YWxpZGF0aW9uLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXJl
ZmVyZW5jZS1pbnZhbGlkYXRpb24uc3ZnCkBAIC0xLDUgKzEsNSBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2Fk
PSJydW5TVkdSZXBhaW50VGVzdCgpIj4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2Fk
PSJydW5SZXBhaW50VGVzdCgpIj4KICAgICA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3Qv
cmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAgICAgPHRpdGxlPlRoZXJl
IHNob3VsZCBiZSBhIHNpbmdsZSBncmVlbiBzcXVhcmUuPC90aXRsZT4KICAgICA8ZGVmcz4KQEAg
LTE1LDkgKzE1LDYgQEAKICAgICA8IVtDREFUQVsKICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRl
c3QoKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmVpbWFnZSIpLnNl
dEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCAiI3Jl
Y3QyIik7Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgICAg
ICB9CiAgICAgXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
ZmlsdGVycy9mZUltYWdlLXRhcmdldC1hZGQtdG8tZG9jdW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL2ZpbHRlcnMvZmVJbWFnZS10YXJnZXQtYWRkLXRvLWRvY3VtZW50LnN2ZwppbmRleCAzMmNk
Yjk3NTljMWE4ZTE2Yjg4Yjk5ZWZkMTQzYzZkZWQ2Njc3MGM3Li42MTU1ZmM4MzcyNzBlMDQxMDRh
MDcyNGUxMjlkYTg4MWJkZmU5MmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZmlsdGVy
cy9mZUltYWdlLXRhcmdldC1hZGQtdG8tZG9jdW1lbnQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9maWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LWFkZC10by1kb2N1bWVudC5zdmcKQEAgLTEsNSArMSw1
IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAgIDxzY3JpcHQgeGxp
bms6aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3Njcmlw
dD4KICAgICA8dGl0bGU+VGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIGdyZWVuIDEwMHgxMDAgc3F1
YXJlLjwvdGl0bGU+CiAgICAgPGRlZnM+CkBAIC0xOCw5ICsxOCw2IEBACiAgICAgICAgICAgICB2
YXIgbmV3RkVJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciLCAiZmVJbWFnZSIpOwogICAgICAgICAgICAgbmV3RkVJbWFnZS5zZXRBdHRy
aWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVmIiwgIiNncmVlbi1y
ZWN0Iik7CiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyIikuYXBw
ZW5kQ2hpbGQobmV3RkVJbWFnZSk7Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwogICAgICAgICB9CiAgICAgXV0+CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1jaGFuZ2VzLWlkLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LWNoYW5nZXMtaWQuc3ZnCmluZGV4
IGNlMWUxN2I0ZGE5ODkyNDQxM2E5YjA3ZDgyNTEyZThjNGYyNDdlOTMuLmJiNjM0NjRkYmQyZGEz
MDdkZTUwNDEyOGM5NmM1YzUwZGE0MmEzZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9m
aWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LWNoYW5nZXMtaWQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9maWx0ZXJzL2ZlSW1hZ2UtdGFyZ2V0LWNoYW5nZXMtaWQuc3ZnCkBAIC0xLDUgKzEsNSBAQAog
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIgb25sb2FkPSJydW5TVkdSZXBhaW50VGVzdCgpIj4KKzxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KICAgICA8c2NyaXB0IHhsaW5rOmhy
ZWY9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHRpdGxlPlRoZXJlIHNob3VsZCBiZSBhIHNpbmdsZSBncmVlbiAxMDB4MTAwIHNxdWFyZS48
L3RpdGxlPgogICAgIDxkZWZzPgpAQCAtMTQsOSArMTQsNiBAQAogICAgIDwhW0NEQVRBWwogICAg
ICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJub3RleGlzdGFudCIpLnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOwotCi0g
ICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAgIF1d
PgogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJ
bWFnZS10YXJnZXQtaWQtY2hhbmdlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlSW1h
Z2UtdGFyZ2V0LWlkLWNoYW5nZS5zdmcKaW5kZXggMjA4MThjMGM4M2U2ODU3NjExNzE2NDEyNDFh
YmQwYTNiMmZkN2ZjYS4uNTYyMmQ1NzEyNjNhNWQ1ZWNkMjVhYzM3Y2E2NDAzZGNkYjIwZmMzYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFnZS10YXJnZXQtaWQtY2hh
bmdlLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1pZC1j
aGFuZ2Uuc3ZnCkBAIC0xLDUgKzEsNSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJydW5TVkdSZXBhaW50
VGVzdCgpIj4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJydW5SZXBhaW50VGVz
dCgpIj4KICAgICA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJj
ZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiAgICAgPHRpdGxlPlRoZXJlIHNob3VsZCBiZSBhIHNp
bmdsZSBncmVlbiAxMDB4MTAwIHNxdWFyZS48L3RpdGxlPgogICAgIDxkZWZzPgpAQCAtMTQsOSAr
MTQsNiBAQAogICAgIDwhW0NEQVRBWwogICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsK
ICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmZWltYWdlIikuc2V0QXR0cmli
dXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCAiaHJlZiIsICIjcmVjdCIpOwot
Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAg
IF1dPgogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMv
ZmVJbWFnZS10YXJnZXQtcmVhcHBlbmQtdG8tZG9jdW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3Zn
L2ZpbHRlcnMvZmVJbWFnZS10YXJnZXQtcmVhcHBlbmQtdG8tZG9jdW1lbnQuc3ZnCmluZGV4IDAy
ZjI3NjhlMDM3OTlhNDRkOWM5M2YwYzIyZjhiYmJjOWJmZDJjZjIuLjY5ZDc5NjYxMDU4OGUzMzkz
ZDM4NWZkYjNjYTA0ZTYyZTZkNTgyYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL2ZlSW1hZ2UtdGFyZ2V0LXJlYXBwZW5kLXRvLWRvY3VtZW50LnN2ZworKysgYi9MYXlvdXRU
ZXN0cy9zdmcvZmlsdGVycy9mZUltYWdlLXRhcmdldC1yZWFwcGVuZC10by1kb2N1bWVudC5zdmcK
QEAgLTEsNSArMSw1IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgot
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgor
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAg
IDxzY3JpcHQgeGxpbms6aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50
LmpzIj48L3NjcmlwdD4KICAgICA8dGl0bGU+VGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIGdyZWVu
IDEwMHgxMDAgc3F1YXJlLjwvdGl0bGU+CiAgICAgPGRlZnM+CkBAIC0xOSw2ICsxOSw5IEBACiAg
ICAgICAgICAgICB2YXIgZ3JlZW5JbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmZWlt
YWdlLWdyZWVuIik7CiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVy
IikucmVtb3ZlQ2hpbGQoZ3JlZW5JbWFnZSk7CiAKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworCiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXIiKS5hcHBlbmRD
aGlsZChncmVlbkltYWdlKTsKICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmVJbWFnZS10
YXJnZXQtcmVtb3ZlLWZyb20tZG9jdW1lbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMv
ZmVJbWFnZS10YXJnZXQtcmVtb3ZlLWZyb20tZG9jdW1lbnQuc3ZnCmluZGV4IGM2ZjVhNWJjYzIz
OGM0ZTZiYjI0NDNlNGNkOGQ2OWFjZGU2N2JkNDUuLjI4NmVlZDQ4ZmU4ODYxZjQ3OTc1MzM4NTdk
M2RhNDc5NGJmN2Q0YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZlSW1h
Z2UtdGFyZ2V0LXJlbW92ZS1mcm9tLWRvY3VtZW50LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
ZmlsdGVycy9mZUltYWdlLXRhcmdldC1yZW1vdmUtZnJvbS1kb2N1bWVudC5zdmcKQEAgLTEsNSAr
MSw1IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAgIDxzY3JpcHQg
eGxpbms6aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3Nj
cmlwdD4KICAgICA8dGl0bGU+VGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIGdyZWVuIDEwMHgxMDAg
c3F1YXJlLjwvdGl0bGU+CiAgICAgPGRlZnM+CkBAIC0xNiw5ICsxNiw2IEBACiAgICAgPCFbQ0RB
VEFbCiAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZpbHRlciIpLnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmZWltYWdlLXJlZCIpKTsKLQotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CiAgICAgICAgIH0KICAgICBdXT4KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlci1yZWZyZXNoLnN2ZyBiL0xheW91dFRlc3Rz
L3N2Zy9maWx0ZXJzL2ZpbHRlci1yZWZyZXNoLnN2ZwppbmRleCBhNmRlYWFlMWM3NWY4Y2ZkOTdk
M2U5OTFlZWYzMjI1ZjdkOWMxMzZiLi40M2ZhODk0NTRlZjMzOTE0NTNjNmFlNzFmN2VjZmUxZDJi
ZTk0NWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXItcmVmcmVz
aC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyLXJlZnJlc2guc3ZnCkBA
IC0xLDUgKzEsNSBAQAogPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHht
bG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgotICBzdHlsZT0id2lkdGg6
MzAwcHg7aGVpZ2h0OjQwMHB4IiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorICBzdHls
ZT0id2lkdGg6MzAwcHg7aGVpZ2h0OjQwMHB4IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgog
CiA8c2NyaXB0IHhsaW5rOmhyZWY9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWlu
dC5qcyI+PC9zY3JpcHQ+CiA8IS0tIFRoaXMgdGVzdHMgZmlsdGVycyBmYWlsaW5nIHRvIHJlZnJl
c2ggYWZ0ZXIgdGhlIGluaXRpYWwgcmVuZGVyaW5nCkBAIC0xMTAsOSArMTEwLDYgQEAgVGhlcmUg
c2hvdWxkIGJlIG5vIHJlZCBzcXVhcmVzIGluIHRoZSBvdXRwdXQuIC0tPgogICAgICAgfQogCiAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsdGVyZWQnKS5zZXRBdHRyaWJ1dGUoJ2Zp
bHRlcicsICd1cmwoI3RvR3JlZW4pJyk7Ci0KLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwog
ICAgIH0KIF1dPjwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZmlsdGVy
cy9maWx0ZXItd2lkdGgtdXBkYXRlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRl
ci13aWR0aC11cGRhdGUuc3ZnCmluZGV4IDljMjdjMjMxNTY3MmUzMWI2MTNiZDYyNzY3OTdlNmZi
MDgzMTlkNzUuLmRlYWRmMjQ0NjY2NGZkYzZjY2NhZDJkYWMwZGQ3NGVlMDA3ZjI0MGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlci13aWR0aC11cGRhdGUuc3ZnCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlci13aWR0aC11cGRhdGUuc3ZnCkBAIC0x
LDQgKzEsNCBAQAotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFp
bnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRU
ZXN0KCkiPgogPHNjcmlwdCB4bGluazpocmVmPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2Vz
L3JlcGFpbnQuanMiPjwvc2NyaXB0PgogPGRlZnM+CiA8ZmlsdGVyIGZpbHRlclVuaXRzPSJ1c2Vy
U3BhY2VPblVzZSIgaWQ9ImJsdXIiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSIxNDAi
PgpAQCAtMTEsOCArMTEsNiBAQAogPHNjcmlwdD4KICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgp
IHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZpbHRlciIpWzBdLnNl
dEF0dHJpYnV0ZSgid2lkdGgiLCAiMTQwIik7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9maWx0ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0LnN2ZyBiL0xheW91dFRlc3RzL3N2
Zy9maWx0ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0LnN2ZwppbmRleCA0NmMyMWRkYzQ4
YmY4NzA1MjU4Zjk2NmE0MzMyZjJmYjM3NjMwYzk1Li4wMjRhMGUyZmFiMGVmN2ExNDM1MjBiODUy
ZDM3OTY4MjRmYzUxYzJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9pbnZh
bGlkYXRlLW9uLWNoaWxkLWxheW91dC5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMv
aW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQuc3ZnCkBAIC0xLDQgKzEsNCBAQAotPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogPHNjcmlwdCB4bGlu
azpocmVmPSIuLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0
PgogPHNjcmlwdD4KIDwhW0NEQVRBWwpAQCAtNiw5ICs2LDYgQEAgZnVuY3Rpb24gcmVwYWludFRl
c3QoKSB7CiAgICAgdmFyIGNpcmNsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaXJjbGUi
KTsKICAgICBjaXJjbGUuc2V0QXR0cmlidXRlKCJjeCIsIDEwMCk7CiAgICAgY2lyY2xlLnNldEF0
dHJpYnV0ZSgiY3kiLCAxMDApOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogfQogXV0+CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMS54bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDEueG1sCmluZGV4IDgwMjM4NmNjYzNmZWFh
YTVkODM2MzA0YTg1YWI3N2ZjZjI0Y2Q2ZjMuLmUwNWVjMTc4MGIwZGJiOTNjODg4NGYyZmI0OTIz
MmIxYzkyNGMzZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMS54
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAxLnhtbApAQCAtMSw0ICsxLDQg
QEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMjAw
IC0yMDAgNjAwIDYwMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
IG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3QoKSI+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTIwMCAtMjAwIDYwMCA2MDAiIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgog
IDxzY3JpcHQgeGxpbms6aHJlZj0iLi4vLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBh
aW50LmpzIj48L3NjcmlwdD4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgIHZh
ciBzdGFydCA9IG5ldyBEYXRlKCk7CkBAIC0yNjQsNiArMjY0LDggQEAKICAgdmFyIGR4ID0gNTsK
ICAgdmFyIGR5ID0gLTU7CiAgIHZhciBjb3VudCA9IDA7CisgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwog
ICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgIGlmICgoY3ggKyByICsgZHggPiAzOTApIHx8
IChjeCAtIHIgKyBkeCA8IC0xOTApKQogICAgICBkeCA9LSBkeDsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMi54bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVy
Zi8wMDIueG1sCmluZGV4IDg4NGE5YWJkNWRkOTliNTk3Y2U2ZDEyMjIzMjA0OWZkOWM0MGU2NGMu
LjQwNGQwNGIyZjQ0YzM4MzQ5NmZlMTJkOWY2YTZmY2MwYmI0MzdjM2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMi54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hp
eGllL3BlcmYvMDAyLnhtbApAQCAtMSw0ICsxLDQgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMjAwIC0yMDAgNjAwIDYwMCIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3Qo
KSI+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTIw
MCAtMjAwIDYwMCA2MDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5r
IiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogIDxzY3JpcHQgeGxpbms6aHJlZj0iLi4vLi4v
Li4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBhaW50LmpzIj48L3NjcmlwdD4KICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCk7CkBAIC0y
NjQsNiArMjY0LDggQEAKICAgdmFyIGR4ID0gNTsKICAgdmFyIGR5ID0gLTU7CiAgIHZhciBjb3Vu
dCA9IDA7CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsK
ICAgIGlmICgoY3ggKyByICsgZHggPiAzOTApIHx8IChjeCAtIHIgKyBkeCA8IC0xOTApKQogICAg
ICBkeCA9LSBkeDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwMy54
bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDMueG1sCmluZGV4IDIzYTIyMzYxMmUz
M2JkOTNkZmVlM2U1ZGRlMWM5MzdhZWYwNTRhYjMuLjA2Njc5YjZjZTdkOWI0ZTk5M2ZhZTdlYjU4
YTFlOTMyZTBiYzhiNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAw
My54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDAzLnhtbApAQCAtMSw0ICsx
LDQgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIw
IDAgMTAwIDEwMCIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAw
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgPHNjcmlwdCB4bGluazpo
cmVmPSIuLi8uLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0
PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgdmFyIHN0YXJ0ID0gbmV3IERh
dGUoKTsKQEAgLTQ2LDcgKzQ2LDggQEAKICAgdmFyIG1heFBlckJsb2NrID0gWHMubGVuZ3RoIC8g
KGlkZWFsVGltZSAvIGRlbGF5KTsKICAgdmFyIG1heEJsb2NrcyA9IFhzLmxlbmd0aCAvIG1heFBl
ckJsb2NrOwogICB2YXIgY291bnQgPSAwOwotCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKICAgICBmb3IgKHZhciBzdWJjb3VudCA9IDA7IHN1YmNvdW50
IDwgbWF4UGVyQmxvY2s7IHN1YmNvdW50ICs9IDEpIHsKICAgICAgIHZhciBpbmRleCA9IGNvdW50
ICogbWF4UGVyQmxvY2sgKyBzdWJjb3VudDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9o
aXhpZS9wZXJmLzAwNC54bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDQueG1sCmlu
ZGV4IDA3OTI1Yzc2ZjY1NGJiZjY0MjFmYmFiMjZhMzJkNGY3OTBjMzkxNmIuLjgwOGU0ZTlmODhm
MDE2MTYyNGZhNjM3ZTg3ZDk3MGY3OGRjMmEwZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2
Zy9oaXhpZS9wZXJmLzAwNC54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA0
LnhtbApAQCAtMSw0ICsxLDQgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiIHhtbG5z
OnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFp
bnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdC
b3g9IjAgMCAxMDAgMTAwIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAg
PHNjcmlwdCB4bGluazpocmVmPSIuLi8uLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFp
bnQuanMiPjwvc2NyaXB0PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgdmFy
IHN0YXJ0ID0gbmV3IERhdGUoKTsKQEAgLTQ2LDcgKzQ2LDggQEAKICAgdmFyIG1heFBlckJsb2Nr
ID0gWHMubGVuZ3RoIC8gKGlkZWFsVGltZSAvIGRlbGF5KTsKICAgdmFyIG1heEJsb2NrcyA9IFhz
Lmxlbmd0aCAvIG1heFBlckJsb2NrOwogICB2YXIgY291bnQgPSAwOwotCisgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICBmb3IgKHZhciBzdWJjb3Vu
dCA9IDA7IHN1YmNvdW50IDwgbWF4UGVyQmxvY2s7IHN1YmNvdW50ICs9IDEpIHsKICAgICAgIHZh
ciBpbmRleCA9IGNvdW50ICogbWF4UGVyQmxvY2sgKyBzdWJjb3VudDsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNS54bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUv
cGVyZi8wMDUueG1sCmluZGV4IGU5NmYxZTNhZDg1MjJkMDM1ZDM4MDgxOTkzOWUyMGZhMjEwNTM1
OTguLmYwOGUwOGM5N2U3MzUyNDA0MTlkOGYwYThmMjAzZWE1MDQ1NjM5MWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNS54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2hpeGllL3BlcmYvMDA1LnhtbApAQCAtMSw0ICsxLDQgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxv
YWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIg
eG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0icnVuUmVw
YWludFRlc3QoKSI+CiAgPHNjcmlwdCB4bGluazpocmVmPSIuLi8uLi8uLi9mYXN0L3JlcGFpbnQv
cmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKQEAgLTUyLDcgKzUyLDggQEAKICAg
dmFyIG1heFBlckJsb2NrID0gWHMubGVuZ3RoIC8gKGlkZWFsVGltZSAvIGRlbGF5KTsKICAgdmFy
IG1heEJsb2NrcyA9IFhzLmxlbmd0aCAvIG1heFBlckJsb2NrOwogICB2YXIgY291bnQgPSAwOwot
CisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwogICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICBm
b3IgKHZhciBzdWJjb3VudCA9IDA7IHN1YmNvdW50IDwgbWF4UGVyQmxvY2s7IHN1YmNvdW50ICs9
IDEpIHsKICAgICAgIHZhciBpbmRleCA9IGNvdW50ICogbWF4UGVyQmxvY2sgKyBzdWJjb3VudDsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNi54bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDYueG1sCmluZGV4IDFiZWEyZjY5YjFiZmQ1OGM4Y2Y2MjA1
NjUzNzgxZGUyY2YxNzk1NmMuLmU3NDY2ODlhNTUzNGQ0NDkwODgyODkwZDkyNTdmNDQ5MjJkMDZm
NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAwNi54bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA2LnhtbApAQCAtMSw0ICsxLDQgQEAKLTxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgPHNjcmlwdCB4bGluazpocmVmPSIuLi8uLi8u
Li9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgogIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKQEAgLTUy
LDcgKzUyLDggQEAKICAgdmFyIG1heFBlckJsb2NrID0gWHMubGVuZ3RoIC8gKGlkZWFsVGltZSAv
IGRlbGF5KTsKICAgdmFyIG1heEJsb2NrcyA9IFhzLmxlbmd0aCAvIG1heFBlckJsb2NrOwogICB2
YXIgY291bnQgPSAwOwotCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICBmdW5jdGlvbiByZXBhaW50
VGVzdCgpIHsKICAgICBmb3IgKHZhciBzdWJjb3VudCA9IDA7IHN1YmNvdW50IDwgbWF4UGVyQmxv
Y2s7IHN1YmNvdW50ICs9IDEpIHsKICAgICAgIHZhciBpbmRleCA9IGNvdW50ICogbWF4UGVyQmxv
Y2sgKyBzdWJjb3VudDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJmLzAw
Ny54bWwgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvcGVyZi8wMDcueG1sCmluZGV4IDFjNTNmNjBh
ZDA2ODQ0ZmRmY2Y3YjkxZmMxNTE0ODAwZWQ1OGZjODEuLjg2OTc0OGFmOWY1ZWM2NTIxZDY0YmU1
YjI0ZjVmMzk4MTEzOTE1YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9wZXJm
LzAwNy54bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL3BlcmYvMDA3LnhtbApAQCAtMSw0
ICsxLDQgQEAKLSA8c3ZnIHZpZXdCb3g9IjAgMCA4MDAgNDAwIiB3aWR0aD0iMjAwIiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOmNvdW50cnk9Imh0dHA6Ly9leGFtcGxl
LmNvbS8iIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9
InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorIDxzdmcgdmlld0JveD0iMCAwIDgwMCA0MDAiIHdpZHRo
PSIyMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6Y291bnRyeT0i
aHR0cDovL2V4YW1wbGUuY29tLyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGxpbmsiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgPHNjcmlwdCB4bGluazpocmVmPSIu
Li8uLi8uLi9mYXN0L3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgogIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsK
QEAgLTI1OCw3ICsyNTgsOCBAQAogICB2YXIgZGVsdGEgPSA2MDsKICAgdmFyIGN1cnJlbnQgPSBs
b3c7CiAgIHZhciBpZGVhbFRpbWUgPSAoKGhpZ2ggLSBsb3cpIC8gZGVsdGEpICogZGVsYXk7Ci0K
KyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CiAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgIHN2
Zy5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgY3VycmVudCk7CiAgICAgaWYgKGN1cnJlbnQgPCBoaWdo
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9jb250YWluZXItcmVwYWlu
dC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9jb250YWluZXItcmVwYWludC5zdmcKaW5k
ZXggZjI1OGVmNzIwMDUxOWFjMDMzNWJhNjRiMWIyMmNlYTc4NWUyOGQ1ZC4uYTRlN2MxZjc1NzYw
ZTRiZGQyNDZlYzdiZmE0OTA0MjkyZjhhNWJlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L3JlcGFpbnQvY29udGFpbmVyLXJlcGFpbnQuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy9yZXBh
aW50L2NvbnRhaW5lci1yZXBhaW50LnN2ZwpAQCAtMSwxMCArMSw4IEBACi08c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3QoKSI+Cis8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiA8c2NyaXB0IHhsaW5rOmhy
ZWY9Ii4uLy4uL2Zhc3QvcmVwYWludC9yZXNvdXJjZXMvcmVwYWludC5qcyIgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgog
ICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdtb3ZlcicpLnNldEF0dHJpYnV0ZSgneScsIDEwMCk7Ci0gICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKICAgfQogICA8L3NjcmlwdD4KICAgPCEtLSBBZnRlciByZXBvc2l0aW9uaW5nLCB0aGUg
cmVkIHJlY3Qgc2hvdWxkIGJlIGNvbXBsZXRlbHkgaGlkZGVuIGJlaGluZCB0aGUgc2Vjb25kIGdy
ZWVuIHJlY3QuIC0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvZmlsdGVy
LWNoaWxkLXJlcGFpbnQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvZmlsdGVyLWNoaWxk
LXJlcGFpbnQuc3ZnCmluZGV4IGM3YjBlNGI3ODVhMWYyOTEzYWIzMTc4ZTg5MjQ0MTBlMjNlY2Q0
MjcuLjM3MTRlYjNhNjZmNTc0ZjM2NDE2Y2VlMTUwYWRkYjhkNzBiMDY3MDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N2Zy9yZXBhaW50L2ZpbHRlci1jaGlsZC1yZXBhaW50LnN2ZworKysgYi9M
YXlvdXRUZXN0cy9zdmcvcmVwYWludC9maWx0ZXItY2hpbGQtcmVwYWludC5zdmcKQEAgLTEsMTIg
KzEsMTAgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KIDwhRE9DVFlQ
RSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Ci08c3ZnIHdpZHRoPSIxMjhweCIgaGVp
Z2h0PSIxMjhweCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBvbmxvYWQ9InJ1
blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB3aWR0aD0iMTI4cHgiIGhlaWdodD0iMTI4cHgiIHZl
cnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGlu
az0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJydW5SZXBhaW50VGVzdCgp
Ij4KIDxzY3JpcHQgeGxpbms6aHJlZj0iLi4vLi4vZmFzdC9yZXBhaW50L3Jlc291cmNlcy9yZXBh
aW50LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CiAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdwb2tlJykuc3R5bGUuZmlsbCA9ICdncmVlbic7Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKICAgfQogICA8L3NjcmlwdD4KICAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9yZXBhaW50L2ltYWdlLWhyZWYtY2hhbmdlLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9y
ZXBhaW50L2ltYWdlLWhyZWYtY2hhbmdlLnN2ZwppbmRleCA3NDg1NDE0YWE3MTVmZGVlY2QzMGEz
ODViNmM4YjlhN2FiNGMwYmFjLi42YjBmYzhjMDVhOWMwYTA1Y2Q4OWFjYWRhOGY5OGU2ZjA2Zjlk
MTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS1ocmVmLWNoYW5n
ZS5zdmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3JlcGFpbnQvaW1hZ2UtaHJlZi1jaGFuZ2Uuc3Zn
CkBAIC0xLDQgKzEsNCBAQAotIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJydW5T
VkdSZXBhaW50VGVzdCgpIj4KKyA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG9ubG9hZD0icnVu
UmVwYWludFRlc3QoKSI+CiAgICAgPHNjcmlwdCB4bGluazpocmVmPSIuLi8uLi9mYXN0L3JlcGFp
bnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+
CiAgICAgPHRleHQgeT0iLTUwIj4yMDB4MjAwIGdyZWVuIHJlY3Qgc2hvdWxkIGJlIHZpc2libGU8
L3RleHQ+CiAKQEAgLTExLDggKzExLDEwIEBACiAgICAgdmFyIGdyZWVuU3F1YXJlID0gImRhdGE6
aW1hZ2UvanBnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVNBQklBQUQvNGdXa1NVTkRYMUJT
VDBaSlRFVUFBUUVBQUFXVVlYQndiQUlnQUFCdGJuUnlVa2RDSUZoWldpQUgyUUFDQUJrQUN3QWFB
QXRoWTNOd1FWQlFUQUFBQUFCaGNIQnNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE5dFlBQVFBQUFB
RFRMV0Z3Y0d3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBdGtaWE5qQUFBQkNBQUFBRzlrYzJOdEFBQUJlQUFBQTFaamNISjBBQUFF
MEFBQUFEaDNkSEIwQUFBRkNBQUFBQlJ5V0ZsYUFBQUZIQUFBQUJSbldGbGFBQUFGTUFBQUFCUmlX
RmxhQUFBRlJBQUFBQlJ5VkZKREFBQUZXQUFBQUE1amFHRmtBQUFGYUFBQUFDeGlWRkpEQUFBRldB
QUFBQTVuVkZKREFBQUZXQUFBQUE1a1pYTmpBQUFBQUFBQUFCUkhaVzVsY21saklGSkhRaUJRY205
bWFXeGxBQUFBQUFBQUFBQUFBQUFVUjJWdVpYSnBZeUJTUjBJZ1VISnZabWxzWlFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFi
V3gxWXdBQUFBQUFBQUFUQUFBQURIQjBRbElBQUFBbUFBQUE5R1p5UmxVQUFBQW9BQUFCR25wb1ZG
Y0FBQUFXQUFBQlFtbDBTVlFBQUFBb0FBQUJXRzVpVGs4QUFBQW1BQUFCZ0d0dlMxSUFBQUFXQUFB
QnBtUmxSRVVBQUFBc0FBQUJ2SE4yVTBVQUFBQW1BQUFCZ0hwb1EwNEFBQUFXQUFBQjZHcGhTbEFB
QUFBYUFBQUIvbkIwVUU4QUFBQW1BQUFDR0c1c1Rrd0FBQUFvQUFBQ1BtVnpSVk1BQUFBbUFBQUNH
R1pwUmtrQUFBQW9BQUFDWm5Cc1VFd0FBQUFzQUFBQ2puSjFVbFVBQUFBaUFBQUN1bUZ5UlVjQUFB
QW1BQUFDM0dWdVZWTUFBQUFtQUFBREFtUmhSRXNBQUFBdUFBQURLQUJRQUdVQWNnQm1BR2tBYkFB
Z0FGSUFSd0JDQUNBQVJ3QmxBRzRBNlFCeUFHa0FZd0J2QUZBQWNnQnZBR1lBYVFCc0FDQUFad0Rw
QUc0QTZRQnlBR2tBY1FCMUFHVUFJQUJTQUZZQVFwQWFkU2dBSUFCU0FFY0FRZ0FnZ25KZmFXUFBq
L0FBVUFCeUFHOEFaZ0JwQUd3QWJ3QWdBRklBUndCQ0FDQUFad0JsQUc0QVpRQnlBR2tBWXdCdkFF
Y0FaUUJ1QUdVQWNnQnBBSE1BYXdBZ0FGSUFSd0JDQUMwQWNBQnlBRzhBWmdCcEFHekhmTHdZQUNB
QVVnQkhBRUlBSU5VRXVGelRETWQ4QUVFQWJBQnNBR2NBWlFCdEFHVUFhUUJ1QUdVQWN3QWdBRklB
UndCQ0FDMEFVQUJ5QUc4QVpnQnBBR3htYnBBYUFDQUFVZ0JIQUVJQUlHUFBqL0JsaDA3MlRnQ0NM
QUFnQUZJQVJ3QkNBQ0F3MXpEdE1OVXdvVENrTU9zQVVBQmxBSElBWmdCcEFHd0FJQUJTQUVjQVFn
QWdBR2NBWlFCdUFPa0FjZ0JwQUdNQWJ3QkJBR3dBWndCbEFHMEFaUUJsQUc0QUlBQlNBRWNBUWdB
dEFIQUFjZ0J2QUdZQWFRQmxBR3dBV1FCc0FHVUFhUUJ1QUdVQWJnQWdBRklBUndCQ0FDMEFjQUJ5
QUc4QVpnQnBBR2tBYkFCcEFGVUFiZ0JwQUhjQVpRQnlBSE1BWVFCc0FHNEFlUUFnQUhBQWNnQnZB
R1lBYVFCc0FDQUFVZ0JIQUVJRUhnUXhCRWtFT0FRNUFDQUVQd1JBQkQ0RVJBUTRCRHNFVEFBZ0FG
SUFSd0JDQmtVR1JBWkJBQ0FHS2dZNUJqRUdTZ1pCQUNBQVVnQkhBRUlBSUFZbkJrUUdPUVluQmtV
QVJ3QmxBRzRBWlFCeUFHa0FZd0FnQUZJQVJ3QkNBQ0FBVUFCeUFHOEFaZ0JwQUd3QVpRQkhBR1VB
YmdCbEFISUFaUUJzQUNBQVVnQkhBRUlBTFFCaUFHVUFjd0JyQUhJQWFRQjJBR1VBYkFCekFHVUFB
SFJsZUhRQUFBQUFRMjl3ZVhKcFoyaDBJREl3TURjZ1FYQndiR1VnU1c1akxpd2dZV3hzSUhKcFoy
aDBjeUJ5WlhObGNuWmxaQzRBV0ZsYUlBQUFBQUFBQVBOU0FBRUFBQUFCRnM5WVdWb2dBQUFBQUFB
QWRFMEFBRDN1QUFBRDBGaFpXaUFBQUFBQUFBQmFkUUFBckhNQUFCYzBXRmxhSUFBQUFBQUFBQ2dh
QUFBVm53QUF1RFpqZFhKMkFBQUFBQUFBQUFFQnpRQUFjMll6TWdBQUFBQUFBUXhDQUFBRjN2Ly84
eVlBQUFlU0FBRDlrZi8vKzZMLy8vMmpBQUFEM0FBQXdHei80UUNBUlhocFpnQUFUVTBBS2dBQUFB
Z0FCUUVTQUFNQUFBQUJBQUVBQUFFYUFBVUFBQUFCQUFBQVNnRWJBQVVBQUFBQkFBQUFVZ0VvQUFN
QUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVdnQUFBQUFBQUFCSUFBQUFBUUFBQUVnQUFBQUJBQUtn
QWdBRUFBQUFBUUFBQU1pZ0F3QUVBQUFBQVFBQUFNZ0FBQUFBLzlzQVF3QWdGaGdjR0JRZ0hCb2NK
Q0lnSmpCUU5EQXNMREJpUmtvNlVIUm1lbmh5Wm5CdWdKQzRuSUNJcm9wdWNLRGFvcTYreE03UXpu
eWE0dkxneVBDNHlzN0cvOXNBUXdFaUpDUXdLakJlTkRSZXhvUndoTWJHeHNiR3hzYkd4c2JHeHNi
R3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiR3hzYkd4c2JHeHNiRy84QUFFUWdB
eUFESUF3RWlBQUlSQVFNUkFmL0VBQjhBQUFFRkFRRUJBUUVCQUFBQUFBQUFBQUFCQWdNRUJRWUhD
QWtLQy8vRUFMVVFBQUlCQXdNQ0JBTUZCUVFFQUFBQmZRRUNBd0FFRVFVU0lURkJCaE5SWVFjaWNS
UXlnWkdoQ0NOQ3NjRVZVdEh3SkROaWNvSUpDaFlYR0JrYUpTWW5LQ2txTkRVMk56ZzVPa05FUlVa
SFNFbEtVMVJWVmxkWVdWcGpaR1ZtWjJocGFuTjBkWFozZUhsNmc0U0Zob2VJaVlxU2s1U1ZscGVZ
bVpxaW82U2xwcWVvcWFxeXM3UzF0cmU0dWJyQ3c4VEZ4c2ZJeWNyUzA5VFYxdGZZMmRyaDR1UGs1
ZWJuNk9ucThmTHo5UFgyOS9qNSt2L0VBQjhCQUFNQkFRRUJBUUVCQVFFQUFBQUFBQUFCQWdNRUJR
WUhDQWtLQy8vRUFMVVJBQUlCQWdRRUF3UUhCUVFFQUFFQ2R3QUJBZ01SQkFVaE1RWVNRVkVIWVhF
VElqS0JDQlJDa2FHeHdRa2pNMUx3RldKeTBRb1dKRFRoSmZFWEdCa2FKaWNvS1NvMU5qYzRPVHBE
UkVWR1IwaEpTbE5VVlZaWFdGbGFZMlJsWm1kb2FXcHpkSFYyZDNoNWVvS0RoSVdHaDRpSmlwS1Rs
SldXbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1
TGo1T1htNStqcDZ2THo5UFgyOS9qNSt2L2FBQXdEQVFBQ0VRTVJBRDhBcFVVVVZ5bkdGRkZGQUJS
UlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVB
RkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJS
UUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZG
RkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFB
VVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZG
QUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVV
VVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFC
UlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVV
QUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJS
UlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFG
RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJR
QVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZG
RkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFV
VVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZB
QlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVV
VUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQWYvL1oiOwogCiAgICAgdmFyIGltYWdl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CiAKICAgICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgICAgaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24oKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS13aXRoLWNsaXAtcGF0
aC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvcmVwYWludC9pbWFnZS13aXRoLWNsaXAtcGF0aC5zdmcK
aW5kZXggYzcxMTczYTFiMDNlMGUxOWFjMzI0Y2YyMzhjY2VjOWY5YjBlMmU0Mi4uZTQxY2E3MGQ3
YmM5NDgzZjMxYzM4OTdiMWMyMTZmYWY5NmQ2MDYxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL3JlcGFpbnQvaW1hZ2Utd2l0aC1jbGlwLXBhdGguc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9yZXBhaW50L2ltYWdlLXdpdGgtY2xpcC1wYXRoLnN2ZwpAQCAtMTMsMTIgKzEzLDEyIEBACiAg
ICAgdmFyIGdyZWVuID0gImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFE
L0FBQUFBQ0g1QkFBQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT0iOwogICAgIHZhciByZWQg
PSAiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBUDhBQUFBQUFDSDVCQUFB
QUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSI7CiAKLQl2YXIgY291bnQgPSAwOwotCWZ1bmN0
aW9uIHN0YXJ0VGVzdCgpIHsKLQkJaWYgKGNvdW50ID09IDApCi0JCQlydW5TVkdSZXBhaW50VGVz
dCgpOwotCQljb3VudCA9IGNvdW50ICsgMTsKLQl9CisgICAgdmFyIGNvdW50ID0gMDsKKyAgICBm
dW5jdGlvbiBzdGFydFRlc3QoKSB7CisgICAgICAgIGlmIChjb3VudCA9PSAwKQorICAgICAgICAg
ICAgcnVuUmVwYWludFRlc3QoKTsKKyAgICAgICAgY291bnQgPSBjb3VudCArIDE7CisgICAgfQog
CiAgICAgdmFyIHIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcicpOwogICAgIHZhciBnID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2cnKTsKQEAgLTI5LDEyICsyOSwxNCBAQAogICAgICAg
ICByLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBzaXplKTsKICAgICAgICAgci5zZXRBdHRyaWJ1dGUo
J2hlaWdodCcsIHNpemUpOwogICAgICAgICBnLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJh
bnNsYXRlKCIgKyBvZmZzZXQgKyAiLDUwKSIpOwotCQlpLnNldEF0dHJpYnV0ZSgiZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCIsICJ0cnVlIik7CisgICAgICAgIGkuc2V0QXR0cmlidXRlKCJleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkIiwgInRydWUiKTsKICAgICAgICAgaS5zZXRBdHRyaWJ1dGVO
UygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycsICdocmVmJywgaW1nKTsKICAgICB9Owog
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQodHJ1ZSk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICB9CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewogICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3Rl
eHQvdGV4dC10ZXh0LTA1LXQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC10ZXh0LTA1
LXQuc3ZnCmluZGV4IDUxODZiNzUzOTEyODhhMTYwNWFhMzA3YWVhNWMxZjNlZTk2YWVkY2IuLmJm
N2JlMTY3MzU1NmI3ZjA5OThmMzVkNGFmNzdiZDA4NDc2ZmQ5NTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy90ZXh0L3RleHQtdGV4dC0wNS10LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LXRleHQtMDUtdC5zdmcKQEAgLTgsNyArOCw3IEBACiA8IS0tICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tPgogPCEtLSBBdXRob3IgOiBWaW5jZW50IEhhcmR5LCAgMDYtSmFuLTIwMDQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLT48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9E
VEQgU1ZHIDEuMSBUaW55Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEv
RFREL3N2ZzExLXRpbnkuZHRkIj4KIAotPHN2ZyBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCki
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9InRpbnkiIGlk
PSJzdmctcm9vdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAz
NjAiPgorPHN2ZyBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
IHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9InRpbnkiIGlkPSJzdmctcm9vdCIgd2lkdGg9IjEw
MCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAzNjAiPgogICAgIDxTVkdUZXN0Q2Fz
ZSB4bWxuczp0ZXN0Y2FzZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMi9zdmcvdGVzdHN1aXRl
L2Rlc2NyaXB0aW9uLyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDIvc3ZnL3Rlc3Rz
dWl0ZS9kZXNjcmlwdGlvbi8iIG93bmVyPSJWSCIgZGVzYz0iVGVzdHMgdGhhdCB0aGUgdmlld2Vy
IGNhbiBoYW5kbGUgdGhlIHJvdGF0ZSAgICAgICAgIGF0dHJpYnV0ZSBvbiB0aGUgdGV4dCBlbGVt
ZW50IiBzdGF0dXM9ImFjY2VwdGVkIiB2ZXJzaW9uPSIkUmV2aXNpb246IDEuOCAkIiB0ZXN0bmFt
ZT0iJFJDU2ZpbGU6IHRleHQtdGV4dC0wNS10LnN2Zyx2ICQiPgogICAgICAgICA8T3BlcmF0b3JT
Y3JpcHQ+CiAgICAgICAgICAgICA8UGFyYWdyYXBoPgpAQCAtMTY1LDggKzE2NSw2IEBAIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAKIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewog
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CiB9CiA8L3NjcmlwdD4KIDwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L3pvb20vcGFnZS9hYnNvbHV0ZS1zaXplZC1kb2N1bWVudC1uby1zY3JvbGxiYXJzLnN2ZyBiL0xh
eW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvYWJzb2x1dGUtc2l6ZWQtZG9jdW1lbnQtbm8tc2Nyb2xs
YmFycy5zdmcKaW5kZXggZDU4MDAxYjQxZTczY2U5ZDExNjQ5OWExYWQ5ODA4MDRmNzFhY2UzZS4u
MmY1ODViNmUzZmZhNGYxOGVkMTNiYTc3NmQzNjI0ZDc4NWI2NzVjMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9hYnNvbHV0ZS1zaXplZC1kb2N1bWVudC1uby1zY3JvbGxi
YXJzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL2Fic29sdXRlLXNpemVkLWRv
Y3VtZW50LW5vLXNjcm9sbGJhcnMuc3ZnCkBAIC0xLDcgKzEsNyBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RU
RCBTVkcgMS4xIFRpbnkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9E
VEQvc3ZnMTEtdGlueS5kdGQiPgogPCEtLSBEUlQgdXNlcyA4MDB4NjAwIGRlZmF1bHQsIHNvIHpv
b21pbmcgaW4gb25jZSBzaG91bGQgbm90IGxlYWQgdG8gdmlzaWJsZSBzY3JvbGxiYXJzIC0tPgot
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjM2MCIgb25sb2Fk
PSJydW5TVkdSZXBhaW50VGVzdCgpIj4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9
IjQ4MCIgaGVpZ2h0PSIzNjAiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgICAgPHJlY3Qg
eD0iMSIgeT0iMSIgd2lkdGg9IjQ3OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0i
IzAwMDAwMCIvPgogCiAgICAgPGRlZnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9v
bS9wYWdlL2Fic29sdXRlLXNpemVkLWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnIGIvTGF5b3V0VGVz
dHMvc3ZnL3pvb20vcGFnZS9hYnNvbHV0ZS1zaXplZC1kb2N1bWVudC1zY3JvbGxiYXJzLnN2Zwpp
bmRleCBmNmIzMzhjMWVjOTg3Y2M2ZjAwMjI0MjljMTI1YzNkOGM2MDcwOTUzLi42MDBiMGU3Y2U4
MzJlYjczMGFhODc2Y2ZjYTMzZWY0YzY3MWZiYjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvem9vbS9wYWdlL2Fic29sdXRlLXNpemVkLWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2UvYWJzb2x1dGUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xs
YmFycy5zdmcKQEAgLTEsNyArMSw3IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgogPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEgVGlueS8v
RU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS10aW55LmR0
ZCI+CiA8IS0tIERSVCB1c2VzIDgwMHg2MDAgZGVmYXVsdCwgc28gem9vbWluZyBpbiB0aHJlZSB0
aW1lcyBzaG91bGQgc2hvdyB1cCBzY3JvbGxiYXJzIC0tPgotPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs
aW5rIiB3aWR0aD0iNDgwIiBoZWlnaHQ9IjM2MCIgb25sb2FkPSJydW5TVkdSZXBhaW50VGVzdCgp
Ij4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4MCIgaGVpZ2h0PSIzNjAiIG9u
bG9hZD0icnVuUmVwYWludFRlc3QoKSI+CiAgICAgPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjQ3
OCIgaGVpZ2h0PSIzNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIvPgogCiAgICAgPGRl
ZnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3JlbGF0aXZlLXNpemVk
LWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS9yZWxh
dGl2ZS1zaXplZC1kb2N1bWVudC1zY3JvbGxiYXJzLnN2ZwppbmRleCBkNmI3MjA4YzY3MjcxNzlj
ZGM5M2E2ZDJiMGJmMjQ5MmNkNjJkZDBlLi5lMzA4Y2NlOTFhODFhZjBhNTEwZWYyZjU3ZWNjOTI1
ZDc5ODdiMjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3JlbGF0aXZl
LXNpemVkLWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29t
L3BhZ2UvcmVsYXRpdmUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xsYmFycy5zdmcKQEAgLTEsNyArMSw3
IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgogPCFET0NUWVBFIHN2
ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEgVGlueS8vRU4iICJodHRwOi8vd3d3LnczLm9y
Zy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS10aW55LmR0ZCI+CiA8IS0tIERSVCB1c2VzIDgw
MHg2MDAgZGVmYXVsdCwgc28gem9vbWluZyBpbiBvbmNlIHNob3VsZCBub3QgbGVhZCB0byB2aXNp
YmxlIHNjcm9sbGJhcnMgLS0+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMDAl
IiBoZWlnaHQ9IjEwMCUiIG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3QoKSI+Cis8c3ZnIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIG9ubG9hZD0icnVuUmVw
YWludFRlc3QoKSI+CiAgICAgPHJlY3QgeD0iMSUiIHk9IjElIiB3aWR0aD0iOTglIiBoZWlnaHQ9
Ijk4JSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIi8+CiAKICAgICA8ZGVmcz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1jb29yZHMtdmlld2F0dHItMDEt
Yi5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pvb20tY29vcmRzLXZpZXdhdHRyLTAx
LWIuc3ZnCmluZGV4IGRlYWMyZDRmN2UyMDQyZTZiZmExZjc3MGEyYjFjZmExYmJiNWRhOGMuLmQw
OTZmMzVlY2YwNzEzYzYyZjIyMTI3YTRhYjExYjA5YmVlNWIxMTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1jb29yZHMtdmlld2F0dHItMDEtYi5zdmcKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS96b29tLWNvb3Jkcy12aWV3YXR0ci0wMS1iLnN2ZwpA
QCAtMjgsNyArMjgsNyBAQCBmaWxsPSdub25lJyBzdHJva2U9J2JsdWUnLz4iPgogPCEtLSBBdXRo
b3IgOiBWaW5jZW50IEhhcmR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0+CiA8IS0tIE1vZGlmaWVkIGZvciBzdmcgMS4xIGJ5IE9sYSBBbmRlcnNzb24s
IDA3LU1hci0yMDAyICAgICAgICAgICAgICAgICAgICAtLT4KIDwhLS09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+
Ci08c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs
aW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAg
MCA0ODAgMzYwIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB2ZXJzaW9uPSIx
LjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9InN2Zy1yb290
IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNDgwIDM2MCIgb25sb2Fk
PSJydW5SZXBhaW50VGVzdCgpIj4KICAgICA8U1ZHVGVzdENhc2UgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvMDIvc3ZnL3Rlc3RzdWl0ZS9kZXNjcmlwdGlvbi8iPgogICAgICAgICA8T3Bl
cmF0b3JTY3JpcHQgdmVyc2lvbj0iJFJldmlzaW9uOiAxLjYgJCIgdGVzdG5hbWU9ImNvb3Jkcy12
aWV3YXR0ci0wMS1iLnN2ZyI+CiAgICAgICAgICAgICA8UGFyYWdyYXBoPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL3pvb20vcGFnZS96b29tLWZvcmVpZ25PYmplY3Quc3ZnIGIvTGF5b3V0
VGVzdHMvc3ZnL3pvb20vcGFnZS96b29tLWZvcmVpZ25PYmplY3Quc3ZnCmluZGV4IDJiM2QxMGZi
YjI5MjMxNDdkYWZjZDM2MzNjMDllMTQ5M2Q1NzRmZDcuLjgzZTI1YjdkMWEyZThmNGZmNDdhM2Iy
NGY4ZjlhZmJlZTUwNDRkNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uv
em9vbS1mb3JlaWduT2JqZWN0LnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pv
b20tZm9yZWlnbk9iamVjdC5zdmcKQEAgLTEsNSArMSw1IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAi
Pz4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBvbmxvYWQ9InJ1blNW
R1JlcGFpbnRUZXN0KCkiCis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
b25sb2FkPSJydW5SZXBhaW50VGVzdCgpIgogICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayIKICAgICAgeG1sbnM6eGh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwiPgogPGZvcmVpZ25PYmplY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iNTgwIiBoZWln
aHQ9IjM4MCIgdHJhbnNmb3JtPSJzY2FsZSg1KSBza2V3WSg1KSBza2V3WCg1KSI+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9wYWdlL3pvb20tbWFzay13aXRoLXBlcmNlbnRhZ2Vz
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1tYXNrLXdpdGgtcGVyY2VudGFn
ZXMuc3ZnCmluZGV4IDgxMjNhNTVkZTAwZDQ5Mjk2N2M1NWYzNzgwZmMyMmQyNDgxMDI3MzUuLmYz
ODBlNjA0YTgzZWNjOTcxOGIwYjA1NTBmOTQ3YTc5Njg5NTM2ZTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1tYXNrLXdpdGgtcGVyY2VudGFnZXMuc3ZnCisrKyBi
L0xheW91dFRlc3RzL3N2Zy96b29tL3BhZ2Uvem9vbS1tYXNrLXdpdGgtcGVyY2VudGFnZXMuc3Zn
CkBAIC0yNiw3ICsyNiw3IEBACiA8IS0tIEB2ZXJzaW9uICRJZDogbWFza1JlZ2lvbnMuc3ZnIDQ3
NTQ3NyAyMDA2LTExLTE1IDIyOjQ0OjI4WiBjYW0gJCAtLT4KIDwhLS0gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAtLT4KIAotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iYm9keSIgd2lkdGg9IjQ1MCIg
aGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIiBvbmxvYWQ9InJ1blNWR1JlcGFpbnRU
ZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iYm9keSIgd2lkdGg9IjQ1MCIg
aGVpZ2h0PSI1MDAiIHZpZXdCb3g9IjAgMCA0NTAgNTAwIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0
KCkiPgogPHRpdGxlPk1hc2s8L3RpdGxlPgogICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgICA8IS0tIFRl
c3QgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVzdFBh
Z2Vab29tLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vcmVzb3VyY2VzL3Rlc3RQYWdlWm9vbS5q
cwppbmRleCAyMjI5NjVhNzBhYTA5ZjQ1MjFjODJjM2VhMWIyOWZkYTYyMWE2M2M4Li45MzEzMGJh
MjcyZjg1NTY0MzUwMjdmN2IyNWMxNjg5ODkyNjRiNDY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvem9vbS9yZXNvdXJjZXMvdGVzdFBhZ2Vab29tLmpzCisrKyBiL0xheW91dFRlc3RzL3N2
Zy96b29tL3Jlc291cmNlcy90ZXN0UGFnZVpvb20uanMKQEAgLTksMTMgKzksMTQgQEAgZnVuY3Rp
b24gcmVwYWludFRlc3QoKSB7CiAgICAgICAgICAgICBldmVudFNlbmRlci56b29tUGFnZUluKCk7
CiAgICAgfQogCi0gICAgaWYgKHdpbmRvdy5wb3N0Wm9vbUNhbGxiYWNrKSB7Ci0gICAgICAgIHdp
bmRvdy5wb3N0Wm9vbUNhbGxiYWNrKCk7Ci0gICAgICAgIGNvbXBsZXRlRHluYW1pY1Rlc3QoKTsK
LSAgICB9IGVsc2UgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0KKyAg
ICBpZiAoIXdpbmRvdy5wb3N0Wm9vbUNhbGxiYWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisKKyAgICB3aW5kb3cucG9zdFpvb21DYWxsYmFjaygpOwor
ICAgIGNvbXBsZXRlRHluYW1pY1Rlc3QoKTsKIH0KIAogZnVuY3Rpb24gY29tcGxldGVEeW5hbWlj
VGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29tL3RleHQvYWJzb2x1dGUt
c2l6ZWQtZG9jdW1lbnQtbm8tc2Nyb2xsYmFycy5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS90
ZXh0L2Fic29sdXRlLXNpemVkLWRvY3VtZW50LW5vLXNjcm9sbGJhcnMuc3ZnCmluZGV4IGFlN2Qz
ZDA1MWM1NTU0YTBlYWEzNzc1MGRlOGQ0MzZkY2ZjNTEwNDguLjNlZmM1NDdlNTgxM2NjNmNlN2E1
N2Y3YTA2M2M1YmE3MmJjYjdkYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy96b29tL3Rl
eHQvYWJzb2x1dGUtc2l6ZWQtZG9jdW1lbnQtbm8tc2Nyb2xsYmFycy5zdmcKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL3pvb20vdGV4dC9hYnNvbHV0ZS1zaXplZC1kb2N1bWVudC1uby1zY3JvbGxiYXJz
LnN2ZwpAQCAtMSw3ICsxLDcgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04
Ij8+CiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMSBUaW55Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLXRpbnkuZHRkIj4K
IDwhLS0gRFJUIHVzZXMgODAweDYwMCBkZWZhdWx0LCBzbyB6b29taW5nIGluIG9uY2Ugc2hvdWxk
IG5vdCBsZWFkIHRvIHZpc2libGUgc2Nyb2xsYmFycyAtLT4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
bGluayIgd2lkdGg9IjQ4MCIgaGVpZ2h0PSIzNjAiIG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3Qo
KSI+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0ODAiIGhlaWdodD0iMzYwIiBv
bmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAgIDxyZWN0IHg9IjEiIHk9IjEiIHdpZHRoPSI0
NzgiIGhlaWdodD0iMzU4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIAogICAgIDxk
ZWZzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vdGV4dC9hYnNvbHV0ZS1zaXpl
ZC1kb2N1bWVudC1zY3JvbGxiYXJzLnN2ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3RleHQvYWJz
b2x1dGUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xsYmFycy5zdmcKaW5kZXggNzVkNDgxZGEwOTk0ZDQ0
ZTFjMjBhMTQ3NTg0MjZmMTM4NGIwMTM1YS4uYjk2NjIwMjhiYjYxNmE4N2JmNzVmNDI2MWUxYmJj
MWVlYTJkNWE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vdGV4dC9hYnNvbHV0
ZS1zaXplZC1kb2N1bWVudC1zY3JvbGxiYXJzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvem9v
bS90ZXh0L2Fic29sdXRlLXNpemVkLWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnCkBAIC0xLDcgKzEs
NyBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDwhRE9DVFlQRSBz
dmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xIFRpbnkvL0VOIiAiaHR0cDovL3d3dy53My5v
cmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEtdGlueS5kdGQiPgogPCEtLSBEUlQgdXNlcyA4
MDB4NjAwIGRlZmF1bHQsIHNvIHpvb21pbmcgaW4gdGhyZWUgdGltZXMgc2hvdWxkIHNob3cgdXAg
c2Nyb2xsYmFycyAtLT4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4
bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4MCIgaGVp
Z2h0PSIzNjAiIG9ubG9hZD0icnVuU1ZHUmVwYWludFRlc3QoKSI+Cis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiIHdpZHRoPSI0ODAiIGhlaWdodD0iMzYwIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0
KCkiPgogICAgIDxyZWN0IHg9IjEiIHk9IjEiIHdpZHRoPSI0NzgiIGhlaWdodD0iMzU4IiBmaWxs
PSJub25lIiBzdHJva2U9IiMwMDAwMDAiLz4KIAogICAgIDxkZWZzPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL3pvb20vdGV4dC9yZWxhdGl2ZS1zaXplZC1kb2N1bWVudC1zY3JvbGxiYXJz
LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3RleHQvcmVsYXRpdmUtc2l6ZWQtZG9jdW1lbnQt
c2Nyb2xsYmFycy5zdmcKaW5kZXggZmQ0OGQ0ZTM4ZmQxYTVmNWI3YjgyMGRjNGUzZTFiZmQ2NDIz
Mzk4ZC4uYWRhODcxYjgzMDlmNzc3YzRmYmI1YzI1MGQwZmZlZGM1OTBjYWZmNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL3pvb20vdGV4dC9yZWxhdGl2ZS1zaXplZC1kb2N1bWVudC1zY3Jv
bGxiYXJzLnN2ZworKysgYi9MYXlvdXRUZXN0cy9zdmcvem9vbS90ZXh0L3JlbGF0aXZlLXNpemVk
LWRvY3VtZW50LXNjcm9sbGJhcnMuc3ZnCkBAIC0xLDcgKzEsNyBAQAogPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RU
RCBTVkcgMS4xIFRpbnkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9E
VEQvc3ZnMTEtdGlueS5kdGQiPgogPCEtLSBEUlQgdXNlcyA4MDB4NjAwIGRlZmF1bHQsIHNvIHpv
b21pbmcgaW4gb25jZSBzaG91bGQgbm90IGxlYWQgdG8gdmlzaWJsZSBzY3JvbGxiYXJzIC0tPgot
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBvbmxv
YWQ9InJ1blNWR1JlcGFpbnRUZXN0KCkiPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0
aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgogICAgIDxy
ZWN0IHg9IjElIiB5PSIxJSIgd2lkdGg9Ijk4JSIgaGVpZ2h0PSI5OCUiIGZpbGw9Im5vbmUiIHN0
cm9rZT0iIzAwMDAwMCIvPgogCiAgICAgPGRlZnM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvem9vbS90ZXh0L3pvb20tY29vcmRzLXZpZXdhdHRyLTAxLWIuc3ZnIGIvTGF5b3V0VGVzdHMv
c3ZnL3pvb20vdGV4dC96b29tLWNvb3Jkcy12aWV3YXR0ci0wMS1iLnN2ZwppbmRleCBjNjFiMmM5
NWZmZDgyYjI5ZGI1NWUxY2ZhZmUwMGZjZWEwZGNlM2Q4Li4yYWVlYjVlYTRiMmE4ZTU4OTAzYjVi
YTFjODY3ZGJhYWNkM2JlZGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvem9vbS90ZXh0
L3pvb20tY29vcmRzLXZpZXdhdHRyLTAxLWIuc3ZnCisrKyBiL0xheW91dFRlc3RzL3N2Zy96b29t
L3RleHQvem9vbS1jb29yZHMtdmlld2F0dHItMDEtYi5zdmcKQEAgLTI4LDcgKzI4LDcgQEAgZmls
bD0nbm9uZScgc3Ryb2tlPSdibHVlJy8+Ij4KIDwhLS0gQXV0aG9yIDogVmluY2VudCBIYXJkeSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgogPCEtLSBN
b2RpZmllZCBmb3Igc3ZnIDEuMSBieSBPbGEgQW5kZXJzc29uLCAwNy1NYXItMjAwMiAgICAgICAg
ICAgICAgICAgICAgLS0+CiA8IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgotPHN2ZyB2ZXJzaW9uPSIxLjEi
IGJhc2VQcm9maWxlPSJiYXNpYyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4
bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9InN2Zy1yb290IiB3
aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNDgwIDM2MCIgb25sb2FkPSJy
dW5TVkdSZXBhaW50VGVzdCgpIj4KKzxzdmcgdmVyc2lvbj0iMS4xIiBiYXNlUHJvZmlsZT0iYmFz
aWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJzdmctcm9vdCIgd2lkdGg9IjEwMCUiIGhlaWdo
dD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAzNjAiIG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+
CiAgICAgPFNWR1Rlc3RDYXNlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAyL3N2Zy90
ZXN0c3VpdGUvZGVzY3JpcHRpb24vIj4KICAgICAgICAgPE9wZXJhdG9yU2NyaXB0IHZlcnNpb249
IiRSZXZpc2lvbjogMS42ICQiIHRlc3RuYW1lPSJjb29yZHMtdmlld2F0dHItMDEtYi5zdmciPgog
ICAgICAgICAgICAgPFBhcmFncmFwaD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy96b29t
L3RleHQvem9vbS1mb3JlaWduT2JqZWN0LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy96b29tL3RleHQv
em9vbS1mb3JlaWduT2JqZWN0LnN2ZwppbmRleCAyOTllMDU5YjYxZDVlMTMyMDlhNDZhOTZjYzMz
NjYwZjEwYmQ0Y2U0Li5jYjM1NjY2ZDYzMDViZjNkZDk2YzM3NDFmNjE5ZDgzNGNkMjAxYTczIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvem9vbS90ZXh0L3pvb20tZm9yZWlnbk9iamVjdC5z
dmcKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL3pvb20vdGV4dC96b29tLWZvcmVpZ25PYmplY3Quc3Zn
CkBAIC0xLDUgKzEsNSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci08c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgb25sb2FkPSJydW5TVkdSZXBhaW50VGVzdCgpIgorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0icnVuUmVwYWludFRl
c3QoKSIKICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAg
ICAgIHhtbG5zOnhodG1sPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KIDxmb3JlaWdu
T2JqZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjU4MCIgaGVpZ2h0PSIzODAiIHRyYW5zZm9ybT0i
c2NhbGUoNSkgc2tld1koNSkgc2tld1goNSkiPgo=
</data>
<flag name="review"
          id="127711"
          type_id="1"
          status="+"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="127720"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>